feat: next #1

Closed
javif89 wants to merge 44 commits from next into master
Owner

This concludes the Waycast refactor

This concludes the [Waycast refactor](https://gitgud.boo/javif89/waycast/wiki/Waycast-refactor)
extensibility
chore: Uncomment todo and devlog for myself
Some checks failed
Release / plan (pull_request) Has been cancelled
Release / build-local-artifacts () (pull_request) Has been cancelled
Release / build-global-artifacts (pull_request) Has been cancelled
Release / host (pull_request) Has been cancelled
Release / announce (pull_request) Has been cancelled
3afcc38a71
I initially over-split the project into tiny crates. This ended up making development harder than it needed to be.

At the end of the day, all the crates needed to be updated together for a new feature to be added, so them being separate crates didn't make any sense.

This PR consolidates the project into one cargo package, reducing development and release overhead.

Co-authored-by: Javier Feliz <javier0eduardo@hotmail.com>
Reviewed-on: javif89/waycast#2
javif89 changed title from next to WIP: next 2026-07-01 23:10:00 +00:00
Closes #4

Co-authored-by: Javier Feliz <javier0eduardo@hotmail.com>
Reviewed-on: javif89/waycast#6
Reviewed-by: xbazzi <xander@xbazzi.com>
closes #7

Reviewed-on: javif89/waycast#9
Reviewed-by: javif89 <me@javierfeliz.com>
Co-authored-by: xbazzi <codemaster@xbazzi.com>
Co-committed-by: xbazzi <codemaster@xbazzi.com>
Closes #5

- Cleaned up the flake
    - Overlay rigamaroll is no longer needed
    - Pinned rust toolchain version
    - Fixed the systemd service setup from the home manager module
    - Updated the `xorg.libX` package names to their new `libx*` names to get rid of all the warnings when rebuilding nix config
- Added some extra devenv commands needed for nix packaging
    - Generating sqlx data needed for compiling offline without an actual db (when building the flake). This lives under the `.sqlx` directory and it's auto generated.

Co-authored-by: Javier Feliz <javier0eduardo@hotmail.com>
Reviewed-on: javif89/waycast#17
Reviewed-by: xbazzi <xander@xbazzi.com>
Co-authored-by: javif89 <me@javierfeliz.com>
Co-committed-by: javif89 <me@javierfeliz.com>
- Consolidated the daemon into its own self contained struct and process
    - Injecting configuration such as file and project scanning
    - It builds its own db connection based on the given path. No longer need a tokio runtime in main
    - App watching thread also moved to be part of the daemon. resolves #16 since before this, the app watcher would start even when we just needed to launch the daemon

Overall better coding patterns.

Closes #16

Co-authored-by: Javier Feliz <javier0eduardo@hotmail.com>
Reviewed-on: javif89/waycast#20
Reviewed-by: xbazzi <xander@xbazzi.com>
## Summary

I was already using SQLx’s `migrate!` macro and `create_if_missing` option at startup lol. But there were a few little fixes missing.

Closes #13

## Added

- Creates the data directory if it doesn't exists before opening SQLite.
- Propagates database setup and migration errors with path context instead of the previous panic with the "Failed lol" message.
- Completes database initialization before starting daemon/UI threads.
- Adds tests for fresh setup, repeated migrations, and directory failures.

## Other changes

- Switched `.env` to have `SQLX_OFFLINE=true` so that we don't need a migrated dev database to compile since we now use the generated metadata in `.sqlx` anyway.

Co-authored-by: Javier Feliz <javier0eduardo@hotmail.com>
Reviewed-on: javif89/waycast#21
Reviewed-by: xbazzi <xander@xbazzi.com>
Self explanatory.

Closes #19

Co-authored-by: Javier Feliz <javier0eduardo@hotmail.com>
Reviewed-on: javif89/waycast#24
Reviewed-by: xbazzi <xander@xbazzi.com>
closes #8
closes #25 by proxy

Reviewed-on: javif89/waycast#26
Reviewed-by: javif89 <me@javierfeliz.com>
Co-authored-by: xbazzi <codemaster@xbazzi.com>
Co-committed-by: xbazzi <codemaster@xbazzi.com>
javif89 changed title from WIP: next to next 2026-07-03 02:41:31 +00:00
javif89 self-assigned this 2026-07-03 02:43:19 +00:00
xbazzi approved these changes 2026-07-03 02:44:35 +00:00
xbazzi left a comment

not gonna read that essay, already ran it and everything worked. LGTM.

not gonna read that essay, already ran it and everything worked. LGTM.
xbazzi changed title from next to WIP: next 2026-07-03 02:46:36 +00:00
xbazzi changed title from WIP: next to next 2026-07-03 02:46:40 +00:00
Collaborator

Please use conventional commit style for PR title

Please use conventional commit style for PR title
javif89 changed title from next to feat: next 2026-07-03 02:47:51 +00:00
javif89 scheduled this pull request to auto merge when all checks succeed 2026-07-03 02:49:25 +00:00
javif89 canceled auto merging this pull request when all checks succeed 2026-07-03 02:49:31 +00:00
javif89 closed this pull request 2026-07-03 02:49:45 +00:00
xbazzi added this to the v1.0.0 milestone 2026-07-03 02:49:48 +00:00

Pull request closed

Sign in to join this conversation.
No description provided.