Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(client): prevent add route into the main page browser history #407

Merged
merged 1 commit into from
Mar 11, 2022

Conversation

danilowoz
Copy link
Member

@danilowoz danilowoz commented Mar 11, 2022

Problem:
The iframe assigns a new URL in a manner that adds a new entry to the browser's list of visited URLs, on Firefox.

Solution:
So, instead of manipulating the iframe dom and adding/removing the src attribute, it manipulates the iframe browser history.

Fixes #398

Useful links:

@codesandbox-ci
Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 79b9b15:

Sandbox Source
Sandpack Blog Example 1 Configuration

@github-actions
Copy link

github-actions bot commented Mar 11, 2022

Size changes

sandpack-react

Total base (gzip) Total current (gzip) +/-
160 kb 160 kb ⚠️ +6 bytes (+0.00%)
Details
Dependency name / file Base Current +/-
0 522 kb 522 kb ✅ 0 byte
main 455 kb 455 kb ⚠️ +42 bytes (+0.01%)
index.css 27 kb 27 kb ✅ 0 byte
@codesandbox/sandpack-react 70 kb 70 kb ⚠️ +45 bytes (+0.06%)
@code-hike/classer 1 kb 1 kb ✅ 0 byte
@codesandbox/sandpack-client 13 kb 13 kb ✅ 0 byte
@codemirror/state 35 kb 35 kb ✅ 0 byte
@codemirror/view 167 kb 167 kb ✅ 0 byte
@codemirror/closebrackets 6 kb 6 kb ✅ 0 byte
@codemirror/matchbrackets 4 kb 4 kb ✅ 0 byte
@codemirror/commands 24 kb 24 kb ✅ 0 byte
@codemirror/comment 5 kb 5 kb ✅ 0 byte
@codemirror/gutter 10 kb 10 kb ✅ 0 byte
@codemirror/highlight 12 kb 12 kb ✅ 0 byte
@codemirror/history 9 kb 9 kb ✅ 0 byte
@react-hook/intersection-observer 2 kb 2 kb ✅ 0 byte
@codemirror/lang-css 11 kb 11 kb ✅ 0 byte
@codemirror/lang-javascript 6 kb 6 kb ✅ 0 byte
@codemirror/lang-html 15 kb 15 kb ✅ 0 byte
@codemirror/text 13 kb 13 kb ✅ 0 byte
style-mod 3 kb 3 kb ✅ 0 byte
@codemirror/rangeset 16 kb 16 kb ✅ 0 byte
w3c-keyname 2 kb 2 kb ✅ 0 byte
@lezer/common 33 kb 33 kb ✅ 0 byte
@codemirror/language 19 kb 19 kb ✅ 0 byte
@react-hook/passive-layout-effect 191 bytes 191 bytes ✅ 0 byte
@lezer/css 9 kb 9 kb ✅ 0 byte
@lezer/html 12 kb 12 kb ✅ 0 byte
@lezer/javascript 54 kb 54 kb ✅ 0 byte
@codemirror/autocomplete 34 kb 34 kb ✅ 0 byte
@lezer/lr 31 kb 31 kb ✅ 0 byte
@codemirror/tooltip 14 kb 14 kb ✅ 0 byte
lodash.isequal 18 kb 18 kb ✅ 0 byte
codesandbox-import-utils 367 bytes 367 bytes ✅ 0 byte
react-devtools-inline 823 kb 823 kb ✅ 0 byte
webpack 487 bytes 487 bytes ✅ 0 byte
intersection-observer 13 kb 13 kb ✅ 0 byte
lz-string 9 kb 9 kb ✅ 0 byte
react-is 2 kb 2 kb ✅ 0 byte

sandpack-client

Total base (gzip) Total current (gzip) +/-
7 kb 7 kb ⚠️ +11 bytes (+0.15%)
Details
Dependency name / file Base Current +/-
main 20 kb 20 kb ⚠️ +57 bytes (+0.27%)
@codesandbox/sandpack-client 11 kb 11 kb ⚠️ +76 bytes (+0.69%)
codesandbox-import-utils 3 kb 3 kb ✅ 0 byte
lodash.isequal 18 kb 18 kb ✅ 0 byte
webpack 487 bytes 487 bytes ✅ 0 byte

@danilowoz danilowoz changed the title fix(client): iframe browser history fix(client): prevent add route into the main page browser history Mar 11, 2022
Copy link
Member

@DeMoorJasper DeMoorJasper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, don't think this will have any unwanted side-effects

Copy link
Collaborator

@alexnm alexnm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@danilowoz danilowoz merged commit 1e5230a into main Mar 11, 2022
@danilowoz danilowoz deleted the fix/history-firefox branch March 11, 2022 14:25
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.

Pages using the Sandpack component are generating 2 history entries on Firefox
3 participants