Commit Graph
100 Commits
Author SHA1 Message Date
koloml 37a8e77f97 Sonar: Replacing regular for with for..of 2026-10-17 05:48:50 +02:00
koloml 971f9b8a60 Removed unused import 2026-10-17 05:47:22 +02:00
koloml 05349feafc Sonar: Check for undefined without typeof 2026-10-17 05:47:22 +02:00
koloml 304c824045 Sonar: Explicitly marking some members as readonly 2026-10-17 05:47:22 +02:00
koloml 0eafa074f5 Sonar: Accessing/removing data attributes only through dataset 2026-10-17 05:47:22 +02:00
koloml ace783afc3 Sonar: Removed useless void 2026-10-17 05:47:22 +02:00
koloml 72a0d64809 Merge pull request #188 from koloml/bugfix/duplicating-blacklisted-tags
Tags Toggler: Prevent duplicated tags from appearing, only reveal existing blacklisted tags
2026-10-17 05:46:29 +02:00
koloml c34c650005 Adding general guard to prevent duplicates altogether 2026-10-17 05:15:44 +02:00
koloml af348621df Only reveal invalid blacklisted tags that actually present 2026-10-17 05:15:11 +02:00
koloml 223b72d9fb Merge pull request #181 from koloml/release/0.8.0
Release: 0.8.0
2026-10-14 03:37:10 +02:00
koloml 5432e63d6e Updated dependencies (#186)
* Updated `@sveltejs/kit` from 2.65.0 to 2.70.3

* Updated `svelte` from 5.56.3 to 5.57.2

* Updated `vitest` and `@vitest/coverage-v8` from 4.1.8 to 4.1.11

* Updated `svelte-check` from 4.6.0 to 4.7.6

* Updated `sass` from 1.101.0 to 1.105.1

* Updated `vite` from 7.3.5 to 7.3.7

* Updated `@fortawesome/fontawesome-free` from 7.2.0 to 7.3.1

* Updated `@types/node` from 25.9.3 to 25.9.9

* Updated `@types/chrome` from 0.1.43 to 0.3.5
2026-10-13 21:22:30 -04:00
koloml a06fed078e Update Fullscreen Viewer showcase in README 2026-10-14 03:11:01 +02:00
koloml 221051ff41 Bumped version to 0.8.0 2026-10-14 03:10:57 +02:00
koloml 87df78730b Mark extension as supported for Firefox Android version 2026-10-14 03:10:57 +02:00
koloml c6c48b2c36 Merge pull request #184 from koloml/feature/fullscreen-tagging-profile
Upgraded fullscreen viewer with toggleable tags
2026-10-14 03:10:39 +02:00
koloml 5578e64306 Allow toggling tags in fullscreen on/off, fixing long tags lists 2026-10-14 02:43:13 +02:00
koloml 7fd5a20b2f Merge remote-tracking branch 'origin/release/0.8.0' into feature/fullscreen-tagging-profile 2026-10-14 01:46:05 +02:00
koloml 4dcddc3969 Merge pull request #185 from koloml/feature/duplicate-reports-helpers
Fixed image container not being initialized properly causing errors
2026-10-14 01:43:26 +02:00
koloml c7e1a95172 Fixed image container not being initialized properly causing errors 2026-10-14 01:40:14 +02:00
koloml ecd95d3b4f Merge remote-tracking branch 'origin/release/0.8.0' into feature/fullscreen-tagging-profile
# Conflicts:
#	src/content/components/philomena/MediaBox.ts
2026-10-14 01:31:14 +02:00
koloml f62c150724 Merge pull request #182 from koloml/feature/duplicate-reports-helpers
Staff Duplicate Reports: Additional info on ratings and source icons, mobile friendly layout
2026-10-14 01:30:21 +02:00
koloml 665057d9f3 Fixed some diff rows with excessive amount of sources breaking layout 2026-10-14 01:26:58 +02:00
koloml d75a9b434d More mobile-friendly dupe reports view 2026-10-14 01:26:37 +02:00
koloml bdac2692ce Fixed dupe reports rows detection accidentally trying to use diff rows 2026-10-14 01:25:51 +02:00
koloml 28c2f2f2e7 Merge pull request #183 from koloml/feature/unify-store-and-storage-sync
Trying to unify the preference syncing logic into single class
2026-10-14 00:58:05 +02:00
koloml d150d87d89 Fixed tags not synced to the profile toggler 2026-10-14 00:44:19 +02:00
koloml 690faa854f Added tags list and active profile tags into fullscreen viewer
Images now can be toggled with tagging profiles using fullscreen viewer
and not just with the popup over the small media box.

Submission of tag changes is still processed by the popup inside
original media box. Fullscreen viewer is just sending these changes
there and then, once it's closed, tag changes will be sent.
2026-10-14 00:42:51 +02:00
koloml a2452a5fea Extracted tags list toggler from profile popup to reuse it later 2026-10-13 22:09:45 +02:00
koloml b1c85efe03 Support updated duplicate reports table from latest Philomena update 2026-10-01 07:23:20 +02:00
koloml 34c0a11b4e Added separate class for syncing multiple preference fields with stores
This will make the sync code less boilerplate-y. Instead of manually
subscribing back and forth, this will be done inside the class in
correct order and in any amount.

Types are a bit wonky though.
2026-08-30 11:52:07 +02:00
koloml f4e92e313a Filling mapping of FA icons to different domains
Partially ported this list from the Philomena source code.
2026-08-30 07:13:21 +02:00
koloml e1b56586be Work with dupe reports list with different arguments 2026-08-30 06:30:32 +02:00
koloml b87a8a43e0 Display ratings when duplicate reports have different ratings 2026-08-30 06:23:58 +02:00
koloml d19764699f Find and modify duplicate reports, show source url icons in the diff 2026-08-30 05:44:26 +02:00
koloml f873cae544 Support creating favicon items of different types
I need that for brand icons. Without specified subtype, will point to
regular solid icons.
2026-08-30 05:27:20 +02:00
koloml c23c871337 Extracted image container into separate class for dupes
It uses the same element, and it's probably just better to extract this
logic into separate class instead of doing work in different classes.
2026-08-30 04:26:13 +02:00
koloml 38d84d0830 Merge pull request #178 from koloml/feature/test-storage-entities
Covering base entity and entities controller classes into tests
2026-08-29 21:39:46 -04:00
koloml 4eecde6b02 Merge pull request #179 from koloml/feature/bump-actions
Bumped CI action versions and set required node version to 25
2026-08-29 21:39:31 -04:00
koloml 394df69936 Merge pull request #180 from koloml/feature/store-last-user-flags
Store last seen user flags from Philomena, show warning in profiles list when user is logged off
2026-08-29 21:39:17 -04:00
koloml c268eb564d Show warning for profiles when user is not logged in 2026-06-21 21:54:20 +04:00
koloml cfb4c71f58 Capture and store last seen user flags from the booru
Main use case for these flags is to notify when something they're trying
to use will not be usable due to authorization or their role on the
site. Specifically, it will be also used later to detect when user
is a part of staff and show them staff-specific features.
2026-06-21 21:53:50 +04:00
koloml 67cd17d2b6 Force node version to be v25.x, updated lock file 2026-06-21 19:47:36 +04:00
koloml 1b4cb284da Bumped CI action versions 2026-06-21 19:31:58 +04:00
koloml 7af6124278 Cover 2 more functions in tag-utils module 2026-06-21 19:19:34 +04:00
koloml 51ea806ddc Shorten waiting timeout & interval to reduce test time 2026-06-21 17:54:08 +04:00
koloml 234db4f147 Testing internal EntitiesController class used by the entities 2026-06-21 17:52:08 +04:00
koloml 978918735d Extracted preferences & entity stubs to make them reusable 2026-06-21 16:18:11 +04:00
koloml a6eae657c7 Added comment for the storage helper instance in EntitiesController 2026-06-21 15:36:14 +04:00
koloml 9a245ed0f5 Testing StorageEntity class behavior 2026-06-21 15:31:03 +04:00
koloml 3e5266ca7b Expose storage in EntitiesController for testing purposes
- Storage can now be mocked
- Class can be loaded even if chrome storage is not present globally
- It will not throw an error if storage not found in runtime
2026-06-21 15:29:42 +04:00
koloml 515485b3b8 Merge pull request #174 from koloml/release/0.7.2
Release: 0.7.2
2026-06-20 14:17:55 -04:00
koloml f311676097 Merge pull request #177 from koloml/feature/test-preferences-api
Testing behavior of internal preferences class
2026-06-20 14:16:06 -04:00
koloml a0e52955e6 Sonar: Added readonly to private members 2026-06-20 22:10:51 +04:00
koloml 74554bc9f6 Covering cacheable preferences into tests 2026-06-20 22:03:11 +04:00
koloml 4094babc82 Bumped version to 0.7.2 2026-06-14 04:16:17 +04:00
koloml 1de2f3f97a Updated dependencies (#176)
* Updated `vite` from 7.3.1 to 7.3.5
* Updated `vitest` and `@vitest/coverage-v8` from 4.1.0 to 4.1.8
* Updated `typescript` from 5.9.3 to 6.0.3
* Updated `@sveltejs/kit` from 2.55.0 to 2.65.0
* Updated `svelte` from 5.53.12 to 5.56.3
* Updated `@types/chrome` from 0.1.37 to 0.1.43
* Updated `@types/node` from 25.5.0 to 25.9.3
* Updated `jsdom` from 28.1.0 to 29.1.1
* Updated `svelte-check` from 4.4.5 to 4.6.0
* Updated `sass` from 1.98.0 to 1.101.0
2026-06-14 04:13:36 +04:00
koloml c1c774f4bb Merge pull request #175 from koloml/feature/footer-author-head
Added avali head into the footer near the author name
2026-06-13 19:58:13 -04:00
koloml 2f5c37d21f Merge pull request #172 from koloml/bugfix/tags-in-forums-with-encoded-text
Fixed wrong parsing of tag links inside forum posts
2026-06-13 19:55:32 -04:00
koloml 3404877091 Sonar: Replacing string.match(regexp) with regexp.exec(string) 2026-06-14 03:19:54 +04:00
koloml ed3db1240c Signaling to TypeScript that match is present when function returns true 2026-06-14 03:15:51 +04:00
koloml 9a6274c815 Sonar: Marked special characters and RegExps as readonly 2026-06-14 03:13:45 +04:00
koloml b8043bace6 Merge pull request #173 from koloml/feature/update-repo-links
Updated link to repository inside the extension
2026-06-13 18:30:14 -04:00
koloml 3a31eb2519 Formatting, missing import 2026-06-14 02:05:00 +04:00
koloml ab255e535c Testing word-like operators and escaping them inside quotes 2026-06-14 02:03:41 +04:00
koloml f8758306b7 Added boost to the list of queries to test 2026-06-14 02:03:08 +04:00
koloml 7c462e1b5c Added missing coverage for "NOT" operator 2026-06-14 01:31:10 +04:00
koloml a909180798 Fixed terms not trimming out the whitespaces 2026-06-14 01:29:17 +04:00
koloml 6ceeabe170 Added tests for search query lexer 2026-06-14 01:28:37 +04:00
koloml 40aa02ff70 Fixed quoted term not processing starting & ending quotes 2026-06-14 00:32:47 +04:00
koloml 8c4c32c4bf Covering quoted term decoding/encoding behavior 2026-06-14 00:29:33 +04:00
koloml 88ebcef18a Removed imports of already global functions 2026-06-13 22:57:37 +04:00
koloml de57432594 Fixed wrong index used when checking for ) character 2026-06-13 22:46:08 +04:00
koloml 74f113412e Fixed space being mandatory before ) and ^ 2026-06-13 22:44:57 +04:00
koloml 3e0495a529 Moved parentheses check to run before dirty text content extraction 2026-06-13 22:42:57 +04:00
koloml 24d17416b5 Cover the case when first term is not a term or when nothing is there 2026-06-13 22:07:11 +04:00
koloml 736c0917c0 Reversed + → conversion with dash-encoded characters conversion
This way encoded `+` character will properly decode after other `+` were
dealt with
2026-06-13 22:01:14 +04:00
koloml f01bfe8ae0 Removed erroneous - → conversion for tag links 2026-06-13 22:00:20 +04:00
koloml 726c4dfe58 Added tests for tag name extraction from tag links & search queries 2026-06-13 21:56:31 +04:00
koloml 4142c1053b Updated links to the repository 2026-04-15 16:46:13 +04:00
koloml 7559f0a802 Added avali head into the footer near the author name 2026-04-05 22:26:58 +04:00
koloml b905ed668c Merge pull request #170 from koloml/release/0.7.1
Release: 0.7.1
2026-04-05 11:54:19 -04:00
koloml 5c26888292 Bumped version to 0.7.1 2026-04-05 19:49:28 +04:00
koloml b6329bc4ef Merge pull request #171 from koloml/bugfix/preset-cls
Presets: Preserve correct scroll position when exclusive/conditional
2026-04-05 11:48:23 -04:00
koloml 4f52906123 Extracted CLS compensation logic into separate method 2026-04-05 19:46:34 +04:00
koloml 7d41524b4a Fixed scroll jump when preset becomes hidden 2026-04-05 19:21:09 +04:00
koloml 81b3d61a20 Fixed content layout shift caused by exclusive tags warning 2026-04-05 19:15:39 +04:00
koloml dc78b2fe84 Merge pull request #169 from koloml/feature/conditional-presets
Presets: Added option to make presets conditional
2026-04-05 10:45:49 -04:00
koloml c12b00817b Compare value to undefined instead of calling typeof 2026-04-05 18:35:26 +04:00
koloml b4419b5de3 Validate exclusive and conditional as optional booleans 2026-04-05 18:33:34 +04:00
koloml 66fd093e5a Marking unchanged properties as readonly 2026-04-05 18:29:47 +04:00
koloml bc7f85eaf9 Merge pull request #168 from koloml/feature/tag-profile-popup-cancel
Tagging Profiles: Cancel pending submission in popup if user decides to cancel their changes
2026-04-05 10:27:17 -04:00
koloml 3f9412b02d A bit more concrete wording for checkbox 2026-04-05 18:27:02 +04:00
koloml a75dd098dc Show when preset is conditional in the viewer block 2026-04-05 18:18:52 +04:00
koloml a45248cebf Fixed crashing build due to missing trailing comma 2026-04-05 18:02:54 +04:00
koloml c777b57efb Merge remote-tracking branch 'origin/release/0.7.1' into feature/conditional-presets
# Conflicts:
#	src/content/components/extension/presets/PresetTableRow.ts
#	src/lib/extension/entities/TagEditorPreset.ts
#	src/lib/extension/transporting/exporters.ts
#	src/routes/features/presets/[id]/edit/+page.svelte
2026-04-05 18:01:33 +04:00
koloml 025cbaebb7 Merge pull request #167 from koloml/feature/exclusive-tags-in-preset
Presets: Added "exclusive" mode where only one tag is meant to be active at a time
2026-04-05 09:57:25 -04:00
koloml b031b88512 Fixed tags being user-selectable 2026-04-05 17:52:46 +04:00
koloml 399e75809b Display presets when tag is found or hide it otherwise 2026-04-05 17:52:35 +04:00
koloml f581f84065 Presets: Added conditional presets option
Now presets can be configured to show up only when specific tag is
provided.
2026-04-05 17:52:15 +04:00
koloml e8b0afc81f And even more renaming of popup across multiple files 2026-03-29 04:17:12 +04:00