* chore: test websockets
* chore: test websockets
* chore: test websockets
* chore: test websockets
* chore: cleanup PR
* chore: added back check origin function and loggings to check why the mismatch
* chore: the uuid should update on every new request
* chore: experiment with delaying the query deletion
* chore: experiment with delaying the query deletion
* chore: experiment with delaying the query deletion
* chore: upgrade nginx conf
* chore: upgrade nginx conf
* chore: upgrade nginx conf
* chore: experiment with delaying the query deletion
* chore: cleanup PR
* chore: remove print statements
* feat: get query progress tracker started
* feat: flesh out query progress test some more and get first few assertions passing
* chore: flesh out query tracker tests and impl some more
* feat: add impl for QueryTracker.Subscribe
* feat: send latest update if available on subscription
* feat: broadcast query progress to all subscribers on update
* feat: finish plumbing query tracker happy path
* feat: finish with v0 impl for query progress tracker
* chore: some cleanup of query progress tracker
* feat: hook up query progress tracking for queryRangeV3
* feat: impl for query progress websocket API handler
* feat: implement Hijacker iface for loggingResponseWriter for websocket upgrades
* chore: some cleanup to query progress websocket API handler
* chore: some cleanup
* chore: move query progress impl into its own subpackage
* chore: separate in-memory tracker impl from interface
* chore: some more cleanup of in memory tracker
* chore: some more cleanup of query progress tracker
* chore: some final cleanups
* chore: stash initial work with API signature
* chore: put together setup for integration testing filter suggestions
* feat: filter suggestions: suggest attribs using existing autocomplete logic
* chore: filter suggestions test: add expectation for example queries
* feat: filter suggestions: default suggestions when data yet to be received
* feat: finish plumbing basic example queries
* chore: add test for filter suggestions with an existing query
* feat: filter suggestions: don't suggest attribs already included in existing filter
* chore: generate example queries by including existing filter first
* chore: upgrade ClickHouse-go-mock
* chore: some cleanup of reader.GetQBFilterSuggestionsForLogs
* chore: some cleanup of filter suggestion tests
* chore: some cleanup to http handler and request parsing logic for filter suggestions
* chore: remove expectation that attrib suggestions won't contain attribs already used in filter
* feat: query service changes base setup for preferences
* feat: added handlers for user and org preferences
* chore: added base for all user and all org preferences
* feat: added handlers for all user and all org preferences
* feat: register the preference routes and initDB in pkg/query-service
* feat: code refactor
* chore: too much fun code refactor
* chore: little little missing attributes
* fix: handle range queries better
* fix: handle range queries better
* chore: address review comments
* chore: use struct inheritance for the all preferences struct
* chore: address review comments
* chore: address review comments
* chore: correct preference routes
* chore: low hanging optimisations
* chore: address review comments
* chore: address review comments
* chore: added extra validations for the check in allowed values
* fix: better handling for the jwt claims
* fix: better handling for the jwt claims
* chore: move the error to preference apis
* chore: move the error to preference apis
* fix: move the 401 logic to the auth middleware
* fix: use proper indexes for full text search
* fix: tests updated
* feat: lower support only for body and not attributes
* fix: remove default tolower
* fix: add comment for json key split
* fix: remove ilike only for body searches
* fix: minor fixes
* fix: minor fixes