r/Supernote_dev

Bug: pending lasso-copy buffer gets pasted into the page when a plugin creates a programmatic lasso.

Hi all, and particularly the Supernote dev team and u/Mulan-sn,

I found another PluginHost/firmware bug, this time in the lasso pipeline.

if the user has lasso-copied something (copy buffer loaded), any plugin that creates a programmatic lasso (PluginCommAPI.lassoElements() → e.g. setLassoTitle()) triggers a phantom paste: the firmware inserts the copied strokes into the page during the plugin's lasso lifecycle. The user never asked for a paste.

Repro (100% reliable on my A5X):

  1. Handwrite anything on a note page, lasso-select it, tap Copy.
  2. Trigger any plugin that does a programmatic lasso — mine selects a zone with lassoElements(rect) and converts it with setLassoTitle({style}).
  3. The copied strokes reappear inside the plugin's lasso zone. With my plugin the pasted strokes then get styled as a heading but the paste itself is firmware-side.

Notes:

  • "Clear clipboard" does NOT help : the lasso copy buffer is separate from the text clipboard and apparently survives until something consumes it.
  • A finger double-tap alone does NOT paste (tested ×10) : the trigger really is the programmatic lasso lifecycle.
  • Proof it happens mid-pipeline: I log a full-page element census before/after. Before: 16 strokes. After: 24 strokes + my title + my text box : the copied strokes (+8) appear between lassoElements() and the end of the pipeline, and they are NOT part of the lasso snapshot (both getLassoElementTypeCounts reads report the same count).
  • Possibly related: after setLassoTitle() succeeds, setLassoBoxState(2) always fails with code 904: "No lasso action has been performed" : the lasso lifecycle seems to end in an inconsistent state.

For the Ratta team, please:

  1. Don't dispatch a pending lasso-paste when a lasso selection is created or released programmatically by a plugin.
  2. Or expose an API to query/clear the lasso copy buffer so plugins can protect themselves cleanly.

Workaround for plugin developers (ships in my plugin, works reliably, but poor UX): snapshot the page's element numbers before your lasso work, then delete any stroke that appeared during your pipeline, new strokes can only be the phantom paste (your own insertions are text/title elements, and you type-check each candidate so user content is never at risk):

// before your lasso work:
const before = new Set((await PluginFileAPI.getElementNumList(path, page)).result ?? []);

// ... lassoElements() / setLassoTitle() / your inserts ...

// after (save first):
const after = (await PluginFileAPI.getElementNumList(path, page)).result ?? [];
const parasites = [];
for (const n of after.filter(n => !before.has(n))) {
  const el = (await PluginFileAPI.getElement(path, page, n))?.result;
  if (el?.type === 0) parasites.push(n);   // strokes only — never your own title/text
}
if (parasites.length) {
  await PluginFileAPI.deleteElements(path, page, parasites);
  await PluginCommAPI.reloadFile();
}

Setup: Supernote A5X (gen 1), firmware Chauvet 2.26.39, sn-plugin-lib 0.1.43.

Happy to share full logs, the census instrumentation, or a minimal repro plugin.

Thanks!

reddit.com
u/WhoAmI1234532 — 13 hours ago

Plugin Dashboard

Hi everyone,

I am glad to present you my very first plugin : Dashboard !

It is solving my main issue with Supernote and hopefully will be usefull for others too, happy to hear your feedback !

The plugin puts a small draggable ⊕ bubble on your screen that floats over everything (notes, folders, apps…). Tap it and it opens a dashboard you build yourself from four kinds of section:

- Shortcuts — jump to a folder, a note, or a PDF in one tap

- Stars — every ★ starred page across your notes, grouped by note (tap a page → it opens right there) [you can filter which folder to scan for each area]

- Keywords — your notes' keywords as tappable chips; each chip opens that exact note and page

- Apps — launch ToDo, Calendar, Document, Search…

https://preview.redd.it/j5g9q9kq5dbh1.png?width=1920&format=png&auto=webp&s=af4fb1e7f63f19cb879797dd8f0471916187a224

Setup is a short guided wizard (layout → theme → sections → content), everything auto-saves, and there are 3 visual themes and a 1- or 2-column layout. It runs fully on-device and offline, no account, no network.

Requirements: the Supernote developer/beta firmware with the plugin system. Tested on A5X and A5X2 (Manta); built to work on Nomad too.

Install: download dashboard.snplg, drop it in your MyStyle folder, then Settings → Apps → Plugins → Add Plugin.

It's free and open source (MIT) — code, releases and a full user guide here:

👉 https://github.com/AgP42/supernote-dashboard

It's still early (v0.9.x), so bugs and rough edges are likely — please tell me what breaks or what you'd want added. A couple of known limits: PDFs open on their last page (no page-jump yet), and stars/keywords inside PDFs aren't listed (the SDK only exposes them for notes).

Hope it's useful to some of you, happy to answer any questions or make changes!

reddit.com
u/WhoAmI1234532 — 1 day ago

Supernote_Dev - Please add date/timestamp to installed plugin data on screen

Hi,

I'm in the middle of some iterative testing on a plugin, and I'm finding it very difficult to track exactly which version is loaded. Any chance you can add a date/timestamp to the Plugins screen to make this easier?

I don't want to have to bump the version every time...and we've run into problems where the plugins haven't loaded, even though the screen says they did.

reddit.com
u/Designer-Tear-6940 — 4 days ago
▲ 19 r/Supernote_dev+2 crossposts

[Plugin Update] Clipper v0.0.33

Region Clipping Demo

You can now clip image regions from your pages — not just text. Capture any part of a PDF, EPUB, or Note page and it's saved into the same clip list as your text highlights, ready to review, insert into a note, merge, filter, or search.

Highlights

  • 📸 Capture a region of any page with an interactive, e-ink-tuned crop tool.
  • 🎯 Two ways in — a dedicated header image button, or the Clip Region option after selecting a short bit of text.
  • 🧩 Mixed clips — a single clip can hold both text and images; images render inline on the card.
  • 🗒️ Insert into Notes — captured images drop into your open note in order, interleaved with text.
  • 🔢 Build label — the dashboard footer shows vX.Y.Z (build N) so you always know what's installed.

How to use it

Capture button: open the Clipper dashboard over a document/note → tap the Clip image icon (top-right, scissors with an image) → frame the region (drag to move, resize from any of the 8 handles) → Clip selected region.

From a selection: select a short phrase (≤ 5 words) → Clip → Clip Region → frame and save.

https://github.com/vmnair/sn-clipper/releases

github.com
u/vmnair — 6 days ago

Calculator plugin update!

New update release

Quick Lasso Calc

SnCalc also appears in the note lasso menu as Calc. Use it when you have a simple handwritten or typed calculation already on the page and want the result inserted without opening the full calculator panel.

  1. Lasso a simple arithmetic expression, such as 10+30= or 10.0+30.0=.
  2. Tap Calc in the lasso menu.
  3. Review or correct the recognized expression in the popup.
  4. Choose Full to insert 10+30 = 40, or Result to insert only 40.
  5. Tap Insert.

Lasso Calc supports digits, decimals, parentheses, percent, and +-×x*/, and ÷. It intentionally rejects more complex handwritten notation such as square-root symbols or spatial exponents. Results are inserted below the selected expression when there is room.

If the recognized expression needs more work, tap Open Calculator to carry it into Standard mode for editing and evaluation.

Compact / Full Panel

The calculator header includes a Compact / Full toggle.

  • Compact mode keeps mode tabs, a one-line display, and the keypad visible while hiding the larger display area and insert controls.
  • Full mode restores the larger display/register area, decimal and stamp controls, and the Insert button.

Compact mode is intended for data entry while reading from the note underneath. Switch back to Full mode when you are ready to review, adjust stamp settings, or insert the result.

See full README for details.
Sn Calc plugin

u/tao22 — 6 days ago
▲ 51 r/Supernote_dev+2 crossposts

Doc Annotations to Note Plugin

To download, please obtain the plugin file from:

https://github.com/B00kwyrmy/DocAnnotationsToNote/releases

So, I don't know about you, but I don't really study the way the Supernote is setup. I'm happy for everyone who loves their digests, but that really doesn't do it for me. Especially the process of transferring digests into notes and putting them in the right place....It's clunky to me, and takes way too much time for my level of patience.

However, I DO think the Supernote can work the way I do, and towards that end, I've created a plugin that will take any highlights, underlines, written text, circled items (IE figures and graphs), and digests , and put them all in a NOTE in the order in which they appear in the original document.

