Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/v1.2.0 #5306

Merged
merged 267 commits into from
Dec 20, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
267 commits
Select commit Hold shift + click to select a range
4b1d9ca
Merge pull request #4915 from voxel51/topher/bump-mongoengine
findtopher Nov 8, 2024
dcdfc89
Merge pull request #5081 from voxel51/1.0.2-to-develop
benjaminpkane Nov 11, 2024
9078679
Merge branch 'develop' into merge/release/v1.1.0
benjaminpkane Nov 11, 2024
c52e31a
use offscreen canvas to decode on-disk masks
sashankaryal Nov 12, 2024
a478f5c
dynamically calculate #channels
sashankaryal Nov 12, 2024
988d345
use dynamic blob type instead of jpg/png hardcoded
sashankaryal Nov 12, 2024
bb95534
Merge pull request #5089 from voxel51/refactor/on-disk-mask-decoding-…
sashankaryal Nov 13, 2024
b60873f
chore(ci): AS-326 Conditional GitHub Actions (#5104)
afoley587 Nov 13, 2024
9802e0b
Merge branch 'develop' into merge/release/v1.1.0
benjaminpkane Nov 14, 2024
6179687
merge release
benjaminpkane Nov 14, 2024
d4fc848
Merge pull request #5068 from voxel51/merge/release/v1.1.0
benjaminpkane Nov 14, 2024
fa9b104
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 14, 2024
d0f2abd
Merge pull request #5114 from voxel51/merge/release/v1.1.0
benjaminpkane Nov 14, 2024
7e41330
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 14, 2024
afefca8
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 14, 2024
2c7aa31
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 14, 2024
8f480ac
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 14, 2024
3c8796e
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 15, 2024
1f28dca
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 15, 2024
5972024
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 15, 2024
476e534
Merge pull request #5117 from voxel51/merge/release/v1.1.0
benjaminpkane Nov 15, 2024
3aaff99
add mask_path to Detection label
Laurent2916 Aug 16, 2024
69f60d3
apply suggestions
Laurent2916 Sep 2, 2024
5fcacd0
fix docstrings
sashankaryal Nov 15, 2024
d7a39e7
fix detection mask path parsing bug
sashankaryal Nov 15, 2024
8d09f0f
add e2e for detection mask paths
sashankaryal Nov 15, 2024
9fe5978
add detections.detections.mask_path to histogram e2e test
sashankaryal Nov 15, 2024
f23d634
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 15, 2024
84ba847
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 15, 2024
653555a
account for 1-channel or multi-channel masks
sashankaryal Nov 15, 2024
8967291
fetch as blob instead of arraybuffer and casting into blob again
sashankaryal Nov 15, 2024
7b89cb3
add linux screenshot
sashankaryal Nov 15, 2024
f427d46
Merge pull request #5126 from voxel51/merge/release/v1.1.0
benjaminpkane Nov 16, 2024
31a53b9
Bump @eslint/plugin-kit from 0.2.0 to 0.2.3 in /e2e-pw (#5129)
dependabot[bot] Nov 16, 2024
bd9fa59
add exception handling for mask path decoding
sashankaryal Nov 16, 2024
5ccc01c
Bump codecov/codecov-action from 4 to 5 (#5134)
dependabot[bot] Nov 18, 2024
e8f0c72
Bump cross-spawn from 7.0.3 to 7.0.5 in /e2e-pw (#5131)
dependabot[bot] Nov 18, 2024
4608a23
Merge `release/v1.1.0` to `develop` (#5130)
voxel51-bot Nov 18, 2024
83e4f4a
Bump cross-spawn from 7.0.3 to 7.0.6 in /app (#5137)
dependabot[bot] Nov 18, 2024
653badf
don't invoke has_mask as method
sashankaryal Nov 18, 2024
fd2fb03
merge release
benjaminpkane Nov 18, 2024
bb596d5
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 18, 2024
24b5ea8
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 18, 2024
f677604
Merge pull request #5138 from voxel51/merge/release/v1.1.0
benjaminpkane Nov 18, 2024
229296b
_HasMedia mixin in Detection class, too
sashankaryal Nov 18, 2024
c981c49
collect promises
sashankaryal Nov 18, 2024
252961c
fix name collision bug in self.mask
sashankaryal Nov 18, 2024
401c7ca
document mask_path for instance segmentations
sashankaryal Nov 18, 2024
02ee83f
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 18, 2024
52bde0e
use allSettled
sashankaryal Nov 18, 2024
c9f7688
Tooltip support for TableView actions (#5142)
minhtuev Nov 19, 2024
9b7786b
Merge branch 'merge/release/v1.1.0' of https://github.com/voxel51/fif…
voxel51-bot Nov 19, 2024
374f1a0
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 19, 2024
16a4daf
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 19, 2024
e1bc513
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 19, 2024
62763c8
lint
benjaminpkane Nov 19, 2024
47bdece
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 19, 2024
8b41361
chore(ci): AS-347 concurrency groups for prs (#5150)
afoley587 Nov 19, 2024
6125f1d
Merge pull request #5120 from voxel51/feat/on-disk-detection-mask-path
sashankaryal Nov 19, 2024
eac83ce
Merge branch 'merge/release/v1.1.0' of https://github.com/voxel51/fif…
voxel51-bot Nov 19, 2024
f7a79a5
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 19, 2024
2949c29
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 19, 2024
15e7ece
Merge pull request #5141 from voxel51/merge/release/v1.1.0
benjaminpkane Nov 19, 2024
ebf8784
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 19, 2024
3246d80
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 19, 2024
8593a1a
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 19, 2024
29c03fa
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 19, 2024
bc9abe8
parallelize mask path decoding
sashankaryal Nov 19, 2024
ac2b63a
Merge pull request #5154 from voxel51/merge/release/v1.1.0
benjaminpkane Nov 19, 2024
209932b
set default retry delay to 500ms
sashankaryal Nov 20, 2024
c91d265
use custom fetch with linear backoff for mask path decoding
sashankaryal Nov 20, 2024
e991eab
retry image looker image.src with linear backoff
sashankaryal Nov 20, 2024
11fbcb0
remove debug logs
sashankaryal Nov 20, 2024
e73409b
fix tests
sashankaryal Nov 20, 2024
3f74b15
explicit default arg
sashankaryal Nov 20, 2024
7785ecd
Bug fix for TableView tooltip (#5158)
minhtuev Nov 20, 2024
0d6dfa0
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 20, 2024
4dfcb6f
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 20, 2024
dbbd0b6
set error: true preemptively
sashankaryal Nov 20, 2024
fe02666
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 20, 2024
e39b3f8
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 20, 2024
88891c4
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 20, 2024
92cd40c
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 20, 2024
1f912a9
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 21, 2024
43d4e47
refactor(workflows): replace `secrets.TEAMS_GITHUB_PAT` with fine gr…
kevin-dimichel Nov 21, 2024
f3604d5
Merge pull request #5173 from voxel51/kevin/as-218-gh-org-secrets
kevin-dimichel Nov 21, 2024
e9c9a8c
Merge branch 'merge/release/v1.1.0' of https://github.com/voxel51/fif…
voxel51-bot Nov 21, 2024
a39b773
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 21, 2024
178aef4
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 21, 2024
a7fc52c
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 21, 2024
9351dc1
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 21, 2024
d4b81bb
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 22, 2024
6a5b17f
Merge pull request #5163 from voxel51/merge/release/v1.1.0
benjaminpkane Nov 22, 2024
997bc69
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 22, 2024
bdc3570
don't retry on 4xx error
sashankaryal Nov 22, 2024
611234d
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 22, 2024
e204af7
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 22, 2024
2fdbb38
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 22, 2024
6608021
Merge pull request #5156 from voxel51/improv/mask-path
sashankaryal Nov 22, 2024
6e4775a
change typedef: export ImageBitmap from worker
sashankaryal Nov 20, 2024
53efcf3
implement getSizeBytes in heatmap and segmentation, too
sashankaryal Nov 21, 2024
7e00596
remove canvas creation in detection constructor
sashankaryal Nov 21, 2024
3f30521
remove buffers arg from mask deserializer
sashankaryal Nov 21, 2024
e29f140
make worker send bitmaps back to main thread
sashankaryal Nov 21, 2024
6cfce47
move path decoder to another file
sashankaryal Nov 21, 2024
6cb954e
add unit tests for on disk decoder
sashankaryal Nov 21, 2024
fcc480e
add LabelMask type
sashankaryal Nov 21, 2024
e428200
use modified import for getSampleSrc
sashankaryal Nov 21, 2024
997828d
remove detections specific logic in bitmap collection function
sashankaryal Nov 21, 2024
4ea1df5
return targets buffers to main thread but not image buffers
sashankaryal Nov 21, 2024
4a0cf06
fix frames
sashankaryal Nov 21, 2024
e28dce4
push buffers in deserializer
sashankaryal Nov 21, 2024
c55387a
draw bitmap in segmentation, too
sashankaryal Nov 21, 2024
35cceee
clarify comments
sashankaryal Nov 21, 2024
00d7381
take fetch opts
sashankaryal Nov 22, 2024
bc9ba41
pool fetch
sashankaryal Nov 22, 2024
0fcedd1
pass missing params in recursive calls
sashankaryal Nov 22, 2024
b732e20
add types
sashankaryal Nov 22, 2024
1a0331a
close bitmap when looker destroys
sashankaryal Nov 22, 2024
a56869c
add error handling
sashankaryal Nov 22, 2024
60f8a9a
Merge branch 'merge/release/v1.1.0' of https://github.com/voxel51/fif…
voxel51-bot Nov 23, 2024
5c4f9f9
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 23, 2024
bd748ab
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 23, 2024
ae916df
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 23, 2024
3fc9d74
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 24, 2024
80039dd
remove log
sashankaryal Nov 25, 2024
781a4f1
address edge case of empty mask
sashankaryal Nov 25, 2024
0e347ff
Fix app test
sashankaryal Nov 25, 2024
e62c1d1
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 25, 2024
48c52c4
Merge pull request #5178 from voxel51/merge/release/v1.1.0
benjaminpkane Nov 25, 2024
5834afc
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 25, 2024
882f5aa
fix video
sashankaryal Nov 25, 2024
532fe7b
fix edge case where bitmap is already set but we need to reinit image…
sashankaryal Nov 25, 2024
f65aa4d
fix null check and remove logs
sashankaryal Nov 25, 2024
8a72af6
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 25, 2024
87bf17c
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 26, 2024
a992ac4
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 26, 2024
a82749d
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 26, 2024
3b0ccf6
fix frames
sashankaryal Nov 26, 2024
7d5d7c6
fix frames memory leak
sashankaryal Nov 26, 2024
5e32142
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 26, 2024
abc6a13
add unit tests for pooled fetch
sashankaryal Nov 26, 2024
28e2ab5
fix fetch unit tests
sashankaryal Nov 26, 2024
835ccec
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 26, 2024
3ae877c
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 27, 2024
4867bd5
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 27, 2024
a16fb12
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Nov 27, 2024
a6b5481
Merge pull request #5190 from voxel51/merge/release/v1.1.0
benjaminpkane Dec 2, 2024
a31a55a
Merge pull request #5169 from voxel51/improv/image-bitmaps
sashankaryal Dec 3, 2024
eff1e1e
Merge branch 'release/v1.1.0' into merge/release/v1.1.0
benjaminpkane Dec 4, 2024
1649f2f
Merge pull request #5205 from voxel51/merge/release/v1.1.0
benjaminpkane Dec 4, 2024
ab58bfb
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Dec 4, 2024
0b3d92e
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Dec 5, 2024
e54956c
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Dec 5, 2024
5c839d7
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Dec 5, 2024
927b02d
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Dec 5, 2024
2ca611a
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Dec 5, 2024
3f5a6b0
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Dec 5, 2024
5047312
Merge branch 'release/v1.1.0' of https://github.com/voxel51/fiftyone …
voxel51-bot Dec 6, 2024
6c894e4
Merge pull request #5215 from voxel51/merge/release/v1.1.0
brimoor Dec 7, 2024
1221190
Merge pull request #5237 from voxel51/main
brimoor Dec 7, 2024
8820555
fix broken docs refs (#5238) (#5239)
brimoor Dec 7, 2024
224c617
Merge pull request #5244 from voxel51/main
brimoor Dec 9, 2024
f8d5d8b
fix initialization
jacobmarks Dec 9, 2024
ea8b36f
Merge pull request #5245 from voxel51/rtdetr-fix
brimoor Dec 9, 2024
fe56fb3
add_path_to_sidebar_group util
brimoor Dec 10, 2024
d367c15
bump compatibility version
brimoor Dec 10, 2024
0948c7c
fix an issue where backtick can't be when editing evaluation note
imanjra Dec 6, 2024
42c6b18
Merge pull request #5250 from voxel51/main
brimoor Dec 10, 2024
81db334
Merge pull request #5252 from voxel51/compat-version
brimoor Dec 10, 2024
1594990
support on-disk instance segmentations in SDK
brimoor Dec 11, 2024
0a86bcf
Add uniqueness validation for TableView (#5170)
minhtuev Dec 11, 2024
867fc3b
Bump nanoid from 3.3.7 to 3.3.8 in /app (#5249)
dependabot[bot] Dec 11, 2024
d626e60
Bump nanoid from 3.3.7 to 3.3.8 in /e2e-pw (#5257)
dependabot[bot] Dec 11, 2024
6766a55
chore(ci): Wrapping FFMPEG and updating actions (#5258)
afoley587 Dec 11, 2024
9fae650
fix hover background for panel in add panel popover
imanjra Dec 6, 2024
c4df037
Merge pull request #5251 from voxel51/add-path-to-sidebar-group
brimoor Dec 12, 2024
68eb682
handle nested roots
brimoor Dec 12, 2024
8331661
handle list fields
brimoor Dec 12, 2024
038138e
optimize main thread to worker transfer when recoloring
sashankaryal Dec 9, 2024
ece501a
fix typo
sashankaryal Dec 9, 2024
89fea41
check if array buffer detached
sashankaryal Dec 10, 2024
d3bf174
add clarifying comments
sashankaryal Dec 10, 2024
4f76488
cleanup overlays in the worker listener callback instead
sashankaryal Dec 12, 2024
1510b47
remove bitmap = null (obj closed for modification)
sashankaryal Dec 12, 2024
e22b56e
remove unnecessary sample null check guard
sashankaryal Dec 12, 2024
73da3ae
use buffers for hasFrame (#5264)
benjaminpkane Dec 12, 2024
b0388a2
use heuristic for detecting grayscale images
sashankaryal Dec 12, 2024
d570937
add 1% min
sashankaryal Dec 13, 2024
e48511d
add clarifying comments
sashankaryal Dec 13, 2024
d83c00a
fix rgb mask recoloring bug
sashankaryal Dec 13, 2024
64cf79b
Merge pull request #5256 from voxel51/on-disk-instances-updates
brimoor Dec 13, 2024
686be45
fix #5254
brimoor Dec 13, 2024
8da1243
Sort Shuffle Stage in FfityOne App (#5270) (#5272)
findtopher Dec 13, 2024
568da8a
Merge pull request #5266 from voxel51/fix/grayscale-segmentations
sashankaryal Dec 13, 2024
d41fffc
TP/FP/NP support for binary classification model evaluation
imanjra Dec 13, 2024
f627b82
Merge pull request #5267 from voxel51/model-eval-fixes
brimoor Dec 13, 2024
981c42d
include all labels in views
brimoor Dec 13, 2024
a9ea1c3
filtering comparison field as well
brimoor Dec 15, 2024
35f15b2
Merge pull request #5247 from voxel51/fix/transfer-bitmaps-back
sashankaryal Dec 17, 2024
8997a39
consistent table heading row text style
imanjra Dec 16, 2024
7c51825
fix evaluation timestamp
imanjra Dec 16, 2024
4cdeff0
hide unsupported metrics in model eval panel
imanjra Dec 16, 2024
09bb793
gracefully handle unsupported model evaluation
imanjra Dec 16, 2024
a78dd41
use mask targets in model evaluation panel
imanjra Dec 6, 2024
1ddd2bf
do not add valid list field filters to collapsed paths (#5280)
benjaminpkane Dec 17, 2024
f704079
add extended selection (#5286)
benjaminpkane Dec 17, 2024
9c3cb74
add detections fields to additional media fields
sashankaryal Dec 17, 2024
bd7d2de
use pydash.get instead of _deep_get
sashankaryal Dec 17, 2024
d0462b9
use detections fields in media urls creation, too
sashankaryal Dec 17, 2024
89d1853
add support for collection overlay types in disk decoder
sashankaryal Dec 17, 2024
d2038b0
return if no path
sashankaryal Dec 17, 2024
cd8eaee
fix src bug
sashankaryal Dec 17, 2024
5d6f683
add clarification comment for sources
sashankaryal Dec 17, 2024
bc44e3e
don't get rid of query params if source is defined
sashankaryal Dec 17, 2024
d9e5f38
bump brain version
brimoor Dec 17, 2024
3d5bd81
Merge pull request #5290 from voxel51/bump-brain
brimoor Dec 18, 2024
d872a3b
similarity race condition patch
ehofesmann Dec 13, 2024
4fdcc9c
lint
brimoor Dec 18, 2024
ec2c2e8
Merge pull request #5273 from voxel51/bugfix/sim-sort-patch
brimoor Dec 18, 2024
2115658
Merge pull request #5289 from voxel51/fix/detections-sources
sashankaryal Dec 18, 2024
5603258
model evaluation load_view bug fixes
imanjra Dec 18, 2024
ae494a5
Merge pull request #5268 from voxel51/model-eval-fixes2
brimoor Dec 18, 2024
01807ac
decode png header to know num channels
sashankaryal Dec 18, 2024
b86906a
use const png signature
sashankaryal Dec 18, 2024
b4acf0f
remove invalid tests
sashankaryal Dec 18, 2024
d9649c3
Merge pull request #5294 from voxel51/fix/png-decoding
sashankaryal Dec 18, 2024
94c3fe9
Reset to initial buffers in video looker (#5293)
benjaminpkane Dec 18, 2024
c82bb81
Fix cached looker font sizes (#5287)
benjaminpkane Dec 18, 2024
75d31dc
remove erroneous base url extraction
sashankaryal Dec 19, 2024
4bcc45d
Merge pull request #5298 from voxel51/fix/erroneous-base-url
sashankaryal Dec 19, 2024
b92e747
fix load_evaluation bug with serialized_info
imanjra Dec 19, 2024
f254567
Merge pull request #5301 from voxel51/bugfix/load-regression-eval-error
Br2850 Dec 19, 2024
79349af
model evaluation panel permission ux tweaks
imanjra Dec 10, 2024
9f78594
add example databricks connector to data lens docs
tom-vx51 Dec 19, 2024
91a8e95
add example of dynamic operator to data lens docs
tom-vx51 Dec 19, 2024
d725315
use _confusion_matrix()
brimoor Nov 25, 2024
585411c
not the right place to implement "other"
brimoor Nov 25, 2024
01c11cc
support missing count in confusion matrix in model eval panel
imanjra Dec 19, 2024
e5cd1bd
Merge pull request #5303 from voxel51/feat/lens-docs-update
tom-vx51 Dec 19, 2024
4953b31
bump to ETA v0.13.1
brimoor Dec 20, 2024
fd08265
adding release notes
brimoor Dec 20, 2024
4e04f98
more notes
brimoor Dec 20, 2024
45a8a28
Merge pull request #5307 from voxel51/release-notes
brimoor Dec 20, 2024
50970e9
Merge pull request #5305 from voxel51/bugfix/dataset-first
brimoor Dec 20, 2024
e556b7e
additional guard for subscribers empty state
sashankaryal Dec 20, 2024
004687a
use explicit store
sashankaryal Dec 20, 2024
b9ab1be
memoize controller
sashankaryal Dec 20, 2024
e5771c6
Merge pull request #5309 from voxel51/fix/video-looker-range-error
sashankaryal Dec 20, 2024
41bfd4d
Clear extended selection for dataset changes (#5308)
benjaminpkane Dec 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
with:
repository: voxel51/fiftyone-teams
path: fiftyone-teams
token: ${{ secrets.TEAMS_GITHUB_PAT }}
token: ${{ secrets.RO_FOT_FG_PAT }}
ref: main
- name: Set up Python 3.9
uses: actions/setup-python@v5
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,13 @@ jobs:
python tests/utils/setup_config.py
python tests/utils/github_actions_flags.py

- name: FFmpeg
uses: FedericoCarboni/setup-ffmpeg@v3
# - name: Setup FFmpeg (with retries)
# uses: FedericoCarboni/setup-ffmpeg@v3

# Use this until https://github.com/federicocarboni/setup-ffmpeg/pull/23
# is merged or the maintainer addresses the root issue.
- name: Setup FFmpeg (with retries)
uses: afoley587/setup-ffmpeg@main
Comment on lines +74 to +77
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Pin the FFmpeg action to commit f8748f5b0c83db7d0adb3b874893a8c5ff39bda4

The current @main reference points to a stable commit from December 10, 2024, which specifically adds retry functionality. Pin to this specific commit SHA for better stability while waiting for the upstream issue to be resolved.

  • Update the action reference in .github/workflows/e2e.yml from afoley587/setup-ffmpeg@main to afoley587/setup-ffmpeg@f8748f5b0c83db7d0adb3b874893a8c5ff39bda4
🔗 Analysis chain

Consider pinning the FFmpeg action to a specific version

While this is a temporary solution, using @main tag for GitHub Actions can be risky as it may lead to unexpected breaking changes. Consider pinning to a specific commit SHA for better stability until the upstream issue is resolved.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the action repository has recent commits that might affect stability
gh api repos/afoley587/setup-ffmpeg/commits --jq '.[0:5] | .[] | {sha: .sha, date: .commit.author.date, message: .commit.message}'

Length of output: 816


- name: Cache E2E Node Modules
id: e2e-node-cache
Expand Down
44 changes: 41 additions & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,49 @@ on:
- main
- release/v[0-9]+.[0-9]+.[0-9]+

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
modified-files:
runs-on: ubuntu-latest
outputs:
app-changes: ${{ steps.filter.outputs.app }}
e2e-changes: ${{ steps.filter.outputs.e2e-pw }}
fiftyone-changes: ${{ steps.filter.outputs.fiftyone }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
app:
- 'app/**'
e2e-pw:
- 'e2e-pw/**'
- '.github/workflows/e2e.yml'
fiftyone:
- 'fiftyone/**'
- 'package/**'
- 'requirements/**'
- 'tests/**'
- 'requirements.txt'
- 'setup.py'

build:
needs: modified-files
if: ${{ needs.modified-files.outputs.app-changes == 'true' || needs.modified-files.outputs.fiftyone-changes == 'true' }}
uses: ./.github/workflows/build.yml

e2e:
needs: modified-files
if: ${{ needs.modified-files.outputs.app-changes == 'true' || needs.modified-files.outputs.e2e-changes == 'true' || needs.modified-files.outputs.fiftyone-changes == 'true' }}
uses: ./.github/workflows/e2e.yml

lint:
needs: modified-files
if: ${{ needs.modified-files.outputs.app-changes == 'true' || needs.modified-files.outputs.fiftyone-changes == 'true' }}
uses: ./.github/workflows/lint-app.yml

teams:
Expand All @@ -43,6 +78,8 @@ jobs:
wait_workflow: true

test:
needs: modified-files
if: ${{ needs.modified-files.outputs.app-changes == 'true' || needs.modified-files.outputs.fiftyone-changes == 'true' }}
uses: ./.github/workflows/test.yml

all-tests:
Expand All @@ -51,6 +88,7 @@ jobs:
if: always()
steps:
- run: sh -c ${{
needs.build.result == 'success' &&
needs.lint.result == 'success' &&
needs.test.result == 'success' }}
(needs.build.result == 'success' || needs.build.result == 'skipped') &&
(needs.lint.result == 'success' || needs.lint.result == 'skipped') &&
(needs.test.result == 'success' || needs.test.result == 'skipped') &&
(needs.e2e.result == 'success' || needs.e2e.result == 'skipped') }}
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ jobs:
--ignore tests/no_wrapper
- name: Upload
if: ${{ !startsWith(matrix.os, 'windows') && matrix.python == '3.11' }}
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml
Expand Down
1 change: 0 additions & 1 deletion app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@
],
"packageManager": "[email protected]",
"dependencies": {
"jpeg-js": "^0.4.4",
"react-player": "^2.16.0",
"react-plotly.js": "^2.6.0"
}
Expand Down
13 changes: 6 additions & 7 deletions app/packages/app/src/routing/RouterContext.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
import { viewsAreEqual } from "@fiftyone/state";
import { NotFoundError, Resource, isNotebook } from "@fiftyone/utilities";
import type { Action, Location } from "history";
import { createBrowserHistory, createMemoryHistory } from "history";
import React from "react";
import type { PreloadedQuery } from "react-relay";
import { loadQuery } from "react-relay";
import type {
ConcreteRequest,
Environment,
OperationType,
VariablesOf,
} from "relay-runtime";
import { fetchQuery } from "relay-runtime";
import type { Route } from ".";
import type { Queries } from "../makeRoutes";
import type RouteDefinition from "./RouteDefinition";
import type { LocationState, MatchPathResult } from "./matchPath";

import { viewsAreEqual } from "@fiftyone/state";
import { NotFoundError, Resource, isNotebook } from "@fiftyone/utilities";
import { createBrowserHistory, createMemoryHistory } from "history";
import React from "react";
import { loadQuery } from "react-relay";
import { fetchQuery } from "relay-runtime";
import { matchPath } from "./matchPath";

export interface RouteData<T extends OperationType> {
Expand Down
5 changes: 4 additions & 1 deletion app/packages/core/src/components/Grid/Grid.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,10 @@ function Grid() {
get: (next) => page(next),
render: (id, element, dimensions, zooming) => {
if (lookerStore.has(id.description)) {
lookerStore.get(id.description)?.attach(element, dimensions);
lookerStore
.get(id.description)
?.attach(element, dimensions, getFontSize());

return;
}

Expand Down
2 changes: 1 addition & 1 deletion app/packages/core/src/components/ImageContainerHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as fos from "@fiftyone/state";
import { isGroup as isGroupAtom } from "@fiftyone/state";
import { Apps, ImageAspectRatio } from "@mui/icons-material";
import Color from "color";
import { Suspense, useMemo } from "react";
import React, { Suspense, useMemo } from "react";
import {
constSelector,
useRecoilCallback,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { usePanelEvent } from "@fiftyone/operators";
import { usePanelId } from "@fiftyone/spaces";
import { Box, Paper, PaperProps } from "@mui/material";
import React, { PropsWithChildren } from "react";
import { PropsWithChildren } from "react";
import {
getMarginSx,
getPaddingSx,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import { West } from "@mui/icons-material";
import { Box, Button, Card, Stack, Typography } from "@mui/material";
import React from "react";
import ErrorIcon from "./ErrorIcon";

export default function Error(props: ErrorProps) {
const { onBack } = props;
return (
<Stack sx={{ height: "100%", p: 2 }} spacing={1}>
<Box>
<Button onClick={onBack} startIcon={<West />} color="secondary">
Back to Model Evaluation
</Button>
</Box>
<Card
sx={{
display: "flex",
justifyContent: "center",
alignItems: "center",
height: "100%",
}}
>
<Stack spacing={2} sx={{ alignItems: "center" }}>
<ErrorIcon sx={{ fontSize: 64 }} />
<Typography color="secondary">
Analyze and improve models collaboratively with your team
</Typography>
<Typography sx={{ fontWeight: 600 }}>
The Model Evaluation panel currently supports only classification,
detection, and segmentation evaluations
</Typography>
</Stack>
</Card>
</Stack>
);
}
Comment on lines +6 to +36
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Rename component and improve accessibility

  1. Component name shadows the global Error type
  2. Missing accessibility attributes
  3. Hard-coded strings should be externalized for i18n

Suggested improvements:

-export default function Error(props: ErrorProps) {
+export default function EvaluationError(props: ErrorProps) {
   const { onBack } = props;
   return (
     <Stack sx={{ height: "100%", p: 2 }} spacing={1}>
       <Box>
         <Button 
           onClick={onBack} 
           startIcon={<West />} 
           color="secondary"
+          aria-label="Return to model evaluation"
         >
-          Back to Model Evaluation
+          {t('modelEvaluation.backButton')}
         </Button>
       </Box>
       {/* ... rest of the component ... */}
     </Stack>
   );
 }

Consider creating a separate translations file for all text strings.

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 Biome (1.9.4)

[error] 6-6: Do not shadow the global "Error" property.

Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.

(lint/suspicious/noShadowRestrictedNames)


type ErrorProps = {
onBack: () => void;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { SvgIcon, SvgIconProps } from "@mui/material";
import React from "react";

export default function ErrorIcon(props: SvgIconProps) {
return (
<SvgIcon width="54" height="61" viewBox="0 0 54 61" fill="none" {...props}>
<path
d="M27 3.16667C34.0667 3.16667 40.6667 3.9 45.5334 5.23333C48.4667 6.03333 50 6.83333 50.6667 7.3V53.7C50.0667 54.1667 48.5334 54.9667 45.5334 55.7667C40.6667 57.1 34.0667 57.8333 27 57.8333C19.9334 57.8333 13.3334 57.1 8.46669 55.7667C5.53335 54.9667 4.00002 54.1667 3.33335 53.7V7.3C3.93335 6.83333 5.46669 6.03333 8.46669 5.23333C13.3334 3.9 19.9334 3.16667 27 3.16667ZM27 0.5C19.7334 0.5 12.8667 1.23333 7.73335 2.63333C2.86669 3.96667 0.666687 5.56667 0.666687 6.56667V54.4333C0.666687 55.4333 2.86669 57.0333 7.73335 58.3667C12.8667 59.7 19.7334 60.5 27 60.5C34.2667 60.5 41.1334 59.7 46.2667 58.3667C51.1334 57.0333 53.3334 55.4333 53.3334 54.4333V6.56667C53.3334 5.56667 51.1334 3.96667 46.2667 2.63333C41.1334 1.23333 34.2667 0.5 27 0.5Z"
fill="#FFC59B"
/>
<path
d="M18.2664 27.6333C14.3331 27.6333 11.0664 24.4333 11.0664 20.4333C11.0664 16.4333 14.3331 13.2999 18.2664 13.2999C22.1997 13.2999 25.3997 16.4999 25.3997 20.4333C25.3997 24.3666 22.1997 27.6333 18.2664 27.6333ZM18.2664 15.9666C15.7997 15.9666 13.7331 17.9666 13.7331 20.4999C13.7331 23.0333 15.7331 25.0333 18.2664 25.0333C20.7997 25.0333 22.7997 23.0333 22.7997 20.4999C22.7997 17.9666 20.7331 15.9666 18.2664 15.9666Z"
fill="#FFC59B"
/>
<path
d="M35.7332 27.6333C31.7999 27.6333 28.5332 24.4333 28.5332 20.4333C28.5332 16.4333 31.7332 13.2333 35.7332 13.2333C39.7332 13.2333 42.9332 16.4999 42.9332 20.4333C42.9332 24.3666 39.6665 27.6333 35.7332 27.6333ZM35.7332 15.9666C33.2665 15.9666 31.1999 17.9666 31.1999 20.4999C31.1999 23.0333 33.1999 25.0333 35.7332 25.0333C38.2665 25.0333 40.2665 23.0333 40.2665 20.4999C40.2665 17.9666 38.1999 15.9666 35.7332 15.9666Z"
fill="#FFC59B"
/>
<path
d="M18.2666 21.9C19.0766 21.9 19.7332 21.2434 19.7332 20.4333C19.7332 19.6233 19.0766 18.9667 18.2666 18.9667C17.4565 18.9667 16.7999 19.6233 16.7999 20.4333C16.7999 21.2434 17.4565 21.9 18.2666 21.9Z"
fill="#FFC59B"
/>
<path
d="M35.7334 21.9C36.5434 21.9 37.2 21.2434 37.2 20.4333C37.2 19.6233 36.5434 18.9667 35.7334 18.9667C34.9233 18.9667 34.2667 19.6233 34.2667 20.4333C34.2667 21.2434 34.9233 21.9 35.7334 21.9Z"
fill="#FFC59B"
/>
<path
d="M20.7333 41.2333C20.9333 40.9666 21.6 40.8333 21.9333 40.7666C22.5333 40.7 22.9333 40.9666 23.2 41.5C23.9333 43.0333 26.2666 41.7 25.5333 40.1666C24.2666 37.6333 19.9333 37.3666 18.4666 39.9C17.5333 41.4333 19.8666 42.7666 20.7333 41.2333Z"
fill="#FFC59B"
/>
</SvgIcon>
);
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
import { MuiButton } from "@fiftyone/components";
import { Add } from "@mui/icons-material";
import { Box } from "@mui/material";
import React from "react";

export default function Evaluate(props: EvaluateProps) {
const { onEvaluate } = props;
const { onEvaluate, permissions } = props;
const canEvaluate = permissions.can_evaluate;
return (
<MuiButton onClick={onEvaluate} startIcon={<Add />} variant="contained">
Evaluate Model
</MuiButton>
<Box
title={canEvaluate ? "" : "You do not have permission to evaluate model"}
sx={{ cursor: canEvaluate ? "pointer" : "not-allowed" }}
>
<MuiButton
onClick={onEvaluate}
startIcon={<Add />}
variant="contained"
disabled={!canEvaluate}
>
Evaluate Model
</MuiButton>
</Box>
Comment on lines +10 to +22
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Improve accessibility for disabled state

The component should have improved accessibility for screen readers:

 <Box
   title={canEvaluate ? "" : "You do not have permission to evaluate model"}
-  sx={{ cursor: canEvaluate ? "pointer" : "not-allowed" }}
+  sx={{ cursor: canEvaluate ? "pointer" : "not-allowed" }}
+  role="region"
+  aria-label="Model evaluation controls"
 >
   <MuiButton
     onClick={onEvaluate}
     startIcon={<Add />}
     variant="contained"
     disabled={!canEvaluate}
+    aria-disabled={!canEvaluate}
   >
     Evaluate Model
   </MuiButton>
 </Box>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<Box
title={canEvaluate ? "" : "You do not have permission to evaluate model"}
sx={{ cursor: canEvaluate ? "pointer" : "not-allowed" }}
>
<MuiButton
onClick={onEvaluate}
startIcon={<Add />}
variant="contained"
disabled={!canEvaluate}
>
Evaluate Model
</MuiButton>
</Box>
<Box
title={canEvaluate ? "" : "You do not have permission to evaluate model"}
sx={{ cursor: canEvaluate ? "pointer" : "not-allowed" }}
role="region"
aria-label="Model evaluation controls"
>
<MuiButton
onClick={onEvaluate}
startIcon={<Add />}
variant="contained"
disabled={!canEvaluate}
aria-disabled={!canEvaluate}
>
Evaluate Model
</MuiButton>
</Box>

);
}

Expand Down
Loading
Loading