| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2 days | Merge branch 'pdf'HEADmaster | Daniel Schadt | |
| 10 days | speed up track adding in test_browse | Daniel Schadt | |
| 10 days | add smoke test for pdf generation | Daniel Schadt | |
| This doesn't check any content of the PDF, but ensures that running typst does not produce an error. | |||
| 10 days | ignore matploblib debug logs in tests | Daniel Schadt | |
| matplotlib procudes a lot of lines for the font manager, which really clutter the log output for everything else. | |||
| 10 days | fix TrackWithMetadata attribute access | Daniel Schadt | |
| 10 days | adjust image size in pdf | Daniel Schadt | |
| 2025-11-25 | add unit tests for typst escaping | Daniel Schadt | |
| 2025-11-25 | add button to download PDF | Daniel Schadt | |
| 2025-11-22 | remove unneeded import | Daniel Schadt | |
| 2025-11-22 | add test for xml_escape | Daniel Schadt | |
| 2025-11-22 | remove uneeded function | Daniel Schadt | |
| 2025-11-22 | remove unneeded import | Daniel Schadt | |
| 2025-11-22 | don't offer brotli content encoding | Daniel Schadt | |
| That was good while we still had files saved brotli-compressed, but now it adds more overhead. | |||
| 2025-11-22 | speed up track xml serialization | Daniel Schadt | |
| The comment explains it. | |||
| 2025-11-20 | fix types | Daniel Schadt | |
| 2025-11-20 | add height profile to PDF | Daniel Schadt | |
| 2025-11-20 | add docstrings & fix lint | Daniel Schadt | |
| 2025-11-20 | add translation strings for PDF | Daniel Schadt | |
| 2025-11-20 | initial PDF generation | Daniel Schadt | |
| This adds initial functionality to render PDF overviews of tracks. I was pondering to use reportlab and do it completely in Python, but the effort of doing proper layouting seemed to much. Add to that the fact that Typst has much nicer typesetting, it seems like a no-brainer to use it. | |||
| 2025-11-16 | fix lint | Daniel Schadt | |
| 2025-11-16 | enable foreign key checks in SQLite | Daniel Schadt | |
| 2025-11-16 | properly clean up track cache in test | Daniel Schadt | |
| 2025-11-16 | further speed up tests | Daniel Schadt | |
| A lot of time in test_browse was spent retrieving path points and computing metadata. Why not save it while we still have the path ready? | |||
| 2025-11-16 | fix lint | Daniel Schadt | |
| 2025-11-16 | speed up track insertion | Daniel Schadt | |
| It turns out that adding multiple thousands of track points via the ORM is quite slow, which is especially noticable in the browse_paged test (as 50 tracks are added there). This provides the fast_set_path method, which goes directly to the database, utilizing the executemany() capability. On the CI, the gpx-influx decreased test runtime from ~4min to ~18min. This change should make it much faster again. | |||
| 2025-11-15 | refine woodpecker config | Daniel Schadt | |
| 2025-11-14 | enable woodpecker CI | Daniel Schadt | |
| 2025-11-14 | make lon/lat non-nullable | Daniel Schadt | |
| I want to have more columns non-nullable, but it's a pain to change in SQLite. We can still try to be careful with new columns, though, and use nullable=False more often when appropriate. While this changes the schema without a new migration, I think for this case it is fine. | |||
| 2025-11-14 | fix SQLAlchemy types | Daniel Schadt | |
| See https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html#whatsnew-20-orm-declarative-typing The Mapped[] annotations help mypy to find the right types for the instance attributes. Some of the mapped_column() definitions are superfluous, but I think it's nice to have them explicit. | |||
| 2025-11-14 | be graceful if users/tracks dirs not found | Daniel Schadt | |
| This may happen on a fresh instance, when you navigate to the admin view. | |||
| 2025-11-14 | Merge branch 'gpx-influx' | Daniel Schadt | |
| 2025-11-14 | add missing return statement | Daniel Schadt | |
| 2025-11-13 | check DB connectivity before updating | Daniel Schadt | |
| 2025-11-12 | respect track date when downgrading | Daniel Schadt | |
| 2025-11-11 | fix lint | Daniel Schadt | |
| 2025-11-11 | fix update script for empty data directories | Daniel Schadt | |
| 2025-11-09 | add update script for reading GPX to database | Daniel Schadt | |
| 2025-11-09 | change backup path to not contain .gpx | Daniel Schadt | |
| Since this file could now also be a .fit file, let's just drop the extension. | |||
| 2025-11-09 | better error handling for convert.smart_convert | Daniel Schadt | |
| Returning None is pretty nondescript, so let's make it official that we raise an exception there. | |||
| 2025-11-09 | fix SQLA warning about object not in session | Daniel Schadt | |
| 2025-11-09 | fix fietscron | Daniel Schadt | |
| 2025-11-01 | fix lint | Daniel Schadt | |
| 2025-11-01 | include database size in total size | Daniel Schadt | |
| 2025-11-01 | split track data and backups in storage breakdown | Daniel Schadt | |
| 2025-11-01 | fix size breakdown | Daniel Schadt | |
| 2025-11-01 | fix tests | Daniel Schadt | |
| With the values being computed ourselves, they differ a bit from the previous gpxpy values. Therefore, we adjust the expected values in the tests. | |||
| 2025-11-01 | don't choke if no timestamp or elevation is given | Daniel Schadt | |
| This is a continuation of the previous commit, useful for synthetic tracks. We don't really care about the value, it shouldn't be shown anyway. | |||
| 2025-11-01 | don't choke if no GPX timestamps are set | Daniel Schadt | |
| This usually happens in synthetic tracks, which we still want to load correctly. | |||
| 2025-11-01 | fix archive download | Daniel Schadt | |
| 2025-10-28 | have hittekaart use the tracks from the database | Daniel Schadt | |
