- Every time the REPORT_NETWORK_QUALITY event comes in, I want to assign its results to context (no matter what else happens)
- If the network quality is bad or worse, we want to show a warning
- If the network quality gets better, we want to hide the warning again
- The warning must show for a minimum of 2 seconds, we don't want any weird flickering.
- The user should be able to dismiss the warning forever using the DISMISS_NETWORK_QUALITY_WARNING. The warning should never show again.
Learning Goal: Learn the basics of computer science with Base_cs series | |
Learning Curriculum: | |
Schedule its based on the first link, a compiled list of base_cs series content. The rest of links are other forms of the content to support our learning | |
- Github Repo | |
Link: https://github.com/vaidehijoshi/basecs-series | |
- Podcast | |
Link: https://overcast.fm/itunes1304168963/base-cs-podcast |
// ---------------------------------------------------------------------- | |
// Smart wrapper around Next.js <Link> | |
// | |
// This is to improve the default handling of Next.js dynamic links which | |
// requires both `href` and `as` props. | |
// This improvement enables the following usage: | |
// | |
// <Link page="/users/[id]" params={{ id: user.id }}>{user.name}</Link> | |
// | |
// <Link page="/blog/[...slug]" params={{ slug: ['coffee', 'frenchpress'] }}>View Here</Link> |
function setFocusIfFocusable(node) { | |
if (node.nodeType !== Node.ELEMENT_NODE) { | |
// Text and comment nodes aren't focusable. | |
return false; | |
} | |
if (node.disabled === true) { | |
// Disabled elements can't be focused. | |
return false; | |
} |
#!/usr/bin/env zsh -f | |
# Purpose: get the RSS feed for a YouTube page | |
# Inspired By: https://eggfreckles.net/notes/youtube-rss/ | |
# Gist: https://gist.github.com/tjluoma/fdbc63ceb78a2aecd3d638fd18b6ec6e | |
# | |
# From: Timothy J. Luoma | |
# Mail: luomat at gmail dot com | |
# Date: 2020-01-17; updated 2021-01-10 | |
# 2021-01-10 YouTube currently has both 'rssUrl' and |
import React from "react"; | |
import { Link } from "react-router-dom"; | |
export function createResource(getPromise) { | |
let cache = {}; | |
let inflight = {}; | |
let errors = {}; | |
function load(key) { | |
inflight[key] = getPromise(key) |
When a MobileSafari keyboard-receing input (e.g. an input[type=text]
) receives focus in Safari, the system will try to verify whether there is ample room to bring up the soft keyboard without needing to scroll. The amount of wiggle room needed for Safari to consider available scroll height "ample" seems to increase with every major iOS release (surely to work around the very real problem of focus being granted to inputs that are subsequently oscured by the keyboard).
However, for "app-ey" web sites that carefully place each text input in a relatively fixed layout, this can be a maddening arms of scooching up my content more and more with each iOS release to avoid awkward jutters every time the keyboard is shown (example video here. In practice, it seems like the input's scrollHeight
can only really be about the equivalent of 15vh
before you're likely to get an automated scrolling whiplash from the soft keyboard, which isn't much
- Error Tracking https://sentry.io
- Error Tracking https://logrocket.com
- Localisation https://crowdin.com
- Localisation https://poeditor.com
- Auth https://auth0.com
- Continuous Integration https://travis-ci.org/
- E2E Testing https://www.cypress.io
- Cross Browser Testing https://www.browserstack.com
- Code Coverage https://codecov.io
- Serverless https://zeit.co/