Michael Muré
3c6ebc2bfd
core: bubble up the comment ID when created, or edited the first comment
2022-11-13 12:31:38 +01:00
Michael Muré
8818d091e8
move bug.Status in entities/common for reuse
2022-08-20 10:52:11 +02:00
Michael Muré
5511c230b6
move {bug,identity} to /entities, move input to /commands
2022-08-18 23:44:06 +02:00
Michael Muré
3d454d9dc8
entity/dag: proper base operation for simplified implementation
...
- reduce boilerplace necessary to implement an operation
- consolidate what an operation is in the core, which in turn pave the way for a generic cache layer mechanism
- avoid the previously complex unmarshalling process
- support operation metadata from the core
- simplified testing
2022-07-25 13:27:17 +02:00
Michael Muré
7348fb9edb
github: fix data race when closing event channel
...
I believe the issue was twofold:
When done importing, the calling context is likely still valid, so if the output channel is not read enough and reach capacity, some event producer down the line can be blocked trying to send in that channel. When closing it, this send is still trying to proceed, which is illegal in go.
In rateLimitHandlerClient, there was a need to 2 different type of output channel: core.ExportResult and ImportEvent. To do so, the previous code was using a single channel type RateLimitingEvent and a series of goroutines to read/cast/send to the final channel. This could result in more async goroutine being stuck trying to send in an at-capacity channel. Instead, the code now use a simple synchronous callback to directly push to the final output channel. No concurrency needed anymore and the code is simpler.
Any of those fixes could have resolved the data race, but both fixes is more correct.
2022-06-05 15:13:49 +02:00
rng-dynamics
247e1a865d
feature: Github bridge mutation rate limit ( #694 )
...
Unified handling of rate limiting of github graphql api
2021-09-14 22:22:28 +02:00
Michael Muré
10a80f1888
github: minor cleanups
2021-04-09 13:07:45 +02:00
Michael Muré
3f6ef50883
bug: migrate to the DAG entity structure!
2021-02-14 12:19:50 +01:00
Michael Muré
aab3a04d0c
bug: harmonize how time are used, fix some issues in command special formats
...
This assume that the convertion from time.Time <--> Unix timestamp is lossless which seems to be.
2020-06-25 23:18:17 +02:00
Michael Muré
0cebe1e57e
bridge: record the login used during the configure and use it as default credential
...
fix #338
2020-02-23 14:20:54 +01:00
Michael Muré
e231b6e839
bridges: pass the context to Init for when a client build process needs it
2020-02-15 15:46:36 +01:00
Michael Muré
fe3d5c95e4
bridges: massive refactor
...
- automatic flag validation and warning
- generalized prompt
- cleanups
2020-02-15 02:55:19 +01:00
Michael Muré
646fd681ff
it compiles \o/
2020-02-08 17:19:57 +01:00
Michael Muré
f515b9a129
gitlab also compile
2020-02-08 17:19:57 +01:00
Michael Muré
74e9114410
more more wip
2020-02-08 17:19:57 +01:00
Michael Muré
ae2f942ef9
more wip
2020-02-08 17:18:28 +01:00
Michael Muré
b92adfcb5f
bridge: huge refactor to accept multiple kind of credentials
2019-12-08 21:28:27 +01:00
amine
014e754fcd
bridge/github: use core.ConfigKeyToken instead of keyToken
2019-11-23 19:20:55 +01:00
amine
87244d3c8d
bridge/github: export correctly emit nothing events
2019-11-19 20:04:40 +01:00
amine
8ffe2a9b03
bridge/launchpad: add missing metadata
...
bridge: use a specific key for origin metadata
2019-11-19 19:16:16 +01:00
ludovicm67
75004e1298
bug: rename RGBA to Color
2019-10-15 20:42:27 +02:00
Amine Hilaly
d19b8e1a09
bridge/github: fix name case sensitivity in retrieving and creating labels using github graphql api
2019-08-19 00:44:33 +02:00
Amine Hilaly
501a931080
bridge/gthub: use errgroup.Group instead of sync.WaitGroup
2019-08-18 00:14:22 +02:00
Amine Hilaly
5ca326af83
bridge/core: add context.Context to ImportAll and ExportAll signatures
...
bridge/core: add ImportResult objects to stream import events
bridge/core: launchpad support asynchronous import
bridge/github: cancellable export and import functions
bridge/gitlab: cancellable export and import functions
commands: bridge pull/push gracefull kill
bridge/github: fix github import
bridge/github: use simple context for imports
bridge/core: name parameters in interfaces
github/core: Add EventError to export and import events types
bridge/gitlab: add context support in gitlab requests functions
bridge/gitlab: remove imported events count from importer logic
bridge/github: remove imported events count from importer logic
bridge/github: add context support in query and muration requets
bridge/github: fix bug duplicate editions after multiple calls
bridge/core: import import and export events String methods
bridge/gitlab: fix error handling in note import events
commands/bridge: Add statistics about imports and exports
bridge/gitlab: properly handle context cancellation
bridge/github: improve error handling
bridge: break iterators on context cancel or timeout
bridge: add context timeout support
bridge: improve event formating and error handling
commands: handle interrupt and switch cases
bridge/github: add export mutation timeouts
bridge: fix race condition bug in the github and gitlab importers
bridge/github: improve context error handling
2019-08-18 00:14:22 +02:00
Michael Muré
99b5c58d43
finish the refactoring for the dedicated identifier type
2019-08-12 16:12:14 +02:00
Michael Muré
a0dfc20211
github: fix bad refactor
2019-08-08 19:06:13 +02:00
Michael Muré
612a29b031
fix everything following the hash-->id change
2019-08-08 19:06:13 +02:00
Amine Hilaly
6323c7b106
[bridge/github] ignore imported bugs from other repositories
2019-07-06 00:23:19 +02:00
Amine Hilaly
3e181168ea
[bridge/github] improve export label change function
...
[bridge/core] rename `EventStatus` to `ExportEvent`
2019-07-05 22:03:00 +02:00
Amine
93e731fd0d
[bridge/github] improve comments and documentation
...
[bridge/github] improve error handling and tests
Co-Authored-By: Michael Muré <batolettre@gmail.com>
2019-07-05 18:46:59 +02:00
Amine Hilaly
1f365b2369
[core] Implement ExportResults
...
Use ExportResult chan to send export events
Remove exportedBugs and exportedLabels
2019-06-30 15:42:45 +02:00
Amine Hilaly
570ae5f75e
[bug] add snapshot.GetCreateMetadata method
...
[bug] add snapshot.HasParticipant(id string)
[bug] add snapshot.HasAnyParticipant(ids ...string)
[bug] add snapshot.HasActor(id string)
[bug] add snapshot.HasAnyActor(ids ...string)
[bridge/github] improve comments
[bridge/github] exporter tests: register deleteRepository in cleaner
[bridge/github] tests rebase
2019-06-30 15:33:27 +02:00
Amine Hilaly
31eebdf9da
[bridge/github] Correcte some types and add comments
...
General improvements
Co-Authored-By: Michael Muré <batolettre@gmail.com>
empty array check
an empty array is not nil
Co-Authored-By: Michael Muré <batolettre@gmail.com>
2019-06-24 21:35:24 +02:00
Amine Hilaly
0dea0f6a76
[bridge/github] simplify export operation hashs
...
[bridge/github] exporter tests: add more test cases and global tests
[bridge/github] rename export_query to export_mutation
[bridge/github] exporter: Log number of exported issues and labels
[bridge/github] Improve comments
2019-06-24 21:33:29 +02:00
Amine Hilaly
fc09f2a492
[bridge/github] exporter: Add test cases
...
correct delete repo
improve tests
set user identity
2019-06-24 21:33:15 +02:00
Amine Hilaly
12cc74e22b
[bridge/github] correct label & comment edit mutations bugs
2019-06-24 21:33:06 +02:00
Amine Hilaly
23f2c58e92
[bridge/github] create label: Generate hexColor from label rgba
2019-06-24 21:32:45 +02:00
Amine Hilaly
4ad3d336c6
[bridge/github] use context.WithTimeout on all graphql queries
2019-06-24 21:32:38 +02:00
Amine Hilaly
f70c279c1e
[bridge/github] exporter: Improve error handling
...
[bridge/github] queries: use api v4 for getLabel / createLabel
[bridge/github] add comments to getIdentityClient
2019-06-24 21:32:11 +02:00
Amine Hilaly
e511f3d885
[misc] update man docs and completion scripts
...
[cache] BugCache: Fix set metadata raw
[bridge/github] Fix graphql input objects
2019-06-24 21:30:45 +02:00
Amine Hilaly
a58ac69c1f
[bridge/github] exporter: Check bug import origin
...
[bridge/github] export only allowed bugs
2019-06-24 21:30:26 +02:00
Amine Hilaly
07492fb72a
[bridge/github] importer: tag imported issues with origin metadata
...
[bridge/github] exporter: correct export signature and cache maps
2019-06-24 21:29:57 +02:00
Amine Hilaly
1d42814166
[bridge/github] cache user token
...
fix import typo
init tests
verify issue
2019-06-24 21:29:37 +02:00
Amine Hilaly
a121991f55
[bridge/github] exporter: support multiple tokens/clients
2019-06-24 21:28:51 +02:00
Amine Hilaly
cbac482770
[bridge/github] update github bug exporter
...
- cache repository ID
- cache all comment IDs
2019-06-24 21:27:17 +02:00
Amine Hilaly
6451dd2928
[cache] BugCache: Add set metadata methods
...
[bridge/github] fix add/remove mutation requests
[bridge/github] iterator: fix typo
2019-06-24 21:26:34 +02:00
Amine Hilaly
2f620e65b8
[bridge/github] exporter: add graphql functionalities
...
[bridge/github] graphql mutation objects
[bridge/github] github create and get labels
[bridge/github] repository node_id query
[bridge/github] exporter: ignore old bugs and old operations
[bridge/github] add update labels/status functionalities
[bridge/github] exporter: cache labels while exporting
2019-06-24 21:24:04 +02:00
Amine Hilaly
fbb0e836d3
[bridge/github] Add exporter implementation
2019-06-24 21:20:45 +02:00