Automated Action 545563e776 Implement comprehensive real-time chat API with NestJS
- Complete NestJS TypeScript implementation with WebSocket support
- Direct messaging (DM) and group chat functionality
- End-to-end encryption with AES encryption and key pairs
- Media file support (images, videos, audio, documents) up to 100MB
- Push notifications with Firebase Cloud Messaging integration
- Mention alerts and real-time typing indicators
- User authentication with JWT and Passport
- SQLite database with TypeORM entities and relationships
- Comprehensive API documentation with Swagger/OpenAPI
- File upload handling with secure access control
- Online/offline status tracking and presence management
- Message editing, deletion, and reply functionality
- Notification management with automatic cleanup
- Health check endpoint for monitoring
- CORS configuration for cross-origin requests
- Environment-based configuration management
- Structured for Flutter SDK integration

Features implemented:
 Real-time messaging with Socket.IO
 User registration and authentication
 Direct messages and group chats
 Media file uploads and management
 End-to-end encryption
 Push notifications
 Mention alerts
 Typing indicators
 Message read receipts
 Online status tracking
 File access control
 Comprehensive API documentation

Ready for Flutter SDK development and production deployment.
2025-06-21 17:13:05 +00:00
..

sister ANSI Version Build Status Downloads

Ansi escape codes faster than you can say "Bam bam".

Installation

npm install sisteransi

Usage

const ansi = require('sisteransi');
// or const { cursor } = require('sisteransi');

const p = str => process.stdout.write(str);

// move cursor to 2, 1
p(ansi.cursor.to(2, 1));

// to up, one down
p(ansi.cursor.up(2)+ansi.cursor.down(1));

API

cursor

to(x, y)

Set the absolute position of the cursor. x0 y0 is the top left of the screen.

move(x, y)

Set the position of the cursor relative to its current position.

up(count = 1)

Move cursor up a specific amount of rows. Default is 1.

down(count = 1)

Move cursor down a specific amount of rows. Default is 1.

forward(count = 1)

Move cursor forward a specific amount of rows. Default is 1.

backward(count = 1)

Move cursor backward a specific amount of rows. Default is 1.

nextLine(count = 1)

Move cursor to the next line a specific amount of lines. Default is 1.

prevLine(count = 1)

Move cursor to the previous a specific amount of lines. Default is 1.

left

Move cursor to the left side.

hide

Hide cursor.

show

Show cursor.

save

Save cursor position.

restore

Restore cursor position.

scroll

up(count = 1)

Scroll display up a specific amount of lines. Default to 1.

down(count = 1)

Scroll display down a specific amount of lines. Default to 1.

erase

screen

Erase the screen and move the cursor the top left position.

up(count = 1)

Erase the screen from the current line up to the top of the screen. Default to 1.

down(count = 2)

Erase the screen from the current line down to the bottom of the screen. Default to 1.

line

Erase the entire current line.

lineEnd

Erase from the current cursor position to the end of the current line.

lineStart

Erase from the current cursor position to the start of the current line.

lines(count)

Erase from the current cursor position up the specified amount of rows.

Credit

This is a fork of ansi-escapes.

License

MIT © Terkel Gjervig