feat(merge): cherry-pick alpha.4 from bliss-upstream into main#2
Merged
Conversation
When nodes are removed: - Clear hover_node_id if it was set to the node being remove - Clear active_node_id if it was set to the node being removed - Remove snapshots for removed nodes to prevent stale snapshot panics Co-Authored-By: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
…ioxusLabs#350) Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
…ioxusLabs#360) wasted work when the early exit fires. (Also keeps the variable definition next to its usage) Use GenericTextIdent::zero() instead of manually constructing the default so verbosely Changed unwrap_or to unwrap_or_else to avoid eagerly constructing the default value on every call
* Move text_indent computation down to right before it's use to avoid wasted work when the early exit fires. (Also keeps the variable definition next to its usage) Use GenericTextIdent::zero() instead of manually constructing the default so verbosely Changed unwrap_or to unwrap_or_else to avoid eagerly constructing the default value on every call * Show errors in the UI I opened a page, has mistyped the url and wondered why nothing happened, until I checked the logs. Admittedly this is not nice, but it's something and a base for discussion. * PR feedback
* Implement the view-source menu-item from DioxusLabs#363 This allows to, well, view the source code of the current document. Trade-Off: We store the entire source as a Signal<String> ... an alternative would be to refetch it. * PR feedback
Co-authored-by: Austin M. Reppert <austinmreppert@protonmail.com>
* Implement the view-source menu-item from DioxusLabs#363 This allows to, well, view the source code of the current document. Trade-Off: We store the entire source as a Signal<String> ... an alternative would be to refetch it. * Implement the "capture screenshot" menu-item from DioxusLabs#363 * PR feedback * Make rfd optional and only enable it on desktop platforms (hopefully... just winged that, have no ios/android experience) * Use async file dialog (fixes crash on macos) Signed-off-by: Nico Burns <nico@nicoburns.com> * Make rfd dependency optional Signed-off-by: Nico Burns <nico@nicoburns.com> --------- Signed-off-by: Nico Burns <nico@nicoburns.com> Co-authored-by: Nico Burns <nico@nicoburns.com>
dx's style preprocessing seems to choke on the commented out code.
…sLabs#440) Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Upgrade to WGPU v29 + Vello with font embolden * Use AnyRender that marks override textures as dirty Signed-off-by: Nico Burns <nico@nicoburns.com> * Implement custom wgpu textures for Vello Hybrid * Upgrade to released version of vellos * Use AnyRender 0.10 from crates.io Signed-off-by: Nico Burns <nico@nicoburns.com> --------- Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Sync upstream blitz into the bliss-upstream staging branch. 167 commits pulled from DioxusLabs/blitz main between 2026-02-14 (last sync at eeaa993) and 2026-05-18 (8ef723e). Net 12,155 insertions / 3,516 deletions across 154 files. Highlights from the upstream window: - 0.3.0-alpha.3 + alpha.4 version bumps; MSRV raised to 1.89 - Migration from direct vello workspace dep to anyrender_vello abstraction; vello_hybrid now default renderer - Renderer precedence chain introduced - New apps/browser/persistence subcrate; new examples seven_guis + wasm_hello - AbortSignal carried on every sub-resource Request for document-scoped fetch cancellation - decode_font_bytes + build_single_font_ctx helpers added - 4 conflict resolutions (all clean additive): - Cargo.toml workspace.members: kept upstream's set + re-added packages/blitz-mustang (exo addition) - Cargo.toml workspace.dependencies: took upstream's =0.3.0-alpha.4 pin scheme + re-added blitz-mustang line - blitz-dom/src/document.rs: kept both HEAD's script_engine + event_sink + events_enabled fields AND upstream's abort_signal - blitz-dom/src/lib.rs: deduped Point export, kept both HEAD's script + form re-exports AND upstream's decode_font_bytes + build_single_font_ctx - Cargo.lock: took upstream's version (deps changed too much to hand-merge; cargo will regenerate on next build) ## packages/blitz-mustang temporarily disabled blitz-mustang (exo-side addition from 599ab15 "Port Mustang, Scripting, and Forms") still imports use vello::Scene directly, but upstream blitz removed the direct vello workspace dep in alpha.4 in favor of the anyrender_vello abstraction. Commented out packages/blitz-mustang from workspace.members and the workspace.dep line to keep this sync buildable. Re-enable as a follow-up arc once mustang migrates to anyrender_vello (or re-adds vello as an exo-only workspace dep at a compatible version). ## Verification cargo check --workspace clean on the merged tree — 0 errors, 13 workspace members (all blitz packages + dioxus-native + dioxus-native-dom + wpt/runner + 5 examples + apps/{browser,readme}). 1m 24s cold build. ## Status bliss-upstream branch is now current with blitz upstream + retains the Port Mustang/Scripting/Forms additions on top (with mustang temporarily-disabled at workspace level). Ready to push to nixpt/bliss-engine for next session to evaluate cherry-pick into main.
Cherry-picks the alpha.4 state from DioxusLabs/blitz into bliss-engine main via the bliss-upstream staging branch (synced in commit b701845). Brings bliss main from 0.2.99 → 0.3.0-alpha.4 with all upstream changes applied (rename-aware merge: blitz-* → bliss-* throughout) and all bliss exo-specific additions preserved. ## Workflow 1. Foreman branched off main as agent/foreman/s189-bliss-alpha4-cherrypick. 2. `git merge bliss-upstream -X find-renames=30%` — rename detection successfully mapped most packages/blitz-X/ → packages/bliss-X/. 3. 34 modify/delete conflicts: bulk `git rm` to preserve bliss's deliberate deletions of apps/, examples/* subdirs, wpt/, and the dioxus-native* packages. 4. Top-level Cargo.toml + 5 per-package Cargo.toml conflicts: hand-merged to keep bliss naming + take alpha.4 version (=0.3.0-alpha.4 pin scheme) + take alpha.4 dep versions + drop dioxus-native workspace entries (not in bliss main). 5. 18 source-file conflicts resolved by delegated code agent: bliss-prefix identifiers everywhere, additive merge of HEAD's exo additions (script_engine, event_sink, events_enabled, BlissShellEvent vs BlitzShellEvent, etc.) with upstream's alpha.4 additions (AbortSignal, decode_font_bytes, build_single_font_ctx, AppleStandardKeybinding, UserSelect-aware drag, BlissPointerId rename, two-lifetime BlissDomPainter, CustomWidgetSceneMap, KeyboardOrTextInputEvent, etc.). 6. Post-resolution cleanup: removed upstream-added files in bliss-deleted directories that the merge created without conflict (apps/browser/*, examples/{seven_guis,wasm_hello,counter,todomvc,wgpu_texture}/*, packages/{blitz-mustang,dioxus-native,dioxus-native-dom}/*, wpt/runner/*, HOWTO_WASM.md, examples/{custom_widget.rs,rowspan.html}, docs/architecture.mmd, .github/workflows/publish-browser.yml). 7. Two leftover bliss-rename misses: packages/bliss-html/Cargo.toml had stale blitz-dom/tracing feature ref; packages/bliss-dom/src/lib.rs had duplicate mod script declarations and duplicate script::* re-exports. Both fixed. ## Verification `cargo check --workspace` clean: exit 0, 0 errors, 1 pre-existing warning (stylo_taffy macro unused_variables under no-tracing default; also present on bliss main before this merge; will be fixed by an optional bliss-engine#2 follow-up that backports the macro-arg-consume fix already shipped to DioxusLabs#443). Bliss packages built green: bliss-dom, bliss-paint, bliss-html, bliss-shell, bliss, bliss-net, bliss-traits, accesskit_xplat, debug_timer, stylo_taffy. 5.16s incremental rebuild on top of the warmed cache from the staging-branch verify. ## Net diff 60 files changed, 4,519 insertions, 1,970 deletions. Most of the line count is in bliss-dom (the document/events/layout/mutator/stylo modules) where alpha.4's additive changes landed. ## Open follow-ups (parked, not blocking) - stylo_taffy macro warning (bliss-engine#2 candidate). - DioxusLabs#443 still pending external review (independent). - The blitz-mustang exo-side addition stays in workspace as a member but needs anyrender_vello migration before it builds — same status as bliss-upstream branch noted in commit b701845. ## Carry-forward note Following Captain's hard-fork doctrine: `bliss-upstream` branch remains the staging area for future blitz syncs. Next sync = same pattern (pull blitz into bliss-upstream, then cherry-pick into main with rename detection).
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.
Summary
Brings bliss-engine
mainfrom0.2.99→0.3.0-alpha.4by merging thebliss-upstreamstaging branch (which itself just synced 167 commits fromDioxusLabs/blitzmain — merge commitb7018453). Rename-aware merge: all upstreamblitz-*→bliss-*identifiers and package names; both sides' additions preserved.Phase 1 of this arc was the bliss-upstream sync (commit
b7018453onbliss-upstreambranch). This PR is Phase 2 — the cherry-pick intomain.Workflow
mainasagent/foreman/s189-bliss-alpha4-cherrypick.git merge bliss-upstream -X find-renames=30%— rename detection mappedpackages/blitz-*→packages/bliss-*automatically for the bulk of files.git rmto preserve bliss's deliberate deletions (apps/,examples/{seven_guis,wasm_hello,counter,todomvc,wgpu_texture}/,wpt/,packages/dioxus-native*/).=0.3.0-alpha.4pins + alpha.4 dep versions + drop dioxus-native workspace entries.script_engine,event_sink,events_enabled,BlissShellEvent,script,form) with upstream's alpha.4 additions (AbortSignal,decode_font_bytes,build_single_font_ctx,AppleStandardKeybinding, UserSelect-aware drag,BlissPointerIdrename, two-lifetimeBlissDomPainter,CustomWidgetSceneMap,KeyboardOrTextInputEvent).packages/bliss-html/Cargo.tomlhad staleblitz-dom/tracingfeature ref;packages/bliss-dom/src/lib.rshad duplicatemod scriptdeclarations + duplicatescript::*re-exports.Test plan
cargo check --workspaceclean: exit 0, 0 errorsvendor/bliss-enginesubmodule pin can bump in a follow-up after this mergesDiff stats
60 files changed, 4,519 insertions / 1,970 deletions. Most of the line count is in
bliss-dom(document/events/layout/mutator/stylo modules) where alpha.4's additive changes landed.Notable
unused_variablesunder no-tracing default): also present on bliss main before this merge. Will be fixed by an optionalbliss-engine#2follow-up that backports the macro-arg-consume fix already shipped to feat(stylo_taffy): eliminate panic paths, add tracing feature + test suite DioxusLabs/blitz#443.blitz-mustangstays workspace-disabled onbliss-upstream(same as in commitb7018453); not inmainworkspace, so no impact here.bliss-upstreambranch as staging area is the right shape. Future blitz syncs follow the same pattern.🤖 Generated with Claude Code