Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SAM-64 high level modularization #44

Conversation

JoshuaCWebDeveloper
Copy link
Collaborator

@JoshuaCWebDeveloper JoshuaCWebDeveloper commented Nov 13, 2022

  • Modularizes worker/index.ts file and replaces it with new worker/service-worker.ts file
  • Refactors fetch handler (not the p2p fetch logic)
  • Refactors messaging handler
  • Refactors bootstrap logic
  • Implements logging layer (with configurable levels: https://github.com/pimterry/loglevel#documentation)
  • Introduces boilerplate tests (70% written by Github Copilot)
  • Leaves two large chunks of unrefactored code: worker/p2p-fetch/ and worker/p2p-client/
  • Removes all existing global variables but implements new SamizdAppDevTools global variable with libp2p, logging, and status properties.

@JoshuaCWebDeveloper JoshuaCWebDeveloper merged commit d89122b into features/refactor-service-worker Nov 14, 2022
@JoshuaCWebDeveloper JoshuaCWebDeveloper deleted the SAM-64-high-level-modularization branch November 14, 2022 20:06
JoshuaCWebDeveloper added a commit that referenced this pull request Nov 18, 2022
* Improve console logs on peer:connected event (#40)

* SAM-64 high level modularization (#44)

* Rename service-worker.ts to worker-messaging.ts

* Exclude self from 'no-restricted-globals' eslint rule

* Modularize worker/index.ts and replace with new root worker/service-worker.ts file

* Add missing message handlers to new refactored code

* Add trace logging for forwarding fetch requests

* Format logger output

* Create new DevTools util accessible via 'SamizdAppDevTools'

* Return root logger from logging.getLoggers()

* Write boilerplate tests for new worker

* SAM-66 refactor p2p client (#45)

* Add localforage to SamizdAppDevTools

* Add workbox logging comment to root service-worker.ts

* Refactor p2p-client into high-level OOP architecture

* proper agentversion (#48)

* Improve worker logging (#49)

* Don't use logger namespaces as logger names (makes name matching easier)

* Prefix log with method name, not logLevel setting

* Don't log using console.trace()

* Persist loglevel using localforage and correctly set default levels

* Move logging module to separate directory

* Set prettier tabWidth to 2 for yaml and .prettierrc files

* Create new logging.yaml file that sets default levels on all matched loggers

* Handle possibility of no logging config

* Fix: set log level of worker/p2p/bootstrap to INFO

* SAM-68 better libp2p implementation (#51)

* Uninstall multiaddr package (use the same one libp2p uses instead)

* Delete old worker/index.ts file (uninstalling old package caused import errors)

* Refactor bootstrap-list to more cleanly manage addresses and configure libp2p discovery

* Refactor stream-factory with cleaner logic and more robust restart

* Adjust p2p logging

* Import workbox-precaching for types (preivously was imported in index.ts)

* Add new SamizdAppDevTools.addressBook property

* Improve p2p logging

* Disable autodial and restart() and replace with serve connection retry logic

* SAM-73 don't cache empty p2p bootstrap list (#53)

Don't cache empty p2p bootstrap list

* SAM-71 migrations (with libp2p migration) (#52)

* Make JSON parsing more defensive in bootstrap-list loadCache()

* Create new migrations layer and add first migration: libp2p.bootstrap -> p2p.bootstrap-list

* SAM-72 close stats socket (#54)

Close stats websocket after collection

* SAM-65 disable static cache when running locally (#55)

Disable static cache when running locally

Co-authored-by: Ryan Bennett <nomad.ry@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant