aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-server-postgres/src (follow)
Commit message (Collapse)AuthorAge
* feat: remove user verification functionality (#3108)Ellie Huxtable2026-01-27
| | | | | | | | | | | | | | | | <!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* chore!: remove total_history from api index response (#3094)Ellie Huxtable2026-01-23
| | | | | | | | | | | | | Remove the expensive and inaccurate `total_history` field from the API index endpoint. The query `select sum(total) from total_history_count_user` ran on every request but is no longer relevant. The underlying table remains for per-user cached counts used by `/sync/count`. ## Checks - [x] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [x] I have checked that there are no existing pull requests for the same thing
* feat: add support for read replicas to postgres (#3029)Ellie Huxtable2025-12-18
| | | | | | | | | | | Support for routing read queries to read replicas for Postgres We have very high database usage these days, and now run shell history sync off of [Planetscale](https://planetscale.com/) This setup gives us 2x read replicas, meaning we can reduce load on the primary I doubt this is required for anyone else's setup - lmk if so.
* feat: add IDX_CACHE_ROLLOUT (#2850)Ellie Huxtable2025-07-29
| | | | | | | | | | Only really useful for Atuin cloud Given a % chance, either use the idx cache or use the old aggregation query This is to enable us to test rollout the idx cache, without breaking all queries in weird ways. Can monitor for a change in http codes/etc, and easily roll back.
* fix: ensure the idx cache is cleaned on deletion, only insert if records are ↵Ellie Huxtable2025-07-24
| | | | inserted (#2841)
* fix: use transaction for idx consistency checking (#2840)Ellie Huxtable2025-07-24
|
* chore: update to rust 1.88 (#2815)Ellie Huxtable2025-07-22
| | | | | | | | | * chore: update to rust 1.88 * clippy + fmt * update ci version * update flake
* feat: Add sqlite server support for self-hosting (#2770)Scotte Zinn2025-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move db_uri setting to DbSettings * WIP: sqlite crate framework * WIP: Migrations * WIP: sqlite implementation * Add sqlite3 to Docker image * verified_at needed for user query * chore(deps): bump debian (#2772) Bumps debian from bookworm-20250428-slim to bookworm-20250520-slim. --- updated-dependencies: - dependency-name: debian dependency-version: bookworm-20250520-slim dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(doctor): mention the required ble.sh version (#2774) References: https://forum.atuin.sh/t/1047 * fix: Don't print errors in `zsh_autosuggest` helper (#2780) Previously, this would result in long multi-line errors when typing, making it hard to see the shell prompt: ``` $ Error: could not load client settings Caused by: 0: could not create config file 1: failed to create file `/home/jyn/.config/atuin/config.toml` 2: Required key not available (os error 126) Location: atuin-client/src/settings.rs:675:54 fError: could not load client settings Caused by: 0: could not create config file 1: failed to create file `/home/jyn/.config/atuin/config.toml` 2: Required key not available (os error 126) Location: atuin-client/src/settings.rs:675:54 faError: could not load client settings ``` Silence these in autosuggestions, such that they only show up when explicitly invoking atuin. * fix: `atuin.nu` enchancements (#2778) * PR feedback * Remove sqlite3 package * fix(search): prevent panic on malformed format strings (#2776) (#2777) * fix(search): prevent panic on malformed format strings (#2776) - Wrap format operations in panic catcher for graceful error handling - Improve error messages with context-aware guidance for common issues - Let runtime-format parser handle validation to avoid blocking valid formats Fixes crash when using malformed format strings by catching formatting errors gracefully and providing actionable guidance without restricting legitimate format patterns like {command} or {time}. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Satisfy cargo fmt * test(search): add regression tests for format string panic (#2776) - Add test for malformed JSON format strings that previously caused panics - Add test to ensure valid format strings continue to work - Prevent future regressions of the format string panic issue 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Koichi Murase <myoga.murase@gmail.com> Co-authored-by: jyn <github@jyn.dev> Co-authored-by: Tyarel8 <98483313+Tyarel8@users.noreply.github.com> Co-authored-by: Brian Cosgrove <cosgroveb@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
* chore: migrate to rust 2024 (#2635)Ellie Huxtable2025-03-19
| | | | | | | | | * chore: upgrade to 2024 edition * ugh unsafe * format * nixxxxxxxxxxx why
* fix: ambiguous column name (#2232)Ellie Huxtable2024-07-03
|
* fix: idx cache inconsistency (#2231)Ellie Huxtable2024-07-03
|
* feat: monitor idx cache consistency before switching (#2229)Ellie Huxtable2024-07-02
|
* perf: write to the idx cache (#2225)Ellie Huxtable2024-07-02
|
* fix: ensure we cleanup all tables when deleting (#2191)Ellie Huxtable2024-06-24
|
* feat: add user account verification (#2190)Ellie Huxtable2024-06-24
| | | | | | | | | | | | | | | | | | | * add verified column to users table * add database functions to check if verified, or to verify * getting there * verification check * use base64 urlsafe no pad * add verification client * clippy * correct docs * fix integration tests
* fix: redact password in database URI when logging (#2032)Jeremy Cline2024-05-21
| | | | | | | | | | | | | | | | | Previously, in the event that there was a configuration issue and the atuin server failed to connect to PostgreSQL, it would log the password. For example, if the password authentication failed the following log message would be printed: Error: failed to connect to db: PostgresSettings { db_uri: "postgres://atuin:definitelymypassword@db.example.com/atuin" } This change sets the password to "****" when printing it via Debug: Error: failed to connect to db: PostgresSettings { db_uri: "postgres://atuin:****@db.example.com/atuin" } Hopefully few people use **** as the actual password.
* chore: move crates into crates/ dir (#1958)Ellie Huxtable2024-04-18
I'd like to tidy up the root a little, and it's nice to have all the rust crates in one place