Commit Graph

53 Commits

Author SHA1 Message Date
Stan Girard
bfd309efd8
feat(smtp): not enforcing tls (#3067)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-08-22 10:40:51 -07:00
Stan Girard
e2df8b37d4
feat(smtp&share): implemented smtp support and fixed share brain (#3049)
completes ENT-53 & fixes ENT-52
2024-08-22 02:20:21 -07:00
Antoine Dewez
6b07a63e4e
feat(frontend): brain snippet selector (#3038)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-08-21 17:23:59 +02:00
Stan Girard
b5f31a83d4
feat(azure): quivr compatible with it (#3005)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-08-14 06:00:19 -07:00
AmineDiro
a388cf8896
fix: commit on try sqlalchemy (#3004)
- Fixed bug of try/except rollback- > Sqlalchemy catching exceptions
without raising
- Commit on each success
- Idle transaction in commit state but are resolved by db
2024-08-14 02:01:34 -07:00
AmineDiro
91ada8c3ed
fix: autocommit isolation level (#2999)
# Description

- Reduce pool size
- Sets isolation level to autocommit. Sqlalchemy keeps transactions
running after

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-08-13 03:05:01 -07:00
Stan Girard
4ef5f30aa9
feat(models): all models by default (#2983)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-08-08 15:36:31 -07:00
Antoine Dewez
ef6037e665
feat(frontend): talk with models and handle code markdown (#2980)
# Description

complete ENT-35

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-08-08 07:21:28 -07:00
Stan Girard
111200184b
feat: Add brain_id and brain_name to ChatLLMMetadata model (#2968)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-08-07 11:47:33 -07:00
Stan Girard
13e9fc490b
feat: Add get_model method to ModelRepository (#2949)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-08-06 08:44:12 -07:00
Stan Girard
fccd197511
feat: add chat with models (#2933)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: AmineDiro <aminedirhoussi1@gmail.com>
2024-08-06 05:51:27 -07:00
Chloé Daems
9934a7a8ce
feat: Add GitHub sync functionality to sync router (#2871)
The code changes in `sync_routes.py` add the GitHub sync functionality
to the sync router. This allows users to sync their GitHub repositories
with Quivr.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-08-05 05:17:53 -07:00
Chloé Daems
206e25ffd2
Feat/handle_azure_sites (#2921)
# Description

Fix get all sites
2024-07-29 06:49:04 -07:00
Stan Girard
11e443411d
chore: update sync notification status to INFO (#2918)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-29 05:47:53 -07:00
Chloé Daems
8d0e07601b
feat(integrations): Add Azure Drive Sites support (#2919)
This PR adds Sites of azure drives navigation possibility
2024-07-29 05:33:12 -07:00
Stan Girard
43c47d83d4
feat(notifications): improved requirements (#2915)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-26 07:43:32 -07:00
Antoine Dewez
4dfb3049c8
fix(backend): fix error messages (#2917)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-26 16:38:01 +02:00
Chloé Daems
e5a1319ca4
fix: error dict google drive (#2912) 2024-07-25 07:24:16 -07:00
Chloé Daems
2093fb9407
fix(sync): folder upload to Google Drive (#2909)
# Description

small fix to upload folder with google drive
2024-07-23 14:40:40 -07:00
Stan Girard
5a7fc21163
feat: Update AzureDriveSync name to "Share Point" (#2907)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-23 12:10:06 -07:00
Stan Girard
a2721d3926
feat(dead-code): removed composite & api (#2902)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-22 14:12:54 -07:00
Stan Girard
cf5c56d74c
feat: Remove unused onboarding code (#2901)
Remove unused code related to onboarding functionality. This includes
removing the `OnboardingUpdatableProperties` class and the
`OnboardingStates` class. These classes are no longer used in the
codebase and can be safely deleted.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-22 10:54:41 -07:00
Stan Girard
d9e7ba8657
feat(premium): add trialing (#2900)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-22 09:15:13 -07:00
Stan Girard
10bcec862f
feat(api): add logging for inactive subscriptions (#2897)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-22 08:24:06 -07:00
Stan Girard
cf5ad25896
feat(azure): changed auth method (#2890)
Auth method changed to web
2024-07-22 06:32:30 -07:00
Stan Girard
ade4802c34
feat: add integration and integration link to Sources class (#2893)
The Sources class in `chats.py` now includes optional fields for
integration and integration link. This allows for better tracking and
integration of external sources in the chat module.
2024-07-22 06:09:57 -07:00
Chloé Daems
7eba571306
fix: google conversion (#2891)
# Description

Fix google file conversion problem
2024-07-22 05:02:59 -07:00
Chloé Daems
3b68855a83
fix: Refacto & update dropbox refresh (#2875)
This pull request adds functionality to sync files with DropBox. It
includes the following changes:

- Created a BaseSync class with all specific function for each clouds
- Created a SyncUtils class that takes in a BaseSync and apply the pipe
- fix the refresh method for DropBox

Please review and merge this pull request to enable DropBox sync
functionality in the application.

---------

Co-authored-by: Stan Girard <stan@quivr.app>
Co-authored-by: Amine Dirhoussi <aminediro@quivr.app>
2024-07-19 09:47:11 +02:00
Chloé Daems
4806dc5809
feat(integrations): dropbox (#2864)
# Description

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-17 01:10:35 -07:00
Stan Girard
d36ad19791
feat: Update sync active notification category (#2873)
The code changes in `sync_routes.py` update the category for the sync
notification from "sync" to "generic". This change ensures that the
notification is categorized correctly.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-16 08:58:59 -07:00
Antoine Dewez
ed97004269
feat(frontend): new notifications design (#2870)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-16 08:18:05 -07:00
Stan Girard
7e3841e2f2
feat: Update sync generic bulk (#2869)
The code changes in `sync_routes.py` update the category for the sync
notification from "sync" to "generic". This change ensures that the
notification is categorized correctly.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 10:18:45 -07:00
AmineDiro
9d3e9edfd2
feat: quivr api use quivr core (#2868)
# Description

- `quivr-api` uses `quivr-core` for generating   
- separate `rag_service` 
- removed the package quivr_core from api.
2024-07-15 10:10:03 -07:00
Stan Girard
2f8bcdcdd5
feat(integrations): Add integration fields to Knowledge and SyncsUser models (#2853)
This pull request adds integration fields to the Knowledge and SyncsUser
models. The integration fields include `integration` and
`integration_link`. These fields allow for better integration with
external systems and provide additional information about the
integration.

---------

Co-authored-by: chloedia <chloedaems0@gmail.com>
Co-authored-by: Stan Girard <stan@quivr.app>
Co-authored-by: AmineDiro <aminedirhoussi1@gmail.com>
2024-07-15 10:04:57 -07:00
Stan Girard
c643157b75
feat: Update crawl_endpoint to include knowledge_id in task kwargs (#2867)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 08:31:46 -07:00
Stan Girard
9cb7bd97d8
feat: Update category for sync notification (#2866)
The code changes in `sync_routes.py` update the category for the sync
notification from "sync" to "generic". This change ensures that the
notification is categorized correctly.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 07:58:22 -07:00
AmineDiro
a90a01ccf2
feat: quivr api send notification (#2865)
# Description

- Quivr notification service. listens to celery events and updates
knowledge status.
- Process file notification will wait for retried tasks
2024-07-15 06:37:42 -07:00
Stan Girard
c8dd70affc
feat(celery): add retry logic for dcos (#2862)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 03:32:00 -07:00
Stan Girard
37793d549a
feat: Improve file loading logic in File model (#2861)
The code changes in `files.py` improve the file loading logic in the
File model. The `load()` method now returns the loaded content, which is
then assigned to the `documents` variable. Additionally, the logger now
includes information about the loaded documents.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 03:10:14 -07:00
Stan Girard
77e1cfb77f
feat: Update file loading logic in File model (#2857) 2024-07-12 16:50:27 +02:00
Stan Girard
5cc1ae5423
feat: Add category and brain_id fields to CreateNotification and Notification models (#2856)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-12 06:56:55 -07:00
AmineDiro
35eb07f7a2
fix: quiv core stream duplicate and quivr-core rag tests (#2852)
# Description

`quivr-core`
- Generate a fixture to simulate a model with function calling
- Monkey patch `QuivrQARAG` stream 
-  Tests function

`quivr-api`
- Fixes empty API responses 
- Fixes non function calling models

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-12 06:07:39 -07:00
Stan Girard
86676c3f39
feat: Add bulk_id field to CreateNotification and Notification models (#2854)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-12 06:04:39 -07:00
Stan Girard
064557f480
feat: Add bulk_id field to CreateNotification and Notification models (#2850)
This pull request adds a new field called `bulk_id` to the
`CreateNotification` and `Notification` models. The `bulk_id` field is
an optional UUID that can be used for bulk operations.
2024-07-12 01:51:27 -07:00
Antoine Dewez
2d2ccc382e
fix(backend): thumbs button were broken (#2849)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-11 16:29:48 +02:00
Antoine Dewez
29cdbca8a8
fix(frontend): remove possibilities to create brain if max amount (#2847)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-11 15:37:24 +02:00
AmineDiro
23ea00726a
fix: fixes duplicate response bug (#2843)
# Description

closes #2794.

Fixes duplicate responses in stream
2024-07-11 06:09:43 -07:00
Stan Girard
cde7c81de1
feat: Improve error handling in acquiring token (#2807)
The code changes handle the case when the access token is not present in
the result of acquiring the token. It now logs an error message with the
specific reason for the failure and raises an HTTPException with a
corresponding detail message. This improves the error handling and
provides more information to the user.

Note: The commit message follows the convention used in the recent user
commits and adheres to the established format.

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-07-09 01:14:37 -07:00
AmineDiro
1fa79de859
fix: RAG service bug assertion error (#2796)
# Description

Fixes assertion error on brains of brain type integration.
!/!: temporary fix casts user_id to string for the assertion
2024-07-04 06:36:34 -07:00
AmineDiro
757bceeb95
fix: asyncpg pooling config fix (#2795)
# Description

closes #2782.

Changes `sqlalchemy` connection pooling config : 

- **pool_pre_ping=True** : pessimistic disconnect handling. 

> - It is critical to note that the pre-ping approach does not
accommodate **for connections dropped in the middle of transactions or
other SQL operations** ! But this should only happen if we lose the
database either due to network of DB server restart.

- **pool_size=10**, with no db side pooling for now, if 6 uvicorn
process workers are spawned (or 6 instances of the backed) we have a
pool of 60 processes connecting to the database.
- **pool_recycle=1800** :  Recycles the pool every 30min

Added additional session config : 
- expire_on_commit=False, When True, all instances will be fully expired
after each commit, so that all attribute/object access subsequent to a
completed transaction will load from the most recent database state.
- autoflush=False, query operations will issue a Session.flush() call to
this Session before proceeding. We are calling `session.commit` (which
flushes) on each repository method so ne need to reflush on subsequent
access
2024-07-04 05:28:02 -07:00