44 Commits

Author SHA1 Message Date
Wei S.
b71dd55e25 add OCR docs (#144)
Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-09-26 12:09:23 +02:00
Wei S.
e9a65f9672 feat: Add Mbox ingestion (#117)
This commit introduces two major features:

1.  **Mbox File Ingestion:**
    Users can now ingest emails from Mbox files (`.mbox`). A new Mbox connector has been implemented on the backend, and the user interface has been updated to support creating Mbox ingestion sources. Documentation for this new provider has also been added.

Additionally, this commit includes new documentation for upgrading and migrating Open Archiver.

Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-09-16 20:30:22 +03:00
Wei S.
4b11cd931a Docs: update rate limiting docs (#91)
* Adding rate limiting docs

* update rate limiting docs

* Resolve conflict

---------

Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-09-06 17:56:34 +03:00
Wei S.
63d3960f79 Adding rate limiting docs (#88)
Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-09-04 17:44:10 +03:00
Wei S.
22b173cbe4 Feat: Implement API key authentication (#84)
* feat(auth): Implement API key authentication

This commit enables API access with an API key system. This change provides a better experience for programmatic access and third-party integrations.

Key changes include:
- **API Key Management:** Users can now generate, manage, and revoke persistent API keys through a new "API Keys" section in the settings UI.
- **Authentication Middleware:** API requests are now authenticated via an `X-API-KEY` header instead of the previous `Authorization: Bearer` token.
- **Backend Implementation:** Adds a new `api_keys` database table, along with corresponding services, controllers, and routes to manage the key lifecycle securely.
- **Rate Limiting:** The API rate limiter now uses the API key to identify and track requests.
- **Documentation:** The API authentication documentation has been updated to reflect the new method.

* Add configurable API rate limiting

Two new variables are added to `.env.example`:
- `RATE_LIMIT_WINDOW_MS`: The time window in milliseconds for which requests are checked (defaults to 15 minutes).
- `RATE_LIMIT_MAX_REQUESTS`: The maximum number of requests allowed from an IP within the window (defaults to 100).

The installation documentation has been updated to reflect these new configuration options.

---------

Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-09-04 15:07:53 +03:00
Wei S.
774b0d7a6b Bug fix: Status API response: needsSetup and Remove SUPER_API_KEY support (#83)
* Disable system settings for demo mode

* Status API response: needsSetup

* Remove SUPER_API_KEY support

---------

Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-09-03 16:30:06 +03:00
Wei S.
94021eab69 v0.3.0 release (#76)
* Remove extra ports in Docker Compose file

* Allow self-assigned cert

* Adding allow insecure cert option

* fix(IMAP): Share connections between each fetch email action

* Update docs: troubleshooting CORS error

---------

Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-09-01 12:44:22 +03:00
Wei S.
392f51dabc System settings: adding multi-language support for frontend (#72)
* System settings setup

* Multi-language support

* feat: Add internationalization (i18n) support to frontend

This commit introduces internationalization (i18n) to the frontend using the `sveltekit-i18n` library, allowing the user interface to be translated into multiple languages.

Key changes:
- Added translation files for 10 languages (en, de, es, fr, etc.).
- Replaced hardcoded text strings throughout the frontend components and pages with translation keys.
- Added a language selector to the system settings page, allowing administrators to set the default application language.
- Updated the backend settings API to store and expose the new language configuration.

* Adding greek translation

* feat(backend): Implement i18n for API responses

This commit introduces internationalization (i18n) to the backend API using the `i18next` library.

Hardcoded error and response messages in the API controllers have been replaced with translation keys, which are processed by the new i18next middleware. This allows for API responses to be translated into different languages.

The following dependencies were added:
- `i18next`
- `i18next-fs-backend`
- `i18next-http-middleware`

* Formatting code

* Translation revamp for frontend and backend, adding systems docs

* Docs site title

---------

Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-08-31 13:44:28 +03:00
Wei S.
9fdba4cd61 Role based access: Adding docs to docs site (#67)
* Format checked, contributing.md update

* Middleware setup

* IAP API, create user/roles in frontend

* RBAC using CASL library

* Switch to CASL, secure search, resource-level access control

* Remove inherent behavior, index userEmail, adding docs for IAM policies

* Format

* Adding IAM policy documentation to Docs site

---------

Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-08-24 14:52:08 +02:00
Wei S.
61e44c81f7 Role based access (#61)
* Format checked, contributing.md update

* Middleware setup

* IAP API, create user/roles in frontend

* RBAC using CASL library

* Switch to CASL, secure search, resource-level access control

* Remove inherent behavior, index userEmail, adding docs for IAM policies

* Format

---------

Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-08-23 23:19:51 +03:00
Wei S.
8c33b63bdf feat: Role based access control (#58)
* Format checked, contributing.md update

* Middleware setup

* IAP API, create user/roles in frontend

* RBAC using CASL library

* Switch to CASL, secure search, resource-level access control

---------

Co-authored-by: Wayne <5291640+ringoinca@users.noreply.github.com>
2025-08-21 23:45:06 +03:00
Wayne
b2ca3ef0e1 Project wide format 2025-08-15 14:18:23 +03:00
Wayne
82a83a71e4 BODY_SIZE_LIMIT fix, database url encode 2025-08-13 21:55:22 +03:00
Wayne
f10bf93d1b eml import support 2025-08-11 10:55:50 +03:00
Wayne
a87000f9dc PST Import improvement 2025-08-08 13:20:33 +03:00
Wayne
4872ed597f PST ingestion 2025-08-07 17:03:08 +03:00
Wayne
23ebe942b2 IAM policies 2025-08-06 01:12:33 +03:00
Wayne
842f8092d6 Migrating user service to database, sunsetting admin user 2025-08-06 00:01:15 +03:00
Wayne
3201fbfe0b Email thread improvement, user-defined sync frequency 2025-08-05 21:12:06 +03:00
Wayne
f484f72994 Discord invite link 2025-08-04 16:32:04 +03:00
Wayne
e0953e270e Adding demo site 2025-08-04 16:03:45 +03:00
Wayne
6a154a8f02 Handle sync error: remove failed jobs, force sync 2025-08-02 12:16:02 +03:00
Wayne
ac4dae08d2 CLA 2025-08-02 11:32:11 +03:00
Wayne
c297e5a714 Docs site update 2025-08-01 19:54:23 +03:00
Wayne
5cc24d0d67 Ingestion database error fix, UI update 2025-08-01 15:09:05 +03:00
Wayne
488df16f26 IMAP connector: skip empty inboxes 2025-07-30 16:13:04 +03:00
Wayne
42dc884588 Docs site logo fix 2025-07-28 13:06:02 +03:00
Wayne
563e2dcae4 Docs site logo fix 2025-07-28 13:03:00 +03:00
Wayne
b2f41062f8 Fix docs site logo 2025-07-28 12:52:56 +03:00
Wayne
4e0f6ce5df Docs update 2025-07-28 11:38:14 +03:00
Wayne
e68d9a338d Docs update 2025-07-28 02:35:28 +03:00
Wayne
a7e6b93c77 Docs update 2025-07-28 02:14:38 +03:00
Wayne
9d3e6fc22e CNAME file creation 2025-07-28 01:32:55 +03:00
Wayne
16e6d04682 Docs update 2025-07-28 01:28:52 +03:00
Wayne
cb04da78a6 Docs site with domain 2025-07-27 22:02:14 +03:00
Wayne
36dbd426d5 Docs site 2025-07-27 21:54:56 +03:00
Wayne
9b0c136fff Dead link fix 2025-07-27 21:32:29 +03:00
Wayne
7240da7b40 Docs site 2025-07-27 21:26:34 +03:00
Wei Sheng
748240b16e GITBOOK-1: No subject 2025-07-25 15:06:17 +00:00
Wayne
e95093c439 Docs update 2025-07-25 17:11:07 +03:00
Wayne
bde3a92411 Indexing service with email object 2025-07-18 10:54:16 +02:00
Wayne
9b25c8b9d3 Rename: Open Archiver 2025-07-15 00:48:40 +03:00
Wayne
59e5c5c69b Pluggable storage service (local + S3 compatible) 2025-07-11 16:21:40 +03:00
Wayne
3eb155ee16 Database migration. Adding ingestion service 2025-07-11 13:36:34 +03:00