Releases: radian-software/hypercast
Hypercast server v0.0.5
Upgrade to version 4.1.0 of Sleeping Beauty, which fixes a significant
memory leak.
Hypercast server v0.0.4
Enable use of Sleeping
Beauty (version
2.0.1) in provided Docker image, to save on resource utilization. You
can customize the runtime parameters of the container to recover the
previous behavior, if you wish.
Hypercast browser extension v0.0.11
There are significant internal changes to support using special
behavior on specific streaming sites, to allow support for sites that
don't follow modern internet standards for video playback. This works
by letting you configure, for a given site, replacements for the
default "play", "pause", and "go to timestamp" functions that
Hypercast would normally use. The interface is not especially
user-friendly at this stage; you can edit a raw JSON object in the
settings dialog. This will be improved in future, and documentation
added. The default setting enables support for Hulu, which should now
function properly most of the time, instead of not working at all,
which was the previous behavior. Note that this feature does not work
on Chrome due to limitations imposed by Google, which are unlikely to
ever be lifted. Therefore, working sync for Hulu (and other sites you
may configure with special behavior) is only supported on Firefox.
(You get an error message if you try to activate Hypercast on Hulu in
Chrome, rather than the previous behavior of it turning on and
breaking everything.)
The options dialog also has padding on the bottom now, so it looks
less terrible in Firefox.
The message "Content script: waiting for user to click extension icon
in toolbar" is now logged in the browser console. This hopefully makes
it more clear why nothing further happens on page load without manual
user interaction.
When you click the extension icon, an overlay is now displayed with
some basic status about what the extension is doing, which makes it
easier to troubleshoot without having to look at the debug logs. You
can minimize the overlay to an icon and re-expand it by clicking the
minimized icon. The appearance of the overlay is rough and will be
improved in future.
The overlay can now be used to enable and disable syncing. If
something bugs out and you just want to continue watching the video,
you can toggle sync off. This divorces your client from the session in
a reversible fashion, without you needing to refresh the page. Your
updates will not affect other clients, and other clients' updates will
not affect you. You can re-enable sync at any time, which will move
your playback state to match other clients'. When sync is disabled,
another checkbox appears that allows you to enable skew. This is an
advanced feature to work around dumb-as-nails anti-consumer
anti-features present in sites like Hulu, where depending on ad
playback, different people can have different episode runtimes and
different playback positions for the same moment in a TV show. The
usage is as follows: if your playback is out of sync after an ad,
then pause playback, disable sync, manually synchronize your playback
(either you or others can adjust playback position to a known-good
point, like a scene transition), enable skew, re-enable sync. If skew
is enabled when re-enabling sync, your current offset from other
clients' shared playback position will be stored (locally, does not
persist after page refresh) and transparently subtracted out from all
communications with other clients. This means sync works as before,
but with a fixed offset between your playback position and others'.
Hypercast browser extension v0.0.10
Other clients will be paused when your video starts buffering, and
will be unpaused when it finishes.
Hypercast server v0.0.3
No longer require client IDs to be sent by clients, as they were not
used for anything important.
Do not log messages, as the debugging utility is limited now that
end-to-end encryption is the default mode of operation.
Hypercast server v0.0.2
Actually discard excessive (4096+ character) messages, rather than
just logging a message saying they are being discarded, but processing
them anyway.
Enable CORS for all origins.
Hypercast browser extension v0.0.9
New clients will sync automatically to the current playback state when
joining a session. This improvement required a breaking change to the
protocol, so all clients must upgrade to 0.0.9 to communicate.
Some bugs introduced in 0.0.8 where playback would fail to sync to
other clients have been fixed.
Client ID configuration has been removed from settings since setting
your client ID never had any effect. Setting a display name will be
added in a future release, but it would not have any effect now
because there is nowhere in the interface for a display name to be
displayed.
Hypercast browser extension v0.0.8
In some cases video playback would flicker back and forth between
multiple positions when seeking, especially with a large number of
clients connected. This has been made much less likely by implementing
a slightly modified synchronization algorithm.
Detection of the active video element is faster now in most cases. If
there is only one choice, then it is selected immediately. Only if
there is more than one candidate and Hypercast cannot disambiguate do
you have to hit play on the main content to show it which is which.
Hypercast browser extension v0.0.7
End-to-end encryption is now used, so the server has no knowledge of
what data is passing between clients, except for at what timestamps
data is sent, and no ability to tamper with the contents. The usage
model is the same, but all clients in a session must upgrade to 0.0.7
to communicate.
Hypercast browser extension v0.0.6
The entire current playback state is now sent to other clients on
every interaction. This means that playing or pausing will ensure that
all other clients match your current time in the video, rather than
just ensuring they have played or paused as appropriate, for example.
There is now an icon.
You now have to click the extension icon before things start
happening, which means all videos are not automatically synchronized
globally forever.