Repository navigation
Bump next from 16.4.0 to 16.4.1 in /website - #65
Open
dependabot[bot] wants to merge 367 commits into
Open
dependabot[bot] wants to merge 367 commits into
dependabot[bot] wants to merge 367 commits into
Conversation
… Thanks to Codacy and detekt for helping out.
…dExpression and UnsafeCallOnNullableType.
…mentedPublicClass, LabeledExpression and UnsafeCallOnNullableType.
Update Work Manager.
…ithout changing the manifest.
…st is now deprecated).
… to hard coded const val.
…ved overall code.
…duced shared transitions, fixed a few bugs (empty url on dialog not showing error, coroutines scope doesn't work fine with dialogs, visibility button on text diff is gone (hopefully forever)). Also, WorkManager was updated and should fix additional bugs. Everything is more fluid and faster than ever before.
… some methods and made app restore on the same position work perfectly.
Change previews
- Replace linear progress bars with placeholders that hold the final layout
- Give each tile a single highlight (After border) and fade the page around
the change instead of drawing a second outline inside the border
- Show one tile for new or removed areas, like the reader's change cards
- Show the change count under previews on Home, page details and Turbo
- Use Before/After everywhere instead of Before/Now
Reader
- Open on the changes Home already found; show the slider with "Finding
changes" only when none are known yet, instead of a one-off split view
- Keep dates, mode buttons and the bottom bar consistent across modes and
for single saved versions; Share no longer pops in late
- Match the app's date wording ("Oct 14, 2026, 12:41 AM → Today, 7:00 PM")
- Move the version sheet into its own file and simplify its thumbnails
Elsewhere
- Avoid title and icon flashes on launch and while pages load
- Move "Send report" into Settings > Help; fix Turbo's Stop button colours
- Drop the duplicate title on Watch a page
- Remove about 1,800 lines of unused code
Screenshot and text checks track each page load's requests in memory, so a TLS error is classified as the main document or a sub-resource, and by how its origin relates to the page (no URLs are kept in reports). Captures are re-validated before they are saved or promoted to a baseline, including in the interactive browser. Adds a local TLS test server and fixture for device tests.
A shared diagnostics report showed a page that loaded fine (HTTP 200, DOM ready) but failed every screenshot check: an image or frame from another host had an untrusted certificate, and checks treated any TLS error as fatal, while the interactive browser had saved the first version. Certificate errors are still always refused. Now only the page itself, or a redirect of it, invalidates a capture; a refused sub-resource is left out, as Chrome does. URLs never seen by shouldInterceptRequest (server redirects) block until the page commits or while a main-frame navigation is in flight. The interactive browser follows the same rule. Diagnostics mark each TLS error as blocking or refused, name what failed in the summary, count refused resources, and log at most three per check.
Home cards, the Pages list and Activity mark every match in a page's name with the same highlight used for new words in a change. When only the address matches, the row shows the address with the match marked, so each result explains itself. The design review tour now captures search.
- Keep exception class names in release builds (names only, never
messages), so reports read "JobCancellationException" instead of "gg2"
- Recognise JSON errors by type rather than by a class name the shrinker
could rename
- Name certificate problems ("Untrusted", "Expired", "Wrong host") and give
the latest TLS failure its own summary line
- File late certificate callbacks under the step that was running
- Record the page's own HTTP status in browser checks, read from
Navigation Timing, since WebView only reports failing statuses
- Count checks, previews and first versions separately, with cancellations
Secure connections
- Name TLS failures as their own problem ("Secure connection failed") in
checks, previews and the add flow, recognised by exception type so release
builds classify them too; previews also tell connection failures apart
- Clearer advice when a page cannot be reached
Screenshot backdrop
- Browser captures render on a white canvas, and transparent pixels are
flattened onto white before comparing, so a page's transparent
background can no longer produce a change on its own; older captures are
compared the same way
- The reader shows screenshots on the same white canvas
Tests cover capture recovery after failures, transparent and white pages
before and after a failed check, and older transparent captures. The
recovery test now fails checks with a redirect to an untrusted host, since
an embedded resource with a bad certificate no longer fails a check.
- Delete shared/consumer-rules.pro: no build script referenced it, and a release build shows its rules are not needed (WorkManager keeps worker names; Room and kotlinx.serialization use generated code) - Version and icon-shape sheets use rememberBottomSheetState with only Hidden and Expanded, the same behaviour as skipPartiallyExpanded - The design review test uses the v2 desktop Compose test API
- The page name field uses TextFieldState. It owns its text while typing, still takes a title read from the page, and remembers the last value it sent so an older echo can never overwrite newer keystrokes - The picker's Smaller/Larger slider uses SliderState: the thumb moves as it is dragged, follows the page when the picked part changes, and resets its range for a new element - Desktop tests cover both; a device test waits for the review step to appear instead of assuming one frame is enough
Measured on real pages (repeated captures seconds apart through the check path): static pages now match every time, and remaining reports on news sites are real content changes. Capture - Setup browser and fresh checks share one capture viewport, so the first check does not compare against a differently laid-out page - A capture whose layout, fonts or images are still changing is discarded as not ready instead of being saved as a change - Lazy images load up front: a capture browser may never show them, which left captures incomplete and made readiness fail on every check - Videos are hidden and animations end at once, so a frame or animation moment is never a change - "Get our app" banners near the top are removed; Wikipedia shows one at random and it pushed the whole page down on alternate checks - Before taking pixels, wait briefly for network quiet so late blocks (related articles) are captured; best effort, never fails a check Comparison - A Changed area is dropped when, at the offset where old and new rows match best, no dense cluster of differences remains: content that only moved or was redrawn a fraction of a pixel off is not a change - A check saves a version only when pixels differ and a verified area remains, with or without a minimum-change threshold Also: region failures say why (no match, excluded, empty, not visible), capture context in diagnostics, and RealPageRepeatProbe to measure repeat stability on real pages from a device.
The previous commit decided screenshot changes from the reader's areas, which drop what is too small or blank to be worth a card. That missed real changes the visual filter tests require: a page turning a faint grey, a one-row line, a flat band that changed colour. A page renders the same pixels whenever nothing moves (repeated captures of static pages differ by zero pixels), and every false change measured came with movement. So the comparison now reports whether content moved: if it did not, every differing pixel is a real change, as before; if it did, only verified areas count (not moved intact, not blank space, not pushed past a fixed-height cut, not thinner than a line of text). Flat rows do not count as moving, since a band that changed colour can pair with another one.
- Page capture awaits DOM mutations alongside network requests to properly settle dynamic content - Visual region thickness calculations use rounding to prevent missing short text edits - Add desktop unit test for real-world capture changes - Configurable capture count in real page repeat probes - versionCode 42
Always refuse invalid certificates. Abort navigation for failed main documents, but validate refused subresources against captured assets instead of rejecting the entire page. Optional scripts and frames outside the watched region no longer poison otherwise valid captures. Distinguish document replacement from TLS errors, localize its explanation, and retain representative failures in bounded diagnostic exports. Include the pending version 43 increment and an opt-in live-site diagnostic probe. Validation: 494 Android host tests; 21 emulator browser and diagnostic tests; common metadata compilation and Android device-test assembly.
… controls - Keep only a hint of the palette hue in surfaces so accents and the highlighter stand out - Stack Before/After crops full width on cards; drop the redundant single-change count - Highlight the new-change count on Home with the change marker - Reader: M3 floating toolbar with Mark read FAB, two-line version pill, modes pinned right - Compact new-version pill; no page map for a single change; fix version thumbnails - One header style, one tag style (After highlighted, Before quiet), aligned rows - Rename theme option System to Auto
…e count - About shows the launcher's monochrome mark (card centred in its frame) in the theme colours - Turbo's checking and result rows use the same grouped tiles and cards as Home - The Home count is set in the primary colour instead of a yellow marker - Bump Compose Multiplatform and Material 3 to 1.13.0-beta01
Saved versions never change, so the preview between two of them is worked out once and stored in a small bounded file. After the process restarts, Activity, Home and the version list show summaries at once instead of re-diffing every screenshot pair.
- Rows with a known preview do no work at all as they scroll into view - Headers and rows recycle only into their own kind - Larger pages so a fling does not run into the end of the loaded list
Coil already serves icons from its memory and disk caches; the 180 ms fade on every appearance made cached icons look like they were downloading again.
- The screen shows nothing for a normal preferences read; a slow one gets the delayed indicator - Saved versions shows its size as soon as that total is known, with a quiet placeholder until then
Like Activity, Settings is a tab whose entry is replaced on every switch. Its model now lives with the app, and returning shows the last values while they refresh in place instead of a loading state.
Bumps [next](https://github.com/vercel/next.js) from 16.4.0 to 16.4.1. - [Release notes](https://github.com/vercel/next.js/releases) - [Commits](vercel/next.js@v16.4.0...v16.4.1) --- updated-dependencies: - dependency-name: next dependency-version: 16.4.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps next from 16.4.0 to 16.4.1.
Release notes
Sourced from next's releases.
Commits
7217011v16.4.11798e42[cd] Allow branch to get published9571ec8[lts-active][next/image] Bumpsharp(#234)a4cea6a[lts-active][react] Improve Server Component transport protocol (#193)8df0d97[lts-active][test] Backport various deploy test fixes (#100114)ac9afcc[lts-active] Fix google tag manager e2e test, assume GTM 200s instead of 404i...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.