-
Notifications
You must be signed in to change notification settings - Fork 0
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
Release version 0.1.0 #66
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Initialize project * Add node_modules to gitignore * Initialize React using vite * Relocate .gitignore generated by Vite to .gitignore of the monorepo * Initialize the server repo * Initialize typescript * Add more properties to the tsconfig * Install packages for eslint + prettier * Add scripts * Install nodemon, add HMR scripts * Add notes * Relocate * Replace tsc-generated init with the one from the tutorial * Adjust prettier * Add dummy TS file * Install express * Install dotenv * Remove manual setting of ENV * Change target versions
* Remove unneeded code * Install react-bootstrap * Install react-router * Create provider for wrapping react router * Separate provider component from route declarations * Use the Route element approach * Remove app.tsx * Create index page * Adjust name * Create layout component * Use container component * Create basic component * Use Stack instead of Row * Install react-use * Install react-if * Externalize compoents, add statefulness * Flesh out the component * Integrate * Add name functionality * Use dev server * Install axios * Adjust tsconfig * Install nanoid * Adjust how TS works * Allow implicit returns * Add route for creating rooms * Create api-client service * Create room page * Externalize the components for actions * Create hook * Add comment * Implement handler for hosting a room * Add TODO * Integrate into routes * Apply BE fixes * Adjust baseURL * Send correct status * Implement room joining * Distinguish the errors * Create error components * Use better import * Change error screen content based on error type * Revise the loader logic * Fix status detection * Use div instead of container * Handle no username * Change sequence * Re-throw RoomError * Improve UI for not found error * Adjust unexpected error screen
* Install socket.io * Introduce the .hook convention * Revert "Introduce the .hook convention" This reverts commit 13b12df. * Separate component for room content * Use useParams in RoomContent directly * Introduce the .hook convention * Create hook for socket-io * Create connectSocket * Create types for room * Adjust name * Wrap connect error with custom error class * Integrate changes into the loader method * Use loader data * Install nanoid * Create util for getClientUUID * Rename local-storage.util * Add initial message-sending * Rename * Make types tighter * Rename * Impl responding to joined * Change signature of createSocket * Implement socket.io handling in the server * Add comment * Add disconnect * Add comment regarding room id validation * Use single port * Remove unused hook * Fix getRoomId * Apply fixes to connection * Fix getClientUUID * Make RoomSocketCode have string values * Support providing client id * Enable websockets in the devserver * Create and use useMount * Add comments * Create V2 hook * Do unmounting in the Room page itself * Remove code for now * Revert "Remove code for now" This reverts commit 90275d6. * Relocate * Add debug * Move socket.io code to a separate file * Improve connect/disconnect logic * Remove socket disconnect * Change name * Add codes and events * Create manager and socket hooks * Relocate * Adjust roomSocketManager to use useRoomSocket internally * Install immer * Install use-immer * Change property name * Create hook for listing the user * Change name * Remove unused * Use list * Update lockfile * Use tsc command * Adjust tsconfig * Remove lib * Resolve problems with ESM * Remove use-immer * Add logging * Revert "Remove use-immer" This reverts commit ef1ec71. * Impl fetch list logic * Handle not found cases * Use correct code * Install lodash * Use map instead of list * Provide name * Use raw * Export an object
* Install cypress * Install cypress * Set up cypress * Move to devDependency * Add tsconfig to cypress * Add test stub * Add config * Adjust TSConfig according to the cypress instructions * Add dataCy command * Relocate commands * Add baseUrl * Add initial test * Install localstorage commands * Integrate localstorage commands * Use beforeEach instead of before * Create and satisfy some tests * Add test * Add more tests * Change name * Add error handling tests * Satisfy tests * Add more tests
* Install interactjs * Create drag element * Create renderer for freehand * Rename to Path * Export DragEvent * Adjust interface name * Create component for testing * Externalize point * Apply correction to PadPath * Integrate path * Apply corrections to the Draggable component * Add comment * Fix visual bugs in PadPath * Add more functionality * Add skipping to the draggable component * Implement pad prototype * Add the use of useMemo * Revert "Add the use of useMemo" This reverts commit 6d0f4a0. * Make paths smoother * Chagne name to be more distinct than the native DragEvent * Create new dimensions type * Make RoomContent use full remaining space for the pad * Add comment * Remove isend detect * Use useMemo
* Create new hooks * Deprecate useRoomSocketManager * Use messageEffect * Remove unused hook * Add more payload data * Install redux * Create initial Redux code * Add to the main file * Create typed hooks * Create store hooks * Adjust reducer * Impl initial use of redux * Adjust z-index * Change name * Creaet Pathdata * Adjust names * Simplify the slice * Create PadContentRenderer * Create path input * Create path input * Apply changes to the slice * Remove pad * Adjust z-index * Implement the draw service * Relocate * Send the path create message * Adjust room codes * Create hook for listening for path events * Adjust types * Integrate the hook * Create mutate action * Add types to the sendMessage * Implement real time drawings * Make drawn lines smoother * Add touch-action * Change action to just adding a point
* Export type for color * Add more state properties * Change slice name * Change name * Impl color controls * Integrate the state * Use selector * Install rc-slider * Do aliasing * Use correct value format * Use slider * Adjust use of slider * Make the controls be vertically centered
* Use the alias in the components directory * Use the alias elsewhere * Apply corrections
* Change broadcast to 'PAD_EVENT' * Revert "Change broadcast to 'PAD_EVENT'" This reverts commit 7180f65. * Change 'BROADCAST' to 'PAD' * Change event name of 'BROADCAST' to 'PAD' * Change interface name * Change 'SERVER_REQ' to 'SERVER' * Change event to SERVER instead of PAD * Make changes to the types * Impl useSocketOn * Impl useSocketOn * Use the correct event type for join * Make distinction between socket and pad type * Install RXJS * Save events pushed to the BE * Use string instead of enum * Create pad history handler * Rename * Implement the functionality * Add new types * Create service for pad events * Add to loader * Fix import * Integrate the pad events service * Adjust how the method was written
* Use dynamic chunk sizes * Add comments, rename * Add more comments * Add min to chunk size mechanism
* Create stub for the room tests * Add uuid * Rename * Rename * Remove extra space * Use createRoomSocket * Use constant files * Add tests * Config paths * Adjust alias config * Adjust tsconfig * Use alias * Satisfy the tests * Test participant list * Add failing test * Move router outside of the scope * Improve how we instantiate sockets in tests
* Run the formatter * Run prettier formatter for the server * Set up and install prettier * Run the formatter * Remove one extension type * Adjust the config * Eliminate linter errors * Add eol auto
* Create new types * Create V2 for the methods * Rename * Create controller for connection activity * Supply the server object * Call the correct message * Integrate socket-controller * Change name * Revise the format * Add req message to types * Integrate to connection list * Apply BE corrections * Mark useSocketOn as deprecated * Adjust message type * Deprecated current hooks * Adjust the pad hooks * Change name * Apply formatters and apply linter-required changes * Remove unused types * Use constants instead of enums * Remove unneeded deps
…ng (#15) * Use client * Use client*0
…nd drawing persistence (#16) * Adjust types * Adjust types * Impl test * Check for existence * Change how path is rendered * Validate using points * Create child command version of dataCy * Create getCy * Rename to getCy * Add presistence test
Feature 1: implement basic product features -- cloud drawing
* Create reusable script for client validation * Create verification script for the server * Impl whitespace change * Set correct cache * Change ext * Adjust name * Create actual verification script * Apply changes to the main one * Use double star * Improve names * Run formatter to satisfy the linter * Create common test * Adjust the cypress test * Add test-common * Prevent install via cypress * Add server:dev script * Adjust script to use yarn server:dev * Use headed * Revert "Use headed" This reverts commit 7b83b7a. * Create artifacts * Add e2e script * Add cypress to gitignore * Use promise chaining * Remove use of async/await from pad-socket * Use `then` in participants-list * Run formatter
* Create dockerfile for the server * Adjust the dockerfile * Adjust the dockerfile again * Add comment * Use staged builds * Adjust some commands * Create reusable workflow for building the server docker * Add inputs * Add ghcr * Add permission to push * Change image name * Add prepend input * Rename and adjust condition * Adjust whitespace * Create develop pipeline * Change branches condition * Provide correct input
* Create dockerfile for the client * Add comment * Rename test-common-reusable to just test-reusable * Change "server build" to just "build" * Add automation for client build * Apply corrections * Adjust job names * Fix nonexistent build * Adjust tag
ci: c7: automate building of docker images
* Create nginx.conf file * Add to dockerfile * Add comment
* Relocate to appropriate subfolder * Create room object and room service * Add methods for rooms * Change export approach * Move out * Install cron * Add CRON * Add comment * Use correct extension * Use paths * Use room service in the index file * Rename folder * Remove unused imports * Change type, add comment * Add comments, change cron frequency * Expose room as public * Use encapsulation * Use the service * Run formatter * Use folder * Change name * Create room service class * Use the class * Restore older functionality * Run linter * Run start * Use relative paths * Add TODO * Add logging * Remove spammy logging
* Add jest as a dev dependency * Push results of the jest init * Init jest via ts-jest * Kick after 30 mins of inactivity * Move purging logic to its own method * Create CONST * Expose some as public * Add jest tests * Add more tests * Adjust names * Adjust names * Make client parallel * Adjust server routine * Change test name
c8: implement room purging
* Create UI slice * Create initial loader provider * Add the UI slice to the store * Add loading functionality * Create loading hook * Change name * Integrate the LoadingProvider * Apply fixes to the LoadingProvider * Add isolate class * Add comments * Adjust appearance of the spinner * Add the spinner to the loader * Add comment about conscious choice of not hiding the loading spinner * Create joinRoom method * Add comment about delibrately not hiding loader * Add tests for the loading overlay * Add comment about loading overlay * Make the action step responsive * Change name * Run the formatter
* Move the controls to the bottom * Create slice for socket * Add new slice to store * Format the slices * Use state for the connected participants * Create hook for just listening for participant changes * Adjust name * Integrate to the room * Create standalone useParticipants * Relocate some things * Partially switch to a module-grouped project structure * Run formatter * Provide own type * Create participant list component * Integrate ParticipantsList to RoomContent * Adjust UI of the participant item * Appease the tests * Run formatter * Create screen hook * Fix the hooks * Make the user list appear only for larger screen sizes * Relocate comment * Remove space * Set viewport dims * Create modal for participants list * Integrate ParticipantsModalButton * Fix modal styles * Fix infinite resize bug * Run formatter * Use separate selectors * Add data-cy * Adjust data-cy values * Adjust tests * Adjust the tests * Run formatter * Change name * Change typography * Fix variant * Remove connectedUsers * Fix lint errors * Use smaller lodash imports * Add delay intercept * Run formatter
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.