Skip to content

Add support for cijapanese.com#804

Merged
killergerbah merged 8 commits intokillergerbah:mainfrom
Bennycopter:cijapanese
Oct 24, 2025
Merged

Add support for cijapanese.com#804
killergerbah merged 8 commits intokillergerbah:mainfrom
Bennycopter:cijapanese

Conversation

@Bennycopter
Copy link
Copy Markdown
Contributor

Summary

This adds preliminary support for using the asbplayer extension on Comprehensible Japanese.

Motivation

Several users on our site (Comprehensible Japanese) have requested asbplayer compatibility, so I'm submitting this pull request.

Changes

  • Added extension/src/entrypoints/cijapanese-page.ts
  • Modified extension/src/pages.json
  • Modified extension/wxt.config.ts

Notes

I'm not fully familiar with using the asbplayer extension, so I'm not sure if this covers everything that's needed for it to function normally. Please let me know if there's anything missing that I can help with. 🙏

@killergerbah
Copy link
Copy Markdown
Owner

@Bennycopter Thanks for doing this! The subtitle detection seems to be working.

Can you make this change?

diff --git a/common/settings/settings.ts b/common/settings/settings.ts
index 7c4cc437..7cdeb7a8 100755
--- a/common/settings/settings.ts
+++ b/common/settings/settings.ts
@@ -310,6 +310,7 @@ export interface PageSettings {
     yleAreena: Page;
     hboMax: Page;
     stremio: Page;
+    cijapanese: Page;
 }
 
 export interface StreamingVideoSettings {

And then fix any remaining compile errors from running yarn workspace @project/extension compile:

../common/pages/index.ts:8:14 - error TS2741: Property 'cijapanese' is missing in type '{ netflix: { title: string; disableCspRuleId: number; }; youtube: { title: string; disableCspRuleId: number; }; tver: { title: string; disableCspRuleId: number; }; bandaiChannel: { title: string; disableCspRuleId: number; }; ... 14 more ...; stremio: { ...; }; }' but required in type '{ netflix: PageMetadata; youtube: PageMetadata; tver: PageMetadata; bandaiChannel: PageMetadata; amazonPrime: PageMetadata; ... 14 more ...; cijapanese: PageMetadata; }'.

8 export const pageMetadata: { [K in keyof PageSettings]: PageMetadata } = {
               ~~~~~~~~~~~~

  ../common/settings/settings.ts:313:5
    313     cijapanese: Page;
            ~~~~~~~~~~
    'cijapanese' is declared here.

../common/settings/settings-provider.ts:150:5 - error TS2741: Property 'cijapanese' is missing in type '{ netflix: {}; youtube: {}; tver: {}; bandaiChannel: {}; amazonPrime: {}; hulu: {}; disneyPlus: {}; appsDisneyPlus: {}; unext: {}; viki: {}; embyJellyfin: {}; twitch: {}; osnPlus: {}; bilibili: {}; nrktv: {}; plex: {}; yleAreena: {}; hboMax: {}; stremio: {}; }' but required in type 'PageSettings'.

150     streamingPages: {
        ~~~~~~~~~~~~~~

  ../common/settings/settings.ts:313:5
    313     cijapanese: Page;
            ~~~~~~~~~~
    'cijapanese' is declared here.
  ../common/settings/settings.ts:333:14
    333     readonly streamingPages: PageSettings;
                     ~~~~~~~~~~~~~~
    The expected type comes from property 'streamingPages' which is declared here on type 'AsbplayerSettings'

src/entrypoints/cijapanese-page.ts:11:24 - error TS2531: Object is possibly 'null'.

11             extension: track.getAttribute("src").split(".").at(-1),
                          ~~~~~~~~~~~~~~~~~~~~~~~~~

src/entrypoints/cijapanese-page.ts:17:13 - error TS2322: Type '{ id: string; label: string | null; language: string | null; url: string | null; extension: string | undefined; }[]' is not assignable to type 'VideoDataSubtitleTrack[]'.
  Type '{ id: string; label: string | null; language: string | null; url: string | null; extension: string | undefined; }' is not assignable to type 'VideoDataSubtitleTrack'.
    Types of property 'label' are incompatible.
      Type 'string | null' is not assignable to type 'string'.
        Type 'null' is not assignable to type 'string'.

17             subtitles,
               ~~~~~~~~~

  ../common/src/model.ts:173:5
    173     subtitles?: VideoDataSubtitleTrack[];
            ~~~~~~~~~
    The expected type comes from property 'subtitles' which is declared here on type 'VideoData'


Found 4 errors in 3 files.

Errors  Files
     1  ../common/pages/index.ts:8
     1  ../common/settings/settings-provider.ts:150
     2  src/entrypoints/cijapanese-page.ts:11

And finally, add the favicon for cijapanese.com to extension/public/page-favicons.

@Bennycopter
Copy link
Copy Markdown
Contributor Author

Thank you @killergerbah! :)

My PR now includes everything you asked for:

  • the change to settings.ts you requested
  • fixes for the yarn errors
  • favicon

When you update the contributors, please also add @extremq as he did a PR to my PR to help get this through quicker, lol.

Best regards

@killergerbah
Copy link
Copy Markdown
Owner

Awesome, thank you @Bennycopter !

@killergerbah killergerbah added this to the Extension v1.13.0 milestone Oct 24, 2025
@killergerbah killergerbah merged commit 035a70d into killergerbah:main Oct 24, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants