Skip to content

Meet Encly: introduce the successor and move all notes to it #167

Description

@pasichDev

My Notes gets a successor: Encly, a fully encrypted, offline notes app (encrypted database, PIN lock, encrypted backups). This release introduces it and lets users move everything over in one tap.

One way only. My Notes → Encly. Encly never sends anything back.

Counterpart: pasichDev/Encly#46 (the receiving side). That ships first; this button appears only when the installed Encly can receive.

Page "Meet Encly"

  • New screen reachable from the drawer (next to newVersion) and a one-time dialog on the first start of this version (reuse the what's-new flow).
  • What Encly is and what changes for the user; honest about what does not move (see open questions).
  • Encly not installed → "Get Encly" (market://details?id=com.pasich.encly, web fallback).
  • Encly installed and able to receive → "Move my notes to Encly".
  • Strings in all 11 locales.

Hand-off (contract shared with Encly)

  • <queries><package android:name="com.pasich.encly" /></queries>.

  • Before sending plaintext, check the receiver: hasSigningCertificate("com.pasich.encly", 6884c693354964276231e6d0336b965f690bf3f15a0707bb59505c208e5e7554, CERT_INPUT_SHA256) (the same certificate on Play, F-Droid and GitHub) and that it resolves com.pasich.encly.action.IMPORT_FROM_MY_NOTES.

  • Build a ZIP in cacheDir: handoff.json (format mynotes-handoff, schema: 1).

    • notes including trashed (attachment files are not sent; the page and the result say how many stay behind) (title, value, valueJson, date, tag, isTrash, isPinned), tags, tasks, task categories
    • each record with a stable id (sync_metadata.stableId, else mynotes:<type>:<id>)
    • raw data only, no mapping here
  • Explicit intent with the FileProvider URI and FLAG_GRANT_READ_URI_PERMISSION, startActivityForResult; delete the ZIP afterwards whatever the outcome.

  • Show the result counts from Encly. Nothing is deleted from My Notes automatically; offer to clear it only after a successful move, as a separate confirmed step.

  • Tests: payload builder (plain, ## Decided

  • Attachments and images do not move; the page and the result say how many stay in My Notes.

  • Nothing is deleted automatically. After a successful move, offer "Clear My Notes" as a separate step with its own confirmation.

Activity

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions