Skip to content

Comments

Investigate extension install error#310

Merged
judekim0507 merged 4 commits intonook-browser:devfrom
judekim0507:dev
Feb 18, 2026
Merged

Investigate extension install error#310
judekim0507 merged 4 commits intonook-browser:devfrom
judekim0507:dev

Conversation

@judekim0507
Copy link
Member

@judekim0507 judekim0507 commented Feb 18, 2026

Summary by CodeRabbit

  • Bug Fixes

    • Enhanced extension bridge reliability, message routing, and context identity handling for improved extension compatibility
    • Improved polyfill script management and lifecycle synchronization
  • Chores

    • Removed support for push notifications, autofill credential provider, and web credential features
    • Updated build signing configuration

@coderabbitai
Copy link

coderabbitai bot commented Feb 18, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

The pull request updates the Xcode development team identifier from 9DLM793N9T to 8JTS5XWJJN in debug and release configurations, removes three platform entitlements related to push notifications and credential services, and substantially refactors the ExtensionManager to implement a robust externally_connectable bridge with deterministic context identity configuration and enhanced message routing.

Changes

Cohort / File(s) Summary
Xcode Project Configuration
Nook.xcodeproj/project.pbxproj
Updated DEVELOPMENT_TEAM identifier from 9DLM793N9T to 8JTS5XWJJN in both Debug and Release build configurations.
ExtensionManager Bridge and Context Architecture
Nook/Managers/ExtensionManager/ExtensionManager.swift
Major refactoring introducing bridge lifecycle management, context identity configuration (uniqueIdentifier and baseURL), externally_connectable bridge using Set-based hostname accumulation and sorting, polyfillJS enhancements with bridge readiness signaling, message routing (sendMessage/connect via bridge fallback), and configureContextIdentity invoked at multiple extension lifecycle points. Manifest patching updated to manage nook_bridge.js entries unconditionally.
Platform Entitlements
Nook/Nook.entitlements
Removed three entitlements: com.apple.developer.aps-environment, com.apple.developer.authentication-services.autofill-credential-provider, and com.apple.developer.web-browser.public-key-credential.

Sequence Diagram(s)

sequenceDiagram
    participant Page as Page World
    participant Bridge as nook_bridge.js
    participant Runtime as Extension Runtime
    participant Native as Native Implementation

    Page->>Bridge: sendMessage(message)
    Bridge->>Bridge: Check bridge readiness
    alt Bridge Ready
        Bridge->>Runtime: Forward via bridge port
        Runtime->>Bridge: Send response
        Bridge->>Page: Return response
    else Bridge Not Ready
        Bridge->>Native: Fallback to native bridge
        Native->>Runtime: Native message path
        Runtime->>Native: Native response
        Native->>Page: Return response
    end

    Page->>Bridge: connect(extensionId)
    Bridge->>Runtime: Establish bridge port connection
    Runtime->>Bridge: Port created and ready
    Bridge->>Page: Return port for two-way messaging
    Page->>Bridge: postMessage via port
    Bridge->>Runtime: Route message
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

  • #303: Implements foundational externally_connectable bridge infrastructure, patchManifestForWebKit logic, and Safari extension installation handling that directly parallels this PR's bridge architecture enhancements.

Suggested labels

in progress

Poem

🐰 A bridge built with care, through worlds so apart,
Context identities, a technical art.
Messages flowing with deterministic grace,
Hostnames sorted, each finding their place.
The nook bridge rises—resilient and bright!

✨ Finishing Touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Comment @coderabbitai help to get the list of available commands and usage tips.

@judekim0507 judekim0507 marked this pull request as ready for review February 18, 2026 18:49
@judekim0507 judekim0507 merged commit a700235 into nook-browser:dev Feb 18, 2026
1 of 2 checks passed
@jonathancaudill
Copy link
Contributor

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants