Skip to content

Conversation

@raaymax
Copy link
Owner

@raaymax raaymax commented Dec 10, 2025

No description provided.

@github-actions
Copy link
Contributor

Docker image

ghcr.io/raaymax/quack:build-48

- Remove deprecated storybook addon-essentials and addon-interactions (Storybook 9)
- Enable search route that was commented out in Router
- Fix import path in DiscussionHeader.stories.tsx
- Add null checks in MessageListScroller to prevent crashes
- Add navigation on search close and null check for messages model
- Enable network access for Vite dev server (host: true)
- Change default backend port from 8080 to 3001
- Fix default database from 'tests' to 'chat'
@github-actions
Copy link
Contributor

Docker image

ghcr.io/raaymax/quack:build-49

- Remove MobX observer wrappers from atom components
- Remove direct client/API dependencies from atoms
- Pass data via props instead of accessing global state
- Move LoggedUser from atoms to molecules (it uses app context)
- Create ThemeButtonConnected molecule for stateful theme toggle
- Update parent components to pass required props
- Simplify Image, File, ProfilePic to be pure presentational components
- Use proper directory handling with DIR variable
- Create separate windows: nvim, claude, dev servers
- Organize dev servers (frontend, backend, storybook) in split panes
- Start in nvim window by default
- Remove obsolete pushd/popd commands
@github-actions
Copy link
Contributor

Docker image

ghcr.io/raaymax/quack:build-50

@github-actions
Copy link
Contributor

Docker image

ghcr.io/raaymax/quack:build-51

* fix(storybook): resolve molecules layer rendering issues

- Add viteFinal config to inherit define/alias from vite.config.ts
- Fix emoji mock data to use hex codes instead of Unicode characters
- Add missing channel mocks (toolbar-test, test, unknown-channel)
- Fix TextMenu.stories.tsx import path for InputContext
- Convert MessageToolbar and Reactions stories to render pattern
  to ensure loaders run before app.getMessages() is called
- Add useFileUrl hook and isUserActive utility
- Refactor LoggedUser to base/connected pattern
- Remove unnecessary observer wrappers from Files and NavUserButton
- Update Storybook deps to v10.2.3 and add playwright for testing
- Add check-storybook.mjs for automated story validation

Storybook pass rate improved from 0% to 97.5% (119/122 stories)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor(molecules): address code review feedback

- Rename useFileUrl.ts to fileUrl.ts and functions to getFileUrl,
  getThumbnailUrl, getDownloadUrl (they're not React hooks)
- Extract magic number to ACTIVE_USER_THRESHOLD_MS constant in utils.ts
- Add proper TypeScript types to Attachments.stories.tsx
- Add proper TypeScript types to TextMenu.stories.tsx

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Feb 1, 2026

Docker image

ghcr.io/raaymax/quack:build-52

* feat(mobile): add theme colors and status bar styling

Add colors.xml with brand colors matching the web app theme:
- colorPrimary: #201F22 (dark navbar)
- colorPrimaryDark: #1a1d21 (status bar)
- colorAccent: #FF8C00 (orange accent)

Update styles.xml to apply status bar and navigation bar colors
to both the splash screen and main app themes.

* feat(mobile): add Quack launcher icons from Tauri

Copy custom launcher icons from the deleted Tauri Android app
to the Capacitor mobile app. Includes all density variants
(mdpi through xxxhdpi) and adaptive icon resources.

* feat(mobile): replace splash screen with solid dark background

Use colorPrimaryDark (#1a1d21) as splash background instead of
the default Capacitor splash image for a cleaner launch experience.

* refactor(mobile): replace Tauri with Capacitor for Android app

Remove Tauri-based mobile implementation and replace with Capacitor:

- Remove app/src-tauri/ (Rust/Tauri Android wrapper)
- Add mobile/ directory with Capacitor 6.0.0 Android app
- Implement custom notification service via SSE for real-time messages
- Add mobile config export endpoint and backend routes
- Update API client to support mobile platform detection
- Remove Tauri dependencies from app/package.json

The new Capacitor app features:
- Background notification service with persistent SSE connection
- Custom Quack notification sound and vibration
- Deep linking support (quack:// scheme)
- Network-aware auto-reconnection
- Boot receiver for auto-start capability

* chore(app): add storybook-static to gitignore

* fix(api): remove unused lint ignore directive

* fix(mobile): address architectural concerns from deep review

- Use EncryptedSharedPreferences for secure auth token storage
- Add wake lock timeout (10 min) to prevent battery drain
- Implement exponential backoff for SSE reconnection (1s to 60s)
- Add server-side heartbeat (30s) for connection health monitoring
- Filter own messages server-side to reduce client processing
- Fix isServiceRunning to check actual service state vs config
- Remove duplicate URL normalization (keep only in QuackConnection)
- Simplify notification tests for better reliability

* docs(mobile): add mobile app build documentation

Add comprehensive documentation for building the Android mobile app:
- Prerequisites and quick start guide
- Local development setup with HTTPS
- Notification system explanation
- Customization options (icons, sounds, package name)
- Troubleshooting common issues

Also update README.md to reference the new documentation.
@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

Docker image

ghcr.io/raaymax/quack:build-53

The WebView URL wasn't being transformed for Android emulator
compatibility. Now both the WebView and SSE connections properly
use 10.0.2.2 to reach the host machine from the emulator.
@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

Docker image

ghcr.io/raaymax/quack:build-54

Replace hardcoded SSL task with a script that dynamically detects
all local network interfaces and includes them as SANs. This allows
HTTPS to work from any device on the local network, not just localhost
and the Android emulator IP.
@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

Docker image

ghcr.io/raaymax/quack:build-55

@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

Docker image

ghcr.io/raaymax/quack:build-56

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.

2 participants