Releases: fuma-nama/shark-chat-js
Shark Chat Beta 4.1
Migrated to PosgreSQL
We have migrated to PostgreSQL, will make some changes soon
Shark Chat Beta 3
Many breaking changes were being made to the database in order to improve its maintainability.
Message Embeds
When someone posted a link, no one knows what's the link about.
With embeds, people can see some information on the linked website without clicking on the link.
UI & UX Improvements
We've made some small changes to the UI, components such as Avatar, Modal and Tabs have a better look.
Better Sidebar
The old sidebar is "weird" and overcrowded, we redesigned a better one, with more features.
Last Message
Now, Chat group items on the sidebar also display the last message, you can see the latest message of a chat group without clicking inside.
User Profile Modal
Previously, if you click on a username, you'll be redirected to Direct Message. After the update, a modal will be opened instead:
Inspired by Shadcn UI
I tried Shadcn UI, and their implementation inspired me a lot.
For example, bg-light-100 dark:bg-dark-900
can be simplified into bg-background
.
This design can make the css even simpler and break nothing when moving fast.
Migrated to Monorepo
As the codebase is growing way faster, we've just migrated this repository to a monorepo (using Turbo).
Channel API (Internal)
Actually, the API for direct messages and chat groups is entirely different. We usually have to implement the same feature twice in order to support both DM and group chat.
Those duplicated parts are now combined into the Channel API, which effectively reduces the difficulty to maintain the codebase.
Summary
- Create Channel API to combine Group Chat and DM logic by @SonMooSans in #2
- Migrate to Turborepo by @SonMooSans in #3
- Support display last message of a channel by @SonMooSans in #4
Full Changelog: beta-0.2...beta-0.3
Shark Chat Beta 2
Several changes are made to support more features and improve the performance
Message Attachments
You can upload and attach images/files to your message (limit is 10MB)
Redis
Redis is now used for storing simple data such as unread messages amount
in order to enhance the performance and load speed
Ratelimit
The Rate limit is implemented using the Upstash Ratelimit package
The current limit is 50 requests per 10s
Drizzle ORM
Migrated from Prisma to Drizzle ORM, improved query speed
Other Changes
- UI/UX Improvement
- Reduce unnecessary re-renders
- Improve internal utilities such as Ably Schema
First Beta
beta-0.1 Update preview image