Streams-related
1. Finished implementing stream.observe() and stream.neglect() to work even when socket reconnects. https://github.com/Qbix/Platform/commit/704ee677a6937f0b20a26d6a3c56f6aff812ab47
2. Implemented stream.ephemeral(payload) that can be sent to any stream now, and whole system of ephemeral is now working parallel to messages. Unlike messages, ephemeral isn't saved to the database, doesn't trigger notifications for subscribers, and the order doesn't matter. It's for things like "Typing..." indicators and other temporary things. Ephemeral is like UDP while Messages is like TCP. https://github.com/Qbix/Platform/compare/e8ea5c11..dab4c9af
3. Implemented participant.testRoles(roles) to standardize testing roles, kind of like we have stream.testPermission(permission) but for participant extra, so we don't need to do heavy calculateAccess, inheritAccess, etc. https://github.com/Qbix/Platform/commit/014857005b7d52470262f52105f90b584083b907
Serving Files and CDN
4. Added support for signing URLs that we want proxies and CDNs to serve (although they can just check the HTTP "Origin" header to know what domain requested them) https://github.com/Qbix/Platform/commit/2ef28abbfe4dc41b1e94ff4a8db244f8822f43f3
5. Implemented gating files in Q/uploads/Streams when served with NGinX, now unauthorized users won't be able to see those files unless testReadLevel("content") is true https://github.com/Qbix/Platform/commit/d2a4be2874b54c4eaab08b63d2fe806d7541714a
... but this requires web/file.php and NGinX configuration like we have now in /etc/nginx/sites-enabled/intercoin.app on live server
6. Implemented Q_Text::setLanguageFromRequest() so it can be called from file.php https://github.com/Qbix/Platform/commit/c06441d7bcee8d591cf41fd36e0762b118f20df1
Miscellaneous Fixes
7. Fixed terms page, it used echo but should have used return https://github.com/Qbix/Platform/commit/bd513cf0c677557224d7962dca9371a14452eac5
8. Fixed Q/options default handler of HTTP OPTIONS verb
9. Fixed bug that was still getting streams from other publishers when relationsOnly was true https://github.com/Qbix/Platform/commit/587c526ff02d878ab11d39f87b64f1a7ecfb683b
... Oh, and tested everything as much as I could, finally.
This builds on https://github.com/Qbix/Platform