Skip to content

Integration check: all 3.3.0 feature PRs together (do not merge) - #68

Closed
professorDeveloper wants to merge 23 commits into
next/3.3.0from
check/next-3.3.0-all
Closed

professorDeveloper wants to merge 23 commits into
next/3.3.0from
check/next-3.3.0-all

Conversation

@professorDeveloper

Copy link
Copy Markdown
Owner

This branch merges all ten feature PRs into next/3.3.0: #63, #59, #58, #62, #64, #61, #60, #65, #66 and #67. CI then checks that they build and pass tests together, not only one at a time.

…swers the TV remote

Speech is initialised on the first mic tap instead of when search opens, and
the button no longer disappears. The dialog now shows distinct states for no
speech, a refused microphone permission (with a link to the app's settings),
a missing recogniser, and network or recogniser errors, with a retry where it
can help. The recogniser locale follows the app language when the device has
it. The mic stays next to the clear button once the field has text, and the
remote's search and voice keys start voice search on Android TV.
Pick which sources to install from a repo, remove or disable single
sources, review updates before applying them, and filter the installed
list by type and language. Removed sources stay out of later refreshes,
and removing a source or repo clears its cached code and settings.
Catalog rows install just their own source.
Try another source > Auto now says which source it is checking and how
far through it is, can be stopped, gives up after 20 candidates, and lists
what it skipped and why. The walk lives in AutoResolveWalk so it can be
unit tested.

In the player, an automatic ladder step uses the server switch overlay
(from -> to, attempt x of y against RetryPolicy) with a Stop that leaves
the player on its error screen. Stop is reachable by D-pad on TV.
On-device OCR with ML Kit (Android and iOS), bubbles merged from nearby
text blocks, one translateLines request per page with docKey
manga:<chapterUrl>:<page>. A preview offers Apply, Show original and
Cancel; applied overlays are kept per chapter and page in memory and on
disk. The reader settings gain a page translation language and an
optional translate-as-I-read switch.
…tting, shorten the splash

- Keep a salted PBKDF2 verifier per account and profile after the server
  accepts a PIN; use it, with the app lock's backoff, only when the server
  can't be reached. Cleared on sign-out, PIN change or removal, and delete.
- Offer fingerprint / Face ID per profile after the first PIN entry.
- Add 'Ask who's watching on launch' to Manage profiles; off opens the last
  profile, unless it has a PIN.
- Don't re-ask the active profile's PIN within the same run.
- Splash hurries to its fade once the route is known (800 ms minimum) and
  doesn't wait on the profile list when offline.
- Move PIN hashing, backoff and biometrics into shared app_lock helpers.
Repos are added by their index.json link (raw GitHub or gist only) and read
through /extension-repos/zangetsu. Installed sources register as client
providers whose extractor is the composed /extractors/zangetsu-ext bundle.
Sozo's own providers win on any id clash, and sources the backend marks as
built in are shown but never installed.
About lists everyone who has committed to the public Sozo repos, from
GET /api/contributors, with the last list cached in Hive for offline.

After seven finished episodes a dismissible card on Home or Detail asks
for a GitHub star. Later snoozes it for twenty more episodes; Star or
Don't ask again ends it. The update dialog gets a small star button.
The player gets React and Comments buttons. Comments opens the episode's
own thread (side panel on landscape, TV and desktop, bottom sheet on a
portrait phone). React opens an eight-emoji bar with a short text option
and posts at the current second.

Other viewers' reactions pop up in a lane at the start edge, grouped and
capped at three on screen, with a heatmap strip over the seek bar. Both
can be turned off in player settings.

Comments can be marked as spoilers and are blurred until tapped. A new
setting, on by default, also blurs comments about episodes the viewer
has not finished, using watch history. The episode list shows a comment
count per episode when there are any.

Title-level comments, and apps without this change, behave as before.
A progress page with the level ring, recent XP and a locker for avatar
frames, titles and name colours. Watch time goes to the server every ten
minutes while playing and when the app goes to the background, as each
day's running total so a retry adds nothing. Comment authors, social
cards, activity cards and the profile header show the frame, name colour
and level. A level-up is celebrated by the achievement celebration host.
Nothing shows until the server answers /progress.
- Lobby host card: room size, host-only playback, lock room, wait for
  everyone, all live over party:settings
- Invite friends sheet on the existing invite endpoint, with per-friend
  cooldowns
- Make host / remove from party from the member bar (tap, long-press or
  D-pad), and a buffering badge per member
- Chat history from party:state plus joined/left/host/removed lines
- party:ping clock offset re-bases each sync so a slow link no longer
  trails the host by its one-way trip
- Guests report buffering; with wait for everyone on, the host holds up
  to 15 s for a guest stuck over 3 s
- A party invite opened while signed out is kept through sign-in or
  first-run setup and opens once afterwards
- apple-app-site-association now lists /party/*, /link/* and /pair/*
An is-check does not promote CommentsRepository to an unrelated
interface, so the scoped calls did not resolve.
Jumping from 10 s to 13 s in one tick is a seek, which correctly
restarts the window.
# Conflicts:
#	assets/translations/ar.json
#	assets/translations/ckb.json
#	assets/translations/de.json
#	assets/translations/en.json
#	assets/translations/es.json
#	assets/translations/fr.json
#	assets/translations/hi.json
#	assets/translations/id.json
#	assets/translations/ku.json
#	assets/translations/nl.json
#	assets/translations/pt.json
#	assets/translations/ru.json
#	assets/translations/tr.json
#	assets/translations/uz.json
#	assets/translations/vi.json
#	assets/translations/yue.json
# Conflicts:
#	assets/translations/ar.json
#	assets/translations/ckb.json
#	assets/translations/de.json
#	assets/translations/en.json
#	assets/translations/es.json
#	assets/translations/fr.json
#	assets/translations/hi.json
#	assets/translations/id.json
#	assets/translations/ku.json
#	assets/translations/nl.json
#	assets/translations/pt.json
#	assets/translations/ru.json
#	assets/translations/tr.json
#	assets/translations/uz.json
#	assets/translations/vi.json
#	assets/translations/yue.json
# Conflicts:
#	assets/translations/ar.json
#	assets/translations/ckb.json
#	assets/translations/de.json
#	assets/translations/en.json
#	assets/translations/es.json
#	assets/translations/fr.json
#	assets/translations/hi.json
#	assets/translations/id.json
#	assets/translations/ku.json
#	assets/translations/nl.json
#	assets/translations/pt.json
#	assets/translations/ru.json
#	assets/translations/tr.json
#	assets/translations/uz.json
#	assets/translations/vi.json
#	assets/translations/yue.json
@professorDeveloper

Copy link
Copy Markdown
Owner Author

Combined into one PR against release/3.2.1.

@professorDeveloper
professorDeveloper deleted the check/next-3.3.0-all branch November 7, 2026 13:16
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.

1 participant