Ably JS v2: authorize() always fetches a new token, force is gone
Shows how to fix ably JS v2: authorize() always fetches a new token, force is gone. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
When you migrate to Ably JS v2, remove force: true from authorize() calls; the renewal is now unconditional. And dont pass a partial auth options object to authorize() unless you mean to replace the stored options wholesale.
Steps
- When you migrate to Ably JS v2, remove force: true from authorize() calls; the renewal is now unconditional. And dont pass a partial auth options object to authorize() unless you mean to replace the stored options wholesale. Re-check token renewal flows in tests, since the old special-case behavior is gone.
When to use
You are seeing this: Re-check token renewal flows in tests, since the old special-case behavior is gone. Use this skill when you run into "Ably JS v2: authorize() always fetches a new token, force is gone".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.
Why this happens
The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
Edge cases
- Also note that passing any auth options object to authorize() overwrites the library's stored auth options, which may not be what you want.