Commit Graph

1064 Commits

Author SHA1 Message Date
daydensteve
5906bc3486 fixed inappropriate use of character illustration id instead of base character id. The Userbox jinja would break if the profile was using an alternate character illustration 2025-04-05 18:05:00 -04:00
Hay1tsme
96a252cbf3 ongeki: fix act 3 database upgrade script 2025-03-29 11:25:07 -04:00
Hay1tsme
62e61ec975 Merge pull request 'O.N.G.E.K.I. bright MEMORY Act.3 support added' (#204) from feature/ongeki_act3 into develop
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/204
2025-03-29 15:23:45 +00:00
Hay1tsme
f939d4976e chuni: make total columns BigInt, for #203 2025-03-29 11:22:12 -04:00
Dniel97
fbcc53aeae ongeki: update ongeki_static_tech_music_uk 2025-03-26 21:20:22 +01:00
Dniel97
a2f71dc553 ongeki: bright MEMORY Act.3 support added 2025-03-26 15:25:34 +01:00
Hay1tsme
60002a466f diva: put full name in frontend header 2025-03-25 11:32:12 -04:00
Hay1tsme
c1fa528e45 chuni: fix frontend 500 if no profile is available 2025-03-25 11:30:44 -04:00
Hay1tsme
017cdecbaa db: fix missing param in add_arcade_owner 2025-03-25 11:22:37 -04:00
Hay1tsme
b6d22ef41d frontend: arcade management rework 2025-03-25 10:43:26 -04:00
Hay1tsme
20d9a2da9c sao: fix frontend 2025-03-22 00:58:56 -04:00
Hay1tsme
afdcd9a731 mai2: remove print statements from frontend 2025-03-22 00:58:49 -04:00
Hay1tsme
882560a790 adb: fix semantics with FelicaLookupEx 2025-03-21 09:47:44 -04:00
Hay1tsme
376b77be29 frontend: serial rollover after 9999 generated serials 2025-03-20 14:53:28 -04:00
Dniel97
cdd46d51b7 chuni: fix favorite music list 2025-03-02 18:34:06 +01:00
Hay1tsme
399f983bea allnet: fix download order response, billing logging 2025-03-02 04:10:06 -05:00
Hay1tsme
360dfdfdc1 Merge pull request 'ongeki: use the latest applicable version' (#200) from akanyan/artemis:fix/ongeki/versions into develop
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/200
2025-02-22 15:24:55 +00:00
Hay1tsme
0f52b89033 remove deprecated warn 2025-02-21 23:51:59 -05:00
Hay1tsme
d4394788b7 Merge pull request 'Fix Crossbeats Read Script' (#201) from Galexion/artemis:develop into develop
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/201
2025-02-15 20:29:03 +00:00
Galexion
f3f0569755 Fixes Capitalization on CrossBeats Read.py 2025-01-27 19:50:49 +00:00
akanyan
59a3c28134 ongeki: use the latest applicable version 2025-01-20 22:34:05 +00:00
Midorica
b62e9beb67 Merge pull request 'ongeki: proper handling of music ranking list' (#195) from akanyan/artemis:feat/ongeki/music-ranking into develop
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/195
2025-01-14 02:31:51 +00:00
Midorica
6ea27b1632 Merge pull request 'ongeki: read music version from the xml' (#194) from akanyan/artemis:fix/ongeki/read-music into develop
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/194
2025-01-14 01:56:02 +00:00
akanyan
fa667d15f2 ongeki: proper handling of music ranking list 2025-01-06 18:39:49 +00:00
akanyan
ab64eea5c9 ongeki: read music version from the xml 2024-12-30 18:31:22 +00:00
Hay1tsme
0cf41ff389 TUI: add card management screen 2024-12-20 17:40:55 -05:00
Hay1tsme
e93fcfd706 Merge pull request 'Fix: AimeDB Felica LookupEx rename package parameter' (#188) from SoulGateKey/artemis:lookup_fix into develop
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/188
2024-12-19 06:41:02 +00:00
Kevin Trocolli
b81d5c9cc5 adb: fix minor logging typo 2024-12-19 01:37:50 -05:00
Hay1tsme
6a305d2514 Merge pull request '[database] fix invalid transaction being left open' (#187) from beerpsi/artemis:fix/invalid-transaction into develop
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/187
2024-12-19 06:14:45 +00:00
Hay1tsme
e8c90634b6 Merge pull request '[chunithm] fix rival music not showing up in game' (#190) from beerpsi/artemis:fix/chunithm/rivals into develop
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/190
2024-12-19 06:14:10 +00:00
Hay1tsme
5d2f0eaae6 Merge pull request '[chunithm] support luminous+' (#193) from beerpsi/artemis:feat/chunithm/luminousplus into develop
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/193
2024-12-19 06:13:49 +00:00
beerpsi
5475b52336 [chunithm] support luminous+ 2024-12-19 13:03:37 +07:00
Kevin Trocolli
f830764990 tui: fix minor alignment issue 2024-12-19 00:21:39 -05:00
Kevin Trocolli
e8cd6e9596 tui: add user lookup 2024-12-19 00:17:00 -05:00
Hay1tsme
326b5988af add half-working TUI 2024-12-18 16:35:28 -05:00
Kevin Trocolli
e8ea328e77 mai2: add add_consec_login call if get_consec_login returns None #189 2024-12-15 20:21:03 -05:00
Kevin Trocolli
1dceff456d cxb: added missing r which fixes an issue on ubuntu 24.04.1 2024-12-15 20:16:18 -05:00
beerpsi
fe8f365d8a [chunithm] fix rival music not showing up in game 2024-12-12 20:49:39 +07:00
beerpsi
d6d98d20cb fix: typing shenanigans 2024-12-12 20:47:34 +07:00
SoulGateKey
5ecc7984c7 Fix: AimeDB Felica LookupEx rename package parameter 2024-12-08 08:44:32 +08:00
SoulGateKey
d797e5f6b7 Merge pull request 'update develop' (#4) from Hay1tsme/artemis:develop into develop
Reviewed-on: https://gitea.tendokyu.moe/SoulGateKey/artemis/pulls/4
2024-12-08 00:12:03 +00:00
Kevin Trocolli
a8f5ef1550 allnet: properly dfi encode downloadorder responses 2024-12-01 14:19:55 -05:00
Kevin Trocolli
383859388e chuni: fix 'NoneType' object has no attribute 'split' in score.py 2024-11-29 22:20:55 -05:00
beerpsi
476a911df9 [database] fix invalid transaction being left open 2024-11-25 20:13:51 +07:00
SoulGateKey
fe9a04ef8e Merge pull request 'develop' (#3) from Hay1tsme/artemis:develop into develop
Reviewed-on: https://gitea.tendokyu.moe/SoulGateKey/artemis/pulls/3
2024-11-20 19:25:36 +00:00
beerpsi
58a5177a30 use SQL's limit/offset pagination for nextIndex/maxCount requests (#185)
Instead of retrieving the entire list of items/characters/scores/etc. at once (and even store them in memory), use SQL's `LIMIT ... OFFSET ...` pagination so we only take what we need.

Currently only CHUNITHM uses this, but this will also affect maimai DX and O.N.G.E.K.I. once the PR is ready.

Also snuck in a fix for CHUNITHM/maimai DX's `GetUserRivalMusicApi` to respect the `userRivalMusicLevelList` sent by the client.

### How this works

Say we have a `GetUserCharacterApi` request:

```json
{
    "userId": 10000,
    "maxCount": 700,
    "nextIndex": 0
}
```

Instead of getting the entire character list from the database (which can be very large if the user force unlocked everything), add limit/offset to the query:

```python
select(character)
.where(character.c.user == user_id)
.order_by(character.c.id.asc())
.limit(max_count + 1)
.offset(next_index)
```

The query takes `maxCount + 1` items from the database to determine if there is more items than can be returned:

```python
rows = ...

if len(rows) > max_count:
    # return only max_count rows
    next_index += max_count
else:
    # return everything left
    next_index = -1
```

This has the benefit of not needing to load everything into memory (and also having to store server state, as seen in the [`SCORE_BUFFER` list](2274b42358/titles/chuni/base.py (L13)).)

Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/185
Co-authored-by: beerpsi <beerpsi@duck.com>
Co-committed-by: beerpsi <beerpsi@duck.com>
2024-11-16 19:10:29 +00:00
Hay1tsme
cb009f6e23 wacca: tiny cleanup 2024-11-14 12:39:21 -05:00
Hay1tsme
2274b42358 Merge pull request '[database] make async' (#184) from beerpsi/artemis:fix/async-database into develop
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/184
2024-11-14 06:15:49 +00:00
beerpsi
789d50c406 use AsyncSession directly
see the warnings in https://docs.sqlalchemy.org/en/14/orm/extensions/asyncio.html#using-asyncio-scoped-session
2024-11-14 13:10:14 +07:00
beerpsi
4c33f4282a oops forgot a dependency on aiomysql 2024-11-14 12:38:00 +07:00