ges
7b72cbafc9
refactor: inline private normalize() wrappers; use StringNormalizer.toLowerCaseRoot() directly
...
Remove boilerplate private normalize(String) wrappers from:
- ChannelDirectoryService
- ChannelSettingsService
- AccountService
- AuditLogService (keepsg normalizeFilter() which adds null-if-blank semantics)
Add StringNormalizer import to AuditLogService; remove now-unused Locale import.
2026-04-24 16:13:27 +02:00
ges
41ba1e242e
refactor: add VisualAsset.shallowCopy() to eliminate 9-field manual entity copy in previewTransform
2026-04-23 11:16:44 +02:00
ges
4b5cb6023c
refactor+test: extend StringNormalizer, migrate SystemAdministratorService, add SystemAdministratorServiceTest
...
- Add StringNormalizer.normalize() (trim + toLowerCase ROOT) for username normalization
- Migrate SystemAdministratorService private normalize() to use StringNormalizer.normalize()
- Remove now-unused Locale import from SystemAdministratorService
- Add StringNormalizerTest coverage for new normalize() method
- Add SystemAdministratorServiceTest with 10 unit tests covering all public methods
2026-04-23 11:14:02 +02:00
ges
6dabdd5662
refactor: remove hand-rolled ObjectMapper singleton in MarketplaceScriptSeedLoader; replace TODO comments with Javadoc
...
- Replace JsonSupport inner class (AtomicReference lazy singleton) with simple static final ObjectMapper field
- Replace TODO code-smell comments in TwitchEmoteService, SevenTvEmoteService, and MarketplaceScriptSeedLoader with descriptive Javadoc
- Use normalize() consistently in ChannelDirectoryService.topicFor()
2026-04-23 11:10:37 +02:00
ges
8c04b9c755
test: add StringNormalizerTest and AssetCleanupService unit tests
2026-04-21 16:36:48 +02:00
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
45fb1921da
Bump version
2026-02-09 17:15:45 +01:00
ges
ed5007538b
Add instant updates to assset transformations
2026-02-09 17:15:29 +01:00
ges
0f088dc83b
Bump version
2026-02-09 16:40:35 +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
1c118aab0c
Update AGENTS.md file
2026-02-09 16:27:59 +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
9cf25a4351
New CI
2026-01-26 18:20:46 +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
dee1f577e8
Add lichess marketplace script logo
2026-01-23 00:39:39 +01:00
ges
445c96110a
Fix command invocation
2026-01-23 00:34:31 +01:00
ges
6925e3f560
Update source
2026-01-23 00:26:51 +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
71f9e4ddaf
Add missing init() to marketplace scripts
2026-01-15 17:28:46 +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
266022e6f6
Add default staging env var
2026-01-15 17:10:36 +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
ges
8581c6a01f
Fix migration invalid syntax
2026-01-15 15:07:03 +01:00
ges
a2cae3f066
Add staging banner
2026-01-15 14:38:06 +01:00
ges
c481b105c5
Fix layering and add release ci
2026-01-15 14:36:45 +01:00
ges
d43bd985c6
Clean up dashboard ui and remove channels page
2026-01-14 17:34:26 +01:00
ges
09810706bb
fix multi-emote rendering for 7tv
2026-01-14 01:54:29 +01:00
ges
8b21334705
Sync jdk version
2026-01-14 01:39:25 +01:00
ges
9504066455
LFS
2026-01-14 01:28:34 +01:00
ges
827e6eed7a
Combo marketplace script
2026-01-14 01:26:13 +01:00
ges
5f8691e1af
Setup scheduler
2026-01-14 01:18:39 +01:00
ges
9147479b00
Add 7TV emote support
2026-01-14 01:01:16 +01:00
ges
c75ada41f9
fix migration order
2026-01-14 00:45:51 +01:00
ges
c3019a1c48
Gate twitch integration
2026-01-14 00:44:58 +01:00
ges
a267f9b5ec
Add hearts to marketplace assets
2026-01-13 23:46:09 +01:00
ges
e3580f950d
Emote cache
2026-01-13 23:45:27 +01:00
ges
f8e992029a
Update dashboard styling
2026-01-13 22:37:33 +01:00
ges
6fc0651a8f
Ignore changes to shell.nix in CI
2026-01-13 22:13:03 +01:00
ges
b78f97809e
Add git lfs to shell.nix
2026-01-13 22:12:41 +01:00
ges
c9aac6e4f1
Include twitch message metadata
2026-01-13 22:00:24 +01:00
ges
467977ddac
New sysadmin env var
2026-01-13 21:21:28 +01:00
ges
559199d4e5
Removed client dependencies from shell.nix
2026-01-13 21:11:47 +01:00
ges
8ddda451f3
Add fake frame for electron window
2026-01-13 18:41:22 +01:00
ges
8dc4cc72e8
Add kirov_reporting script asset tto marketplace
2026-01-13 18:09:52 +01:00
ges
4f1eb2fc82
Add twitch chat integration
2026-01-13 17:55:08 +01:00
ges
9abb5e88dc
Remove assets in favor of .github
2026-01-13 14:54:50 +01:00
ges
517b957c37
Add electron resize to server
2026-01-13 14:51:39 +01:00
ges
5b0ef9c606
Segregate script canvas context
2026-01-13 13:53:23 +01:00
ges
f215ef9aba
Add support for 3d models in assets and attachments
2026-01-13 13:46:28 +01:00
ges
e3d3a62f84
Add proper icons for marketplace
2026-01-13 13:33:14 +01:00
ges
ff85969da2
Update möebius strip logo
2026-01-13 13:22:52 +01:00
ges
d37ea33958
Clarify metadata json
2026-01-13 13:14:55 +01:00
ges
ea986059ba
Add additional marketplace options on launch
2026-01-13 13:12:44 +01:00
ges
94d0787b75
Add seeding to marketplace
2026-01-13 11:11:54 +01:00
ges
b34963c287
Add key generation instructions
2026-01-13 10:48:06 +01:00
ges
c4a9c5fddd
Document encryption key
2026-01-12 17:49:28 +01:00
ges
68e3a29268
Fix auth tests
2026-01-12 17:40:07 +01:00
ges
8a76ab2fb9
Ensure canvas size remains within limits
2026-01-12 17:31:38 +01:00