Skip to content

Conversation

@evan-buss
Copy link
Owner

No description provided.

- phosphor icons now uses a different package name
- mantine notifications no longer need a wrapping provider
- added ability to sort individual columns
- moved column filtering to toolbar above grids
  - design inspired by shadcn ui docs
- added global fuzzy search to search both author and title
  - often times these aren't actually correct as IRC doesn't
    give us these fields directly. we parse them based on
    an assumed format that not all the IRC content
    servers follow. As a result there are often times authors
    in the title fields and titles in the authors field
  - in the future I may merge the two into a single "identifier" field
- rewrote the grid components to use a reusable "DataTable"
  component that abstracts all the nitty-gritty details
  like cell virtualization and filtering / sorting logic
  - this will make future changes much easier
- todo: toggle columns on / off for better mobile support
- can show / hide table columns so it
  better fits on various screen sizes
- couldn't figure out a tanstack table
  way to responsively show / hide
  specific columns
- use the mantine scrollbars
- adjust css to use full drawer height
* feat: upgrade to mantine v7

- this version removes css in js so a lot of the custom
  styling had to be rewritten
- theoretically it should be more performant than css-in-js
- also updated the rest of the npm dependencies

* fix: various analysis warnings

- remove unused stuff

* feat: various improvements

- replace framer-motion with autoanimate. the framer
  motion bundle was not great as we are only using
  a single animation for add / remove from lists
  in 3 components. autoanimate is less than half the
  size of framer
- add eslint config and fix any issues it reported
- import mantine css for just the components we are using
  - this saved >200 kb from the bundle
- fix some css issues to make it look like previous
  version
- currently, when the websocket connection is dropped, the irc
  connection is closed immediately. this change makes it so that
  after the websocket connection closed, the user has 3 minutes
  to reconnect before we close the irc connection.
- the 3 minute 'self-destruct' is only triggered when the websocket
  is disconnected and is disabled once there is another connection
- this should help with certain devices (such as iPad) where switching
  apps / tabs seems to close the websocket. i believe that the IRC
  server is sensitive to clients connecting/disconnecting too often and
  will ban users.
- forgot to delete file after removing framer-motion dependency
- had to `chmod +x .devcontainer/setup.sh`
- also added `lazygit` to the pre-installed tools
- ideally, we'd have a version picker so we could preview the
  docs for the upcoming changes in development but it doesn't
  seem to be possible with the current gh-pages setup
- need to handle edge cases and other polish
- remove --server / --tls flags from server as
  they are now passed from the browser client
- update binary release workflow to latest go
  version
- don't throw error if invalid flags are passed
  since --server / --tls were just removed we
  don't want users to upgrade and fail to start
- add to changelog
- better error message when TLS handshake fails
- reorganize some state stuff into better file
  locations
- add localstorage migration
- refine server menu ui
@sonarqubecloud
Copy link

sonarqubecloud bot commented May 6, 2024

Quality Gate Passed Quality Gate passed

Issues
4 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.3% Duplication on New Code

See analysis details on SonarCloud

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.

2 participants