[bcc: board@ for announcement only, please direct bug reports, feature
requests, and other discussion to dev@whimsical or the whimsy JIRA]
This is only for Firefox and Chrome users at this point (and those that
know how to enable experimental features in Edge and Safari).
To use go to the 'Queue' page for this month's agenda, and click 'go
offline'. A number of buttons will become disabled, but Directors will
still be able to toggle approvals, toggle flagging, and add comments.
Even without a network connection.
Changes will be stored in an indexDB database in your browser, and will
persist across tabs, windows, and even entire browser sessions.
In fact, even with a disabled network, you can close and re-open agenda
pages, open agenda pages in new tabs or windows, and even press refresh.
Changes made in one tab will show up in other tabs or windows.
Once you have a network connection again, go back to the queue page and
click 'Go online'. At this point, your pending changes will be synced
with the server but not committed to svn. You can continue to make
changes (and even go offline and back online again). Once complete,
commit the changes as you normally would.
- Sam Ruby
(*) For those interested in the technical details, this function makes
use of a feature named Service Workers (a.k.a. Progressive Web Apps).
https://caniuse.com/#feat=serviceworkers
There is nothing to install. Browsers that don't support this feature
will continue to behave as they did before. Users using browsers which
support this feature won't see any difference the first time they load
an board agenda page.
The magic begins after the first page is loaded. The service worker
will be installed and then will proceed to fetch and cache a number of
pages from the server. This is all in prep for the next time a board
agenda page is opened in a new window, at which point the service worker
will intercept the request and provide a cached response. Once loaded,
the page will fetch current data from the server update the page based
on that response. And will keep the page up to date as updates are
received from the server.
The comment dialog and approval buttons have been updated to store the
pending changes locally when offline.