606ac649a0
fix[core/data/alembic/]: Fix verse typo, multiple heads error.
2025-10-07 13:28:36 +08:00
ce621065a4
Merge pull request 'CHUNITHM VERSE support' ( #224 ) from feature/chuni_verse_support into develop
...
Reviewed-on: Hay1tsme/artemis#224
2025-09-27 20:20:21 +00:00
2d84865155
add ota update channels
2025-09-27 16:17:44 -04:00
10d38e14ae
config: fix typo preventing ssl_cert from working correctly
2025-09-26 13:59:12 -04:00
c92ede9e55
tui: add edit user view
2025-09-17 12:38:14 -04:00
3ad56306bf
remove unused funcs from TitleServlet
2025-09-16 20:59:35 -04:00
d5c68a624f
billing: bomb out early if we have unsent logs to avoid duplicating work that's never used
2025-09-16 18:11:52 -04:00
41dbf4fb78
chuni: add int datatype to user foreign key
2025-09-01 23:03:18 +02:00
415bbc92b3
chuni: add userbox sub trophy, fix unlock challenge
2025-08-31 19:49:06 +02:00
91f06ccfd2
chuni: initial verse support
2025-08-19 19:26:08 +02:00
02bfc7dba2
SDGB support + extras
2025-06-02 16:31:57 +12:00
33b7db0e98
Added support for multiple Allnet Lite keys + extras
2025-05-31 20:04:28 +12:00
4875caab93
ChimeDB qr code lookup/userid complete
2025-05-31 12:23:40 +12:00
1e4cb0b380
Simple Download Order implementation for Allnet Lite
2025-05-31 08:44:51 +12:00
5e5365d22b
Allnet Lite Power On Support
2025-05-31 07:15:35 +12:00
e6d7888655
billing: fix infinite loop
2025-05-03 15:51:50 -04:00
a74ca85300
allnet: fix playhistory
2025-04-24 23:56:19 -04:00
eea9ca21ca
allnet: basic playhistory
2025-04-24 23:04:01 -04:00
ce475e801b
allnet: save billing traces
2025-04-17 20:11:33 -04:00
e16bfc713a
chuni: add opt to reader
2025-04-08 00:41:49 -04:00
703068e965
delete unused alembic file
...
create new alembic file
2025-04-08 08:11:01 +08:00
73fa77368d
Merge branch 'refs/heads/develop' into prism_support
2025-04-08 11:32:49 +08:00
1cab68006d
add opt static tables
2025-04-07 18:31:11 -04:00
cc7afa6b67
database add kaleidx scope support
2025-04-02 11:57:08 +08:00
d77d02c2dd
database add Mai2Prism support
2025-04-02 06:42:28 +08: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
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
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
399f983bea
allnet: fix download order response, billing logging
2025-03-02 04:10:06 -05:00
0f52b89033
remove deprecated warn
2025-02-21 23:51:59 -05:00
fa667d15f2
ongeki: proper handling of music ranking list
2025-01-06 18:39:49 +00: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
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
a8f5ef1550
allnet: properly dfi encode downloadorder responses
2024-12-01 14:19:55 -05:00
476a911df9
[database] fix invalid transaction being left open
2024-11-25 20:13:51 +07: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
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
bc7524c8fc
fix: make database async
2024-11-14 12:36:22 +07:00
b7a006f7ee
core: pushing changes regarding MySQL ssl toggle that is now mandatory
2024-11-12 10:53:02 -05:00
c2d4abcc26
db and import updates for userbox, avatar, voice, and map icon
2024-11-03 16:37:05 -05:00
0cef797a8a
mai2: rework photo uploads, relates to #67
2024-10-06 03:47:10 -04:00