Commit Graph
100 Commits
Author SHA1 Message Date
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