1.8.0
This release cleans up session handling significantly, including making cookies specific to account and project.
Improvements
- All session information is now stored in a single cookie, epicenterjs.session, that defaults to a path of
/app/{account id}/{project id}/
.- Making the cookie specific to the account and project allows end users to log in to several different projects from the same team without session information being overridden.
- As a developer, if you need to set the cookie path to something else, you can change it explicitly by passing
{ store: { root: 'other/path' } }
to the Authorization Manager.
- When a user logs in, the access token is now automatically passed to the User, Member, and State API adapters, and to the Channel and Epicenter Channel managers. As a developer, you no longer need to worry about passing tokens once the user is logged in.
- The Epicenter Channel manager now automatically validates channel names. They must be in the form
/{type}/{account id}/{project id}/{...}
, wheretype
is one ofrun
,data
,user
,world
, orchat
. (See the underlying Push Channel API for additional details.) You can disable this validation if needed.
Bug Fixes
- When automatically splitting long queries into multiple pieces, the pieces were still a little too long for Microsoft Edge when all the URL-encoding was included. This was fixed by shortening the size of the pieces to account for any encoding.
- In some situations, the login component generated extraneous errors in the console. This has been fixed.