Cleanup search module

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

This is a cleanup of the search related logic that is related to #14240.
Essentially, it does a few things.

https://github.com/Homebrew/brew/commit/ba664fa1b4c8f13284c8e5517ec278d456c58bf3

It is unnecessary to have this logic in extend/os since the change to passing the --formula everywhere.

https://github.com/Homebrew/brew/commit/0ae416d0ee83d966f1530951c71e4b79c15f45b8

This logic was duplicated in cmd/desc.rb and search.rb so I changed it so both use search.rb.
I was also able to move this logic out of extend/os for the reason given above and extend/os/search has now been removed.

https://github.com/Homebrew/brew/commit/47b3f6fe6e93904bb81f7ab66f3759bc7eabd696

The search module was extended/included in a few different places but the only place that used all of it's methods was the search command. This turns all methods in search.rb into class methods and stops extending/including it. This is mostly a style thing. It has the advantages of not polluting the local namespace, allowing us to conditionally include it, and also makes it easier to see which methods are external and internal to a file.

Of the above three changes I think the first two are no-brainers while I could be convinced that the third one is unnecessary since it's mostly a style thing.
To test for regressions I tested the following commands along with their --cask and --formula counterparts.
brew install -n _not_a_package_

Results
Last login: Sat Dec 17 11:42:42 on ttys001
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
~ $ HOMEBREW_NO_AUTO_UPDATE=1 brew install -n google
Warning: No available formula with the name "google". Did you mean googler or goose?
==> Searching for similarly named formulae and casks...
==> Formulae
aws-google-auth                   google-java-format                googletest
google-authenticator-libpam       google-sparsehash                 goose
google-benchmark                  google-sql-tool
google-go ✔                       googler

To install aws-google-auth, run:
  brew install aws-google-auth

==> Casks
google-ads-editor                                  google-drive
google-analytics-opt-out                           google-drive-file-stream
google-assistant                                   google-earth-pro
google-chat                                        google-japanese-ime
google-chat-electron                               google-japanese-ime-dev
google-chrome                                      google-trends
google-chrome-beta                                 google-web-designer
google-chrome-canary                               googleappengine
google-chrome-dev                                  marshallofsound-google-play-music-player
google-cloud-sdk                                   moefe-google-translate

To install google-ads-editor, run:
  brew install --cask google-ads-editor
~ $ HOMEBREW_NO_AUTO_UPDATE=1 brew install -n --cask google
Warning: Cask 'google' is unavailable: No Cask with this name exists.
==> Searching for similarly named formulae and casks...
==> Casks
google-ads-editor                                  google-drive
google-analytics-opt-out                           google-drive-file-stream
google-assistant                                   google-earth-pro
google-chat                                        google-japanese-ime
google-chat-electron                               google-japanese-ime-dev
google-chrome                                      google-trends
google-chrome-beta                                 google-web-designer
google-chrome-canary                               googleappengine
google-chrome-dev                                  marshallofsound-google-play-music-player
google-cloud-sdk                                   moefe-google-translate

To install google-ads-editor, run:
  brew install --cask google-ads-editor
~ $ HOMEBREW_NO_AUTO_UPDATE=1 brew install -n --formula google
Warning: No available formula with the name "google". Did you mean googler or goose?
==> Searching for similarly named formulae and casks...
==> Formulae
aws-google-auth                   google-java-format                googletest
google-authenticator-libpam       google-sparsehash                 goose
google-benchmark                  google-sql-tool
google-go ✔                       googler

To install aws-google-auth, run:
  brew install aws-google-auth
~ $

brew search _search_term_
brew search --desc --eval-all _search_term_

Results
Last login: Sat Dec 17 11:45:34 on ttys001
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
~ $ brew search blue
==> Formulae
bluepill                          bluetoothconnector                blueutil

==> Casks
bluebubbles      bluegriffon      bluej            bluesense        bluestacks       bluewallet
bluefish         blueharvest      bluejeans        bluesnooze       bluetility
~ $ brew search --casks blue
==> Casks
bluebubbles      bluegriffon      bluej            bluesense        bluestacks       bluewallet
bluefish         blueharvest      bluejeans        bluesnooze       bluetility
~ $ brew search --formula blue
==> Formulae
bluepill                          bluetoothconnector                blueutil
~ $ brew search --desc --eval-all blue
==> Formulae
blazegraph: Graph database supporting RDF data model, Sesame, and Blueprint APIs
bluetoothconnector: Connect and disconnect Bluetooth devices
blueutil: Get/set bluetooth power and discoverable state
drafter: Native C/C++ API Blueprint Parser
hidapi: Library for communicating with USB and Bluetooth HID devices
libbtbb: Bluetooth baseband decoding library

==> Casks
airunlock: (AirUnlock) Tool to lock or unlock the macbook using an Android phone via Bluetooth
bleunlock: (BLEUnlock) Lock/unlock Apple computers using the proximity of a bluetooth low energy device
bluebubbles: (BlueBubbles) Server for forwarding iMessages to clients within the BlueBubbles App ecosystem
bluefish: (Bluefish) Open source code editor
bluegriffon: (BlueGriffon) Web and EPUB editor
blueharvest: (BlueHarvest) Remove metadata files from external drives
bluej: (BlueJ) Java Development Environment designed for begginers
bluejeans: (BlueJeans) Video conferencing for the digital workplace
bluesense: (BlueSense) [no description]
bluesnooze: (Bluesnooze) Prevents your sleeping computer from connecting to Bluetooth accessories
bluestacks: (BlueStacks) Mobile gaming platform
bluetility: (Bluetility) Bluetooth Low Energy browser
bluewallet: (BlueWallet) Bitcoin wallet and Lightning wallet
bubo: (Bubo, Spotify Bluetooth Headset Listener) [no description]
flic: (Flic) Driver for the Flic bluetooth button
iris: (Iris) Blue light filter and eye protection software
usb-overdrive: (USB Overdrive) USB and Bluetooth device driver
~ $ brew search --desc --eval-all --formula blue
==> Formulae
blazegraph: Graph database supporting RDF data model, Sesame, and Blueprint APIs
bluetoothconnector: Connect and disconnect Bluetooth devices
blueutil: Get/set bluetooth power and discoverable state
drafter: Native C/C++ API Blueprint Parser
hidapi: Library for communicating with USB and Bluetooth HID devices
libbtbb: Bluetooth baseband decoding library
~ $ brew search --desc --eval-all --cask blue
==> Casks
airunlock: (AirUnlock) Tool to lock or unlock the macbook using an Android phone via Bluetooth
bleunlock: (BLEUnlock) Lock/unlock Apple computers using the proximity of a bluetooth low energy device
bluebubbles: (BlueBubbles) Server for forwarding iMessages to clients within the BlueBubbles App ecosystem
bluefish: (Bluefish) Open source code editor
bluegriffon: (BlueGriffon) Web and EPUB editor
blueharvest: (BlueHarvest) Remove metadata files from external drives
bluej: (BlueJ) Java Development Environment designed for begginers
bluejeans: (BlueJeans) Video conferencing for the digital workplace
bluesense: (BlueSense) [no description]
bluesnooze: (Bluesnooze) Prevents your sleeping computer from connecting to Bluetooth accessories
bluestacks: (BlueStacks) Mobile gaming platform
bluetility: (Bluetility) Bluetooth Low Energy browser
bluewallet: (BlueWallet) Bitcoin wallet and Lightning wallet
bubo: (Bubo, Spotify Bluetooth Headset Listener) [no description]
flic: (Flic) Driver for the Flic bluetooth button
iris: (Iris) Blue light filter and eye protection software
usb-overdrive: (USB Overdrive) USB and Bluetooth device driver
~ $

brew desc --eval-all --search _search_term_
brew desc --eval-all --name _search_term_
brew desc --eval-all --description _search_term_

Results
Last login: Sat Dec 17 11:51:43 on ttys001
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
~ $ brew desc --eval-all --search music
==> Formulae
abcm2ps: ABC music notation software
abcmidi: Converts abc music notation files to MIDI files
alda: Music programming language for musicians
chordii: Text file to music sheet converter
clamz: Download MP3 files from Amazon's music store
cmus: Music player with an ncurses based interface
cmusfm: Last.fm standalone scrobbler for the cmus music player
csound: Sound and music computing system
flactag: Tag single album FLAC files with MusicBrainz CUE sheets
game-music-emu: Videogame music file emulator collection
glyr: Music related metadata search engine with command-line interface and C API
libdiscid: C library for creating MusicBrainz and freedb disc IDs
libmusicbrainz: MusicBrainz Client Library
libopenmpt: Software library to decode tracked music files
libxmp: C library for playback of module music (MOD, S3M, IT, etc)
lilypond: Music engraving program
mdxmini: Plays music in X68000 MDX chiptune format
mikmod: Portable tracked music player
moc: Terminal-based music player
mpc: Command-line music player client for mpd
mpd: Music Player Daemon
ncmpc: Curses Music Player Daemon (MPD) client
ncmpcpp: Ncurses-based client for the Music Player Daemon
pmdmini: Plays music in PC-88/98 PMD chiptune format
pms: Practical Music Search, an ncurses-based MPD client
projectm: Milkdrop-compatible music visualizer
sc68: Play music originally designed for Atari ST and Amiga computers
takt: Text-based music programming language
xmp: Command-line player for module music formats (MOD, S3M, IT, etc)

==> Casks
5kplayer: (5KPlayer) Play 4K/1080p/360° video, MP3 AAC APE FLAC music without quality loss
a-better-finder-rename: (A Better Finder Rename) Renamer for files, music and photos
ableton-live-intro: (Ableton Live Intro) Sound and music editor
ableton-live-lite: (Ableton Live Lite) Sound and music editor
ableton-live-standard: (Ableton Live Standard) Sound and music editor
ableton-live-suite: (Ableton Live Suite) Sound and music editor
amazon-music: (Amazon Music) Desktop client for Amazon Music
astrofox: (Astrofox) Motion graphics program for music visualisations
audius: (Audius) Music streaming and sharing platform
awa: (AWA) Music streaming service
background-music: (Background Music) Audio utility
bowtie: (Bowtie) Control your music with customizable shortcuts
cider: (Cider) Open source and community oriented Apple Music client
clementine: (Clementine) Music player and library organizer
coverload: (CoverLoad) Download high quality artwork for movies, music albums, and more
deezer: (Deezer) Music player
denemo: (Denemo) Music notation program
engine-prime: (Engine Prime) Music Management Software for Denon's Engine OS Hardware
exfalso: (Ex Falso) Music tag editor
filebot: (FileBot) Tool for organizing and renaming movies, TV shows, anime or music
focusatwill: (Focus@Will) Personalized focus music
freeyourmusic: (FreeYourMusic) Move playlists, tracks, and albums between music platforms
guitar-pro: (Guitar Pro) Sheet music editor software for guitar, bass, keyboards, drums and more
harmony: (Harmony) Music player
headset: (Headset) Music player powered by YouTube and Reddit
icons8: (Icons8 App) App for browsing icon, photo and music packages
idagio: (IDAGIO) Classical music streaming app
ieasemusic: (ieaseMusic) Third-party NetEase cloud music player
isyncer: (iSyncer) Apple Music playlist exporting tool
itunes-volume-control: (iTunes Volume Control) Control the volume of Apple Music and Spotify using keyboard volume keys
jamulus: (Jamulus) Play music online with friends
jqbx: (JQBX) Listen to Spotify music in sync with others
keyfinder: (KeyFinder) Music key detection tool
kkbox: (KKBOX) Music streaming service
kmbmpdc: (kmbmpdc, kawaii menu bar music player daemon controller) [no description]
kugoumusic: (Kugou Music) Digital music service
lastfm: (Last.fm Scrobbler) Music services manager
lidarr: (Lidarr) Looks and smells like Sonarr but made for music
lmms: (LMMS) Music production software
lx-music: (LX Music Assistant Desktop Edition, 洛雪音乐助手桌面版) Music app base on Electron & Vue
marshallofsound-google-play-music-player: (Google Play Music Desktop Player) [no description]
meta: (Meta) Tag editor for digital music
milkytracker: (MilkyTracker) Music tracker compatible with FT2
mixed-in-key: (Mixed In Key) Harmonic mixing for DJs and music producers
moradownloader: (Mora Downloader) Online music and video store for the Japanese market
museeks: (Museeks) Music player
musescore: (MuseScore) Open-source music notation software
music-bar: (Music Bar) Control Apple Music right from your menu bar
music-manager: (Google Play Music Manager) [no description]
musicbrainz-picard: (MusicBrainz Picard) Music tagger
musictube: (Musictube) Streaming music player
neteasemusic: (NetEase cloud music, 网易云音乐) Music streaming platform
notunes: (noTunes) Simple application that will prevent iTunes or Apple Music from launching
nuclear: (Nuclear) Streaming music player
nulloy: (Nulloy) Music player
pd-l2ork: (Pd-l2ork, Purr Data) Programming environment for computer music and multimedia applications
plexamp: (Plexamp) Music player focusing on visuals
plug: (Plug) Music player for The Hype Machine
polyphone: (Polyphone) Soundfont editor for quickly designing musical instruments
pretzel: (Pretzel) DMCA-safe music for creators
qobuz: (Qobuz) Catalogue of hi-res music for streaming and download
qqmusic: (QQ音乐) Chinese music streaming application
quodlibet: (Quod Libet) Music player and music library manager
radiant-player: (Radiant Player) App wrapper for Google Play Music
rekordbox: (rekordbox) Free Dj app to prepare and manage your music files
rockboxutility: (Rockbox Utility) Automated installer for the Rockbox digital music player firmware
roon: (Roon) Music player
roonbridge: (Roon Bridge) Music player network extender
schism-tracker: (Schism Tracker) Oldschool sample-based music composition tool
sonic-pi: (Sonic Pi) Code-based music creation and performance tool
sonic-visualiser: (Sonic Visualiser) Visualisation, analysis, and annotation of music audio recordings
sonixd: (Sonixd) Desktop client for Subsonic-API and Jellyfin music servers
splice: (Splice) Cloud-based music creation and collaboration platform
spotify: (Spotify) Music streaming service
strawberry: (Strawberry) Music player and music collection organizer
swinsian: (Swinsian) Music player
tag: (Tag) Music tag editor
tagger: (Tagger) Music metadata editor supporting batch edits and importing VGMdb data
tdr-vos-slickeq: (tdr-vos-slickeq) Mixing equalizer designed for musical flexibility and impeccable sound
tidal: (TIDAL) Music streaming service with high fidelity sound and hi-def video quality
transcribe: (Transcribe!) Transcribes recorded music
transocks: (Transocks) Tool to optimize access to various video music resources
tuneinstructor: (Tune•Instructor) Menu bar control for Apple Music
vox: (VOX) Music player for high resoluion (Hi-Res) music through the external sources
xiami: (Xiami, 虾米音乐) Music content management and distribution
yandex-music-unofficial: (Yandex Music Unofficial) Unofficial app for Yandex Music
yesplaymusic: (YesPlayMusic) Third-party NetEase cloud player
yousician: (Yousician) Musical instrument learning tool
youtube-to-mp3: (MediaHuman YouTube to MP3 Converter) Downloads music from playlists or channels
yt-music: (YouTube Music) App wrapper for music.youtube.com
ytmdesktop-youtube-music: (YouTube Music Desktop App) YouTube music client
zenbeats: (Zenbeats) Music creation app
~ $ brew desc --eval-all --search --cask music
==> Casks
5kplayer: (5KPlayer) Play 4K/1080p/360° video, MP3 AAC APE FLAC music without quality loss
a-better-finder-rename: (A Better Finder Rename) Renamer for files, music and photos
ableton-live-intro: (Ableton Live Intro) Sound and music editor
ableton-live-lite: (Ableton Live Lite) Sound and music editor
ableton-live-standard: (Ableton Live Standard) Sound and music editor
ableton-live-suite: (Ableton Live Suite) Sound and music editor
amazon-music: (Amazon Music) Desktop client for Amazon Music
astrofox: (Astrofox) Motion graphics program for music visualisations
audius: (Audius) Music streaming and sharing platform
awa: (AWA) Music streaming service
background-music: (Background Music) Audio utility
bowtie: (Bowtie) Control your music with customizable shortcuts
cider: (Cider) Open source and community oriented Apple Music client
clementine: (Clementine) Music player and library organizer
coverload: (CoverLoad) Download high quality artwork for movies, music albums, and more
deezer: (Deezer) Music player
denemo: (Denemo) Music notation program
engine-prime: (Engine Prime) Music Management Software for Denon's Engine OS Hardware
exfalso: (Ex Falso) Music tag editor
filebot: (FileBot) Tool for organizing and renaming movies, TV shows, anime or music
focusatwill: (Focus@Will) Personalized focus music
freeyourmusic: (FreeYourMusic) Move playlists, tracks, and albums between music platforms
guitar-pro: (Guitar Pro) Sheet music editor software for guitar, bass, keyboards, drums and more
harmony: (Harmony) Music player
headset: (Headset) Music player powered by YouTube and Reddit
icons8: (Icons8 App) App for browsing icon, photo and music packages
idagio: (IDAGIO) Classical music streaming app
ieasemusic: (ieaseMusic) Third-party NetEase cloud music player
isyncer: (iSyncer) Apple Music playlist exporting tool
itunes-volume-control: (iTunes Volume Control) Control the volume of Apple Music and Spotify using keyboard volume keys
jamulus: (Jamulus) Play music online with friends
jqbx: (JQBX) Listen to Spotify music in sync with others
keyfinder: (KeyFinder) Music key detection tool
kkbox: (KKBOX) Music streaming service
kmbmpdc: (kmbmpdc, kawaii menu bar music player daemon controller) [no description]
kugoumusic: (Kugou Music) Digital music service
lastfm: (Last.fm Scrobbler) Music services manager
lidarr: (Lidarr) Looks and smells like Sonarr but made for music
lmms: (LMMS) Music production software
lx-music: (LX Music Assistant Desktop Edition, 洛雪音乐助手桌面版) Music app base on Electron & Vue
marshallofsound-google-play-music-player: (Google Play Music Desktop Player) [no description]
meta: (Meta) Tag editor for digital music
milkytracker: (MilkyTracker) Music tracker compatible with FT2
mixed-in-key: (Mixed In Key) Harmonic mixing for DJs and music producers
moradownloader: (Mora Downloader) Online music and video store for the Japanese market
museeks: (Museeks) Music player
musescore: (MuseScore) Open-source music notation software
music-bar: (Music Bar) Control Apple Music right from your menu bar
music-manager: (Google Play Music Manager) [no description]
musicbrainz-picard: (MusicBrainz Picard) Music tagger
musictube: (Musictube) Streaming music player
neteasemusic: (NetEase cloud music, 网易云音乐) Music streaming platform
notunes: (noTunes) Simple application that will prevent iTunes or Apple Music from launching
nuclear: (Nuclear) Streaming music player
nulloy: (Nulloy) Music player
pd-l2ork: (Pd-l2ork, Purr Data) Programming environment for computer music and multimedia applications
plexamp: (Plexamp) Music player focusing on visuals
plug: (Plug) Music player for The Hype Machine
polyphone: (Polyphone) Soundfont editor for quickly designing musical instruments
pretzel: (Pretzel) DMCA-safe music for creators
qobuz: (Qobuz) Catalogue of hi-res music for streaming and download
qqmusic: (QQ音乐) Chinese music streaming application
quodlibet: (Quod Libet) Music player and music library manager
radiant-player: (Radiant Player) App wrapper for Google Play Music
rekordbox: (rekordbox) Free Dj app to prepare and manage your music files
rockboxutility: (Rockbox Utility) Automated installer for the Rockbox digital music player firmware
roon: (Roon) Music player
roonbridge: (Roon Bridge) Music player network extender
schism-tracker: (Schism Tracker) Oldschool sample-based music composition tool
sonic-pi: (Sonic Pi) Code-based music creation and performance tool
sonic-visualiser: (Sonic Visualiser) Visualisation, analysis, and annotation of music audio recordings
sonixd: (Sonixd) Desktop client for Subsonic-API and Jellyfin music servers
splice: (Splice) Cloud-based music creation and collaboration platform
spotify: (Spotify) Music streaming service
strawberry: (Strawberry) Music player and music collection organizer
swinsian: (Swinsian) Music player
tag: (Tag) Music tag editor
tagger: (Tagger) Music metadata editor supporting batch edits and importing VGMdb data
tdr-vos-slickeq: (tdr-vos-slickeq) Mixing equalizer designed for musical flexibility and impeccable sound
tidal: (TIDAL) Music streaming service with high fidelity sound and hi-def video quality
transcribe: (Transcribe!) Transcribes recorded music
transocks: (Transocks) Tool to optimize access to various video music resources
tuneinstructor: (Tune•Instructor) Menu bar control for Apple Music
vox: (VOX) Music player for high resoluion (Hi-Res) music through the external sources
xiami: (Xiami, 虾米音乐) Music content management and distribution
yandex-music-unofficial: (Yandex Music Unofficial) Unofficial app for Yandex Music
yesplaymusic: (YesPlayMusic) Third-party NetEase cloud player
yousician: (Yousician) Musical instrument learning tool
youtube-to-mp3: (MediaHuman YouTube to MP3 Converter) Downloads music from playlists or channels
yt-music: (YouTube Music) App wrapper for music.youtube.com
ytmdesktop-youtube-music: (YouTube Music Desktop App) YouTube music client
zenbeats: (Zenbeats) Music creation app
~ $ brew desc --eval-all --search --formula music
==> Formulae
abcm2ps: ABC music notation software
abcmidi: Converts abc music notation files to MIDI files
alda: Music programming language for musicians
chordii: Text file to music sheet converter
clamz: Download MP3 files from Amazon's music store
cmus: Music player with an ncurses based interface
cmusfm: Last.fm standalone scrobbler for the cmus music player
csound: Sound and music computing system
flactag: Tag single album FLAC files with MusicBrainz CUE sheets
game-music-emu: Videogame music file emulator collection
glyr: Music related metadata search engine with command-line interface and C API
libdiscid: C library for creating MusicBrainz and freedb disc IDs
libmusicbrainz: MusicBrainz Client Library
libopenmpt: Software library to decode tracked music files
libxmp: C library for playback of module music (MOD, S3M, IT, etc)
lilypond: Music engraving program
mdxmini: Plays music in X68000 MDX chiptune format
mikmod: Portable tracked music player
moc: Terminal-based music player
mpc: Command-line music player client for mpd
mpd: Music Player Daemon
ncmpc: Curses Music Player Daemon (MPD) client
ncmpcpp: Ncurses-based client for the Music Player Daemon
pmdmini: Plays music in PC-88/98 PMD chiptune format
pms: Practical Music Search, an ncurses-based MPD client
projectm: Milkdrop-compatible music visualizer
sc68: Play music originally designed for Atari ST and Amiga computers
takt: Text-based music programming language
xmp: Command-line player for module music formats (MOD, S3M, IT, etc)
~ $ brew desc --eval-all --name  music
==> Formulae
game-music-emu: Videogame music file emulator collection
libmusicbrainz: MusicBrainz Client Library

