Commit graph

37 commits

Author SHA1 Message Date
Nixyan
c587737f38 feat: enhance federation key rotation and server discovery functionality
- Added new environment variables for MinIO configuration in .env.local.example.
- Updated package.json and bun.lock to include new dependencies for key management and encryption.
- Refactored server and route handling to support Ed25519 and X25519 key pairs for improved security during key rotation.
- Implemented validation for public keys and enhanced error handling in the discovery routes.
- Introduced new challenges for key rotation, ensuring secure communication between federations.
- Updated README with additional instructions for the new key rotation process.
2026-03-12 18:42:52 -03:00
Nixyan
75f3a0ed04 feat: enhance security and testing for federation routes. Added routes for uploading files to posts and initial logic of handling it client-side.
- Added a new test suite for attack vectors targeting the /discover federation routes, ensuring (known) vulnerabilities are addressed.
- Implemented a proxy function to check for blacklisted servers, enhancing security measures.
- Introduced URL validation to prevent SSRF attacks by blocking internal addresses.
- Updated package.json with a new test command for the attack tests.
- Refactored server and route handling to improve type safety and error handling.
- Added new middleware for blacklist checks and URL validation to prevent unauthorized access.
2026-03-11 11:48:38 -03:00
Nixyan
b1d3dda308 fix: fixed the comment that was out of # 2026-03-10 18:28:30 -03:00
Nixyan
28ad8483c0 fix: fix federation key generation and update dependencies
- Reintroduced the command for generating federation keys in the package.json.
- Updated the route for server discovery to use the new BETTER_AUTH_URL environment variable.
- Added checks to ensure federation keys are set before authentication.
- Updated package dependencies, including the addition of the 'minio' package and updates to '@types/node' and 'shadcn'.
2026-03-10 18:26:31 -03:00
Nixyan
8309770be5 feat: add server discovery tests and enhance public key validation
- Introduced a new test suite for server discovery functionality, ensuring proper registration and response handling.
- Enhanced public key validation logic to include detailed error messages for invalid keys.
- Updated package.json with a new test command for the discovery tests.
- Removed outdated Playwright CI workflow configuration.
2026-03-10 14:05:04 -03:00
Nixyan
ea172050a6 feat: implement server discovery and key rotation functionality
- Added new routes for server discovery and key rotation, including challenge issuance and confirmation processes.
- Introduced database schema for managing server registrations and rotation challenges.
- Implemented encryption and decryption utilities for secure communication between servers.
- Updated package dependencies and added new client and server plugins for social features.
- Enhanced user management with additional fields and relations in the database schema.
2026-03-09 21:37:59 -03:00
Nixyan
b1b80dd75b feat: added auth page and the whole functionallity surrounding it.
feat: added tests (not working currently, will fix later)

