alex-hhh / ActivityLog2

Analyze data from swim, bike and run activities
https://alex-hhh.github.io/
GNU General Public License v3.0
340 stars 25 forks source link

error on activity deletion #70

Closed ericJrdn closed 3 years ago

ericJrdn commented 3 years ago

Hi, Please find a .fit file that causes the following error on deletion in the activities view:

query-row: cannot convert given value to SQL type given: #f type: parameter dialect: SQLite

Eric

ericJrdn commented 3 years ago

2021-05-18-16-09-47.zip

alex-hhh commented 3 years ago

This is caused by the fact that the deleted activity was selected in the session viewer (the "Session" tab on the left). Your database is not corrupted and the activity was correctly deleted. If you restart the application, it will start and work fine and you can avoid this error in the future by making sure that the deleted activity is not in the session viewer (e.g. by inspecting another activity first).

I will fix this, but I need a few days to consider all the possibilities and also write some tests for it.

alex-hhh commented 3 years ago

I have fixed this issue on the master branch and it will be available on the next release. Meanwhile you can either build the application yourself or, if you use Windows, you can download the build for the current master branch from: https://dev.azure.com/alexharsanyi0641/ActivityLog2/_build/results?buildId=821&view=artifacts&pathAsName=false&type=publishedArtifacts (I suspect this build will expire in about a month or so).

ericJrdn commented 3 years ago

Hi, There is still an issue related to activity deletion, when the activity is displayed in the mean max window. I get the following output:

exception trace

``` date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 date-time->string: contract violation expected: (or/c date? integer?) given: #f in: the 1st argument of (->* ((or/c date? integer?)) (#:include-seconds? boolean? #:include-time-zone? boolean? #:time-zone (or/c string? #f)) string?) contract from: #%embedded:rkt\fmt-util-ut: blaming: #%embedded:rkt\session-inspector\inspect-best-avg: (assuming the contract is correct) at: C:\Users\Eric\ActivityLog2\rkt\fmt-util-ut.rkt:32.2 context...: .../private/blame.rkt:346:0: raise-blame-error .../private/arrow-val-first.rkt:600:8: loop .../private/arrow-val-first.rkt:558:5: mk-call .../private/arrow-val-first.rkt:555:3 .../session-inspector/inspect-best-avg.rkt:385:6 .../private/arrow-higher-order.rkt:375:33 .../gui/snip2d.rkt:271:4: on-event method in 2d-plot-snip% .../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas% .../private/more-scheme.rkt:148:2: call-with-break-parameterization .../unsafe/atomic.rkt:73:13 .../win32/window.rkt:821:2: dispatch-on-event method in window% .../common/queue.rkt:435:6 .../common/queue.rkt:486:32 .../common/queue.rkt:634:3 ```

alex-hhh commented 3 years ago

Unfortunately, I was unable to reproduce the error you mentioned above using the following steps:

the above steps complete without error. Is there anything else you did to trigger this error?

ericJrdn commented 3 years ago

I'm sorry, i was not precise enough. Please find in the attached file two activities. You can reproduce the bug like that :

alex-hhh commented 3 years ago

Thanks for clarifying the steps to reproduce the issue, I pushed a repair for it. You can download pre-built windows binaries with the fix from https://dev.azure.com/alexharsanyi0641/ActivityLog2/_build/results?buildId=824&view=artifacts&pathAsName=false&type=publishedArtifacts

ericJrdn commented 3 years ago

The behaviour of the "Mean Max" tab seems strange to me, in the sense that it continues to display the deleted data (without the date), but it does not crash anymore. Thank you

alex-hhh commented 3 years ago

You can refresh the current activity using the "View/Refresh current view" menu or by reopening it and the Mean Max "bests line" will be corrected.

There are a few corner cases where views are not updated when new things are added or deleted, (see #63 for another example), but these cases are complicated to fix and I have limited time to work on this project. Fixing these corner cases are not high on my priority list.

However, if you discover other situations where errors are unexpectedly reported, please let me know, as I am interested in fixing those.