Skip to content

Feature/najuna wip - #2

Closed
najuna-brian wants to merge 60 commits into
HelloSapiens:mainfrom
najuna-brian:feature/najuna-wip
Closed

najuna-brian wants to merge 60 commits into
HelloSapiens:mainfrom
najuna-brian:feature/najuna-wip

Conversation

@najuna-brian

Copy link
Copy Markdown
Member

Pull Request Title

Description

Type of Change

  • Bug Fix
  • New Feature / Enhancement
  • Refactor / Code Cleanup
  • Documentation Update
  • Maintenance / Chore
  • Other (please specify):

Component(s) Affected

  • formulus (React Native mobile app)
  • formulus-formplayer (React web app)
  • synkronus (Go backend server)
  • synkronus-cli (Command-line utility)
  • Documentation
  • DevOps / CI/CD
  • Other:

Related Issue(s)

Closes/Fixes/Resolves:


Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Manually tested
  • Tested on multiple platforms (if applicable)
  • Not applicable

Breaking Changes

  • This PR introduces breaking changes
  • This PR does NOT introduce breaking changes

If breaking changes, please describe migration steps:


Documentation Updates

  • Documentation has been updated
  • Documentation update is not required

Checklist

  • Code follows project style guidelines
  • All existing tests pass
  • New tests added for new functionality
  • PR title follows Conventional Commits format

Thank you for contributing to Open Data Ensemble (ODE)!

r0ssing and others added 30 commits March 24, 2026 10:58
…ble#569)

* fix: move fastlane up one level

* feat: add fastlane images
* fix: version bump

