| 2024-12-02 00:10 | note some changes needed for multiuser support | Daniel Barlow | 1 | +19 | -0 |
| 2024-12-02 00:09 | render thresholds for each graph | Daniel Barlow | 2 | +58 | -14 |
| 2024-11-29 18:17 | separate the grisly internals from the user-facing README | Daniel Barlow | 2 | +62 | -62 |
| 2024-11-29 18:14 | make make run tests | Daniel Barlow | 1 | +1 | -0 |
| 2024-11-29 18:14 | describe Procfile in README | Daniel Barlow | 1 | +19 | -36 |
| 2024-11-27 18:43 | highlight selection on map | Daniel Barlow | 1 | +15 | -2 |
| 2024-11-27 18:32 | highlight selected range on time graphs when active | Daniel Barlow | 2 | +42 | -9 |
| 2024-11-27 17:52 | clamp marks to visible time range | Daniel Barlow | 1 | +5 | -1 |
| 2024-11-27 17:48 | use overmind to start everything | Daniel Barlow | 2 | +7 | -0 |
| 2024-11-27 17:48 | add Model.elm to make deps | Daniel Barlow | 1 | +1 | -1 |
| 2024-11-27 17:47 | make leftMark and rightMark separate model properties | Daniel Barlow | 2 | +31 | -29 |
| 2024-11-27 00:27 | update screenshot | Daniel Barlow | 1 | +0 | -0 |
| 2024-11-27 00:14 | rewrite drag handling | Daniel Barlow | 2 | +53 | -79 |
| 2024-11-25 21:36 | use a Maybe instead of NoTarget | Daniel Barlow | 2 | +10 | -7 |
| 2024-11-25 21:24 | new model has zoom 0 | Daniel Barlow | 1 | +1 | -1 |
| 2024-11-24 21:07 | rename FineZoomLevel to ZoomLevel and ZoomLevel to TileZoomlevel | Daniel Barlow | 3 | +20 | -21 |
| 2024-11-23 17:19 | prefer FineZoomLevel to ZoomLevel almost everywhere | Daniel Barlow | 2 | +22 | -18 |
| 2024-11-23 16:41 | extract Model module | Daniel Barlow | 2 | +27 | -16 |
| 2024-11-23 13:47 | expose pixel bounds from TileMap not boundingTiles | Daniel Barlow | 2 | +19 | -15 |
| 2024-11-23 13:03 | introduce TileMap type | Daniel Barlow | 2 | +13 | -7 |
| 2024-11-23 12:04 | add helpful(?) comment | Daniel Barlow | 1 | +1 | -2 |
| 2024-11-23 12:03 | push tile bounds calc down into tiles from caller | Daniel Barlow | 2 | +6 | -4 |
| 2024-11-23 12:02 | remove unneeded record update | Daniel Barlow | 1 | +1 | -1 |
| 2024-11-22 23:39 | extract TileMap and Pos modules | Daniel Barlow | 6 | +121 | -95 |
| 2024-11-22 17:59 | clamp markedTime to stay visible in TimeScale | Daniel Barlow | 1 | +9 | -3 |
| 2024-11-22 17:50 | lighten the time graph background colour | Daniel Barlow | 1 | +2 | -1 |
| 2024-11-22 17:46 | inline variable definiton | Daniel Barlow | 1 | +4 | -6 |
| 2024-11-22 17:43 | extract function for drag finish | Daniel Barlow | 1 | +34 | -30 |
| 2024-11-22 17:34 | update mark positions while they're being dragged | Daniel Barlow | 1 | +8 | -8 |
| 2024-11-21 23:03 | allow dragging the selection markers (no live update) | Daniel Barlow | 1 | +70 | -11 |
| 2024-11-21 22:15 | use Float for time consistently | Daniel Barlow | 1 | +16 | -16 |
| 2024-11-21 21:53 | fix low-hanging errors from elm-analyse | Daniel Barlow | 2 | +15 | -19 |
| 2024-11-21 21:40 | inline/remove top level oneliners | Daniel Barlow | 1 | +5 | -7 |
| 2024-11-21 21:40 | add elm-analyse | Daniel Barlow | 1 | +1 | -0 |
| 2024-11-21 21:35 | remove unused function maybe (prefer Maybe.withDefault) | Daniel Barlow | 2 | +1 | -8 |
| 2024-11-21 21:34 | remove some cruft from README | Daniel Barlow | 1 | +4 | -32 |
| 2024-11-21 16:05 | use Pos instead of curried lat/long | Daniel Barlow | 1 | +9 | -11 |
| 2024-11-21 15:54 | centre map on loaded track | Daniel Barlow | 2 | +33 | -2 |
| 2024-11-21 14:32 | downsample the points once, not again for each graph | Daniel Barlow | 1 | +13 | -18 |
| 2024-11-21 12:37 | compile Drg messages/model into a single concept | Daniel Barlow | 1 | +44 | -40 |
| 2024-11-21 11:56 | render start/end marks on time axis | Daniel Barlow | 1 | +32 | -4 |
| 2024-11-21 11:46 | set Model start/duration from points | Daniel Barlow | 2 | +16 | -3 |
| 2024-11-21 11:34 | rename newModel -> updateModel | Daniel Barlow | 1 | +2 | -2 |
| 2024-11-17 16:16 | show ticks on time axis | Daniel Barlow | 3 | +148 | -1 |
| 2024-11-17 15:58 | revert looseLabels changes | Daniel Barlow | 2 | +18 | -19 |
| 2024-11-17 09:43 | run frontend tests before building | Daniel Barlow | 1 | +1 | -0 |
| 2024-11-17 09:40 | use helper to shorten looseLabels tests | Daniel Barlow | 1 | +13 | -26 |
| 2024-11-17 00:19 | nice-numbers: remove hardcoded values for rounding | Daniel Barlow | 2 | +21 | -16 |
| 2024-11-16 00:22 | drag time graphs left/right | Daniel Barlow | 1 | +25 | -2 |
| 2024-11-16 00:03 | rename messages for map dragging | Daniel Barlow | 1 | +9 | -10 |
| 2024-11-16 00:00 | remove MapZoom{In,Out} messages | Daniel Barlow | 1 | +6 | -14 |
| 2024-11-15 23:43 | remove scroll buttons and message | Daniel Barlow | 1 | +0 | -7 |
| 2024-11-15 22:17 | add scroll mouse for graphs to zoom in/out | Daniel Barlow | 1 | +25 | -9 |
| 2024-11-15 22:16 | add entr for auto-rebuilding frontend in dev | Daniel Barlow | 1 | +1 | -0 |
| 2024-11-15 22:14 | replace MapZoomWheel with MapScale | Daniel Barlow | 1 | +5 | -10 |
| 2024-11-15 22:08 | eat mouse wheel events destimed for map zoom | Daniel Barlow | 1 | +14 | -7 |
| 2024-11-15 21:57 | subseq of points from start | Daniel Barlow | 2 | +42 | -15 |
| 2024-11-14 22:19 | add y axis labels to time graphs | Daniel Barlow | 1 | +53 | -13 |
| 2024-11-14 22:18 | frontend make target needs all the elm files | Daniel Barlow | 1 | +1 | -1 |
| 2024-11-14 19:08 | elm has a clap function already | Daniel Barlow | 1 | +0 | -6 |
| 2024-11-14 19:07 | add Paul Heckbert's "Nice numbers for graph labels" algo | Daniel Barlow | 2 | +78 | -0 |
| 2024-11-14 16:03 | make the wheel zoom less sensitive | Daniel Barlow | 1 | +27 | -17 |
| 2024-11-14 15:07 | rename type MapZoom -> ZoomLevel | Daniel Barlow | 1 | +8 | -8 |
| 2024-11-14 15:05 | zoom map on mouse wheel events | Daniel Barlow | 1 | +23 | -2 |
| 2024-11-14 09:59 | rename Zoom -> MapZoom to avoid confusion with timeline zoom | Daniel Barlow | 1 | +15 | -15 |
| 2024-11-14 09:47 | fix bullets | Daniel Barlow | 1 | +13 | -12 |
| 2024-11-13 22:10 | add screenshot | Daniel Barlow | 2 | +2 | -0 |
| 2024-11-13 22:05 | add titles and colour to line graphs | Daniel Barlow | 1 | +23 | -15 |
| 2024-11-13 20:38 | fix scaling for time graphs | Daniel Barlow | 1 | +13 | -5 |
| 2024-11-13 00:16 | set viewBox for graphs to show full time range | Daniel Barlow | 2 | +12 | -7 |
| 2024-11-12 23:50 | convert to flexbox, add power and elevation views | Daniel Barlow | 1 | +40 | -25 |
| 2024-11-12 21:30 | remove some onscreen garbage | Daniel Barlow | 1 | +1 | -6 |
| 2024-11-12 21:29 | render cadence graph | Daniel Barlow | 4 | +112 | -10 |
| 2024-11-12 18:52 | fe: extract Point into a module | Daniel Barlow | 2 | +35 | -34 |
| 2024-11-12 18:44 | remove elm gpx parser | Daniel Barlow | 3 | +0 | -189 |
| 2024-11-12 00:20 | twiddle readme | Daniel Barlow | 1 | +14 | -6 |
| 2024-11-12 00:15 | frontend: get start/duration from query params | Daniel Barlow | 2 | +45 | -11 |
| 2024-11-11 21:21 | to whit TODO | Daniel Barlow | 1 | +4 | -1 |
| 2024-11-11 21:13 | merge Store into Point | Daniel Barlow | 6 | +112 | -122 |
| 2024-11-11 19:14 | export Session.duration as NominalDiffTime | Daniel Barlow | 3 | +31 | -14 |
| 2024-11-11 18:44 | add cadence/power/heartRate to Point | Daniel Barlow | 1 | +8 | -2 |
| 2024-11-11 18:43 | add Session.refreshDrafts | Daniel Barlow | 2 | +9 | -4 |
| 2024-11-10 22:47 | add intToText fn that doesn't use show | Daniel Barlow | 1 | +8 | -2 |
| 2024-11-10 22:17 | reorder imports | Daniel Barlow | 4 | +23 | -24 |
| 2024-11-10 22:15 | remove unused pragma | Daniel Barlow | 1 | +0 | -1 |
| 2024-11-10 20:58 | pass zoom to trackView | Daniel Barlow | 1 | +4 | -4 |
| 2024-11-10 20:58 | replace circles with polyline | Daniel Barlow | 1 | +12 | -5 |
| 2024-11-10 20:12 | plot the points | Daniel Barlow | 1 | +21 | -29 |
| 2024-11-10 18:53 | fetch and parse json from frontend | Daniel Barlow | 1 | +39 | -17 |
| 2024-11-10 18:53 | json-encode times as epoch seconds, as elm prefers | Daniel Barlow | 3 | +4 | -2 |
| 2024-11-10 17:30 | linkify calendar entries | Daniel Barlow | 1 | +7 | -3 |
| 2024-11-10 16:18 | format session duration in calendar | Daniel Barlow | 1 | +2 | -2 |
| 2024-11-10 16:18 | extract Session module | Daniel Barlow | 4 | +82 | -40 |
| 2024-11-10 15:43 | extract Point from Track | Daniel Barlow | 3 | +62 | -35 |
| 2024-11-10 15:36 | separate migrations for Point and Session | Daniel Barlow | 2 | +17 | -9 |
| 2024-11-10 13:13 | note some plans for the Session | Daniel Barlow | 1 | +28 | -3 |
| 2024-11-10 13:11 | add "session" | Daniel Barlow | 3 | +38 | -1 |
| 2024-11-07 18:59 | chek for overlap when uploading file | Daniel Barlow | 5 | +57 | -10 |
| 2024-11-07 16:42 | Store.save takes Track not Point | Daniel Barlow | 2 | +2 | -2 |
| 2024-11-06 22:00 | add start and duration params to json endpoint | Daniel Barlow | 3 | +26 | -9 |
| 2024-11-06 19:13 | add cadence/power/hr to json | Daniel Barlow | 2 | +7 | -4 |
| 2024-11-05 23:32 | serve JSON fron db at /points | Daniel Barlow | 4 | +46 | -3 |
| 2024-11-05 23:31 | fix exports from Track | Daniel Barlow | 1 | +1 | -6 |
| 2024-11-05 19:35 | save points to postgres in upload handler | Daniel Barlow | 3 | +37 | -16 |
| 2024-11-05 18:57 | fix multiline string syntax error | Daniel Barlow | 1 | +1 | -1 |
| 2024-11-05 18:56 | fix warning wrt static site config | Daniel Barlow | 1 | +1 | -2 |
| 2024-11-04 23:37 | add postgres | Daniel Barlow | 5 | +80 | -3 |
| 2024-11-04 23:36 | switch from Float to Double | Daniel Barlow | 1 | +5 | -5 |
| 2024-11-04 23:36 | remove unused names | Daniel Barlow | 1 | +3 | -6 |
| 2024-11-03 18:48 | delete commented code | Daniel Barlow | 1 | +0 | -3 |
| 2024-11-03 18:47 | improve error message (it's still rubbish though) | Daniel Barlow | 1 | +11 | -9 |
| 2024-11-03 18:40 | upload gpx file (cargo-culted, very rough) | Daniel Barlow | 3 | +81 | -15 |
| 2024-11-03 12:04 | add glue to serve frontend js from backend | Daniel Barlow | 3 | +54 | -8 |
| 2024-11-01 00:02 | tweak readme | Daniel Barlow | 1 | +6 | -1 |
| 2024-11-01 00:00 | note what next | Daniel Barlow | 1 | +8 | -0 |
| 2024-10-31 23:58 | add yesod | Daniel Barlow | 2 | +20 | -2 |
| 2024-10-31 18:31 | clear out [done] TODO items | Daniel Barlow | 1 | +0 | -4 |
| 2024-10-31 18:29 | add Track.parseFile and call it from the main app | Daniel Barlow | 4 | +22 | -2 |
| 2024-10-31 18:29 | sample data | Daniel Barlow | 1 | +11495 | -0 |
| 2024-10-31 17:25 | remove redundant pattern match | Daniel Barlow | 1 | +31 | -34 |
| 2024-10-31 17:22 | apply hlint suggestions | Daniel Barlow | 2 | +7 | -13 |
| 2024-10-31 17:13 | ormolu again (no other changes) | Daniel Barlow | 2 | +42 | -40 |
| 2024-10-31 17:09 | make elevation part of Position | Daniel Barlow | 2 | +20 | -10 |
| 2024-10-31 16:18 | handle missing lat/lon/time data | Daniel Barlow | 2 | +55 | -24 |
| 2024-10-31 13:20 | extract function for gpxtpx extensions | Daniel Barlow | 1 | +6 | -15 |
| 2024-10-31 13:00 | read heart rate | Daniel Barlow | 2 | +10 | -3 |
| 2024-10-31 00:39 | update TODO | Daniel Barlow | 1 | +2 | -2 |
| 2024-10-31 00:38 | replace foo >>= return . bar with <&> | Daniel Barlow | 1 | +4 | -3 |
| 2024-10-31 00:35 | handle bad data | Daniel Barlow | 2 | +27 | -27 |
| 2024-10-30 23:32 | replace case expressions with listToMaybe | Daniel Barlow | 1 | +5 | -16 |
| 2024-10-30 21:17 | use composition instead of lambda | Daniel Barlow | 1 | +4 | -5 |
| 2024-10-30 21:03 | reindent using ormolu | Daniel Barlow | 3 | +158 | -119 |
| 2024-10-30 20:56 | use partial functions in tests | Daniel Barlow | 1 | +16 | -20 |
| 2024-10-30 20:45 | make hunit exit 1 if there are errors | Daniel Barlow | 1 | +3 | -1 |
| 2024-10-30 20:27 | shorten tests using Either operations | Daniel Barlow | 1 | +14 | -12 |
| 2024-10-30 17:44 | parse trkpt timestamp | Daniel Barlow | 4 | +16 | -5 |
| 2024-10-30 17:17 | parse cadence and power | Daniel Barlow | 3 | +67 | -27 |
| 2024-10-30 14:25 | add hlint and apply suggestions | Daniel Barlow | 3 | +7 | -6 |
| 2024-10-30 13:30 | use real gpx namespace | Daniel Barlow | 3 | +40 | -14 |
| 2024-10-30 13:29 | fail tests if empty points array | Daniel Barlow | 1 | +4 | -1 |
| 2024-10-29 21:49 | slight README | Daniel Barlow | 1 | +55 | -0 |
| 2024-10-29 21:47 | remove TestLabels | Daniel Barlow | 1 | +4 | -6 |
| 2024-10-29 21:44 | check we handle malformed gpx input | Daniel Barlow | 2 | +10 | -11 |
| 2024-10-29 21:22 | parse gpx elevation | Daniel Barlow | 2 | +49 | -14 |
| 2024-10-29 19:35 | remove comments and debug output | Daniel Barlow | 1 | +4 | -19 |
| 2024-10-29 19:57 | pass expected actual to assertEqual | Daniel Barlow | 1 | +1 | -1 |
| 2024-10-29 19:33 | remove elevation from Pos | Daniel Barlow | 2 | +12 | -6 |
| 2024-10-29 19:21 | check lat/lon attrs in test | Daniel Barlow | 2 | +13 | -6 |
| 2024-10-29 19:20 | update test1 to work with Either | Daniel Barlow | 1 | +7 | -10 |
| 2024-10-28 23:35 | beginning of xml parsing | Daniel Barlow | 3 | +107 | -14 |
| 2024-10-27 23:13 | test calls actual code we wrote | Daniel Barlow | 3 | +38 | -2 |
| 2024-10-27 20:19 | make "cabal test" work | Daniel Barlow | 3 | +33 | -0 |
| 2024-10-27 18:16 | cabal init and some Haskell nixy stuff | Daniel Barlow | 6 | +762 | -13 |
| 2024-10-27 17:53 | WIP before change of direction | Daniel Barlow | 6 | +296 | -57 |
| 2024-10-25 20:25 | add hr | Daniel Barlow | 3 | +19 | -1 |
| 2024-10-24 23:12 | parse cadence | Daniel Barlow | 2 | +10 | -3 |
| 2024-10-24 23:11 | improve test for missing ele | Daniel Barlow | 1 | +2 | -1 |
| 2024-10-24 23:00 | parse power | Daniel Barlow | 3 | +18 | -5 |
| 2024-10-24 22:06 | extract Position from the Point type | Daniel Barlow | 3 | +12 | -11 |
| 2024-10-24 17:28 | timestamp is optional | Daniel Barlow | 3 | +6 | -6 |
| 2024-10-24 17:24 | elevation is optional in gpx | Daniel Barlow | 3 | +20 | -5 |
| 2024-10-24 16:59 | check we read all <trkseg> not just the first | Daniel Barlow | 3 | +25 | -13 |
| 2024-10-24 16:14 | add time and elevation to gpx parsing | Daniel Barlow | 3 | +23 | -6 |
| 2024-10-24 16:13 | reverse actual and expected in Expect | Daniel Barlow | 1 | +1 | -1 |
| 2024-10-23 22:49 | parse actual lat/lon from gpx trkpt nodes | Daniel Barlow | 2 | +13 | -8 |
| 2024-10-23 22:37 | add xml and test packages | Daniel Barlow | 1 | +9 | -2 |
| 2024-10-23 22:37 | first passing test | Daniel Barlow | 6 | +194 | -0 |