Skip to content

Conversation

@aaudin90
Copy link
Collaborator

@aaudin90 aaudin90 commented Dec 2, 2025

No description provided.

aaudin90 and others added 6 commits December 2, 2025 18:21
Added .workflow directory for temporary working files with .gitkeep.
Updated .gitignore to exclude workflow contents except .gitkeep.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
…chronous

Changed UserRepository methods from suspend functions with Mutex to
regular synchronized functions. This simplifies call sites by removing
the need for runBlocking and coroutineScope.launch wrappers.

- Replace Mutex with @synchronized annotation for thread safety
- Update setCurrentUser to properly track userId changes
- Fix UserRepositoryTest assertions to match new behavior

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
… Storage

Removed separate paywalls and placements cache from Storage interface.
Paywalls and placements are now stored only within ApphudUser object.

- Remove paywalls/placements properties from Storage interface
- Add migration logic to move legacy cache data into ApphudUser
- Bump cache version to "3" to trigger migration
- Add helper methods for reading and clearing legacy cache

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Changed paywalls and placements to be computed properties that read
directly from currentUser instead of maintaining separate state.

- Convert paywalls/placements from @volatile fields to computed properties
- Remove updatePaywallsState() method - no longer needed
- Remove cachePaywalls/cachePlacements/readPaywallsFromCache methods
- Simplify updatePaywallsAndPlacements() without synchronized blocks
- Update fallback mode to store paywalls in user object
- Remove unnecessary coroutine wrappers for synchronous UserRepository

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Removed paywalls/placements computed properties and getPaywalls()/
getPlacements() methods from ApphudInternal. All usages now access
currentUser?.paywalls and currentUser?.placements directly.

- Remove paywalls/placements properties from ApphudInternal
- Remove getPaywalls()/getPlacements() methods
- Update all call sites to use currentUser?.paywalls/placements
- Replace ?: emptyList() with .orEmpty() for consistency

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
…dUtils

Added ability to override API base URL via ApphudUtils.overrideBaseUrl().
- Exposed urlProvider in ServiceLocator as internal
- Method accepts optional onError callback for handling cases when
  SDK is not initialized yet

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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