Tags: fastrepl/hyprnote
Tags
fix(listener): improve error handling in session lifecycle (#1924) - Remove .unwrap() on SessionEvent::emit in ext.rs - treat as non-fatal - Don't treat Recorder's encode failures as fatal in post_stop - Don't treat UI-emit failures in ListenerActor as fatal - Make Listener's websocket tasks bail if sending ListenerMsg fails Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
transcript store enhancements (#1879) * feat(transcript): preserve and reindex partial hints after filter Update transcript listener to correctly handle partial words and their associated hints when older partial words are removed due to final segments. Replace inline filtering logic with a two-step approach: - collect existing partial words into a variable and filter them into remainingPartialWords - build a mapping from old word indices to new indices for the kept partial words, then filter and remap partialHints accordingly This prevents mismatches where hints still point to removed word indices and ensures hints reference the correct remaining partial word after filtering. Add a unit test that simulates partial then final responses and asserts that remaining partial words and hints are consistent and correctly reindexed. * Make partial speaker hints channel-aware Avoid cross-channel hint mis-assignment by scoping partial speaker hints to their channel. The change renames partialHints to partialHintsByChannel: a Record<number, RuntimeSpeakerHint[]>, updates initial state and all reads/writes to use partialHintsByChannel[channelIndex], and adjusts filtering/remapping and reset logic to operate on per-channel hint arrays. Tests and a component consumer were updated to read from partialHintsByChannel as well. * Fix hint wordIndex alignment across channels Flatten remainingWords once and reindex per-channel hints so RuntimeSpeakerHint.wordIndex refers to positions in the flattened array. Previously hints were flattened independently and kept per-channel indices, which misaligned hints for channels >0. This change computes offsets for each channel by accumulating prior partialWords lengths, adjusts each hint.wordIndex by its channel offset, and passes the flattened words and reindexed hints to handlePersist. * Reindex flattened speaker hints by cumulative word offsets Flattening partial hints across channels left each hint.wordIndex relative to its original channel, producing incorrect indices when channels are concatenated. Compute cumulative word offsets for each channel (summing the lengths of prior channels' partialWords) and reindex each RuntimeSpeakerHint by adding the channel's offset. Also import the RuntimeSpeakerHint type so reindexed hints have the correct shape.
Standardize artifact naming with architecture info (#1811) - Update desktop_cd workflow to use consistent naming: - macOS: hyprnote-macos-aarch64.dmg - Linux: hyprnote-linux-x86_64.AppImage - Update S3 paths and GitHub release artifacts - Add Linux download support to web app - Update VersionPlatform type to include appimage-x86_64 This provides consistency across release and staging builds, includes architecture information for clarity, and aligns with Crabnebula's platform naming conventions. Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: yujonglee <[email protected]>
PreviousNext