fix: allow logging overdue recurring habits and future one-time tasks - #115
Merged
Conversation
Overdue recurring habits can now be completed on today's date even when not scheduled for today. One-time tasks can be completed before their due date. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
thomasluizon
added a commit
that referenced
this pull request
Jun 4, 2026
…181) * chore(api): fix integration-test Jwt:SecretKey length (>=32 bytes) WebApplicationFactory<Program> loads config from the Orbit.Api content root, where appsettings.json carries a 27-byte "REPLACE-IN-DEVELOPMENT-JSON" placeholder for Jwt:SecretKey. JwtSettings.Validate() requires >=32 bytes, so every integration test threw at startup ("Jwt:SecretKey must be at least 32 bytes (27 provided)"). The test project's own appsettings.json is never loaded by the factory (content root resolves to src/Orbit.Api), so its valid key was dead config. Inject a test-only secret via UseSetting in the factory instead. Production validator is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(api): encrypt Google tokens backfill + user data export (#115) Add User to the DataEncryptionMigrationService backfill loop (versioned the EncryptionMigrationComplete flag to EncryptionMigrationComplete_v2 so existing User rows with plaintext Google OAuth tokens are re-encrypted once). Verified the GoogleAccessToken/GoogleRefreshToken converter wiring with a real-key round-trip test. Add an authenticated GET /api/profile/export (ExportUserDataQuery + UserDataExport model) returning all of the user's habits, logs, goals, progress logs, tags, facts, and settings as a downloadable JSON attachment (LGPD Art. 18 / GDPR Art. 20). Integration-tested for content and per-user scoping. Refs thomasluizon/orbit-ui-mobile#115 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
HasMissedPastOccurrencehelper toHabitScheduleServicefor reusable overdue detectionTest plan
🤖 Generated with Claude Code