Kegan Dougal
65963cd93f
Add stub RSS Service. Add DefaultService. Add Poller interface.
`DefaultService` serves as a useful no-op service to cut down on bloat when
implementing new Services. This means we can add more methods more freely to
the interface of `Service` without bogging down the Service implementation.
`Poller` is an interface which contains a polling interval and a function to
invoke. This will be used for RSS feeds.
Implemented a stub `RSSService`.
8 years ago
Kegsay
d999803456
Merge pull request #73 from brunoqc/patch-1
fix godoc URL in README.md
8 years ago
Bruno Bigras
39f45cd3a0
fix godoc URL in README.md
8 years ago
Kegsay
bd92e24d05
Merge pull request #67 from matrix-org/kegan/better-gh-cmd-regex
Improve !github create parsing
8 years ago
Kegan Dougal
73ea8a705d
Improve !github create parsing
To handle cases where `args[0]` has a `/` but isn't an `owner/repo`.
8 years ago
Kegsay
e5f8402560
Tidy up and finish
8 years ago
Kegsay
f0372a862c
Flesh out GH webhooks
8 years ago
Kegsay
1591d1b0cb
Add realms
8 years ago
Kegsay
73d9f69cc0
Quick start and more info
8 years ago
Kegsay
b307c3ce5e
Begin fleshing out README
8 years ago
Kegsay
2101e49b87
Merge pull request #64 from matrix-org/kegan/gh-logout
Add /admin/removeAuthSession
8 years ago
Kegan Dougal
1fbb579212
Add /admin/removeAuthSession
Allows users to nuke their OAuth credentials. Currently this just does a database
`DELETE` as neither Github nor JIRA need you to hit any special `/logout` API.
8 years ago
Kegsay
e6e859ec48
Merge pull request #62 from matrix-org/kegan/gh-no-webhooks-means-no-service
Delete webhook services when there are no webhooks left
8 years ago
Kegan Dougal
267890503f
Delete webhook services when there are no webhooks left
Else they will show up in the current integration list FOREVAR!
8 years ago
Kegsay
0275069cb8
Merge pull request #61 from matrix-org/kegan/ignore-events-on-join
Do not process /sync responses for rooms the bot has just joined
8 years ago
Kegan Dougal
ce2af7ed71
Add TODO marker
8 years ago
Kegan Dougal
68cb87be66
Do not process /sync responses for rooms the bot has just joined
Else we can process !commands multiple times and/or process !commands from before
we were in the room (if `history_visibility` allows it).
8 years ago
Kegsay
2bb04b3b6d
Merge pull request #60 from matrix-org/kegan/persist-next-batch
Persist next_batch tokens
8 years ago
Kegan Dougal
178ae79e29
Review comments
8 years ago
Kegan Dougal
41f5cdabaf
Remove TODOs which are now done
8 years ago
Kegan Dougal
b59d43b810
Add a `NextBatchStorer` interface to load/save next_batch tokens
Gets around cyclic dependencies.
8 years ago
Kegan Dougal
5f9a065d83
Persist next_batch tokens
Indirect this through a `NextBatchStore` type to get around circular dependencies
which are formed if you try to inline it in the `Sync()` while loop.
Fork out event handlers to separate functions in `Clients` to make gocyclo happy.
Add `UPDATE` query for `next_batch`.
8 years ago
Kegan Dougal
bacc0eebb5
Return Authenticated:false rather than 404ing on missing sessions - it makes life much easier
8 years ago
Kegan Dougal
8fe15076e9
More useful input/output logging please for debugging
8 years ago
Kegsay
70bf4ce5ed
Merge pull request #57 from matrix-org/kegan/gh-explicit-unregister-webhooks
Allow github webhooks to be explicitly removed
8 years ago
Kegan Dougal
8c6445183c
Warn rather than Error
8 years ago
Kegan Dougal
b5e0665c64
Allow github webhooks to be explicitly removed
Removing a repo entirely from a service will now remove the webhook in the
`PostRegister()` function. This function is still within the `configureService`
critical section to prevent another request for the same service racing with
the cleanup process.
8 years ago
Kegsay
635ea03516
Merge pull request #56 from matrix-org/kegan/configure-client-name
Set the desired DisplayName for a client when it is being configured
8 years ago
Kegan Dougal
7bafa40708
Only Sync if told to do so
8 years ago
Kegan Dougal
314b63e900
Set the desired DisplayName for a client when it is being configured
8 years ago
Kegsay
d8b248cb2c
Merge pull request #52 from matrix-org/kegan/split-gh-service
Split up github service into 2 services
8 years ago
Kegan Dougal
aea0e3a104
Split up github service into 2 services
One for commands/expansions, the other for webhooks. Call the type 'github-webhook'.
8 years ago
Kegsay
dc9872bbd8
Merge pull request #48 from matrix-org/kegan/giphy
Add Giphy integration
8 years ago
Kegan Dougal
b2e301651b
Be less excited about logging; use res.ContentLength
8 years ago
Kegan Dougal
fcd4b5adc7
Comments
8 years ago
Kegan Dougal
6f2d9dc72c
Add giphy integration
8 years ago
Kegsay
16e7bf3957
Merge pull request #47 from matrix-org/kegan/bot-options
Support bot options and implement github bot options for default repos
8 years ago
Kegan Dougal
d100d8ddd4
Don't share the matchingGroups array across multiple functions because that's insane
8 years ago
Kegan Dougal
95d8f86fa4
Combine together short and long form regexp matching to avoid expanding twice on long form
8 years ago
Kegan Dougal
8b44f3658c
Support bot options and implement github bot options for default repos
- Add a new `bot_options` table
- Allow github expansions/commands to omit the owner/repo and use a default if set
8 years ago
Kegan Dougal
15dc39dedc
Add an inviter key when joining rooms
8 years ago
Kegsay
761823d423
Merge pull request #46 from matrix-org/kegan/github-join-room-on-register
Join webhook rooms on Register()
8 years ago
Kegsay
35f83a6c67
Merge pull request #45 from matrix-org/kegan/github-remove-hooks-on-webhook-event
Delete webhooks when receive webhook events for no known repository
8 years ago
Kegan Dougal
6924f44379
Merge branch 'kegan/github-mutex-on-register' into kegan/github-remove-hooks-on-webhook-event
8 years ago
Kegsay
324231cf00
Merge pull request #44 from matrix-org/kegan/github-mutex-on-register
Mutex-guard services with the same ID being modified concurrently
8 years ago
Kegan Dougal
0e5716da1a
Add TODO explaining why the mutex storage is bad and what a better solution is
8 years ago
Kegan Dougal
4772d10cbd
Join webhook rooms on Register()
Also fix a NPE when there was no old service.
8 years ago
Kegan Dougal
b32cb06b74
Delete webhooks when receive webhook events for no known repository
8 years ago
Kegan Dougal
26a17ab3d6
Mutex-guard services with the same ID being modified concurrently
Also treat 422 "already exists" errors as success.
8 years ago
Kegsay
313c4ed92a
Merge pull request #43 from matrix-org/kegan/github-make-webhooks-on-register
Create delta webhooks in GithubService.Register()
8 years ago