T should be assignable to A extends B ? C : D if it is assignable to both C and D

Search Terms

conditional assignable both
Suggestion

A type T should be assignable to A extends B ? C : D if it is assignable to both C and D.  Previously mentioned here and here, but it doesn't appear that anyone ever filed an issue to track this.
It's unclear what to do if C references infer type parameters, but even an assignability rule that works only when C does not reference infer type parameters would be useful.
If the conditional type is distributive, then the rule only applies if A is known not to be never.
Use Cases

See this comment for one.
Examples

TBD
Checklist
My suggestion meets these guidelines:

[X] This wouldn't be a breaking change in existing TypeScript / JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. new expression-level syntax)

In the comment under use cases this is given as an example:
type Foo<T> = T extends true ? string : "a";

function test<T>(x: Foo<T>, s: string) {
    x = "a";  // Currently an error, should be ok
    x = s;    // Error
}

But am I right in saying that if T is instantiated to never, then Foo<never> = never, so it is not safe to assign "a". Are there some hidden constraints I am missing?

@jack-williams Good catch.  That example is wrong, but I believe the Something<T> example in the middle of the same comment is valid.  I updated the proposal.

It's unclear what to do if C references infer type parameters, but even an assignability rule that works only when C does not reference infer type parameters would be useful.

One possibility might be (ignoring distributive conditional types):

T is assignable to  A extends B ? C : D if T is assignable to C[-unknown, +never] & D

where C[-unknown, +never] represents the type C with all covariant infer types substituted for never, and all contravariant infer types substituted for unknown.
Though I agree that a rule that works for closed types (without infer) would still be very useful and probably the more suitable option.

If the conditional type is distributive, then the rule only applies if A is known not to be never.

Is there a way to cleanly flag this to the typechecker?

T is assignable to A extends B ? C : D if T is assignable to C[-unknown, +never] & D

We may as well set the contravariant occurrences to their constraints, not to unknown.  What about invariant occurrences?  (I know that if you expand generic type references without limit, then there are no invariant occurrences, but by the time you make such an implementation terminating, it would be tantamount to just reasoning about the infer variables as unknowns.)  This led me to realize that the current assignability rule for A extends B ? C : D to T, which sets all infer occurrences to their constraints, is unsound; I filed #26945 for that.

Is there a way to cleanly flag this to the typechecker?

We'd just specify this for each built-in type constructor.  E.g., a primitive type, an object type, or unknown is OK, a union containing at least one OK type is OK, never is not OK, and (for a simple implementation) anything "instantiable" (e.g., a type parameter or an unsimplified lookup type or conditional type containing type parameters) is not OK.

We may as well set the contravariant occurrences to their constraints, not to unknown.

Yep, good point.

What about invariant occurrences?

In that case I think it has to be an error because we're left trying to guess the exact type the parameter will be instantiated to.

We'd just specify this for each built-in type constructor. E.g., a primitive type, an object type, or unknown is OK, a union containing at least one OK type is OK (although it should have already been distributed), never is not OK, and (for a simple implementation) anything "instantiable" (e.g., a type parameter or an unsimplified lookup type or conditional type containing type parameters) is not OK.

Makes sense to me. I'm mainly just wondering if there is a way to signal a distributive conditional type will never be short circuited with never because that case is handled. E.G.
type Foo<A> = [A] extends [never] ? C : A extends B ? C : D;
I don't really have enough experience to say whether a distributive conditional type that does not short-circuit is useful in practice, but from an assignability POV it makes things easier.

Could we extend the keywords of this issue with deferred assignment?, thanks!

@s0 I think you've just done so.

@s0 I think you've just done so.

derp. comments are searchable, you're right! :joy:

Adding an example just to make the point clear, I hope this can be looked at as this is quite an old issue
type Param<T> = T extends undefined ? {
    first: string,
} : {
    first: string,
}
function run<T>(param: T) {
    const p: Param<T> = { // error assigning here
        first: 'hi'
    }
    return p;
}

Playground link


Error compilation under VS2017, x64

Hi,
Get this when I'm trying to import into a dll a static jansson lib. (compiled with VS2017 x64, windows 10)

jansson.a.lib(value.c.obj) : error LNK2019: unresolved external symbol __imp__dclass referenced in function json_real
jansson.a.lib(load.c.obj) : error LNK2019: unresolved external symbol __imp_strerror referenced in function json_load_file
jansson.a.lib(strconv.c.obj) : error LNK2019: unresolved external symbol __imp_strtod referenced in function jsonp_strtod

Any ideas ?
Thanks

Hi we are facing the same issue. can you please let us know if  you have got the solution ?

These appear to be libc functions. I don't know anything about windows / VS compilation. But you may have to explicitly specify the equivalent of -lc to also link with libc at the same time.


block_scan.cuh missing

build/third_party/src/CUBExternal/cub/block/block_radix_rank.cuh:38:35: fatal error: ../block/block_scan.cuh: No such file or directory
 #include "../block/block_scan.cuh"

it looks like somehow the commit ref was purged from the repo:
https://github.com/NVlabs/cub/tree/1.7.0/cub/block
its been renamed by git to "block_scan.cuh.REMOVED.git-id" and references the old hash it use to be

Just replaced it, thanks for noticing!
(In an effort to drastically reduce the clone size from 130+MB, we recently purged the repo of non-HEAD files over 100KB -- primarily binaries and test input data that had since been removed.  In an oversight, we neglected to protect the non-HEAD refs, so block_scan.cuh was purged in all branches but master.  I've replaced it in each branch with it's appropriate version.)


Missing security benchmark azure-kubernetes-service-aks-azure-security-benchmark-v3-latest-security-baseline.xlsx

[I was reviewing the ASB for AKS. The Note at the top of the documentation topic provides a link to the full AKS security baseline mapping file in the MicrosoftDocs/Azure Offer Security Baselines/3.0 repository. That referenced XLSX file does not exist in the repository. I can see the same folder in the repository has the AKS security baselines for Arc-enabled Kubernetes and Kubernetes for Azure Stack HCI. Is this oversight? If not, please add the missing file. ]

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: c5b4c8a7-1279-d7c0-616f-513e19474dc7
Version Independent ID: c5b4c8a7-1279-d7c0-616f-513e19474dc7
Content: Azure security baseline for Azure Kubernetes Service (AKS)
Content Source: benchmark/azure/baselines/azure-kubernetes-service-aks-security-baseline.md
Service: azure-kubernetes-service
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

@ssrirama-aka
Thanks for your feedback! We will investigate and update as appropriate.

@msmbaldwin
Can you please check and add your comments on this doc update request as applicable.

@ssrirama-aka
I'm going to assign this to the document author so they can take a look at it accordingly.

#reassign:Nickomang

@ssrirama-aka, thanks for the feedback! We've added the correct baseline into the repository, and the link should now work as expected.
#please-close


pull request for e2e test at 11/26/2016 03:56:04

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Minification breaks '@media not all ...' style media queries

Note the use of "not all and ..."
$ echo "@media not all and (min-width: 768px) {display: none}" | cssnano --safe
@media not (min-width:768px){display:none}

The valid line
@media not all and (min-width: 768px) ...

gets collapsed to the invalid line
@media not (min-width: 768px)...

That makes the @media query not work (tested on chrome).
Same result with and without the --safe flag.
As a workaround, instead of "not all" i can use "not screen", which doesn't get collapsed.
Version: cssnano v3.9.1 (cli v1.0.5)
For reference:
http://stackoverflow.com/questions/36494294/not-max-width-512px-not-working

Thanks for the report, this has now been resolved in<EMAIL_ADDRESS>👍


Deflate backwards

I don't accept compressed responses to my client so I'm setting
Accept-Encoding: identity
However I do POST compressed data from the client. And this works...
Content-Encoding: gzip
Might as well save 18 bytes per post and switch to deflate without the useless gizp headers and footers. Right? Alas, this fails...
Content-Encoding: deflate
Admittedly, it's unusual to have an asymmetric connection like this, but looking at the library it seems that method actually represents the compression side of the transaction. Is that a bug?
stream = method === 'gzip'
        ? zlib.createGzip(opts)
        : zlib.createDeflate(opts)

This module does nothing with incoming body, not the outgoing (from the server). It would thus not be involved in the encoding of the data that is POSTed to an Express server. That is why you see it using those methods, as this module will compress the response, not decompress the request.

To clarify I am referencing my client's http headers but it's not even written in JS. I'm asking about how the server side handles POST where the Content-Encoding: deflate

Related to #136 ?

This module does not do anything when the client sends a content-encoding header. This module is what generates the header in the server response.

The middleware will attempt to compress response bodies for all request that traverse through the middleware

Thank you. I believe the issue is actually in body-parser.
https://github.com/expressjs/body-parser/issues/450

Ah, gotcha. I didn't want to assume what module you were using to parse the incoming body, particularly as there are a lot of them out there to use.


Crazy insane list of 200 achievements

Some better than others probably
I formatted all the names as my title idea but obviously seeing as that doesn’t exist you can get much better names for them
A lot of achievements give multiple icons
Quite a few achievements are surrounding playing the game on certain days, using categories and queries (which aren’t in pyeod yet obviously), and finding elements/completint categories that are EoD specific, obviously, but there’s still a lot in here which works for pyEoD as it is now:

The Newcomer: Create your first element

The Voter: Cast your first vote

The Candidate: Suggest your first poll

The Decisive: Vote 5,000 times

The Technician: Find 100 elements

👩🔬🧑🔬👨🔬The Scientist: Find 1,000 elements

🧙🧙♀🧙♂The Alchemist: Find 10,000 elements

🕴The Elementalist: Find 100,000 elements

📸🤳 The Photographer: Add 100 images

🔥💨💧🌳The Avatar: Find all possible elements from combining the 4 Starting Elements together

🧑✈👩✈👨✈The Global: 50% the Countries category

🗺 Mr. Worldwide: 100% the Countries category

🦅 The Patriot: Find all American municipalities

The Politician: Get 500 polls accepted

☃⛄The Festive: Find or suggest at least one element every day from the 1st to the 25th of December

🧑🎄🎅🤶The Jolly: Find or suggest at least 5 elements with ‘Christmas’ as a parent on Christmas Day (December 25th)

🎃 The Spooky: Find or suggest at least 5 elements with an element in the ‘Halloween’ category as a parent on Halloween (October 31st)

🧟🧟♀🧟♂ The Undead: Find or suggest at least one element with ‘Zombie’ as a parent on Halloween (October 31st)

👻 The Haunting: Find or suggest at least one element with ‘Ghost’ or ‘Spirit’ as a parent on Halloween (October 31st)

🌩The Controversial: Get one of your polls accepted even though somebody downvoted it

😡🤬❌ The Hated: Get one of your polls rejected

🦃 The Thankful: Find an element in the ‘Thanksgiving’ category, or find or suggest an element with an element in the ‘Thanksgiving’ category as a parent on Thanksgiving

The Committed: Play every day for a week

🤩The Obssessive: Play every day for a month

🧎♂🧎♀🧎🙇♀🙇🙇♂The Fanatic: Play every day for 6 months

🧿🪬The Devout: Play every day for a year

☘ The Lucky: Get lucky! (aka the bot just randomly gives this to you when doing a command, maybe like a 1 in 10,000 or 1 in 1,000 chance or something)

🍀 The Extremely Lucky: Get insanely lucky! (aka the same as The Lucky but maybe only one person can get it per day)

🧰 The Useful: Have one of your elements be used in over 100 combos

🔍🔎👩🎤🧑🎤👨🎤 The Superstar: Have 100 people find one of your elements

🗣 The Loudmouthed: Add 500 marks

🥰😍😘 The Lovestruck: Find or suggest an element with ‘Love’ as a parent on Valentine's Day (February 14th)

😻The Feline: Find or suggest an element with ‘Feline’, ‘Cat’ or ‘Cats’ as a parent on Valentine’s Day (February 14th)

💜 The Heart-thrower: Find or suggest an element with ‘💜’ or ‘Heart-throwing’ as a parent on Valentine’s Day (February 14th)

🔁 The Repetitive: Find an element with a repdigit ID (the ID has to be at least 4 digits long to make it not so easy)

🥳🎉🍾 The Birthday Boy!: Create an element on your join date (but obviously not in the same year as you joined so you can’t just get the element) (this can either be your discord join date or your eod join date) (can maybe change the title to be boy or girl or something else maybe)

🎂🎁🎈🎊 The Celebrator: Create an element on EoD's birthday! (June 7th)

🪿The Gaggle: 100% the Goose category

🧱The Brik: Get 75% in the Brik query (regex [Bb]rik)

The GIGA: Get 75% in the Gigaverse category

🤨 The Suspicious: Get 75% in the Why Does This Exist category

The Centurian: Get 100% in a category with over 100 elements in it

💯 The Completionist: Get 100% in a category with over 1,000 elements in it

🦤 The Extinct: 100% The category Extinct Animals

🦖🦕 The Ferocious: 100% the category Dinosaurs

The wannabe: Create all products of ‘winner’, ‘first’ and ‘🥇’ (all products actually means all products under 500 tree size to avoid someone making a really big one and making the achievement insanely hard)

🙂 The Emotional: 100% the True emojis query

🎬 The Director: Add 10 elements to the ‘Movies’ category

🎭 The Actor: Find 100 elements that are in the ‘Movies’ category

💡The Innovator: Create 25 elements using /idea

📍The Iconoclast: Add 50 icons to elements

🧑🎨👩🎨👨🎨 The Artist: Add 100 colours to elements

🌐 The Traveller: Find an element in every available play channel (obviously this will exclude channels you don’t have access to like booster channels or mod channels)

The Meta: Find ‘Elemental on Discord’

🌴 The Tree Lover: Find an element with a big tree size (>1k)

🌲The Forest Dweller: Find an element with a massive tree size (>10k)

🎄The Christmas Tree Lover: Find an element with a big tree size (>300) which also has ‘Christmas’ as a parent

🤡 The Fool: Find or suggest an element on April Fool's Day (April 1st)

The Acquaintance: Become a collaborator on an element, or have one of your elements get collaborators added to it

👥 The Friend: Become a collaborator on an element, or have one of your elements get collaborators added to it 5 times

🫂 The Companion: Become a collaborator on an element, or have one of your elements get collaborators added to it 50 times

✖➗➕➖🟰🤓The Mathematician: Get 500 elements in the Metamath query

🤴👸🫅The Regal: 100% the category Hard Elements

👩🌾🧑🌾👨🌾 The Foodie: Get 50% in the category Food

👩🍳🧑🍳👨🍳 The Culinary Master: Get 100% in the category Food

The Mirrored: Get 100% in the category Reversed Stuff

🦦 the Otter!: Get 75% of elements in the query Otter elems

🧑🚒👩🚒👨🚒🧨🎇 The Pyromaniac: Find 100 products of Fire

💦🌊🏊🏊♀🏊♂ The Watered Down: Find 100 products of Water

🌬✈🛫🛩🛬 The Air-Head: Find 100 products of Air

🌱🍃🌎🌍🌏 The Down to Earth: Find 100 products of Earth

🤘🧑🏭👩🏭👨🏭 The Metalhead: Find 100 products of Metal

🪨🧗🧗♀🧗♂ The Rocker: Find 100 products of Rock

🧬 The Lifeline: Find 100 products of Life

🐾 The Zoologist: Find 100 products of Animal

🤪 🌀 The Weird: 100% the Weird Chain category

The Reversal: Find 100 elements with Opposites as a parent

‼❗❓⁉❔❕The Punctual: Find all products of Punctuation

❣The Punctual Lover: Find or suggest a product of Punctuation on Valentine’s Day (February 14th)

❤🔥 The Heartburned: Find or suggest 10 products of Fire on Valentine’s Date (February 14th)

🗽The Monumental: 100% the category Landmarks

The (Real) Elementalist: 100% the category Periodic Table

😇 The Good-Natured: Get 500 polls accepted where no one downvoted it

The Speedy: Get a poll accepted in under a minute

🏃♂🏃♀🏃The Hasty: Get a poll accepted in under 20 seconds

🐆 The Rapid: Get a poll accepted in under 5 seconds

🐢🐌 The Slow Poke: Get a poll accepted in over an hour

👾 The Game Collector: Find All Video Game Consoles

🤺 The Totally Accurate: Find All TABS Units

The Shakespearean: Find The First Folio

🇳🇴 The Nordic: Find Every Single Grunnkrets

🧠 The Intelligent: Find AE-Intelligent Unit

🕵🕵♀🕵♂ The Sherlockian: Find All Sherlock Holmes media

🧑🏫👩🏫👨🏫 The Encyclopaedic: Find 3k elements in the query Wikipedia Categories

The Great: Become one of the greats (given by a mod to people they like)

🔴 The Terrible: Make 50 mistakes (a mistake is any time the bot sends an error message, like ‘🔴 Combine something first!’, ‘🔴 Invalid multiplier:’ etc.)

The Unusual: Create your first query

🤖 The Automated: Create 50 queries

The Envious: Look at someone else’s inventory

The Vain: Look at your profile

The Fashionable: Change your title or icon

♟The Grandmaster: Find the element ‘Chess Board’

The Usurper: Replace the image/mark/icon/colour of an element that already has an image/mark/icon/colour

😴 The Truly Devoted: Find or suggest at least one element every hour for 12 hours in a row

✨The New-Fangled: Get 1,000 new element suggestions accepted

🌟The Old-Fashioned: Get 1,000 new combination suggestions accepted

🐣 The Springing: Find or suggest an element with ‘Easter’ as a parent on Easter Day

👭👬👫The Many: Find or suggest products of ‘Plural’ 100 times

🎆🇺🇸 The Independant: Find or suggest at least 10 products of ‘America’, ‘USA’, ‘United States of America’ or ‘United States’ on Independence Day (July 4th)

🎌🎎 The Tourist: Find 1,000 products of ‘Japanese Postal Code’

👹👺😈👿 The Devilish: Find all products of Demon

🧍🧍♀🧍♂🧑👩👨 The Basic: After changing your creator emoji to one you’ve unlocked, change it back to one of the 3 default ones

The 2020 Superfan: Find 1,000 elements created in 2020

The 2021 Obsessive: Find 1,000 elements created in 2021

The 2022 Maniac: Find 1,000 elements created in 2022

The 2023 Worshipper: Find 1,000 elements created in 2023

💠 The Ultimate: Find your first Ultimate Element

💮 The Ultimatum: Find every last Ultimate Element

🗿The Redditor: 100% the category Memes

<:eggTF:861270810151616545> The Egg: 100% the category Egg Face Emoji

The Backtracker: Quickly remove your own poll by downvoting it

🧑🔧👩🔧👨🔧 The Fixer-Upper: Have one of your element's name edited by a mod

🏆 The Over-Achiever: Find the element ‘Achievement’

🧸 The Cuddly: 100% the category Soft Elements

🌚🌜🌛🌝 The Luminary: 100% the category Moon Phases

🌞 The Radiant: 100% the category Stars

🫎🇨🇦 The Maple: Find all products of Canada

🐩🇫🇷 The Connoisseur: Find all products of France

💂💂♀💂♂🇬🇧 The Fanciful: Find all products of United Kingdom

🦘🐨🇦🇺 The Outback: Find all products of Australia

🪆🇷🇺 The Comrade: Find all products of Russia

🦸🦸♀🦸♂ The Hero: 100% the category Heroes

🦹🦹♀🦹♂ The Evil-doer: 100% the category Supervillains

🌈 The Colourful: Add a colour to an element in the Colours category

🥷 The Shadow: Find all products of Ninja

🤷♂🤷♀🤷 The Indecisive: Show your inner conflicts on a poll by adding a ↕ reaction instead of up or down

🫤 The Befuddled: Show your confusion about a poll by adding a ❓reaction instead of up or down

The Icon: 100% the category Iconic elements

🤮🤢🦠 The Sickly: 100% the category Diseases

🕋 The Fasting: Find or suggest at least one element every day during Ramadan

🎶🎼🎵The Musician: 100% the category Songs

The Multiplier: Use the multiplier command 100 times

⛓ The Chained: Use *2 20 times in a row to find unique elements (You’re allowed to have already found the elements before, but none of the 20 can be duplicates. Resets when doing a command other than *2)

👩⚖🧑⚖👨⚖ The Judge, Jury and Executioner: Vote 10,000 times

💀 The Unlucky: Find or suggest at least 13 elements on Friday the 13th

🆕 The Unresolved: Find 20 new elements on New Year's Eve (December 31st) and 20 on New Year's Day (January 1st)

🧑🚀👩🚀👨🚀 The Intergalactic: 100% the category Astronomy

🌹 The Romantic: Find all products of Romance

💔 The Unloveable: Find or suggest 20 products of Hate in February

🇪🇸🇲🇽💃🕺 The Spaniard: 100% the category Spanish

🇩🇪🍺 Das Deutsch: Find or suggest at least 50 products of ‘German’ or ‘Germany’ during Oktoberfest

🍻 The Innkeeper: Become a collaborator on a product of Germany or German, or have your element which is a product of Germany or German get collaborators added

🏴☠☠ The Buccaneer: Find or suggest at least 10 products of Pirate on Talk Like a Pirate Day (September 19th)

🍸 License to kill: Find all products of ‘James Bond’ and ‘Spy’

🏴🦄 The True Scotsman: Find all products of Scotland

🇮🇪🥔 The Troubled: Find all products of Ireland and Northern Ireland

🏴🐉 The Arthurian: Find all products of Wales

🇨🇳🀄 The Proverbial: Find all products of China

The Monthly: Find 50 elements that were created in the current month

The Daily: Find 50 elements that were created on current number day (not necessarily the same month)

📅 The Time-Keeper: Find 50 elements that were created in the current month AND day

👩🎓🧑🎓👨🎓 The Graduate: 100% the category Vanilla Elemental

The Veteran: Find the first 10,000 elements created

The OG: Find the first 1,000 elements created

on Discord: Find all products of Discord

The Debatable: Send a message in Debate-and-otters

The Chatroller: Look at the info for an element in the Chatrolled Variants category

👩💼🧑💼👨💼 The Mogul: 100% the category Companies and find 500 products of Company

📚🪱 The Bookworm: 100% the category Books

The Librarian: Add 50 elements to Books

🏀⚾🏐 The Sporty: 100% the category Sports

⛹⛹♀⛹♂ The Baller: Find all products of Basketball

🏉🏈⚽ The Quarterback: Find all products of Soccer and Football (also unlocks the title The Goalie)

🏌🏌♀🏌♂ The Birdie: Find all products of Golf

⚓ The Landlubber: Find all products of Land and Sea

🤑 The Blinged-Out: Find all products of Money

🇳🇿 🥝 The Kiwi: Find all products of New Zealand

🧩 The Puzzled: Complete PUZZLE LOOP

The Blockhead: Find all products of Minecraft

The Master Builder: Find all products of LEGO

🍒🍇🍉 The Healthy: Find all products of Fruit

🍬🍫🍭 The Unhealthy: Find all products of Candy

🗝 The Finder of Keys: Find 50% of the category Key Finder's Storage Unit

👏 The Militant: 100% the Milestone category

🔠 The Alphabetical: Find ‘A to Z’, ‘AA to ZZ’ and 100% the query ‘AAA to ZZZ’

🙅🙅♀🙅♂ The Impossible: 100% the category Elements that can't be ultimates

⏰🐊 The Late: Find Late Game EoD

🌌 The Universal: Find 500 elements in the query ‘Verse’

🥀 The Wilting: 100% the Dead Plant Verse query

🕹🎮 The Gamer: 100% the category Games

🧑💻👩💻👨💻 The Wizz: Find all products of Computer

🏺 The Historian: 100% the category Real Life People

🐈⬛ The Bladed: Find BladedCleric819's Founded Elements - 2023

The Penultimate: Become a collaborator on an element in the Ultimate Elements category

🔢 The Numberphile: Find ⭐🌠 ALL INTEGERS 1-20000 🌠⭐

💭 The Make-Believe: Find 1,000 elements in the category Fictional Characters

The Well-Rounded: Vote on one of each type of poll, other than your own polls

The Diverse: Suggest one of each type of poll

🌅 The Godslayer: Find 𝓖𝓸𝓭𝓼𝓵𝓪𝔂𝓮𝓻 𝓦𝓲𝓭𝓻𝓮𝔁

🪩 The Notable: Find Notable EoD Players

Could you get rid of the server specific ones. Ones that would work on any normal pyeod server. Comment the new list.

The only issue I have with some of these is that some of them (aside from the type of achievements that Brik mentioned) is that some of them require a specific element/category to exist. For example, "The Romantic" requires the element Romance to exist, making it unobtainable in servers that don't have the element.

Yeah remove those as well

Removed all of them i saw, and strikethrough-ed ones that require features that arent in pyeod but you might add later

The Newcomer: Create your first element
The Voter: Cast your first vote
The Candidate: Suggest your first poll
The Decisive: Vote 5,000 times
The Technician: Find 100 elements
👩🔬🧑🔬👨🔬The Scientist: Find 1,000 elements
🧙🧙♀🧙♂The Alchemist: Find 10,000 elements
🕴The Elementalist: Find 100,000 elements
📸🤳 The Photographer: Add 100 images
🔥💨💧🌳The Avatar: Find all possible elements from combining the 4 Starting Elements together
The Politician: Get 500 polls accepted
☃⛄The Festive: Find or suggest at least one element every day from the 1st to the 25th of December
🎃 The Spooky: Find or suggest at least 10 elements on Halloween (October 31st)
🌩The Controversial: Get one of your polls accepted even though somebody downvoted it
😡🤬❌ The Hated: Get one of your polls rejected
🦃 The Thankful: Find 10 elements on Thanksgiving
The Committed: Play every day for a week
🤩The Obssessive: Play every day for a month
🧎♂🧎♀🧎🙇♀🙇🙇♂The Fanatic: Play every day for 6 months
🧿🪬The Devout: Play every day for a year
☘ The Lucky: Get lucky! (aka the bot just randomly gives this to you when doing a command, maybe like a 1 in 10,000 or 1 in 1,000 chance or something)
🍀 The Extremely Lucky: Get insanely lucky! (aka the same as The Lucky but maybe only one person can get it per day)
🧰 The Useful: Have one of your elements be used in over 100 combos
🔍🔎👩🎤🧑🎤👨🎤 The Superstar: Have 100 people find one of your elements
🗣 The Loudmouthed: Add 500 marks
🥰😍😘 The Lovestruck: Find or suggest 10 elements on Valentine's Day (February 14th)
🔁 The Repetitive: Find an element with a repdigit ID (the ID has to be at least 4 digits long to make it not so easy)
🥳🎉🍾 The Birthday Boy: Create an element on your join date (but obviously not in the same year as you joined so you can’t just get the element) (this can either be your discord join date or your eod join date)
🎂🎁🎈🎊 The Celebrator: Create an element on EoD's birthday! (June 7th)
The Centurian: Get 100% in a category with over 100 elements in it
💯 The Completionist: Get 100% in a category with over 1,000 elements in it
💡The Innovator: Create 25 elements using /idea
📍The Iconoclast: Add 50 icons to elements
🧑🎨👩🎨👨🎨 The Artist: Add 100 colours to elements
🌐 The Traveller: Find an element in every available play channel (obviously this will exclude channels you don’t have access to like booster channels or mod channels)
The Meta: Find ‘Elemental on Discord’
🌴 The Tree Lover: Find an element with a big tree size (>1k)
🌲The Forest Dweller: Find an element with a massive tree size (>10k)
🎄The Christmas Tree Lover: Find an element with a big tree size (>300) in December
🤡 The Fool: Find or suggest 10 elements on April Fool's Day (April 1st)
The Acquaintance: Become a collaborator on an element, or have one of your elements get collaborators added to it
👥 The Friend: Become a collaborator on an element, or have one of your elements get collaborators added to it 5 times
🫂 The Companion: Become a collaborator on an element, or have one of your elements get collaborators added to it 50 times
🧑🚒👩🚒👨🚒🧨🎇 The Pyromaniac: Find 100 products of Fire
💦🌊🏊🏊♀🏊♂ The Watered Down: Find 100 products of Water
🌬✈🛫🛩🛬 The Air-Head: Find 100 products of Air
🌱🍃🌎🌍🌏 The Down to Earth: Find 100 products of Earth
🤘🧑🏭👩🏭👨🏭 The Metalhead: Find 100 products of Metal
🪨🧗🧗♀🧗♂ The Rocker: Find 100 products of Rock
🧬 The Lifeline: Find 100 products of Life
🐾 The Zoologist: Find 100 products of Animal
😇 The Good-Natured: Get 500 polls accepted where no one downvoted it
The Speedy: Get a poll accepted in under a minute
🏃♂🏃♀🏃The Hasty: Get a poll accepted in under 20 seconds
🐆 The Rapid: Get a poll accepted in under 5 seconds
🐢🐌 The Slow Poke: Get a poll accepted in over an hour
The Great: Become one of the greats (given by a mod to people they like)
🔴 The Terrible: Make 50 mistakes (a mistake is any time the bot sends an error message, like ‘🔴 Combine something first!’, ‘🔴 Invalid multiplier:’ etc.)
The Unusual: Create your first query
🤖 The Automated: Create 50 queries
The Envious: Look at someone else’s inventory
The Vain: Look at your profile
The Fashionable: Change your title or icon
The Usurper: Replace the image/mark/icon/colour of an element that already has an image/mark/icon/colour
😴 The Truly Devoted: Find or suggest at least one element every hour for 12 hours in a row
✨The New-Fangled: Get 1,000 new element suggestions accepted
🌟The Old-Fashioned: Get 1,000 new combination suggestions accepted
🐣 The Springing: Find or suggest 10 elements on Easter Day
🎆🦅🇺🇸 The Independant: Find or suggest at least 10 elements on Independence Day (July 4th)
🧍🧍♀🧍♂🧑👩👨 The Basic: After changing your creator emoji to one you’ve unlocked, change it back to one of the default one
The Backtracker: Quickly remove your own poll by downvoting it
🧑🔧👩🔧👨🔧 The Fixer-Upper: Have one of your element's name edited by a mod
🏆 The Over-Achiever: Find the element ‘Achievement’
🤷♂🤷♀🤷 The Indecisive: Show your inner conflicts on a poll by adding a ↕ reaction instead of up or down
🫤 The Befuddled: Show your confusion about a poll by adding a ❓reaction instead of up or down
🕋 The Fasting: Find or suggest at least one element every day during Ramadan
The Multiplier: Use the multiplier command 100 times
⛓ The Chained: Use *2 20 times in a row to find unique elements (You’re allowed to have already found the elements before, but none of the 20 can be duplicates. Resets when doing a command other than *2)
👩⚖🧑⚖👨⚖ The Judge, Jury and Executioner: Vote 10,000 times
💀 The Unlucky: Find or suggest at least 13 elements on Friday the 13th
🆕 The Unresolved: Find 20 new elements on New Year's Eve (December 31st) and 20 on New Year's Day (January 1st)
💔❤🔥 The Unloveable: Find or suggest 20 products of Fire on Valentine’s Day
🇩🇪🍺 Das Deutsch: Find or suggest at least 20 elements during Oktoberfest
🍻 The Innkeeper: Become a collaborator, or have your element get collaborators added to, during Oktoberfest
🏴☠☠ The Buccaneer: Find or suggest at least 10 products of Pirate on Talk Like a Pirate Day (September 19th)
The Monthly: Find 50 elements that were created in the current month (not necessarily the same year)
The Daily: Find 50 elements that were created on the current number of day (not necessarily the same month or year)
📅 The Time-Keeper: Find 50 elements that were created in the current month AND day
The Veteran: Find the first 1,000 elements suggested in the server
The OG: Find the first 1000 elements created
The Well-Rounded: Vote on one of each type of poll, other than your own polls
The Diverse: Suggest one of each type of poll

this is a pretty big improvement, it's a lot smaller but i do like how it doesn't require specific elements to exist for certain achievements anymore

a couple, like 3 or 4, still require elements not in the base game but were so common (e.g. mud, metal, rock) that I didnt remove them

Maybe there could be a few achievements related to adding elements to a category or just making categories

i couldve sworn i did make those, but maybe not
The Filer: Add an element to a pre-existing category
The Categorizer: Add an element into a brand new category
Then versions of those 2 but for 100 (or 1000) idk elements, where for one you get the 🗄icon and one you get 🗃

categories dont actually exist yet in pyeod so these will have to wait

oh

also, if pyeod ever becomes the main eod bot maybe we could reconsider adding some of the ones I removed, hardcoded for eod obvs

The short time based ones are iffy, kinda hard to measure with discord lag and all.

could we not just use the time it uses in the news channel?

The storing is what's really iffy. Especially for the ones that are "do x within x hours".

imo we can still have the ones that have server specific elements but they should be configured in the server itself
this allows for servers to have achievements centered around their own in-jokes or ultimates/equivalents

in addition, this goes well w/ the idea of having more server-specific features to allow for maximum configuration and a more customizable elemental experience

imo we can still have the ones that have server specific elements but they should be configured in the server itself this allows for servers to have achievements centered around their own in-jokes or ultimates/equivalents

i like the idea of having customizable achievements with icons, maybe they could even use custom emojis


Game Breaks when a cartographer is made

Whenever I employ a cartographer, the game completely stops and freezes. I've done this multiple times with same results.
https://github.com/Wilyicaro/Legacy-Minecraft/assets/171862039/35ebf37f-90e2-454c-839d-e5ca241affd9
Then, when I try to exit the game I get stuck on this screen for about 5-10 minutes.

Clearly you are using Re-Console, which invalidates the issue in this repository, this does not normally happen with only Legacy4J and its dependencies


Reformationstag Germany

Reformationstag 31.10. is always a public holiday in Germanys state Brandenburg (BR)
Furthermore in 2017 it is a public holiday in all states (500. Anniversary of Martin Luthers 95 Thesis)

Brandenburg is BB and not BR and BB is already in the list. The 2017 issue is correct though.


Add a case_sensitivity keyword arguments to methods relying on pathlib (Python 3.12)

Motive
In Python 3.12, PurePath.match, Path.glob and Path.rglob now supports a case_sensitivity argument, so that the user have full-control on the behavior of the path matching.
https://docs.python.org/3/library/pathlib.html#pathlib.PurePath.match

Changed in version 3.12: The case_sensitive parameter was added.

https://docs.python.org/3/library/pathlib.html#pathlib.Path.glob

Changed in version 3.12: The case_sensitive parameter was added.

https://docs.python.org/3/library/pathlib.html#pathlib.Path.rglob

Changed in version 3.12: The case_sensitive parameter was added.

By default, None means "use OS defaults"

typically, case-sensitive on POSIX, and case-insensitive on Windows.

Proposal: Since datatree only supports POSIX-paths, the default behaviour in datatree should be case-sensitive.

Sounds good to me!

Closed and moved upstream https://github.com/pydata/xarray/issues/9503


Add test to check that all settings frames are acked

Can one of the admins verify this patch?

ping

Hmm I don't quite speak Go. Do you still trust me reviewing?

Yes, if you have questions about the syntax I would be happy to answer them.  Go's syntax was specifically designed to appeal to existing C / Java programmers.

Yes, I also went through the tour back in 2009, just a couple yea... WHAT, IT'S ALMOST 2016?!
ok gimme a sec

LGTM other than the minor stylistic comment/question.


Rofi support...?

It's posible to make rofi variant...?
https://davedavenport.github.io/rofi/

Already has Rofi support. See the installation section of the README. You basically just need to set the executable in the configuration file.
Scott

I'm gonna close this...if you have any trouble getting Rofi to work, feel free to re-open and I'll see what I can do.
Scott


fix doc & basic.py in Hub

Here is the fix for documentation page and basic.py file.

@sparkingdark thanks for the PR. @davidbuniat had already fixed this in the readme a few minutes before your PR.
Moreover, there seems to be a discrepancy in your PR. The dataset shape has been set to (4,) however while assigning you have assumed the dataset shape to be (512,).

I think it's the problem in local computer enviourment @davidbuniat

@sparkingdark there is a minor linting error. :) could you please fix it?

Now is it ok

Please check here https://github.com/activeloopai/Hub/pull/278/checks?check_run_id=1509097510#step:4:74

Thanks @sparkingdark! Merging


feat: problem 94

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

132 of 138 (95.65%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.07%) to 92.674%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/shared/mod.rs
80
82
97.56%

src/problem_0094/mod.rs
52
56
92.86%

Totals

Change from base Build<PHONE_NUMBER>:
0.07%

Covered Lines:
5591

Relevant Lines:
6033

💛  - Coveralls


Round dependencies

We might require transformers to be run in entirely separate "rounds" to other transformers.
This would mean sorting Transformers rather than Transformations before applying Transformers.
The transformers would then be applied in thei round, with each round receiveng the transformed classes of the previous round.
Transformation sorting would still happen in the round itself.

I've implemented application of rounds, which should be working.
Sorting isn't done yet, but will require a similar algorithm to transformation sorting.

This should now be implemented in https://github.com/QuiltMC/chasm/commit/07823837e2d606c7c1961e5b67a87e9f62a21495.
Since there are no soft dependencies here, I trust this more than the transformation sorting.


API senders: submission history

API senders get information through a UI about data submitted to ReportStream.
While they can already get a history through a technically complex way of making API calls, there is no simple user interface that informs them of their sending history.

This feature requires more research before moving forward.


Can't query InventoryItem

I'm trying to return an array of InventoryItems by ids, but I keep getting a 400 BadRequest error. I can find an InventoryItem by passing a single id, but not when passing an array of ids. Any help would be greatly appreciated. I might not be doing the thing right.

Ok, figured it out. The ids passed in need to be a concatenated string, not an array.


Update

Build upon jstransformer-scss

Did this break the old test cases?
I think the scss module is native, so this may cause extra installation issues.  I wonder whether there should be two jstransformers modules for people to choose between

Interesting idea... Thinking about it, we could have as many modules as we wanted, and just inform it via the inputFormats. What would this package be for then?

To my knowledge, the sass package is deprecated. It...

Lacks features from SASS and libsass
Was put together by tj years ago; don't think anyone is willing to keep it going
Has better implementations of a native JavaScript SASS-like in other systems like rework or postcss
Confuses people as when people use "sass", they expect SASS... Not an incomplete implementation of it.

I dont see the problem?

I dont see the problem? Let's merge.

We should replicate the currently existing test into a new folder, so rather than replacing it, we keep the existing one alive and well.

The tests have been updated accordingly. Any thoughts?


Acquire the test project-set that Prabhu created for testing LZ1

Describe the issue
To test LZ1 Carles needs an account set + a Master admin account
Additional context

To execute the test plan a admin workload account In dev and tools + a Master admin account
Prabhu has created a playzone for testing, he can share this with Carles
Account that allows to execute the different test cases in the test plan

Definition of done

Carles is granted dev access same as Prabhu and can use this environment for testing

Project set with licence plate ubwyx8 has been vreated (prod, dev, test, sandbox)


Can't upload files larger than 5GB

When trying to upload files that are larger than 5GB, we are getting an exception: Aws::S3::Errors::EntityTooLarge: Your proposed upload exceeds the maximum allowed size
It looks like that until AWS SDK v1, where AWS::S3::S3Object.write handles large files by automatically switching to multi-part upload (http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html), in AWS SDK v2 you either have to implement that same functionality yourself using Aws::S3::Client.create_multipart_upload (and friends), or use the file base Aws::S3::Object.upload_file that also implements multi-part automatically.

@guss77 I have to admit, I haven't encountered uploads larger than 5GB for any carrier-wave usage. I'm happy to review and help with a PR, but it isn't something I have time to work on currently.

We use carrierwave to upload large video files - videos larger than 5GB are rare, but they do happen.
I'd like to also point out that AWS SDK v1 default size to trigger multi-part upload is 16MB - so it stands to reason that there are some performance benefits to using multi-part uploads even if you don't get into the >GB file sizes.
I would be happy to provide a PR to solve this, but why did you close the ticket? Its quite uncommon for a maintainer to close a ticket just for the reason that they specifically have no time to work on the fix. The normal behavior is to keep it open so that someone else might pick it up and fix it - the power of Open Source Software and such.

Looking at the code, the solution is probably as simple as changing aws_file.rb store() to use S3::Object#upload_file instead of S3::Object#upload_file, which already has automatic multi-part support - but that call only takes a path to a file on the file system.
I'm not sure what data store() receives, but if it can't be normalized to a file path, then the store() has to be modified to detect the actual upload size and either use standard #put for small files and in case of large files call #initiate_multipart_upload (and friends) and chunk the data itself.

@guss77 I closed the ticket because I see this as a feature request, not a bug fix. My focus (and responsibility) is maintaining the project, but my time for feature additions is very limited. I understand it is important for your use case, which is why I encourage you to open a PR for it.
The store method receives data from carrierwave itself, it should always be a file like object, but not necessarily a file that has a path.

A. You could have said that you'd want this to be reported as a "feature" instead of a "bug" while closing - that would have made seem a rather different approach then what I heard initially, which was something like "I don't have time for your problem - closed."
B. I'm not sure how to create a "feature request" vs. a "bug fix" - the Github UI only has "new issue" and I don't have access to setting labels/milestones (if such exist for the project). If you have some instructions for opening feature requests, please let me know.
C. We are working no a PR (my previous comment was mostly instructions for the developer who is going to tackle this - and thanks for your clarification!), expect to see one soon.

A. Fair enough, I'll try to be more clear about this in the future.
B. Several of the projects I have maintained or contributed to (mperham/inspeqtor, elixir-lang/ecto) have the same policy about issues requesting a feature. There isn't a different way to make a feature request, I just ask that those interested in a feature open a PR for it because new features in this project aren't a priority for me.
C. Awesome that you're working on a PR, I look forward to seeing the solution.


Update the Haskell version

This version exploits the lazy evaluation in Haskell to create an infinite list of Fibanocci numbers, and then takes some numbers from the list and prints them.

I prefer to keep my files looking as similar as possible

Sure; however different languages have different paradigms and conventions. Would you use the same colloquialisms that you do when speaking English, when you speak some other human language like German?
As a relevant example, Haskell is a very functional language, and do blocks are used scarcely; so it would be very out-of-place to imitate imperative code by putting everything in do. A decent amount of the power of Haskell comes from careful function composition and clever use of infinite "generators" to feed mapping functions; my definition of fibs is pretty close to the definition one might write for the sequence (x_n = x_(n-1) + x_(n-2)).
In Common Lisp (writing it uppercase fell out of use around the 1980s), most programmers will use a higher level looping construct, such as extended LOOP, rather than iterating themselves.

small the code is while following the guidelines

If you restructure each program such that the value of a is printed first, and then the values are updated, you can approximately cut the length of each program in half, as you don't have to print the first couple of cases outside the loop.

following the guidelines

Haskell doesn't have mutable variables, nor "while" or "for" loops; I think the requirements should be changed, as evidently neither is necessary to write a program that prints the Fibonacci sequence, nor are they necessary for serious programs.

@KaiLyons I hate to be rude, but you probably should consider this; printing variables before updating them in the loop at least halves the length of every program you've written.


Implementation of MPII set

Hello ,
I am very happy to see such excellent work. How can I use this project to train and test in MPII? I adjusted some parameters, but the result is not very good. Have you done any work on this data set?
In addition, what is the basis for determining the number of heads for different models?
Thank you!

Thanks for your interest!
This repo is based on DarkPose. You only need to change some configs of experiment Yaml files for MPII. See darkpose for reference.
I adjust the number of heads according to the dimension of query key vectors, in order to keep the dimension in each head not very large.
For ResNet, d=256, then n_heads = 8 = 256 // 32. For HRNet, d=96, then n_heads = 1 = 96 // 64.
Also, for hrnet, using fewer heads is to consume less GPU memory.

“For ResNet-S based, d=256, then n_heads = 8 = 256 // 32. For HRNet-S based, d=96, then n_heads = 1 = 96 // 96.”
The values of RESNET and HRNet are 32 and 96 respectively. What are the meanings of these values（32 and 96）? Are they 96 for hrnet-s-w32 and w48?

Actually, they have no special meanings. 64 for HRNet-W32, 96 for HRNet-w48

The output feature map channel for ResNet is 512, so we set the d_model to be 256; The output feature map channel for HRNet is 32 or 48, so we set the d_model to be 64 or 96.

Thanks！Why is the d_model  set to one-half of the output feature map channel, is it a fixed setting or is there some other reason?

There is no special reasons for halving or doubling the channels. We want the channel transformation to be of the same order of magnitude.


[google-cloud-cpp] fix feature dependencies

Some features in google-cloud-cpp depend on other features. This was
not captured in the vcpkg.json file.

What does your PR fix?

N/A

Which triplets are supported/not supported? Have you updated the CI baseline?

No change.

Does your PR follow the maintainer guide?

Yes.

Yes.

New features passed with following triplets:
x86-windows
x64-windows
x64-windows-static


Use Vec instead of String in parser