The way I envision this working for me is:

  1. I do the reading for my next class lecture. Annotations go into a note

  2. I attend the lecture, and ADD more notes to the Annotations, so all of my information on a subject or chapter is in one place.

  3. Then I use the combined document for studying.

This plugin plays well with others -- especially the pen and highlighter colors, and marker width plugins previously created. And it makes use of the ExportColorPDF plugin we already have.

Please review the quick movie.

Currently, this plugin only works for PDFs. BUT....EPUBs are actively being worked on and I expect that to become available within the next two weeks.

u/Designer-Tear-6940 — 8 days ago

SN FrameClip - PDF image clipping tool

FrameClip Plugin

FrameClip for Supernote

FrameClip captures a region of a PDF page as a PNG and inserts it into a note. It renders the page natively, lets you draw and fine-tune a crop, optionally darkens it for faint scans, and keeps a gallery of clips you can drop into any note.

>

What it does

  • Render-then-crop: opens the current PDF page, renders it to an image, and lets you crop from that — no screenshots required.
  • Draw-first cropping: drag anywhere on the page to draw the crop box, drag the corner to resize, and use the on-screen buttons to nudge/resize precisely.
  • Page navigation: ‹ Prev / Next › step through a multi-page PDF without leaving the plugin, so you can grab several regions in one session.
  • Tone adjustment (great for light scans): a row of boxes — 
    • Auto · Off · 1 · 2 · 3 · 4 · B/W.
    • Contrast is pivoted at white, so the background stays clean while faint text darkens. Auto picks a gentle level for you; B/Wproduces crisp 1-bit black/white (best for plain text).
  • Multi-clip gallery: every capture is saved. In a note, FrameClip shows a thumbnail grid — pick one and insert it, or delete clips you no longer need.

Workflow

  1. Open a PDF and launch FrameClip from the plugin toolbar.
  2. Draw a box around the region you want; fine-tune with the buttons or corner handle.
  3. (Optional) Use Prev/Next to capture from other pages.
  4. Tap Capture Clip. On the saved screen, adjust the Tone if needed.
  5. Tap Capture Another to grab more, or Done to exit.
  6. Open the destination note and launch FrameClip there.
  7. Pick a clip from the gallery and tap Insert Selected. Resize it in the note as usual.

Saved clips live in /storage/emulated/0/MyStyle/FrameClip/.

Install

Side-load the plugin package onto your device:

  1. Download FrameClip.snplg from the latest release.
  2. Copy it to your Supernote and install it via the plugin manager.

Build from source

Requires Node 18+ and a working React Native / Android toolchain.

npm install
# Always clear stale generated output first, or changes may appear not to apply:
rm -rf build/generated build/outputs
./buildPlugin.sh

The packaged plugin is written to build/outputs/FrameClip.snplg.

Project layout

  • App.tsx — React UI and crop/tone/gallery logic.
  • android/app/src/main/java/com/snframeclip/FrameClipNativeModule.java — native page render, crop, contrast/threshold, and clip management.
  • PluginConfig.json — Supernote plugin manifest.
reddit.com
u/tao22 — 10 days ago
▲ 77 r/Supernote_dev+3 crossposts

I built an open-source plugin that shows your n8n workflow status live on an Ulanzi Deck key

I kept finding out a workflow had broken only after something downstream failed, so I

built a plugin that puts the status on a physical key.

Point it at a workflow and the key shows runs / errors / success rate / avg duration,

going green → amber → red based on thresholds you set (the whole key blinks red on

critical). Press it to jump straight to the workflow or its executions.

- 16 layouts, 10 themes

- Optional desktop alert on failure + recovery

- Talks directly to your n8n API — no third-party server, no telemetry, key stays local

- Free & open-source (MIT)

GitHub: https://github.com/prostonik94/ulanzi-n8n-workflow-monitor

happy to answer questions or take feature ideas!

u/Dazzling-Ad-9601 — 11 days ago
▲ 45 r/Supernote_dev+1 crossposts

inkRead, an open source e-ink reader fine-tuned for Supernote, looking for beta testers

I have been building inkRead, an open source document reader for the Supernote, and I am looking for a few people to help beta test it.

This is not trying to be a KOReader replacement. KOReader is great and does far more across far more devices. inkRead is narrower on purpose: it is built specifically for the Supernote (RK3566, Android 11) and tuned around how this hardware actually behaves, the pen, the refresh, palm rejection, and first class handwriting on the page.

