Hay1tsme
2b228e6d63
add billing timestamps
2026-07-11 13:44:00 -04:00
Dniel97
297abf4e54
change campaign table definition from TEXT to String
2026-07-10 21:01:32 +02:00
Dniel97
db442ed8fa
update alembic revision
2026-07-09 21:12:42 +02:00
Dniel97
1cf6228b43
Drop broken billing playcount unique constraint
2026-07-09 21:11:36 +02:00
Hay1tsme
c1d3792d90
basic campaign support
2026-07-05 06:13:50 -04:00
Hay1tsme
f2177132bd
mai2: fix pandora flags
2026-04-23 13:31:37 -04:00
daydensteve
b3824f038f
Fixed bad default subtrophy values (issue #235 )
2026-01-08 20:34:28 -05:00
Dniel97
8408d30dc5
chuni: add stage import and frontend config
2026-01-01 20:40:27 +01:00
beerpsi
2cbf34dc28
CHUNITHM X-VERSE support ( #238 )
...
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/238
Co-authored-by: beerpsi <beerpsi@duck.com >
Co-committed-by: beerpsi <beerpsi@duck.com >
2026-01-01 21:35:23 +00:00
Hay1tsme
e11db14292
Merge pull request '[mai2] Prism Plus support' ( #232 ) from SoulGateKey/artemis:prism_plus_support into develop
...
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/232
2025-10-07 17:59:48 +00:00
SoulGateKey
77152bf25c
change down_revision when final merge
2025-10-07 17:59:02 +00:00
Hay1tsme
f346d8572d
chuni: fix typo in upgrade script
2025-10-07 13:26:54 -04:00
Hay1tsme
ce621065a4
Merge pull request 'CHUNITHM VERSE support' ( #224 ) from feature/chuni_verse_support into develop
...
Reviewed-on: https://gitea.tendokyu.moe/Hay1tsme/artemis/pulls/224
2025-09-27 20:20:21 +00:00
Hay1tsme
2d84865155
add ota update channels
2025-09-27 16:17:44 -04:00
SoulGateKey
d16ebe27d9
Merge pull request 'develop' ( #16 ) from develop into prism_plus_support
...
Reviewed-on: https://gitea.tendokyu.moe/SoulGateKey/artemis/pulls/16
2025-09-18 13:05:46 +00:00
Hay1tsme
c92ede9e55
tui: add edit user view
2025-09-17 12:38:14 -04:00
Hay1tsme
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
Dniel97
41dbf4fb78
chuni: add int datatype to user foreign key
2025-09-01 23:03:18 +02:00
Dniel97
415bbc92b3
chuni: add userbox sub trophy, fix unlock challenge
2025-08-31 19:49:06 +02:00
Dniel97
91f06ccfd2
chuni: initial verse support
2025-08-19 19:26:08 +02:00
SoulGateKey
611806828a
add Gate 5,6 judgement
2025-05-15 08:19:42 +08:00
SoulGateKey
8b050e89eb
fix conflict mark
2025-05-15 03:53:42 +08:00
SoulGateKey
a2a333b13f
Merge remote-tracking branch 'origin/prism_plus_support' into prism_plus_support
...
# Conflicts:
# titles/mai2/index.py
2025-05-15 02:45:56 +08:00
SoulGateKey
f70af35343
Merge branch 'refs/heads/develop' into prism_plus_support
...
# Conflicts:
# core/data/alembic/versions/16f34bf7b968_mai2_kaleidx_scope_support.py
# core/data/alembic/versions/5cf98cfe52ad_mai2_prism_support.py
# core/data/alembic/versions/5d7b38996e67_mai2_prism_support.py
# core/data/alembic/versions/bdf710616ba4_mai2_add_prism_playlog_support.py
# titles/mai2/index.py
# titles/mai2/prism.py
# titles/mai2/read.py
# titles/mai2/schema/static.py
2025-05-15 02:41:55 +08:00
Hay1tsme
a74ca85300
allnet: fix playhistory
2025-04-24 23:56:19 -04:00
Hay1tsme
eea9ca21ca
allnet: basic playhistory
2025-04-24 23:04:01 -04:00
Hay1tsme
ce475e801b
allnet: save billing traces
2025-04-17 20:11:33 -04:00
Hay1tsme
e16bfc713a
chuni: add opt to reader
2025-04-08 00:41:49 -04:00
SoulGateKey
1e7f367d0f
Merge pull request 'develop' ( #9 ) from develop into prism_plus_support
...
Reviewed-on: https://gitea.tendokyu.moe/SoulGateKey/artemis/pulls/9
2025-04-08 04:37:17 +00:00
SoulGateKey
703068e965
delete unused alembic file
...
create new alembic file
2025-04-08 08:11:01 +08:00
SoulGateKey
73fa77368d
Merge branch 'refs/heads/develop' into prism_support
2025-04-08 11:32:49 +08:00
Hay1tsme
1cab68006d
add opt static tables
2025-04-07 18:31:11 -04:00
SoulGateKey
d598c8fba0
add prism+ playlog support
2025-04-07 09:15:29 +08:00
SoulGateKey
dd10508e68
unused database deleted
2025-04-04 09:12:08 +08:00
SoulGateKey
c0df7cd084
database support for prism
...
kaleidxScope Key Condition store
2025-04-04 09:10:41 +08:00
SoulGateKey
f8888c2392
add prism+ playlog support
2025-04-02 12:42:40 +08:00
SoulGateKey
cc7afa6b67
database add kaleidx scope support
2025-04-02 11:57:08 +08:00
SoulGateKey
d77d02c2dd
database add Mai2Prism support
2025-04-02 06:42:28 +08: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
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
0f52b89033
remove deprecated warn
2025-02-21 23:51:59 -05:00
akanyan
fa667d15f2
ongeki: proper handling of music ranking list
2025-01-06 18:39:49 +00:00
beerpsi
d6d98d20cb
fix: typing shenanigans
2024-12-12 20:47:34 +07:00
beerpsi
476a911df9
[database] fix invalid transaction being left open
2024-11-25 20:13:51 +07: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](https://gitea.tendokyu.moe/Hay1tsme/artemis/src/commit/2274b42358d9ef449ca541a46ce654b846ce7f7c/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
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