chore: removed turnstile dep. will check later other options.
2026-03-06 16:21:42 -03:00
Nixyan
87196d312e Restarting the project once again.
This commit has the skeleton of what is going to be the app.
2026-03-05 18:52:46 -03:00
Nixyan
e7dd6c961d feat: enhance user status management and introduce nests functionality
- Updated user status handling to include optional user-set status, improving user experience during reconnections.
- Added new queries and mutations for managing nests, including fetching non-offline user IDs and forcing users offline.
- Introduced new database schema for nests, roles, and channels, enhancing the application's organizational structure.
- Updated dependencies in package.json and bun.lock for improved stability and compatibility.
- Refactored related components and API to support the new nests functionality.
2026-02-20 10:01:07 -03:00
Nixyan
55e78db2cb chore: update dependencies and enhance OLM password handling
- Updated various dependencies in package.json and bun.lock to their latest versions for improved stability and security.
- Introduced a new ecosystem.config.cjs file for better environment management.
- Enhanced OLM password handling with encryption and decryption functionalities. (Testing)
- Improved UI components for password dialogs to provide better user feedback and error handling.
- Added new database schema for managing nests and roles in the application.
2026-01-14 15:20:38 -03:00
Nixyan
bf095582c8 refactor: used the tailwind script to update some classes 2026-01-13 14:32:39 -03:00
Nixyan
666e3d6cae refactor: update global styles and enhance DM channel UI
- Updated color variables in globals.css for improved accessibility and visual consistency.
- Adjusted font styles and shadow properties for better readability and aesthetics.
- Enhanced DMChannelContent component with new button for sending messages and improved layout for message display.
2026-01-13 14:30:54 -03:00
Nixyan
af7142d3d0 feat: added mobile style and date handling
- Integrated `moment` library for improved date formatting in direct messages.
- Refactored timestamp display logic to show relative time for today's messages and full date for older messages.
- Made various UI adjustments for better responsiveness and consistency across components for the mobile version.
- Updated dependencies in `package.json` and `bun.lock` to include `moment`.
2026-01-12 14:48:44 -03:00
Nixyan
f04b76dadc spent 3h fixing this 2026-01-08 12:12:21 -03:00
Nixyan
f39f8ee830 feat:
- Fixed race condition on @olm-context.tsx when a session is created
- Fixed an issue where the participants ids where being set to the current user only
- Added safeguard for the dm event to try to either parse the message or use it as-is
2026-01-08 10:01:13 -03:00
Nixyan
cfb6ffe107 feat: fixed build errors 2026-01-07 14:56:06 -03:00
Nixyan
07f9984f03 Enhance authentication and messaging features with OLM integration
- Added support for consuming one-time keys (OTK) in the authentication flow.
- Implemented new mutation `consumeOTK` to handle OTK consumption and update user accounts.
- Updated participant details to include OLM account information.
- Refactored socket management to improve direct messaging functionality.
- Introduced new UI components for password handling and user interactions.
- Updated dependencies in package.json and bun.lock for compatibility and feature enhancements.
2026-01-07 14:47:07 -03:00
Nixyan
096d6ab16c Enhance user interaction with friend management and participant details
- Added `getParticipantDetails` query to fetch details of multiple participants in a direct message channel.
- Introduced `dexie-react-hooks` for improved state management with Dexie.
- Refactored user validation logic to support optional user authentication.
- Created new UI components for friend actions and friend list display.
- Implemented a layout structure for the application, including a sidebar and main content area.
- Updated socket management to handle connection states more effectively.
- Removed deprecated `page.tsx` file and organized routing structure for better maintainability.
2025-12-28 04:46:41 -03:00
Nixyan
45301ac52b Add friend request functionality and user status updates
- Implemented a modal for sending and managing friend requests, allowing users to send, accept, decline, or ignore requests.
- Enhanced user status management by integrating real-time updates for online, busy, offline, and away statuses.
- Updated the API and database schema to support new friend request and user status features.
- Improved socket management for better connection handling and user experience.
- Refactored UI components to accommodate new functionalities while maintaining consistency.
2025-12-28 01:10:31 -03:00
Nixyan
5198a12f9e Refactor class names in UI components for improved consistency and readability
- Updated class names in various components to use a more consistent syntax, particularly with respect to data attributes.
- Adjusted styles in ButtonGroup, Calendar, Command, ContextMenu, Field, Item, Kbd, Menubar, and Tooltip components to enhance maintainability.
- Ensured that the changes do not affect the existing functionality of the components.
2025-12-19 17:07:14 -03:00
Nixyan
32168722a2 Add user status management and metadata fields to authentication
- Introduced user status management with the ability to update online, busy, offline, and away statuses.
- Added metadata fields for user preferences, including phrase preferences and friends list.
- Updated API and database schema to accommodate new user fields.
- Enhanced the authentication component to handle additional user data effectively.
- Implemented hooks for socket management and OLM setup to improve user experience.
2025-12-19 17:04:24 -03:00
Nixyan
df41cf4657 Update dependencies, add OLM support, and improve authentication flow
- Updated various dependencies in package.json and bun.lock for better compatibility and features.
- Added OLM (Object Location Management) support by including necessary files and updating authentication logic.
- Enhanced the authentication flow with better error handling and user feedback.
- Introduced new database schema for OLM accounts and updated related API components.
- Improved socket connection management and user interface elements for a smoother user experience.
2025-12-19 12:18:46 -03:00
Nixyan
2afc18ee99 Restarted the project.
Old one is at the branch @v0.
2025-12-03 09:41:21 -03:00
Nixyi
e77bcdf4e7 Linting Broke it
title
2024-12-18 16:34:44 -03:00
Nixyi
a51dc9a3ef Oops
I forgor
2024-12-18 16:13:05 -03:00
Nixyi
8b27c6b140 Stable Release (I think)
Added all SQL scripts by using a python script to fetch them.

Also added a "About" page and a skeleton to the chat page.

Fixed the register function that was not setting the public_key on the database
2024-12-18 16:08:06 -03:00
Nixyi
ca8e649932 Fixed bug
Welp, so much for a working state app huh
2024-12-16 23:22:40 -03:00
Nixyi
fc8110bcad Early Release
This project is working as expected, might have a few bugs here and there but nothing anormal.
2024-12-16 22:47:16 -03:00
Nyxian
17ce35ed6c This is hard
Dealing with realtime is actually really hard (imposter syndrome is hitting real hard rn)
2024-12-13 17:46:14 -03:00
Nixyi
eef9803249 Error Handling
Made some error handling on some routes to prevent empty strings to be passed to the DB function.
2024-12-13 09:16:04 -03:00
Nixyi
1fc0d20e22 Added new error handling 2024-12-12 10:13:46 -03:00
Nixyi
ba023153fd Fixed states
Fixed & removed unused states from codes
2024-12-12 10:07:24 -03:00
Nixyi
ee16b63d90 Fixed functions 2024-12-12 10:02:05 -03:00
Nixyi
a9c0ae95a1 Testing it out
Made this push to test things in vercel to check if realtime really does or does not work with it.
2024-12-12 09:59:45 -03:00
Nyxian
79bdca973c UI+ Routes
Made even more changes the UI and added new Routes for searching a user, requesting consent for messaging and others.
Now just need to make the SSE work.
2024-12-12 08:56:11 -03:00
Nixyi
25b379aadd UI
Made UI changes, mainly fixing bugs and changing some theming
2024-12-11 09:26:19 -03:00
Nyxian
365a89ac63 initial
start
2024-12-10 18:49:47 -03:00