Skip to content

Move the page to /word-addin: the deploy already owns /word - #93

Merged
peopleworks merged 1 commit into
mainfrom
word-page-route
Sep 8, 2026
Merged

peopleworks merged 1 commit into
mainfrom
word-page-route

Conversation

@peopleworks

Copy link
Copy Markdown
Owner

Live on main right now, so worth merging before anything else: the Word link in the navigation leads to the task pane, not to the page written for it.

GET /SignsofAI/word   →  301  →  /SignsofAI/word/  →  the task pane

On the host a real directory beats a client-side route, and the deploy publishes the pane at /word/. So /word answers with the pane, which outside Word says it has no document to read.

Why it got through

Invisible locally — a dev server has neither directory. Invisible in the diff — the two halves live in different files: an @page in a component and a cp in a workflow. It only exists once both are deployed onto one host.

The pane keeps its address

That address is in a manifest people have already installed. The page moves to /word-addin.

Guarded at both ends of the seam

DeployedPathTests:

  • reads every @page route from the components and the pane's directory from the workflow, and fails when they collide;
  • checks the manifest's SourceLocation still points at the directory the deploy actually writes — which is the failure that made the very first install report "this add-in may not load properly."

Neither number is typed twice: the point is that the two sources are compared. Verified by mutation: put /word back and the first fails by name.

434 tests.

🤖 Generated with Claude Code

https://claude.ai/code/session_015PEbbiYSNPw7jE3LrPNhyF

The navigation link led to the task pane, not to the page written for it. On the
host a real directory beats a client-side route, and the deploy publishes the
pane at /word/ — so /word answered with the pane, which outside Word says it has
no document to read.

Invisible locally, because a dev server has neither directory. Invisible in the
diff, because the two halves are in different files: an @page in a component and
a cp in a workflow.

The pane keeps its address, because that address is in a manifest people have
already installed. The page moves.

DeployedPathTests guards both ends of the seam. One reads every @page route from
the components and the pane's directory from the workflow, and fails when they
collide; the other checks the manifest's SourceLocation still points at the
directory the deploy actually writes, which is the failure that made the first
install report an add-in error. Verified by mutation: put /word back and the
first fails by name.

434 tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015PEbbiYSNPw7jE3LrPNhyF
@peopleworks
peopleworks merged commit 97f02f9 into main Sep 8, 2026
4 checks passed
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