What works today:

- Reads PDF and EPUB (More formats in the working)

- Write and highlight directly on the page with a movable tool palette

- Four ink colors, adjustable thickness, eraser, lasso, undo and redo

- Pinch to zoom with a page navigator, reflow and font size, contrast and crop

- Full text search, table of contents, bookmarks and go to page

- Dictionary lookup with thesaurus, plus the ability to add your own dictionaries

- Lasso multi line selection as Supernote Digest, which I think is fairly unique to inkRead

- Export your annotations back into the PDF, or keep a separate annotated copy

- Offline first, AGPL-3.0 licensed

Demo

inkRead Demo (BETA)

What I need from testers: try it on your own books, push on the handwriting and refresh behaviour, and tell me where it breaks or feels wrong on your device. Bug reports, rough edges, and honest feedback all welcome.

To Fellow Developers

It is also open to contributors. The project is AGPL-3.0 and the architecture is a Kotlin and Android shell on top of a Rust core that handles parsing, layout, rendering, the refresh policy and the ink model, with the core building and testing on the host so you do not need a device to work on most of it. If you write Rust or Kotlin, or you just know the Supernote internals well, there is a lot here to dig into, from format support and reflow to the pen and refresh paths. Code, ideas, and issue reports are all welcome.

Repo: https://github.com/j-raghavan/inkread

APK Download: https://github.com/j-raghavan/inkread/releases
(Pick the latest one)

Thanks!

reddit.com
u/Decent_Tap_5574 — 13 days ago

Select > Images/Sticker

Update: I had the chance to try this on my RPPpro. Yes - it works great and as shown. HOWEVER - big caveat - it only saves the selection as a copied element to be pasted once. You cannot save it anywhere for future use. This is pretty limited IMO and I think we can do better!

Ooooh RM just did a thing …. SN Dev folks, this could be really helpful. (And maybe I’m missing a new plugin that already tackles this?)

Maybe this is my chance to do some plugin work.

u/conductordudedallas — 13 days ago

Is there a way to automate export?

Is there a plugin that will automatically export the notes to Google Drive in .pdf? I noticed that Supernote uses proprietary file extenstions, and to use pdf I need to manually export it. Is there a way to make this process automatic?

reddit.com
u/Yachu50 — 10 days ago

"App Data Sync Failed” Error Loop

I’m getting an error on Chauvet 3.29.42 Developer Beta where I’m getting a repeated error in syncing app data. Sometimes it says completed, sometimes it says it failed with a Network Connection Failure message. Every time I pull down from the top to show quick settings, it always starts with App Data Sync Failed until I start a manual sync (automatic syncing is not enabled).

Is anyone else having issues with this?

reddit.com
u/Ripp26 — 13 days ago

SN Query Reposted

SN Query Advanced Query Tab

SNQuery is a powerful plugin for Supernote that brings Obsidian Dataview-like querying capabilities to your device, enabling dashboard creation and note management without needing to export your notes to a PC.

Current Release: https://github.com/taoist22/sn-query/releases/tag/v0.2.1

Important

SNQuery searches the same folder as the note where you run the plugin. It does not scan the entire device.

For reliability and performance, [SNQ] property blocks and loose inline properties must be on page 1 of each note to be found during folder scans. Native Supernote keywords can still be used across matching notes, but full-note property scanning is intentionally not performed.

Features

  • Dataview-like Syntax: Query your notes using familiar TABLE and LIST commands tailored for Supernote's offline environment.
  • On-Demand Dashboards: Create dashboards that track keywords and property fields. (Note: Dashboards do not auto-update; you simply tap "Run" on your saved queries to fetch the latest data).
  • Templates & Config: Create, edit, and insert reusable [SNQ] item templates.
  • Selected Block Editing: Lasso an existing [SNQ] block and open SNQuery from the lasso menu to edit that block directly.
  • Saved Queries: Save your frequently used queries and run them with a single tap.
  • Progress Feedback: Folder scans show live progress so long-running queries are easier to trust.
  • Column Statistics: Calculate averages, sums, minimums, maximums, and counts for numeric fields.

Launching SNQuery

SNQuery has two launch paths:

  • Main toolbar/plugin icon opens the normal Dashboard workflow.
  • Lasso menu on a selected [SNQ] block opens the dedicated editor for that selected block.

