Git Product home page Git Product logo

Comments (8)

ebidel avatar ebidel commented on May 8, 2024

Phase 3 right?

from ioweb2016.

wibblymat avatar wibblymat commented on May 8, 2024

As well as #104 I/we also need to do a review of the UI pieces.

The text next to the checkbox last year did not match the behaviour, so that probably needs updating.

Also, Firebase allows us to have real-time updates, so the UI should respond to those.

from ioweb2016.

ebidel avatar ebidel commented on May 8, 2024

The schedule page will be very different this year. We'll definitely need
your help making the toasts work well with firebase.

On Fri, Feb 19, 2016, 5:26 AM Mat Scales [email protected] wrote:

As well as #104 #104 I/we
also need to do a review of the UI pieces.

The text next to the checkbox last year did not match the behaviour, so
that probably needs updating.

Also, Firebase allows us to have real-time updates, so the UI should
respond to those.


Reply to this email directly or view it on GitHub
#103 (comment)
.

from ioweb2016.

nicolasgarnier avatar nicolasgarnier commented on May 8, 2024

Has this been fixed by #104 ? If not could we add more background about what that bug is?

from ioweb2016.

ebidel avatar ebidel commented on May 8, 2024

What's this bug? Is it to use Propel?

from ioweb2016.

wibblymat avatar wibblymat commented on May 8, 2024

Yes, it is to use Propel. PR incoming soon, but I'm working through the UX of how we interact with Firebase.

Here are the notes I'm using to work this out, for future reference.

Possible bad behaviour that we need to guard against:

  • List of subscriptions in FB grows indefinitely
  • Checkbox starts as 'off' on page load, which causes unsubscribe every time for all clients
  • Toggling checkbox to 'on' while offline disables the button forever (doesn't recover when coming back onlione)
  • Other client toggles on, this client prompts for permission
  • Cannot subscribe when offline
  • Toggle can be on when there is actually no subscription

There are three things that have state - the local subscription, the checkbox, and Firebase.

When local subscription changes from 'off' to 'on':

  • Set checkbox to on
  • Set checkbox to enabled
  • Set FB to on

When local subscription changes from 'off' to 'error':

  • Set checkbox to off
  • Set checkbox to enabled
  • Show a message
  • Leave FB as is

When local subscription changes from 'on' to 'off':

  • Set checkbox to off
  • Set checkbox to enabled
  • Set FB to off
  • Remove existing subscription from FB

When FB changes from 'on' to 'off':

  • If local subscription, show message saying you were remotely unsubscribed?
  • Unsubscribe
  • Set checkbox to off
  • Set checkbox to enabled

When FB changes from 'off' to 'on':

  • Leave local subscription as is
  • Leave checkbox as is

When checkbox is clicked while off

  • Subscribe
  • Disable checkbox
  • (checkbox should animate while disabled)

When checkbox is clicked while disabled

  • Do nothing

When checkbox is clicked while on

  • Unsubscribe
  • Disable checkbox
  • (checkbox should animate while disabled)

from ioweb2016.

ebidel avatar ebidel commented on May 8, 2024

Should we also cache the checkbox state for offline?

Yea, I think the easiest is to always disable the checkbox if you're offline since there's no way for the user to make that change. Pretty sure we did that last year instead of worrying about the offline -> online case.

from ioweb2016.

wibblymat avatar wibblymat commented on May 8, 2024

@ebidel the state of the checkbox should be based on whether we have a local subscription. This can be initially checked offline anyway.

from ioweb2016.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.