Final Report — DecaNotes (Small Grant, Sia Foundation)
What progress was made on your grant this month?
A significant portion of the Markdown editor and renderer has been implemented, along with a large test suite for the renderer. I additionally built a custom Markdown editor (outside the original grant allocation). Environment and UX were improved: in‑app version with commit hash, dynamic build number, themes, and visual polish. Basic auth (base‑64) for renterd and the save flow were corrected. The IPFS path is temporarily disabled in the UI due to missing native RN/Expo bindings (planned workaround via a hosted pinner API).
Detail tasks worked on this month per milestone with the appropriate Pull Request(s) links as outlined in the guide:
DecaNotes Progress Report: October - November 2025
Progress Reporting
| Milestone | Task | Pull Request(s) | Additional Notes |
|---|---|---|---|
| 1: Advanced Editor Features & Block Management | 1. Multi-level quote support with depth handling | 28b8a19 | Quote block enhancements with proper depth management and multi-line support |
| 1: Advanced Editor Features & Block Management | 2. Font styling and component layout refactoring | a7f63b8 | Simplified font styling patterns and improved component layouts |
| 1: Advanced Editor Features & Block Management | 3. Enhanced MarkdownEditorRef API and keyboard handling | 622fc1b | Added new methods and improved keyboard event handling |
| 1: Advanced Editor Features & Block Management | 4. Table block support with markdown parsing | 17f87cb | Full table block functionality with markdown parsing |
| 2: Editor Infrastructure & Focus Management | 1. FocusManager and virtualized FlatList implementation | 4a904ef (Develop #2) | FocusManager component for block focus/scroll; replaced ScrollView with virtualized FlatList |
| 2: Editor Infrastructure & Focus Management | 2. Focus handles on built-in block plugins | 4a904ef | Converted all built-in blocks to use forwardRef + useImperativeHandle |
| 2: Editor Infrastructure & Focus Management | 3. Block action toolbar and improved quote handling | 4a904ef | BlockActionToolbar for block management; depth management |
| 2: Editor Infrastructure & Focus Management | 4. Keyboard controller integration and reveal flow | 4a904ef | Optional keyboard controller; improved focus/scroll reveal lifecycle |
| 2: Editor Infrastructure & Focus Management | 5. Large cleanup and feature improvements | 4a904ef | Comprehensive refactoring across core, plugins, UI with improved error handling |
| 3: Editor Features & User Experience | 1. Blocks ↔ Markdown toggle functionality | a24d597 (PR #4) | Convert between block-based editor and raw markdown view |
| 3: Editor Features & User Experience | 2. Markdown to blocks parsing with plugins | 172655c (PR #5) | Markdown parser uses built-in plugins for proper block creation |
| 3: Editor Features & User Experience | 3. Debounced auto-save functionality | 05e5ab6 | Auto-save with debouncing and save-status toast notifications |
| 3: Editor Features & User Experience | 4. Auto-save setting persistence | 2344377 | Persist auto-save preference in settings |
| 3: Editor Features & User Experience | 5. Add block button UI | 4a904ef | Visible “Add block” button replaces invisible tap area |
| 3: Editor Features & User Experience | 6. Keyboard dismissal on block actions | 4a904ef | Keyboard dismisses when opening block menu or inserting |
| 4: App Configuration & Settings | 1. GitHub issues template and documentation | 49da486 (PR #3) | GitHub issue templates; cleaned up documentation |
| 4: App Configuration & Settings | 2. App icon and splash configuration | 1913613 | Updated adaptive icons and splash images for iOS/Android |
| 4: App Configuration & Settings | 3. Dynamic app version display | e084880 & d438e92 | Version display with build number; commit hash linking to GitHub |
| 4: App Configuration & Settings | 4. Privacy policy implementation | d438e92 | Added PRIVACY-POLICY.md documentation |
| 4: App Configuration & Settings | 5. Settings UI improvements | 7fc2b2f | Removed notifications toggle; Help & Support opens GitHub issues |
| 5: Storage & Backend Improvements | 1. Base-64 renterd authentication | 88d55b2 | Renterd backend uses base-64 encoding for auth |
| 5: Storage & Backend Improvements | 2. IPFS feature removal from UI | eaf2168 | Removed IPFS mentions and export from UI |
| 6: UI/UX Enhancements | 1. IPFS method disabled with simplified filters | 0741848 | IPFS storage option disabled; simplified filters |
| 6: UI/UX Enhancements | 2. Theme picker implementation | 0741848 | Replaced theme switch with comprehensive picker |
| 6: UI/UX Enhancements | 3. Typography and elevation improvements | 0741848 | Enhanced typography consistency; added elevation system |
| 6: UI/UX Enhancements | 4. Animated block wrappers | 4a904ef | AnimatedBlockWrapper for smooth focus animations |
| 6: UI/UX Enhancements | 5. Enhanced focus states | 4a904ef | Animated focus states with background/border transitions |
| 7: Dependencies & Build Configuration | 1. Dependency updates | 4a904ef | Updated expo, react, react-native, reanimated and others |
| 7: Dependencies & Build Configuration | 2. Bundle identifier update | 4a904ef | Enhanced production build configuration |
| 7: Dependencies & Build Configuration | 3. Build system improvements | 4a904ef | Improved build consistency across targets |
Link to an easy to test version or a demo video.
- Demo video: add the link to the published preview once uploaded.
- If needed, provide test credentials for a pre‑funded account/sandbox to validate integrations (renterd), plus brief build/run/verify steps.
Provide an overall summary of everything achieved during this grant.
DecaNotes delivers private decentralized notes with primary storage via renterd and a custom, advanced Markdown editor. Achievements include: a rich block/inline editor, offline local storage, baseline renterd integration, transparent build/versioning in‑app (commit/build), and UX/theme improvements. The IPFS path is temporarily disabled, with a planned integration via a hosted pinner API to preserve compatibility while keeping renterd as the primary backend.
If there were challenges you experienced and/or any work you weren’t able to complete, list it here.
- IPFS (Helia) lacks native RN/Expo bindings; IPFS functionality is disabled in the UI pending hosted pinner API integration: feat(ui): disable IPFS method…
- Some renderer polish items (tables/video blocks) remain in the bug list and are targeted post‑grant.
What lessons have you learned as a result of this grant?
- Persisted settings and explicit save feedback reduce data‑loss risk.
- Exposing build/commit in‑app improves reproducibility for technical reviews and user bug reports.
- Decomposing into blocks/inlines simplifies testing and accelerates editor/renderer work.
What are you most proud of about your work on this grant?
- A high‑functioning custom Markdown editor with a rich block model and thoughtful UX.
- Reliable renterd storage integration and a clear save flow.
- Transparent, reproducible app builds with in‑app versioning that aid QA and review.
Demo video: