Skip to content
This repository was archived by the owner on Aug 9, 2026. It is now read-only.

Commit 3b847ef

Browse files
authored
chore: merge mv3-ltl into main and mark it as retired (#261)
1 parent 77bc647 commit 3b847ef

8 files changed

Lines changed: 37 additions & 20 deletions

File tree

AGENTS.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@
44

55
- Make code changes on `mv2` first.
66
- `main` is the real MV3 branch.
7-
- `mv3` is retired. Do not use it as the normal MV3 source branch for new work or cross-repo sync.
7+
- `mv3` and `mv3-ltl` are retired. Do not use them as MV3 source branches for new work or cross-repo sync; `main` is the MV3 line LiveTL consumes.
88
- Do not implement feature/fix work directly on `main`.
99
- If a task starts on another branch, switch to `mv2` before editing unless the user explicitly asks otherwise.
1010
- If a task touches both HyperChat and LiveTL, HyperChat still goes first.
1111
- Cross-repo order is mandatory:
1212
1. HyperChat `mv2`
1313
2. HyperChat `main`
14-
3. HyperChat `mv3-ltl`
15-
4. LiveTL `develop`
16-
5. LiveTL `mv3-fr`
17-
6. LiveTL `release`
14+
3. LiveTL `develop`
15+
4. LiveTL `mv3-fr`
16+
5. LiveTL `release`
1817
- Never start cross-repo work in LiveTL when the HyperChat submodule also needs to change.
1918
- If the task also requires syncing YtcFilter (YTCF), do it after HyperChat `main` is updated:
2019
- merge HyperChat `main` into YTCF `master`
@@ -29,16 +28,14 @@
2928
- `order matters`
3029
- Avoid padded scopes, issue-number prefixes, and changelog-style essays in commit subjects.
3130
- A slightly dry or funny commit is fine if it is still clear at a glance.
32-
- Prefer proper merges when carrying `mv2` work into `main` and `mv3-ltl`.
33-
- Carry `main` into `mv3-ltl`. Do not treat `mv3` as the normal hop between them.
31+
- Prefer proper merges when carrying `mv2` work into `main`.
3432
- If MV3 needs follow-up adaptation, keep that as a small, explicit commit after the merge instead of rewriting history or hand-copying changes.
3533

3634
## Code Patterns
3735

3836
- Prefer editing existing modules and utilities over creating one-off files for tiny helpers.
3937
- If a helper obviously belongs in an existing shared utility file, put it there.
40-
- Put shared behavior on `mv2` first; `main` and `mv3-ltl` should usually be merge-plus-adaptation branches, not separate feature branches.
41-
- Keep `mv3-ltl` branching from the current `main` line once `main` has the intended HC changes.
38+
- Put shared behavior on `mv2` first; `main` should usually be a merge-plus-adaptation branch, not a separate feature branch.
4239
- Keep MV3 adaptation narrow:
4340
- preserve branch-specific build/runtime wiring
4441
- change only what is required for manifest/background/injection differences

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,7 @@ VERSION=X.Y.Z npm run build:firefox # just Firefox
6161
```
6262

6363
The built ZIP files can be found in the `build` directory.
64+
65+
## Release
66+
67+
Release steps for `mv2` and `main` are documented in [RELEASE_PROCESS.md](./RELEASE_PROCESS.md).

RELEASE_PROCESS.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ This repo ships from two active lines that serve different purposes.
88
2. Commit and push on `mv2`.
99
3. Merge `mv2` into `main`.
1010
4. Validate and push `main`.
11-
5. If LiveTL needs the MV3-tailored HC line, merge `main` into `mv3-ltl`.
12-
6. Create releases from each branch that actually ships.
11+
5. Create releases from each branch that actually ships.
1312

14-
`mv3` is historical. Do not route normal maintenance through `mv3` unless the user explicitly asks for branch archaeology.
13+
`main` is the MV3 line LiveTL consumes. `mv3` and `mv3-ltl` are historical. Do not route normal maintenance through them unless the user explicitly asks for branch archaeology.
1514

1615
If the same task also affects LiveTL, do not begin in LiveTL. Finish this HyperChat ladder first, then bump the LiveTL submodule chain in this order:
1716

@@ -74,4 +73,4 @@ Practical rule for `main`: bump `package.json`, commit it, then create/publish t
7473

7574
## Notes For LiveTL Sync
7675

77-
LiveTL consumes HyperChat via submodules. Keep HyperChat changes branch-aligned across `mv2`, `main`, and `mv3-ltl` so LiveTL can take them with straightforward submodule bumps in its release flow.
76+
LiveTL consumes HyperChat via submodules. Keep HyperChat changes branch-aligned across `mv2` and `main` so LiveTL can take them with straightforward submodule bumps in its release flow. LiveTL's MV2 Firefox variant tracks `mv2`; its MV3 line tracks `main`.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
"build:firefox": "cross-env BROWSER=firefox vite build",
1010
"dev:chrome": "cross-env MINIFY=false BROWSER=chrome vite build --watch",
1111
"dev:firefox": "cross-env MINIFY=false BROWSER=firefox vite build --watch",
12+
"start": "npm run dev:chrome",
13+
"start:none": "npm run dev:chrome",
1214
"start:chrome": "cross-env AUTOLAUNCH=true npm run dev:chrome",
1315
"start:firefox": "cross-env AUTOLAUNCH=true npm run dev:firefox",
1416
"lint": "npm run lint:check -- --fix",

src/components/Message.svelte

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
} from '../ts/storage';
1717
import { chatUserActionsItems, ChatUserActions, Theme } from '../ts/chat-constants';
1818
import { useBanHammer } from '../ts/chat-actions';
19+
import type { Chat } from '../ts/typings/chat';
1920
import { formatAuthorName } from '../ts/component-utils';
2021
import { mdiGift, mdiReply } from '@mdi/js';
2122

src/components/MessageRuns.svelte

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<script lang="ts">
22
import { Theme, YoutubeEmojiRenderMode } from '../ts/chat-constants';
3-
43
import TranslatedMessage from './TranslatedMessage.svelte';
54
import {
65
emojiRenderMode, useSystemEmojis

src/scripts/chat-injector.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const ensureLiveTLTranslatorHost = (): void => {
3434

3535
const script = document.createElement('script');
3636
script.id = 'hc-ltl-translator-host';
37-
script.src = chrome.runtime.getURL('chat-translation-host.bundle.js');
37+
script.src = getScriptURL('chat-translation-host.js');
3838
script.onload = () => script.remove();
3939
script.onerror = () => script.remove();
4040
(document.head ?? document.documentElement).appendChild(script);

src/ts/typings/ytc.d.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,7 @@ declare namespace Ytc {
5050
targetActionId: string;
5151
};
5252
addLiveChatTickerItemAction?: AddTickerAction;
53-
updateLiveChatPollAction?: {
54-
pollToUpdate: {
55-
pollRenderer: PollRenderer;
56-
};
57-
};
53+
updateLiveChatPollAction?: UpdatePollAction;
5854
}
5955

6056
/** Expected YTC action object */
@@ -178,6 +174,12 @@ declare namespace Ytc {
178174
accessibility?: AccessibilityObj;
179175
}
180176

177+
interface UpdatePollAction {
178+
pollToUpdate: {
179+
pollRenderer: PollRenderer;
180+
};
181+
}
182+
181183
/** Message run object */
182184
interface MessageRun {
183185
text?: string;
@@ -308,6 +310,19 @@ declare namespace Ytc {
308310
};
309311
}
310312

313+
interface EngagementMessageRenderer {
314+
message: RunsObj[];
315+
id: string;
316+
timestampUsec?: IntString;
317+
icon?: {
318+
/** Unlocalized string */
319+
iconType: string;
320+
};
321+
actionButton?: {
322+
buttonRenderer: ButtonRenderer;
323+
}
324+
}
325+
311326
interface ChatSummaryRenderer {
312327
liveChatSummaryId: string;
313328
chatSummary: RunsObj;

0 commit comments

Comments
 (0)