Skip to content

Keep a local record of transcripts — today a failed injection loses the text #758

Description

@kacperpaczos

I have been running main, and the loop from my side is: dictate the whole thing, wait, and then the text appears — or it does not, and it is gone. Nothing keeps a copy. Grepping src/ for anything that persists a transcript comes back empty.

On macOS this is already tracked: VocaHQ/vocamac#23, your own issue, with a spec — timestamp, model, duration, detected language, copy any past transcript back out, persist across restarts, an option to clear, a maximum size. And when SegFaulty asked there for an option to keep no records at all, you answered that it is in line with the spirit of the project. There is no equivalent here.

The case on Linux is stronger than on macOS, and not because dictation differs — because injection does.

macOS has one injection path and it works. Here there are six, and this tracker records how often they do not. Closed: #481, #485, #504, #574, #607, #549, #173, #250, #511, #501, #539, #558, #497, #738. Open: #663 (clipboard keeps the text on KDE Wayland although the setting says it should not), #699 (layout flips to US on GNOME/X11), #476 (IBus reports success and delivers nothing, with no way to force another backend). Every one of those is a case where somebody spoke and the text disappeared with no way to get it back.

A local record turns that whole class from lost work into an annoyance. It also answers #726 from another direction — that request is for a text box inside the app precisely because injection cannot be relied on.

On the product side, web/PRODUCT.md states two principles: privacy is default, with local engines and opt-in remote; and ship real desktop proof rather than feature theater. A local log that can be cleared and switched off touches neither. Worth saying explicitly, because today the app stores nothing at all — there is not even config export/import in config_manager.py.

What would help me, in order:

  1. transcripts kept somewhere I can reach after the fact
  2. a way to copy one back out
  3. the off switch from vocamac#23

Whether it defaults to on or off is your call and I have no stake in it.

Happy to work on this if you want it here.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions