Add Adblock Filters language

Description
Adds Adblock Filters language. This syntax is used by filter lists for ad blockers (e.g. AdGuard, uBlock Origin, Adblock Plus). Almost all such lists are maintained on GitHub.
Checklist:

[x] I am adding a new language.

[x] The extension of the new language is used in hundreds of repositories on GitHub.com.

Please note that .adblock extension is rarely used. Filter lists usually have .txt extension (maybe .txt heuristics required?). However, the syntax is used by many repositories:

Show repositories (243)
https://github.com/51114u9/bolivia-ublockfilters
https://github.com/abp-filters/abp-filters-anti-cv
https://github.com/abp-filters/abp-filters-compliance
https://github.com/abp-filters/abp-filters-hotfix
https://github.com/abp-filters/abp-filters-mobile
https://github.com/ABPindo/indonesianadblockrules
https://github.com/abpvn/abpvn
https://github.com/acnapyx/paywall-remover
https://github.com/adblock-thai/thai-ads-filter
https://github.com/adbyby/xwhyc-rules
https://github.com/AdguardTeam/AdguardFilters (1.6K stars)
https://github.com/AdguardTeam/AdGuardSDNSFilter
https://github.com/AdguardTeam/FiltersRegistry
https://github.com/akopachov/uBlock-AK-filter-rules
https://github.com/andromedarabbit/List-KR
https://github.com/anudeepND/blacklist
https://github.com/anudeepND/youtubeadsblacklist
https://github.com/AnXh3L0/blocklist
https://github.com/anyuzu99/nothingblock
https://github.com/arapurayil/aBL
https://github.com/arichr/bakadvert
https://github.com/austinhuang0131/0131-block-list
https://github.com/Ayesh/Adblock-Sinhala
https://github.com/B-Con/mute
https://github.com/balupton/filters
https://github.com/banbendalao/ADgk
https://github.com/betterwebleon/international-list
https://github.com/betterwebleon/slovenian-list
https://github.com/bkazez/distractionblock
https://github.com/BlackJack8/iOSAdblockList
https://github.com/blocklistproject/Lists
https://github.com/blogmangit/Cosmetic-Filters
https://github.com/bmyjacks/adlists
https://github.com/BPower0036/AdBlockFilters
https://github.com/brave/adblock-lists
https://github.com/brawdevtest/ioG-list
https://github.com/brunomiguel/antinonio
https://github.com/byaka/ublock-antiskimming-list
https://github.com/caffeinewriter/DontPushMe
https://github.com/catsxp/adblock-lists
https://github.com/Cinnamon-Unltd/Anti-Kpop-Spammers-Filterlist-for-Twitter
https://github.com/Circu1T-Bre4keR/My-rules-for-UMATRIX-and-UBLOCK-ORIGIN
https://github.com/cjx82630/cjxlist
https://github.com/ColumWalsh/unsullied
https://github.com/cpeterso/clickbait-blocklist
https://github.com/crazy-max/WindowsSpyBlocker
https://github.com/Crystal-RainSlide/AdditionalFiltersCN
https://github.com/cxw620/AdGuard-Rules
https://github.com/Cybo1927/Hosts
https://github.com/dagoll/filters-list
https://github.com/DandelionSprout/adfilt
https://github.com/DandelionSprout/adguard
https://github.com/DandelionSprout/Swedish-List-for-Adblock-Plus
https://github.com/danielnixon/no-comment
https://github.com/DariusIurca/ROADBLK-EXTRA
https://github.com/DavidYaacov/adblock_youtube_paid
https://github.com/DeepSpaceHarbor/Macedonian-adBlock-Filters
https://github.com/deletescape/noads
https://github.com/dhowe/uAssets
https://github.com/DoingDog/XXKiller
https://github.com/dorjmi/nothingblock
https://github.com/durablenapkin/scamblocklist
https://github.com/duskwuff/syndicationblock
https://github.com/EasyDutch-uBO/EasyDutch
https://github.com/EasyList-Lithuania/easylist_lithuania
https://github.com/easylist-thailand/easylist-thailand
https://github.com/easylist/antiadblockfilters
https://github.com/easylist/easylist (1.2K stars)
https://github.com/easylist/easylistchina
https://github.com/easylist/easylistdutch
https://github.com/easylist/easylistgermany
https://github.com/easylist/EasyListHebrew
https://github.com/easylist/easylistitaly
https://github.com/easylist/easylistportuguese
https://github.com/easylist/easylistspanish
https://github.com/easylist/KoreanList
https://github.com/easylist/listear
https://github.com/easylist/listefr
https://github.com/easylist/ruadlist
https://github.com/eEIi0A5L/adblock_filter
https://github.com/eladkarako/hosts
https://github.com/elypter/filter_processor
https://github.com/elypter/generic_annoying_stickybar_filter
https://github.com/emilstahl/blocklist
https://github.com/endolith/clickbait
https://github.com/evenxzero/Raajje-AdList
https://github.com/examplecode/ad-rules-for-xbrowser
https://github.com/farrokhi/adblock-iran
https://github.com/festum/anti-bias-media
https://github.com/FiltersHeroes/KAD
https://github.com/FiltersHeroes/KADhosts
https://github.com/FiltersHeroes/PolishAnnoyanceFilters
https://github.com/FiltersHeroes/PolishAntiAnnoyingSpecialSupplement
https://github.com/FiltersHeroes/PolishSocialCookiesFiltersDev
https://github.com/finnish-easylist-addition/finnish-easylist-addition
https://github.com/francis-zhao/quarklist
https://github.com/ftpmorph/ftprivacy
https://github.com/FutaGuard/FutaFilter
https://github.com/gfmaster/adblock-korea-contrib
https://github.com/gioxx/xfiles
https://github.com/gwarser/filter-lists
https://github.com/Hackl0us/AdBlock-Rules-Mirror
https://github.com/Hakame-kun/uBlock-Filters-Indonesia
https://github.com/hant0508/uBlock-filters
https://github.com/hawkeye116477/FilterListsDarkMode
https://github.com/haykam821/Blocklists
https://github.com/hdd1013/AdBlockListSubKr
https://github.com/hirorpt/filters
https://github.com/hit3shjain/Andromeda-ublock-list
https://github.com/hl2guide/All-in-One-Customized-Adblock-List
https://github.com/hl2guide/Filterlist-for-AdGuard-or-PiHole
https://github.com/hoshsadiq/adblock-nocoin-list (1.3K stars)
https://github.com/hoshsadiq/blocked-hosts
https://github.com/Hubird-au/Adversity
https://github.com/hufilter/hufilter
https://github.com/hufilter/hufilter-dev
https://github.com/Hunter-Github/the-best-stack-overflow
https://github.com/HuzunluArtemis/TurkishAdblockList
https://github.com/hXR16F/uBlock-Origin-Lists
https://github.com/iam-py-test/my_filters_001
https://github.com/iamashley0/topgg-ublock-filter
https://github.com/IDKwhattoputhere/uBlock-Filters-Plus
https://github.com/JanJastrow/blocked_domains
https://github.com/jasonbarone/membership-app-block-list
https://github.com/jbara2002/Melody-_Host
https://github.com/jiayiming/jCleanList
https://github.com/JohnyP36/Personal-List
https://github.com/jwinnie/acceptable-ads
https://github.com/k2jp/abp-japanese-filters
https://github.com/K-mikaZ/new_approach_adb__1st
https://github.com/kano1/I
https://github.com/kano1/Kano
https://github.com/kargig/greek-adblockplus-filter
https://github.com/Karmesinrot/Anifiltrs
https://github.com/kbinani/adblock-wikipedia
https://github.com/kbinani/adblock-youtube-ads
https://github.com/KCaglarCoskun/enur-filter-list
https://github.com/Kees1958/WS3_annual_most_used_survey_blocklist
https://github.com/kowith337/PersonalFilterListCollection
https://github.com/kowith337/ThaiAntiForceLike
https://github.com/kowith337/ThaiAntiTokenSites
https://github.com/kowith337/ThaiParanoidBlock
https://github.com/L33Tech/uLists
https://github.com/LanikSJ/ubo-filters
https://github.com/Larvit4r/Blocklists
https://github.com/lassekongo83/Frellwits-filter-lists
https://github.com/lilydjwg/abp-rules
https://github.com/LinuxLowell/chat-annoyances
https://github.com/List-KR/List-KR
https://github.com/llacb47/miscfilters
https://github.com/LordBadmintonofYorkshire/Overlay-Blocker
https://github.com/loveqqzj/AdGuard
https://github.com/luigimannoni/m5s-ublock-filter
https://github.com/lutoma/nocomments
https://github.com/Luzifer/browser-privacy
https://github.com/maciejtarmas/AlleBlock
https://github.com/MajkiIT/polish-ads-filter
https://github.com/MajkiIT/polish-ads-filter#polish-filters-for-adblock-ublock-origin--adguard
https://github.com/Manu1400/i-don-t-care-about-gotoup-btns
https://github.com/Manu1400/i-don-t-care-about-newsletters
https://github.com/masterinspire/Master-AdRules
https://github.com/MasterKia/PersianBlocker
https://github.com/mayve/private-adblock-filters
https://github.com/medavox/uor
https://github.com/mediumkreation/IndianList
https://github.com/metaphoricgiraffe/tracking-filters
https://github.com/migueldemoura/ublock-umatrix-rulesets
https://github.com/mistalaba/popover-blocklist
https://github.com/mitchellkrogza/Fail2Ban.WebExploits
https://github.com/miyurusankalpa/adblock-list-sri-lanka
https://github.com/mkb2091/blockconvert
https://github.com/MonyaTechnik/themtfilters
https://github.com/mtxadmin/ublock
https://github.com/Nebula-Mechanica/Anti-AutoTranslation-List
https://github.com/NeeEoo/AdBlockNeeEoo
https://github.com/neodevpro/neodevhost
https://github.com/nfer/easylistchina_it
https://github.com/nicedirector/ADBlock
https://github.com/Nickwasused/CleanSocialMedia
https://github.com/nimasaj/uBOPa
https://github.com/nmasse-itix/ITIX-uBlock-List
https://github.com/notriddle/remove-fixed-banners
https://github.com/oldprettyclementine/ad.blockthatshit
https://github.com/olegwukr/polish-privacy-filters
https://github.com/OmniMir/WebMonkey
https://github.com/OsborneSystems/Columbia
https://github.com/OwlStudioCN/owl-abp-rules
https://github.com/Paxxs/Google-Blocklist
https://github.com/ph00lt0/blocklist
https://github.com/r4vi/block-the-eu-cookie-shit-list
https://github.com/rafagale/ubo-static-blacklist
https://github.com/RandomAdversary/Macedonian-adBlock-Filters
https://github.com/RandomRhythm/LevelUpDomain
https://github.com/readthedocs/ads-for-opensource
https://github.com/realodix/AdBlockID
https://github.com/rebelion76/bankiru_plus_adblock_list
https://github.com/RedDragonWebDesign/block-everything
https://github.com/reek/anti-adblock-killer
https://github.com/reelsense/browser-scripts-tools
https://github.com/Rpsl/adblock-leadgenerator-list
https://github.com/Rudloff/adblock-imokwithcookies
https://github.com/ryanbr/fanboy-adblock
https://github.com/Sappurit/uBlock-Filters
https://github.com/secretsnow/Ad-Filters
https://github.com/seia-soto/filter-kr
https://github.com/sioxe823/Project-RnJlRUhL
https://github.com/sipp11/th_ad_filters
https://github.com/SlashArash/adblockfa
https://github.com/smed79/blacklist
https://github.com/spiri-leo/spiri-list
https://github.com/stamparm/maltrail
https://github.com/T4Tea/ADPMobileFilter
https://github.com/taylr/linkedinsanity
https://github.com/tcptomato/ROad-Block
https://github.com/TheCardinalSystem/Cruncyroll-Filter-List
https://github.com/thedoggybrad/anti-gotoup-buttons
https://github.com/theel0ja/CrapBlock
https://github.com/thoughtconverge/abf
https://github.com/ThuHtooSan/Burmese-Filter-List
https://github.com/tofukko/filter
https://github.com/tomasko126/easylistczechandslovak
https://github.com/toshiya44/myAssets
https://github.com/TPCTPCTPC/Adblock-gist
https://github.com/troysjanda/MyBlockLists
https://github.com/twcau/AdblockRules
https://github.com/uBlock-user/uBO-Personal-Filters
https://github.com/uBlockOrigin/uAssets
https://github.com/unchartedsky/adguard-kr
https://github.com/uniartisan/adblock_list
https://github.com/UnluckyLuke/BlockUnderRadarJunk
https://github.com/VernonStow/Filterlist
https://github.com/vksbhagat/uBlock_filters-rules
https://github.com/whtsky/abp-rules
https://github.com/WhyIsEvery4thYearAlwaysBad/anti-cancer-filter-lists
https://github.com/wiltteri/subscriptions
https://github.com/xinggsf/Adblock-Plus-Rule
https://github.com/YanFung/Ads
https://github.com/yecarrillo/adblock-colombia
https://github.com/yourduskquibbles/webannoyances
https://github.com/yous/YousList
https://github.com/Yuki2718/adblock
https://github.com/Yumire/kiss-filters
https://github.com/zonprox/adblock

Most popular repositories:

https://github.com/uBlockOrigin/uAssets/tree/master/filters (2K stars)
https://github.com/AdguardTeam/AdguardFilters (1.6K stars)
https://github.com/hoshsadiq/adblock-nocoin-list (1.3K stars)
https://github.com/easylist/easylist (1.3K stars)

Popular GitHub topics:

https://github.com/topics/adblock-list (120 results)
https://github.com/topics/ublock-list
https://github.com/topics/ublock-origin-filters
https://github.com/topics/ublock-filters-rules
https://github.com/topics/adblock-plus

[x] I have included a real-world usage sample for all extensions added in this PR:

Sample source(s):

https://github.com/scripthunter7/linguist/blob/bbbf4105ec160377abc213bd61afaa6539bedeb4/samples/Adblock Filter List/test_rules.txt

Sample license(s): MIT

[x] I have included a syntax highlighting grammar: https://github.com/ameshkov/VscodeAdblockSyntax
[x] I have updated the heuristics to distinguish my language from others using the same extension.
https://github.com/scripthunter7/linguist/blob/0a2042081bf346ff5f0e85f5ea3f5ea98f5f117c/lib/linguist/heuristics.yml#L653-L655

Related: https://github.com/ameshkov/VscodeAdblockSyntax/issues/48

Please note that .adblock extension is rarely used.

Yes, this means we can't add support for this extension.

Filter lists usually have .txt extension (maybe .txt heuristics required?).

This would probably be the best option, but you'll need to be quite careful with the heuristic to be sure you don't catch legit text files.

@lildude
Thanks for the feedback! I'm still working on the regex. You can view the current state here: https://rubular.com/r/Q7XJYCSEzIi0Jk
I hope this length is still acceptable. I try to completely exclude false positive cases. If necessary, I can also provide a detailed explanation of some parts of the regular expression.

I've been tempted to add support for AdBlock filters in the past. I decided against it for two reasons:

We're disambiguating against freeform text, which should be assumed to contain anything and everything; including examples of AdBlock filters in lengthier prose (think README.txt).

An accurate heuristic will have abysmal performance. Consider rules as complex as these:
about-drinks.com,familie.de,formel1.de,freenet.de,hifi-forum.de,kicker.de,…transfermarkt.*##+js(nostif, .call(null), 10)
*.jpg$script,domain=allthingsvegas.com|aupetitparieur.com|bestfunnyjokes4u.com|cheatsheet.com|clashdaily.com|craigjames.com|designbump.com|grammarist.com|madworldnews.com|menrec.com|politicalcowboy.com|reviveusa.com|sonsoflibertymedia.com|thedesigninspiration.com|themattwalshblog.com|videogamesblogger.com

Not only do we need to validate variable-length lists of domains and CSS selectors, we also have to run this validation against every single .txt file on GitHub. In pathological cases, this can have a noticeable impact on performance.

Hopefully these reasons double as a PSA for any aspiring language-designers to avoid using the .txt extension for their new file-formats. 😉

We're disambiguating against freeform text, which should be assumed to contain anything and everything; including examples of AdBlock filters in lengthier prose (think README.txt).

I don't know how many files this issue can affect. I assume this number is very low.

An accurate heuristic will have abysmal performance. Consider rules as complex as these

Currently I only validate "obvious" parts, like ##^script / ##+js( and I think the chance that legit txt files do contain such data is quite low. See https://rubular.com/r/7vMkdzGVsqu8dV

Not only do we need to validate variable-length lists of domains and CSS selectors, we also have to run this validation against every single .txt file on GitHub.

Hopefully these reasons double as a PSA for any aspiring language-designers to avoid using the .txt extension for their new file-formats. 😉

That's why I didn't want to approach it from the side of heuristics in the first round, but the .adblock extension is rarely used :confused: My other idea was the manual override, see my first comment on this topic: https://github.com/ameshkov/VscodeAdblockSyntax/issues/48#issue-1269148703
It can also be an option that only the very clear things are included in the regex, e.g. header metadata, and in the remaining cases a manual override must be added to some repositories. Overall, the language is in active use on GitHub. What do you think would be a good solution?

Heuristics are only used when Linguist is classifying a file whose extension is shared by two or more languages.

Oh, I think we misunderstood each other :) I just mentoined the .adblock extension because it could create a "new standard" in the future (because of syntax highlight) and in this case we don't need to apply complex heuristics for all txt files. But since the extension is rarely used, it cannot be included here.  Stalemate 😕
Considering these facts, only the heuristic remains, but it still needs to be developed further in order to function as accurately and optimally as possible.

I made the requested changes.

@lildude @Alhadis
I have a slightly different idea in order to solve this situation. It is enough to examine only the beginning of the txt files. Thus, false positive detection is completely excluded, and there will be no problems with the performance either.
There are two main cases where we can say that a file uses adblock syntax:

It starts with [{{ADBLOCKER_NAME}}] or [{{ADBLOCKER_NAME}} {{VERSION}}]

Example: [Adblock Plus 2.0], [Adblock Plus 2.5.5], [uBlock Origin <IP_ADDRESS>], [AdGuard 1.0]
Combination: [Adblock Plus 2.0; AdGuard 1.0]
As a comment: ! [uBlock Origin] (! or # are optional)

The comments at the beginning of the file contains metadata

Possible metadata fields: Title, Expires, Homepage, License, Version, Last modified, Time updated
Example:! Version:<PHONE_NUMBER>20
! Title: EasyList
! Last modified: 28 Jul 2022 13:20 UTC
! Expires: 4 days (update frequency)
! Homepage: https://easylist.to/
! Licence: https://easylist.to/pages/licence.html

or (# is also comment / not all fields are always present)# Version:<PHONE_NUMBER>20
# Title: EasyList

or (empty lines or another comments allowed)! ------------------------------

! Version:<PHONE_NUMBER>20
! Title: EasyList

I've collected the required 200 unique repositories that contain such files:

Show links (205)
https://github.com/0ld/adblock-plus-2ch-ban/blob/master/ban.txt
https://github.com/02030pllolipop/Rules-after-famlam-redundantRuleChecker/blob/master/Big_mixtures_%26_breakdowns/A2.txt
https://github.com/abpvn/abpvn/blob/master/filter/abpvn.txt
https://github.com/acnapyx/paywall-remover/blob/master/paywall-remover-anon.txt
https://github.com/adblockplus/python-abp/blob/master/tests/data/filterlist.txt
https://github.com/AdguardTeam/FiltersRegistry/blob/master/filters/ThirdParty/filter_112_ListeAR/filter.txt
https://github.com/andromedarabbit/List-KR/blob/master/filter.txt
https://github.com/annon79/Blockzilla/blob/master/Blockzilla.txt
https://github.com/AnXh3L0/blocklist/blob/master/personal.txt
https://github.com/anyuzu99/nothingblock/blob/main/filter.txt
https://github.com/arapurayil/aBL/blob/main/filters/nsfw.txt
https://github.com/arichr/bakadvert/blob/main/filters.txt
https://github.com/ATErBion/adblock-mylist/blob/master/lichost.txt
https://github.com/austinhuang0131/0131-block-list/blob/master/list.txt
https://github.com/Ayesh/Adblock-Sinhala/blob/master/filters.txt
https://github.com/B-Con/mute/blob/master/mute.txt
https://github.com/balupton/filters/blob/master/filter-activism.txt
https://github.com/banbendalao/ADgk/blob/master/kill-baidu-ad.txt
https://github.com/bbondy/abp-filter-parser/blob/master/test/data/easylist.txt
https://github.com/betterwebleon/international-list/blob/master/filters.txt
https://github.com/betterwebleon/slovenian-list/blob/master/filters.txt
https://github.com/bkazez/distractionblock/blob/master/distractionblock.txt
https://github.com/blocklistproject/Lists/blob/master/adguard/redirect-ags.txt
https://github.com/bmyjacks/adlists/blob/master/filter-registry/EasyPrivacy.txt
https://github.com/BPower0036/AdBlockFilters/blob/main/EasyDutch.txt
https://github.com/brave/adblock-lists/blob/master/coin-miners.txt
https://github.com/brawdevtest/ioG-list/blob/main/Filters/ioG.txt
https://github.com/bremich/Blocklists/blob/master/ublock/annoyances.txt
https://github.com/brunomiguel/antinonio/blob/master/antinonio.txt
https://github.com/byaka/ublock-antiskimming-list/blob/master/build/data.txt
https://github.com/caffeinewriter/DontPushMe/blob/master/filterlist.txt
https://github.com/Cinnamon-Unltd/Anti-Kpop-Spammers-Filterlist-for-Twitter/blob/main/AntiKPopSpammersFilterlistTwitter.txt
https://github.com/cjx82630/cjxlist/blob/master/cjx-annoyance.txt
https://github.com/cpeterso/clickbait-blocklist/blob/master/clickbait-blocklist.txt
https://github.com/Crystal-RainSlide/AdditionalFiltersCN/blob/master/RainSlide.txt
https://github.com/cxw620/AdGuard-Rules/blob/main/wjx-AdGuard.txt
https://github.com/Cybo1927/Hosts/blob/master/DNS Hosts
https://github.com/dagoll/filters-list/blob/master/dagoll-filters-list.txt
https://github.com/DandelionSprout/adfilt/blob/master/Anti-IMDB List.txt
https://github.com/DandelionSprout/Swedish-List-for-Adblock-Plus/blob/main/Swedish List for Adblock Plus.txt
https://github.com/DavidYaacov/adblock_youtube_paid/blob/master/youtube_paid_blocker.txt
https://github.com/DeepSpaceHarbor/Macedonian-adBlock-Filters/blob/master/Filters
https://github.com/durablenapkin/scamblocklist/blob/master/adguard.txt
https://github.com/EasyDutch-uBO/EasyDutch/blob/main/EasyDutch.txt
https://github.com/EasyList-Lithuania/easylist_lithuania/blob/master/easylistlithuania.txt
https://github.com/easylist-thailand/easylist-thailand/blob/master/subscription/easylist-thailand.txt
https://github.com/easylist/easylistchina/blob/master/easylistchina.txt
https://github.com/easylist/easylistdutch/blob/master/easylistdutch.txt
https://github.com/easylist/EasyListHebrew/blob/master/EasyListHebrew.txt
https://github.com/easylist/listear/blob/master/Liste_AR.txt
https://github.com/easylist/listefr/blob/master/liste_fr.txt
https://github.com/easylist/ruadlist/blob/master/advblock.txt
https://github.com/eEIi0A5L/adblock_filter/blob/master/ichigo_filter.txt
https://github.com/elypter/filter_processor/blob/master/sources/header.txt
https://github.com/elypter/generic_annoying_stickybar_filter/blob/master/generic_header_list.txt
https://github.com/endolith/clickbait/blob/master/clickbait.txt
https://github.com/ethanlevine/abp/blob/master/list.txt
https://github.com/evenxzero/Raajje-AdList/blob/master/filter.txt
https://github.com/examplecode/ad-rules-for-xbrowser/blob/master/core-rule-cn.txt
https://github.com/farrokhi/adblock-iran/blob/master/additional-trackers.txt
https://github.com/FiltersHeroes/KAD/blob/master/KAD.txt
https://github.com/FiltersHeroes/PolishAnnoyanceFilters/blob/master/PAF_newsletters.txt
https://github.com/FiltersHeroes/PolishAntiAnnoyingSpecialSupplement/blob/master/polish_rss_filters.txt
https://github.com/FiltersHeroes/PolishSocialCookiesFiltersDev/blob/master/adblock_social_filters/adblock_social_list.txt
https://github.com/finnish-easylist-addition/finnish-easylist-addition/blob/master/Finland_adb.txt
https://github.com/francis-zhao/quarklist/blob/master/dist/quarklist.txt
https://github.com/FutaGuard/LowTechFilter/blob/master/filter.txt
https://github.com/GamerGate/Adblock-Plus-filter-list/blob/master/GG-ABP.txt
https://github.com/gfmaster/adblock-korea-contrib/blob/master/filter.txt
https://github.com/gioxx/xfiles/blob/master/filtri.txt
https://github.com/gwarser/filter-lists/blob/master/my-filters.txt
https://github.com/Hackl0us/AdBlock-Rules-Mirror/blob/master/I-dont-care-about-cookies.txt
https://github.com/Hakame-kun/uBlock-Filters-Indonesia/blob/master/uBlock Indo/ubindo.txt
https://github.com/hant0508/uBlock-filters/blob/master/filters.txt
https://github.com/hawkeye116477/FilterListsDarkMode/blob/master/DarkFilterLists.txt
https://github.com/haykam821/Blocklists/blob/master/mmo.txt
https://github.com/hdd1013/AdBlockListSubKr/blob/master/filter.txt
https://github.com/HexxiumCreations/threat-list/blob/gh-pages/hexxiumthreatlist.txt
https://github.com/hit3shjain/Andromeda-ublock-list/blob/master/hosts.txt
https://github.com/hl2guide/All-in-One-Customized-Adblock-List/blob/master/aio.txt
https://github.com/hoshsadiq/adblock-nocoin-list/blob/master/nocoin.txt
https://github.com/hoshsadiq/blocked-hosts/blob/master/blocked-search-domains.txt
https://github.com/Hubird-au/Adversity/blob/master/Adversity.txt
https://github.com/hufilter/hufilter-dev/blob/master/sections/headers/adblock-plus.txt
https://github.com/hufilter/hufilter/blob/master/hufilter-abp.txt
https://github.com/HuzunluArtemis/TurkishAdblockList/blob/main/src/ElementalList.txt
https://github.com/iam-py-test/my_filters_001/blob/main/antimalware.txt
https://github.com/IDKwhattoputhere/uBlock-Filters-Plus/blob/master/uBlock-Filters-Plus.txt
https://github.com/jasonbarone/membership-app-block-list/blob/master/membership-app-block-list.txt
https://github.com/jiayiming/jCleanList/blob/master/jCleanList_all.txt
https://github.com/JinsongVan/chinalist/blob/master/china_mobile_list.txt
https://github.com/JohnyP36/Personal-List/blob/main/Personal List (uBo).txt
https://github.com/jwinnie-the-great/acceptable-ads/blob/master/filters.txt
https://github.com/k2jp/abp-japanese-filters/blob/master/abp_jp_3rd_party_SNS.txt
https://github.com/K-mikaZ/new_approach_adb__1st/blob/master/KmZ_filters.txt
https://github.com/kano1/I/blob/master/adware.txt
https://github.com/kano1/Kano/blob/master/Spyware.txt
https://github.com/Karcsy/MyAddBlock/blob/master/MyADBlockKarcsy.txt
https://github.com/kargig/greek-adblockplus-filter/blob/master/void-gr-filters.txt
https://github.com/Karmesinrot/Anifiltrs/blob/master/Anifltrs.txt
https://github.com/kbinani/adblock-wikipedia/blob/master/signed.txt
https://github.com/kbinani/adblock-youtube-ads/blob/master/signed.txt
https://github.com/KCaglarCoskun/enur-filter-list/blob/master/enur-filter-list.txt
https://github.com/Kees1958/W3C_annual_most_used_survey_blocklist/blob/master/URL_tracking_parameters
https://github.com/kowith337/PersonalFilterListCollection/blob/master/filterlist/Combi-FacebookTotalAwareness-Safe.txt
https://github.com/kowith337/ThaiAntiForceLike/blob/master/AntiForceLike.txt
https://github.com/kowith337/ThaiAntiTokenSites/blob/master/AntiPumpSites.txt
https://github.com/kowith337/ThaiParanoidBlock/blob/master/ThaiParanoid.txt
https://github.com/LanikSJ/ubo-filters/blob/main/filters/adback-domains.txt
https://github.com/Larvit4r/Blocklists/blob/master/TLD-Blacklist.txt
https://github.com/lassekongo83/Frellwits-filter-lists/blob/master/emoji-filter.txt
https://github.com/leetfin/uLists/blob/master/Lists/RedditBlockList.txt
https://github.com/leotse/abp/blob/master/abp.txt
https://github.com/lifegpc/myabplist/blob/master/bili.txt
https://github.com/lilydjwg/abp-rules/blob/master/annoyance.txt
https://github.com/LinuxLowell/chat-annoyances/blob/master/chat-annoyances.txt
https://github.com/List-KR/List-KR/blob/master/filter.txt
https://github.com/llacb47/miscfilters/blob/master/antipaywall.txt
https://github.com/LordBadmintonofYorkshire/Overlay-Blocker/blob/master/blocklist.txt
https://github.com/loveqqzj/AdGuard/blob/master/Mobile.txt
https://github.com/lutoma/nocomments/blob/master/abp.txt
https://github.com/Luzifer/browser-privacy/blob/master/filters.txt
https://github.com/maciejtarmas/AlleBlock/blob/master/alleblock.txt
https://github.com/MajkiIT/polish-ads-filter/blob/master/cookies_filters/adblock_cookies.txt
https://github.com/Manu1400/i-don-t-care-about-gotoup-btns/blob/master/list-gotoup-btns.txt
https://github.com/Manu1400/i-don-t-care-about-newsletters/blob/master/adp.txt
https://github.com/masterinspire/filter-lists/blob/main/filter-lists.txt
https://github.com/MasterKia/PersianBlocker/blob/main/PersianBlocker.txt
https://github.com/mayve/private-adblock-filters/blob/master/Adblock_List.txt
https://github.com/medavox/uor/blob/master/rules.txt
https://github.com/metaphoricgiraffe/tracking-filters/blob/master/trackingfilters.txt
https://github.com/migueldemoura/ublock-umatrix-rulesets/blob/master/uBlock/list
https://github.com/mistalaba/popover-blocklist/blob/master/blocklist.txt
https://github.com/miyurusankalpa/adblock-list-sri-lanka/blob/master/lkfilter.txt
https://github.com/mkb2091/blockconvert/blob/master/output/adblock.txt
https://github.com/MonyaTechnik/themtfilters/blob/main/blkfckads/blkfckads.txt
https://github.com/mtxadmin/ublock/blob/master/it
https://github.com/Nebula-Mechanica/Anti-AutoTranslation-List/blob/master/anti-autotranslation-list.txt
https://github.com/NeeEoo/AdBlockNeeEoo/blob/master/List.txt
https://github.com/nfer/easylistchina_it/blob/master/easylistchina_it.txt
https://github.com/nicedirector/ADBlock/blob/master/Adblock_Filter.txt
https://github.com/nimasaj/uBOPa/blob/master/uBOPa.txt
https://github.com/nmasse-itix/ITIX-uBlock-List/blob/master/ITIX.txt
https://github.com/notriddle/remove-fixed-banners/blob/master/filters.txt
https://github.com/nyancrimew/noads/blob/master/lists/unbreak.txt
https://github.com/olegwukr/polish-privacy-filters/blob/master/adblock.txt
https://github.com/OmniMir/WebMonkey/blob/master/uBlock.txt
https://github.com/OsborneSystems/Columbia/blob/master/Columbia.txt
https://github.com/pauliuszaleckas/BeReklamos/blob/master/bereklamos.txt
https://github.com/ph00lt0/blocklist/blob/master/rpz-blocklist.txt
https://github.com/Placidina/adb-list/blob/master/adb-list.txt
https://github.com/r4vi/block-the-eu-cookie-shit-list/blob/master/filterlist.txt
https://github.com/rafagale/ubo-static-blacklist/blob/master/rafa-ublock-blacklist.txt
https://github.com/realodix/AdBlockID/blob/master/output/adblockid.txt
https://github.com/rebelion76/bankiru_plus_adblock_list/blob/master/bankiru_plus.txt
https://github.com/RedDragonWebDesign/block-everything/blob/master/block-everything.txt
https://github.com/reek/anti-adblock-killer/blob/master/anti-adblock-killer-filters.txt
https://github.com/reelsense/browser-scripts-tools/blob/master/fagbs/fagbs-domain-malvertising.txt
https://github.com/rlaskey/block/blob/main/block.txt
https://github.com/Rpsl/adblock-leadgenerator-list/blob/master/list/list.txt
https://github.com/Rudloff/adblock-imokwithcookies/blob/master/filters.txt
https://github.com/ryanbr/fanboy-adblock/blob/master/fanboy-anticomments.txt
https://github.com/salimkayabasi/adblock-plus-personal-filters/blob/master/list.txt
https://github.com/Sappurit/uBlock-Filters/blob/master/Sappurit - Hide Facebook Annoyances (New Layout)
https://github.com/secretsnow/Ad-Filters/blob/master/Ad Filters.txt
https://github.com/seia-soto/filter-kr/blob/master/filter.txt
https://github.com/sipp11/th_ad_filters/blob/master/th_list.txt
https://github.com/SlashArash/adblockfa/blob/master/adblockfa.txt
https://github.com/smed79/blacklist/blob/master/abp.txt
https://github.com/spiri-leo/spiri-list/blob/main/blocklists/block_ads/adblock.txt
https://github.com/szepeviktor/lean-filter/blob/master/leanfilter.txt
https://github.com/T4Tea/ADPMobileFilter/blob/master/ADPMobileFilter.txt
https://github.com/taylr/linkedinsanity/blob/master/linkedinsanity.txt
https://github.com/tcptomato/ROad-Block/blob/master/road-block-filters.txt
https://github.com/thedoggybrad/anti-gotoup-buttons/blob/master/filter.txt
https://github.com/theel0ja/CrapBlock/blob/master/personal.txt
https://github.com/thoughtconverge/abf/blob/master/abf.txt
https://github.com/ThuHtooSan/Burmese-Filter-List/blob/main/filterlist.txt
https://github.com/timmc/abp/blob/master/standard.txt
https://github.com/tknr/adblock-plus-japanese-filter/blob/master/abp_jp.txt
https://github.com/tofukko/filter/blob/master/Adblock_Plus_list.txt
https://github.com/tomasko126/easylistczechandslovak/blob/master/filters.txt
https://github.com/toshiya44/myAssets/blob/master/filters-exp.txt
https://github.com/troysjanda/MyBlockLists/blob/master/removeprams.txt
https://github.com/uBlock-user/uBO-Personal-Filters/blob/master/uPF.txt
https://github.com/uBlockOrigin/uAssets/blob/master/filters/annoyances.txt
https://github.com/ufesbr/list_adblock/blob/master/surf_list.txt
https://github.com/uniartisan/adblock_list/blob/master/adblock_lite.txt
https://github.com/UnluckyLuke/BlockUnderRadarJunk/blob/master/blockunderradarjunk-list.txt
https://github.com/vastep/adbp/blob/master/filter.txt
https://github.com/VernonStow/Filterlist/blob/master/Filterlist.txt
https://github.com/wenketel/chinalist/blob/master/adblock-lazy.txt
https://github.com/whtsky/abp-rules/blob/master/rules.txt
https://github.com/WhyIsEvery4thYearAlwaysBad/anti-cancer-filter-lists/blob/master/anti_satirical_news.txt
https://github.com/wiltteri/subscriptions/blob/master/wiltteri-reborn.txt
https://github.com/xinggsf/Adblock-Plus-Rule/blob/master/mv.txt
https://github.com/YanFung/Ads/blob/master/Mobile
https://github.com/yecarrillo/adblock-colombia/blob/master/adblock_co.txt
https://github.com/yourduskquibbles/webannoyances/blob/master/ultralist.txt
https://github.com/yous/YousList/blob/master/youslist.txt
https://github.com/Yuki2718/adblock/blob/master/adguard/anti-antiadb.txt
https://github.com/Yumire/kiss-filters/blob/master/filters.txt
https://github.com/Zereao/AD_Rules/blob/master/Program Engineer List.txt
https://github.com/zonprox/adblock/blob/master/abpadv.txt
https://raw.githubusercontent.com/FiltersHeroes/KADhosts/master/KADhosts.txt

What do you think about this? :) If this is acceptable, I will write the heuristic.

@Alhadis
Firstly, we completely agree that a custom extension would be the best solution for this situation. But the trouble is, it's a lot of work to rename these files, and in the beginning (perhaps for months or years) nothing would change because of this. Not to mention that the subscription url of the lists would change.
The "adblock agent" ([Adblock Plus x.y], [uBlock x.y] /  [uBlock Origin x.y],  [AdGuard x.y], [Adblock Plus x.y; AdGuard x.y]) can be considered almost standard. If you look at the txt files linked in my previous comment, you can see that most of them start with this "agent". I think the remaining cases can be solved by opening issues or pull requests. This can be clearly detected by heuristics. What do you think about this opportunity? Considering the circumstances, this seems to me to be the most optimal solution.

I collected more links, manually. I also modified the heuristics so it only detects files that starts with the "adblock agent". I think false positive detection is 100% excluded, and the heuristics are also fast.

If I understand the requirements correctly, this number of files is enough for Linguist support, since they are in different repositories. I think this number is much higher than that, however, GitHub's search engine doesn't allow me to get the exact result. 😕
During my manual search I've also seen a lot of files where only a small change is needed to be able detected by my heuristic. If the adblock language will be supported, the number of files will definitely increase. Especially since only 1 line needs to be inserted at the beginning of the file in order for the syntax highlight to work 🙂
@Alhadis I know it's not the best solution, but I don't see any other feasible option in the current situation. Hundreds of repositories are used by millions of people through ad blockers. I see no realistic chance that the .txt extension will change in the foreseeable future, however, syntax highlighting would help a lot in maintenance.

@lildude This LGTM, from my own testing. 👍 You might have access to a larger corpora of .txt files with which to test the heuristic, though. 😉

Thanks everyone for the tips and help! @Alhadis, thank you very much for your contribution! 🎉

Nah mate, you did most of the heavy-lifting. 😉 If anything, we should be thanking you.

https://github.com/DandelionSprout/adfilt/issues/63


mupx deploy fails to build without logging any details

I am trying to deploy a meteor app on the same server that is running a Ghost blog.  Running mupx setup works just fine, but when I try to run mupx deploy, I get the following output:
Meteor Up: Production Quality Meteor Deployments
------------------------------------------------
Configuration file : mup.json
Settings file      : settings.json

“ Checkout Kadira!
  It's the best way to monitor performance of your app.
  Visit: https://kadira.io/mup ”

Meteor app path    : /root/Story
Using buildOptions : {}

=> Build Error. Check the logs printed above.

I'm not sure what this means, especially considering there doesn't seem to be any errors logged at all!  Any ideas?

Y a this basically means one of the packages does not include or build binaries for the target platform.
The newer version of meteor are addressing this. I think as of meteor <IP_ADDRESS> so you probably need to update everything possible. Package versions etc. Possible delete the node_modules folder. Can't be certain of any of it without better errors.
If you lookup mupx DEBUG logging it might report something more. It's something like DEBUG=* mupx deploy  watch your space and often I get the =* mixed up so double check that syntax.

Alright, so I ran npm update inside my meteor project directory, and I checked inside my .meteor/release file and it said I was at meteor <IP_ADDRESS>.  I still got the same error as above.  Running DEBUG=* mupx deploy also didn't print out anything more.
I also deleted the node_modules folder by running the following inside my meteor project directory:
rm -rf node_modules/
npm install

Still no luck.  As a note, my server has Node v4.4.2 running, which Ghost also uses.
I even tried killing Ghost and seeing if it would work then using pkill node, but this, again, changed nothing.  I'm not sure what else to try besides completely removing Ghost (which I really don't want to do).

Bummer. Maybe try a test with default meteor just to make sure there's nothing else in the way.
That way you can inject the module and see if it fails.
Alternatively one can hack break points into the scripts/fork to see how far it gets and essentially manually step through to isolate the problem and see better logging.
Maybe try building via full meteor install etc manually on the target platform just to see if that reveals anything.
It could be dépendances of dépendances if that makes any sense?


metabase version update

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (e491e5d) 94.76% compared to head (54084cc) 94.76%.
Report is 3 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #500   +/-   ##
=======================================
  Coverage   94.76%   94.76%
=======================================
  Files         115      115
  Lines        6114     6114
=======================================
  Hits         5794     5794
  Misses        320      320

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Chess: Move A4 to A5

Please do not change the title. Just click "Submit new issue". You don't need to do anything else :D

Chess: Move A4 to A5


Force removal of default page attributes metabox

@marcincichon Can you review? Thanks

@marcincichon As agreed with JL, under the circumstances am self-reviewing. Merging/closing this PR


boolean check doesn't work in the latest puppet

In order to get the module working in puppet 5.5, I had to change the checks to:
-    if @resource[:force] == :true
+    if @resource[:force] == true
       options << "-f"
     end

-    if @resource[:test] == :false
+    if @resource[:test] == false
       options << "-n"
     end

Not sure what the best way to fix it in a backward compatible manner would be - perhaps just if @resource[:force] == :true || @resource[:force] == true?

Version 0.9.11 pushed with this fix.


RepertoireGroup updates for v2.0, take two

Replaces #748
Closes #578
So far: just some docs updates...

I went very simple with the filters and just linked the docs page to what you have written for the API. If it looks ok, I will copy to the other files.

@scharch Are the filters only suppose to apply to rearrangements? Or are you expecting that it can be specified using a typed-key like in the example?

@scharch Are the filters only suppose to apply to rearrangements? Or are you expecting that it can be specified using a typed-key like in the example?

The latter. Does that need to be in the schema explicitly?

@scharch Are the filters only suppose to apply to rearrangements? Or are you expecting that it can be specified using a typed-key like in the example?

The latter. Does that need to be in the schema explicitly?

It doesn't need to be but I think it would make it more clear, as it's not obvious that should be done based upon the doc blurb. It would also make it more explicit what AIRR objects can be filtered. Thinking about it, using Repertoire: seems reasonable at the group level, but then that conflicts with the repertoires array...

From the call:

This might be stale.
Need to review.

Here is an example of what we should be able to do - I will revisit.
https://github.com/airr-community/airr-standards/issues/578#issuecomment-1962158840


Cyrillic name extensions?

In the AGD some letters have a "cyrillic" in the name, but not all. Is there a logic?

All cyrillic names have a cyr extension as folks are used to them and only marking the ones with conflicts is not practical.


Add support for multistage builds

Given a Dockerfile with multiple stages, docker-qemu-transpose only copies qemu once, in the first stage. Subsequent stages fail supposedly due to qemu not being there.

https://github.com/resin-io/resin-cli/issues/814

Fixed in #15.


issues-1248: ArtifactManagementServiceImplTest.testConcurrentReadWrite

Fixes #1248

resource lock fixed within RepositoryInputStream/RepositoryInputStream with LazyInputStream/LazyOutputStream
concurrent tests logic improved

LGTM, with minor comments.
Would you mind rebasing? Thanks! :)

Would you mind rebasing? Thanks! :)

@carlspring done

Thanks a lot, Sergey! :)


TypeError: spawn is not a function

Node version (or tell us if you're using electron or some other framework):
Node Version: v8.11.2
ShellJS version (the most recent version/Github branch you see the bug on):
0.8.2
Operating system:
Mac OS High Sierra
Description of the bug:
I am trying to run a test.sh file that prints "hello world" through my react app using shelljs.
This line: const ls = spawn('ls', ['-lh', '/usr']); is throwing a Type Error: spawn is not a function
Example ShellJS command to reproduce the error:
const { spawn } = require('child_process');
const ls = spawn('ls', ['-lh', '/usr']);
const child_process = require('child_process');
const { exec } = child_process.exec;
exec('./test.sh', (err, stdout, stderr) => {
if (err) {
return;
}
// the entire stdout and stderr (buffered)
console.log(stdout: ${stdout});
console.log(stderr: ${stderr});
});

Your example code never uses shelljs. We do not maintain the child_process module.

I assume this was filed by mistake, but let me know if I've misunderstood.


Added Binary Search

This is the python program of Binary Search.
Time complexity: BEST CASE: O(1), if the element is present in the middle

Works, make sure you star the repository for the confirmation and check out this discussion, thanks.


error: the name csv conflicts with an external crate

Hi there
Cloning the repo and running cargo build result on a bunch of downloading and compiling but ends up with the following error for me:
   Compiling osm4routing v0.1.0 (file:///home/juliencoupey/Documents/repos/osm4routing2)
src/osm4routing/writers.rs:6:1: 41:2 error: the name `csv` conflicts with an external crate that has been imported into this module [E0260]
src/osm4routing/writers.rs: 6 pub fn csv(nodes: Vec<Node>, edges: Vec<Edge>) {
src/osm4routing/writers.rs: 7     let edges_path = std::path::Path::new("edges.csv");
src/osm4routing/writers.rs: 8     let mut edges_csv = csv::Writer::from_file(edges_path).unwrap();
src/osm4routing/writers.rs: 9     edges_csv.encode(vec!["id",
src/osm4routing/writers.rs:10                      "source",
src/osm4routing/writers.rs:11                      "target",
                              ...
src/osm4routing/writers.rs:6:1: 41:2 help: run `rustc --explain E0260` to see a detailed explanation
error: aborting due to previous error
Could not compile `osm4routing`.

The suggested  rustc --explain E0260 command is quite explicit about the name conflict.

Solved by using version 1.13.0 as suggested in #5.


How do I use agree-score and disagree?

Thank you for sharing this excellent project. What is the purpose of the agreed -score and disagree?

We use w = log2[m/u] as comparison weight for each column mapping in the Fellegi Sunter model.
Refer:
https://courses.cs.washington.edu/courses/cse590q/04au/papers/Felligi69.pdf
https://courses.cs.washington.edu/courses/cse590q/04au/papers/WinklerEM.pdf


Somewhat refs #90: fixed a syntax error; also used asyncio

fixed a natsy syntax error (for loop should go inside 'if' body) in grounding_utils.py, line66;
also used asyncio (event loop, async function);

Closes #101, closes #90.

Hi Igor, I pulled down these changes with
git checkout -b IgorRodchenkov-master master
git pull https://github.com/IgorRodchenkov/saber.git master

and then ran the web app with
python -m saber.cli.app

which works fine if {"ground": false} in the JSON payload, but if {"ground": true} I get
Internal Server Error

The server encountered an unexpected internal server error

(generated by waitress)

Looking at saber.log, I see:
waitress - ERROR - Exception when serving /annotate/text
Traceback (most recent call last):
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/waitress/channel.py", line 338, in service
    task.service()
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/waitress/task.py", line 169, in service
    self.execute()
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/waitress/task.py", line 399, in execute
    app_iter = self.channel.server.application(env, start_response)
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/flask/app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/johngiorgi/Documents/Masters/Class/natural_language_computing/project/saber/saber/cli/app.py", line 37, in annotate_text
    ground=parsed_request_json['ground'])
  File "/Users/johngiorgi/Documents/Masters/Class/natural_language_computing/project/saber/saber/cli/app.py", line 77, in predict
    annotations.append(MODELS[ent].annotate(text, coref=coref, ground=ground))
  File "/Users/johngiorgi/Documents/Masters/Class/natural_language_computing/project/saber/saber/saber.py", line 112, in annotate
    annotation = grounding_utils.ground(annotation)
  File "/Users/johngiorgi/Documents/Masters/Class/natural_language_computing/project/saber/saber/utils/grounding_utils.py", line 88, in ground
    loop = asyncio.get_event_loop()
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/asyncio/events.py", line 694, in get_event_loop
    return get_event_loop_policy().get_event_loop()
  File "/Users/johngiorgi/miniconda3/envs/saber/lib/python3.6/asyncio/events.py", line 602, in get_event_loop
    % threading.current_thread().name)
RuntimeError: There is no current event loop in thread 'waitress'.


What attributes to keep?

gsw keeps attributes from the function parameters. What attributes should be kept, and what should be removed?
As a short list, I think that:

long_name should be removed by default, and maybe replaced by something for the non cf-compliant quantities?
units should be removed by default, and replaced by the proper value if it exists
standard_name should be removed by default, and replaced by the proper value if it exists

This means a little refactoring of the wrapping, but probably not too hard work.
I am working on PR #20 to implement all functions, I'll keep the way I do for the moment and I'll replace what is needed depending on what we decide here.

My thoughts so far:

These functions always return "new" DataArrays, so we should just entirely control/replace the value of the attributes and not worry about retaining the ones from the input (by default the attrs of the first argument are carried forward). There could be things like valid_range, comments, other user specific things that just won't apply to the result of the gsw functions.
If we will wrap all the functions, then I think units will always be known even if a suitable standard name doesn't exist. For explicitly unitless values (e.g. practical salinity) we should use the unit of "1"
standard_name should not be present unless we put a value there.
Not CF, but in OceanSITES (and IIRC argo), they will add a reference_scale attribute to temperature and practical salinity with the values of "ITS-90" and "PSS-78" since the units must be respectively degC and unitless.

About the reference_scale, I don't think that we necessary need to constraint to CF, if it is a common attribute we can add it.

In some play around tests, I found that the name of the returned xr.DataArray retains the "name" attribute (the class instance attribute, not the attrs dict). We should probably replace that with something relevant. Perhaps the GSW name (e.g. the return from SA_from_SP would be a xr.DataArray with the name "SA")
The following is the current behavior using our testing example dataset:
>>> da = gsw.sigma0(SA=ds.SA, CT=ds.CT)
>>> da
<xarray.DataArray 'SA' (id: 3)>
array([27.17191038, 26.12820162, 24.03930887])
Coordinates:
  * id       (id) int64 0 1 2
Attributes:
    standard_name:  sea_water_sigma_t
    units:          kg m-3
>>> da.name
'SA'

This is indeed a problem... I'll add it along with the ideas of PR #22  it this suits implementation suits you


WIP: Fix extra tile usage

Should fix #4180
Added a new viewprereset map event, run before the viewreset event.
So the sequence for when fadeAnimation is false is: unload tiles on viewprereset, then move the map to the proper viewport, then load tiles on viewreset. This makes PhantomJS a viable option for unit-testing tile loading counts.
Unit tests in graphical browers do fail as of now, though.

Added a new viewprereset map event, run before the viewreset event.

That's just asking for double brainmelt in future. :)

That's just asking for double brainmelt in future. :)

@mourner Actually, I don't think so. Layers should clear everything up on viewprereset, then add everything back again in viewreset. Makes sense.
God, I want leafdoc merged in so I can document these kind of things inline right away.

I want leafdoc merged in so I can document these kind of things inline right away.

Why are we not there yet?

I think this PR introduces some kind of race condition on flyTo animations that makes tiles to not be pruned when switching levels, likely due to https://github.com/Leaflet/Leaflet/pull/4193/files#diff-f1e6be67599c594731fff6191c710420L655 - must find a way to trigger a pruning once in a while.

Some debugging on tile-events.html:

The load count for TileLayers is not reflecting the actual Img requests from the browser tools. In my case: grid = 20, postiron = 40, img requests = 20
It is happening when grid is added to map. If map.addLayer(grid); is commented out the values are almost correct (see point 3.)
tileloadstart does not fire for initial loading of tileLayer. Adding setTimeout to gridLayer fixes tileLayer.

   setTimeout(function(){
            this.fire('tileloadstart', {
                tile: tile,
                coords: coords
            });
        }.bind(this));

#4145 also OK with this one:
http://jsbin.com/ratoli/9/edit?html,js,output


Updated extensions WebHook route to match admin controller.

@kashimiz,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


Replace implementation class with PagedResponse

Removes: RestPagedResponseImpl and updates the swagger method definitions to use PagedResponse
Replaced implementation Page<T> with ConfigurationSettingPage because the service team's pagination story does not use the typical "nextLink" JSON property, but rather "@nextLink".
Rearranged the list methods to the bottom of ApplicationConfigurationService class.

Can one of the admins verify this patch?

@g2vinay You should do similar in Key Vault.


Unable to test end to end configuration options

Code that glues ClientSettings to the ClientContext is generated by gapic generator making it difficult to test that configuration options make it to the transport layer.
Can we generate a test client where we can mock out the transport for testing purposes?

Can we run gapic-generator on showcase within this repo so we can test against the showcase client?

@chingor13 Could you please provide more detail, ideally with a client lib such as dataproc so we can go over concrete examples? This would help us better understand where the codegen gap lies, and the motivating use case.
Note that we will likely skip adding this to gapic-generator, and just add it directly to gapic-generator-java as the Gapic class generation logic will be coming soon.

@summer-ji-eng is adding a feature to override the quotaProjectId (x-goog-user-project) header. Within this repo, we can test that the builders are building the settings object (using FakeClientSettings). However, there is no FakeClient so we cannot instantiate a client and provide a testing Transport to ensure that the ClientContext is respecting the options we're configuring (and in the correct order).
Ideally, we can have these tests live in the gax repo as it's really testing gax, but it needs a generated client.


Save one network query when video not age restricted

Hi,
I think here we have a small but free optimization; we can shave off GETing the embed HTML if the video is not age restricted.
Does it make sense?

hi @nficano reminder about this

Issue seems to be fixed already -- please re-open if this isn't the case :)


derive(AsRef) with generic boundaries is not  compiling

The following should work:
#[nutype(
    sanitize(with = |mut v| { v.sort(); v }),
    validate(predicate = |vec| !vec.is_empty()),
    derive(Debug, PartialEq, AsRef),
)]
struct SortedNotEmptyVec<T: Ord>(Vec<T>);

Fixed in https://github.com/greyblake/nutype/pull/158


how to mount two sub app with its own static files?

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles

app = FastAPI()
subapp1= FastAPI()
subapp2 = FastAPI()

app.mount("/subapp1", subapp1)
app.mount("/subapp2", subapp2)

subapp1.mount(
    "/assets",
    StaticFiles(directory="app/subapp1/frontend/dist/assets"),
)
subapp2.mount(
    "/assets",
    StaticFiles(directory="app/subapp2/frontend/dist/assets"),
)

@subapp1.get("/")
async def subapp1():
    return FileResponse("app/subapp1/frontend/dist/index.html")
@subapp2.get("/")
async def subapp2():
    return FileResponse("app/subapp2/frontend/dist/index.html")

if __name__ == "__main__":
    import uvicorn
    uvicorn.run("main:app", host="<IP_ADDRESS>", port=8080, reload=True)

Description
when calling "http://localhost:8080/subapp1/" and "http://localhost:8080/subapp2/"
only subapp1 success, but subapp2 failed with static files 404
Operating System
Windows
Operating System Details
No response
FastAPI Version
0.88.0
Python Version
3.10.2
Additional Context
No response

i have solve this problem, its a matter of the frontend


bug: Submenu Display is not correct on Firefox and Safari

What version of daisyUI are you using?
4.4.19
Which browsers are you seeing the problem on?
Safari, Safari iOS, Firefox
Reproduction URL
https://sigcomm24-nextjs.vercel.app/sigcomm/2024
Describe your issue
The submenu cannot display correctly on Safari and Firefox

Hi again. The issue persists. Please see https://github.com/saadeghi/daisyui/issues/2862#issuecomment-2129310356 with additional information and minimal code to reproduce the issue.


Fix folder credential usage

This allows for folder credentials to be used, additionally to the current global ones. Tested it with both freestyle and pipeline (workflow) jobs, as well as the freestyle configuration dialog.
Should address #500 .

Pipeline syntax can't find credentials in a folder currently
Url something like:
http://<IP_ADDRESS>:8070/jenkins/job/folder/job/folder-pipeline/pipeline-syntax/

I've pushed a commit to fix it

Fwiw, whatever you did here resulted in totally unhelpful debugging.
The global config UI has a nice test button, and that apparently is happy w/ system scoped credentials, but the pipeline editor ui isn't happy w/ system scoped credentials.
This, amongst other things, resulted in significant confusion and pain when debugging.

Unfortunately that's how jenkins works =/
The credentials are scoped to the nearest Item or if none then the Jenkins system scope.
I'm not sure if there's a way to stop system credentials working in the global test configuration


[Explicit Module Builds] Get source locations from the dependency scanner and emit diagnostics with them

Adopt new libSwiftScan API to get source location for each emitted diagnostic: buffer identifier, line number, column number.
This change uses functionality added in: https://github.com/apple/swift/pull/73600

@swift-ci test


Adjust Final Stats To Include Number of Blocked IPs

The count of blacklist entries displayed at the end of a "build" run should include a final tally of the total number of IP addresses being blocked. The total should be a count of each blacklist IP address, plus the sum of the number of IP addresses covered by each blacklist subnet. When calculating the number of useable hosts in each subnet, make sure to remove the network and broadcast addresses:
total_ips = subnet.num_hosts - 2

Additionally, clean up the final stats so that they look something like this:
             Final Stats
┌─────────────────────┬────────────┐
│           Benchmark │      Value │
├─────────────────────┼────────────┤
│    Target Countries │      AB,CD │
│     IPs - ipsum.txt │     17,000 │
│ Subnets - ipsum.txt │        991 │
│        IPs - custom │         82 │
│    Subnets - custom │        484 │
│ Total entries saved │     18,557 │
│   Total IPs blocked │ 23,000,345 │
└─────────────────────┴────────────┘

It's not practical to calculate the total IPs blocked for IPv6 addresses. The numbers are too huge.


Chocolatey - Latest version not available

Description
Despite v<IP_ADDRESS> being out for a couple of days, chocolatey is still showing <IP_ADDRESS> as the latest version.
> choco upgrade devtoys

Chocolatey v0.12.1
Upgrading the following packages:
devtoys
By upgrading, you accept licenses for the packages.
DevToys v<IP_ADDRESS> is the latest version available based on your source(s).

Chocolatey upgraded 0/1 packages.

Steps To Reproduce
Open powershell / cmd prompt
Run choco upgrade devtoys
Expected behavior
Version <IP_ADDRESS> is installed
DevToys Version
<IP_ADDRESS>
Relevant Assets/Logs
N/A

Hello,
Thanks for this feedback. We did push the version <IP_ADDRESS> to Chocolatey, but it's not approved yet by the moderators.
https://community.chocolatey.org/packages/devtoys/<IP_ADDRESS>
Hopefully it will be available in the next few hours / days.

Install failed for mine just now, depends on "microsoft.ui.xaml.2.6" which could not be found, ect. winget worked just fine although the version was listed as unknown.

Hello @thomhurst , the last version (<IP_ADDRESS>) is now listed on Chocolatey :)


FINOS : "Kevin Barresi" user entry is missing under APPROVED CONTRIBUTORS list for "Fintech Studios" organization at FINOS project

Steps :

Navigate to Signature tab : https://projectadmin.lfx.linuxfoundation.org/project/a092M00001JwBlEQAV/tools/easycla/overview/5564f18f-3252-40fc-a65b-2eef1ad45fcd/signatures
Open Signed CCLAs tab
Search Organization "Fintech Studios"
Click on View All Approved Contributors

Actual

Expected :

@thakurveerendras Kindly review

"Kevin Barresi" user entry is still missing


Fix return types of DateTimeImmutable methods

Change the return types of several methods of the DateTimeImmutable class. Most of these methods currently use static as return type hint, which does not work well when chaining several method calls on a DateTimeImmultable instance.
In case this PR is indeed the proper way to fix this problem, then the same fix could be applied to the DateTime class. It displays the same problem. I can extend the PR if desired.

Could you please provide example code with the problem you're trying to fix? It looks like some PhpStorm side bug to me… static should work as expected even when chaining several methods calls on a DateTimeImmultable instance.

You appear to be right, this looks like a PHPStorm bug. I tried to isolate the problem but did not manage to do so. Whatever the problem is, replacing static with DateTimeImmutable in the stub works around it.
Should I close this PR?

@dtakken Please provide the problem once you'll figure it out. It's better to fix it in PhpStorm than change all static to exact types.


bindings/rust: resolve 'cargo clippy' nits.

@kirk-baird, @paulhauner, could you double-check this?

Yep they're all good solutions for the clippy hints :)

Thanks! Merged.


Self-hosted redis?

Hello, I was wondering if I could use a self-hosted redis instance?
Also, is the upstash default pay as you go pricing also applies to rate limit, so 0.2$ per 100k commands?
So for example using the slidingWindow algorithm, it would use 4 commands per limit check? I'm afraid in that case the costs would skyrocket, am I missing something?

Hey,
unfortunately our redis service is not available for self hosting.
Rate limiting does not add any extra cost, but you pay for the underlying database.
How much traffic do you forsee? Generally the feedback we received is it's very cheap even for larger projects. Can you share a little more about your work?

Thanks for the fast answer @chronark.
We hit multiple APIs where we have a per request cost, besides they have their own rate limits. We don't have specific burst but aim to have a constant 500 maybe scaling to 2000 rps. We should be able to handle that load on very small redis instances maybe for less than 20$/mo after some tests but were considering a more future proof scalable solution.
Correct me if I am wrong but migrating our load to upstash, let's say for 1000 rps would be approximatly 2b requests per month, would cost around 4000$ using your service? And 16000$ if we'd actually use the slidingWindow algorithm (well it would be more as we use redis for more than rate-limit).
Also could you clarify the following please?

Rate limiting does not add any extra cost

The pay as you go plan is nice to get started but for higher loads we offer fixed cost plans as well.
you can go to the PRO tier for a fixed price of $280 per month and handles 2k rps. see here
Like I said, using the @upstash/ratelimit library does not add any cost by itself to your upstash bill. It does however make requests to your database which you will be charged for.

There's also an open source wrapper for redis with upstash compatible rest api.
That way you can use @upstash/ratelimit with your own redis db
https://github.com/mna/upstashdis


Feature request: Detailed example of ECSTask usage

It would be nice to have a detailed example of ECSTask as well as supporting documentation and AWS account setup

I'll tag the contrib/ecs.py contributors here to see if anyone can help you out:
@vanhove  @daveFNbuck  @dfeldstarsky

Hmm not a bad idea - unfortunately we're working off a fork of ECS task at my company that we're getting up to snuff to get back into luigi atm. We'll make a note to get better ECS task usage examples in if we can as well. We ran into difficulties very early on with getting ECS permissions all set up, but it was ECS problems, not luigi issues.

Still an issue.
On Wed, Jul 31, 2019, 11:18 AM stale[bot]<EMAIL_ADDRESS>wrote:

This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. If
closed, you may revisit when your time allows and reopen! Thank you for
your contributions.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spotify/luigi/issues/2677?email_source=notifications&email_token=AALHBM25B336AC2MMVSTPE3QCHJPJA5CNFSM4G7MPLX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3IDTEA#issuecomment-516962704,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALHBM3MV72ZH3LLEJXWF5DQCHJPJANCNFSM4G7MPLXQ
.

@dfeldstarsky any chance you could share the fork you have?


[BUG] stdout.terminalColumns causes StdoutException

Before creating a bug report please make check the following

[x] You have read our FAQ
[x] If you have used flutter. Please install correctly, run pub cache repair. Close the terminal and try again.
[x] If you are on Windows. Make sure you are running the terminal as administrator or with developer permissions.
[x] Run fvm doctor if possible and add the output to the issue.

Describe the bug
Running my cli app results in an error from dartio. It runs fine if I don't use fvm.
I get the width of the terminal to make help output friendlier. The offending line is:
int get usageLineLength => min(stdout.terminalColumns, 90);
The error begins:
Unhandled exception:
StdoutException: Could not get terminal size, OS Error: The handle is invalid.
, errno = 6
#0      Stdout._terminalSize (dart:io-patch/stdio_patch.dart:172:7)
#1      Stdout._terminalColumns (dart:io-patch/stdio_patch.dart:165:35)
#2      Stdout.terminalColumns (dart:io/stdio.dart:228:30)
...

To Reproduce
Steps to reproduce the behavior:

Go to terminal..
Run fvm dart run .\bin\my_script.dart -h
See error

Expected behavior
My script should run (show help in this case).
Running without fvm works fine:
dart run .\bin\my_script.dart -h
Logs
> fvm --verbose dart run .\bin\my_script.dart -h
[     0.004s] Version: 3.3.10 - already installed.
[     0.014s] Link is setup correctly
[     0.015s] fvm: running Dart from Flutter "3.3.10"

Unhandled exception:
StdoutException: Could not get terminal size, OS Error: The handle is invalid.
, errno = 6
#0      Stdout._terminalSize (dart:io-patch/stdio_patch.dart:172:7)
#1      Stdout._terminalColumns (dart:io-patch/stdio_patch.dart:165:35)
#2      Stdout.terminalColumns (dart:io/stdio.dart:228:30)
...

Desktop (please complete the following information):

OS: Windows 11 Pro 22621.1413
FVM Version: 2.4.1
If Windows: Which Powershell are you using?: PowerShell 7.3.2

Additional context
> fvm doctor

FVM Version: 2.4.1
___________________________________________________

FVM config found:
___________________________________________________

Project: my_project
Directory: C:\Users\...\my_project
Version: 3.3.10
Project Flavor: None selected
___________________________________________________

Version is currently cached locally.

Cache Path: C:\Users\...\fvm\versions\3.3.10
Channel: false
SDK Version: 3.3.10

IDE Links
VSCode: .fvm/flutter_sdk
Android Studio: C:\Users\...\my_project\.fvm\flutter_sdk

Configured env paths:
___________________________________________________

Flutter:
C:\Users\...\flutter\bin\flutter.bat

Dart:
C:\Users\...\flutter\bin\dart.bat

FVM_HOME:
not set

@jibbers42 can you confirm the version configured in your path is 3.3.10 also?

@jibbers42 can you confirm the version configured in your path is 3.3.10 also?

It used to be and I just now switched it back to test and be sure - same issue...
> flutter --version
Flutter 3.3.10 • channel unknown • unknown source
Framework • revision 135454af32 (4 months ago) • 2022-12-15 07:36:55 -0800
Engine • revision 3316dd8728
Tools • Dart 2.18.6 • DevTools 2.15.0

> fvm flutter --version
Flutter 3.3.10 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 135454af32 (4 months ago) • 2022-12-15 07:36:55 -0800
Engine • revision 3316dd8728
Tools • Dart 2.18.6 • DevTools 2.15.0

@jibbers42 the only thing I can think of is that the Dart version is different when you are running with FVM, can you run fvm dart --version and  dart --version within the project that has your script?

> dart --version
Dart SDK version: 2.18.6 (stable) (Tue Dec 13 21:15:14 2022 +0000) on "windows_x64"

> fvm dart --version
Dart SDK version: 2.18.6 (stable) (Tue Dec 13 21:15:14 2022 +0000) on "windows_x64"

I didn't save the links because I wasn't confident it was related (maybe they were issues here or in other projects), but when originally searching for answers I got the impression that the work to switch how the process is launched, spawn vs start, might fix it. I'm not sure if that switch is actually happening or if it would fix it, just mentioning it in case it helps.

@jibbers42 does your CLI call dart, or flutter through a separate process?

I'd guess it's a pretty standard Windows setup
Windows Terminal
Version: 1.16.10262.0

> pwsh --version
PowerShell 7.3.3

I was referring to however fvm runs dart and a change like #508. I'm trying to find whatever resource led me to think that might make a difference, but my google-fu is failing at the moment.

@jibbers42 #508 has not been merged. Also, my question was in regard to what is your CLI doing. Because if your CLI starts a new process  using a process manager, that could also be causing an issue due to the compatibility problem. But it might be tough to troubleshoot without knowing what the script is doing.

Oops, I read "CLI" as "terminal" and didn't really understand the question...
I had a look and the -h help path for fvm dart run .\bin\my_script.dart -h pretty much just creates a CommandRunner from args and shows the help.
I'll try to create a minimal repro project...

script.dart
import 'dart:io';

void main() {
  print('stdout.terminalColumns: ${stdout.terminalColumns}');
}

I tested this script stand-alone - I didn't create a flutter project to set fvm to a specific version. Let me know if you'd like me to do those things...
> dart --version
Dart SDK version: 2.18.6 (stable) (Tue Dec 13 21:15:14 2022 +0000) on "windows_x64"

> fvm dart --version
Dart SDK version: 2.18.6 (stable) (Tue Dec 13 21:15:14 2022 +0000) on "windows_x64"

> dart run .\script.dart
stdout.terminalColumns: 132

> fvm dart run .\script.dart
Unhandled exception:
StdoutException: Could not get terminal size, OS Error: The handle is invalid.
, errno = 6
#0      Stdout._terminalSize (dart:io-patch/stdio_patch.dart:172:7)
#1      Stdout._terminalColumns (dart:io-patch/stdio_patch.dart:165:35)
#2      Stdout.terminalColumns (dart:io/stdio.dart:228:30)
#3      main (file:///C:/Users/.../script.dart:4:43)
#4      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#5      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)

If I understand correctly, that would be a shell alias, so perhaps use Set-Alias for powershell?
Is there a solution that can follow the flutter project to different users and machines and not introduce another way to run the script beyond fvm dart ...? I guess I'd like to make a feature request to enable that, but I"m not sure what the request would actually be or if it's even possible.

For now, I'll just use the whole relative path to the direct sdk in the readme examples...
Thanks for the help!

Closing as 3.0 has been released. Check again and reopen the issue if needed.


Resolve warnings for latest nightly

The crate now compiles without warnings again. For the most part, this deals with num::Int et al. being deprecated.

Builds without warnings sometimes trigger the timeout on travis (10mn without any output on stdout).

That is unfortunate, but I don’t think not resolving warnings is the right solution. We could add a #[feature(supercalifragilisticexpialidocious)] somewhere to deliberately generate a non-existing feature warning, but I am not sure whether that would break the silence at the right moment.


Update testcontainers-scala to 0.38.5

Updates com.dimafeng:testcontainers-scala from 0.38.4 to 0.38.5.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.dimafeng", artifactId = "testcontainers-scala" } ]

labels: test-library-update, semver-patch

Codecov Report

Merging #143 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #143   +/-   ##
=======================================
  Coverage   57.83%   57.83%
=======================================
  Files          20       20
  Lines         287      287
  Branches        4        4
=======================================
  Hits          166      166
  Misses        121      121

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 9bbc5a3...c57079e. Read the comment docs.


resource cloudflare_access_application doesn't include type private_ip

Current Terraform and Cloudflare provider version
tf 1.2.4
provider 4.22.0
Description
the resource doesn't include the type
i imported the resource using the documentation, but it seems the provider doesn't support it
Use cases
applications based on tcp
Potential Terraform configuration
resource "cloudflare_access_application" "routing_app" {
name                      = "x"
type                      = "private_ip"
}
References
No response

duplicate of #1974 and #2995


does Proxy-Authentication header can only be sent when sending request wth CURL?

Hello,
I'm doing follow https://github.com/chobits/ngx_http_proxy_connect_module/issues/42#issuecomment-502985437 to authenticate for requests using Lua.
It works fine when I send request using CURL
curl https://ipinfo.io/json -x localhost:3318  --proxy-user hello:world
I can get Proxy-Authentication header from above request (using ngx.var.http_proxy_authorization)
But when I use browser's extensions such as FoxyProxy, SwitchyOmega. I can't get the Proxy-Authentication header anymore for both http and https requests. It seems like it wasn't sending by the proxy extension or something else.
Please help me to clarify this.

You may need to figure out whether or how browser's extensions such as SwitchyOmega  handles the “HTTP Basic Authentication” protocol, which is beyond my experience. Or maybe it does not support, see here: https://github.com/FelisCatus/SwitchyOmega/issues/1472#issuecomment-396011929
In this https://github.com/chobits/ngx_http_proxy_connect_module/issues/42#issuecomment-502985437, we already knew how client ( curl or proxytunnel ) handled auth basic protocol, so we could resolve it easily.

Oh I see. Thank you for pointing this out.


Update OpenVINO quickstart

[X] The commits are squashed in a cohesive manner and have meaningful messages.
[X] For commits that came from upstream, [UPSTREAM] has been prepended to the commit message
[X] JIRA link(s): https://issues.redhat.com/browse/RHODS-1899
[X] The Jira story is acked
[ ] An entry has been added to the latest build document in Build Announcements Folder.
[X] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious)

I'm not sure that level of detail is required in that specific area, those would be the steps for enabling it from the operator, but that section is "Important Considerations" not really instructions for enabling from the operator panel, which may require administrator intervention
Idk, docs team care to weigh in on best approach?

@laubai any thoughts?

Looks good, @jeff-phillips-18! My only worry is whether a "large" container size is set up by default, as I can never get this to work in my test environment.

Some of their notebooks require more resources than the default allocations (notably the OCR one)

LGTM, @taneem-ibrahim ?


How can i use  custom nbts in trades?

Describe the feature you have in mind.
Something like this does not work:
"sells": {
          "item": "paper[custom_name='["",{"text":"1231312","italic":false,"color":"aqua","bold":true}]']",
          "count": 1

Does this solve a particular problem?
No response

or sth like this
custom_data={mytag:10}

mb, u have example @PssbleTrngle ?


feat(RingTheory/StandardSmooth): meta properties of standard smooth ring homomorphisms

In particular we show that being standard smooth is stable under composition and base change.
This contribution was created as part of the AIM workshop "Formalizing algebraic geometry"
in June 2024.

[x] depends on: #16727
[x] depends on: #16827
[x] depends on: #16853
[x] depends on: #16869

Thanks!
maintainer merge

This is waiting for a refactor of algebraize. Let's just get this merged, and refactor/cleanup once algebraize is more powerful.
maintainer merge

bors merge


[GSSoC'23] World clock GUI App

Aim

What is the objective of the Script
I would like to create a world clock GUI application using PYTHON script, which tell the time of different places of the world.

Details

What the features will your script have

Best user interface of GUI app
Adding all the places of the globe
Showing time to the user of the selected place instantly

Do I want to work on this:

[x]  Yes

@avinashkranjan @vanshitaverma @omazoz please assign this project to me

@avinashkranjan @vanshitaverma @omazoz sir, i have raised this issue last week please assign this project to create pr under GSSoC'23

No use of Such Scripts in this Repo.


Minimum Body Length for Body Tracking

What is the minimum body length that can be tracked?  It would be nice to be able to track the body of infants (3-9 months) for various research purposes.  I believe the predecessors had a minimum length of 1 meter.  Can that be brought down to 2 feet or 0.6 meters?

Hi @guzza100. That's interesting, can you give any background on the nature of your scenario that requires skeletal tracking for infants? e.g. are they lying on the floor, how they are moving, and where is the camera positioned? The tracking quality is not only about the size of the body but also these other variables. Thanks

Hello @tobysharp-msft .  Sure.  We are looking at tracking infant motions from overhead while they are lying on their back.  We are specifically looking at tracking their kicking motions.  Infant kicking motions can help with early detection of certain disabilities like cerebral palsy.
I did a quick test with a NAO robot (about 2 feet tall) and the sensor could pick up the joints while the NAO laid still on its back.  However, it seemed to lose track when the robot raises its leg.

@tobysharp-msft Another possibility is placing sensors on the floor and detecting the infant from the left and right side (if body tracking can work at this viewpoint).

@guzza100 we would like to get a recording that demonstrates the problems you are reporting. We require a signed data release agreement along with the recording. Could you provide me with contact details so I can provide you both the agreement and upload instructions?

Hello, I tried to use Azure Kinect Body Tracking SDK to capture some small babies (0.5 - 1 year old, none of them can't stand yet), tried many positions and many distances from camera, but k4abt library never saw any human body to show (output data empty). Does microsoft know about any use case of Azure Kinect DK to capture small babies? Is there any option better than coding new Body Tracking Library that supports small babies from scratch?
I can go and record an MKV file of a small baby or babies (with agreement) that demonstrate the problem discussed here if @guzza100 not provided any data yet? Is this still actual?

@rejnok93 This is expected. The proportions of a human are very different to adults. Results for AKDK body tracking are unreliable for humans under 7 years old. We looked in the past at retraining the model for infants (as there are a small number of interesting infant applications). Unfortunately getting the necessary data is difficult and the ROI is poor.

I was able to get some skeletal tracking on infants between 3 and 6 months.  The key seemed to be putting them in a onesie with colors that had noticeable color contrast with the mat they were laying on.  Give that a try if you haven't already.
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: qm13 @.>
Sent: Tuesday, September 13, 2022 6:18:27 PM
To: microsoft/Azure-Kinect-Sensor-SDK @.>
Cc: guzza100 @.>; Mention @.>
Subject: Re: [microsoft/Azure-Kinect-Sensor-SDK] Minimum Body Length for Body Tracking (#809)
@rejnok93https://github.com/rejnok93 This is expected. The proportions of a human are very different to adults. Results for AKDK body tracking are unreliable for humans under 7 years old. We looked in the past at retraining the model for infants (as there are a small number of interesting infant applications). Unfortunately getting the necessary data is difficult and the ROI is poor.
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/809#issuecomment-1245711406, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAXZJDNIL7KSEZX4UG3M7V3V6CZOHANCNFSM4I4N4NFQ.
You are receiving this because you were mentioned.Message ID: @.***>

Hello, I'm working on a similar project involving the tracking of infant movements, specifically between the ages of 3-9 months, and I've noticed some challenges with the Azure Kinect SDK. Unfortunately,  our initial testing with the SDK with Azure Kinect could not detect the infant at all except when we zoomed the camera toward the infant hiding the leg. We plan to capture the interaction of infants with body tracking information. Is there an option to capture only upper body disregarding the lower body, hoping that would improve the detection?
Additionally,  I have access to a sample dataset of infant interactions and I'm considering training my own model to improve tracking. Can you provide any guidance or best practices for this process? Specifically, I'm curious to know whether any changes have been made to the SDK since this issue was closed that could impact tracking of smaller bodies such as infants? Also, are there any specific data requirements or considerations I should keep in mind when creating the dataset for training the model?


nixfmt-rfc-style: unstable-2024-07-03 -> unstable-2024-07-12

Description of changes
Notably includes https://github.com/NixOS/nixfmt/pull/219 and https://github.com/NixOS/nixfmt/pull/220. This is needed for https://github.com/NixOS/nixpkgs/pull/322537.
Ping @NixOS/nix-formatting
Things done

[x] Built on x86_64-linux and tested the binary

Add a :+1: reaction to pull requests you find important.

I'm pretty sure this is suitable for backporting, since this is just bug fixes.


[cdc] Clean up cdc errors due to waiver path change

This PR cleans up CDC waivers:
1). Fanout index change.
2). CDC prim_sync_reqack module adding a layer "gen_rz_hs_protocol".

thank you both for the detailed review.


Size hint is not honored if set to zero

Software Versions

Python: 3.7.9
OS: Windows 10 Version 1909 (Build 18363.1256)
Kivy: 2.0.0
Kivy installation method: pip (pip install kivy)

Describe the bug
The size_hint seems to not be honored/used if it is set to 0. Only if it is the second widget inside its parent.
Expected behavior
The expected behavior of setting (for example) size_hint_x to 0 is that the width should equal zero at all times.
To Reproduce
Set any size_hint attribute to zero.
Code and Logs and screenshots
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout

Builder.load_string("""
<TestPage>:
    BoxLayout:
        id: test_box
        size_hint_x: 0
        canvas:
            Color:
                rgba: (1,0,0,1)
            Rectangle:
                pos: self.pos
                size: self.size
    BoxLayout:
        id: test_box_two
        size_hint_x: 1
        canvas:
            Color:
                rgba: (0,0,1,1)
            Rectangle:
                pos: self.pos
                size: self.size
""")

class TestPage(BoxLayout):
    pass

if __name__ == '__main__':
    from kivy.app import App

    class TestPageApp(App):
        def build(self):
            return TestPage()

    TestPageApp().run()

Additional context
The code above should result in a blue filled screen, instead it shows a red rectangle with the default size/width (of 100) and a blue rectangle filling up all additional space.
This was reproducible on all of my machines (including a Raspberry PI 4 running the latest Debian and a virtual machine running Ubuntu)

A size of hint of zero means the worst of both worlds and should never really be used.
When setting size hint to None, we set aside enough space for the widget's width and use the size hint to layout out the remaining widgets. When size hint is zero, we don't set any space for that widget. So e.g. test_box_two gets the full width.
However, like setting it to None, when you set test_box size hint to zero, test_box width will not be set manually, so it's real size will be 100, the default. Therefore the layout will place test_box_two at 100 pixels to the right.
You can see this by adding on_size: print(self.size, self.pos) to the various widgets.
Ideally when size_hint is zero, we do set the widget width to zero, but I guess that fell through the cracks since at least 1.9.0 (which I checked). However, I expect no one uses it this way, since the canonical way for what you're trying to do would be:
size_hint_x: None
width: 0

Hello @matham ,
thank you for the fast reply, your explanation would make sense but it breaks apart when you start changing the size_hint_x of the second widget (instead of the first) to zero. Then it works with no issues (eg. zero width). This should at least be consistent and documented.
Example:
`python
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
Builder.load_string("""
:
BoxLayout:
id: test_box
size_hint_x: 1
canvas:
Color:
rgba: (1,0,0,1)
Rectangle:
pos: self.pos
size: self.size
BoxLayout:
id: test_box_two
size_hint_x: 0
canvas:
Color:
rgba: (0,0,1,1)
Rectangle:
pos: self.pos
size: self.size
""")
class TestPage(BoxLayout):
pass
if name == 'main':
from kivy.app import App
class TestPageApp(App):
    def build(self):
        return TestPage()

TestPageApp().run()

`

Then it works with no issues (eg. zero width). This should at least be consistent and documented.

Not quite. If you look at the size and pos of the widgets you'll see my analysis is correct even in this case. What happens is that the first widget takes up the full width, followed by the second widget but with size 100. However, the second widget is displayed to the right of the window (i.e. you can't see it).

That means that a size_hint_x of 0 is exactly the same as size_hint_x: None, (even though bool(0) is False and not None) which should still be documented. (Or maybe it is and i was just unable to find it)

That means that a size_hint_x of 0 is exactly the same as size_hint_x: None

But it isn't. Because when a widget's size  hint is None, the other widgets whose size hint is not None are given sizes to fill up the remaining spaces after dedicating space for all the widgets that are None. But when the size hint is zero, we don't not include this widget's size when computing how much space remains.
The proper fix IMO is to make a size hint of 0, set the widget's size to zero, like you expected.

That would indeed make sense because then the claim in the documentation:
"The size_hint is a tuple of values used by layouts to manage the sizes of their children.  (LINK) would be correct as well as improving mathematical correctness (because 0% of any given width is 0 width and with that zero area)

@matham There still seems to be another issue with the size_hint 0 that we have not explored.
If the size_hint_x's value is chosen using an inline if statement even weirder behavior can be observed, when the else value (from the if statement) is used (because the statement is equal to False) then the size_hint_x (If set to 0 inside the else block) and the width seem to not be used.
Example:
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout

Builder.load_string("""
<TestPage>:
    orientation: "horizontal"
    some_statement: root.width > root.height
    BoxLayout:
        id: test_box
        size_hint_x: 1 if root.some_statement else 0  # This is the important part!
        width: 0  # This gets ignored at all times, for some reason
        canvas:
            Color:
                rgba: (1,0,0,1)
            Rectangle:
                pos: self.pos
                size: self.size
    BoxLayout:
        id: test_box_two
        size_hint_x: 1
        canvas:
            Color:
                rgba: (0,0,1,1)
            Rectangle:
                pos: self.pos
                size: self.size
""")

class TestPage(BoxLayout):
    pass

if __name__ == '__main__':
    from kivy.app import App

    class TestPageApp(App):
        def build(self):
            return TestPage()

    TestPageApp().run()

The two print statements represent the width and position of the red boxlayout. The first one is before the if statement is False.

No, that is expected based on how kv rules work. When the widget is initially loaded and kv rules applied, width is set to zero because of width: 0. But then as because some_statement is True and the size hint is 1, the width will be then set to whatever the parent sets it to.
From then on, width: 0 is never again executed, because it's not a dynamic rule. So when some_statement becomes False, the width simply remains whatever it was at that point. Exactly like in the initial examples. To prove it to you, simply make width: 0 into a dynamic rule with width: self.width if root.some_statement else 0 and you'll see that it does get reset to zero. as expected.

Working as designed. Closing as Wont Fix.


Compute 2021 03 API release

Update: moved to this PR for the required commit history format: https://github.com/Azure/azure-rest-api-specs/pull/14223
This PR is to release the new version of Compute, 2021-03-01.
This release consists of these PR, all of which have been reviewed before:

Deep Deletion: https://github.com/Azure/azure-rest-api-specs/pull/13657
Scheduled Events: https://github.com/Azure/azure-rest-api-specs/pull/13351
PatchSetting Assessment mode: https://github.com/Azure/azure-rest-api-specs/pull/13468
Network Interface Config :https://github.com/Azure/azure-rest-api-specs/pull/13449  (Required and received ARM signoff)
Patchsetting Description : https://github.com/Azure/azure-rest-api-specs/pull/13509
RestorePoint: https://github.com/Azure/azure-rest-api-specs/pull/13219 (Required and received ARM signoff)
UserData: https://github.com/Azure/azure-rest-api-specs/pull/13220
https://github.com/Azure/azure-rest-api-specs/pull/14191
https://github.com/Azure/azure-rest-api-specs/pull/14197

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[x] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[x] SDK of .NET (need service team to ensure code readiness)
[x] SDK of Python
[x] SDK of Java
[x] SDK of Js
[x] SDK of Go
[x] PowerShell
[x] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[x] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
[ ] Ensure to copy the existing version into new directory structure for first commit (including refactoring) and then push new changes including version updates in separate commits. This is required to review the changes efficiently.
Adding a new service

[x] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

The .Net SDK PR check error was introduced by this PR: https://github.com/Azure/azure-rest-api-specs/pull/14095/files
It is not related to my changes in this PR.

The breaking change compared to the 2016 version is not a valid failure.
The breaking change compared to the 2012 version (the enum constraint weakening) was approved in this PR: #13220

The APIDocPreview error is expected.
The error can be resolved after this swagger version releases and I update https://github.com/Azure/azure-docs-rest-apis/blob/a3471166348cdcb19ecff2bba982523939796784/mapping.json#L1156
This also occurred in the 2012-12-01 release and the Doc team advised this post-release fix.

The ARM team also reviewed the 2 PRs in this release that need ARM signoff.

Ensure to copy the existing version into new directory structure for first commit (including refactoring) and then push new changes including version updates in separate commits. This is required to review the changes efficiently.

@chiragg4u , apologies for not having that setup.
The Commits that were used to setup the branch for the new version are:
https://github.com/Azure/azure-rest-api-specs/pull/14121/commits/d5b214613e6e983c750234c1291acf385d2f0363
https://github.com/Azure/azure-rest-api-specs/pull/14121/commits/e45d32a312256daa40281f16c2a460f99b3f7073
https://github.com/Azure/azure-rest-api-specs/pull/14121/commits/840f44ef1014b803627ebf644c819dfd1144939a
https://github.com/Azure/azure-rest-api-specs/pull/14121/commits/134aa5823a723c8add0a973b7740a943ef61ef91
https://github.com/Azure/azure-rest-api-specs/pull/14121/commits/29a5ff6e6b017c80430e568099ebf9cd90b8df98
The changes merged with new features for this release are listed in the initial PR comment as separate PRs.

If you want to get faster review please follow the recommended pattern. I won't be able to review this PR in current form, sorry!

In reply to: 829242309

Hi, @Sandido. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.

Hi, @Sandido. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.

Hi, @Sandido. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.