The Stream only has to re-render when 'stream.length' changes, but
could be re-rendered by a parent in scenarios where 'stream.length'
has not changed. This change optimizes that scenario by only
re-rendering the stream when 'stream.length' changes.
This change fixes SurahStream.tsx by hosting the durations for the
timer locally, within the app, rather than depending on
al-quran.reflectslight.io being accessible (eg when offline).
When one build is running, we don't want a second one
to run as well as the two builds could step on each
other toes. This change adds a locking mechanism that
waits for the current build to finish before starting
the next build.
The Stream only has to re-render when 'stream.length' changes, but
could be re-rendered by a parent in scenarios where 'stream.length'
has not changed. This change optimizes that scenario by only
re-rendering the stream when 'stream.length' changes.
This change fixes SurahStream.tsx by hosting the durations for the
timer locally, within the app, rather than depending on
al-quran.reflectslight.io being accessible (eg when offline).
When one build is running, we don't want a second one
to run as well as the two builds could step on each
other toes. This change adds a locking mechanism that
waits for the current build to finish before starting
the next build.