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

webms not loading in derpibooru (mac os 12.3.1, 7.8.1)) [workaround included] #2680

Closed
saintlain opened this issue May 6, 2022 · 2 comments
Assignees
Labels
bug reproduced This issue was reproduced by the assignee. source
Milestone

Comments

@saintlain
Copy link

Bug description

no webm resources load when using the derpibooru profile

Steps to reproduce

  1. use derpibooru profile
  2. attempt any search that yields webm results (e.g. 'webm')
  3. any webm thumbnails will stay stuck loading, and the user cannot click them to open the image viewer to view full size

Expected behavior

webm resources should behave uniformly with gif/png/jpg/svg resources

Context

main.log

[21:17:30.551][Warning] Javascript 'model.js' file not found for 'Gfycat' in [/Applications/Grabber.app/Contents/MacOS/sites/Gfycat/model.js](file:////Applications/Grabber.app/Contents/MacOS/sites/Gfycat/model.js) 
[21:17:30.571][Info] Temp directory purged of 0/9 files (0 failed) 
[21:17:30.643][Info] Software version: 7.8.1.
[21:17:30.643][Info] Software CPU architecture: x86.
[21:17:30.643][Info] Computer CPU architecture: x86_64.
[21:17:30.643][Info] Qt CPU architecture: x86_64.
[21:17:30.643][Info] Computer platform: macOS 12.3.
[21:17:30.644][Info] Path: [/Applications/Grabber.app/Contents/MacOS](file:////Applications/Grabber.app/Contents/MacOS)
[21:17:30.644][Info] Loading preferences from /Applications/Grabber.app/Contents/MacOS/settings.ini
[21:17:30.644][Info] Temporary path: /private/var/folders/wh/6_fs0b152m76873ll3493wv00000gn/T/Grabber
[21:17:30.644][Info] Sources found: 25
[21:17:30.645][Info] SSL libraries: Secure Transport, macOS 12.3
[21:17:30.647][Info] Setting language to '' ([/Applications/Grabber.app/Contents/MacOS/languages/.qm](file:////Applications/Grabber.app/Contents/MacOS/languages/.qm))...
[21:17:30.648][Info] 25 sources found: anime-pictures.net (Anime pictures), api.rule34.xxx (Gelbooru (0.2)), api.twitter.com (Twitter), behoimi.org (Danbooru), danbooru.donmai.us (Danbooru (2.0)), derpibooru.org (Philomena), e-hentai.org (E-Hentai), e621.net (E621), exhentai.org (E-Hentai), gelbooru.com (Gelbooru (0.2)), hijiribe.donmai.us (Danbooru (2.0)), konachan.com (Moebooru), nhentai.net (NHentai), nijie.info (Nijie), rule34.paheal.net (Shimmie), rule34.us (Modified Gelbooru (0.1)), safebooru.org (Gelbooru (0.2)), sonohara.donmai.us (Danbooru (2.0)), tentaclerape.net (Shimmie), wallhaven.cc (WallHaven), www.deviantart.com (DeviantArt), www.pixiv.net (Pixiv), www.reddit.com (Reddit), www.zerochan.net (Zerochan), yande.re (Moebooru)
[21:17:30.668][Info] Loading 0 download(s)
[21:17:30.671][Info] Updating checkboxes.
[21:17:30.673][Info] Updating checkboxes.
[21:17:30.676][Info] Saving sources...
[21:17:30.676][Info] Updating checkboxes.
[21:17:30.678][Info] Updating checkboxes.
[21:17:30.678][Info] Saving sources...
[21:17:30.679][Info] Updating checkboxes.
[21:17:30.680][Info] Monitoring starting
[21:17:30.719][Info] Monitoring tick
[21:17:30.719][Info] Monitoring finished
[21:17:32.085][Info] Loading results...
[21:17:32.087][Info] [derpibooru.org][Html] Loading page https://derpibooru.org/search?page=1&sbq=webm&key=vA0zt5r_YynalF8JFR1N
[21:17:32.088][Info] [derpibooru.org][Json] Loading page https://derpibooru.org/api/v1/json/search/images?per_page=100&page=1&q=webm&key=vA0zt5r_YynalF8JFR1N
[21:17:32.686][Info] [derpibooru.org][Html] Receiving page https://derpibooru.org/search?page=1&sbq=webm&key=vA0zt5r_YynalF8JFR1N
[21:17:32.697][Info] [derpibooru.org][Html] Parsed page https://derpibooru.org/search?page=1&sbq=webm&key=vA0zt5r_YynalF8JFR1N: 0 images (0), 0 tags (0), -1 total (-1), -1 pages (-1)
[21:17:33.178][Info] Loading results...
[21:17:33.180][Info] [derpibooru.org][Json] Receiving page https://derpibooru.org/api/v1/json/search/images?per_page=100&page=1&q=webm&key=vA0zt5r_YynalF8JFR1N
[21:17:33.182][Warning] [Qt][default] QIODevice::read (QNetworkReplyHttpImpl): device not open
[21:17:33.183][Warning] [derpibooru.org] Loading using Json failed. Retry using Html.
[21:17:33.184][Info] [derpibooru.org][Html] Loading page https://derpibooru.org/search?page=1&sbq=webm&key=vA0zt5r_YynalF8JFR1N
[21:17:33.187][Info] [derpibooru.org][Html] Loading page https://derpibooru.org/search?page=1&sbq=webm&key=vA0zt5r_YynalF8JFR1N
[21:17:33.188][Info] [derpibooru.org][Json] Loading page https://derpibooru.org/api/v1/json/search/images?per_page=100&page=1&q=webm&key=vA0zt5r_YynalF8JFR1N
[21:17:33.568][Info] [derpibooru.org][Html] Receiving page https://derpibooru.org/search?page=1&sbq=webm&key=vA0zt5r_YynalF8JFR1N
[21:17:33.574][Info] [derpibooru.org][Html] Parsed page https://derpibooru.org/search?page=1&sbq=webm&key=vA0zt5r_YynalF8JFR1N: 0 images (0), 0 tags (0), -1 total (-1), -1 pages (-1)
[21:17:33.988][Info] [derpibooru.org][Html] Receiving page https://derpibooru.org/search?page=1&sbq=webm&key=vA0zt5r_YynalF8JFR1N
[21:17:33.996][Info] [derpibooru.org][Html] Parsed page https://derpibooru.org/search?page=1&sbq=webm&key=vA0zt5r_YynalF8JFR1N: 0 images (0), 0 tags (0), -1 total (-1), -1 pages (-1)
[21:17:34.886][Info] [derpibooru.org][Json] Receiving page https://derpibooru.org/api/v1/json/search/images?per_page=100&page=1&q=webm&key=vA0zt5r_YynalF8JFR1N
[21:17:34.931][Info] [derpibooru.org][Json] Parsed page https://derpibooru.org/api/v1/json/search/images?per_page=100&page=1&q=webm&key=vA0zt5r_YynalF8JFR1N: 50 images (50), 0 tags (730), 16692 total (16692), 167 pages (167)
[21:17:34.982][Error] One of the thumbnails is empty (https://derpicdn.net/img/2022/5/5/2859168/thumb.webm).
[21:17:35.134][Error] One of the thumbnails is empty (https://derpicdn.net/img/2022/5/5/2859405/thumb.webm).
[21:17:35.161][Error] One of the thumbnails is empty (https://derpicdn.net/img/2022/5/5/2859359/thumb.webm).
[21:17:35.162][Error] One of the thumbnails is empty (https://derpicdn.net/img/2022/5/4/2858516/thumb.webm).
[21:17:35.168][Error] One of the thumbnails is empty (https://derpicdn.net/img/2022/5/4/2858303/thumb.webm).
[21:17:35.169][Error] One of the thumbnails is empty (https://derpicdn.net/img/2022/5/4/2858255/thumb.webm).
[21:17:35.172][Error] One of the thumbnails is empty (https://derpicdn.net/img/2022/5/4/2858253/thumb.webm).
...
...

settings.ini

[General]
add=
autocompletion=true
autodownload=false
batchSplitter="11,11"
borders=3
check_for_updates=86400
columns=1
confirm_close=false
crashed=true
downloadblacklist=false
firstload=false
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x19\0\0\x6\x8f\0\0\x4\x19\0\0\0\0\0\0\0\x35\0\0\x6\x8f\0\0\x4\x19\0\0\0\0\x2\0\0\0\x6\x90\0\0\0\0\0\0\0\x35\0\0\x6\x8f\0\0\x4\x19)
getunloadedpages=false
globalPostFilter=
globalPostFilterExplicit=false
hideblacklisted=false
hidefavorites=20
ignoredtags=
imageBackgroundColor=
imageCloseMiddleClick=true
imageNavigateScroll=true
imagePositionAnimationH=left
imagePositionAnimationV=center
imagePositionImageH=left
imagePositionImageV=center
imagePositionVideoH=left
imagePositionVideoV=center
infiniteScroll=scroll
infiniteScrollRememberPage=true
invertToggle=false
keyAcceptDialog=Ctrl+Y
keyDeclineDialog=Ctrl+N
language=
last_check_for_updates=@DateTime(\0\0\0\x10\0\0\0\0\0\0%\x88\x39\x4\x42\a\xca\0)
limit=100
mergeresults=false
preload=0
preloadAllTabs=false
resizeInsteadOfCropping=true
resultsFixedWidthLayout=true
resultsScrollArea=true
reverse=false
send_usage_data=true
serverBorder=0
serverBorderColor=#000000
showtagwarning=true
showwarnings=true
sites=api.rule34.xxx
slideshow=0
source_1=xml
source_2=json
source_3=regex
source_4=rss
ssl_autocorrect=always
start=restore
state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\0\0\0\x1 \0\0\x3\xe5\xfc\x2\0\0\0\x2\xfc\0\0\0\0\0\0\x3)\0\0\0+\x1\0\0\x14\xfa\0\0\0\0\x2\0\0\0\x4\xfb\0\0\0\x1a\0\x64\0o\0\x63\0k\0_\0i\0n\0t\0\x65\0r\0n\0\x65\0t\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x16\0\xff\xff\xff\xfb\0\0\0\x12\0\x64\0o\0\x63\0k\0_\0w\0i\0k\0i\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x16\0\xff\xff\xff\xfb\0\0\0\x10\0\x64\0o\0\x63\0k\0_\0k\0\x66\0l\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x16\0\xff\xff\xff\xfb\0\0\0\x1c\0\x64\0o\0\x63\0k\0_\0\x66\0\x61\0v\0o\0r\0i\0t\0\x65\0s\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x16\0\xff\xff\xff\xfb\0\0\0\x16\0\x64\0o\0\x63\0k\0O\0p\0t\0i\0o\0n\0s\x1\0\0\x3*\0\0\0\xbb\0\0\0\xbb\0\xff\xff\xff\0\0\x5o\0\0\x3\xe5\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
tagsautoadd=10
tagsposition=top
tempPathOverride=
thumbnailUpscale=1
useSystemLocale=true
useregexfortags=true
whitelist_download=image
whitelistedtags=

[Batch]
end=0

[Coloring]
Colors\artists=#aa0000
Colors\blacklisteds=#000000
Colors\characters=#00aa00
Colors\circles=#55bbff
Colors\copyrights=#aa00aa
Colors\favorites=#ffc0cb
Colors\generals=#000000
Colors\ignoreds=#999999
Colors\keptForLater=#000000
Colors\metas=#ee6600
Colors\models=#0000ee
Colors\species=#ee6600
Fonts\artists=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\blacklisteds=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\characters=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\circles=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\copyrights=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\favorites=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\generals=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\ignoreds=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\keptForLater=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\metas=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\models=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"
Fonts\species=".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0"

[Downloads]
Groups\headerState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4\xb0\0\0\0\f\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x84\0\0\0\0\0\0\0\f\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\0)
Uniques\headerState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0\f\0\0\0\x2\0\0\0\n\0\0\0\x64\0\0\0\v\0\0\0\x64\0\0\x3\xe8\0\0\0\f\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x84\0\0\0\0\0\0\0\f\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\0)

[Exec]
SQL\after=
SQL\before=
SQL\database=
SQL\driver=
SQL\dry_run=false
SQL\host=
SQL\image=
SQL\password=
SQL\tag_after=
SQL\tag_before=
SQL\user=
dry_run=false
image=
tag_after=
tag_before=

[Favorites]
order=name
reverse=false

[GAnalytics]
cid=38be362d-53cd-4444-9cb8-4dcd23888c8b

[ImageSize]
maxHeight=1000
maxHeightEnabled=false
maxWidth=1000
maxWidthEnabled=false

[Log]
show=true

[Main]
Shortcuts\keyBrowseSave=Ctrl+O
Shortcuts\keyCloseTab=Ctrl+W
Shortcuts\keyFavoritesBack=Esc
Shortcuts\keyFocusSearch=Ctrl+L
Shortcuts\keyNewTab=Ctrl+T
Shortcuts\keyNextTab=Ctrl+PgUp
Shortcuts\keyPrevTab=Ctrl+PgDown
Shortcuts\keyQuit=Ctrl+Q

[Margins]
horizontal=6
main=10
vertical=6

[Monitoring]
closeToTray=false
enableTray=false
headerState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\v\xe0\a\0\0\0\x6\0\0\0\a\0\0\0\x64\0\0\0\x5\0\0\0\x64\0\0\0\n\0\0\0\x64\0\0\0\b\0\0\0\x64\0\0\0\t\0\0\0\x64\0\0\0\x6\0\0\0\x64\0\0\x1\xf4\0\0\0\v\x1\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x84\0\0\0\0\0\0\0\v\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\0)
minimizeToTray=false
startupDelay=0

[Proxy]
hostName=
password=
port=0
type=http
use=false
useSystem=false
user=

[Save]
MetadataExiftool\size=0
MetadataExiftoolExtensions=jpg jpeg png gif mp4
MetadataPropsys\size=0
MetadataPropsysExtensions=
artist_empty=anonymous
artist_multiple=keepAll
artist_multiple_keepN=1
artist_multiple_keepNThenAdd_add=" (+ %count%)"
artist_multiple_keepNThenAdd_keep=1
artist_multiple_limit=1
artist_sep=+
artist_sort=original
artist_useall=true
artist_value=multiple artists
automaticretries=0
character_empty=unknown
character_multiple=keepAll
character_multiple_keepN=1
character_multiple_keepNThenAdd_add=" (+ %count%)"
character_multiple_keepNThenAdd_keep=1
character_multiple_limit=1
character_sep=+
character_sort=original
character_useall=true
character_value=group
copyright_empty=misc
copyright_multiple=keepAll
copyright_multiple_keepN=1
copyright_multiple_keepNThenAdd_add=" (+ %count%)"
copyright_multiple_keepNThenAdd_keep=1
copyright_multiple_limit=1
copyright_sep=+
copyright_sort=original
copyright_useall=true
copyright_useshorter=true
copyright_value=crossover
downloadoriginals=true
filename=%md5%.%ext%
filename_favorites=
filename_real=%md5%.%ext%
headerDetection=true
keepDate=true
keepDeletedMd5=false
limit=0
md5Duplicates=save
md5DuplicatesSameDir=save
meta_empty=none
meta_multiple=keepAll
meta_multiple_keepN=1
meta_multiple_keepNThenAdd_add=" (+ %count%)"
meta_multiple_keepNThenAdd_keep=1
meta_multiple_limit=1
meta_sep=+
meta_sort=original
meta_useall=true
meta_value=multiple
model_empty=unknown
model_multiple=keepAll
model_multiple_keepN=1
model_multiple_keepNThenAdd_add=" (+ %count%)"
model_multiple_keepNThenAdd_keep=1
model_multiple_limit=1
model_sep=+
model_sort=original
model_useall=true
model_value=multiple
multiple_files=copy
noJpeg=true
path=/Users/fats/Desktop/Grabber
path_favorites=//
path_real=/Users/fats/Desktop/Grabber
photo_set_empty=unknown
photo_set_multiple=keepAll
photo_set_multiple_keepN=1
photo_set_multiple_keepNThenAdd_add=" (+ %count%)"
photo_set_multiple_keepNThenAdd_keep=1
photo_set_multiple_limit=1
photo_set_sep=+
photo_set_sort=original
photo_set_useall=true
photo_set_value=multiple
replaceblanks=false
samplefallback=false
separator=" "
simultaneous=1
species_empty=unknown
species_multiple=keepAll
species_multiple_keepN=1
species_multiple_keepNThenAdd_add=" (+ %count%)"
species_multiple_keepNThenAdd_keep=1
species_multiple_limit=1
species_sep=+
species_sort=original
species_useall=true
species_value=multiple

[SourcePresets]
size=0

[Sources]
Letters=3
Types=icon
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x2\xab\0\0\0\xe7\0\0\x3\xe5\0\0\x3/\0\0\x2\xab\0\0\x1\x3\0\0\x3\xe5\0\0\x3/\0\0\0\0\0\0\0\0\x6\x90\0\0\x2\xab\0\0\x1\x3\0\0\x3\xe5\0\0\x3/)

[Viewer]
Shortcuts\keyDataToClipboard=Ctrl+C
Shortcuts\keyDetails=D
Shortcuts\keyNext=Right
Shortcuts\keyOpen=Ctrl+O
Shortcuts\keyOpenFav=Ctrl+Alt+O
Shortcuts\keyOpenInBrowser=
Shortcuts\keyPrev=Left
Shortcuts\keyQuit=Esc
Shortcuts\keySave=Ctrl+S
Shortcuts\keySaveAs=Ctrl+Shift+S
Shortcuts\keySaveFav=Ctrl+Alt+S
Shortcuts\keySaveNQuit=Ctrl+W
Shortcuts\keySaveNQuitFav=Ctrl+Alt+W
Shortcuts\keyToggleFullscreen=Meta+Ctrl+F
Shortcuts\keyToggleSlideshow=Space
activeButtons="@Variant(\0\0\0\x7f\0\0\0\x16QList<ButtonSettings>\0\0\0\0\n\x2\x2\0\0\0\b\0P\0r\0\x65\0v\0\0\0\x1\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0,\0P\0r\0\x65\0v\0i\0o\0u\0s\0 \0s\0\x65\0\x61\0r\0\x63\0h\0 \0r\0\x65\0s\0u\0l\0t\x1\0\x1\x1\0\0\0\xe\0\x44\0\x65\0t\0\x61\0i\0l\0s\0\x1\0\x3\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0\x1a\0M\0\x65\0\x64\0i\0\x61\0 \0\x64\0\x65\0t\0\x61\0i\0l\0s\x1\0\x1\f\0\0\0\xe\0S\0\x61\0v\0\x65\0\x46\0\x61\0v\0\x2\0\x3\0\0\0\t\0\0\xff\xff\xff\xff\0\0\0\x34\0S\0\x61\0v\0\x65\0 \0t\0o\0 \0\x66\0\x61\0v\0o\0u\0r\0i\0t\0\x65\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0\x1\0\0\0\x1e\0S\0\x61\0v\0i\0n\0g\0.\0.\0.\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x2\0\0\0\x18\0S\0\x61\0v\0\x65\0\x64\0!\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x3\0\0\0\x1a\0\x43\0o\0p\0i\0\x65\0\x64\0!\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x4\0\0\0\x18\0M\0o\0v\0\x65\0\x64\0!\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x5\0\0\0&\0L\0i\0n\0k\0 \0\x63\0r\0\x65\0\x61\0t\0\x65\0\x64\0!\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x6\0\0\0\x30\0M\0\x44\0\x35\0 \0\x61\0l\0r\0\x65\0\x61\0\x64\0y\0 \0\x65\0x\0i\0s\0t\0s\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\a\0\0\0&\0\x41\0l\0r\0\x65\0\x61\0\x64\0y\0 \0s\0\x61\0v\0\x65\0\x64\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\b\0\0\0\x18\0\x44\0\x65\0l\0\x65\0t\0\x65\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\x1\x1\x1\x4\0\0\0\b\0S\0\x61\0v\0\x65\0\x2\0\x3\0\0\0\t\0\0\xff\xff\xff\xff\0\0\0,\0S\0\x61\0v\0\x65\0 \0t\0o\0 \0u\0s\0u\0\x61\0l\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0\x1\0\0\0\x12\0S\0\x61\0v\0i\0n\0g\0.\0.\0.\0\0\0\0\0\x2\0\0\0\f\0S\0\x61\0v\0\x65\0\x64\0!\0\0\0\0\0\x3\0\0\0\xe\0\x43\0o\0p\0i\0\x65\0\x64\0!\0\0\0\0\0\x4\0\0\0\f\0M\0o\0v\0\x65\0\x64\0!\0\0\0\0\0\x5\0\0\0\x1a\0L\0i\0n\0k\0 \0\x63\0r\0\x65\0\x61\0t\0\x65\0\x64\0!\0\0\0\0\0\x6\0\0\0$\0M\0\x44\0\x35\0 \0\x61\0l\0r\0\x65\0\x61\0\x64\0y\0 \0\x65\0x\0i\0s\0t\0s\0\0\0\0\0\a\0\0\0\x1a\0\x41\0l\0r\0\x65\0\x61\0\x64\0y\0 \0s\0\x61\0v\0\x65\0\x64\0\0\0\0\0\b\0\0\0\f\0\x44\0\x65\0l\0\x65\0t\0\x65\0\0\0\0\x1\0\x4\x4\0\0\0\x12\0S\0\x61\0v\0\x65\0N\0Q\0u\0i\0t\0\x3\0\x3\0\0\0\x3\0\0\xff\xff\xff\xff\0\0\0N\0S\0\x61\0v\0\x65\0 \0t\0o\0 \0u\0s\0u\0\x61\0l\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0 \0\x61\0n\0\x64\0 \0\x63\0l\0o\0s\0\x65\0 \0w\0i\0n\0\x64\0o\0w\0\x1\0\0\0\x12\0S\0\x61\0v\0i\0n\0g\0.\0.\0.\0\0\0\0\0\x2\0\0\0\n\0\x43\0l\0o\0s\0\x65\0\0\0\0\x1\0\x4\f\0\0\0\x18\0S\0\x61\0v\0\x65\0N\0Q\0u\0i\0t\0\x46\0\x61\0v\0\x3\0\x3\0\0\0\x3\0\0\xff\xff\xff\xff\0\0\0V\0S\0\x61\0v\0\x65\0 \0t\0o\0 \0\x66\0\x61\0v\0o\0u\0r\0i\0t\0\x65\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0 \0\x61\0n\0\x64\0 \0\x63\0l\0o\0s\0\x65\0 \0w\0i\0n\0\x64\0o\0w\0\x1\0\0\0\x1e\0S\0\x61\0v\0i\0n\0g\0.\0.\0.\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x2\0\0\0\x16\0\x43\0l\0o\0s\0\x65\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\x1\x1\x4\x1\0\0\0\b\0O\0p\0\x65\0n\0\x4\0\x3\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0L\0O\0p\0\x65\0n\0 \0u\0s\0u\0\x61\0l\0 \0s\0\x61\0v\0\x65\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0 \0i\0n\0 \0n\0\x65\0w\0 \0w\0i\0n\0\x64\0o\0w\x1\0\x4\t\0\0\0\xe\0O\0p\0\x65\0n\0\x46\0\x61\0v\0\x4\0\x3\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0T\0O\0p\0\x65\0n\0 \0\x66\0\x61\0v\0o\0u\0r\0i\0t\0\x65\0 \0s\0\x61\0v\0\x65\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0 \0i\0n\0 \0n\0\x65\0w\0 \0w\0i\0n\0\x64\0o\0w\x1\x1\x2\x4\0\0\0\f\0S\0\x61\0v\0\x65\0\x41\0s\0\b\0\x3\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0\x34\0S\0\x61\0v\0\x65\0 \0t\0o\0 \0i\0r\0r\0\x65\0g\0u\0l\0\x61\0r\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\x1\0\x4\x2\0\0\0\b\0N\0\x65\0x\0t\0\t\0\x1\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0$\0N\0\x65\0x\0t\0 \0s\0\x65\0\x61\0r\0\x63\0h\0 \0r\0\x65\0s\0u\0l\0t\x1\0)"
allButtons="@Variant(\0\0\0\x7f\0\0\0\x16QList<ButtonSettings>\0\0\0\0\n\x2\x2\0\0\0\b\0P\0r\0\x65\0v\0\0\0\x1\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0,\0P\0r\0\x65\0v\0i\0o\0u\0s\0 \0s\0\x65\0\x61\0r\0\x63\0h\0 \0r\0\x65\0s\0u\0l\0t\x1\0\x4\x2\0\0\0\b\0N\0\x65\0x\0t\0\t\0\x1\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0$\0N\0\x65\0x\0t\0 \0s\0\x65\0\x61\0r\0\x63\0h\0 \0r\0\x65\0s\0u\0l\0t\x1\0\x1\x1\0\0\0\xe\0\x44\0\x65\0t\0\x61\0i\0l\0s\0\x1\0\x3\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0\x1a\0M\0\x65\0\x64\0i\0\x61\0 \0\x64\0\x65\0t\0\x61\0i\0l\0s\x1\0\x2\x4\0\0\0\f\0S\0\x61\0v\0\x65\0\x41\0s\0\b\0\x3\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0\x34\0S\0\x61\0v\0\x65\0 \0t\0o\0 \0i\0r\0r\0\x65\0g\0u\0l\0\x61\0r\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\x1\0\x1\x4\0\0\0\b\0S\0\x61\0v\0\x65\0\x2\0\x3\0\0\0\t\0\0\xff\xff\xff\xff\0\0\0,\0S\0\x61\0v\0\x65\0 \0t\0o\0 \0u\0s\0u\0\x61\0l\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0\x1\0\0\0\x12\0S\0\x61\0v\0i\0n\0g\0.\0.\0.\0\0\0\0\0\x2\0\0\0\f\0S\0\x61\0v\0\x65\0\x64\0!\0\0\0\0\0\x3\0\0\0\xe\0\x43\0o\0p\0i\0\x65\0\x64\0!\0\0\0\0\0\x4\0\0\0\f\0M\0o\0v\0\x65\0\x64\0!\0\0\0\0\0\x5\0\0\0\x1a\0L\0i\0n\0k\0 \0\x63\0r\0\x65\0\x61\0t\0\x65\0\x64\0!\0\0\0\0\0\x6\0\0\0$\0M\0\x44\0\x35\0 \0\x61\0l\0r\0\x65\0\x61\0\x64\0y\0 \0\x65\0x\0i\0s\0t\0s\0\0\0\0\0\a\0\0\0\x1a\0\x41\0l\0r\0\x65\0\x61\0\x64\0y\0 \0s\0\x61\0v\0\x65\0\x64\0\0\0\0\0\b\0\0\0\f\0\x44\0\x65\0l\0\x65\0t\0\x65\0\0\0\0\x1\0\x4\x4\0\0\0\x12\0S\0\x61\0v\0\x65\0N\0Q\0u\0i\0t\0\x3\0\x3\0\0\0\x3\0\0\xff\xff\xff\xff\0\0\0N\0S\0\x61\0v\0\x65\0 \0t\0o\0 \0u\0s\0u\0\x61\0l\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0 \0\x61\0n\0\x64\0 \0\x63\0l\0o\0s\0\x65\0 \0w\0i\0n\0\x64\0o\0w\0\x1\0\0\0\x12\0S\0\x61\0v\0i\0n\0g\0.\0.\0.\0\0\0\0\0\x2\0\0\0\n\0\x43\0l\0o\0s\0\x65\0\0\0\0\x1\0\x4\x1\0\0\0\b\0O\0p\0\x65\0n\0\x4\0\x3\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0L\0O\0p\0\x65\0n\0 \0u\0s\0u\0\x61\0l\0 \0s\0\x61\0v\0\x65\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0 \0i\0n\0 \0n\0\x65\0w\0 \0w\0i\0n\0\x64\0o\0w\x1\0\x1\f\0\0\0\xe\0S\0\x61\0v\0\x65\0\x46\0\x61\0v\0\x2\0\x3\0\0\0\t\0\0\xff\xff\xff\xff\0\0\0\x34\0S\0\x61\0v\0\x65\0 \0t\0o\0 \0\x66\0\x61\0v\0o\0u\0r\0i\0t\0\x65\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0\x1\0\0\0\x1e\0S\0\x61\0v\0i\0n\0g\0.\0.\0.\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x2\0\0\0\x18\0S\0\x61\0v\0\x65\0\x64\0!\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x3\0\0\0\x1a\0\x43\0o\0p\0i\0\x65\0\x64\0!\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x4\0\0\0\x18\0M\0o\0v\0\x65\0\x64\0!\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x5\0\0\0&\0L\0i\0n\0k\0 \0\x63\0r\0\x65\0\x61\0t\0\x65\0\x64\0!\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x6\0\0\0\x30\0M\0\x44\0\x35\0 \0\x61\0l\0r\0\x65\0\x61\0\x64\0y\0 \0\x65\0x\0i\0s\0t\0s\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\a\0\0\0&\0\x41\0l\0r\0\x65\0\x61\0\x64\0y\0 \0s\0\x61\0v\0\x65\0\x64\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\b\0\0\0\x18\0\x44\0\x65\0l\0\x65\0t\0\x65\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\x1\x1\x4\f\0\0\0\x18\0S\0\x61\0v\0\x65\0N\0Q\0u\0i\0t\0\x46\0\x61\0v\0\x3\0\x3\0\0\0\x3\0\0\xff\xff\xff\xff\0\0\0V\0S\0\x61\0v\0\x65\0 \0t\0o\0 \0\x66\0\x61\0v\0o\0u\0r\0i\0t\0\x65\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0 \0\x61\0n\0\x64\0 \0\x63\0l\0o\0s\0\x65\0 \0w\0i\0n\0\x64\0o\0w\0\x1\0\0\0\x1e\0S\0\x61\0v\0i\0n\0g\0.\0.\0.\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\0\x2\0\0\0\x16\0\x43\0l\0o\0s\0\x65\0 \0(\0\x66\0\x61\0v\0)\0\0\0\0\x1\x1\x4\t\0\0\0\xe\0O\0p\0\x65\0n\0\x46\0\x61\0v\0\x4\0\x3\0\0\0\x1\0\0\xff\xff\xff\xff\0\0\0T\0O\0p\0\x65\0n\0 \0\x66\0\x61\0v\0o\0u\0r\0i\0t\0\x65\0 \0s\0\x61\0v\0\x65\0 \0l\0o\0\x63\0\x61\0t\0i\0o\0n\0 \0i\0n\0 \0n\0\x65\0w\0 \0w\0i\0n\0\x64\0o\0w\x1\x1)"
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x1\xb8\0\0\0\xe5\0\0\x4\xd7\0\0\x3\x31\0\0\x1\xb8\0\0\x1\x1\0\0\x4\xd7\0\0\x3\x31\0\0\0\0\0\0\0\0\x6\x90\0\0\x1\xb8\0\0\x1\x1\0\0\x4\xd7\0\0\x3\x31)
plus=true
rememberDrawer=true
rememberGeometry=false
scaleUp=false
showGifPlayerControls=true
showTagCount=false
showVideoPlayerControls=true
singleWindow=true
tagOrder=type
useVideoPlayer=true
viewSamples=false

[WebServices]
1\name=IQDB
1\order=1
1\url="https://iqdb.org/?url={url}"
2\name=SauceNAO
2\order=2
2\url="https://saucenao.com/search.php?db=999&url={url}"
3\name=Google
3\order=3
3\url="https://www.google.com/searchbyimage?image_url={url}"
4\name=TinEye
4\order=4
4\url="https://www.tineye.com/search/?url={url}"
5\name=Yandex
5\order=5
5\url="https://yandex.ru/images/search?rpt=imageview&img_url={url}"
6\name=waifu2x
6\order=6
6\url="http://waifu2x.udp.jp/index.html?url={url}"

Screenshots

image

System information

  • macos monterey 12.3.1
  • Grabber version: 7.8.1

Workaround

  1. right click 'grabber' in applications and click 'show package content'
  2. navigate to ./MacOS/sites/Philomena
  3. replace model.js with the following:
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
            ar[i] = from[i];
        }
    }
    return to.concat(ar || Array.prototype.slice.call(from));
};
function completeImage(img) {
    if (img.json_uris) {
        var uris = JSON.parse(img.json_uris.replace(/&quot;/g, '"'));
        if ("thumb_small" in uris && uris["thumb_small"].length > 5) {
            img.preview_url = uris["thumb_small"];
        }
        if ("large" in uris && uris["large"].length > 5) {
            img.sample_url = uris["large"];
        }
        if ("full" in uris && uris["full"].length > 5) {
            img.file_url = uris["full"];
        }
    }
    if (!img.preview_url && img.file_url && img.file_url.length >= 5) {
        img.preview_url = img.file_url
            .replace("full", "thumb")
            .replace(".svg", ".png");
    }
    img.preview_url = img.preview_url.replace('.webm','.gif');
    return img;
}
function makeTags(tags, tagIds) {
    var ret = [];
    for (var i in tags) {
        ret.push({
            id: tagIds[i],
            name: tags[i],
        });
    }
    return ret;
}
function searchToArg(search) {
    var sf;
    var sd = "desc";
    var tags = [];
    var parts = search.split(" ");
    for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
        var tag = parts_1[_i];
        var part = tag.trim();
        if (part.indexOf("order:") === 0) {
            var orders = part.substr(6).split("_");
            sf = orders[0];
            if (orders.length > 1) {
                sd = orders[1];
            }
        }
        else {
            tags.push(part);
        }
    }
    var ret = encodeURIComponent(tags.join(" ") || "*");
    if (sf) {
        ret += "&sf=" + sf;
        if (sd) {
            ret += "&sd=" + sd;
        }
    }
    return ret;
}
// Build all "order:XXX" possible modifiers
var sorts = ["id", "updated_at", "first_seen_at", "aspect_ratio", "faves", "upvotes", "downvotes", "score", "wilson_score", "_score", "width", "height", "comment_count", "tag_count", "pixels", "size", "duration"];
var sortModifiers = [];
for (var _i = 0, sorts_1 = sorts; _i < sorts_1.length; _i++) {
    var sort = sorts_1[_i];
    sortModifiers.push("order:" + sort);
    sortModifiers.push("order:" + sort + "_asc");
    sortModifiers.push("order:" + sort + "_desc");
}
export var source = {
    name: "Philomena",
    modifiers: __spreadArray(["faved_by:", "width:", "height:", "uploader:", "source_url:", "description:", "sha512_hash:", "aspect_ratio:"], sortModifiers, true),
    forcedTokens: [],
    tagFormat: {
        case: "lower",
        wordSeparator: " ",
    },
    searchFormat: {
        and: " AND ",
        or: " OR ",
        parenthesis: true,
        precedence: "and",
    },
    auth: {
        url: {
            type: "url",
            fields: [
                {
                    id: "apiKey",
                    key: "key",
                    type: "password",
                },
            ],
        },
    },
    apis: {
        json: {
            name: "JSON",
            auth: [],
            maxLimit: 50,
            search: {
                url: function (query, opts) {
                    return "/api/v1/json/search/images?per_page=" + opts.limit + "&page=" + query.page + "&q=" + searchToArg(query.search);
                },
                parse: function (src) {
                    var map = {
                        "created_at": "created_at",
                        "source": "source_url",
                        "width": "width",
                        "md5": "sha512_hash",
                        "height": "height",
                        "creator_id": "uploader_id",
                        "id": "id",
                        "ext": "format",
                        "file_url": "representations.full",
                        "sample_url": "representations.large",
                        "preview_url": "representations.thumb",
                        "author": "uploader",
                        "score": "score",
                    };
                    var data = JSON.parse(src);
                    var images = [];
                    for (var _i = 0, _a = data["images"]; _i < _a.length; _i++) {
                        var image = _a[_i];
                        var img = Grabber.mapFields(image, map);
                        img.tags = makeTags(image["tags"], image["tag_ids"]);
                        img.has_comments = image["comment_count"] > 0;
                        images.push(completeImage(img));
                    }
                    return {
                        images: images,
                        imageCount: data.total,
                    };
                },
            },
            details: {
                url: function (id) {
                    return "/api/v1/json/images/" + id;
                },
                parse: function (src) {
                    var data = JSON.parse(src);
                    // Newer versions of Philomena wrap details in an "image" object
                    if ("image" in data && !("representations" in data)) {
                        data = data["image"];
                    }
                    return {
                        createdAt: data["created_at"],
                        imageUrl: data["representations"]["full"].replace('.webm','.mp4'),
                        tags: makeTags(data["tags"], data["tag_ids"]),
                    };
                },
            },
            tags: {
                url: function (query, opts) {
                    return "/api/v1/json/search/tags?per_page=" + opts.limit + "&page=" + query.page + "&q=*";
                },
                parse: function (src) {
                    var map = {
                        "id": "id",
                        "name": "name",
                        "count": "images",
                        "type": "category",
                    };
                    var data = JSON.parse(src);
                    var tags = [];
                    for (var _i = 0, _a = data["tags"]; _i < _a.length; _i++) {
                        var tag = _a[_i];
                        tags.push(Grabber.mapFields(tag, map));
                    }
                    return { tags: tags };
                },
            },
        },
        html: {
            name: "Regex",
            auth: [],
            forcedLimit: 15,
            search: {
                url: function (query) {
                    if (!query.search || query.search.length === 0) {
                        return "/images/page/" + query.page;
                    }
                    return "/search?page=" + query.page + "&sbq=" + searchToArg(query.search);
                },
                parse: function (src) {
                    return {
                        images: Grabber.regexToImages('<div class="image-container[^"]*" data-aspect-ratio="[^"]*" data-comment-count="(?<comments>[^"]*)" data-created-at="(?<created_at>[^"]*)" data-downvotes="[^"]*" data-faves="(?<favorites>[^"]*)" data-height="(?<height>[^"]*)" data-image-id="(?<id>[^"]*)" data-image-tag-aliases="(?<tags>[^"]*)" data-image-tags="[^"]*" data-score="(?<score>[^"]*)" data-size="[^"]*" data-source-url="(?<source>[^"]*)" data-upvotes="[^"]*" data-uris="(?<json_uris>[^"]*)" data-width="(?<width>[^"]*)">.*?<a[^>]*><picture><img[^>]* src="(?<preview_url>[^"]*)"[^>]*>', src).map(completeImage),
                        pageCount: Grabber.regexToConst("page", '<a href="(?:/images/page/|/tags/[^\\?]*\\?[^"]*page=|/search/index\\?[^"]*page=)(?<image>\\d+)[^"]*">Last', src),
                        imageCount: Grabber.regexToConst("count", "of <strong>(?<count>[^<]+)</strong> total", src),
                    };
                },
            },
            details: {
                url: function (id, md5) {
                    return "/" + id;
                },
                parse: function (src) {
                    return {
                        tags: Grabber.regexToTags('<span class="tag dropdown"(?: data-tag-category="(?<type>[^"]*)")? data-tag-id="(?<id>[^"]+)" data-tag-name="(?<name>[^"]+)" data-tag-slug="[^"]+">', src),
                    };
                },
            },
            tags: {
                url: function (query) {
                    return "/tags?page=" + query.page;
                },
                parse: function (src) {
                    return {
                        tags: Grabber.regexToTags('<span class="tag dropdown"(?: data-tag-category="(?<type>[^"]+)")? data-tag-id="(?<id>\\d+)" data-tag-name="(?<name>.+?)".+?<span class="tag__count">\\s*\\((?<count>\\d+)\\)</span>', src),
                    };
                },
            },
            check: {
                url: function () {
                    return "/";
                },
                parse: function (src) {
                    return src.indexOf("philomena project") !== -1;
                },
            },
        },
    },
};

