Commit Graph

1065 Commits

Author SHA1 Message Date
4cb120dbb6 Merge pull request 'add opt static tables' (#2) from Hay1tsme/artemis:develop into develop
Reviewed-on: SoulGateKey/artemis#2
2025-04-07 23:30:18 +00:00
1cab68006d add opt static tables 2025-04-07 18:31:11 -04:00
96a252cbf3 ongeki: fix act 3 database upgrade script 2025-03-29 11:25:07 -04:00
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: Hay1tsme/artemis#204
2025-03-29 15:23:45 +00:00
f939d4976e chuni: make total columns BigInt, for #203 2025-03-29 11:22:12 -04:00
fbcc53aeae ongeki: update ongeki_static_tech_music_uk 2025-03-26 21:20:22 +01:00
a2f71dc553 ongeki: bright MEMORY Act.3 support added 2025-03-26 15:25:34 +01:00
60002a466f diva: put full name in frontend header 2025-03-25 11:32:12 -04:00
c1fa528e45 chuni: fix frontend 500 if no profile is available 2025-03-25 11:30:44 -04:00
017cdecbaa db: fix missing param in add_arcade_owner 2025-03-25 11:22:37 -04:00
b6d22ef41d frontend: arcade management rework 2025-03-25 10:43:26 -04:00
20d9a2da9c sao: fix frontend 2025-03-22 00:58:56 -04:00
afdcd9a731 mai2: remove print statements from frontend 2025-03-22 00:58:49 -04:00
882560a790 adb: fix semantics with FelicaLookupEx 2025-03-21 09:47:44 -04:00
376b77be29 frontend: serial rollover after 9999 generated serials 2025-03-20 14:53:28 -04:00
cdd46d51b7 chuni: fix favorite music list 2025-03-02 18:34:06 +01:00
399f983bea allnet: fix download order response, billing logging 2025-03-02 04:10:06 -05:00
360dfdfdc1 Merge pull request 'ongeki: use the latest applicable version' (#200) from akanyan/artemis:fix/ongeki/versions into develop
Reviewed-on: Hay1tsme/artemis#200
2025-02-22 15:24:55 +00:00
0f52b89033 remove deprecated warn 2025-02-21 23:51:59 -05:00
d4394788b7 Merge pull request 'Fix Crossbeats Read Script' (#201) from Galexion/artemis:develop into develop
Reviewed-on: Hay1tsme/artemis#201
2025-02-15 20:29:03 +00:00
f3f0569755 Fixes Capitalization on CrossBeats Read.py 2025-01-27 19:50:49 +00:00
59a3c28134 ongeki: use the latest applicable version 2025-01-20 22:34:05 +00:00
b62e9beb67 Merge pull request 'ongeki: proper handling of music ranking list' (#195) from akanyan/artemis:feat/ongeki/music-ranking into develop
Reviewed-on: Hay1tsme/artemis#195
2025-01-14 02:31:51 +00:00
6ea27b1632 Merge pull request 'ongeki: read music version from the xml' (#194) from akanyan/artemis:fix/ongeki/read-music into develop
Reviewed-on: Hay1tsme/artemis#194
2025-01-14 01:56:02 +00:00
fa667d15f2 ongeki: proper handling of music ranking list 2025-01-06 18:39:49 +00:00
ab64eea5c9 ongeki: read music version from the xml 2024-12-30 18:31:22 +00:00
0cf41ff389 TUI: add card management screen 2024-12-20 17:40:55 -05:00
e93fcfd706 Merge pull request 'Fix: AimeDB Felica LookupEx rename package parameter' (#188) from SoulGateKey/artemis:lookup_fix into develop
Reviewed-on: Hay1tsme/artemis#188
2024-12-19 06:41:02 +00:00
b81d5c9cc5 adb: fix minor logging typo 2024-12-19 01:37:50 -05:00
6a305d2514 Merge pull request '[database] fix invalid transaction being left open' (#187) from beerpsi/artemis:fix/invalid-transaction into develop
Reviewed-on: Hay1tsme/artemis#187
2024-12-19 06:14:45 +00:00
e8c90634b6 Merge pull request '[chunithm] fix rival music not showing up in game' (#190) from beerpsi/artemis:fix/chunithm/rivals into develop
Reviewed-on: Hay1tsme/artemis#190
2024-12-19 06:14:10 +00:00
5d2f0eaae6 Merge pull request '[chunithm] support luminous+' (#193) from beerpsi/artemis:feat/chunithm/luminousplus into develop
Reviewed-on: Hay1tsme/artemis#193
2024-12-19 06:13:49 +00:00
5475b52336 [chunithm] support luminous+ 2024-12-19 13:03:37 +07:00
f830764990 tui: fix minor alignment issue 2024-12-19 00:21:39 -05:00
e8cd6e9596 tui: add user lookup 2024-12-19 00:17:00 -05:00
326b5988af add half-working TUI 2024-12-18 16:35:28 -05:00
e8ea328e77 mai2: add add_consec_login call if get_consec_login returns None #189 2024-12-15 20:21:03 -05:00
1dceff456d cxb: added missing r which fixes an issue on ubuntu 24.04.1 2024-12-15 20:16:18 -05:00
fe8f365d8a [chunithm] fix rival music not showing up in game 2024-12-12 20:49:39 +07:00
d6d98d20cb fix: typing shenanigans 2024-12-12 20:47:34 +07:00
5ecc7984c7 Fix: AimeDB Felica LookupEx rename package parameter 2024-12-08 08:44:32 +08:00
d797e5f6b7 Merge pull request 'update develop' (#4) from Hay1tsme/artemis:develop into develop
Reviewed-on: SoulGateKey/artemis#4
2024-12-08 00:12:03 +00:00
a8f5ef1550 allnet: properly dfi encode downloadorder responses 2024-12-01 14:19:55 -05:00
383859388e chuni: fix 'NoneType' object has no attribute 'split' in score.py 2024-11-29 22:20:55 -05:00
476a911df9 [database] fix invalid transaction being left open 2024-11-25 20:13:51 +07:00
fe9a04ef8e Merge pull request 'develop' (#3) from Hay1tsme/artemis:develop into develop
Reviewed-on: SoulGateKey/artemis#3
2024-11-20 19:25:36 +00:00
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: Hay1tsme/artemis#185
Co-authored-by: beerpsi <beerpsi@duck.com>
Co-committed-by: beerpsi <beerpsi@duck.com>
2024-11-16 19:10:29 +00:00
cb009f6e23 wacca: tiny cleanup 2024-11-14 12:39:21 -05:00
2274b42358 Merge pull request '[database] make async' (#184) from beerpsi/artemis:fix/async-database into develop
Reviewed-on: Hay1tsme/artemis#184
2024-11-14 06:15:49 +00:00
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