This MR adds support for Ongeki and Ongeki Plus. This saves pretty much everything the game sends except for userSessionlogList, userRatingBaseBestList, and userRatingBaseHotList from UpsertUserAllApi as they are not requested back by the game in any other request. I assume the rating lists are used by Sega's web profile viewer interface since the game recalculates the rating based on the scores sent.
In GitLab by @Felix on Mar 23, 2020, 01:12
_Merges ongeki -> master_
This MR adds support for Ongeki and Ongeki Plus. This saves pretty much everything the game sends except for `userSessionlogList`, `userRatingBaseBestList`, and `userRatingBaseHotList` from `UpsertUserAllApi` as they are not requested back by the game in any other request. I assume the rating lists are used by Sega's web profile viewer interface since the game recalculates the rating based on the scores sent.
In GitLab by @Felix on Mar 23, 2020, 01:13
added 13 commits
<ul><li>b3d2ff6a - ongeki: Basic boot support</li><li>7ae489a9 - ongeki: Save support for release version</li><li>13f260ff - ongeki: Fix user preview showing dummy card</li><li>21a36f26 - ongeki: Fix recent rating causing SQL row read exception</li><li>145de79b - ongeki: Add stub for GetUserEventRanking</li><li>e431e8a1 - ongeki: Implement ExtendLockTime</li><li>b09e6e06 - ongeki: Add event ids for option data</li><li>b2f72082 - ongeki: Return music ids only for NgMusic type</li><li>243b08c0 - ongeki: Return requesting user id in preview response</li><li>ec6a59d2 - ongeki: Prevent recursive item calls if user has more than 600 items</li><li>8ff7fbe5 - ongeki: Added methods for Ongeki Plus boot</li><li>da36e864 - ongeki: Stub methods required for Ongeki Plus profile load</li><li>1f4d21ae - ongeki: Add remaining Ongeki Plus APIs and database tables</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1174&start_sha=f7b06752f6edbed8e5b01b2eab47d4017b0e2854)
In GitLab by @Felix on Mar 23, 2020, 01:35
added 19 commits
<ul><li>1f4d21ae...74997786 - 5 commits from branch <code>djhackers:master</code></li><li>9363137e - ongeki: Basic boot support</li><li>170a1139 - ongeki: Save support for release version</li><li>c7773919 - ongeki: Fix user preview showing dummy card</li><li>a834786c - ongeki: Fix recent rating causing SQL row read exception</li><li>a8f57d4e - ongeki: Add stub for GetUserEventRanking</li><li>d3779a2e - ongeki: Implement ExtendLockTime</li><li>e1ffc5e8 - ongeki: Add event ids for option data</li><li>d0c54006 - ongeki: Return music ids only for NgMusic type</li><li>e91291e2 - ongeki: Return requesting user id in preview response</li><li>c990ab77 - ongeki: Prevent recursive item calls if user has more than 600 items</li><li>0db954d4 - ongeki: Added methods for Ongeki Plus boot</li><li>a06aab16 - ongeki: Stub methods required for Ongeki Plus profile load</li><li>22254139 - ongeki: Add remaining Ongeki Plus APIs and database tables</li><li>ee7bfde1 - ongeki: Move event IDs to separate static file</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1175&start_sha=1f4d21ae78872843c8105784bd848ab45f60c1ba)
Is this something that we receive from the game client in practice? We may want to return Date | undefined and store invalid dates as SQL NULLs in the database, potentially.
In GitLab by @tau on Mar 28, 2020, 18:32
Commented on [src/ongeki/proto/base.ts line 31](https://github.com/djhackersdev/minime/compare/bf390f15e2ba81ef2fdeb73cc31016dee0b87f04..7fba9c3e880f41ec7fedaeec022c05859d86b40a#diff-c81b1dddc07d99e9bbaf79f714703e79R31)
Is this something that we receive from the game client in practice? We may want to return `Date | undefined` and store invalid dates as SQL NULLs in the database, potentially.
For future reference it looks like there's a new TypeScript feature that allows us to precisely map a model object field's type to a crushed JSON type:
(I didn't know about it beforehand, I did some offhand searching just now to try and find a solution)
In GitLab by @tau on Mar 28, 2020, 18:37
Commented on [src/ongeki/proto/base.ts line 11](https://github.com/djhackersdev/minime/compare/74997786ccfc9fbd91352980e0f7cbedb1d023c2..9363137ec36536c1368c5b8165ceb22a1f50621e#diff-c81b1dddc07d99e9bbaf79f714703e79R11)
For future reference it looks like there's a new TypeScript feature that allows us to precisely map a model object field's type to a crushed JSON type:
https://github.com/microsoft/TypeScript/pull/21316
(I didn't know about it beforehand, I did some offhand searching just now to try and find a solution)
Nitpick: Advisory comments aren't necessary for booleans since Ongeki sends them in their native JSON representation. They're still useful for numbers and strings since numbers may or may not be floating-point and strings may hold dates etc.
In GitLab by @tau on Mar 28, 2020, 18:42
Commented on [src/ongeki/request/getGameMessage.ts line 5](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8fce611a286fe6f4416e39863cad8cb22a403ad1#diff-1b2f5c86123916bc6d620e09ff650b98R5)
Nitpick: Advisory comments aren't necessary for booleans since Ongeki sends them in their native JSON representation. They're still useful for numbers and strings since numbers may or may not be floating-point and strings may hold dates etc.
In GitLab by @tau on Mar 28, 2020, 18:46
Commented on [src/ongeki/handler/index.ts line 60](https://github.com/djhackersdev/minime/compare/a7aa845cc2807a400accb21d01d7c2d6a337dc57..88f519cbeb669fd0bfb88f06ebb733581a18a019#diff-6993a5d0a94a2dd4b086c07daf0984eeR60)
Is this also true of Ongeki?
In GitLab by @tau on Mar 28, 2020, 18:48
Commented on [src/ongeki/handler/index.ts line 96](https://github.com/djhackersdev/minime/compare/a7aa845cc2807a400accb21d01d7c2d6a337dc57..88f519cbeb669fd0bfb88f06ebb733581a18a019#diff-6993a5d0a94a2dd4b086c07daf0984eeR96)
C&P oversight
Nitpick but date_fns could be used here (dependency is already present in package.json)
In GitLab by @tau on Mar 28, 2020, 18:51
Commented on [src/ongeki/handler/getGameSetting.ts line 11](https://github.com/djhackersdev/minime/compare/74997786ccfc9fbd91352980e0f7cbedb1d023c2..f1fbd9bdf0773afd574c939e42fffb906b99cf7b#diff-0db3574e179059a65490263d69bc8747R11)
Nitpick but date_fns could be used here (dependency is already present in `package.json`)
This C&P comment seems to be contradicted by the existence of the loadLatest() method below
In GitLab by @tau on Mar 28, 2020, 20:06
Commented on [src/ongeki/repo/userPlaylog.ts line 6](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8fce611a286fe6f4416e39863cad8cb22a403ad1#diff-7dffb2926c6c7e99eded0f05dd862190R6)
This C&P comment seems to be contradicted by the existence of the loadLatest() method below
This C&P comment doesn't seem to apply to Ongeki based on my reading of this server code.
In GitLab by @tau on Mar 28, 2020, 20:08
Commented on [src/ongeki/handler/upsertUserAll.ts line 35](https://github.com/djhackersdev/minime/compare/9363137ec36536c1368c5b8165ceb22a1f50621e..170a113904e6c71c810393caaa6116929a4119d0#diff-5bd0d27e53d799f57b746583c6dcb7d0R35)
This C&P comment doesn't seem to apply to Ongeki based on my reading of this server code.
In GitLab by @tau on Mar 28, 2020, 20:14
Commented on [src/ongeki/handler/getGameIdlist.ts line 12](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8e07214ee9cc64d25319ed92a58f8a708ca9996d#diff-a483bc091481c8e8b00d304d6d1aeb63R12)
Double-equals
In GitLab by @tau on Mar 28, 2020, 20:28
Commented on [src/ongeki/sql/userMissionPoint.ts line 21](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8fce611a286fe6f4416e39863cad8cb22a403ad1#diff-507fba58dcd34a7b2360bc8319d67373R21)
`| undefined` seems redundant here
Yes, we do receive 0000-00-00 00:00:00 from the game naturally. I agree with you since the game does check for equality with the minimum date so storing as NULL and returning that would be better.
In GitLab by @Felix on Mar 28, 2020, 20:30
Commented on [src/ongeki/proto/base.ts line 31](https://github.com/djhackersdev/minime/compare/bf390f15e2ba81ef2fdeb73cc31016dee0b87f04..7fba9c3e880f41ec7fedaeec022c05859d86b40a#diff-c81b1dddc07d99e9bbaf79f714703e79R31)
Yes, we do receive `0000-00-00 00:00:00` from the game naturally. I agree with you since the game does check for equality with the minimum date so storing as NULL and returning that would be better.
I actually don't know. I didn't test that and went with the original Chunithm code so it could be not needed anymore.
In GitLab by @Felix on Mar 28, 2020, 20:31
Commented on [src/ongeki/handler/index.ts line 60](https://github.com/djhackersdev/minime/compare/a7aa845cc2807a400accb21d01d7c2d6a337dc57..88f519cbeb669fd0bfb88f06ebb733581a18a019#diff-6993a5d0a94a2dd4b086c07daf0984eeR60)
I actually don't know. I didn't test that and went with the original Chunithm code so it could be not needed anymore.
I was following the style from the Chunithm SQL handlers. It definitely seems redundant here.
In GitLab by @Felix on Mar 28, 2020, 22:58
Commented on [src/ongeki/sql/userMissionPoint.ts line 21](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8fce611a286fe6f4416e39863cad8cb22a403ad1#diff-507fba58dcd34a7b2360bc8319d67373R21)
I was following the style from the Chunithm SQL handlers. It definitely seems redundant here.
In GitLab by @Felix on Mar 29, 2020, 07:17
added 1 commit
<ul><li>f1fbd9bd - ongeki: add remaining events from option data</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1180&start_sha=ee7bfde197836d41b664974a01c6e6a805cd8f8a)
In GitLab by @Felix on May 19, 2020, 24:40
Commented on [src/ongeki/handler/getGameSetting.ts line 11](https://github.com/djhackersdev/minime/compare/74997786ccfc9fbd91352980e0f7cbedb1d023c2..f1fbd9bdf0773afd574c939e42fffb906b99cf7b#diff-0db3574e179059a65490263d69bc8747R11)
changed this line in [version 5 of the diff](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1208&start_sha=f1fbd9bdf0773afd574c939e42fffb906b99cf7b#6e4bc60f0ad4dc80f3187e09c07eac7619250676_11_11)
In GitLab by @Felix on May 19, 2020, 24:40
added 1 commit
<ul><li>6d150bb3 - ongeki: attempt to fix reboot timer</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1208&start_sha=f1fbd9bdf0773afd574c939e42fffb906b99cf7b)
Since I keep forgetting about this MR: Based on my understanding, this needs some final testing from @Felix to check which fields should be NULL in the db schema. SQLite has a severely limited ALTER TABLE statement so we need to get this schema mostly right first time before this can be merged.
In GitLab by @tau on Jun 6, 2020, 21:40
Since I keep forgetting about this MR: Based on my understanding, this needs some final testing from @Felix to check which fields should be NULL in the db schema. SQLite has a severely limited ALTER TABLE statement so we need to get this schema mostly right first time before this can be merged.
In GitLab by @Felix on Jun 10, 2020, 01:25
added 1 commit
<ul><li>60a9366a - ongeki: fix music loading</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1230&start_sha=758ada03910421da68846e055e60abe843d92c74)
In GitLab by @Felix on Aug 20, 2020, 09:42
added 30 commits
<ul><li>25ee0a15...bf390f15 - 13 commits from branch <code>djhackers:master</code></li><li>18fe226a - ongeki: Basic boot support</li><li>cabf1ab7 - ongeki: Save support for release version</li><li>b165ee08 - ongeki: Fix user preview showing dummy card</li><li>6ec5d55e - ongeki: Fix recent rating causing SQL row read exception</li><li>76908450 - ongeki: Add stub for GetUserEventRanking</li><li>aa488f59 - ongeki: Implement ExtendLockTime</li><li>17c67832 - ongeki: Add event ids for option data</li><li>35ccba02 - ongeki: Return music ids only for NgMusic type</li><li>c8ba694c - ongeki: Return requesting user id in preview response</li><li>88b39640 - ongeki: Prevent recursive item calls if user has more than 600 items</li><li>1ba8a0f4 - ongeki: Added methods for Ongeki Plus boot</li><li>aeaaaf32 - ongeki: Stub methods required for Ongeki Plus profile load</li><li>ebed4365 - ongeki: Add remaining Ongeki Plus APIs and database tables</li><li>b70862b7 - ongeki: Move event IDs to separate static file</li><li>cccbb985 - ongeki: add remaining events from option data</li><li>31db92fa - ongeki: attempt to fix reboot timer</li><li>7fba9c3e - ongeki: fix music loading</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1279&start_sha=25ee0a15b25062a86ac66a6eed1891a2a3a2f348)
In GitLab by @Felix on Aug 20, 2020, 10:48
Commented on [src/ongeki/proto/base.ts line 31](https://github.com/djhackersdev/minime/compare/bf390f15e2ba81ef2fdeb73cc31016dee0b87f04..7fba9c3e880f41ec7fedaeec022c05859d86b40a#diff-c81b1dddc07d99e9bbaf79f714703e79R31)
changed this line in [version 10 of the diff](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1280&start_sha=7fba9c3e880f41ec7fedaeec022c05859d86b40a#74663a7efde40851423825ec05ece043a5c07345_31_30)
In GitLab by @Felix on Aug 20, 2020, 10:48
added 7 commits
<ul><li>ae588406 - ongeki: Add Ongeki support</li><li>e2fdb000 - ongeki: Add event ids for option data</li><li>235ebf3b - ongeki: Return music ids only for NgMusic type</li><li>c9a7508b - ongeki: Return requesting user id in preview response</li><li>a316df8d - ongeki: Prevent recursive item calls if user has more than 600 items</li><li>32fc9d44 - ongeki: Add Ongeki Plus support</li><li>3b9804c9 - ongeki: Fix date support</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1280&start_sha=7fba9c3e880f41ec7fedaeec022c05859d86b40a)
In GitLab by @Felix on Aug 23, 2020, 15:06
added 1 commit
<ul><li>6f0b5998 - ongeki: initial Ongeki Summer support</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1288&start_sha=5de63ee30aefb032f5352c7ed26d7ffa0d843721)
In GitLab by @Felix on Aug 23, 2020, 15:06
added 1 commit
<ul><li>c833a73d - ongeki: Ongeki Summer support</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1289&start_sha=6f0b59981e7744ac465de518a02370b108c4788e)
In GitLab by @Felix on Aug 23, 2020, 15:23
added 1 commit
<ul><li>9ade027e - ongeki: Assume tables may exist for migration</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1290&start_sha=c833a73d9a5f2605033d592a4af1221cea054183)
In GitLab by @Felix on Aug 23, 2020, 16:54
added 1 commit
<ul><li>24fa8271 - ongeki: Ongeki Summer events</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1291&start_sha=9ade027e9dd797f9a30cfc8e88ab2bced65f434f)
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on [src/ongeki/handler/getGameIdlist.ts line 12](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8e07214ee9cc64d25319ed92a58f8a708ca9996d#diff-a483bc091481c8e8b00d304d6d1aeb63R12)
Still unresolved
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on [src/ongeki/handler/index.ts line 96](https://github.com/djhackersdev/minime/compare/a7aa845cc2807a400accb21d01d7c2d6a337dc57..88f519cbeb669fd0bfb88f06ebb733581a18a019#diff-6993a5d0a94a2dd4b086c07daf0984eeR96)
Not resolved
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on [src/ongeki/repo/userPlaylog.ts line 6](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8fce611a286fe6f4416e39863cad8cb22a403ad1#diff-7dffb2926c6c7e99eded0f05dd862190R6)
Unresolved
Would you mind testing this quickly if you get a chance, I'd like to make sure the protocol quirks are accurately documented.
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on [src/ongeki/handler/index.ts line 60](https://github.com/djhackersdev/minime/compare/a7aa845cc2807a400accb21d01d7c2d6a337dc57..88f519cbeb669fd0bfb88f06ebb733581a18a019#diff-6993a5d0a94a2dd4b086c07daf0984eeR60)
Would you mind testing this quickly if you get a chance, I'd like to make sure the protocol quirks are accurately documented.
If they do then we definitely want to apply them before we cut a release; backfilling the necessary data is painful.
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on [src/ongeki/handler/getUserRecentRating.ts line 15](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8fce611a286fe6f4416e39863cad8cb22a403ad1#diff-aea072971f92e18635bbd2a00552b761R15)
Do the changes in this commit also apply to Ongeki?
https://dev.s-ul.eu/djhackers/minime/-/commit/cdae32ae64210a8fd31a34ae629fdaf5aa99262f
If they do then we definitely want to apply them before we cut a release; backfilling the necessary data is painful.
These comments are C&Ped from the Chunithm implementation. Do they also apply to Ongeki?
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on [src/ongeki/handler/getUserItem.ts line 33](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8fce611a286fe6f4416e39863cad8cb22a403ad1#diff-baa4526756ca0e72698298529f9568ccR33)
These comments are C&Ped from the Chunithm implementation. Do they also apply to Ongeki?
These values seem to set the size of a result page. We might want to lower these a little bit, perhaps to be in line with the values we're using for Chunithm (although I expect that Chunithm's failures are probably due to some C++-specific issues).
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on [src/ongeki/handler/getGameSetting.ts line 21](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8fce611a286fe6f4416e39863cad8cb22a403ad1#diff-0db3574e179059a65490263d69bc8747R21)
See this commit:
https://dev.s-ul.eu/djhackers/minime/-/commit/a05f0919151f52c401b5c1b47ecc517f59f96714
These values seem to set the size of a result page. We might want to lower these a little bit, perhaps to be in line with the values we're using for Chunithm (although I expect that Chunithm's failures are probably due to some C++-specific issues).
In GitLab by @Felix on Feb 10, 2021, 09:56
Commented on [src/ongeki/handler/index.ts line 60](https://github.com/djhackersdev/minime/compare/a7aa845cc2807a400accb21d01d7c2d6a337dc57..88f519cbeb669fd0bfb88f06ebb733581a18a019#diff-6993a5d0a94a2dd4b086c07daf0984eeR60)
changed this line in [version 17 of the diff](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1485&start_sha=88f519cbeb669fd0bfb88f06ebb733581a18a019#0b032a3f71ef6987c1fb6a7ef49d915b228a3a41_60_60)
In GitLab by @Felix on Feb 10, 2021, 09:56
Commented on [src/ongeki/handler/index.ts line 96](https://github.com/djhackersdev/minime/compare/a7aa845cc2807a400accb21d01d7c2d6a337dc57..88f519cbeb669fd0bfb88f06ebb733581a18a019#diff-6993a5d0a94a2dd4b086c07daf0984eeR96)
changed this line in [version 17 of the diff](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1485&start_sha=88f519cbeb669fd0bfb88f06ebb733581a18a019#0b032a3f71ef6987c1fb6a7ef49d915b228a3a41_96_96)
In GitLab by @Felix on Feb 10, 2021, 09:56
added 73 commits
<ul><li>88f519cb...86c7ae27 - 64 commits from branch <code>djhackers:master</code></li><li>90827e02 - ongeki: Add Ongeki support</li><li>b3d318be - ongeki: Add Ongeki Plus support</li><li>3cdb5867 - ongeki: Add event ids for option data</li><li>1f6ac9bc - ongeki: Fix date support</li><li>83efe053 - ongeki: Add Ongeki Summer support</li><li>a7914513 - ongeki: Assume tables may exist for migration</li><li>f0e551cb - ongeki: Fix userActivity returning too many entries</li><li>c2885079 - ongeki: Fix story jewel counting</li><li>8e07214e - ongeki: Always send first place so everyone gets every reward</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1485&start_sha=88f519cbeb669fd0bfb88f06ebb733581a18a019)
I went and figured out where the data in the game goes and it turns out the game does not use the IDs loaded via this API for anything. Maybe it was for a development version of Ongeki?
In GitLab by @Felix on Feb 10, 2021, 10:12
Commented on [src/ongeki/handler/getGameIdlist.ts line 12](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8e07214ee9cc64d25319ed92a58f8a708ca9996d#diff-a483bc091481c8e8b00d304d6d1aeb63R12)
I went and figured out where the data in the game goes and it turns out the game does not use the IDs loaded via this API for anything. Maybe it was for a development version of Ongeki?
In GitLab by @Felix on Feb 10, 2021, 10:15
Commented on [src/ongeki/handler/getGameIdlist.ts line 12](https://github.com/djhackersdev/minime/compare/86c7ae272d2c6ca50474175677bf1f693e000ca7..8e07214ee9cc64d25319ed92a58f8a708ca9996d#diff-a483bc091481c8e8b00d304d6d1aeb63R12)
changed this line in [version 18 of the diff](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1486&start_sha=8e07214ee9cc64d25319ed92a58f8a708ca9996d#0baf35f2f42abbd165b01525569788b730fdb696_12_10)
In GitLab by @Felix on Feb 10, 2021, 10:15
added 8 commits
<ul><li>edc814ca - ongeki: Add Ongeki Plus support</li><li>c04bdd98 - ongeki: Add event ids for option data</li><li>f2a074c2 - ongeki: Fix date support</li><li>06230df1 - ongeki: Add Ongeki Summer support</li><li>e3082aab - ongeki: Assume tables may exist for migration</li><li>b987c497 - ongeki: Fix userActivity returning too many entries</li><li>36b3b811 - ongeki: Fix story jewel counting</li><li>054a6df3 - ongeki: Always send first place so everyone gets every reward</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1486&start_sha=8e07214ee9cc64d25319ed92a58f8a708ca9996d)
Just checked. Ongeki will always decompress the response if the request was sent compressed. Ongeki does not check for a Transfer-Encoding header and does not check the Content-Encoding for the response either. Ongeki only supports deflate.
In GitLab by @Felix on Feb 10, 2021, 10:29
Commented on [src/ongeki/handler/index.ts line 60](https://github.com/djhackersdev/minime/compare/a7aa845cc2807a400accb21d01d7c2d6a337dc57..88f519cbeb669fd0bfb88f06ebb733581a18a019#diff-6993a5d0a94a2dd4b086c07daf0984eeR60)
Just checked. Ongeki will always decompress the response if the request was sent compressed. Ongeki does not check for a `Transfer-Encoding` header and does not check the `Content-Encoding` for the response either. Ongeki only supports deflate.
In GitLab by @Felix on Feb 10, 2021, 10:33
added 9 commits
<ul><li>90588199 - ongeki: Add Ongeki support</li><li>a30086c5 - ongeki: Add Ongeki Plus support</li><li>0c3139e5 - ongeki: Add event ids for option data</li><li>e22cbb74 - ongeki: Fix date support</li><li>ab0b8f9b - ongeki: Add Ongeki Summer support</li><li>7386011c - ongeki: Assume tables may exist for migration</li><li>4f0f8751 - ongeki: Fix userActivity returning too many entries</li><li>ea078b2f - ongeki: Fix story jewel counting</li><li>b0e4efe2 - ongeki: Always send first place so everyone gets every reward</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1487&start_sha=054a6df3c05e4d9c3f1aa6460c78533344c64392)
In GitLab by @Felix on Feb 10, 2021, 10:38
added 9 commits
<ul><li>57cbce5d - ongeki: Add Ongeki support</li><li>6268ebd2 - ongeki: Add Ongeki Plus support</li><li>e5a5d0b9 - ongeki: Add event ids for option data</li><li>c443a3cd - ongeki: Fix date support</li><li>c59c06c7 - ongeki: Add Ongeki Summer support</li><li>fc63c2a1 - ongeki: Assume tables may exist for migration</li><li>7efa1d7f - ongeki: Fix userActivity returning too many entries</li><li>5492d0de - ongeki: Fix story jewel counting</li><li>8fce611a - ongeki: Always send first place so everyone gets every reward</li></ul>
[Compare with previous version](/djhackers/minime/-/merge_requests/10/diffs?diff_id=1488&start_sha=b0e4efe2a2e06e1330d065518d3d2d1080ee9556)
CI builds are failing because I used flatMap which was implemented in Node.js v14. Should I rewrite that part to use map and flatten or could we bump the minimum Node.js version required?
In GitLab by @Felix on Feb 10, 2021, 10:41
CI builds are failing because I used `flatMap` which was implemented in Node.js v14. Should I rewrite that part to use `map` and flatten or could we bump the minimum Node.js version required?
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
In GitLab by @Felix on Mar 23, 2020, 01:12
Merges ongeki -> master
This MR adds support for Ongeki and Ongeki Plus. This saves pretty much everything the game sends except for
userSessionlogList,userRatingBaseBestList, anduserRatingBaseHotListfromUpsertUserAllApias they are not requested back by the game in any other request. I assume the rating lists are used by Sega's web profile viewer interface since the game recalculates the rating based on the scores sent.In GitLab by @Felix on Mar 23, 2020, 01:13
added 13 commits
Compare with previous version
In GitLab by @Felix on Mar 23, 2020, 01:13
Rebased off of master instead of my Chunithm branch.
In GitLab by @Felix on Mar 23, 2020, 01:13
unmarked as a Work In Progress
In GitLab by @Felix on Mar 23, 2020, 01:14
If you prefer the commits be squashed, I can do that.
In GitLab by @Felix on Mar 23, 2020, 01:16
...and I forgot to move the event IDs to a separate file.
In GitLab by @Felix on Mar 23, 2020, 01:35
added 19 commits
djhackers:masterCompare with previous version
In GitLab by @Felix on Mar 23, 2020, 01:35
Rebased off master and moved event IDs to separate file under
src/ongeki/static.In GitLab by @Felix on Mar 23, 2020, 08:48
Ok, I have a report that the maintenance fix does not work in some cases. Thank you @NeumPhis
In GitLab by @tau on Mar 28, 2020, 18:32
Commented on src/ongeki/proto/base.ts line 31
Is this something that we receive from the game client in practice? We may want to return
Date | undefinedand store invalid dates as SQL NULLs in the database, potentially.In GitLab by @tau on Mar 28, 2020, 18:37
Commented on src/ongeki/proto/base.ts line 11
For future reference it looks like there's a new TypeScript feature that allows us to precisely map a model object field's type to a crushed JSON type:
https://github.com/microsoft/TypeScript/pull/21316
(I didn't know about it beforehand, I did some offhand searching just now to try and find a solution)
In GitLab by @tau on Mar 28, 2020, 18:42
Commented on src/ongeki/request/getGameMessage.ts line 5
Nitpick: Advisory comments aren't necessary for booleans since Ongeki sends them in their native JSON representation. They're still useful for numbers and strings since numbers may or may not be floating-point and strings may hold dates etc.
In GitLab by @tau on Mar 28, 2020, 18:46
Commented on src/ongeki/handler/index.ts line 60
Is this also true of Ongeki?
In GitLab by @tau on Mar 28, 2020, 18:48
Commented on src/ongeki/handler/index.ts line 96
C&P oversight
In GitLab by @tau on Mar 28, 2020, 18:51
Commented on src/ongeki/handler/getGameSetting.ts line 11
Nitpick but date_fns could be used here (dependency is already present in
package.json)In GitLab by @tau on Mar 28, 2020, 20:06
Commented on src/ongeki/repo/userPlaylog.ts line 6
This C&P comment seems to be contradicted by the existence of the loadLatest() method below
In GitLab by @tau on Mar 28, 2020, 20:08
Commented on src/ongeki/handler/upsertUserAll.ts line 35
This C&P comment doesn't seem to apply to Ongeki based on my reading of this server code.
In GitLab by @tau on Mar 28, 2020, 20:14
Commented on src/ongeki/handler/getGameIdlist.ts line 12
Double-equals
In GitLab by @tau on Mar 28, 2020, 20:28
Commented on src/ongeki/sql/userMissionPoint.ts line 21
| undefinedseems redundant hereIn GitLab by @Felix on Mar 28, 2020, 20:30
Commented on src/ongeki/proto/base.ts line 31
Yes, we do receive
0000-00-00 00:00:00from the game naturally. I agree with you since the game does check for equality with the minimum date so storing as NULL and returning that would be better.In GitLab by @Felix on Mar 28, 2020, 20:31
Commented on src/ongeki/handler/index.ts line 60
I actually don't know. I didn't test that and went with the original Chunithm code so it could be not needed anymore.
In GitLab by @Felix on Mar 28, 2020, 22:58
Commented on src/ongeki/sql/userMissionPoint.ts line 21
I was following the style from the Chunithm SQL handlers. It definitely seems redundant here.
In GitLab by @Felix on Mar 29, 2020, 07:17
added 1 commit
Compare with previous version
In GitLab by @Felix on May 19, 2020, 24:40
Commented on src/ongeki/handler/getGameSetting.ts line 11
changed this line in version 5 of the diff
In GitLab by @Felix on May 19, 2020, 24:40
added 1 commit
Compare with previous version
In GitLab by @tau on Jun 6, 2020, 21:40
Since I keep forgetting about this MR: Based on my understanding, this needs some final testing from @Felix to check which fields should be NULL in the db schema. SQLite has a severely limited ALTER TABLE statement so we need to get this schema mostly right first time before this can be merged.
In GitLab by @Felix on Jun 10, 2020, 01:23
added 4 commits
Compare with previous version
In GitLab by @Felix on Jun 10, 2020, 01:25
added 1 commit
Compare with previous version
In GitLab by @Felix on Jul 19, 2020, 19:19
added 21 commits
b989ad22- 1 commit from branchdjhackers:masterCompare with previous version
In GitLab by @tau on Aug 1, 2020, 18:45
marked as a Work In Progress
In GitLab by @Felix on Aug 20, 2020, 09:42
added 30 commits
djhackers:masterCompare with previous version
In GitLab by @Felix on Aug 20, 2020, 10:48
Commented on src/ongeki/proto/base.ts line 31
changed this line in version 10 of the diff
In GitLab by @Felix on Aug 20, 2020, 10:48
added 7 commits
Compare with previous version
In GitLab by @Felix on Aug 20, 2020, 14:27
added 4 commits
Compare with previous version
In GitLab by @Felix on Aug 20, 2020, 14:29
approved this merge request
In GitLab by @Felix on Aug 23, 2020, 15:06
added 1 commit
Compare with previous version
In GitLab by @Felix on Aug 23, 2020, 15:06
added 1 commit
Compare with previous version
In GitLab by @Felix on Aug 23, 2020, 15:23
added 1 commit
Compare with previous version
In GitLab by @Felix on Aug 23, 2020, 16:54
added 1 commit
Compare with previous version
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on src/ongeki/handler/getGameIdlist.ts line 12
Still unresolved
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on src/ongeki/handler/index.ts line 96
Not resolved
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on src/ongeki/repo/userPlaylog.ts line 6
Unresolved
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on src/ongeki/handler/index.ts line 60
Would you mind testing this quickly if you get a chance, I'd like to make sure the protocol quirks are accurately documented.
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on src/ongeki/handler/getUserRecentRating.ts line 15
Do the changes in this commit also apply to Ongeki?
https://dev.s-ul.eu/djhackers/minime/-/commit/cdae32ae64210a8fd31a34ae629fdaf5aa99262f
If they do then we definitely want to apply them before we cut a release; backfilling the necessary data is painful.
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on src/ongeki/handler/getUserItem.ts line 33
These comments are C&Ped from the Chunithm implementation. Do they also apply to Ongeki?
In GitLab by @tau on Aug 26, 2020, 04:41
Commented on src/ongeki/handler/getGameSetting.ts line 21
See this commit:
https://dev.s-ul.eu/djhackers/minime/-/commit/a05f0919151f52c401b5c1b47ecc517f59f96714
These values seem to set the size of a result page. We might want to lower these a little bit, perhaps to be in line with the values we're using for Chunithm (although I expect that Chunithm's failures are probably due to some C++-specific issues).
In GitLab by @Felix on Jan 22, 2021, 20:08
added 19 commits
djhackers:masterCompare with previous version
In GitLab by @Felix on Feb 10, 2021, 09:56
Commented on src/ongeki/handler/index.ts line 60
changed this line in version 17 of the diff
In GitLab by @Felix on Feb 10, 2021, 09:56
Commented on src/ongeki/handler/index.ts line 96
changed this line in version 17 of the diff
In GitLab by @Felix on Feb 10, 2021, 09:56
added 73 commits
djhackers:masterCompare with previous version
In GitLab by @Felix on Feb 10, 2021, 10:12
Commented on src/ongeki/handler/getGameIdlist.ts line 12
I went and figured out where the data in the game goes and it turns out the game does not use the IDs loaded via this API for anything. Maybe it was for a development version of Ongeki?
In GitLab by @Felix on Feb 10, 2021, 10:15
Commented on src/ongeki/handler/getGameIdlist.ts line 12
changed this line in version 18 of the diff
In GitLab by @Felix on Feb 10, 2021, 10:15
added 8 commits
Compare with previous version
In GitLab by @Felix on Feb 10, 2021, 10:29
Commented on src/ongeki/handler/index.ts line 60
Just checked. Ongeki will always decompress the response if the request was sent compressed. Ongeki does not check for a
Transfer-Encodingheader and does not check theContent-Encodingfor the response either. Ongeki only supports deflate.In GitLab by @Felix on Feb 10, 2021, 10:33
added 9 commits
Compare with previous version
In GitLab by @Felix on Feb 10, 2021, 10:38
added 9 commits
Compare with previous version
In GitLab by @Felix on Feb 10, 2021, 10:41
CI builds are failing because I used
flatMapwhich was implemented in Node.js v14. Should I rewrite that part to usemapand flatten or could we bump the minimum Node.js version required?