Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Nov 15, 2025

  • I agree to license my contribution under GPL-3.0 and agree to allow distribution on app stores as outlined in LICENSE-APPSTORE

To test this pull request, follow the instructions in the wiki.


Summary

This PR syncs EditTogether with the latest upstream versions:

  • SponsorBlock: 5.14 → 6.1.0 (98 commits, from 9a526c5 to 44941acb)
  • DeArrow: 2.1.8 → 2.1.11 (35 commits, from 361be0a to 13ddd1f)
  • maze-utils: e3388197 → 49dad0e6

All EditTogether branding (pencil icons, naming, server URLs) has been preserved throughout the sync.

Key Changes

Type System Fixes

To resolve TypeScript compilation errors after the merge, several type-related changes were made:

  1. Added missing config properties to match upstream DeArrow:

    • formatCasualTitles, licenseKey, paymentStatus, activated, alreadyActivated, freeActivation, freeTrialStart, freeTrialEnded, freeAccessRequestStart, freeTrialDuration, freeAccessWaitingPeriod, showActivatedMessage
  2. Fixed union type handling for thumbnails:

    • Made actualValue optional in ShowCustomBrandingInfo type
    • Created type guard functions (isCustomThumbnailSubmission, isCustomThumbnailResult) to properly narrow union types
    • Updated all thumbnail access sites to use type guards instead of direct property checks
  3. Updated function signatures:

    • Added optional headers parameter to asyncRequestToServer and sendRequestToServer
    • Added optional titleFormatting prop to YourWorkComponent for upstream compatibility

Cross-Extension Code Removal

Since EditTogether merges both SponsorBlock and DeArrow into a single extension, the following cross-extension communication code was removed:

  • crossExtension.ts module and all imports
  • dearrowPromotion.ts module and promotion logic
  • Cross-extension message handlers in background.ts

Upstream Features

This sync includes all new features and bug fixes from upstream SponsorBlock 6.1.0 and DeArrow 2.1.11. See the upstream changelogs for details.

Testing Checklist

Critical areas to test:

  • SponsorBlock features: Verify segment skipping, submission, and voting work correctly
  • DeArrow features: Verify title/thumbnail replacement and submission work correctly
  • Branding: Confirm all EditTogether branding is present (icons, naming, server URLs at sponsor.ajay.app and dearrow-thumb.ajay.app)
  • Chrome build: Extension loads and functions correctly
  • Firefox build: Extension loads and functions correctly
  • Popup UI: All tabs and features accessible
  • Options page: All settings work correctly
  • Type safety: No runtime type errors in console

Known limitations:

  • This PR includes extensive changes (98 + 35 upstream commits). Thorough testing is essential.
  • Type fixes were verified to compile but not exhaustively tested at runtime.

Link to Devin Session

https://app.devin.ai/sessions/1f8dabc5c6824a5a8717c30bc8d1894c

Requested by: Erkin Alp Güney (erkinalp9035@gmail.com) / @erkinalp

devin-ai-integration bot and others added 3 commits November 15, 2025 10:11
…..13ddd1f)

- Update to SponsorBlock 6.1.0 with 98 new commits including:
  - Skip profiles feature
  - YouTube layout fixes for new design
  - Advanced skip options improvements
  - Pride theme support
  - Better chapter handling

- Update to DeArrow 2.1.11 with 35 new commits including:
  - Title formatting improvements
  - Thumbnail renderer updates
  - YouTube layout fixes
  - Better error handling

- Preserve EditTogether branding throughout:
  - Updated manifest.json to version 6.1.0
  - Maintained EditTogether icons and branding in HTML files
  - Updated help page and options page with EditTogether identity
  - Kept EditTogether-specific configuration

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Update maze-utils to match SponsorBlock 6.1.0 requirements.
This includes fixes for background script and new exports needed by the updated code.

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
- Add svgIcons directory with icon components from DeArrow
- Add license directory with LicenseComponent from DeArrow
- Add ToggleOptionComponent and FormattedTextComponent from DeArrow
- Add logWarn function to logger for compatibility

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
@devin-ai-integration
Copy link
Contributor Author

Original prompt from Erkin
The task is to sync the code in the `erkinalp/EditTogether` repository to the latest versions of `ajayyy/sponsorblock` and `ajayyy/dearrow`. After updating, ensure that the existing EditTogether branding and user experience (UX) are preserved.

- Updates from `ajayyy/sponsorblock`
- Updates from `ajayyy/dearrow`
- Verify that the EditTogether branding remains consistent after the updates.
- Verify that the user experience (UX) of EditTogether is unchanged after the updates.
- Verify both Chrome and Firefox extension builds work.

Submit a pull request with the changes.

You only need to look in the following repo: erkinalp/EditTogether

You only need to look in the following repos: erkinalp/anticensor, erkinalp/EditTogether

@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

devin-ai-integration bot and others added 9 commits November 15, 2025 10:20
Add formatCasualTitles property to SBConfig interface and sync defaults to match DeArrow upstream requirements.

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
- Add optional headers parameter to asyncRequestToServer and sendRequestToServer
- Add optional titleFormatting prop to YourWorkComponent to match DeArrow upstream
- These changes resolve TypeScript compilation errors from upstream sync

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
- Make actualValue optional in ShowCustomBrandingInfo union type
- Add isCustomThumbnailSubmission and isCustomThumbnailResult type guards
- Use type guards in submitButton, SubmissionComponent, and thumbnailRenderer
- These changes resolve TypeScript compilation errors from upstream sync

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
- Add licenseKey, paymentStatus, and freeActivation to SBConfig
- Remove crossExtension import and DeArrow promotion code (no longer needed after merge)
- Fix TitleFormatting import in YourWorkComponent
- Add type guards to remaining thumbnail timestamp access sites

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Add freeTrialStart, freeTrialEnded, freeAccessRequestStart, freeTrialDuration, and freeAccessWaitingPeriod to match upstream DeArrow config

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Add activated, alreadyActivated, and showActivatedMessage properties to SBConfig. Fix remaining thumbnail timestamp access in dataFetching.ts using type guard.

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
…ing prop

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
@devin-ai-integration devin-ai-integration bot changed the title Sync SponsorBlock 6.1.0 and DeArrow 2.1.11 Sync upstream SponsorBlock 6.1.0 and DeArrow 2.1.11 Nov 15, 2025
@erkinalp erkinalp merged commit cf6eec9 into master Nov 15, 2025
4 checks 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.

2 participants