- Introduce Viper for flexible configuration management
- Add `.env.example` file with comprehensive configuration options
- Implement environment variable and `.env` file loading
- Update root command to support configuration from multiple sources
- Add new configuration option for chat storage toggle
- Bump version to v5.2.0 to reflect significant configuration changes
- Introduce new configuration option `--chat-flush-interval` to control chat storage cleanup
- Implement periodic chat storage flushing with configurable interval (default 7 days)
- Migrate chat storage from text to CSV format for better data management
- Add thread-safe file handling for chat storage operations
- Update root command to support new chat flush interval flag
This PR introduce a new flag --db-uri to define a way to specify where to store the db (either locally using `file:` schema, or via `postgres:` schema)
> the database uri to store the connection data database uri (by default, we'll use sqlite3 under storages/whatsapp.db). database uri --db-uri <string> | example: --db-uri="file:storages/whatsapp.db?_foreign_keys=off or postgres://user:password@localhost:5432/whatsapp"`)
Fixes#163
* feat(newsletter): add newsletter service, endpoints, and UI components
Add Newsletter service to support functionality for unfollowing newsletters
Add Newsletter REST controller and routing
Implement newsletter-related endpoints and methods in the User Service
Create UnfollowRequest for the INewsletterService interface
Add MyListNewsletterResponse to user's data fields
Add newsletter validation
Refactor JS components to support newsletter type and simplify recipient forms by moving logic to FormRecipient component
Refactor window global constants to support newsletters
Modify server to initialize and use the newsletter services
Add UI component for listing newsletters
Refactor existing components to use FormRecipient for recipient data input
* chore: update documentation
feat(openapi.yaml): add newsletter support with new paths and schemas
docs(readme.md): update API endpoints including newsletter and images
fix(openapi.yaml): correct duplicated summary text for user my newsletters
* feat: update package name
* feat: Update src/views/components/NewsletterList.js
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* feat: Update src/views/components/NewsletterList.js
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* feat: Update src/views/components/NewsletterList.js
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Add auto reconnect checking in `SetAutoReconnectChecking` function
to ensure continuous connection by reconnecting every 5 minutes when
disconnected.
fix: update dependencies
Update dependencies in go.mod and go.sum for compatibility and
performance improvements:
- github.com/valyala/fasthttp v1.55.0 to v1.56.0
- github.com/klauspost/compress v1.17.9 to v1.17.10
- go.mau.fi/whatsmeow v0.0.0-20240911102933-bb3364aa3986 to
v0.0.0-20240927134544-69ba055bef0f
- go.mau.fi/util v0.7.0 to v0.8.0
feat: add --account-validation flag in root command for optional account validation
feat: enable WhatsappAccountValidation by default in settings
refactor: conditionally validate JID based on WhatsappAccountValidation flag in whatsapp package