==> Casks
amazon-music: (Amazon Music) Desktop client for Amazon Music
background-music: (Background Music) Audio utility
freeyourmusic: (FreeYourMusic) Move playlists, tracks, and albums between music platforms
ieasemusic: (ieaseMusic) Third-party NetEase cloud music player
kugoumusic: (Kugou Music) Digital music service
lx-music: (LX Music Assistant Desktop Edition, 洛雪音乐助手桌面版) Music app base on Electron & Vue
marshallofsound-google-play-music-player: (Google Play Music Desktop Player) [no description]
music-bar: (Music Bar) Control Apple Music right from your menu bar
music-manager: (Google Play Music Manager) [no description]
musicbrainz-picard: (MusicBrainz Picard) Music tagger
musictube: (Musictube) Streaming music player
neteasemusic: (NetEase cloud music, 网易云音乐) Music streaming platform
qqmusic: (QQ音乐) Chinese music streaming application
yandex-music-unofficial: (Yandex Music Unofficial) Unofficial app for Yandex Music
yesplaymusic: (YesPlayMusic) Third-party NetEase cloud player
yt-music: (YouTube Music) App wrapper for music.youtube.com
ytmdesktop-youtube-music: (YouTube Music Desktop App) YouTube music client
~ $ brew desc --eval-all --name --formula music
==> Formulae
game-music-emu: Videogame music file emulator collection
libmusicbrainz: MusicBrainz Client Library
~ $ brew desc --eval-all --name --cask music
==> Casks
amazon-music: (Amazon Music) Desktop client for Amazon Music
background-music: (Background Music) Audio utility
freeyourmusic: (FreeYourMusic) Move playlists, tracks, and albums between music platforms
ieasemusic: (ieaseMusic) Third-party NetEase cloud music player
kugoumusic: (Kugou Music) Digital music service
lx-music: (LX Music Assistant Desktop Edition, 洛雪音乐助手桌面版) Music app base on Electron & Vue
marshallofsound-google-play-music-player: (Google Play Music Desktop Player) [no description]
music-bar: (Music Bar) Control Apple Music right from your menu bar
music-manager: (Google Play Music Manager) [no description]
musicbrainz-picard: (MusicBrainz Picard) Music tagger
musictube: (Musictube) Streaming music player
neteasemusic: (NetEase cloud music, 网易云音乐) Music streaming platform
qqmusic: (QQ音乐) Chinese music streaming application
yandex-music-unofficial: (Yandex Music Unofficial) Unofficial app for Yandex Music
yesplaymusic: (YesPlayMusic) Third-party NetEase cloud player
yt-music: (YouTube Music) App wrapper for music.youtube.com
ytmdesktop-youtube-music: (YouTube Music Desktop App) YouTube music client
~ $ brew desc --eval-all --description  music
==> Formulae
abcm2ps: ABC music notation software
abcmidi: Converts abc music notation files to MIDI files
alda: Music programming language for musicians
chordii: Text file to music sheet converter
clamz: Download MP3 files from Amazon's music store
cmus: Music player with an ncurses based interface
cmusfm: Last.fm standalone scrobbler for the cmus music player
csound: Sound and music computing system
flactag: Tag single album FLAC files with MusicBrainz CUE sheets
game-music-emu: Videogame music file emulator collection
glyr: Music related metadata search engine with command-line interface and C API
libdiscid: C library for creating MusicBrainz and freedb disc IDs
libmusicbrainz: MusicBrainz Client Library
libopenmpt: Software library to decode tracked music files
libxmp: C library for playback of module music (MOD, S3M, IT, etc)
lilypond: Music engraving program
mdxmini: Plays music in X68000 MDX chiptune format
mikmod: Portable tracked music player
moc: Terminal-based music player
mpc: Command-line music player client for mpd
mpd: Music Player Daemon
ncmpc: Curses Music Player Daemon (MPD) client
ncmpcpp: Ncurses-based client for the Music Player Daemon
pmdmini: Plays music in PC-88/98 PMD chiptune format
pms: Practical Music Search, an ncurses-based MPD client
projectm: Milkdrop-compatible music visualizer
sc68: Play music originally designed for Atari ST and Amiga computers
takt: Text-based music programming language
xmp: Command-line player for module music formats (MOD, S3M, IT, etc)

==> Casks
5kplayer: (5KPlayer) Play 4K/1080p/360° video, MP3 AAC APE FLAC music without quality loss
a-better-finder-rename: (A Better Finder Rename) Renamer for files, music and photos
ableton-live-intro: (Ableton Live Intro) Sound and music editor
ableton-live-lite: (Ableton Live Lite) Sound and music editor
ableton-live-standard: (Ableton Live Standard) Sound and music editor
ableton-live-suite: (Ableton Live Suite) Sound and music editor
amazon-music: (Amazon Music) Desktop client for Amazon Music
astrofox: (Astrofox) Motion graphics program for music visualisations
audius: (Audius) Music streaming and sharing platform
awa: (AWA) Music streaming service
background-music: (Background Music) Audio utility
bowtie: (Bowtie) Control your music with customizable shortcuts
cider: (Cider) Open source and community oriented Apple Music client
clementine: (Clementine) Music player and library organizer
coverload: (CoverLoad) Download high quality artwork for movies, music albums, and more
deezer: (Deezer) Music player
denemo: (Denemo) Music notation program
engine-prime: (Engine Prime) Music Management Software for Denon's Engine OS Hardware
exfalso: (Ex Falso) Music tag editor
filebot: (FileBot) Tool for organizing and renaming movies, TV shows, anime or music
focusatwill: (Focus@Will) Personalized focus music
freeyourmusic: (FreeYourMusic) Move playlists, tracks, and albums between music platforms
guitar-pro: (Guitar Pro) Sheet music editor software for guitar, bass, keyboards, drums and more
harmony: (Harmony) Music player
headset: (Headset) Music player powered by YouTube and Reddit
icons8: (Icons8 App) App for browsing icon, photo and music packages
idagio: (IDAGIO) Classical music streaming app
ieasemusic: (ieaseMusic) Third-party NetEase cloud music player
isyncer: (iSyncer) Apple Music playlist exporting tool
itunes-volume-control: (iTunes Volume Control) Control the volume of Apple Music and Spotify using keyboard volume keys
jamulus: (Jamulus) Play music online with friends
jqbx: (JQBX) Listen to Spotify music in sync with others
keyfinder: (KeyFinder) Music key detection tool
kkbox: (KKBOX) Music streaming service
kmbmpdc: (kmbmpdc, kawaii menu bar music player daemon controller) [no description]
kugoumusic: (Kugou Music) Digital music service
lastfm: (Last.fm Scrobbler) Music services manager
lidarr: (Lidarr) Looks and smells like Sonarr but made for music
lmms: (LMMS) Music production software
lx-music: (LX Music Assistant Desktop Edition, 洛雪音乐助手桌面版) Music app base on Electron & Vue
marshallofsound-google-play-music-player: (Google Play Music Desktop Player) [no description]
meta: (Meta) Tag editor for digital music
milkytracker: (MilkyTracker) Music tracker compatible with FT2
mixed-in-key: (Mixed In Key) Harmonic mixing for DJs and music producers
moradownloader: (Mora Downloader) Online music and video store for the Japanese market
museeks: (Museeks) Music player
musescore: (MuseScore) Open-source music notation software
music-bar: (Music Bar) Control Apple Music right from your menu bar
music-manager: (Google Play Music Manager) [no description]
musicbrainz-picard: (MusicBrainz Picard) Music tagger
musictube: (Musictube) Streaming music player
neteasemusic: (NetEase cloud music, 网易云音乐) Music streaming platform
notunes: (noTunes) Simple application that will prevent iTunes or Apple Music from launching
nuclear: (Nuclear) Streaming music player
nulloy: (Nulloy) Music player
pd-l2ork: (Pd-l2ork, Purr Data) Programming environment for computer music and multimedia applications
plexamp: (Plexamp) Music player focusing on visuals
plug: (Plug) Music player for The Hype Machine
polyphone: (Polyphone) Soundfont editor for quickly designing musical instruments
pretzel: (Pretzel) DMCA-safe music for creators
qobuz: (Qobuz) Catalogue of hi-res music for streaming and download
qqmusic: (QQ音乐) Chinese music streaming application
quodlibet: (Quod Libet) Music player and music library manager
radiant-player: (Radiant Player) App wrapper for Google Play Music
rekordbox: (rekordbox) Free Dj app to prepare and manage your music files
rockboxutility: (Rockbox Utility) Automated installer for the Rockbox digital music player firmware
roon: (Roon) Music player
roonbridge: (Roon Bridge) Music player network extender
schism-tracker: (Schism Tracker) Oldschool sample-based music composition tool
sonic-pi: (Sonic Pi) Code-based music creation and performance tool
sonic-visualiser: (Sonic Visualiser) Visualisation, analysis, and annotation of music audio recordings
sonixd: (Sonixd) Desktop client for Subsonic-API and Jellyfin music servers
splice: (Splice) Cloud-based music creation and collaboration platform
spotify: (Spotify) Music streaming service
strawberry: (Strawberry) Music player and music collection organizer
swinsian: (Swinsian) Music player
tag: (Tag) Music tag editor
tagger: (Tagger) Music metadata editor supporting batch edits and importing VGMdb data
tdr-vos-slickeq: (tdr-vos-slickeq) Mixing equalizer designed for musical flexibility and impeccable sound
tidal: (TIDAL) Music streaming service with high fidelity sound and hi-def video quality
transcribe: (Transcribe!) Transcribes recorded music
transocks: (Transocks) Tool to optimize access to various video music resources
tuneinstructor: (Tune•Instructor) Menu bar control for Apple Music
vox: (VOX) Music player for high resoluion (Hi-Res) music through the external sources
xiami: (Xiami, 虾米音乐) Music content management and distribution
yandex-music-unofficial: (Yandex Music Unofficial) Unofficial app for Yandex Music
yesplaymusic: (YesPlayMusic) Third-party NetEase cloud player
yousician: (Yousician) Musical instrument learning tool
youtube-to-mp3: (MediaHuman YouTube to MP3 Converter) Downloads music from playlists or channels
yt-music: (YouTube Music) App wrapper for music.youtube.com
ytmdesktop-youtube-music: (YouTube Music Desktop App) YouTube music client
zenbeats: (Zenbeats) Music creation app
~ $ brew desc --eval-all --description --cask music
==> Casks
5kplayer: (5KPlayer) Play 4K/1080p/360° video, MP3 AAC APE FLAC music without quality loss
a-better-finder-rename: (A Better Finder Rename) Renamer for files, music and photos
ableton-live-intro: (Ableton Live Intro) Sound and music editor
ableton-live-lite: (Ableton Live Lite) Sound and music editor
ableton-live-standard: (Ableton Live Standard) Sound and music editor
ableton-live-suite: (Ableton Live Suite) Sound and music editor
amazon-music: (Amazon Music) Desktop client for Amazon Music
astrofox: (Astrofox) Motion graphics program for music visualisations
audius: (Audius) Music streaming and sharing platform
awa: (AWA) Music streaming service
background-music: (Background Music) Audio utility
bowtie: (Bowtie) Control your music with customizable shortcuts
cider: (Cider) Open source and community oriented Apple Music client
clementine: (Clementine) Music player and library organizer
coverload: (CoverLoad) Download high quality artwork for movies, music albums, and more
deezer: (Deezer) Music player
denemo: (Denemo) Music notation program
engine-prime: (Engine Prime) Music Management Software for Denon's Engine OS Hardware
exfalso: (Ex Falso) Music tag editor
filebot: (FileBot) Tool for organizing and renaming movies, TV shows, anime or music
focusatwill: (Focus@Will) Personalized focus music
freeyourmusic: (FreeYourMusic) Move playlists, tracks, and albums between music platforms
guitar-pro: (Guitar Pro) Sheet music editor software for guitar, bass, keyboards, drums and more
harmony: (Harmony) Music player
headset: (Headset) Music player powered by YouTube and Reddit
icons8: (Icons8 App) App for browsing icon, photo and music packages
idagio: (IDAGIO) Classical music streaming app
ieasemusic: (ieaseMusic) Third-party NetEase cloud music player
isyncer: (iSyncer) Apple Music playlist exporting tool
itunes-volume-control: (iTunes Volume Control) Control the volume of Apple Music and Spotify using keyboard volume keys
jamulus: (Jamulus) Play music online with friends
jqbx: (JQBX) Listen to Spotify music in sync with others
keyfinder: (KeyFinder) Music key detection tool
kkbox: (KKBOX) Music streaming service
kmbmpdc: (kmbmpdc, kawaii menu bar music player daemon controller) [no description]
kugoumusic: (Kugou Music) Digital music service
lastfm: (Last.fm Scrobbler) Music services manager
lidarr: (Lidarr) Looks and smells like Sonarr but made for music
lmms: (LMMS) Music production software
lx-music: (LX Music Assistant Desktop Edition, 洛雪音乐助手桌面版) Music app base on Electron & Vue
marshallofsound-google-play-music-player: (Google Play Music Desktop Player) [no description]
meta: (Meta) Tag editor for digital music
milkytracker: (MilkyTracker) Music tracker compatible with FT2
mixed-in-key: (Mixed In Key) Harmonic mixing for DJs and music producers
moradownloader: (Mora Downloader) Online music and video store for the Japanese market
museeks: (Museeks) Music player
musescore: (MuseScore) Open-source music notation software
music-bar: (Music Bar) Control Apple Music right from your menu bar
music-manager: (Google Play Music Manager) [no description]
musicbrainz-picard: (MusicBrainz Picard) Music tagger
musictube: (Musictube) Streaming music player
neteasemusic: (NetEase cloud music, 网易云音乐) Music streaming platform
notunes: (noTunes) Simple application that will prevent iTunes or Apple Music from launching
nuclear: (Nuclear) Streaming music player
nulloy: (Nulloy) Music player
pd-l2ork: (Pd-l2ork, Purr Data) Programming environment for computer music and multimedia applications
plexamp: (Plexamp) Music player focusing on visuals
plug: (Plug) Music player for The Hype Machine
polyphone: (Polyphone) Soundfont editor for quickly designing musical instruments
pretzel: (Pretzel) DMCA-safe music for creators
qobuz: (Qobuz) Catalogue of hi-res music for streaming and download
qqmusic: (QQ音乐) Chinese music streaming application
quodlibet: (Quod Libet) Music player and music library manager
radiant-player: (Radiant Player) App wrapper for Google Play Music
rekordbox: (rekordbox) Free Dj app to prepare and manage your music files
rockboxutility: (Rockbox Utility) Automated installer for the Rockbox digital music player firmware
roon: (Roon) Music player
roonbridge: (Roon Bridge) Music player network extender
schism-tracker: (Schism Tracker) Oldschool sample-based music composition tool
sonic-pi: (Sonic Pi) Code-based music creation and performance tool
sonic-visualiser: (Sonic Visualiser) Visualisation, analysis, and annotation of music audio recordings
sonixd: (Sonixd) Desktop client for Subsonic-API and Jellyfin music servers
splice: (Splice) Cloud-based music creation and collaboration platform
spotify: (Spotify) Music streaming service
strawberry: (Strawberry) Music player and music collection organizer
swinsian: (Swinsian) Music player
tag: (Tag) Music tag editor
tagger: (Tagger) Music metadata editor supporting batch edits and importing VGMdb data
tdr-vos-slickeq: (tdr-vos-slickeq) Mixing equalizer designed for musical flexibility and impeccable sound
tidal: (TIDAL) Music streaming service with high fidelity sound and hi-def video quality
transcribe: (Transcribe!) Transcribes recorded music
transocks: (Transocks) Tool to optimize access to various video music resources
tuneinstructor: (Tune•Instructor) Menu bar control for Apple Music
vox: (VOX) Music player for high resoluion (Hi-Res) music through the external sources
xiami: (Xiami, 虾米音乐) Music content management and distribution
yandex-music-unofficial: (Yandex Music Unofficial) Unofficial app for Yandex Music
yesplaymusic: (YesPlayMusic) Third-party NetEase cloud player
yousician: (Yousician) Musical instrument learning tool
youtube-to-mp3: (MediaHuman YouTube to MP3 Converter) Downloads music from playlists or channels
yt-music: (YouTube Music) App wrapper for music.youtube.com
ytmdesktop-youtube-music: (YouTube Music Desktop App) YouTube music client
zenbeats: (Zenbeats) Music creation app
~ $ brew desc --eval-all --description --formula music
==> Formulae
abcm2ps: ABC music notation software
abcmidi: Converts abc music notation files to MIDI files
alda: Music programming language for musicians
chordii: Text file to music sheet converter
clamz: Download MP3 files from Amazon's music store
cmus: Music player with an ncurses based interface
cmusfm: Last.fm standalone scrobbler for the cmus music player
csound: Sound and music computing system
flactag: Tag single album FLAC files with MusicBrainz CUE sheets
game-music-emu: Videogame music file emulator collection
glyr: Music related metadata search engine with command-line interface and C API
libdiscid: C library for creating MusicBrainz and freedb disc IDs
libmusicbrainz: MusicBrainz Client Library
libopenmpt: Software library to decode tracked music files
libxmp: C library for playback of module music (MOD, S3M, IT, etc)
lilypond: Music engraving program
mdxmini: Plays music in X68000 MDX chiptune format
mikmod: Portable tracked music player
moc: Terminal-based music player
mpc: Command-line music player client for mpd
mpd: Music Player Daemon
ncmpc: Curses Music Player Daemon (MPD) client
ncmpcpp: Ncurses-based client for the Music Player Daemon
pmdmini: Plays music in PC-88/98 PMD chiptune format
pms: Practical Music Search, an ncurses-based MPD client
projectm: Milkdrop-compatible music visualizer
sc68: Play music originally designed for Atari ST and Amiga computers
takt: Text-based music programming language
xmp: Command-line player for module music formats (MOD, S3M, IT, etc)
~ $

Review period will end on 2022-12-20 at 00:00:00 UTC.

Now I'm wondering if a module_function would be better in search.rb since we seem to use that more with modules instead of just creating class methods (ex. def self.method; end) like I did here.

Now I'm wondering if a module_function would be better in search.rb since we seem to use that more with modules instead of just creating class methods (ex. def self.method; end) like I did here.

Yeh: if we're using self every time: feels like it makes sense 👍🏻

Review period ended.


Cloud: Some of these keys are not valid for this package

What's your CLI version?
0.87.2
Description & steps to reproduce

Create a new enclave in the webui, and add some yaml to configure it. Select yaml on top bar.
Desired behavior
Run the custom enclave.
What is the severity of this bug?
Painful; this is causing significant friction in my workflow.
What area of the product does this pertain to?
Frontend: the Graphical User Interface, including the Enclave Manager

hey @barnabasbusa , this is because the ETH package just has a single argument called args: https://github.com/kurtosis-tech/ethereum-package/blob/main/main.star#L54 If you split these out into separate args, it'll work. Otherwise, you'll have to put these nested under a root-level args: key.

Example: https://github.com/kurtosis-tech/hyperlane-package/blob/main/main.star#L6

@barnabasbusa does this answer your question? can we close?


Add param calc_infer_scores

I created a bool param called calc_infer_scores that is used to determine whether to calculate performance scores during an inference script (not sure if calc_scores or compute_scores are more appropriate). It works for me with LGBM. I also did some style changes.
issue #49

Is this solving an issue?

I created a bool param called calc_infer_scores that is used to determine whether to calculate performance scores during an inference script (not sure if calc_scores or compute_scores are more appropriate). It works for me with LGBM. I also did some style changes.
issue #49

The originally added action StoreIfPresent to handle params that we plan/consider deprecating. I think you are right calc_infer_scores should be true/false with false as default. I'll change it.

@wilke I changed the type of calc_infer_scores param to str2bool.


wrong column when complete in a line with CJK font

Problem summary
completions in a line with CJK font, raise a ValueError
mayby pass wrong column to jedi, through wrong encoding
example
class A:
    def __init__(self, cjk='', other=''):
        pass

class B:
    a = A(cjk='你好',ot<here>)

traceback
[deoplete] Traceback (most recent call last):
  File "/Users/jove/.cache/dein/repos/github.com/Shougo/deoplete.nvim/rplugin/python3/deoplete/child.py", line 220, in _gather_results
    ctx['candidates'] = source.gather_candidates(ctx)
  File "/Users/jove/.cache/dein/repos/github.com/zchee/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi/profiler.py", line 37, in wrapper
    return func(self, *args, **kwargs)
  File "/Users/jove/.cache/dein/repos/github.com/zchee/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi.py", line 171, in gather_candidates
    environment=self._env)
  File "/Users/jove/.cache/dein/repos/github.com/zchee/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi/profiler.py", line 37, in wrapper
    return func(self, *args, **kwargs)
  File "/Users/jove/.cache/dein/repos/github.com/zchee/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi.py", line 125, in get_script
    return jedi.Script(source, line, col, filename, environment=self._env)
  File "/Users/jove/.cache/dein/repos/github.com/zchee/deoplete-jedi/rplugin/python3/deoplete/vendored/jedi/jedi/api/__init__.py", line 138, in __init__
    column, line_len, line, line_string))
ValueError: `column` parameter (23) is not in a valid range (0-22) for line 8 ("    a = A(cjk='你好',ot)\n").
Error from jedi: ValueError('`column` parameter (23) is not in a valid range (0-22) for line 8 ("    a = A(cjk=\'你好\',ot)\\n").').  Use :messages / see above for error details.

Expected
no exception
Environment Information

OS: macos
Neovim version: v0.3.1

Provide a minimal init.vim with less than 50 lines (required)
cat init.vim
set runtimepath+=~/.cache/dein/repos/github.com/Shougo/deoplete.nvim/
set runtimepath+=~/.cache/dein/repos/github.com/zchee/deoplete-jedi/
let g:deoplete#enable_at_startup = 1
call deoplete#enable_logging('DEBUG', '/tmp/deoplete.log')

Generate logfiles if appropriate

export NVIM_PYTHON_LOG_FILE=/tmp/nvim-log
export NVIM_PYTHON_LOG_LEVEL=DEBUG
nvim -u minimal.vimrc

