Dan Balasescu
efa8256911
Use more verbatim strings
2022-10-28 16:32:17 +09:00
Dan Balasescu
2f731f86ba
Adjust ChannelManager to use notifications client
2022-10-28 16:28:58 +09:00
Dan Balasescu
33bb1212d1
Add notifications websocket + chat implementation
2022-10-28 16:28:58 +09:00
Dan Balasescu
b3219526a5
Populate beatmap ruleset in SoloScoreInfo.ToScoreInfo()
2022-10-28 14:42:45 +09:00
Dean Herbert
dcff8a193c
Use better method of forcing serialisation
2022-10-28 01:26:10 +09:00
Dean Herbert
3c4ba6e9fc
Fix SoloScoreInfo.Rank
not being serialised if rank is D
2022-10-27 19:02:32 +09:00
Dan Balasescu
6cca3a3dc8
Add new API requests
2022-10-27 14:55:24 +09:00
Dan Balasescu
4127aaa988
Extract general elements from HubClientConnector into SocketClientConnector
2022-10-27 14:37:10 +09:00
Dean Herbert
af84f708b7
Avoid serialising some more properties of SoloScoreInfo
unless present
2022-10-21 19:30:35 +09:00
ansel
e1785f73a2
Make report's comment not optional
2022-10-16 20:14:05 +03:00
Feodor0090
fb046e31c1
Merge branch 'master' into comment-report
2022-10-14 16:57:23 +03:00
ansel
7251d41deb
Add request class
2022-10-14 16:15:28 +03:00
Dan Balasescu
525f98c158
Fix max combo missing from playlists results screen
2022-10-14 18:01:54 +09:00
Dean Herbert
47fe4eb0bd
Merge branch 'master' into comment-deletion
2022-10-12 15:48:26 +09:00
Dean Herbert
74db42394a
Silence unobserved exceptions in BeginPlayingInternal
...
Closes #20526 .
2022-10-05 14:31:13 +09:00
ansel
7645fe20f5
Merge branch 'master' into comment-deletion
2022-09-28 17:55:22 +03:00
ansel
58d9509ce6
Apply NRT to Comment
2022-09-27 22:45:05 +03:00
ansel
5282c8b8c6
Fix CQ
2022-09-27 19:40:18 +03:00
ansel
5da7cb5397
Make comment ID public for test
2022-09-27 19:02:18 +03:00
ansel
1721b8e47a
Add request class
2022-09-27 16:25:26 +03:00
Dan Balasescu
1811647e34
Make room requests handler handle GetBeatmapRequest
2022-09-27 20:30:41 +09:00
Dean Herbert
de6709d12c
Fix rank_history
serialisation order dependence
...
```csharp
[network] 2022-09-26 18:18:39 [verbose]: Processing response from https://dev.ppy.sh/api/v2/me/ failed with Newtonsoft.Json.JsonSerializationException: Error setting value to 'rankHistory' on 'osu.Game.Online.API.Requests.Responses.APIUser'.
[network] 2022-09-26 18:18:39 [verbose]: ---> System.NullReferenceException: Object reference not set to an instance of an object.
[network] 2022-09-26 18:18:39 [verbose]: at osu.Game.Online.API.Requests.Responses.APIUser.set_rankHistory(APIRankHistory
value) in /tmp/osu/osu.Game/Online/API/Requests/Responses/APIUser.cs:line 231
```
2022-09-27 12:46:17 +09:00
Dean Herbert
a1297af441
Apply NRT to base Leaderboard
classes
2022-09-26 16:12:47 +09:00
Dean Herbert
32d56fe3a9
Use request cancellation and IsDisposed
guard instead of more Schedule
2022-09-26 16:02:33 +09:00
Dean Herbert
37e2579244
Fix reversed checks
2022-09-22 20:35:26 +09:00
Dan Balasescu
7508592789
Clean up some checks
2022-09-22 19:56:24 +09:00
Dean Herbert
29c4d06d36
Merge branch 'fix-gameplay-leaderboard-layout' into gameplay-leaderboards
2022-09-21 14:58:58 +09:00
Dean Herbert
8837618ab1
Merge pull request #20342 from smoogipoo/server-shutdown-countdown
...
Implement server shutdown countdown + notification
2022-09-20 20:51:16 +09:00
Dan Balasescu
d777afc454
Remove countdown at under 5 seconds
2022-09-20 19:55:44 +09:00
Dean Herbert
68c040175a
Ensure Leaderboard.Scores
is updated immediately via request flow
2022-09-20 17:02:57 +09:00
Dan Balasescu
b84f716c22
Display seconds when hours>0 to be more lively
2022-09-20 16:02:31 +09:00
Dan Balasescu
ef29987f36
Remove FinalNotification
2022-09-20 15:54:18 +09:00
Dan Balasescu
700000b583
Use custom notification with timer
2022-09-20 15:54:18 +09:00
Salman Ahmed
9a10ecb378
Clarify purpose of APIUserScoreAggregate
2022-09-17 19:37:30 +03:00
Dean Herbert
a1d830e47f
Fix formatting
2022-09-17 22:22:56 +09:00
vegguid
0bfe967452
moved BindValueChanged to LoadComplete
2022-09-17 12:58:23 +02:00
vegguid
288cc7b201
Fixed Leaderboard tooltip not following time format setting
2022-09-16 21:36:17 +02:00
Dan Balasescu
92b2417d4c
Post notification when room joined
2022-09-16 21:10:11 +09:00
Dan Balasescu
433bb5ae24
Add ServerShuttingDownCountdown
2022-09-16 19:56:52 +09:00
Dean Herbert
4c4fdfd153
Provide scores directly to Player
instance rather than relying on DI
2022-09-16 18:15:17 +09:00
Dean Herbert
0227eddda1
Merge branch 'master' into gameplay-leaderboards
2022-09-16 15:44:58 +09:00
Dean Herbert
21ac3fd88b
Catch any unobserved exceptions during beatmap metadata harvesting
...
The process will retry when a connection is successful, so this doesn't
need to be as loud as it was.
Addresses https://github.com/ppy/osu/discussions/20331 .
2022-09-16 14:00:06 +09:00
Dean Herbert
581a4d2d6d
Use APIBeatmap
for realm migration requiring ShortName
mapping
2022-09-15 16:58:58 +09:00
Dean Herbert
6d167070f8
Add back DI leaderboard retrieval via bindable pathway
2022-09-13 18:45:11 +09:00
Dean Herbert
cb6d02ec3a
Merge pull request #19066 from andy840119/remove-the-nullable-disable-in-the-ruleset
...
Remove the nullable disable annotation in the ruleset class
2022-09-12 19:07:23 +09:00
Dan Balasescu
31225066a1
Merge pull request #19308 from frenzibyte/top-rank-badge-order
...
Fix best rank badge not handling legacy scores properly
2022-09-12 16:20:21 +09:00
Dan Balasescu
1eb2c74e57
Fix countdown serialisation
2022-09-11 18:50:51 +09:00
andy840119
1398a7e11e
Property should accept the nullable state.
2022-09-10 10:46:40 +08:00
Salman Ahmed
dd10a06e3d
Merge branch 'master' into top-rank-badge-order
2022-09-09 19:38:44 +03:00
Dan Balasescu
ba2ef424d4
Turn score ids into ulong
s
2022-09-09 11:46:06 +09:00
Dan Balasescu
4fc03998a1
Merge pull request #20189 from peppy/fix-playlist-item-download-button-visibility
...
Fix playlist items showing download button briefly during initial display
2022-09-08 19:47:35 +09:00
Dean Herbert
13d9b2188b
Merge pull request #20145 from smoogipoo/multiple-countdowns
...
Implement support for multiple active countdowns in multiplayer
2022-09-08 19:15:30 +09:00
Dean Herbert
0de220c45c
Change IsExclusive
default value to true
2022-09-08 17:54:29 +09:00
Dean Herbert
ed81297611
Fix playlist items showing download button briefly during initial local presence checks
2022-09-08 17:10:45 +09:00
Dan Balasescu
b2f30fbf8c
Add countdown exclusivity
2022-09-05 20:13:23 +09:00
Dan Balasescu
2923c10cd8
Rewrite rooms to store multiple active countdowns
...
Update test to the new structure
2022-09-05 19:03:26 +09:00
Dan Balasescu
b10026993a
Don't serialise has_replay
2022-09-02 16:41:53 +09:00
Dan Balasescu
a277431266
Add has_replay and legacy_score_id to SoloScoreInfo
2022-09-01 21:10:38 +09:00
Dan Balasescu
d70208fcf1
Default to off
2022-09-01 14:14:22 +09:00
Dan Balasescu
b5ec7d06dd
Add auto-skip setting
...
Default to auto skip
2022-08-31 20:24:06 +09:00
Dean Herbert
09aa3e065d
Move colouring to full icon content rather than background
2022-08-30 18:06:48 +09:00
Dan Balasescu
799c015bff
Add LegacyTotalScore to SoloScoreInfo
2022-08-30 15:50:19 +09:00
Dean Herbert
b9d9bf3004
Merge pull request #19938 from frenzibyte/fix-multi-spectator-results-screen
...
Fix multi-spectator potentially getting stuck for passed players
2022-08-26 21:53:17 +09:00
Salman Ahmed
6840e906e7
watchedUsers
-> watchedUsersRefCounts
2022-08-25 09:50:52 +03:00
Salman Ahmed
146cc62f00
Merge branch 'master' into maximum-statistics-2
2022-08-25 08:18:44 +03:00
Dean Herbert
6a0d23cf96
Nest dialog class and apply NRT
2022-08-24 17:39:22 +09:00
Dan Balasescu
f70af779a4
Add maximum statistics to ScoreInfo/SoloScoreInfo
2022-08-24 17:28:41 +09:00
Andrew Hong
ec5fd7ac1d
Remove possible 'System.NullReferenceException'
2022-08-24 03:42:16 -04:00
Andrew Hong
b24513038c
Add popupdialog button to copy url
2022-08-24 03:35:19 -04:00
Salman Ahmed
7e5086c8d7
Fix spectator client not handling multiple watch calls properly
2022-08-24 10:02:21 +03:00
Dean Herbert
058d67f8e8
Merge pull request #19695 from naoei/ruleset-localization
...
Change most ruleset-accessible string types to Localisable strings
2022-08-22 16:13:23 +09:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization
2022-08-20 21:39:10 -04:00
Dean Herbert
a1e849c4db
Ensure that DummyAPIAccess
runs all queued tasks on disposal
2022-08-20 16:22:35 +09:00
Dean Herbert
c3c44c19cd
Use CompositeComponent
in various locations
2022-08-19 20:43:15 +09:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization
2022-08-14 15:17:44 -04:00
naoei
45e9eda9e7
Localise hit result name
2022-08-14 14:57:02 -04:00
Dean Herbert
865d63f768
Refactor APIAccess
main loop to read better
2022-08-11 15:43:39 +09:00
Dean Herbert
47196b19a5
Stop setting Online
state in handleRequest
...
This is already handled amicably by the `Failing` -> `Connecting` flow.
Having this set in `handleRequest` throws things off, potentially
leading to the `Online` state change before the user has been populated.
2022-08-11 14:36:30 +09:00
Dean Herbert
7ec67c28b9
Set Online
state sooner in connection process
...
This isn't really required as such, but feels more correct. There was no
reason for it to wait for the friend population to complete before
deeming things to be "online".
2022-08-11 14:35:56 +09:00
Dean Herbert
e5b534bb26
Add thread safety to APIAccess.LocalUser
2022-08-11 12:45:26 +09:00
Dan Balasescu
888c4c8e08
Merge pull request #19662 from peppy/startup-correct-username
...
Use a placeholder user with the correct username during login process
2022-08-10 13:09:37 +09:00
Dan Balasescu
4107049b08
Fix host room status showing ended after playing
2022-08-09 21:43:10 +09:00
Dean Herbert
4a312d5658
Use a placeholder user with the correct username during connecting process
...
This allows for various components (like gameplay) to obtain a correct
username even if the API is not yet in a connected state. The most
common case is during startup, where a connection may not have been
established yet, but the user's username was restored from their config
file.
By making the change, local scores will now have the correct username
(although avatar etc. will be missing, which I think it fine) even if
the API is not yet connected. Previously, they would show up as "Guest".
2022-08-09 17:13:09 +09:00
Dean Herbert
f9d0cc3c4e
Change APIAccess.IsLoggedIn
to also return true
when connecting
...
All usages of this are made with the intention of showing data when an
api is going to eventually become available. In the case of a login
failure, components are also able to display a correct state.
With this change, it makes online components display in a more correct
state during startup or initial logging in phase.
2022-08-09 17:11:44 +09:00
Dean Herbert
0537c471dc
Merge pull request #19582 from smoogipoo/apimod-json-cleanup
...
Don't serialise empty mod settings
2022-08-08 11:49:08 +09:00
Dan Balasescu
0de00e9b3f
Don't serialise empty mod settings
2022-08-05 14:00:53 +09:00
Dan Balasescu
2d9da07eb6
Trim zero values from hit statistics
2022-08-04 19:27:50 +09:00
Dan Balasescu
8ff7770a71
Omit irrelevant data from SoloScoreInfo serialisation
2022-08-04 19:11:39 +09:00
Dean Herbert
fd09155990
Revert blocking call when sending spectator frames
...
There are a lot of these requests, and we don't really care about
waiting on them to finish sending. This may have negatively affected
send performance for users with very high latency.
Reverts part of 0533249d11
.
Addresses concerns in https://github.com/ppy/osu/discussions/19429#discussioncomment-3276400 .
2022-07-29 12:24:54 +09:00
Salman Ahmed
1b6ebcfd87
Remove SubmittableScore
and replace with SoloScoreInfo
extension method
2022-07-25 13:43:43 +03:00
Salman Ahmed
d04df19c7e
Remove APIScore
and replace its final usage
2022-07-25 13:13:46 +03:00
Salman Ahmed
e0266b0d81
Reword comment slightly
2022-07-25 04:39:14 +03:00
Salman Ahmed
f5a5887669
Fix players potentially not displaying in spectator after restart
2022-07-25 04:21:53 +03:00
Salman Ahmed
727fe76b60
Fix TopLocalRank
hacking around presence to hide on null rank
...
Fixed this here because that blocks `Schedule` from running, and I don't
want to add another override to the `IsPresent` flag.
2022-07-23 09:22:22 +03:00
Dean Herbert
62133fa069
Merge pull request #19246 from frenzibyte/fix-wiki-navigation
...
Fix wiki overlay not handling path redirection properly
2022-07-20 20:08:11 +09:00
Dan Balasescu
f9c02c34b6
Merge branch 'master' into beatmap-update-online-flow
2022-07-20 15:15:51 +09:00
Salman Ahmed
e7f35701db
Add failing test case
2022-07-20 09:06:11 +03:00
Dean Herbert
07874efa7f
Set last online update to actual value provided by data source
2022-07-19 19:39:51 +09:00
Dean Herbert
cd39f444ef
Expose event from OnlineMetadataClient
rather than calling BeatmapUpdater
directly
2022-07-19 17:57:01 +09:00
Dean Herbert
12e5bc3f3d
Fix BeginPlayingInternal
firing actual errors when beatmap not available online
2022-07-19 17:14:57 +09:00
Dean Herbert
2716bd41d9
Use more correct json casing in APIScoresCollection
...
osu-web API is already returning both of these casings for backwards
compatibility, but the former will be removed at some point.
e540276721/app/Http/Controllers/BeatmapsController.php (L314-L315)
2022-07-19 15:34:17 +09:00
Dan Balasescu
c07f78409e
Merge pull request #19189 from peppy/peform-actions-after-reconnect
...
Fix creating multiplayer game during server migration not joining new room correctly
2022-07-19 14:46:29 +09:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Salman Ahmed
2befcfedbb
Merge branch 'master' into fix-multiplayer-participant-panel-null-ruleset
2022-07-18 12:24:47 +03:00
Salman Ahmed
b5c7d07ba8
Merge branch 'master' into fix-user-profile-overlay
2022-07-18 10:27:33 +03:00
Dean Herbert
933a41554b
Merge pull request #19187 from peppy/fix-reconnect-new-spectator-session
...
Fix spectator client not correctly reconnecting after shutdown
2022-07-18 16:25:04 +09:00
Dean Herbert
a7f19cc796
Merge pull request #19137 from frenzibyte/country-enum
...
Replace `Country` class with enumeration
2022-07-18 16:12:24 +09:00
Salman Ahmed
045602b27d
Merge branch 'master' into fix-reconnect-new-spectator-session
2022-07-18 09:55:19 +03:00
Salman Ahmed
84c1c26a7f
Merge branch 'master' into fix-user-profile-overlay
2022-07-18 09:45:25 +03:00
Salman Ahmed
1b302910b1
Merge branch 'master' into fix-reconnect-new-spectator-session
2022-07-18 09:30:29 +03:00
Dean Herbert
21bf7ee448
Turn on nullability in ParticipantPanel
2022-07-18 15:27:55 +09:00
Salman Ahmed
018da74fe8
Replace default
with CountryCode.Unknown
2022-07-18 08:54:35 +03:00
Salman Ahmed
05d692bd55
Move Country
to end of class
2022-07-18 08:43:41 +03:00
Dean Herbert
566bad0b5f
Make SoloScoreInfo.EndedAt
non-null
...
Seems to already be the case for databased scores. Will be assured by
https://github.com/ppy/osu-web/issues/9116 .
I've updated the `osu-score-statistics-processor` with this
consideration.
2022-07-18 14:42:43 +09:00
Salman Ahmed
ef6e16b1cb
UserCountry
-> Country
2022-07-18 08:40:43 +03:00
Salman Ahmed
100c53f9ef
Country
-> CountryCode
2022-07-18 08:40:34 +03:00
Dean Herbert
0533249d11
Update all OnlineSpectatorCalls
to InvokeAsync
2022-07-18 14:34:02 +09:00
tsunyoku
5875f53e07
remove unused import
2022-07-17 18:16:30 +01:00
tsunyoku
032cc6c670
use type annotation for nullable BeatmapSet
2022-07-17 18:15:36 +01:00
tsunyoku
8791edf84c
set Beatmap.BeatmapSet
to BeatmapSet
property in SoloScoreInfo
2022-07-17 18:10:33 +01:00
tsunyoku
c73eff7c89
add BeatmapSet
to SoloScoreInfo
2022-07-17 14:46:22 +01:00
tsunyoku
c2277031f0
add Beatmap
to SoloScoreInfo
2022-07-17 14:21:55 +01:00
tsunyoku
1f288157f4
change GetUserScoresRequest
to return SoloScoreInfo
instead of APIScore
2022-07-17 14:07:05 +01:00
Dean Herbert
55a8a3563b
Change MultiplayerMatchSubScreen
to not immediately leave the room on connection loss
...
Instead, we can rely on `MultiplayerClient.Room` going `null`.
2022-07-17 21:19:10 +09:00
Dean Herbert
da7edd5d49
Perform actions after server reconnection
2022-07-17 21:09:48 +09:00
Dean Herbert
8e7e1e6b51
Fix spectator client not correctly reconnecting after shutdown
2022-07-17 21:07:11 +09:00
Salman Ahmed
9382636da9
Catch and log exceptions from mod setting copy failure
2022-07-17 06:34:50 +03:00
Salman Ahmed
6636e462dc
Fix SoloScoreInfo
not carrying mod settings in conversion methods
2022-07-17 06:18:59 +03:00
Dean Herbert
5df9f06480
Merge pull request #19136 from frenzibyte/handle-user-request-failure
...
Fix login overlay not displaying error message for disabled accounts
2022-07-16 14:40:28 +09:00
Salman Ahmed
9c81241f4c
Fix potential nullref on APIUser.Country
...
We need NRT sooner than later...
2022-07-16 06:02:05 +03:00
Salman Ahmed
e62049f4a9
Update various usages of Country
inline with new enum
2022-07-16 05:04:24 +03:00
Salman Ahmed
00f4c8052e
Update APIUser
to provide enum from serialised country code
2022-07-16 05:04:24 +03:00
Salman Ahmed
b42f49aeaa
Handle APIException
from user request during logging in
2022-07-16 00:38:53 +03:00
Salman Ahmed
8f7b3cf11a
Merge branch 'master' into Save-Score-Failed
2022-07-15 22:10:19 +03:00
Dean Herbert
8a48cb701d
Tidy up implementation and remove unnecessary enum
2022-07-15 19:02:04 +09:00
Dean Herbert
c8c79d2185
Standardise HasReplay
implementation (and remove from persisting to realm)
2022-07-15 16:14:21 +09:00
Dean Herbert
688fcb256f
Update score retrieval endpoint to access new storage
2022-07-15 15:47:25 +09:00
Dean Herbert
966882013d
Remove classic mod attribution to SoloScoreInfo
conversion path
2022-07-15 15:47:05 +09:00
Dean Herbert
0fe3bac173
Store mods to array and update test scenes
2022-07-12 18:00:25 +09:00
Dean Herbert
12a56e36bd
Fix ID
mapping and move osu-web additions to region to identify them clearly
2022-07-12 18:00:25 +09:00
Dean Herbert
f956955d4d
Combine ScoreInfo
construction helper methods
2022-07-12 18:00:25 +09:00
Dean Herbert
900e0ace8e
Standardise naming and enable NRT
2022-07-12 18:00:25 +09:00
Dean Herbert
1bef2d7b39
Add and consume SoloScoreInfo
2022-07-12 18:00:25 +09:00
Dean Herbert
f500d5ade6
Simplify error output when hub cannot connect
...
Full call stack is useless in these cases.
Before:
```csharp
[network] 2022-07-07 16:05:31 [verbose]: OnlineMetadataClient connection error: System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
[network] 2022-07-07 16:05:31 [verbose]: at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.NegotiateAsync(Uri url, HttpClient httpClient, ILogger logger, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.GetNegotiationResponseAsync(Uri uri, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.SelectAndStartTransport(TransferFormat transferFormat, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.StartAsyncCore(TransferFormat transferFormat, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.StartAsync(TransferFormat transferFormat, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionFactory.ConnectAsync(EndPoint endPoint, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionFactory.ConnectAsync(EndPoint endPoint, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.SignalR.Client.HubConnection.StartAsyncCore(CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.SignalR.Client.HubConnection.StartAsyncInner(CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.SignalR.Client.HubConnection.StartAsync(CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at osu.Game.Online.HubClientConnector.connect() in /Users/dean/Projects/osu/osu.Game/Online/HubClientConnector.cs:line 119
```
After:
```csharp
[network] 2022-07-07 16:06:59 [verbose]: OnlineMetadataClient connecting...
[network] 2022-07-07 16:06:59 [verbose]: OnlineMetadataClient connect attempt failed: Response status code does not indicate success: 403 (Forbidden).
```
2022-07-08 01:06:40 +09:00
Dean Herbert
79bed0abdf
Merge branch 'realm-nested-writes' into metadata-client
2022-07-07 17:37:06 +09:00
Dean Herbert
99afbc7b73
Add missing endpoint URLs
2022-07-05 22:15:52 +09:00
Dean Herbert
bdd1bf4da0
Save last processed id to config for now
2022-07-05 21:42:35 +09:00
Dean Herbert
59d0bac728
Hook up update flow to metadata stream
2022-07-05 21:32:00 +09:00
Dean Herbert
b0d4f7aff6
Add recovery logic after disconnection
2022-07-05 21:32:00 +09:00
Dean Herbert
d217d66852
Add OnlineMetadataClient
2022-07-05 21:32:00 +09:00