Save draft in localstorage if runbox7 is offline

Open
#1,640 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
angular, typescript
Domain
frontend

Research direction

Start at the message composition and draft-saving entry points, then trace how the app handles offline state and draft persistence. The issue proposes browser local storage or a similar local fallback, but does not identify files or tests; first locate those flows and check existing offline tests. Done means a drafted message remains available after the API or connection goes down and navigating away from drafts does not lose it.

Written by the indexing model from the issue text.

Description

enhancement P3-medium

Is your feature request related to a problem? Please describe.
When the internet connection (or Runbox API) goes down intermittently, a drafted message is not saved anywhere. With as little as clicking away to another folder and back to drafts, the typed in content is lost.

Describe the solution you'd like
When Runbox7 is offline, a draft should be saved locally (in browser's localStorage or similar), so that the typed in message is not completely lost.

Describe alternatives you've considered
Perhaps it's a sensible failsafe to save drafts in both places at the same time. This could lead to conflicts if the versions diverge, so they'd either need a timestamp (timezone-agnostic, just in case :)), a heuristic like "longer draft wins" (could backfire) or a "which draft do you want to use" screen (lots of work for an edgecase).

Additional context
Happy holidays!

Dominant language
TypeScript
Stars
132
Forks
55
Avg merge
6d 17h
Merged PRs (30d)
1

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from runbox/runbox7

All issues in runbox/runbox7

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.