Then look at and attach the files /tmp/nvim-log_{PID} and
/tmp/deoplete.log here.
Upload the logfile(s)
deoplete.log
nvim-log_py3_rplugin.log

Please test https://github.com/zchee/deoplete-jedi/pull/197.

good job, work well

OK.  I will merge it later.


Display form of result from GetJSON can be improved

Currently, a successful GetJSON request tells you "⍴Data: ⍬". It would be less confusing if it said something like "Data: Namespace {msg, payload}" or if the list is long "Data: Namespace {17 names}".

Fixed in f5d082e07fbcd752604b5410511afe072c694bef


Workflow for using base localized storyboards/xibs

Has anyone found a good workflow for using twine with many sets of strings files? For example, we have the standard Localizable.strings file for strings in our code, but also have many storyboards and xibs that we'd like to localize as well. These each have their own lproj directories and strings files.
I was able to import everything without issues, but if I export, every strings file seems to get a copy of every string, which is less than ideal. I think I may be able to script something up to import each individual strings file using the path/filename as a tag, and then use that tag to make sure each set of strings goes to the correct file when exporting. The problem there is that there hasn't been a new version of the gem released in a while, and the addition of tags during consuming is not yet in the gem. Using the source version complicates things a bit more, especially on a team of more than a few devs.
I'd really like to be able to automate this at build like like in the README, but it seems to be a bit more complicated when using localized xibs / storyboards. Figured I'd check to see if anyone has this working on a project like ours. Would love to hear any tips.

I would expect that twine checks each *.strings file and looks up every needed translation (e.g. "88D-r3-PF9.text", ...) from the master file and puts it in place. Is that possible to implement? Shouldn't be to hard I expect.


Trishreimer text updates 1

This PR includes text changes only.
I'm guessing this is my next step as I've never done this before. I hope I'm not breaking anything here.

I did some refactoring of the pages and included your changes in my latest pr. Closing this for now.


[minor] Fix printf errors in tests/ssl-opt.sh on MacOS

Signed-off-by: Omer Shapira<EMAIL_ADDRESS>Notes:

Pull requests cannot be accepted until the PR follows the contributing guidelines. In particular, each commit must have at least one Signed-off-by: line from the committer to certify that the contribution is made under the terms of the Developer Certificate of Origin.
This is just a template, so feel free to use/remove the unnecessary things