* fix: version bump (ios)
…and improve error handling (OpenDataEnsemble#582)

- Renamed VisionCameraErrorBoundary to QRScannerErrorBoundary for clarity.
- Updated error messages and fallback content to reflect the new camera module.
- Removed VisionCamera code scanner references from build.gradle and gradle.properties.
- Enhanced QRScannerModalImpl to handle camera permissions and scanning logic with the new library.
- Improved user feedback during permission checks and scanning process.
* feat: improve with proper semver comparison

* fix: pretty

* Fix formatting of arrow function in semverSegments
…ug (OpenDataEnsemble#585)

Prevents the known layout bug where focusing an input field in the Formplayer
WebView causes the window to compress and flash a white block directly above the
keyboard.

Signed-off-by: Jessie Ssebuliba <jessiessebuliba@gmail.com>
Co-authored-by: Emil Rossing <emil@rossing.org>
)

* ci(synkronus-docker): simplify multi-arch build and tagging

- replace shell-heavy logic with metadata-action and Buildah actions\n- make tag generation explicit for release, push, and PR events\n- tighten permissions and wire attestation to pushed image digest

* chore(renovate): align GitHub Actions pin update rules

- update Renovate config for action pin maintenance\n- keep workflow dependency governance explicit and auditable

* docs(ci): refresh Synkronus Docker workflow documentation

- document event-to-tag mapping from metadata-action\n- describe manifest verification and attestation behavior\n- clarify required workflow permissions

---------

Co-authored-by: Najuna Brian <160729266+najuna-brian@users.noreply.github.com>
Co-authored-by: Emil Rossing <emil@rossing.org>
- Add getAttachmentUri, getAttachmentsUri, getCustomAppUri, getFormSpecsUri to FormulusInterface
- Implement resolution via DocumentDirectory attachments + path helpers
- Regenerate FormulusInjectionScript.js and formulus-api.js
- Fix generateInjectionScript CLI for ESM package (import.meta + isRunAsCli)
- Sync Formplayer FormulusInterfaceDefinition copy; document CQT usage in docs

Made-with: Cursor
* added plan

* Enhance documentation for testing and formatting procedures in Synkronus

- Added detailed testing guidelines for Synkronus, synkronus-cli, and synkronus-portal.
- Included formatting instructions for Go and TypeScript/JSON files.
- Introduced a section for PR description to aid in concise communication for reviewers.
- Updated deliverables checklist to reflect new testing and formatting requirements.

* Refine Synkronus last-seen presence plan and implementation phases

- Updated the overview to clarify the end-to-end implementation of the Synkronus backend, including database, middleware, and admin API.
- Introduced a detailed implementation order with phases for backend, CLI, and portal, emphasizing the necessity of backend completion first.
- Expanded the deliverables checklist to outline specific tasks for each phase, ensuring clarity on migration, presence persistence, and documentation requirements.
- Enhanced mandatory reading section to guide implementers on repository standards and practices.

* Implement user presence tracking and enhance user management features

- Updated the user service to include presence information in the user list response, allowing for tracking of last-seen activity and client counts.
- Enhanced the CLI command for listing users to display additional presence details.
- Introduced a new presence recorder to capture user activity across various endpoints.
- Updated the dashboard UI to display last activity information for users, improving visibility into user engagement.
- Modified API specifications to include optional presence data in user responses.
- Refined the package.json scripts for API generation and formatting to utilize npx for better consistency.

* feat: add last seen users to synkronus
…/formulus-webview-uri-api

feat(formulus): WebView file URL bridge API (v1.2.0)
…DataEnsemble#594)

* added plan

* feat(sync): Implement repository generation handling in sync protocol

- Added support for repository generation (epoch) in the sync protocol documentation.
- Updated SyncScreen to handle repository reset errors, prompting users to clear local data when necessary.
- Enhanced SyncService and SynkronusApi to manage repository generation during sync operations.
- Modified API client to include repository generation in requests and handle conflicts appropriately.
- Updated OpenAPI specification to reflect new repository generation parameters and error responses.
- Introduced admin endpoint for repository reset, allowing for server-side data wipe and epoch increment.

This change improves synchronization reliability and user experience by ensuring clients align with server state effectively.

* feat: add server-reset functionality (wip)

* chore: update package.json to use npx for prettier commands

- Modified format and format:check scripts to utilize npx for executing prettier, ensuring consistency and avoiding global dependency issues.

* chore: autogen. api

* chore: formatting

* chore: formatting

* chore: formatting
…y management

- Added support for Dockerfile.slim in the CI workflow to facilitate multi-architecture builds.
- Refactored build steps to separate portal and Synkronus binary builds, improving clarity and maintainability.
- Updated dependency installation commands to use npm ci for consistent builds.
- Enhanced artifact handling for Docker build context, ensuring proper staging for both amd64 and arm64 architectures.
…build

fix(synkronus): Fix hanging docker multiarch build
…d set Node.js version (OpenDataEnsemble#596)

- Modified IMAGE_NAME to ensure it is always lowercase, aligning with OCI/GHCR requirements.
- Added environment variable FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 to specify Node.js version for JavaScript actions.
OpenDataEnsemble#597)

* fix(synkronus-cli): Fix install script

* fix(ci): compress assets in release pipeline

---------

Co-authored-by: Emil Rossing <emil@rossing.org>
najuna-brian and others added 26 commits April 13, 2026 17:21
…e-support

fix: Linked table nested form lifecycle - preserve parent form state across child form sessions
…notifee-readme

feat(formulus): add notifee comment
…e-semver-display

feat(portal): replace regex with just removing the v
* chore: update docs

* feat: add ode desktop

* wip(desktop)

* chore: update ci/cd, .gitignore, docs

* wip(desktop)

* wip(desktop)

* wip(desktop)

* wip(desktop)

* wip(desktop)

* chore: update CSP configuration in tauri.conf.json to include frame-src and child-src directives

* wip (add diagnostics)

* fix: remove diagnostics code

* fix(ci): install pnpm before attempting cache

* fix(lint): resolve ESLint errors in desktop app

* fix(format): apply Prettier formatting to desktop app

* fix(rust-format): apply cargo fmt to Rust code

* fix(ci): install Linux system dependencies for Tauri build

* fix(ci): correct Linux package names for Tauri dependencies

* fix(ci): proper pnpm setup and Linux dependencies

---------

Co-authored-by: Emil Rossing <emil@rossing.org>
* fix(portal): avoid double v in server version on login

* feat(portal): Synkronus Portal UI Mods
)

* fix: updated attachment handling and migration

* fix: updated interface

* feat: improved attachment handling with HEAD support

* doc: add E2E plan

* test: add ci test (wip)

* chore: pretty
…sing-header

fix: add missing header param
…CI badge integration

- Added CI status badges to README for various workflows.
- Updated CICD documentation to clarify image tagging and release processes, including stable and pre-release tags.
- Enhanced instructions for pulling images and managing versioning in deployments.
…e-docker-image-tagging

chore: update README and CICD documentation for improved clarity and …
…l… (OpenDataEnsemble#615)

* fix: hardcode image name in Docker workflow to ensure lowercase compliance

* fix(api): add xOdeVersion header to API requests for versioning consistency
@najuna-brian
najuna-brian deleted the feature/najuna-wip branch April 25, 2026 21:18
r0ssing pushed a commit that referenced this pull request Sep 27, 2026
* Add CI workflow to validate documentation builds

* Fix broken documentation links

* fix: update workflow

* fix: improve TypeScript validation script

* docs: improve documentation and fix navigation links
r0ssing pushed a commit that referenced this pull request Sep 27, 2026
Add comprehensive set of reusable components built with ODE design tokens:
- Alert, Badge, Button, ButtonGroup, CodeBlock, Container, Divider, Spacer, Tag, Tooltip
- All components support dark mode and use design tokens
- Includes component documentation and centralized exports

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants