Attention

This is the documentation for HARP Proxy, actually published as an early preview. Both the software and documentation are a work in progress, and although we already use it on various production servers, they may contain inaccuracies, typographical errors, huge mistakes and empty pages. We work hard to eradicate all mistakes and implement stuff, but it is a long and tedious process. We appreciate your patience and understanding. Of course, any help will be greatly appreciated.

Version 0.4.0 (2024-01-21)

Changes

  • feat: fix user creation, cleaner storage interface (Romain Dorgueil)

  • feat: remove erroneous env from docker compose that sets the postgres SUPERUSER and management database to harp. Although we may want docker compose to set stuff, using administrative database for userland things is not the way to go (Romain Dorgueil)

  • feat: implements tags (end to end, tested) on proxy side (not shown on dashboard yet, unless you go to the raw object tab) (Romain Dorgueil)

  • feat: implements transaction tagging within proxy controller (not yet stored) (Romain Dorgueil)

  • feat: basic code structure, models, tests for implentation of tags (key-value pairs associated with transactions) (Romain Dorgueil)

  • feat: move repositories to their respective model modules (Romain Dorgueil)

  • feat: moving models in their own modules (Romain Dorgueil)

  • feat: remove hardcoded helper, better naming consistency (Romain Dorgueil)

  • feat: remove debug information (Romain Dorgueil)

  • feat(ui/flags): get rid of duplicate code, better sql queries, cosmetics (Romain Dorgueil)

  • chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (dependabot[bot])

  • chore(deps-dev): bump autoprefixer in /vendors/mkui (dependabot[bot])

  • chore(deps-dev): bump prettier from 3.1.1 to 3.2.4 in /vendors/mkui (dependabot[bot])

  • chore(deps-dev): bump @types/node from 20.11.0 to 20.11.5 in /frontend (dependabot[bot])

  • chore(deps-dev): bump @playwright/test in /vendors/mkui (dependabot[bot])

  • chore(deps): bump match-sorter from 6.3.1 to 6.3.3 in /frontend (dependabot[bot])

  • chore(deps-dev): bump @types/react in /vendors/mkui (dependabot[bot])

  • chore(deps-dev): bump @typescript-eslint/parser in /frontend (dependabot[bot])

  • fix: endpoint to delete flags (Arthur Degonde)

  • fix: handle users creation (Arthur Degonde)

  • fix: put method to create a flag (Arthur Degonde)

  • fix: user from username call in set_transaction_flag (Arthur Degonde)

  • fix: flag type as int (Arthur Degonde)

  • fix: rendering issue on starred transactions (Arthur Degonde)

  • feat: add users in db if any (Arthur Degonde)

  • fix: filter for flags (Arthur Degonde)

  • fix: star rendering when switching page (Arthur Degonde)

  • doc: update doc (flags) (Arthur Degonde)

  • feat: can filter on flagged transactions (Arthur Degonde)

  • feat: delete transaction flag (frontend) (Arthur Degonde)

  • feat: delete transaction flag (backend) (Arthur Degonde)

  • chore(deps-dev): bump json-schema-to-typescript in /frontend (dependabot[bot])

  • feat: responsive star in transactions (Arthur Degonde)

  • feat: flags for specific user (Arthur Degonde)

  • feat: flags for specific user (Arthur Degonde)

  • feat: flags in find transactions (Arthur Degonde)

  • feat: user can set a transaction as favorite by clicking the star (Arthur Degonde)

  • feat: add postgres db config in docker compose (Arthur Degonde)

  • fix: wrong tz in datetimes comparison (Arthur Degonde)

  • feat: implements sentry extension to be able to log exceptions in an external service (Romain Dorgueil)

  • chore(deps): bump react-router-dom from 6.21.1 to 6.21.2 in /frontend (dependabot[bot])

  • chore(deps-dev): bump @types/node from 20.10.8 to 20.11.0 in /frontend (dependabot[bot])

  • feat: set a flag on a transaction (backend) (Arthur Degonde)

  • feat: add User table and refactor models (Arthur Degonde)

  • feat: dashboard topology adapt rec to endpoint length (Arthur Degonde)

  • fix: ticks formatting (Arthur Degonde)

  • fix: python error in overview data endpoint (Arthur Degonde)

  • fix: duplicated ticks on chart with range 1y (Arthur Degonde)

  • feat: add 1h timerange (Arthur Degonde)

  • feat: change Errors label and color (Arthur Degonde)

  • feat: better formatting for charts (Arthur Degonde)

  • feat: timerange selection on overview page (Arthur Degonde)

  • chore(cicd): add ability to add options to pytest, disable e2e tests on ci (for now) (Romain Dorgueil)

  • chore(cicd): attempt to fix ci with intergration tests (Romain Dorgueil)

  • feat: new buttongroup snapshot (Arthur Degonde)

  • feat: new buttongroup (Arthur Degonde)

  • feat: refactor controllers to reuse RoutingController, move blob controller into its own class (Romain Dorgueil)

  • chore: run benchmarks once in regular test suite (#56), separate coverage as it does not fit well with subprocess (Romain Dorgueil)

  • feat: transaction details cleanup (Romain Dorgueil)

  • chore(deps-dev): bump eslint-plugin-prettier in /frontend (dependabot[bot])

  • chore(deps): bump @sentry/browser from 7.92.0 to 7.93.0 in /frontend (dependabot[bot])

  • test: tests for dates utils in overview controller (Arthur Degonde)

  • feat: can use time range in backend and generates datetimes accordingly (Arthur Degonde)

  • feat(ui): refactor to use simpler interface (no dialog for transaction details) (Romain Dorgueil)

  • feat: pagination tuning (Romain Dorgueil)

  • feat: fine tuning pagination (Romain Dorgueil)

  • chore: update snapshots (Romain Dorgueil)

  • feat: implements cursor-based pagination, adds xdist for parallel backend testing, pagination ui (Romain Dorgueil)

  • feat: pagination with ui component (Romain Dorgueil)

  • feat: Paginator pages loop (Arthur Degonde)

  • feat(ui): basic paginator (Romain Dorgueil)

  • feat(ui): implement panes on dashboard overview (Romain Dorgueil)

  • feat: defautPadding prop on Pane (Arthur Degonde)

  • feat: use Pane in settingstab (Arthur Degonde)

  • feat: use Pane in Topology (Arthur Degonde)

  • feat(ui): basic pane (Romain Dorgueil)

  • wip:pagination (Romain Dorgueil)

  • feat: refactor background worker tasks (Romain Dorgueil)

  • chore(deps): bump date-fns from 3.1.0 to 3.2.0 in /frontend (dependabot[bot])

  • chore(deps-dev): bump @types/node from 20.10.7 to 20.10.8 in /frontend (dependabot[bot])

  • chore(deps): bump recharts from 2.10.3 to 2.10.4 in /frontend (dependabot[bot])

  • feat: generate continuous datetime ranges (Arthur Degonde)

  • refactor: unused import (Arthur Degonde)

  • feat: bucket time to group transactions by (Arthur Degonde)

  • feat: tooltip on null values for overviewchart (Arthur Degonde)

  • feat: cleaning up model isntances (Romain Dorgueil)

  • feat: migrate sqlalchemy usage to orm api (Arthur Degonde)

  • feat: sort graphs by date (Romain Dorgueil)

  • feat: dashboard overview errors are 5xx (Romain Dorgueil)

  • fix: date cast in dashboard graphs api (pg vs sqlite) (Romain Dorgueil)

  • chore(deps-dev): bump @typescript-eslint/parser in /frontend (dependabot[bot])

  • chore(deps): bump @headlessui/react in /vendors/mkui (dependabot[bot])

  • chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (dependabot[bot])

  • feat: backports config modularisation (Romain Dorgueil)

  • fixes: fix erroneous import in entrypoint (Romain Dorgueil)

  • feat: fast and dirty implementation of background persistor based on an async queue (#73) (Romain Dorgueil)

  • feat: better looking graph (Arthur Degonde)

  • feat: fill missing data points with null values (Arthur Degonde)

  • feat: move http adapters in config subpackage (Romain Dorgueil)

  • feat: cli package is now named commandline for consistency with docs and more expliciteness, dependency check work again (Romain Dorgueil)

  • feat: move httpx client service to application (fixes #71), refactoring for cleaner package hierarchy (Romain Dorgueil)

  • refactor: topology as a system tab (Arthur Degonde)

  • docs: rename istorage into storage and qa (Arthur Degonde)

  • feat: cleanup, doc update, defaults in config (Romain Dorgueil)

  • refactor: rename istorage into storage (Arthur Degonde)

  • docs: move commandline top level (Romain Dorgueil)

  • docs: document storage interface and data model (Romain Dorgueil)

  • feat: real data on topology and subcharts (Arthur Degonde)

  • docs: update/organise docs, more config details (Romain Dorgueil)

  • refactor: rename dashboard to overview (Arthur Degonde)

  • feat: Dashboard, use real data on main overview chart (Arthur Degonde)

  • chore(deps-dev): bump @typescript-eslint/parser in /frontend (dependabot[bot])

  • chore(deps-dev): bump @types/react in /vendors/mkui (dependabot[bot])

  • chore(deps-dev): bump vite from 5.0.10 to 5.0.11 in /vendors/mkui (dependabot[bot])

  • chore(deps-dev): bump tailwindcss from 3.4.0 to 3.4.1 in /vendors/mkui (dependabot[bot])

  • chore(deps-dev): bump @types/node from 20.10.6 to 20.10.7 in /frontend (dependabot[bot])

  • chore(deps-dev): bump @typescript-eslint/eslint-plugin in /frontend (dependabot[bot])

  • chore(deps): bump date-fns from 3.0.6 to 3.1.0 in /frontend (dependabot[bot])

  • feat: Topology with mocked data (Arthur Degonde)

  • refactor: Overview query (Arthur Degonde)

  • refactor: Overview tab (Arthur Degonde)

  • feat: grid for multiple charts (Arthur Degonde)

  • feat: reduce fontsize in chart (Arthur Degonde)

  • feat: reduce fontsize in chart (Arthur Degonde)

  • refactor: rename dashboard to overview (Arthur Degonde)

  • docs: writing and moving bits (trains are amazing) (Romain Dorgueil)

  • feat: adds missing changelogs references in index (Romain Dorgueil)

  • feat: tabs color (Romain Dorgueil)

  • feat: normalize frontend naming, rename Settings tab to System (Romain Dorgueil)

  • feat: update helm chart to reflect configuration format changes (Romain Dorgueil)

  • feat: cleanup, auto settings registration for apps, flatter package imports (Romain Dorgueil)

  • feat: implements basic http cache (Romain Dorgueil)

  • chore(deps-dev): bump postcss from 8.4.32 to 8.4.33 in /vendors/mkui (dependabot[bot])

  • chore(deps): bump @sentry/browser from 7.91.0 to 7.92.0 in /frontend (dependabot[bot])

  • feat: do not ignore config if nothing is passed from command line (Romain Dorgueil)

  • feat: fix entrypoint (Romain Dorgueil)

  • feat: refactoring config and extensions system to have a better separation of concerns, while allowing serialization of config for later use (Romain Dorgueil)

  • feat: backports factory/serveradapter refactoring from granian poc to mainline (without experimental stuff) (Romain Dorgueil)

Benchmarks

PostgreSQL

../../_images/0.4.0-postgresql.svg

SQLite

../../_images/0.4.0-sqlite.svg