Description
When running tests/ssl-opt.sh on MacOS, the builtin printf command fails with errors on some invocations of printf "# $XXX\n$YYY" , with error message similar to:
Renego ext: gnutls server strict, client default ....................... ./ssl-opt.sh: line 759: printf: `S': invalid format character
PASS

This turns out to be due to the zsh on MacOS not interpolating the environment variables in the format string when using the builtin printf command.
This diff replaces the erroneous invocations with a safer "interpret as string" format characters.
Status
READY
Requires Backporting
Yes
LTS branches
Migrations
If there is any API change, what's the incentive and logic for it.
There is no API change.
NO
Additional comments
Any additional information that could be of interest
Todos

[x] Tests
[x] Documentation
[ ] Changelog updated
[ ] Backported

Steps to test or reproduce
mkdir -p build
cd build
cmake ..
make
cd tests
./ssl-opt.sh 2>&1 | grep 'invalid format character'

Thanks! But we already have a pending PR for that which is almost ready to merge (just missing a review on the backports): https://github.com/ARMmbed/mbedtls/pull/3614


Thread Safety for TCB modifications

Task/Issue URL: https://app.asana.com/0/488551667048375/1202454731900854/f
Description
The TCB sequence numbers and ack numbers are accessed/modified from different threads but that access is not synchronised.
This PR fixes that
Steps to test this PR

[ ] install from this branch
[ ] smoke tests on AppTP
open apps that have trackers and verify it blocks
perform speed tests and verify the perf is similar to develop
downloads and uploads work as in develop

Current dependencies on/for this PR:

develop

PR #2009   👈

This comment was auto-generated by Graphite.


installation: windows (winget) (README)

TODO

[ ] Use cargo fmt
[ ] Add necessary tests
[ ] Update default config/theme in README (if applicable)
[ ] Update man page at lsd/doc/lsd.md (if applicable)

Codecov Report

Merging #920 (2ae0e16) into master (1714d89) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@           Coverage Diff           @@
##           master     #920   +/-   ##
=======================================
  Coverage   85.74%   85.74%
=======================================
  Files          51       51
  Lines        5003     5003
=======================================
  Hits         4290     4290
  Misses        713      713

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Replace authenticate getAccessToken with getToken

I added getAccessToken as an argument to authenticate to make it easy to have alternative methods of getting an accessToken. This makes it possible to get an access token from a session without having to modify the request to have an authentication header that includes the session's accessToken.
The problem with getAccessToken is that it doesn't really give a way to work around token expiration. If I change the function to getToken, I could have it first call server.getToken with the session's accessToken. Then if the token is invalid, I could have it make an api call to refresh the token for the session before calling getToken again with the newly refreshed accessToken.
The example will need some sort of locking around refreshing tokens so that the concurrent requests don't try to refresh already refreshed tokens. If the refresh token is invalid or expired, it will need to delete the session and return an AccessDenied error.

Closing in favor of an alternative solution: https://github.com/udibo/oauth2_server/issues/15


Revert "first draft- PTO detectoe e2e test with non pto message"

Reverts qxf2/qxf2-lambdas#64
Reverted the PR as one of the other tests in CI/CD failed.

This PR opened by mistake to fix the ci/cd failed the test. I have already fixed the failed test in PR #81 which is already merged and ci/cd are passing. Closing this PR as this is not required.


Does not detect my yubikey

Yubico Authenticator version: current git version 2f4b911430047042e42b38b18c9f98392ee6b105
Operating system and version: Debian testing
YubiKey model and version: yubikey 4

I build a version from the git version, I have all dependencies required by the debian/control file.
When I try to run it, I get:
qrc:/qml/SetPassword.qml:23:5: QML ColumnLayout: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/SettingsDialog.qml:20:5: QML ColumnLayout: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/AddCredentialSlot.qml:14:5: QML ColumnLayout: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/AddCredential.qml:15:5: QML ColumnLayout: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
"PyOtherSide error: Traceback (most recent call last):\n\n  File \"qrc:///py/yubikey.py\", line 12, in <module>\n    from ykman.descriptor import get_descriptors\n\n  File \"/usr/lib/python3/dist-packages/ykman/descriptor.py\", line 30, in <module>\n    from .util import PID, TRANSPORT, Mode\n\n  File \"/usr/lib/python3/dist-packages/ykman/util.py\", line 36, in <module>\n    from cryptography import x509\n\n  File \"/usr/lib/python3/dist-packages/cryptography/x509/__init__.py\", line 8, in <module>\n    from cryptography.x509.base import (\n\n  File \"/usr/lib/python3/dist-packages/cryptography/x509/base.py\", line 16, in <module>\n    from cryptography.x509.extensions import Extension, ExtensionType\n\n  File \"/usr/lib/python3/dist-packages/cryptography/x509/extensions.py\", line 18, in <module>\n    from cryptography.hazmat.primitives import constant_time, serialization\n\n  File \"/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py\", line 11, in <module>\n    from cryptography.hazmat.bindings._constant_time import lib\n\nImportError: No module named '_cffi_backend'\n"
qml: Cannot import module: yubikey (Traceback (most recent call last):

  File "qrc:///py/yubikey.py", line 12, in <module>
    from ykman.descriptor import get_descriptors

  File "/usr/lib/python3/dist-packages/ykman/descriptor.py", line 30, in <module>
    from .util import PID, TRANSPORT, Mode

  File "/usr/lib/python3/dist-packages/ykman/util.py", line 36, in <module>
    from cryptography import x509

  File "/usr/lib/python3/dist-packages/cryptography/x509/__init__.py", line 8, in <module>
    from cryptography.x509.base import (

  File "/usr/lib/python3/dist-packages/cryptography/x509/base.py", line 16, in <module>
    from cryptography.x509.extensions import Extension, ExtensionType

  File "/usr/lib/python3/dist-packages/cryptography/x509/extensions.py", line 18, in <module>
    from cryptography.hazmat.primitives import constant_time, serialization

  File "/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py", line 11, in <module>
    from cryptography.hazmat.bindings._constant_time import lib

ImportError: No module named '_cffi_backend'
)

And then every second I get:
NameError: name 'yubikey' is not defined
)
"PyOtherSide error: Traceback (most recent call last):\n\n  File \"<string>\", line 1, in <module>\n\nNameError: name 'yubikey' is not defined\n"
qml: Function not found: 'yubikey.controller.count_devices' (Traceback (most recent call last):

  File "<string>", line 1, in <module>

NameError: name 'yubikey' is not defined

The application also shows me that no key is inserted, while it is, and other things work fine with it.

Thanks for the report.
Not sure what is going on here. I can build it on a clean Debian buster VM with the dependencies installed from apt (and pyotherside installed from source, since the version in apt is at 1.2). My guess would be there is some issue with the cryptography package.

The only thing I should have installed from unstable is openssl. I
assume you're not using TLS, so I don't see how it would break
anything. I did not install anything from source.

The only thing I should have installed from unstable is openssl

Since the problems seem related to the cryptography module, which uses OpenSSL as a backend, I would guess that this is related somehow.

Downgrading to openssl 1.1.0 does not fix it, as expected.

It works again.


Allow Drupal to compile non-minified for debugging on the Drupal end

Use case: https://github.com/bolt-design-system/bolt/pull/244

@remydenton I don't disagree at all with the end goal of this however I very strongly suggest we flip it ever so slightly: "Allow Drupal to compile non-minified Bolt js for debugging on the Drupal end".
The exact same reasons why Drupal needs to be able to compile Sass on its own apply to JavaScript all the same (if not more so): better flexibility, better extensibility (ie. extend base JS components and adapt as needed), better web performance, more control on how things get bundled together and delivered, etc.
See my last PR #250 for an example of how we set this up using literally the current build process we already have in place. The only change I think we should make outside of the larger 1.x epic is perhaps contidionally disable Uglification if the environmental variable is set to development

Title updated :).  This issue will basically be a non-issue once we get Drupal set up to do the compiling on its own.  Awesome!

Minification is currently causing more problems than it's solving, and honestly I don't expect that to change until we're out of beta/alpha. At the very least there should be unminified versions of the released javascript in dist. Otherwise this is just an instance of premature optimization being the root of all evil.


Add keywords in sw_features where statistics can vary depending on sw_feature

E.g. [maxPeakTroughProminence maxPeakTroughSharpness meanPeakTroughInterval meanPeakTroughWidth]
Which is currently not supported

Solved by commit #5a2fdf8


Writer is not flushed after printSuggestions in CommandLine

Description
The method printSuggestions in picocli.CommandLine does not flush the writer at the end of printSuggestions method.
Actual result
The suggestions are not printed automatically, I have to call the flush manually on the PrintWriter after execution.
Expected result
The suggestions are printed automatically, so no manual flush call is needed.

@darkmoonka Thank you for raising this!
I will add a call to writer.flush() in the printSuggestions implementation.
Can I ask: what writer are you passing in? Could that be a custom writer?
I thought that all PrintWriters created by picocli were constructed so that auto-flush is true.
But good point that the printSuggestions implementation should not rely on that.

@darkmoonka Thank you for raising this!
I will add a call to writer.flush() in the printSuggestions implementation.
Can I ask: what writer are you passing in? Could that be a custom writer?
I thought that all PrintWriters created by picocli were constructed so that auto-flush is true.

I just pass new PrintWriter(err) to the setErr method where err is a PrintStream.

But good point that the printSuggestions implementation should not rely on that.

@remkop Thanks for the quick feedback!

Ok, I was able to reproduce the issue with a BufferedWriter.
Fixed in master now. The fix will be in the next release (picocli 4.3).
Thanks again for raising this!

PS.
If you like picocli please star ⭐ the project on GitHub and tell your friends! 😉


chef-client should run local-mode if a config file and chef_server_url is not specified

One of the steps in the new LearnChef tutorials is to create a simple recipe that contains:
# hello.rb
file '/tmp/hello' do
   content "Hello world!"
end

and run this recipe by chef-client hello.rb.
In order to achieve this we need chef-client to automatically assume local-mode when invoked with a recipe name as an argument.
/cc: @opscode/client-eng

@sersut anything left here after you landed your pull request?

PR #1969 solves this; it still needs to be updated for the latest Chef, and I haven't quite had time to finish the work.

The need for this seems to be very low, and we've generally gone the chefdk-generator route, and the workstation project would own generating this as a feature.


any future plans for "problem+json"?

@billkiddo Currently working on adding Problem+json support now, interested in your thoughts and opinions around the implementation. This is what I currently have:
            app.UseGlobalExceptionHandler(x =>
            {
                x.Map<ArgumentException>().ToStatusCode(HttpStatusCode.NotFound).UsingProblemDetails(ex => new Microsoft.AspNetCore.Mvc.ProblemDetails
                {
                    Type = ex.GetType().ToString(),
                    Detail = ex.Message,
                    Title = "My details",
                    Instance = "My instance",
                    Status = StatusCodes.Status400BadRequest
                });
            });

That implementation looks good to me. I thought ProblemDetails was part of 2.1...
Does this simply automatically set the content type?
What is supposed to be used for “Instance” ?


feat: absolute paths for string replacements for out-of-project

What does this PR do?
replacements require reading the project file.  The Project class resolves project using cwd.
DOCe needs to pass in the Project location, so we can rewrite the paths as absolute (relative to the project dir).
ComponentSetBuilder now accepts a projectDir prop on its input, which is the recommended way to do this.  Otherwise, constructing a ComponentSet and setting its projectDirectory is also possible.
What issues does this PR fix or reference?
@W-14970199@

QA'd by DOCe folks.


Missing netmaker run directory.

Missing the /usr/local/var/run/netmaker directory on initial install.

Added code to create the directory structure /usr/local/var/run/netmaker in setup.sh


added formattable test

What is the purpose of this pull request, all i see is that it contains all my previous commits which were already merged into the main branch


Your request to provision "Staff home page" template failed!

Please report the issue providing the following provisioning action correlation ID: 3155d9b9-9310-4d35-a21d-bf92fb22205d !
I tried to include the "Staff Home page" using this URL : https://fundacioneducacioncatolica.sharepoint.com/sites/DepartamentoXtrafec2

I have a similar issue, but mine is with the class home page. Funny thing is, I was able to add the staff and school template with the same priveleges. I don't know how.
Here's the contents of the email I received:
Your request to provision "Class home page" template failed!
Please report the issue here providing the following provisioning action correlation ID: 6f25e8cc-22d3-4fd1-b975-0966ca221a40 !

Hi @jjosepagan,
Thanks for your feedback. It looks like you tried to apply the template onto a site which has not been created with English (1033) as the primary language. In fact, the provisioning failed while applying the Regional settings. Please, try again providing the URL of site created with English as the main language. Thanks.

In case of any further exception, please open another issue providing the new PnP Correlation ID.


Add breadcrumbs to the selection panel

The enclosing context of the selected item should be displayed as breadcrumbs to facilitate the navigation. This issue is about the design and implementation of this feature.
####New context from Dec '24
We are implementing undo, and want to get rid of the selection panel errors navigations ←→.
Despite the arrows being ambiguous UX element, it is being used to navigate via selected panels (especially when users click somewhere where they did not want to go, so they go 'back' to the previous view).
Assumption is that breadcrumbs will be a better navigation support for this as well as a more familiar ux pattern.
Design issues
Proposal based on Marten's sketches:

This will also allow to remove some of the elements in the selection panel as they will become redundant,
merge parent and in view in blueprint, remove in view
Implementation issues

[ ] implement the capability to walk the hierarchy up
[ ] implement the breadcrumb in selection panel

cc @jleibs @emilk

Upd: we decided to use first entity letters instead of entity icons, as they give a better hint on what is the the actual name of the entity
and use a little store icon for the root in the streams

Most of it done in https://github.com/rerun-io/rerun/pull/8319

Still need to properly sync "projection" entities with the blueprint tree panel

A) I don't know what the logic is for how they are displayed in the blueprint tree view

This happens here: https://github.com/rerun-io/rerun/blob/76d4663de1916bb6d1ee575b2224d848923a00f4/crates/viewer/re_blueprint_tree/src/blueprint_tree.rs#L390-L406
I'll reserve (B) for others to decide

(C) If it is a good model to follow, I don't know how to follow it

You can combine the snippet from above, with the logic to resolve a DataResult::Item
Following the pattern here: https://github.com/rerun-io/rerun/blob/76d4663de1916bb6d1ee575b2224d848923a00f4/crates/viewer/re_selection_panel/src/selection_panel.rs#L261-L266

Closed; next step in:

https://github.com/rerun-io/rerun/issues/8342


[ACS JobRouter] Update commit in tsp-location.yaml + regenerate code

Update commit of tsp-location.yaml now that spec is approved

API change check
API changes are not detected in this pull request.


[Bug]: AttributeError:int' object has no attribute 'split!  in chathub.py line 115

Is there an existing issue for this?

[X] I have searched the existing issues and checked the recent builds/commits

What happened?

Steps to reproduce the problem
1、use ask_stream function,exception AttributeError:int' object has no attribute 'split!  in chathub.py line 115
What should have happened?
use ask_stream function,exception AttributeError:int' object has no attribute 'split!  in chathub.py line 115
Version where the problem happens
python3.10
What Python version are you running this with?
python3.10
What is your operating system ?
Linux
Command Line Arguments
no

Console logs
use ask_stream function,exception AttributeError:int' object has no attribute 'split!  in chathub.py line 115

Additional information
No response

Show response data

        i add code like this:
        try:
            objects = msg.data.split(DELIMITER)
        except Exception as e:
            raise Exception("except data: ",msg.data)

async for chunk in self.body_iterator:
File "/data/web/xiezuo.gptlala.com/aiboxs/api/common.py", line 86, in generate
async for c in massage:
File "/usr/local/lib/python3.10/site-packages/EdgeGPT/EdgeGPT.py", line 132, in ask_stream
async for response in self.chat_hub.ask_stream(
File "/usr/local/lib/python3.10/site-packages/EdgeGPT/chathub.py", line 118, in ask_stream
raise Exception("except data: ",msg.data)
Exception: ('except data: ', 1000)
msg.data value is 1000, int type.

[2023-06-09 18:14:02 +0800] [117720] [ERROR] Exception in ASGI application
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/uvicorn/protocols/http/h11_impl.py", line 428, in run_asgi
result = await app(  # type: ignore[func-returns-value]
File "/usr/local/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in call
return await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/site-packages/fastapi/applications.py", line 276, in call
await super().call(scope, receive, send)
File "/usr/local/lib/python3.10/site-packages/starlette/applications.py", line 122, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.10/site-packages/starlette/middleware/errors.py", line 184, in call
raise exc
File "/usr/local/lib/python3.10/site-packages/starlette/middleware/errors.py", line 162, in call
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 79, in call
raise exc
File "/usr/local/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 68, in call
await self.app(scope, receive, sender)
File "/usr/local/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in call
raise e
File "/usr/local/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in call
await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/site-packages/starlette/routing.py", line 718, in call
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.10/site-packages/starlette/routing.py", line 276, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/site-packages/starlette/routing.py", line 69, in app
await response(scope, receive, send)
File "/usr/local/lib/python3.10/site-packages/starlette/responses.py", line 270, in call
async with anyio.create_task_group() as task_group:
File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 597, in aexit
raise exceptions[0]
File "/usr/local/lib/python3.10/site-packages/starlette/responses.py", line 273, in wrap
await func()
File "/usr/local/lib/python3.10/site-packages/starlette/responses.py", line 262, in stream_response
async for chunk in self.body_iterator:
File "/data/web/xiezuo.gptlala.com/aiboxs/api/common.py", line 86, in generate
async for c in massage:
File "/usr/local/lib/python3.10/site-packages/EdgeGPT/EdgeGPT.py", line 132, in ask_stream
async for response in self.chat_hub.ask_stream(
File "/usr/local/lib/python3.10/site-packages/EdgeGPT/chathub.py", line 85, in ask_stream
self.wss = await self.wss_session.ws_connect(
File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 795, in _ws_connect
raise WSServerHandshakeError(
aiohttp.client_exceptions.WSServerHandshakeError: 502, message='Invalid response status', url=URL('wss://sydney.bing.com/sydney/ChatHub')
when bing 502,can auto retry?

Should be fixed


[Android] Implement support for accent color retrieval

This PR brings get_accent_color() support to Android, aligning with existing functionality currently available only on macOS and Windows. It enables users to customize the app’s appearance by aligning it with the system accent color.

Thanks!


Port cmd to cloudevents/sdk-go v2

Problem
Samples in cmd dir still use cloudevents/sdk-go v1. We should port them to the new cloudevents/sdk-go v2
Persona:
Event developer/Event producer
Exit Criteria
All samples in cmd uses cloudevents/sdk-go v2
Time Estimate (optional):
1

/assign


Show full name if SHOW_FULL_NAME setting enabled

Fixes #3697 and #3509
Adds a new key SHOW_FULL_NAME (default false) to the [ui] section.
If enabled the full name will be shown (unless it's empty, then
the default username will be used)

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@2a0e86d). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #6710   +/-   ##
=========================================
  Coverage          ?   40.73%
=========================================
  Files             ?      421
  Lines             ?    57870
  Branches          ?        0
=========================================
  Hits              ?    23571
  Misses            ?    31170
  Partials          ?     3129

Impacted Files
Coverage Δ

modules/setting/setting.go
48.26% <100%> (ø)

modules/templates/helper.go
49.4% <100%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2a0e86d...770d8dd. Read the comment docs.

Please also add the new option to app.ini.sample and possibly the config cheat sheets.

done

Thanks. One more thing I missed is the korean cheat sheet. I guess it's not strictly required but if a korean speaker can contribute the description for the option, we could add it there as well.

@silverwind zh-cn is simplified Chinese, but like you said translations for this can wait for a different PR.

I would prefer if it would be named as DEFAULT_SHOW_FULL_NAME so that later it could be added as per-user preference

changed setting to DEFAULT_SHOW_FULL_NAME
adds GetDisplayName function in models/user.go and use it in templates

This is replacing something relatively limited like usernames -- which can only be letters, numbers, _, and . -- with user controlled input that currently has no real limitations other than length.
Unfortunately, I don't think Gitea can safely handle this type of change as-is without some more in depth testing. I checked out this PR and was able to find a security issue within a few minutes:
Create an issue with a user.
Change the users full name to <script>alert(document.domain)</script>
Then visit http://example.com/user/repo/issues
It will execute the code above. This is true for any of the opened x days ago by x text generated under issues in various views. Sticking that type of user generated text into the HTML code of many pages should probably be viewed as a big change and potential security issue that requires more extensive testing, auditing, and thought. Not really the fault of the PR or this feature, but the reality of the current code having a history of input escaping/security issues due to its origin.
At minimum there should need to be some type of sanitizing of the full name and double checking of every location that would use it to make sure it isn't easy to break out of the expected HTML as seen above.

created GetDisplayName() and GetDisplayNameTitle() in action.go to fix @lafriks suggestion
@mrsdizzie issue should be fixed by the Escape sanitize


System Check Script #2: Burnwire

Burnwire test now asks for voltage and duration and runs the burn function with user inputted values.


VScode on MacOS totally busted since recent update

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: <IP_ADDRESS>
OS Version: MacOS 12.0.1, X64

Steps to Reproduce:

Start VSCode
Watch the dock

For whatever reason, when using VSCode now, for every project that was opened under the one umbrella of VSCode the App, with a single object in the Dock, now, VSCode insists on opening each one as a separate instance, polluting the dock with one VSCode icon per project, and all of them are "Application Not Responding".
Can we please make VSCode work like it used to? One nice instance, with one icon in the dock, and none of this locked up instance stuff.

Can confirm this issue.
Environment
macOS Monterey Version 12.1
MacBook Pro (15-inch, 2018)
2.9 GHz 6-Core Intel Core i9
VScode info
Version: 1.63.2
Commit: 899d46d82c4c95423fb7e10e68eba52050e30ba3
Date: 2021-12-15T09:37:28.172Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Darwin x64 21.2.0

might be duplicate of #138712

/duplicate #138712


feat(#40, #41): PullChanges, PullFiles extension

closes #40
closes #41
History:

feat(#40, #41): PullChanges

PR-Codex overview
This PR introduces changes related to mocking Pull#files() in unit tests and adds annotations for file paths in extensions.
Detailed summary

Added @PullFiles annotation for file paths in extensions.
Created PullFilesExtension for mocking Pull#files() in unit tests.
Updated unit tests to use the new annotations and extensions.

The following files were skipped due to too many changes: src/test/java/git/tracehub/codereview/action/extentions/PullFilesExtension.java, src/test/java/git/tracehub/codereview/action/github/PullChangesTest.java, src/test/resources/git/tracehub/codereview/action/github/compiled-array.json

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@h1alexbel OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@h1alexbel Done! FYI, the full log is here (took me 3min)


Mention regex fix

see https://github.com/github/delivery-org/issues/140

I created this in the wrong spot, please disregard


Test titles are mixed up in parallel

I'm running
ember exam --split=4 --parallel --random

I have an acceptance test that fails. The test has a title visiting /someurl. In the output of ember exam there is a line
not ok 232 PhantomJS 2.1 - Exam Partition #3 - Unit | Mixin | some mixin: visiting /someurl

The test-module with the title Unit | Mixin | some mixin has no failing tests and it neither contains a test with test("visiting /someurl...., so it seems that ember exam is mixing up test module titles and tests. When running without --random there is no mixup.

Ember Exam simply uses QUnit.config.random when using the --random option. So it seems likely that this is an issue with QUnit itself and not Ember Exam. That said, a reproduction would be greatly helpful here as this feature has been thoroughly tested.

The cause of this is being discussed on #81

Based on the comment above, I'm going to close this issue as a duplicate of #81. If, in the course of fixing #81, this issue is not resolved, feel free to reopen with a reproduction.


Spam clicking hardsuit action toggle can delete other actions

Description

I've tried spam clicking other actions before and they all seem to function normally, but specifically with hardsuit helmet toggles, if you continue clicking after you toggle the hardsuit helmet at all, it will just continue to delete actions from the bar
Reproduction

have a hardsuit on, toggle the helmet, continue to spam click other actions to delete them
Screenshots

https://github.com/space-wizards/space-station-14/assets/58439124/078f89fb-73a9-4cd3-a75d-766d6bf26e15
Additional context

masks don't use ToggleableClothing, they use InstantAction, whereas hardsuits use ToggleableClothing, so that seems to be the problem area

https://discord.com/channels/310555209753690112/1201835791710429204
I've been experiencing this bug since January.....


Different checksums are being calculated in different environments when changeSet has valueDate attribute

Environment
Liquibase Version: 4.5.0
Liquibase Integration & Version: Spring Boot 2.6.3
Liquibase Extension(s) & Version:  -
Database Vendor & Version: Oracle 12c
Operating System Type & Version: Windows 10 and Ubuntu 14.04.3 LTS
Description
I have a docker container with a Oracle 12c image that is used for integration tests. When the application is started, changeSets are added to a Oracle 12 database, that runs in a Docker container. The problems is that when this command is executed on my local machine, with Windows environment, a checksum is calculated, and when the command is executed from a different environment, with Ubuntu, a different checksum value is calculated. Both environments are using the same docker container mentioned before.
So, when the application start in different environment, e checksum error appears, as if an old changeset had been changed.
Caused by: liquibase.exception.ValidationFailedException: Validation Failed:
     1 change sets check sum
          liquibase/changelogs/version-0000/usuario/<script>.yml::insert-user-data::<author> was: 8:7d6101d97e41b69b07a89398bd54545f but is now: 8:f417f32c496c2bd1ad551ed95503c141

After some debugging, I found out that the source of the problem is a valueDate attribute. I'm using yaml format to write the scripts.
Steps To Reproduce

Build a Docker container with Oracle 12 image
In Spring Boot application, include those dependencies

<dependency>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-core</artifactId>
</dependency>

<plugin>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-maven-plugin</artifactId>
</plugin>

Add those configurations at application.yaml

spring:

  datasource:
    driver-class-name: oracle.jdbc.OracleDriver
    url: //your oracle database url
    username: //oracle username
    password: //oracle password

  jpa:
    database-platform: org.hibernate.dialect.Oracle12cDialect
    show-sql: false

    hibernate:
      ddl-auto: none

  liquibase:
    change-log: //your classpath
    enabled: true

Create a table with a timestamp column
At Windows environment, insert some data in this column

databaseChangeLog:
- changeSet:
    context: local, integration
    changes:
      - insert:
        ...
        columns:
        ...
        - column:
                  valueDate: 2021-01-01T12:00:00

At Ubuntu environment, start the application

OBS:

The values must be inserted in any of the two environments, and the application must be started in the other one
Both environments must point to the same database
Remember to use yaml format oi changesets

Actual Behavior
The environment is influencing checksum calculation when the changeset has valueDate attribute. This error only occurs when changeSet has valueDate attribute.
Any relevant logs have been described earlier.
Expected/Desired Behavior
The checksum must be the same independent of the environment and attributes

I get a similar error after upgrading my application to spring 2.6.4 (including liquibase-core 4.5.0)
Error creating bean with name 'liquibase' defined in class path resource [org/sp                                                                             ringframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseC                                                                             onfiguration.class]: Invocation of init method failed; nested exception is liqui                                                                             base.exception.ValidationFailedException: Validation Failed:\n     4 change sets                                                                              check sum

Any workaround?

@gabrielgmusskopf I'm not able to see a difference in windows vs. linux when using valueDate. I even tried changing line endings on the files and adding some extra newlines etc. to see if that makes a difference. We should be smoothing all that out to keep a constant checksum even across OSs, so I'm not sure what's causing that difference.
Could you run with liquibase logging set to FINE level? That should output what we are checksumming in a message like:
[2022-06-13 16:31:30] FINE [liquibase.util] Computed checksum for insert:[
    columns=[
        [
            name="test_val"
            valueDate="2021-01-01T06:00:00"
        ]
    ]
    tableName="person"
] as 92c99512564565d59901ff7f47110448

and you can compare what is actually being computed on windows vs. linux. Let me know what you find

@idewe-aict Depending on how far you are upgrading from, there may have been some bugs fixed in better including/excluding values from the checksum on foreign key management. I vaguely remember something around that at some point? Could you do the same logging check as above to see if you see a difference in what is checksummed between the two versions?
If you find it was just a change in what's computed (or you know it's not changed so don't really care the exact reason) you can always include a validCheckSum tag for the checksums you know are good. Like:
<changeSet id="..." author="...">
        <validCheckSum>OLD_CHECKSUM</validCheckSum>
        <validCheckSum>NEW_CHECKSUM</validCheckSum>
	<dropForeignKeyConstraint baseTableName="..." constraintName="..."/>
	<addForeignKeyConstraint
			constraintName="..."
			referencedTableName="..." referencedColumnNames="..."
			baseTableName="..." baseColumnNames="..." deleteCascade="true" />
</changeSet>

@gabrielgmusskopf @idewe-aict Did the above resolve your issues? Thanks!

@gabrielgmusskopf since the core issue reported here was resolved and you have a different question, so we don't lose the new question/potential issue do you mind either a.) posting it on the forum https://forum.liquibase.org/ to see if anyone from the community might have suggestions and/or b.) creating a new issue here if you think it's probably a bug related to liquibase? Thanks much! Want to make sure you get community support and if it's a bug we don't lose it.


Denmark, greenland and Faroe islands

There is something wrong with the sub areas in Denmark "DK"
all subareas starting with "FO-" or "GL-" should not be part of the subareas of DK but under Faroe islands "FO" and Greenland "GL"

Second this!


ConvertAbuseContactsData: cannot unmarshal array into Go struct field AbuseContactFinderBase

This might have been caused by use of an outdated version. I'll reopen if necessary


[Bug]: Invalid extract to variable code action applied for query expressions

Description
Consider the following:
public function main() {
    map<int> myMap = {};
    from var [key, val] in myMap.entries()
    order by val
    select val;
}

Extract to local variable code action is suggested inside the list binding pattern in the from clause. Once applied, it generates this:
public function main() {
    map<int> myMap = {};

    int[] var1 = from var [key, val] in myMap.entries()
    order by val
    select val;
    var1;
}

Steps to Reproduce
See description
Affected Version(s)
2201.3.0-rc2
OS, DB, other environment details and versions
No response
Related area
-> Editor
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Checked this on master (2201.5.0-SNAPSHOT) and now applying the same code action gives the following output:
public function main() {
    map<int> myMap = {};
    int[] var1 = from var [key, val] in myMap.entries()
    order by val
    select val;
}

The issue had been fixed.


SIGSEGV in Device::setupCpuAgent

When running clinfo (system or ROCm version) I get a segmentation fault. This is on tag rocm-3.7.0. My system is OpenSuse Tumbleweed. This happens if I install from the official ROCm SUSE repository, or if I compile rocclr and rocm-opencl-runtime myself the issue persists (with other packages as the official packages). Compiling those two with debug is how I got the nice backtrace.
This is with AMD Ryzen 7 PRO 2700U Vega using the APU (integrated graphics).
Thread 1 "clinfo" received signal SIGSEGV, Segmentation fault.
0x00007ffff7923266 in roc::Device::setupCpuAgent (this=0x4f3870) at /home/samantha/git/ROCm/ROCclr/device/rocm/rocdevice.cpp:170
170       cpu_agent_ = cpu_agents_[index].agent;
(gdb) bt
#0  0x00007ffff7923266 in roc::Device::setupCpuAgent (this=0x4f3870) at /home/samantha/git/ROCm/ROCclr/device/rocm/rocdevice.cpp:170
#1  0x00007ffff7926840 in roc::Device::populateOCLDeviceConstants (this=0x4f3870) at /home/samantha/git/ROCm/ROCclr/device/rocm/rocdevice.cpp:1047
#2  0x00007ffff7924d08 in roc::Device::create (this=0x4f3870) at /home/samantha/git/ROCm/ROCclr/device/rocm/rocdevice.cpp:593
#3  0x00007ffff79245a1 in roc::Device::init () at /home/samantha/git/ROCm/ROCclr/device/rocm/rocdevice.cpp:489
#4  0x00007ffff78b7390 in amd::Device::init () at /home/samantha/git/ROCm/ROCclr/device/device.cpp:194
#5  0x00007ffff78d2a53 in amd::Runtime::init () at /home/samantha/git/ROCm/ROCclr/platform/runtime.cpp:74
#6  0x00007ffff78a318b in ShouldLoadPlatform () at /home/samantha/git/ROCm/ROCm-OpenCL-Runtime/amdocl/cl_icd.cpp:222
#7  0x00007ffff78a3287 in operator() (__closure=0x7fffffffcdaf) at /home/samantha/git/ROCm/ROCm-OpenCL-Runtime/amdocl/cl_icd.cpp:272
#8  0x00007ffff78a366b in std::__invoke_impl<void, clIcdGetPlatformIDsKHR(cl_uint, _cl_platform_id**, cl_uint*)::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#9  0x00007ffff78a363a in std::__invoke<clIcdGetPlatformIDsKHR(cl_uint, _cl_platform_id**, cl_uint*)::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/10/bits/invoke.h:95
#10 0x00007ffff78a3531 in operator() (this=0x7fffffffcd50) at /usr/include/c++/10/mutex:717
#11 0x00007ffff78a355b in operator() (this=0x0) at /usr/include/c++/10/mutex:722
#12 0x00007ffff78a356c in _FUN () at /usr/include/c++/10/mutex:722
#13 0x00007ffff7c2e36f in __pthread_once_slow () from /lib64/libpthread.so.0
#14 0x00007ffff78a3084 in __gthread_once (__once=0x7ffff7a4b050 <clIcdGetPlatformIDsKHR::initOnce>, __func=0x7ffff7e754e0 <std::__once_proxy()>) at /usr/include/c++/10/x86_64-suse-linux/bits/gthr-default.h:700
#15 0x00007ffff78a35f2 in std::call_once<clIcdGetPlatformIDsKHR(cl_uint, _cl_platform_id**, cl_uint*)::<lambda()> >(std::once_flag &, struct {...} &&) (__once=..., __f=...) at /usr/include/c++/10/mutex:729
#16 0x00007ffff78a32e1 in clIcdGetPlatformIDsKHR (num_entries=0, platforms=0x0, num_platforms=0x7fffffffcdec) at /home/samantha/git/ROCm/ROCm-OpenCL-Runtime/amdocl/cl_icd.cpp:272
#17 0x00007ffff7fc236d in khrIcdVendorAdd (libraryName=0x442110 "libamdocl64.so") at /home/samantha/git/ROCm/ROCm-OpenCL-Runtime/khronos/icd/loader/icd.c:87
#18 0x00007ffff7fc5d3e in khrIcdOsVendorsEnumerate () at /home/samantha/git/ROCm/ROCm-OpenCL-Runtime/khronos/icd/loader/linux/icd_linux.c:125
#19 0x00007ffff7c2e36f in __pthread_once_slow () from /lib64/libpthread.so.0
#20 0x00007ffff7fc5dcc in khrIcdOsVendorsEnumerateOnce () at /home/samantha/git/ROCm/ROCm-OpenCL-Runtime/khronos/icd/loader/linux/icd_linux.c:149
#21 0x00007ffff7fc2272 in khrIcdInitialize () at /home/samantha/git/ROCm/ROCm-OpenCL-Runtime/khronos/icd/loader/icd.c:31
#22 0x00007ffff7fc27c3 in clGetPlatformIDs (num_entries=0, platforms=0x0, num_platforms=0x7fffffffcfa0) at /home/samantha/git/ROCm/ROCm-OpenCL-Runtime/khronos/icd/loader/icd_dispatch.c:34
#23 0x0000000000408216 in cl::Platform::get (platforms=0x7fffffffd370) at /home/samantha/git/ROCm/ROCm-OpenCL-Runtime/khronos/headers/opencl2.2/CL/cl2.hpp:2482
#24 0x0000000000403813 in main (argc=1, argv=0x7fffffffda98) at /home/samantha/git/ROCm/ROCm-OpenCL-Runtime/tools/clinfo/clinfo.cpp:75

This has been fixed internally and the issue should be gone with the next ROCm release.

@vsytch good news. Is there a patch you can provide to fix this issue?

@samcv
I had the same problem with Ryzen 2400G and Ubuntu 20.04.
I don't know how the internal fix looks like but following change prevented the crash for me.
rocmPatch.patch.txt


A question of function parameter

When executing this testcase on other engines, (like quickjs, v8 and spiderMonkey) I get the expected output. Only jerryscript throws an exception. Unfortunately I didn't find clear description about it in ES5.1 or ES6. Is this an issue of jerryscript?
JerryScript revision
996bf76
Test case
var NISLFuzzingFunc = function(name,){
     print(arguments.length);
};
NISLFuzzingFunc(1,2,3);

Output
Script Error: SyntaxError: Identifier expected.
Expected Output
3

They changed FormalParameters definition between 7.0 and 8.0:
https://www.ecma-international.org/ecma-262/7.0/index.html#prod-FormalParameters
https://www.ecma-international.org/ecma-262/8.0/index.html#prod-FormalParameters
The new variant allows a comma at the end.
This is fairly easy to implement, are you interested?

The project is still heading towards ES6 compatibility. Is it relevant to focus on ES7 and/or 8 features at the moment?


nvs: Check if an item is modified before writing out an identical copy (IDFGH-977)

This prevents wear and tear on the flash, and it also is faster in some
cases since the read-out of flash is a cheaper operation than the erasure
of flash.  Some library modules (such as the esp_wifi) write out to NVS
upon every initialization without checking first that the existing value
is the same, and this speeds up initialization of modules that make
these design choices and moves it into a centralized place.
The comparison functions are based on the read-out functions of the same
name, and changes out the memcpy(...) operations for memcmp(...)
operations.
Signed-off-by: Tim Nordell<EMAIL_ADDRESS>

I updated the pull request to fix a couple of things with the changeset:

Remove potential erasures that would happen regardless in the callee functions.  The comparison functions don't need to clean up after the error case.
Replaced an assertion that the read size mismatched with a return condition that the contents were different for cmpMultiPageBlob(...).

@tim-nordell-nimbelink Thank you for the PR, it looks very useful.

No problem!  It helps save wear and tear on the flash on our board (and start-up time out of deep sleep due to extra erases of flash).

I have left a few mostly cosmetic comments.

Sorry, it's easy for me to fall back to the coding style I usually use.  I'll go back and fix-up through to match espressif's coding style.

Since the logic added in cmpItem and cmpMultiPageBlob is not exactly trivial, may I ask you to add a couple of unit tests for these functions

It shouldn't be too bad.  The other thought I had was that really Page::cmp... and Page::read... are virtually identical.  They could utilize a visitor pattern, but that would have a slightly deeper stack depth than the two separate routines.  The benefit would be code maintenance, but it would touch more code within the NVS routine.

If not, I can add the tests on top of your commit.

I take it you prefer the tests to be added within the same commit?
-- Tim

@igrr  -
I've gone ahead and switched the logic around to return ESP_OK instead when the comparison is the same.  I had to touch a couple of the tests for duplicates that assumed a new write occurred each time a value was written even if it was the same value.  (I didn't run the test suite previously, but I had now that I added in the tests for this change set.)  Hopefully I got all of the cosmetic changes, too.
-- Tim


fftw_save_wisdom fails on python3 (during json serialization)

For reference, here is the bit that is causing issues:
https://github.com/mperrin/poppy/blob/b1ce6a4563b3bae743fd5a838201d247ef395df5/poppy/utils.py#L1455-L1468
This fails on python3 because pickle.dumps returns a str object in python2, but a bytes object in python3, but json.dump doesn't seem to understand bytes.
Though note we also need to be careful about default protocols when pickling, see below.
Minimal repro:
import pickle
import json
_FFTW_INIT = {}
# See note below about why explicitly setting pickle protocol is important
pickled = pickle.dumps(_FFTW_INIT, protocol=0)
with open('test.json', 'w') as fh:
    json.dump(pickled, fh)

In python2 the above will successfully save the pickled string. In python3 it fails with:
/home/matt/anaconda3/envs/astroconda/lib/python3.5/json/encoder.py in default(self, o)
    177
    178         """
--> 179         raise TypeError(repr(o) + " is not JSON serializable")
    180
    181     def encode(self, o):

TypeError: b'(dp0\n.' is not JSON serializable

i.e. json can't serialize the bytes object returned by pickle.dumps
Note about pickle protocols: In python2, the default is pickle protocol 0 (ASCII string). In python3, the default is protocol 3, which supports pickling bytes objects but cannot be read by python2. Since in this case we're just pickling a simple dict, it's safe to use protocol=0 for both python 2 and 3, but it should be explicitly set.
How to fix: If the goal is to serialize a small dict and ensure tuples stay tuples upon deserialization, why not just serialize directly to pickle rather than using json? Otherwise, will need to use encode/decode ASCII in the same way as the other elements in the wisdom dict.

Thank you for the excellent bug report!
I'm partly to blame for this: I replaced some home-brewed serialization logic with json in hopes of improving 2/3 portability (and simplifying the logic) a while ago, but apparently had the opposite effect.
If you want to open a PR, I'd be happy to review it. Otherwise, I'll have to come back to this in a couple weeks. (Trying to get some results from another project before a conference...!)

I should be able to get to it before then, sure. Just want to stick with using ascii encode/decode on everything? Or just save the whole structure as pickle directly?

Great! I would prefer an ascii format. (I had a healthy fear of unpickling user-supplied data instilled in me from working on networked applications, but I suppose it would work fine here. It seems like overkill to use a serialization format that can execute arbitrary code during deserialization of a few magic constants!)


[SPARK-7563] OutputCommitCoordinator.stop() should only run on the driver

This fixes a bug where an executor that exits can cause the driver's OutputCommitCoordinator to stop. To fix this, we use an isDriver flag and check it in stop().
See https://issues.apache.org/jira/browse/SPARK-7563 for more details.

Merged build triggered.

Merged build started.

Test build #32844 has started for   PR 6197 at commit 04b2cc5.

Test build #32844 has finished for   PR 6197 at commit 04b2cc5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/32844/
Test PASSed.

LGTM (seems pretty straightforward) - I can pull this in.

I pulled this into 1.4. I did not pull it into 1.3 due to a conflict.


Adds 'spo folder sharinglink get' command. Closes #5962

Adds spo folder sharinglink get command. Closes #5962

Thank you @nanddeepn, we'll try to review it ASAP.

Hi @nanddeepn
Before I want to review the PR I have already noticed that you extended an existing util, which is a great idea as this code is being used across multiple commands.
However, something that I noticed is that you didn't write the test in the spec file for this specific util. Let's do this.
If we then use this util in our command spec file, we will simply use spo.getDriveId().resolves(...) as this code is already tested in our util file itself.
Can you fix this?

Thank you for your review @MathijsVerbeeck
I will write the test.

Hi @MathijsVerbeeck
Test cases are added.

PR merged succesfully. Thanks for your contribution.