this modifies 2 lines of code to load .gif thumbnail files instead of .webm, and .mp4 for full size files instead of .webm

@Bionus Bionus self-assigned this May 6, 2022
@Bionus Bionus added bug source reproduced This issue was reproduced by the assignee. labels May 6, 2022
@Bionus
Copy link
Owner

Bionus commented May 6, 2022

Indeed, the thumbnails not working is a real issue and your fix works fine, thanks!

However, not so sure about enforcing MP4. It seems that the "native" format on Derpibooru is WEBM, and MP4 are converted from it:
https://derpibooru.org/forums/meta/topics/uploading-videos-any-documentation
As such, downloading the MP4 would mean not downloading the original file, which would be against the point IMO.

I added a PREFER_MP4 constant in the model file for now which you can set to true instead.

@Bionus Bionus added this to the 7.8.2 milestone May 6, 2022
@saintlain
Copy link
Author

However, not so sure about enforcing MP4. It seems that the "native" format on Derpibooru is WEBM, and MP4 are converted from it: https://derpibooru.org/forums/meta/topics/uploading-videos-any-documentation As such, downloading the MP4 would mean not downloading the original file, which would be against the point IMO.

definitely agree! to be perfectly clear, i did not intend to suggest doing this as a permanent solution, just to offer a quick and dirty workaround for anyone who may be affected by this bug for the time being. ty 4 ur work

@Bionus Bionus closed this as completed in 2280983 Jun 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug reproduced This issue was reproduced by the assignee. source
Projects
None yet
Development

No branches or pull requests

2 participants