* Add support for specifying a template for feeds
* Remove unused params
* use the correct url
* make URL visible.
It was annoying me
* Update src/Connections/FeedConnection.ts
Co-authored-by: Tadeusz Sośnierz <tadzik@tadzik.net>
* Support migrations
* Hopefully support migrations now
* lint
---------
Co-authored-by: Tadeusz Sośnierz <tadzik@tadzik.net>
* Add an ensureJoined to assertUserPermissions
* Ensure web component retries connection fetches
* Ensure errors are caught and logged as JSON on the widget API
* changelog
* non-linear retry timer
* lint
* Use retry
* Make getBotUserInRoom try to join the room
* Make this fn safe to handle
* Add a go-neb migrator, capable of migrating RSS/Atom feeds to hookshot (so far)
* Add forgotten file
* Fix useCallback() usage
* Gracefully handle go-neb not being configured
* Make Feed URLs not editable when they're being migrated over from go-neb
https://github.com/matrix-org/matrix-hookshot/pull/647#discussion_r1131615944
* Changelog
* Linting
* Add the ability to migrate Github repo connections from go-neb (#651)
* Add the ability to migrate Github repo connections from go-neb
* Gracefully handle the lack of go-neb migrator
---------
Co-authored-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>
* Handle Scalar-style go-neb service IDs (#656)
* Add the ability to migrate Github repo connections from go-neb
* Handle Scalar-style go-neb service IDs
* Make service type in service ID match the Scalar-generated one
https://github.com/matrix-org/matrix-hookshot/pull/656#discussion_r1131647595
* Safeguard against undefined hardcoded service IDs
https://github.com/matrix-org/matrix-hookshot/pull/656#discussion_r1131646578
* Rename a variable
https://github.com/matrix-org/matrix-hookshot/pull/656#discussion_r1131710225
---------
Co-authored-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>
* Linting
---------
Co-authored-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>
* WIP
* Update vite
* Add oauth landing page
* Add API support for GitHub oauthing
* Remove console.logs
* Add support for logging and and out of GitHub
* Add bridge API methods
* Add base link styling
* Sugar syntax main get
* Update vite
* changelog
* Review changes
* Use instance to match UI
* lint
---------
Co-authored-by: Justin Carlson <justinc@element.io>
* Implement new Dropdown component
* Apply field styling to search too
* General improvements to GitLabClient
* Add support for storing small base64 files in the storage provider
* Refactor GitLab repo to use new connection provider
* Start trying to deduplicate code
* Begin refactor to support ConnectionSearch
* Add support for GitHub searching
* Refactor GitLab/GitHub into components
* Port Jira to ConnectionSearch
* Drop unused functions
* Hide connection list if no connections are present.
* Cleanups
* Cleanup abort controller
* changelog
* Update JIRA for search powers
* Refactor HookFilter to only support enabledEvents (and add a function to convert)
* Convert connections to deprecate ignoreHooks
* Update documentation
* Split out EventHookCheckbox
* Refactor frontend to support enableHooks only mode
* drop old field name
* changelog
* Fix enabledHooks for widgets
* Fixes across the board
* Update test description
* Cleanup
* Fix HookFilter
* Fixup checkboxes
* Cleanup
* Allow GitLab connections without hook permissions
Warn instead of fail when connecting a GitLab project that Hookshot
cannot provision a webhook for.
* Mention manual "Secret token" for GitLab webhooks
* Refactor warning pane into a separate component
* Recolour warning pane for better contrast
* Add a HookFilter class
* Use the HookFilter class
* Support default hooks in the web UI
* Update documentation
* changelog
* Allow all GitLab events by default
* bits of cleanup
- Support version created/updated/released events
- Look up project ID if missing when subscribing to version events
- Properly format version event notices
- Prioritize project URL over ID in debug strings
- Refactor Jira event handling to be more like GitHub & GitLab
- Fix silently-ignored Jira events due to expecting wrong type strings
- Update UI for Jira events
* Read-your-writes consistency on connection update
Allow updates to connections made via config widgets to be reflected
immediately upon save in the widget UI.
* Use HTML elements as `ref`s in widgets
Fixes#422
* Add changelog
* Let widgets use new connection config on save
After a connection config is updated, but before a widget requests the
latest config from the bridge, make the widget display the just-saved
config instead of what the config was before being updated.
* Use input placeholder as prefix default
Otherwise, leaving the prefix field blank would apply no prefix, and
violate prefix length requirements.
- Group repos by org
- Paginate repo requests
- Remove redundant label next to chosen repo
- Remove redundant repo field below connected repo
- Include repos that user has doesn't have admin permissions for, to
achieve parity with results from provisioning API
* Add backend support
* Add frontend support
* Update docs
* changelog
* Update src/Connections/GitlabRepo.ts
Co-authored-by: Christian Paul <christianp@matrix.org>
* Update docs/usage/room_configuration/gitlab_project.md
Co-authored-by: Christian Paul <christianp@matrix.org>
* Tweak functions
Co-authored-by: Christian Paul <christianp@matrix.org>
* Add support for setting a global feed timeout
* Track failures, and don't show the first non-serious error
* Tidy up error reporting
* Make a prettier error pane
* Use the prettier event pane
* Show failed feed attempts in the widget
* Ensure we catch connection resets
* Add styling file
* Ensure we only track one result per fetch
* changelog
* Refactor to use better status codes
* Make feed results cheaper
* splice
* Add GitHub widget
Also make assorted fixes to help push this along
* Remove unused import
* Resolve new linter warnings
* Undo testing-only change
Didn't mean to commit this
* Use "org/repo" as GitHub repo names in widget
* Update src/ConnectionManager.ts
Co-authored-by: Will Hunt <will@half-shot.uk>
* Don't use null assertions
* Use block scope in switch cases
* Fix some BridgeAPI imports
* Actually validate connection state
* Return only GitHub repos with admin permissions
Co-authored-by: Will Hunt <will@half-shot.uk>
* Refactor RoomConfigView slightly to reduce duplication
* Add Feed configuration widget
* Drop an unused parameter in FeedConnection
Co-authored-by: Will Hunt <will@half-shot.uk>
* Add a key to connection listing in RoomConfigView
Co-authored-by: Will Hunt <will@half-shot.uk>
* Be more explicit when checking for feeds enabledness
Co-authored-by: Will Hunt <will@half-shot.uk>
* Erase state when removing FeedConnection
* Tone down logging in FeedReader
* Strenghten validation of feed URLs
* Drop an unnecessary non-null assertion
* Allow adding labels to feeds
* Add changelog for #345
* Fix lint-found errors
* Improve feed setup widget changelog
Co-authored-by: Will Hunt <will@half-shot.uk>
* Validate feed URLs with HEAD if possible
* Don't log.error feed validation failures in SetupConnection
* Remove extra space
Co-authored-by: Will Hunt <will@half-shot.uk>
* Wrap errors from FeedConnection.provisionConnection in ApiErrors
Co-authored-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Co-authored-by: Will Hunt <will@half-shot.uk>
* Statically define connection creation and provisioing
* Tidy up
* Drop JIRA
* Convert other connections to new system
* Small linting fixes
* Fixes
* changelog
* Fix bridge
* Fix JIRA instance naming
* Fix JIRA config
* Drop unnessacery check
* Refactors to support multiple services in the widget UI
* Add GitLabRepo web component view
* Support searching and adding a GitLab repository on the frontend
* Add final bits to supporting adding and removing connections from rooms
* lint
* changelog
* Lots of changes based upon review feedback
* linting
* Add warnings
* Withdraw openid overrides change for this PR
* Drop unused
* Remove async function syntax
* Tiny bug fixes