feat: warn rental Actor publishers about the rental model sunset - #1347
Merged
Merged
Conversation
Users with at least one rental Actor in Apify Store now get a notice after each command, at most once a day, until rental Actors are retired.
- Look the Store up through axios so the request honors HTTP_PROXY/HTTPS_PROXY/NO_PROXY, and send the same origin headers as the rest of the CLI. - Treat a non-2xx response and a 200 that is not a Store response as "unknown" rather than zero, so a captive portal or an outage cannot cache the notice away; fall back to the cached count instead. - Cache failed lookups as checked so a hanging connection does not cost the request timeout on every command. - Move the daily print throttle into `wasNotifiedRecently`, keyed per account, so logging in as somebody else does not inherit the previous user's timestamp. - Skip rewriting the state file on a quiet cache hit. - Spell out the years in the notice and say how to silence it.
The notice said what was ending but not what to do about it. It now names the deadline for switching to pay-per-event and links the migration guide, and the Discord line is reworded so the two links read as different purposes.
l2ysho
approved these changes
Aug 25, 2026
DaveHanns
approved these changes
Aug 26, 2026
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.
Closes #1344
Users with at least one rental Actor published in Apify Store get a notice after each CLI command:
#project-rentalson Discord for questions.ApifyCommand._run'sfinally, so it prints after the command's own output, in both entrypoints. Goes to stderr, so--jsonpayloads stay clean.GET /v2/store?username=<you>&pricingModel=FLAT_PRICE_PER_MONTH&limit=1. Username is read fromauth.jsondirectly —getLocalUserInfo()would hit the OS keyring and pop a keychain prompt on commands that need no auth.~/.apify/state.json. Skipped in CI, and auto-expires on 2026-10-01 so old CLI versions stop nagging after the migration. Never throws.APIFY_CLI_SKIP_RENTAL_SUNSET_NOTICE=1(also set suite-wide invitest.config.ts).