Skip to content

Complete NomadNet navigation and canonical Micron rendering - #148

Merged
torlando-tech merged 44 commits into
mainfrom
fix/ios-nomadnet-rngit-navigation
Aug 5, 2026
Merged

Complete NomadNet navigation and canonical Micron rendering#148
torlando-tech merged 44 commits into
mainfrom
fix/ios-nomadnet-rngit-navigation

Conversation

@torlando-tech

Copy link
Copy Markdown
Owner

Summary

  • add complete NomadNet rngit request-link navigation with canonical var_ request semantics while excluding user-entered field_ values from reusable addresses
  • preserve complete destination/path/variable addresses across copy, share, reopen, refresh, and browser history
  • align Micron rendering with canonical NomadNet behavior for true colors, resets, section palettes, arbitrary nesting, bilateral margins, link color inheritance, and block reclassification
  • recursively load partials and forms with first-wins defaults, cycle protection, active viewport/font metrics, and zero-width divider fallback
  • make the first cold NomadNet request wait boundedly for path resolution instead of requiring a manual retry

Authority and development approach

Behavior is aligned with canonical NomadNet request and Micron semantics. The feature was developed through red/green regression coverage spanning parser, rendering, request framing, address round trips, recursive document loading, viewport geometry, and cold-path resolution.

Verification

  • static contracts on the exact head: 226 passed, 1 skipped
  • focused cold-path regression on the exact head: 100/100 deterministic passes
  • full iOS suite on the production-source parent: 264/264; the exact head differs only by additional Python static assertions
  • earlier exact Micron feature head: 264/264
  • exact production and test-hardening reviews: approved
  • physical signed-device verification confirmed that the first cold request succeeds

Physical verification used a local integration artifact that also contained the separate accepted composer fix from PR #147. This PR excludes PR #147 and contains only the complete NomadNet feature stack described above.

Risk and rollback

Primary risk is behavioral compatibility across complex Micron nesting/render modes and NomadNet address/request edge cases. Regression coverage exercises canonical colors, reset behavior, recursive partials, history/reopen semantics, request payload ownership, and cold resolution. Rollback is a normal revert of this feature branch; there are no data migrations or generated artifacts.

torlando-agent Bot added 30 commits August 5, 2026 02:59
@greptile-apps

greptile-apps Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR completes NomadNet request-link navigation and substantially expands canonical Micron parsing and rendering.

  • Preserves request variables through navigation history, refresh, copy, share, and reopen while excluding entered form values.
  • Sends canonical field_ and var_ request maps directly through the RNS request framing layer.
  • Adds bounded cold-path resolution before opening a NomadNet link.
  • Adds true-color formatting, section palettes, nested layout, recursive partial rendering, form-default merging, and viewport-aware geometry.
  • Extends regression coverage across parsing, request payloads, navigation round trips, partials, and rendered UI behavior.

Confidence Score: 5/5

The PR appears safe to merge, with no concrete changed-code defect established.

Request navigation, bridge framing, parsing, rendering, recursive partial loading, and shared-address handling remain internally consistent and are covered by focused regression tests.

Important Files Changed

Filename Overview
Sources/ColumbaApp/ViewModels/NomadNetBrowserViewModel.swift Adds canonical request contexts, reproducible navigation locations, history restoration, and recursive partial/form handling without an accepted defect.
Sources/ColumbaApp/Models/MicronParser.swift Expands block reclassification, persistent formatting, true-color parsing, section indentation, and literal handling with extensive regression coverage.
Sources/ColumbaApp/Views/NomadNet/MicronDocumentView.swift Implements canonical heading palettes, bilateral indentation, recursive partial rendering, and viewport-aware element geometry.
app/rns_bridge.py Waits boundedly for cold path resolution and passes exact request mappings to RNS-owned framing.
Sources/ColumbaApp/Views/Messaging/MessageBody.swift Preserves request-variable suffixes when opening shared NomadNet addresses from messages.
Sources/ColumbaApp/Services/NomadNetBrowserService.swift Separates plain fetches from exact request submissions through the focused RnsNomadnet protocol seam.

Sequence Diagram

sequenceDiagram
    participant User
    participant View as NomadNetBrowserView
    participant VM as NomadNetBrowserViewModel
    participant Service as NomadNetBrowserService
    participant Backend as RnsNomadnet
    participant Node as NomadNet Node
    User->>View: Tap request-bearing Micron link
    View->>VM: handleLinkTap(link)
    VM->>VM: "Build field_* and var_* request context"
    VM->>Service: submitRequest(destination, path, requestData)
    Service->>Backend: fetchNomadNetPage(..., formFields)
    Backend->>Backend: Resolve cold path and establish link
    Backend->>Node: RNS request with mapping
    Node-->>Backend: Micron response
    Backend-->>Service: NomadNetFetchResult
    Service-->>VM: Parsed MicronDocument
    VM->>VM: Preserve variables in location/history
    VM-->>View: Render page and recursive partials
Loading

Reviews (1): Last reviewed commit: "test: prove cold NomadNet link request" | Re-trigger Greptile

@torlando-tech
torlando-tech merged commit 948c624 into main Aug 5, 2026
4 checks passed
@torlando-tech
torlando-tech deleted the fix/ios-nomadnet-rngit-navigation branch August 5, 2026 18:01
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