* Highlight active link in AdminSidebar based on current pathname
* Refactor AdminSidebar to declare pathname variable earlier
---------
Co-authored-by: Subash <subash@onyx.app>
* Add basic foundation for teams checkpointing classes
* Fix slack connector main entrypoint
* Saving changes
* Finish teams checkpointing impl
* Remove commented out code
* Remove more unused code
* Move code around
* Add threadpool to process requests in parallel
* Fix mypy errors / warnings
* Move test import to main function only
* Address nits on PR
* Remove unnecessary check prior to entering while-loop
* Remove print statement
* Change exception message
* Address more nits
* Use indexing instead of destructuring
* Add back invocation of `run_with_timeout` instead of a direct call
* Revert slack testing code
* Move early return to before second API call
* Pull fetch to team outside of loop
* Address nits on PR
* Add back client-side filtering
* Updated connector to return after a team's indexing is finished
* Add type ignore
* Implement proper datetime range fetching
* Address comment on PR
* Rename function
* Change exception type when no team with the given id was found
* Address nit on PR
* Add comment on why `page_loaded` is needed to be specified explicitly
* Remove duplicated calls to fetching channels
* Use helper function for thread-based yielding instead of manual logic
* Move datetime filtering to message-level instead
* Address more comments on PR
* Add new utility function for yielding sections
* Add additional utility function
* Add teams tests
* Edit error message
* Address nits on PR
* Promote url-prefix to be a class level constant
* Fix mypy error
* Remove start/end parameters from function that doesn't use them anymore; move around comments
* Address more nits on PR
* Add comment
* add utility function
* add utility functions to DocExternalAccess
* refactor db access out of individual celery tasks and put it directly into the heavy task
* code review and remove leftovers
* fix circular imports
---------
Co-authored-by: Richard Kuo (Onyx) <rkuo@onyx.app>
* ensure we don't tag 'latest' with cloud images
* add docker login to trivy
* fix tag names
* flavor latest false (no auto latest tags)
* fix typo
* only run the appropriate workflow for web
---------
Co-authored-by: Richard Kuo (Onyx) <rkuo@onyx.app>
Co-authored-by: Richard Kuo <rkuo@rkuo.com>
* set field size limit
* don't use sys.maxsize
---------
Co-authored-by: Richard Kuo <rkuo@rkuo.com>
Co-authored-by: Richard Kuo (Onyx) <rkuo@onyx.app>
* run testing
* need to break on success
* add a readme
* raise vespa to 6GB
* allow test to retry
* add 20 attempts
* put memory limits back to normal
* restore chart testing on changes only
* increase retries to 40
---------
Co-authored-by: Richard Kuo (Onyx) <rkuo@onyx.app>
* Add more logging for confluence perm-sync + handle case where permissions are removed from the access token
* Make required permissions are explicit
* more
* Add slim fetch limit + mark all cc pairs of source type as successful upon group sync
* Add to dev compose
* Small teams fix
* Add file
* Add single limit pagination for confluence
* Restrict to server only
* more logging
* cleanup
* Cleanup
* Remove CONFLUENCE_CONNECTOR_SLIM_FETCH_LIMIT
* Handle teams error
* Fix ut
* Remove db dependency from confluence_doc_sync
* move stuff back to debug
* restore caching and fix up some prefixing
* try backend matrix build and fix artifact names
* need id
* add backslashes to be consistent
* fix no-cache
* leave docker tags to the meta action
* need checkout in merge
* add comment
* move spammy logs to debug status
* bunch of no-cache updates
* prefix
---------
Co-authored-by: Richard Kuo (Onyx) <rkuo@onyx.app>
* Update mode to be a default parameter in `FileStore.read`
* Move query history exporting process to be a background job instead
* Move hardcoded report-file-naming to a common utility function
* Add type annotations
* Update download component
* Implement button to re-ping and download CSV file; fix up some backend file-checking logic
* De-indent logic (w/ early return)
* Return different error codes dependings on the type of task status
* Add more resistant failure retrying mechanisms
* Remove default parameter in helper function
* Use popup for error messaging
* Update return code
* Update web/src/app/ee/admin/performance/query-history/DownloadAsCSV.tsx
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Add type to useState call
* Update backend/ee/onyx/server/query_history/api.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Update backend/onyx/file_store/file_store.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Update backend/ee/onyx/background/celery/apps/primary.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Move rerender call to after check
* Run formatter
* Add type conversions back (smh greptile)
* Remove duplicated call to save_file
* Move non-fallible logic out of try-except block
* Pass date-ranges into API call
* Convert to ISO strings before passing it into the API call
* Add API to list all tasks
* Create new pydantic model to represent tasks to return instead
* Change helper to only fetch query-history tasks
* Use `shared_tasks` instead of old method
* Address more comments from PR; consolidate how task name is generated
* Mark task as failed if any exception is raised
* Change the task object which is returned back to the FE
* Add a table to display previously generated query-history-csv's
* Add timestamps to task; delete tasks as soon as file finishes processing
* Raise exception if start_time is not present
* Convert hard-coded string to constant
* Add "Generated At" field to table
* Return task list in sorted order (based off of start-time)
* Implement pagination
* Remove unused props and cleanup tailwind classes
* Change the name of kickoff button
* Redesign how previous query exports are viewed
* Make button a constant width even when contents change
* Remove timezone information before comparing
* Decrease interval time for re-pinging API
* Add timezone to start-time creation
* Add a refreshInterval for getting updated task status
* Add new background queue
* Edit small verbiage and remove error popup when max-retries is hit
* Change up heavy worker to recognize new task in new module
* Ensure `celery_app` is imported
* Change how `celery_app` is imported and defined
* Update comment on why `celery_app` must be imported
* Add basic skeleton for new beat task to cleanup any dead / failed query-history-export tasks
* Move cleanup task to different worker / queue
* Implement cleanup task
* Add return type
* Address comment on PR
* Remove delimiter from prefix
* Change name of function to be more descriptive
* Remove delimiter from prefix constant
* Move function invocation closer to usage location
* Move imports to top of file
* Move variable up a scope due to undefined error
* Remove dangling if-statement
* Make function more pure-functional
* Remove redefinition
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* it will never happen again.
* fix perm sync issue
* fix perm sync issue2
* ensure member emails map is populated
* other fix for perm sync
* address CW comments
* nit
* don't log all channels
* print number of channels
* sanitize indexing exception messages
* harden vespa index swap
* use constants and fix list generation
---------
Co-authored-by: Richard Kuo (Onyx) <rkuo@onyx.app>