Skip to content

Latest commit

 

History

History
75 lines (62 loc) · 3.72 KB

README.md

File metadata and controls

75 lines (62 loc) · 3.72 KB

Hello

Development

  • install npm ci
  • run in development mode npm run start
  • run tests, type check and prettier check npm run validate
  • build npm run build

Release

Random notes

  • Chrome CSP
    • Because of Chrome plugins CSP policy we cannot have inline scripts unless we mention their sha256+base64 value in manifest.json in content_security_policy field. Create React App includes some inline scripts by default so we would either need to have some build pipeline that extracts these scripts value and ads its sha256+base64 into manifest.json or we could use INLINE_RUNTIME_CHUNK=false environment variable that puts these scripts into external file.
    • Another inline script is window.GLOBAL_PERF_TIMESTAMP = Date.now(); that is used for performance measuring. This one is added manually into manifest.json. Side note: performance.timeOrigin seemed to return wrong timings, investigate further in the future
  • Create React App does not support testing files that have name test.ts, only files with *.test.ts or *.spec.ts patterns, so we go around this by calling tests spec.test.ts
  • Global state is available in dev mode on window._state.
  • Bing API does not provide CORS headers, so we have ./hello-cors-proxy project that proxies the requests.s

Dependencies

  • wicg-inert
    • remove polyfill, once supported by browsers

Attributions

  • Icon by Alice Noir with slight modifications by me.

TODOs

  • chrome store
    • images without settings button
  • hotkeys (esc) do not work when input is focused
  • show changelog somewhere in menu
  • decimal places in age configurable
  • animations
    • use react-spring
    • animate view transitions
    • animate menu height
    • also menu bugs
      • no when menu height content is extended, it lags behind content
      • when menu height content is collapsed, it happens instantly
    • animate text appear/disappear in menu
  • background image switching seems slow and buggy sometimes
  • conditional updated is broken when we change clocks showSeconds prop, overall behavior seems strange investigate!
  • add calendar widget?
  • add another image providers?
  • images
    • try to load image from cache, if it is there display it, if not only then display offline fallback
    • bing image of the day
      • download once a hour, not on every page view?
      • when downloaded and it is new one, should we immediately switch to new one, or on next page view?