Check it it makes parsing quicker (it should, shouldn't it?)

Bad idea ... unicode you know?


Custom icon compatibility with #

Currently, if you're using emoji with the tagging system, tags with custom icons can't be clicked as they're replaced with the imaged and the image isn't an alias for it's name and so it can't be searched. For this reason, there's no easy way to simply click the # with the icon image and have it bring up the search bar to show all the documents tagged with the icon.

It seems that tag syntax of obsidian doesn't accept colons, which means that icon shortcodes won't be consider to be a part of tag. if you only use emoji, maybe you can enable replace with emoji character option as a workaround.

tags with custom icons can't be clicked as they're replaced with the imaged and the image isn't an alias for it's name and so it can't be searched

btw, can you give me a example with source markdown about this?


[eml] Widget namespaces

The problem
For now, widgets consists of other widgets. <button>, for example expands inso several primitives:

      {content}

The strength of this pattern is that user can build widget of existed widgets.
The weakness is that it is easy to redefine style unintentionally:

  <button>Hello!</button>

The expectations of the above example are that the span with Hello will have custom padding.
In practice all spans are implicitly redefined, even inside button.
Solution
While it is already possible to provide styles that do not redefine button's spans, it is still not obivous.
The idea is to add separate axis that can split elements defined in widgets, and other elements: tag namespace.
User should be able to specify namespace when he adds tag to eml and specify what namespace to query via ess selector.
Implementation
We can assume that there is already namespace defined: general namespace. All tags belongs to general namespace. And all ess selectors queries this namespace.
The obvious solution to specify namespaces in eml is to declare namespace before tag using : token, just like xml does:

Hello

<w:span>Hello</w:span>

For selecting namespaces via ess I suggest to use :ns(namespace) notation:
/* querying general namespace */
span {  }

/* querying widget (w) namespace */
span:ns(w) {  }

/* querying any namespace */
span:ns(*)

It is may be too complex approach. It looks like a terrible idea to add yet another layer of abstraction to already complex system.
There are another possible solutions to avoid the problem:

Add something like internal widget, node for example and make it impossible to query it by name with selector. The widgets itself could style node elements using classes and direct child (>) selector. This will reduce the conflicts in common cases.

Implement the widget-any-child (@) and widget-direct-child(@>) ess selectors that somehow queries elements in i-select-what-i-see way. I'll try to explain. Let's imagine some <tabview> widget:

<tabview>
  <tab header="hello">
    "Some content of hello page"
    <button>"hello"</button>
  </tab>
  <tab  header="world">
    "Some content of world page"
    <button>"world"</button>
  </tab>
</tabview>

The widget consist of the buttons (for switching tabs), so any child selector tabview button will select hello, world and tab buttons, which is reasonable but makes name-based selectors useless in complex ui. widget-any-child selector should help with such a conflict: tabview @ button selects only hello and world buttons, but not tabview-internal buttons.

This will be done right in polako (#77)


Vector3 returned from lerp treated as float when directly assigned to a Vector3 variable

Godot version:
Godot_v3.1-alpha4_win64.exe
OS/device including version:
Windows 10 1809
Issue description:
Vector3 returned from lerp treated as float when directly assigned to a Vector3 variable.
var a=lerp(transform.origin, target.transform.origin, delta * followSpeed ) transform.origin=a
works.
transform.origin=lerp(transform.origin, target.transform.origin, delta * followSpeed )
doesn't work.
Result:

Isn't lines 10,12 == line 13?
Also: Docs says lerp returns float.

Steps to reproduce:
Run the code:
transform.origin=lerp(transform.origin, target.transform.origin, delta * followSpeed)
Minimal reproduction project:

I think that this is the expected behaviour.
lerp is a function returning a float.
To interpolate two vectors Vector3.linear_interpolate exists with the return type of Vector3.
In the first case your variable could be of any type, including Vector3 so the engine can only determine at runtime which type it is.
In the second case you skip your variable thus the engine strictly knows that you want to change a property from Vector3 to float.

Indeed, transform.origin=a should throw an error of mismatched type at runtime.


chore: deep dive comments

Comments from the Deep Dive on the generation process.

 No idea what happened there - maybe you just need to get rid of my merge commit @millsp and try again yourself.

Looking at the diff today, it seems I did just fine and it was indeed just a GH problem.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: millsp:x: janpioYou have signed the CLA already but the status is still pending? Let us recheck it.


Remove authors, refactor exchange, refactor discovery

Still considering changing the key for outboxes from fingerprints to generic string. Alternatively consider not storing this in an outbox when sending to an address.


WIP: Channels (v3)

hey remember this repo

from WIP to RIP

Hey @holman, if this repo is RIP, do you feel like transfering the "play" org namespace. We, https://github.com/playframework/, would love to have the "play" namespace. 😄


Update wallet links

added chrome store link
updated github repo releases link to point to aeternity org

why should this merge to master?

why should this merge to master?

Oops, my bad sorry. Closing this, will make a new pr to the correct branch.


Launched programs don't show up

Hi,
when I ask Carola (or Mortimer, rather) to start another program for me, the program is not launched in any visible way.
E.g. I say
Mortimer, öffne Inkscape.
and it replies that it opens the program inkscape.
ps -A
tells me that inkscape is running.
168319 pts/0    00:00:00 inkscape
The pts/0 is different from how other programs show up in the list - for other GUI programs, I get a '?' instead.
But Inkscape is not visible on my monitor.
Same goes for screenshots - no GUI appears for my flameshot.
Searching something on the web works, though - weather report and time announcing, too. Haven't tested the files part, as I'm not sure how that would work with my folder structure etc.
Sometimes, when I kill pva, the app then shows up on my monitor after Mortimer is 'dead'.
How can I debug this? What could be the cause? (thread, screen, ...)

Note that I have put Mortimer in a custom directory, and did not add it into /usr/, /etc/ etc. Instead, I've adjusted all those little paths everywhere before compiling. It runs without problems now, even though it wouldn't stop reading a file to me instead of a greeting until I hardcoded the greeting path.
Would be cool if the paths weren't hardcoded but in a variable, e.g. in the compile script... would be so much easier (and less error-prone) to adjust.
I'm running it on Linux Mint, based on the older LTS 20.04.

Btw. a .gitignore would be great. It tries tracking all those compiled Java files.

... some of them already ended up in the repository, e.g. https://github.com/Cyborgscode/Personal-Voice-Assistent/tree/main/hash

PVA just starts the app, if it doesn't wanne open a window, it's up to the app. I don't think I can help you here.
Those Classfiles are there, because I uploaded them to make it easier for people without a JAVAC to start up the app.
As we did change a lot, i think i will remove them, so thanks for the hint.

PVA.java -> Exec()

regarding your app startup issue.. A thought: if pva isn't started in the desktop environment, your won't get windows.

Thanks, yes, I was going to try out whether using https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html and logging the environment that's passed in gives me a different result / a hint.

don't be so complicated:
#!/bin/bash

strings /proc/self/environ >> /tmp/debug.log
APPNAME

Did you solve it?

I haven't retried yet, sorry. Planning to do so next year ;-)

Any News?

Nothing new as of yet. I'm dreading the work it will take to keep it saved in a non system directory when I update it from the repository. /usr/bin ... and /etc/ ... are hardcoded everywhere.

I've tried it again with the non-updated version.
Findings:

planting the command 'strings /proc/self/environ >> /tmp/debug.log' in the 'pva' file returns :0.0 for 'DISPLAY', just like it does on the terminal, where starting Inkscape works
saying 'öffne sozi' works and opens sozi in the foreground
saying 'öffne inkscape' makes Inkscape show up in the task manager
using the custom command 'inkscape &' makes the modified command show up in the task manager
using 'inkscape --gui' doesn't change anything, either.
Trying to make Inkscape log something to /tmp by using 'inkscape &> /tmp/inklog.txt' does not even create a log file, but the changed command shows up in the taskmanager
Killing or closing pva while Inkscape (that is not visible) is running, results in Inkscape suddenly showing up

Don't know what else to try. Seems pva is in some way blocking Inkscape. It's also not because of the pythonenv I have it running in, tried that in terminal... Other programs do not seem affected. I was not able to start Krita, it always understood 'Kreta'. Seems to ignore the contextreplacement thing there.
Not sure it's worth pursuing this. Thank you for all the suggestions, though!

honestly, sounds like an inkscape issue to me.


program runs in UTC time if /etc/localtime not exists on embedded system (improvement proposal)

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
1.10
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
mips/linux
What did you do?
On embedded system, running on LEDE box, time.Now() and everything time related is always in UTC instead of currently set time zone.
Linux system is however running fine, and commands like touch, DATE  are showing right date, time, zone.
This is the code to test:
package main

import (
	"fmt"
	"time"
)

func main() {
	fmt.Println(time.Now().Location())
}

What did you expect to see?
Local
What did you see instead?
UTC
After I just plain simple copied /etc/localtime file from Debian machine, everything worked.
My question/proposal is:
-if the Go time subsystem needs that file during init, could it be better to throw error or warning?
-LEDE/OpenWRT system has /etc/TZ file with content like: CET-1CEST,M3.4.0,M10.5.0/3, so can this be used silently by Go if first case of finding /etc/localtime file fails?

As far as I can tell the /etc/TZ file is not standardized across systems, so I don't see a way to use that.  I would be happy to hear otherwise.
If we're on GNU/Linux and the TZ environment variable is not set and there is no /etc/localtime file, then we don't know the time zone.  But it would not be appropriate to print a warning unexpectedly, and I don't see how it would help to crash the program.  That should be up to the program; it shouldn't be done by the system library.
Closing because I don't think there is anything we can do.  Please comment if you disagree.


Censys and PassiveTotal Key

Hi again
can you explain please how to add the API key to these services?
as you know Censys have API ID and Secret
and PassiveTotal have Key and Secret, where the key is my email address
Thank you

The key requirements for the Censys collector are: censys_id and censys_secret, so it would be:
$ aquatone-discover --set-key censys_id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
$ aquatone-discover --set-key censys_secret xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Key requirements for PassiveTotal are: passivetotal_key and passivetotal_secret, so:
$ aquatone-discover --set-key passivetotal_key<EMAIL_ADDRESS>$ aquatone-discover --set-key passivetotal_secret xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


Removed the check for coord var_name to be CMOR's coord out_name

Should solve #983 and hopefully not introduce any monsters; I think @zklaus is correct and there is no need for such a specific CMOR strict checker option; also, this is something that a LOT of CMIP6 models will not respect and we'll have to end up writing a lot of fix files; alas, I might be terribly wrong :beer:

what @ledm and myself just learned from a CMOR specialist:
Amon/tas is produced on the atmosphere grid, and will have  1D latitude and longitude coordinates. All atmosphere variables on this grid will end up with horizontal coordinate variable names lat and lon
Omon/tos is produce on the tripolar ocean grid, which requires 2D latitude and longitude coordinates. All variables on this grid will end up with horizontal coordinate variables named latitude and longitude.
In both cases the files are CF compliant because the standard_name of the horizontal coordinates are latitude and longitude. As mentioned previously the netCDF variable name is not constrained by the CF conventions.
So the check and error on var_name may as well stay for 1D grids (if it's not lat or lon it means it doesn't really comply well with CMOR) but has to be handled by an exception for 2D grids. Up to you guys if you want to keep the changes as they are now by @sloosvel or reintroduce the full error for 1D grids. At least now I know fully why this crap is happening and @jvegasbsc was all along right to have that check/error in :grin: :beer:

good weekend guys, off to pub :beer:

Amon/tas is produced on the atmosphere grid, and will have 1D latitude and longitude coordinates. All atmosphere variables on this grid will end up with horizontal coordinate variable names lat and lon
Omon/tos is produce on the tripolar ocean grid, which requires 2D latitude and longitude coordinates. All variables on this grid will end up with horizontal coordinate variables named latitude and longitude.
In both cases the files are CF compliant because the standard_name of the horizontal coordinates are latitude and longitude. As mentioned previously the netCDF variable name is not constrained by the CF conventions.

I think thats what @zklaus has been trying to point out all along.

reintroduce the full error for 1D grids.

My bad, I did not consider that case.

Amon/tas is produced on the atmosphere grid, and will have 1D latitude and longitude coordinates. All atmosphere variables on this grid will end up with horizontal coordinate variable names lat and lon
Omon/tos is produce on the tripolar ocean grid, which requires 2D latitude and longitude coordinates. All variables on this grid will end up with horizontal coordinate variables named latitude and longitude.
In both cases the files are CF compliant because the standard_name of the horizontal coordinates are latitude and longitude. As mentioned previously the netCDF variable name is not constrained by the CF conventions.

I think thats what @zklaus has been trying to point out all along.

Pretty much. That certainly is an example of how one model behaves. Generally speaking, atmosphere data is not required to be on a regular grid and ocean data is not required to be on a tripolar grid.
For the ocean, there is a good number of models that use different grids, some different form of tripolar grid (eg bcc), different forms of dipolar like rotated grids or displaced poles (eg CESM2). These generally deliver the data with the gn tag on their native grid. But on top of this there are models like AWI's FESOM that uses a completely unstructured tesselation with varying resolution. These will deliver their data probably regridded with the gr tag and then already have 1d coordinates. Unfortunately they have not published any data yet, so this is conjection.
For the atmosphere, the native grids are usually not straightforward either. We have gaussian grids, ie with non equidistant rings of points, both regular and reduced (eg EC-Earth), alongside things like a triangulation derived from a icosahedron (ICON). It seems though, as (almost?) all models deliver their data regridded to a regular grid which results in the 1d coordinates. But really, for now we don't know since some of the models with other grids are still missing.
So, tl;dr: Both atmosphere and ocean data can be on a simple regular grid or on something richer. If it is a simple regular grid, it should have 1d coordinates with var_names lat and lon. Otherwise, there should be 2d coordinate fields for latitude and longitude, attached to the data variable via the coordinates attribute, but these have arbitrary var_names, decided by the model.

Okay, that makes sense. To me, the only crucial remaining question is:

what is the best way to apply fixes to the ocean models with irregular grids so that ESMValTool can understand these different coordinates naming schemes?

We've had a go at it in PR #1015, but I suspect that this might not be the best approach. (We certainly haven't taken into account for the new grid tag yet.)

There should be no need for fixes. I certainly have used some of this cmip6 data without problems. Once ESMValTool in the form of this CMIP6 check doesn't stop the processing of the data artificially, everything just works. This is because the CF conventions, and with them iris, never relied on the var_name to identify these coordinates in the first place.

yeah, you are correct @sloosvel - sorry @zklaus - I think I re-iterated what you'd already mentioned but yeah, all clear now :grin:
I agree with no fixes and no stops for 2D grids! I am also going to fully disconnect from this thread since you guys know these things better than me. I am just happy I finally understood what this was all about :grinning:

* Allow any var_name for latitude and longitude in CMIP6 only if the coordinate is multidimensional

Ok, I guess this, our longstanding suggestion to support the CMIP6 conventions in this point, really has overwhelming support then.

* Rename var_name to lat lon to make it consistent with 1D case and print a warning explaining why we do it. I am a bit worried about letting pass coordinates with different var_names because is the main reference name to use when using the netcdf library. I am a bit worried about the impact in diagnostics if users are not using things like iris or for other languages

With this, I disagree: the var_name has never been the accepted way to identify these coordinates even outside of cmip in the bare CF conventions (see CF conventions, Section 4). No need to increase our maintenance load only to entice people to rely on things not supported by official standards while confusing those that actually know their data.

thinking of it, how about we do checks if grid is gr and don't if grid is gn, that's probably the loosest and yet the most comprehensive case?

As far as I understand it, there is no guarantee that gr will be regular, nor that gn will be irregular.
I suggest to do the determination of regular vs irregular grid such:
if (table contains lat and lon as dimensions):  # horizontal grid present
  if ((var contains lat and lon as dimensions) and (var.coordinates does not contain latitude and longitude):
  regular grid
  elif ((var has two dimensions in place of lat and lon (rightmost in cube overview)) and (var.coordinates contains latitude and longitude):
    irregular grid
  else:
    error

Please re-open this pull request in the ESMValTool Core repository. You can do so by pushing this branch to that repository, using the following instructions.
First add the repository with
git remote add esmvalcore git@github.com:esmvalgroup/esmvalcore

or
git remote add esmvalcore https://github.com/esmvalgroup/esmvalcore

if you're not using ssh to connect to GitHub.
Next upload the branch with
git push esmvalcore your_branch

and open a pull request here

@valeriupredoi this is your branch, but if you don't mind I am moving this to the core repository because need this fix for primavera.

sounds like a plan, Saskia! Cheers :beer:
Dr Valeriu Predoi.
Computational scientist
NCAS-CMS
University of Reading
Department of Meteorology
Reading RG6 6BB
United Kingdom
On Thu, 20 Jun 2019, 09:36 sloosvel<EMAIL_ADDRESS>wrote:

@valeriupredoi https://github.com/valeriupredoi this is your branch,
but if you don't mind I am moving this to the core repository because need
this fix for primavera.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ESMValGroup/ESMValTool/pull/1023?email_source=notifications&email_token=AG5EFI5CMAXQZE6OCZXKO4DP3M6RTA5CNFSM4HHX52R2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYEWXLA#issuecomment-503933868,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG5EFI2ECJJXVNAHNE2XJJTP3M6RTANCNFSM4HHX52RQ
.

This has been moved to ESMValGroup/ESMValCore#106


Detect missing extensions early

Let's open a FITS file with embedded ASDF. Assume that our data actually required additional extensions, such as jwst_extensions from jwst.datamodels.model_base, but we forgot to provide it:
import asdf

# open FITS file containing embedded ASDF
ff = asdf.open('embedded_asdf.fits')
print(ff.tree)

Since the required extensions were not loaded using the extension keyword argument to the open call, an error something like the following will occur:
.../astropy/modeling/core.py in _check_inputs_and_outputs(mcls, operator, left, right)
   2143         if operator == '|':
   2144             inputs = left.inputs
-> 2145             outputs = right.outputs
   2146
   2147             if left.n_outputs != right.n_inputs:

AttributeError: 'TaggedDict' object has no attribute 'outputs'

It would be nice to detect missing extensions at the open call and handle the error gracefully, rather than expecting users to interpret the above error and figure out what went wrong. For some reason this only seems to affect AsdfInFits currently, although maybe we need better test cases.

I believe this is now being handled satisfactorily by #475.


Can't include typescript folder (index.ts) exports

Bug Report
Importing fails silently when trying to include directory / index exports.
How can I avoid changing my entire codebase to include the tsx? extensions?
Why is it currently required?
This Fails
// ./BaseButton/index.ts
export * from "./BaseButton";
export { default } from "./BaseButton";

// ./Button/Button.tsx
import { BaseButton } from "../BaseButton";

...

# ./Button/Button.mdx

import { Playground } from 'docz'
import Button from './Button.tsx'

# Button

<Playground>
  <Button>Push Me</Button>
</Playground>

This Works
// ./BaseButton/index.ts
export * from "./BaseButton.tsx";
export { default } from "./BaseButton.tsx";

// ./Button/Button.tsx
import { BaseButton } from "../BaseButton/index.ts";

...

# ./Button/Button.mdx

import { Playground } from 'docz'
import Button from './Button.tsx'

# Button

<Playground>
  <Button>Push Me</Button>
</Playground>

Enviroment

OS: Debian Squeeze
Node/npm version:  Node 8.9.4 npm 5.4.0

My IDE (vim + YouCompleteMe9 is also complaining with An import path cannot end with a '.ts' extension. Consider importing '../BaseButton/index' instead. and the types are not imported correctly this way 🤔

This is a real big problem, I don't know what's happening here but If you omit the extension with typescript webpack don't work as expected!
I don't know if a bug related to this or this

I managed to fix it in v0.2.8


Leadership calendar error handling

@rosskarchner
during any failures on PDFReactors part, it should at minimum redirect to the filtered print page

In #2198 I removed the whole /print/ URL, but made /pdf/ fail in a similar way-- if the PDF can not be generated, then, it will return the rendered HTML.

I'm gonna close this for now.


Improve readability and conform to the standard

Why:
Improve readability and conform to the standard way of writing these expressions (at least: the standard in the docs)

What's being changed (if available, include any code snippets, screenshots, or gifs):
Improve readability and conform to the standard

Check off the following:

[x] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@rajbos Thanks so much for opening a PR! I'll get this triaged for review :zap:


chore: configure Renovate to run go mod tidy

I ran go mod tidy on this one too and it changed go.sum.

I ran go mod tidy on this one too and it changed go.sum.

This PR tells Renovate to start running tidy from now on whenever it upgrades.  I opted not to do one last manual tidy to avoid conflicts between this PR and #461, figuring that the next Renovate PR that is merged will be automatically tidied.


Front-end Applications Reconnect

When the traccar server restarts, the devices will (generally) reconnect automatically to the server to send information.  Is there a way for the web and mobile applications to automatically reconnect so that notifications are not missed?

I guess technically it's possible with saved login, but web app doesn't re-login automatically at the moment.

I would think that it would be simplest for the applications to attempt to re-login rather than the server to preserve and recreate sessions.  Front-end applications are not my forte.  Can you suggest a few design choices that I could consider?  Or, is this something you could take on?

I was not talking about server side.
I have just implemented page reload in case of authentication error:
https://github.com/tananaev/traccar-web/commit/47eff075095604afa7405993ce2d7b4ae29fc939
Basically it would return user to the login screen after restart.

Thanks.  I will look into it.

Is it possible to contribute to traccar-web/ without a license from Sencha?  I use NetBeans for my IDE.

jss

We use open source version of Sencha. You don't need to have any license to use it.

Thanks.  I just requested a copy.

Sorry to keep reopening this issue but, as I said, front-end applications are not something I do regularly.
Do you have instructions on how to appropriately add the ExtJS libraries to NetBeans so that I can mark them as a dependency for the traccar-web project?

No, I don't know.

Thanks.


examples/synthesis_json.py can take multiple file path inputs.

Runs analysis for each file path separately.
TODO: Write out JSON files for each iteration
TODO: Find naming scheme for when files do not have m-type in their name
TODO: Store results of analyses in list to user can use them in
interactive session

Current coverage is 100.00%

Merging #122 into master will not affect coverage as of f1a6ce7

@@            master    #122   diff @@
======================================
  Files           30      30
  Stmts          988     988
  Branches         0       0
  Methods
======================================
  Hit            988     988
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of f1a6ce7

Powered by Codecov. Updated on successful CI builds.

@lidakanari This might be of interest.

TODO: Find naming scheme for when files do not have m-type in their name
-> That would be my comment as well, in order to make it work for biological data. Could we make the example take as input a datapath (or multiple) and the corresponding type for each directory if it is provided?

Yes, I am trying to figure out the least confusing way of providing this functionality via the commandline. I hope to have something ready later today.


I hope some of the Demo and stable development of translation tools and tool use

In j2objc the translation process, and without a stable translations help tool, in the gradle translation plug-in stops maintenance, is a good translation projects, please, or items now have some demo or too little information on the Internet,

Please use a different project, as this project is not meeting your needs.
j2objc is a software engineering tool that works with j2cl to build very-large projects with separate platform-independent, shared code. It is not the right tool for smaller apps, as the build overhead outweighs any benefits.


Set control plane initialized condition

Set control plane initialized condition to true, we should hardcode it before we get proper control plane management using CAPI.

/lgtm

/retest

/retest

/retest

/hold

/unhold

/retest

/retest

/retest


compiled template size

Hi, from tpl like Hello, {{name}}! which is 16 bytes I got 357 bytes of minified js. It seems like not optimized  output here (string literals usage in tpl's code, long unclear variables placeholder).
We have 500kb of templates in our app so I'm searching a way to reduce it a bit.
Could somebody help me? :)

Closing due to inactivity.


Keep topic-level policies commands consistent with that for namespace…

Fixes #9205
Motivation
In #9108, we add some topic-level policies commands, and found some commands are not consistent with that for namespace-level.
For example,
On namespace-level, the policies commands are:
get-max-producers
set-max-producers
remove-max-producers
get-max-unacked-messages-per-subscription
set-max-unacked-messages-per-subscription
remove-max-unacked-messages-per-subscription

On topic-level, the polices commands are:
get-maxProducers
set-maxProducers
remove-maxProducers
get-max-unacked-messages-on-subscription
set-max-unacked-messages-on-subscription
remove-max-unacked-messages-on-subscription

Modifications
Keep topic-level policies commands consistent with that for namespace
Verifying this change

@315157973 Thank you for your contribution. Have we taken compatibilities into consideration in this PR?
I mean, for example, both get-maxProducer and get-max-producer commands are available for existing users (get-maxProducer) and new users (get-max-producer). When users check the topics subcommands in terminal, only get-max-producer will be listed.
@sijia-w could you also help review this PR? Thank you.

@315157973 Thank you for your contribution. Have we taken compatibilities into consideration in this PR?
I mean, for example, both get-maxProducer and get-max-producer commands are available for existing users (get-maxProducer) and new users (get-max-producer). When users check the topics subcommands in terminal, only get-max-producer will be listed.
@sijia-w could you also help review this PR? Thank you.

@315157973 Thank you for your contribution. Have we taken compatibilities into consideration in this PR?
I mean, for example, both get-maxProducer and get-max-producer commands are available for existing users (get-maxProducer) and new users (get-max-producer). When users check the topics subcommands in terminal, only get-max-producer will be listed.
@sijia-w could you also help review this PR? Thank you.

Regarding compatibility, I have discussed with @codelipenghui, considering that CLI is always input by humans (either by looking at the document to copy and paste, or through the help command), direct modification does not have a big impact.
We have not changed the API interface.

@315157973 Thank you for your contribution. Have we taken compatibilities into consideration in this PR?
I mean, for example, both get-maxProducer and get-max-producer commands are available for existing users (get-maxProducer) and new users (get-max-producer). When users check the topics subcommands in terminal, only get-max-producer will be listed.
@sijia-w could you also help review this PR? Thank you.

Regarding compatibility, I have discussed with @codelipenghui, considering that CLI is always input by humans (either by looking at the document to copy and paste, or through the help command), direct modification does not have a big impact.
We have not changed the API interface.

@315157973 Thank you for your clarification.

@315157973 Thank you for your clarification.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@sijie It has been modified as required, please help CR again

@sijie It has been modified as required, please help CR again


[BUG] MVG Connections always shows the connection between Marienplatz and Giesing no matter how the config file is modified.

Environment
Self-Hosted (Docker)
System
Rapsberry Pi 4(4GB)
Version
2.1.1
Describe the problem
The widget MVG Connections always shows the connections between Marienplatz and Giesing no matter how the config file is modified. Below is the GET request after i refresh the widget.

The de:09162:2 denotes Marienplatz and de:09162:1110 indicates Giesing

Then I went inside to the docker container via docker exec <container-id> --it /bin/sh and cheked the conf.yml in /public/ folder.

which is correctly changed to de:09162:420(Freimann) and de:09162:70(Universitaet). And I rebuilt the application after the modification to make sure the conf.yml is truely modified(maybe kinda redundant :D). Moreover, I have tried with directly set the origin/destination attributes as the stop name and different stop combinations. However, it always shows the connection between Marienplatz and Giesing.
P.S. another problem with the widget mvg(not mvg-connection) is that it shows a error.

Here is the  conf.yml.  And the same with above case, replace the stop id with the stop name still not working. This widget has even not raise a GET request and disappeared(body get empty) after i refresh it.

Thanks for the great works!
Additional info
No response
Please tick the boxes

[X] You have explained the issue clearly, and included all relevant info
[X] You are using a supported version of Dashy
[X] You've checked that this issue hasn't already been raised
[X] You've checked the docs and troubleshooting guide
[X] You agree to the code of conduct

have missed a 's' in 'options' and it is all fine. 👍 my mistake.


css: Remove unnecessary 'prefixed-transition' mixin.

The transition property does not need prefixing. In fact, very
few properties need that nowadays. So remove it to simplify the code.
Many of these styles shouldn't have been prefixed even if needed.
The prefixes exist exactly because the implementations might differ
from the incoming standard.
Looking at the supported browsers:
https://caniuse.com/#search=transition
We see that this property has had mainstream support from 2012 and
was supported on Firefox in 2006 !!!

Cool, thanks for the PR.  It does look like we couldn't get away with removing these a couple years ago, but definitely can now.  Can you also change the things not using this mixin (can find with git grep webkit-transition) outside static/third in a second commit?

Sure.
A curious thing: the user-select property actually needs the prefixes as this, while introduced quite a while ago, still have not been standardized.

Looks like you didn't get around to updating this; merged and added a28af1fd6452b525f242ad10d35d5dbb1adbd3c3 to fix my review suggestion.  Thanks @borisyankov!


[WIP] attempted test of reconciler

This PR is for discussion only - not ready to merge.
Async testing (as required for testing the reconciler) with DOM in jest is new to me - I'm stuck.
My strategy with testRender() is to make two calls to render() - since the actual rendering is deferred, I'm relying on the update queue to indirectly indicate that the first render has completed, at which point the innerHTML of the target element should be populated.
But half the time, I get this error:
    console.error node_modules/jsdom/lib/jsdom/virtual-console.js:29
      Error: Uncaught [TypeError: Cannot read property 'base' of undefined]
          at reportException (/mnt/c/workspace/fre/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)
          at Timeout.callback [as _onTimeout] (/mnt/c/workspace/fre/node_modules/jsdom/lib/jsdom/browser/Window.js:680:7)
          at ontimeout (timers.js:466:11)
          at tryOnTimeout (timers.js:304:5)
          at Timer.listOnTimeout (timers.js:267:5) TypeError: Cannot read property 'base' of undefined
          at base (/mnt/c/workspace/fre/src/reconciler.js:171:39)
          at commit (/mnt/c/workspace/fre/src/reconciler.js:161:5)
          at Array.forEach (<anonymous>)
          at forEach (/mnt/c/workspace/fre/src/reconciler.js:160:15)
          at commitWork (/mnt/c/workspace/fre/src/reconciler.js:42:11)
          at workLoop (/mnt/c/workspace/fre/src/reconciler.js:38:7)
          at Timeout.callback [as _onTimeout] (/mnt/c/workspace/fre/node_modules/jsdom/lib/jsdom/browser/Window.js:678:19)
          at ontimeout (timers.js:466:11)
          at tryOnTimeout (timers.js:304:5)
          at Timer.listOnTimeout (timers.js:267:5)

  ● render HTML elements

    TypeError: Cannot read property 'base' of undefined

      169 |   fiber.parent.patches = fiber.patches = []
      170 |   let parent = fiber.mum || fiber.parent.base
    > 171 |   let dom = fiber.base || fiber.child.base
          |                                       ^
      172 |   switch (fiber.patchTag) {
      173 |     case UPDATE:
      174 |       updateElement(dom, fiber.alternate.props, fiber.props)

      at base (src/reconciler.js:171:39)
      at commit (src/reconciler.js:161:5)
          at Array.forEach (<anonymous>)
      at forEach (src/reconciler.js:160:15)
      at commitWork (src/reconciler.js:42:11)
      at workLoop (src/reconciler.js:38:7)
      at Timeout.callback [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:678:19)

And the other half of the time, I get a timeout, as the second render() never seems to complete at all.
@132yse any ideas?
(I also couldn't get async and await to work at all - the documentation doesn't help, and there's an issue with some solutions that didn't work for me either - so for now, I'm manually using .then() and calling done().)

Is it possible to test DOM with jsdom and enzymes?

here
I saw that the test of DOM in HA was written a testVdomToHtml function to test vdom results.

HyperApp has no scheduler - DOM updates are synchronous, so it doesn’t really help with that.
I will look to see how React and Preact do this...

I need to explain:
I think we can test DOM results synchronously for two reasons:

Fre hasn't been scheduled yet. Now it has a time slice in it, only for reconciliation. The rendering of DOM is synchronous yet.
As far as I know, react also has no test case for asynchronous rendering.

I haven't implemented priority scheduling yet 😭 . This may be done in v2. It will be a challenge.

I found that yesterday's PR about h function still had an impact on reconcilation, so I refactor it and now it's well.

The render() function calls scheduleWork, which calls defer(workLoop), so the rendering is deferred, it's not synchronous - I don't think it's synchronous in React either, I've seen them using the callback argument to render() in some tests at least.
Anyhow, I know what's wrong with this approach now: the functions in the reconciler rely on several global variables, so you can't make two consecutive calls to render() at all right now - because both will start their own deferred workLoop, and various functions will try to write to the same variables.
So, as of right now, there's no way to render() more than one thing at a time.
Major changes to reconciler are probably needed to make that possible? - but I think, for now, we need the render() callback argument, to at least make it possible to add tests.

I mean, instead of testing asynchronous rendering, we only test the final DOM result.
Now it's hard for me to think of ways to test workloop.
there may be a big change in the future. I want to implement priority scheduler, but then it will be more difficult to test.

I mean, instead of testing asynchronous rendering, we only test the final DOM result.

How?
Rendering does not happen immediately - it goes into the workLoop first, which gets deffered.
To test the final DOM result, I need to know when rendering is done.

I have a idea to turn on synchronous rendering. Such as :
options.sync? workloop(): defer(workloop)

I'll refactor this part tomorrow to support synchronous rendering.
What do you think?

I don't think that's going to work? Under certain conditions (timing) the workLoop may schedule itself via defer(workLoop) - there are many calls to defer(workLoop), so I think it would be better to add the render() callback?
Also, testing the deferred workloop is actually important - if we avoid testing it, we won't be testing how it really works in a browser; we'd never get full test-coverage, so you can't be sure if you've broken something.

(Sorry about the mess, by the way - I have problems with my git installation, it seems it has replaced all lf with crlf and I can't get it to go back... I will probably scrap the whole PR and reopen it tomorrow.)

If there is a better way, we can try it.
If synchronous rendering is turned on, at least we can test other logic
In fact, I am not satisfied with Fre's time slicing right now. I want to implement priority scheduling, maybe work at the same time?

I have problems with my git installation
Haha, that's OK. We can continue our discussion.

In fact, I am not satisfied with Fre's time slicing right now. I want to implement priority scheduling, maybe work at the same time?

That would be amazing :-)
Didact is a good source of reference - there is proof that it does what it says it does, and an article that tries to explain it. (Frankly, I've tried, and it's over my head.)
Actually, I've tried to create a similar demo for Fre - I thought fibers were what made this work? I thought it was standard in React, actually. I can't seem to get it to work - it's got that CSS animation "glitch" either way... Maybe I'm doing something wrong?

Poor English limits my expression 😭 .
First of all, thank you for the use cases, which are great.
We see that the use case is Carton, because fre now limits the threshold of 16 ms and wastes time if the task is less than 16 ms.
It's always slower than synchronous rendering, but it doesn't break the UI renderding.
Didact uses `requestIdleCallback,  tasks are low priority, but it can make full use of idle time
According to my understanding of pure functional views, I don't want to use the this API. I want to reimplement the browser's stack as react does.

Closing this - there's a better PR coming in a moment!


GLFW window cleanup causes a Segmentation Fault on exit

Creating a window with glfwCreateWindow() and  wrapping up with glfwTerminate() works fine in C:
#include <stdio.h>
#include <GLFW/glfw3.h>

void main() {
    glfwInit();
    GLFWwindow *window = glfwCreateWindow(640, 480, "GLFW Test", NULL, NULL);
    glfwDestroyWindow(window);
    glfwTerminate();
}

With bindings for the same:
glfwtest.txt
I get a segmentation fault when main() exits (not on glfwTerminate()):
===== CRASH =====
si_signo=Segmentation fault(11), si_code=1, si_addr=0x7fc4008b24e0
version=2.7.1 (Thu Jan 23 13:02:26 2020 +0100) on "linux_x64"
thread=9226, isolate=(null)((nil))
Stack dump aborted because GetAndValidateThreadStackBounds failed.
zsh: abort (core dumped)  dart glfwtest.txt

There is no segmentation fault if no window is created.
System Details
OS: Arch Linux, Gnome on Wayland
Using Dart 2.7.1 from the archive:
Dart VM version: 2.7.1 (Thu Jan 23 13:02:26 2020 +0100) on "linux_x64"
The glfw library is glfw-wayland from the arch community repository.

/cc @dcharkes

@FeatherRune0 can we repro this with https://github.com/FeatherRune0/dart-experiments/tree/master/glfw ?

@FeatherRune0 can we repro this with https://github.com/FeatherRune0/dart-experiments/tree/master/glfw ?

Yes, simple.dart will crash in a similar manner on closing the window(Esc if the titlebar is not shown on wayland environments).
glfwtest.txt is just a minimal version of simple.dart.

It does not reproduce for me on a build from yesterday or 2.7.1.
dacoharkes@dacoharkes-l:~/ffi_samples/FeatherRune0/dart-experiments/glfw$ ~/master/sdk/out/DebugX64/dart simple.dart
[does not crash on closing window]
dacoharkes@dacoharkes-l:~/ffi_samples/FeatherRune0/dart-experiments/glfw$ ~/master/sdk/out/DebugX64/dart --version
Dart VM version: 2.8.0-edge.3b6935f30e6f020e47eb8f455208bf6e532085e2 (Thu Mar 19 11:26:39 2020 +0000) on "linux_x64"
dacoharkes@dacoharkes-l:~/ffi_samples/FeatherRune0/dart-experiments/glfw$ ~/Downloads/dart-sdk/bin/dart simple.dart
[does not crash on closing window]
dacoharkes@dacoharkes-l:~/ffi_samples/FeatherRune0/dart-experiments/glfw$ ~/Downloads/dart-sdk/bin/dart --version
Dart VM version: 2.7.1 (Thu Jan 23 13:02:26 2020 +0100) on "linux_x64"

I'm using the libglfw3 that gets installed from apt-get on Debian.

Now I am not sure if it's a bug in dart, glfw's wayland implementation, or Arch's glfw build.
I retested it in an xorg environment with glfw-x11 instead of glfw-wayland, and:

The C version does not segfault with glfw-x11 and glfw-wayland
The Dart version segfaults with glfw-wayland only

I will do some further tests with my own glfw builds tomorrow.

On testing with local glfw builds, I get the same results as before, so it's not Arch-specific but almost certainly related to wayland.
This was confirmed when I used a Ubuntu 18.04 vm and tested it with the Ubuntu on Wayland session:

With libglfw3 from the repositories, no segfault
With libglfw3-wayland, segfault on exit

pulak@pulak-VirtualBox:~/dart-experiments/glfw$ ~/dart-sdk/bin/dart simple.dart

===== CRASH =====
si_signo=Segmentation fault(11), si_code=1, si_addr=0x7f267b8320d0
version=2.7.1 (Thu Jan 23 13:02:26 2020 +0100) on "linux_x64"
thread=6744, isolate=(null)((nil))
Stack dump aborted because InitialRegisterCheck failed.
Aborted (core dumped)

Based on your comment above this does not seem to be a Dart issue, can we close this issue.


Nutrition table image not visible to edit values on mobile -> makes completion difficult from an image

@teolemon @jusdekiwi Actually there's a "nutrition image" button on top of the nutrition facts edit screen, isn't there?

Probably something along those lines, where the photo is more easily visible:

The real killer will be when we'll be able to display chunks of the nutrition table image thanks to Robotoff and ask the user to validate it.
We have a funded 12 month project to extract automatically the nutrition table, and we'll probably be able to return photo crops by the end.

The visuals are really helpful, but is there a model that extracts and pre-fills the nutrition values ?
I think it would greatly facilitate data capture if we only need to correct or add missing values, this would also encourage to take more readable and clean pictures of the nutrition facts panel, as good quality pictures will reduce manual work.

For auto-extraction: https://github.com/openfoodfacts/smooth-app/issues/4896


feat: add support for file logger

Description of changes:
Add the ability to log netbench traces to a file in addition to the existing stdout. This allows us to get netbench logs while using the collector, which tends to read from stdout.
Callout:
A newer version of clap adds warning for same arg names so I prefixed Client/Server with Netbench. This is just a refactor change.
Testing:
Ran locally and verified that the driver write to a log file.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Some caveats about Cloning a FilleLogger: multiple server connections will write to the same file and the logs will be interleaved.


Run go mod tidy in workflow

Description
Run go mod tidy and check difference and fail if changes found in workflow.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[x] Unit tests passing
[x] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@mukundansundar This is good. What happens if go mod tidy cleaned up the pkg incorrectly without our control ? the binary could be different from what we tested.. Instead, we can run go mod tidy only for PR build and if there is the change required, then you can return non zero exit code to let PR author notify that go mod tidy is required.
I trust go mod tidy behavior, but there is a chance that this command can change go.mod and go.sub out of our control.
@yaron2 @tcnghia any thoughts?

@mukundansundar This is good. What happens if go mod tidy cleaned up the pkg incorrectly without our control ? the binary could be different from what we tested.. Instead, we can run go mod tidy only for PR build and if there is the change required, then you can return non zero exit code to let PR author notify that go mod tidy is required.
I trust go mod tidy behavior, but there is a chance that this command can change go.mod and go.sub out of our control.
@yaron2 @tcnghia any thoughts?

From my reading of the workflow, this is exactly as you thought.

@mukundansundar This is good. What happens if go mod tidy cleaned up the pkg incorrectly without our control ? the binary could be different from what we tested.. Instead, we can run go mod tidy only for PR build and if there is the change required, then you can return non zero exit code to let PR author notify that go mod tidy is required.
I trust go mod tidy behavior, but there is a chance that this command can change go.mod and go.sub out of our control.
@yaron2 @tcnghia any thoughts?

From my reading of the workflow, this is exactly as you thought.

Oh right. I missed the change in makefile. Apologies..