[Feature]: Shareable settings via URL
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 45/100
Research direction
Start by reading the ROADMAP entry and tracing how settings are initialized, stored, and used by the export controls. Then identify where the existing Copy button and startup logic are implemented. Done means the proposed settings can be encoded in the URL hash, restored on startup, and shared with a link while keeping code client-side; the issue does not name specific files or tests.
Written by the indexing model from the issue text.
Description
Problem
There is no way to share or bookmark a configuration. Every page load starts from the same defaults, so a specific setup (code, language, theme, font, scale, frame options) cannot be linked to a colleague, saved as a bookmark, or embedded in documentation. The ROADMAP lists this under "Gaps found while reading the repo".
Proposed solution
Encode the current settings into the URL hash (for example #code=<base64>&lang=rust&theme=dracula&scale=2) and read them back on startup. A "Copy link" button next to the existing Copy button, or a share action in the export section. The hash keeps everything client-side and avoids server round-trips.
Scope suggestion for a first version: code, language, theme, font, scale, window frame, line numbers, background preset. Omit localStorage-backed UI theme and filename template.
Alternatives considered
- Query string parameters: same idea, but the hash never reaches a server, which matches the privacy-first posture.
- Export/import a JSON settings file: more friction for casual sharing.
- Do nothing: the tool remains session-only by design, but the ROADMAP explicitly lists this as a gap.
Project constraints
- This keeps everything client-side (no backend, no server-side processing; code never leaves the browser).
- This does not introduce a DOM-screenshot library (html2canvas, dom-to-image); rendering stays on Canvas2D/SVG.
- This respects resolution honesty: the export canvas is drawn at true scale and never upscaled after the fact.
- Dominant language
- Rust
- Stars
- 1
- Forks
- 0
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 5
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from suradet-ps/codeframe
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
suradet-ps/codeframe#40 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
suradet-ps/codeframe#35 ·
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
suradet-ps/codeframe#36 ·
Maintainers usually reply within 1 day
-
[Bug]: Target width input clamps the value on every keystrokePossibly taken @AnushreeKasturi claimed this 1 day ago. Openbug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
suradet-ps/codeframe#37 · 2 comments ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
suradet-ps/codeframe#38 ·
Maintainers usually reply within 1 day
All issues in suradet-ps/codeframe
Similar issues
-
area:ecosystem documentation
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Chelis-Lang/chelis#3866 ·
Maintainers usually reply within 1 day
-
bug documentation sev-0
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
dekobon/big-code-analysis#1620 ·
Maintainers usually reply within 3 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100