ges
2e6ead0382
refactor: extract ChannelAdminApiController and clean up ChannelDirectoryService
...
- Extract admin endpoint group (add/remove/list admins, suggestions) into dedicated ChannelAdminApiController
- ChannelApiController reduced from 665 to 520 lines; removes 3 dependency injections
- ChannelDirectoryService: extract resolveOrderForSort() helper from bulk-reorder comparator lambda
- Remove TODO comment from ChannelApiController (partially addressed by this split)
2026-04-21 16:32:00 +02:00
ges
3511936a29
refactor: move SchemaMigration responsibilities to Flyway migrations V13 and V14
...
- V13: create oauth2_authorized_client table and SPRING_SESSION_ATTRIBUTES upsert trigger
- V14: normalize oauth2_authorized_client timestamp columns (one-time data migration)
- SchemaMigration now only retains legacy backward-compat code for pre-Flyway databases
- Remove normalizeAuthorizedClientTimestamps() and ensureSessionAttributeUpsertTrigger() from SchemaMigration
- Add clear comment explaining SchemaMigration is legacy code only
2026-04-21 16:20:48 +02:00
ges
1a2e2344da
refactor+test: add MarketplaceService and SettingsService unit tests; use StringNormalizer in AccountService
2026-04-21 16:15:25 +02:00
ges
b6ca67d96c
refactor: eliminate code duplication across AssetPatch, OAuthTokenCipher, upload guards, SecurityConfig, and normalize helpers
...
- Add AssetPatch.forOrder() and simplify AssetPatch.fromVisibility() factory
- Replace null-chain AssetPatch constructors in ChannelDirectoryService with forOrder()
- Extract OAuthTokenCipher.buildFromKeys() to deduplicate two fromEnvironment() overloads
- Replace inline upload-size guards in createAsset/createScriptAttachment with enforceUploadLimit()
- Make script attachment content endpoint public for all channels (not just hard-coded 'gasolinebased')
- Extract StringNormalizer.toLowerCaseRoot() utility and use it in ChannelDirectoryService/ChannelSettingsService
2026-04-21 16:12:31 +02:00
ges
f62d01c30a
refactor: standardize logger field name to LOG across all production classes
2026-04-21 16:05:20 +02:00
ges
c9c5dc6eab
fix: update test to use MarketplaceService.listScripts after method was moved
2026-04-21 16:03:07 +02:00
ges
009c8f21fb
Extract ChannelSettingsService for canvas and script-overlay settings; add ChannelSettingsServiceTest
2026-04-21 15:47:25 +02:00
ges
0dd1a7418d
Extract AllowedDomainNormalizer utility; remove @Autowired, dead constants, and inline VISUAL_ASSET_TYPES duplication
2026-04-21 15:28:54 +02:00
ges
b741fb176a
Add tests for VersionService, GithubReleaseService, AuditLogService, AuthorizationService, MarketplaceScriptSeedLoader; fix duplicate import in ChannelDirectoryService
2026-04-21 15:23:40 +02:00
ges
3bcd6d6747
Add volume limiter
2026-03-13 16:36:21 +01:00
ges
e7af8907b4
Add GitInfoService
2026-03-13 15:21:53 +01:00
ges
0975c039a0
Cleanup chanenls
2026-02-13 14:16:52 +01:00
ges
c4bed3f050
Add todos
2026-02-10 13:44:21 +01:00
ges
ed5007538b
Add instant updates to assset transformations
2026-02-09 17:15:29 +01:00
ges
fe6fb68b53
Reduce repaints of asset list
2026-02-09 16:33:25 +01:00
ges
1c6d115181
Fix ordering
2026-02-09 16:28:05 +01:00
ges
d6271b1758
Deferred emote sync
2026-01-30 08:51:55 +01:00
ges
f9613c7c2f
Add emote sync
2026-01-29 16:56:20 +01:00
ges
1d48b7d5e7
Major refactor
2026-01-27 23:15:29 +01:00
ges
39bb599219
Refactor models
2026-01-27 15:40:55 +01:00
ges
ebdd9e9f18
Add missing transactions
2026-01-26 18:05:23 +01:00
ges
b57420d727
Add domain allow-list for script assets
2026-01-25 14:01:53 +01:00
ges
b115e16f11
Add text rendering and ttf support
2026-01-25 11:51:37 +01:00
ges
d22a2ca93c
Add APNG support
2026-01-25 11:38:08 +01:00
ges
92a5578e06
Add keepalive
2026-01-25 11:06:26 +01:00
ges
c96918340a
Separate audit log db
2026-01-23 18:14:09 +01:00
ges
e578007115
Remove docs chip in logout
2026-01-23 17:05:00 +01:00
ges
8c8cd0f42d
Add docs link
2026-01-23 17:03:47 +01:00
ges
6ee91c8b0c
Add social embed
2026-01-23 17:03:06 +01:00
ges
d78db75aeb
Use int values for canvas size
2026-01-23 16:33:51 +01:00
ges
f881d73dcc
Remove redundant badge
2026-01-23 16:30:30 +01:00
ges
2da8b6b81e
Pagination on audit log
2026-01-23 13:59:32 +01:00
ges
5ac181fdf2
Clean up zindex
2026-01-23 00:53:04 +01:00
ges
c25f7d9bc9
Add lichess marketplace script
2026-01-23 00:04:35 +01:00
ges
a7368d2172
Remove useless headers
2026-01-22 23:07:51 +01:00
ges
33263b685c
Normalize settings on save
2026-01-22 22:44:21 +01:00
ges
54bb2e6c49
Fix sysadmin delete
2026-01-22 22:19:39 +01:00
ges
14339bc018
Simplify settings
2026-01-22 22:12:55 +01:00
ges
5fe6f35f74
Remove dimension input
2026-01-22 22:11:19 +01:00
ges
118e94120a
Respect app settings in console
2026-01-22 22:07:09 +01:00
ges
10a7f5675d
Use ffmpeg
2026-01-22 21:53:36 +01:00
ges
a8c4c97294
Restructure dashboard
2026-01-22 21:43:51 +01:00
ges
a46091f8cc
Remove button box shadow
2026-01-19 17:58:55 +01:00
ges
dcf7ac8c67
Align marketplace tiles
2026-01-19 17:57:15 +01:00
ges
a682926104
Improve "heart" ui
2026-01-15 17:31:08 +01:00
ges
a0c007606b
Improve text overflow
2026-01-15 17:26:15 +01:00
ges
04800a0c09
Add fragile layering system
2026-01-15 17:16:55 +01:00
ges
18dff66373
Add audit log
2026-01-15 16:19:09 +01:00
ges
10507c070e
Openapi read oauth url from properties
2026-01-15 16:09:48 +01:00
ges
92c731a30f
Add account deletion
2026-01-15 15:35:19 +01:00