Use the main toolbar when you want to run dashboards, saved queries, or insert new templates. Use the lasso menu when you want to update an existing [SNQ] block already placed on a note page.

Scan Scope

SNQuery is designed to keep scans predictable on-device:

  • It scans .note files in the current folder only.
  • [SNQ]...[/SNQ] data blocks must be placed on page 1 of each note.
  • Loose properties outside an [SNQ] block must also be on page 1.
  • Keyword-only searches are faster because they use Supernote's native keyword metadata instead of reading note elements.
  • SNQuery does not OCR handwriting; handwritten content must be converted to text or tagged with native keywords to be queried.
  • Inserted dashboards are snapshots; run the query again to refresh the results.

Keywords vs Properties

Native Supernote keywords are best used for broad, human-meaningful categories like #journal#todo#sleep#meeting, or #project-alpha. They are fast to search and are not dependent on [SNQ] blocks.

Use [SNQ] properties for structured values you want to filter, sort, or calculate, such as status: opendue: 2026-06-25sleep_score: 81, or sleep_time: 7:25. Avoid stuffing property-style data into native keywords; too many overly specific keywords can make Supernote's keyword system harder to browse and less useful.

Common Workflows

Todo Dashboard

Add one [SNQ] block for each task you want to track:

[SNQ]
type: todo
task: Call Nancy
status: open
due: 2026-06-26
[/SNQ]

Then query it:

TABLE task AS "Task", due AS "Due", status AS "Status"
WHERE type = todo AND status = open
SORT due ASC

Sleep Tracking

Time durations can be entered as hours and minutes, such as 7:25 or 6h55m. SNQuery treats those as durations for statistics.

[SNQ]
type: sleep
date: 2026-06-19
sleep_score: 81
sleep_time: 7:25
[/SNQ]


TABLE date AS "Date", sleep_score AS "Sleep Score", sleep_time AS "Sleep Time"
WHERE type = sleep
STATS AVG(sleep_score), AVG(sleep_time), MIN(sleep_score), MAX(sleep_score)
SORT date DESC

Meeting Or Event Dashboard

[SNQ]
type: meeting
meeting: Finance
date: 2026-06-25
time: 11:00
summary: Budget review
[/SNQ]


TABLE meeting AS "Meeting", date AS "Date", time AS "Time", summary AS "Summary"
WHERE type = meeting
SORT date ASC

Current Limitations

  • SNQuery scans the current folder only.
  • Subfolders are not included yet.
  • [SNQ] blocks and loose inline properties must be on page 1 for folder scans.
  • SNQuery does not connect to Supernote's native Tasks or Calendar apps.
  • Inserted dashboards are static snapshots and must be rerun to refresh.

Installation

  1. Build or download the SNQuery.snplg file.
  2. Transfer the .snplg file to your Supernote device via USB or Supernote Cloud.
  3. Open the plugin manager on your Supernote and load the plugin.

Documentation

For comprehensive instructions on query syntax, setting up dashboards, and using templates, please refer to the User Manual.

reddit.com
u/tao22 — 12 days ago
▲ 4 r/Supernote_dev+1 crossposts

Files not uploading to cloud

When uploading books through the ios partner app they don't always seem to synch to the cloud, yet they always appear on my device. What am I doing wrong?

u/EuphoricTry8252 — 14 days ago

Your templates for Development Notes?

Hello! I am wondering if some of you could share your templates for how you keep track of your updates and how you maintain development notes. I would really appreciate any help in this direction.

reddit.com
u/updated_disk — 14 days ago

Danish keyboard layout / third-party keyboard sideloading

Long-time ReMarkable user here, seriously considering switching my whole setup to SuperNote. The one blocker is keyboard support. I need a Danish layout (virtual keyboard) and the ability to connect a Danish Bluetooth keyboard with correct key mapping.
Supernote support told me the virtual Danish keyboard is on the internal dev roadmap but with no committed timeline, and that specific BT configuration would be needed for external keyboards.

Two questions for anyone who’s tested this:
**Has anyone managed to sideload a third-party keyboard (e.g. Gboard) on the Manta/Nomad, or install one as a plugin?**

**For Bluetooth keyboards – is there a workaround (custom key remapping, OS-level layout switch) that gets you a working Danish layout today, without waiting for official support?**

Appreciate any input – would love to make the switch but unfortunately this is a dealbreaker as-is.

reddit.com
u/kasgen — 14 days ago