[build-script] Move parts of BuildScriptInvocation into HostSpecificConfiguration

The calculation of the platforms to build/test were only used by HostSpecificConfiguration, but were done in BuildScriptInvocation, and to make things work, the full BuildScriptInvocation object was passed down onto HostSpecificConfiguration. The changes in this commit move the code into HostSpecificConfiguration, and only pass args into it to let itself calculate the platforms to build/test.
This will allow in the future that HostSpecificConfiguration can to be removed from the main script file, can be tested and can be used by several parts of the build script process. During a transition period, it will be useful for the builder that delegates to build-script-impl, but in the end, it might only be useful for the Swift builder.
This commit is part of #23810 which was reverted in #23861. This commit only deals moving pieces of BuildScriptInvocaton into HostSpecificConfiguration.
This was part of #23257. I’m trying to split the PR in smaller ones to make the reviews easier. Other PRs in this group are #23303, #23803, #23810, and #23822, #23865.

@swift-ci please test and merge


[FEATURE]Support separation of alerts/monitors/destinations based on tenants/workspaces

Is your feature request related to a problem?
A large organization is most likely to have multiple administrators for managing cluster resources.  For example, admin_a and admin_b could be responsible for managing indices index_x, index_y and associated resources such as alerts and monitors. Similarly admin_a, admin_c could be responsible  for  index_z.
Alerting does not have a concept of ownership, any user with the right permissions can read/delete alerting resources. #138 provided some segmentation based on backend roles.
To ease the administrative process, Dashboard  tenancy provides a way to group related objects together although such support is only available for Dashboard objects such as visualizations, index patterns. For cluster owned items such as alerting, tenancy separation is not available. For example, in the above scenario, admin_a would like to group index_x and index_y related Information in one tenant and index_z in another tenant. Such tenant separation is currently available for items such as index patterns but for plugin objects like monitors.
What solution would you like?
Would like the ability to group not only Dashboard objects but Cluster/Plugin/Extension objects (specifically alerting) with tenants/workspaces
Possible approaches could be to store references to the alerting objects as part of Dashboard tenants or store tenant information as metadata in the alerting object which can then be used later as filter during display.x
What alternatives have you considered?
Considered  #138 but is has few drawbacks. It does not address scenarios such as the one mentioned, requires additional backend roles to be created in some instances and end users need to be aware of backend roles that need to be mapped.
Do you have any additional context?
Add any other context or screenshots about the feature request here.

[Triage -- attendees 1, 2, 3, 4, 5, 6, 7]
Looks like a good feature request.


modulesync 2.11.0

The files metadata.json and manifests/params.pp contain different releases. For example: Ubuntu 12.04 (Precise) is EOL since the beginning of 2019.

I think in the past we sometimes dropped one OS from the metadata.json and didn't purge all related code.

https://github.com/voxpupuli/puppet-unattended_upgrades/pull/169 & https://github.com/voxpupuli/puppet-unattended_upgrades/pull/170 should IMHO be merged before this is rebased.

@ekohl merged and merged :)


netkan bot should show URLs in case of network errors

The MirrorKAN log is full of stack traces where we encounter 404 or 403 HTTP errors.
In those case, the attempted URL should also be printed to make debugging easier.

This really should be in CKAN-netkan, could you move it there?

This issue was moved to KSP-CKAN/CKAN-netkan#24


"Users in message" misses users unknown to GS host

If a user is unknown to the current host because no one ever followed him from there (most likely for relatively new users) it isn't shown in "users of message" view. Information should be fetched there on demand.

The problem is that e.g. in this concrete example we even don't have "WebFingerID" of the user, so it is impossible to reliably resolve the user?!
Suppose that you typed WebFingerID e.g<EMAIL_ADDRESS>and current GNU Social server still doesn't return any information on this user. How to connect to that "somehost.net" ?
BTW pump.io solved that problem - it has a way to register automatically on any federated server...

I see. So it's merely a GNU Social problem.
I will open an issue over a their repo.

It came to me that specially for GNU SOCIAL I could add "Lookup in other Social networks" context menu item. This new item appears for a GNU Social User, if accounts in more than one Social network of "GNU Social" type configured in AndStatus.
?!

Sounds good, but there must be some feature in Gnu Social which pulls in unknown user's data. Not sure if thats available via API.


Redo the test SQL content

It's broken and outdated.
We should redo it so it can be utilized in tests which will simplify the setup process VS needing to have each test setup data in the DB that it needs

Closed via #2085 which fixed the existing test content (I assumed it was far worse, incorrectly apparently)


Mixin warning: is public and should be specified in value

Hi, I know this does not cause any issues, but solving warnings is always good.
@Mixin target net/minecraft/class_4970$class_4971$class_3752 is public in ferritecore.blockstatecache.mixin.json:BlockStateCacheAccess and should be specified in value

Maybe you can solve this? I don't know much about Mixin but you probably need to add @Public or something together with @Mixin.

Fabric is lying. That class is net.minecraft.block.AbstractBlock.AbstractBlockState.ShapeCache and is defined package-private.

Exactly. My guess is that something is making it public at runtime (maybe some access widener?), it certainly isn't public at build-time, which is what matters.
I agree that it's generally a good idea to fix as many warnings as possible, but in this case the warning seems to be a false positive. If there was some exclusion list of "I know you (Mixin) think this wrong, I actively disagree" I'd add it there, but as there isn't one (AFAICT) the warning will just have to stay.


[Bounty] FeeCurrencyWhitelist is not UsingRegistry storage variable

Expected Behavior
Because the Registry address 0x0..ce10 (and for that matter the SortedOracles address) are not expected to ever change, this contract can make the address static in its bytecode and avoid a complex Governance situation.
In future it could save this and other core contracts a marginal amount of gas avoiding the relevant storage load operations.
This decision and migration from a storage registry address to a bytecode registry address should be well documented and understood.
Current Behavior
In this gitcoin bounty PR, it was discovered that FeeCurrencyWhitelist is not already consuming UsingRegistry for lack of use.
However, the ticket specifies that fee currencies should have oracle reports before they are whitelisted, meaning a lookup to the SortedOracles contract through the registry. Introducing FeeCurrencyWhitelist is UsingRegistry implies a storage level change which requires a new proxy deployment and initialization, and an atomic migration from the existing whitelist.

potentially specify as bounty cc @aslawson

@yorhodes i'm a bit unclear on the action of this ticket and your comment --
is it this just to investigate repercussions of hardcoding the registry address and document the decision to do so?
and are you saying we should bounty this ticket or prioritize it since a bounty is pending on it?

My recommendation is to introduce a UsingRegistryV2 which has the registry address defined in the bytecode. This will also be useful beyond FeeCurrencyWhitelist for 3rd party devs.
This would allow us to maintain storage compatibility across the core contracts.
We should document this solution if implemented.
I think implementing UsingRegistryV2 and making FeeCurrencyWhitelist is UsingRegistryV2 is an easily understood bounty.

I see, because the address is the ONLY storage variable in the UsingRegistry and if anything extends it, is adds a storage change (requiring new contract releases).
Makes sense to me and seems easy enough to explain for a bounty 👍

@aslawson This issue is labeled bounty after PR. Is it still be payable?

Hey @deepakhb2 I had marked this as bounty because I saw it in our sprint board and wanted to differentiate from internal team's work. Let me see what we can do with gitcoin.

Ok np. Now, I understand. I saw something same on other issue as well. Thank you.

@deepakhb2 I am retroactively funding this issue so you can be paid for your work, thank you! The bounty is reserved for you. When you claim it and link to the completed work, I will pay it.
https://gitcoin.co/issue/celo-org/celo-monorepo/7616/100025763

Thank you @critesjosh I think you need to approve. So that I can submit my work.

Thank you @critesjosh I think you need to approve. So that I can submit my work.

approved

I am not able to submit bounty. It is throwing error like CELO address is invalid but I have submitted before with same address. Please check on the same and confirm. Thank you.

I am not able to submit bounty. It is throwing error like CELO address is invalid but I have submitted before with same address. Please check on the same and confirm. Thank you.

ok, I am chatting with gitcoin support right now. We'll try to resolve this soon.

@deepakhb2 can you try again? the issue should be resolved

Thank you @critesjosh I have submitted the work.


Default parameters are required.

I have a route with different overloads like
[HttpGet(“submit”)]
[HttpGet(“submit/{type:minlength(1)}“)]

Swagger generates both of those as separate but on the submit end point type is required. This is a bug.

I don't understand your issue. Please provide more detail, JSON examples, screenshots etc.

Seems I got the same problem.
[HttpGet("channelConfigs/{channelName?}")]  public async Task<IActionResult> GetChannelConfigs([FromRoute]string channelName)
The “channelName” parameter actually is optional but on the Swagger ui prompts it required.

Swashbuckle does not support optional “path” parameters because the Swagger 2.0 specification does not support optional “path” parameters:
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#parameterObject
To describe your endpoint with Swagger, you need two separate endpoints as opposed to one with an optional “path” parameter. The easiest way to do this is two have two action methods.

Yes, but swashbuckle can detect this and create two endpoints with one having the parameter and one that doesn't. The current issue is we generate one and it's required and we can't just click execute without having a validation error.

I'm not keen on that approach - what if there's 2 optional path parameters, 3, 4 … you would need to generate an action for each combination and that would lead to some ugly docs. Sorry, but for now this is going to remain on the "unsupported" pile.


[BUG] Does Not Wake Up

Describe the bug
When attempting to wake up a computer via UpSnap, it does not wake up.
When attempting to wakt up the same computer with WakeMeOnLan, it wakes up.
To Reproduce

Turn off computer.
Press the Red power button on the configured computer in UpSnap

Expected behavior
The computer to wake
UpSnap version
3.3.0

Host OS (and version)
Docker
Host Architecture
amd64
Brower (if relevant)
Chrome

Can you give more info or any clues about where the problem might be? It's really tough to figure this out without some additional details.

You can try a wol packet sniffer like wake on lan monitor to see if the pc actually receives the wol packet. Make sure to set UDP port 9 before starting

It's not sending anything to the computer.

It's really hard to debug this. Try to set the device's netmask to <IP_ADDRESS> and try again.
If that doesn't work either, I assume other programs do some additional things besides sending a package to port 9.

I was using <IP_ADDRESS> because that's the mask of the subnet.  It's just a simple, /24, flat network.  Totally vanilla.
Yes, Ok!  I'll use this moving forward.  Thank you


[17603] Partial domain participant tests

This PR includes unit tests for:

DomainParticipant is_default_profile attribute.
DomainParticipant default external unicast locators.
DomainParticipant builtin metatraffic external unicast locators.
DomainParticipant builtin initial peers.

Closing and reopening so the CI job is rerun with the correct workflow


Why does Godot have to make it really complicated to set up the ability to use C++?

According to this article
Why is it so difficult to just to set up the ability to use C++ In Godot 3.0? Users are able to just create a GDScript with ease but for some reason if a user wants to use C++ they have to do a whole lot just to get it to work, I wish that everything just comes straight out of the box
Please so correct me if I am wrong.

Godot is designed for devs to make game with scripting language, reduce compile and build time. So you can change things around while you are running the game.
C++ can kick in to help optimize certain part of the game. Part that requires high computation workload, or part that when you tested it's too slow. Thus you do that in C++ by creating a C++ custom module. Creating such custom module is not straight forward as compared to writing code with GDScript. You have to re-compile Godot engine for all your target platforms as well (but you can also do cross-compile either [to Linux/Windows from macOS(http://docs.godotengine.org/en/stable/development/compiling/compiling_for_windows.html#cross-compiling-for-windows-from-other-operating-systems), or to macOS from Linux/Windows, so it's doable enough). Links I referenced are based on v.2.1, so notice at the bottom of the page for those official document whether it's 2.1, or latest (latest means 3.0 onwards).
But to-be-released Godot 3.0 will make this writing in C++ easier, and accessible without re-compilation of the engine itself. It makes use of shared library (through what called GDNative), that the engine can dynamically link to your custom module in run-time. You can see example of creating such a custom GDNative ones here.
So in short, code in general would be coded in GDScript but for certain areas you can do it in C++. If you really want to do C++ fully for your game, see this comment. I agree with his answer in the link, you will still need to hook up entry point i.e. node, scene in Godot editor then hook up to call your C++ module. Anyway, the niffty gritty core part of your game can definitely be coded in C++.

So if Godot 3.0 was fully released, it would be much easier to create a C++
script without having to do so much, like GDScript compared to now?
On Wed, Dec 20, 2017 at 2:53 PM, Wasin Thonkaew<EMAIL_ADDRESS>wrote:

Godot is designed for devs to make game with scripting language, reduce
compile and build time. So you can change things around while you are
running the game.
C++ can kick in to help optimize certain part of the game. Part that
requires high computation workload, or part that when you tested it's too
slow. Thus you do that in C++ by creating a C++ custom module
http://docs.godotengine.org/en/stable/development/cpp/custom_modules_in_cpp.html.
Creating such custom module is not straight forward as compared to writing
code with GDScript. You have to re-compile Godot engine for all your target
platforms as well (but you can also do cross-compile either [to
Linux/Windows from macOS(http://docs.godotengine.
org/en/stable/development/compiling/compiling_for_
windows.html#cross-compiling-for-windows-from-other-operating-systems),
or to macOS from Linux/Windows
http://docs.godotengine.org/en/stable/development/compiling/compiling_for_osx.html#cross-compiling,
so it's doable enough). Links I referenced are based on v.2.1, so notice at
the bottom of the page for those official document whether it's 2.1, or
latest (latest means 3.0 onwards).
But to-be-released Godot 3.0 will make this writing in C++ easier, and
accessible without re-compilation of the engine itself. It makes use of
shared library (through what called GDNative
https://godotengine.org/article/dlscript-here), that the engine can
dynamically link to your custom module in run-time. You can see example of
creating such a custom GDNative ones here
https://github.com/GodotNativeTools/GDNative-demos.
So in short, code in general would be coded in GDScript but for certain
areas you can do it in C++. If you really want to do C++ fully for your
game, see this comment
https://godotengine.org/qa/8800/can-i-write-a-full-game-with-just-c-or-is-gdscript-necessary.
I agree with his answer in the link, you will still need to hook up entry
point i.e. node, scene in Godot editor then hook up to call your C++
module. Anyway, the niffty gritty core part of your game can definitely be
coded in C++.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14856#issuecomment-352957845,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab79Bir3DtptWaYVfTt0x-uYPkN5fm_Fks5tCITQgaJpZM4RH22t
.

Most of the setup is something you do only once. The bindings should be updated every time you update the engine, which won't be quite often unless you're following the master branch quite closely (which should only be made by users who know what they're doing, so it's much of a hassle).
It is difficult to set up a C++ build system if you're a beginner, especially so on Windows. This not something Godot can help you with. If you want to use C++ you should know how to use it. It's out of Godot's purpose to provide a full cross-platform C++ build-system inside the editor software. This makes it easier for us and more flexible for users who are already acquainted with their tools.
When Godot 3 is actually released, I assume there'll be an easy-to-get version of the bindings, since it'll have a tag anchor to and won't have to deal with daily changes.

So what about NativeScript, is it something I am able to use straight out
of the box?
On Wed, Dec 20, 2017 at 3:10 PM, George Marques<EMAIL_ADDRESS>wrote:

Most of the setup is something you do only once. The bindings should be
updated every time you update the engine, which won't be quite often unless
you're following the master branch quite closely (which should only be made
by users who know what they're doing, so it's much of a hassle).
It is difficult to set up a C++ build system if you're a beginner,
especially so on Windows. This not something Godot can help you with. If
you want to use C++ you should know how to use it. It's out of Godot's
purpose to provide a full cross-platform C++ build-system inside the editor
software. This makes it easier for us and more flexible for users who are
already acquainted with their tools.
When Godot 3 is actually released, I assume there'll be an easy-to-get
version of the bindings, since it'll have a tag anchor to and won't have to
deal with daily changes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14856#issuecomment-352959834,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab79BtXUsXWQv0FORPyBSANms2e1C26-ks5tCIjEgaJpZM4RH22t
.

There is a repository for the cpp bindings.
https://github.com/GodotNativeTools/godot-cpp/issues?q=is%3Aopen+is%3Aissue

I guess a better question would be - is there something that can be done to make the initial setup to use a c++ library in godot more automatic.
A macro that automatically creates the right folders and creates the links perhaps?

Sounds better to me, why not have an automatic process that deals with this
shit?
On Fri, Dec 22, 2017 at 1:37 AM, Todor Imreorov<EMAIL_ADDRESS>wrote:

I guess a better question would be - is there something that can be done
to make the initial setup to use a c++ library in godot more automatic.
A macro that automatically creates the right folders and creates the links
perhaps?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14856#issuecomment-353366348,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab79Bi_cB6c-zRA_SbYSWvmsU-iWw93yks5tCm1BgaJpZM4RH22t
.

Sounds better to me, why not have an automatic process that deals with this shit?

Please stay polite and constructive.

May I know what do you mean I was agreeing with the other user's 'what
better question I should have asked' and then asked why not have an
automatic process that deals with automatically setting up using a C++
library.
On Fri, Dec 22, 2017 at 10:30 AM, Rémi Verschelde<EMAIL_ADDRESS>wrote:

Sounds better to me, why not have an automatic process that deals with
this shit?
Please stay polite and constructive.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14856#issuecomment-353483684,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab79BnZUWDOBx2yc0aptZv-6pOQmL2zgks5tCuoSgaJpZM4RH22t
.

Dont use words like "shit" to describe the process
On 21 Dec 2017 23:39, "Raj2032"<EMAIL_ADDRESS>wrote:

May I know what do you mean I was agreeing with the other user's 'what
better question I should have asked' and then asked why not have an
automatic process that deals with automatically setting up using a C++
library.
On Fri, Dec 22, 2017 at 10:30 AM, Rémi Verschelde <
<EMAIL_ADDRESS>wrote:

Sounds better to me, why not have an automatic process that deals with
this shit?
Please stay polite and constructive.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/godotengine/godot/issues/
14856#issuecomment-353483684>,
or mute the thread
<https://github.com/notifications/unsubscribe-
auth/Ab79BnZUWDOBx2yc0aptZv-6pOQmL2zgks5tCuoSgaJpZM4RH22t>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14856#issuecomment-353485022,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGMbVe5OSmI5GBhgHtfRkDZcK8LMawnsks5tCuwsgaJpZM4RH22t
.

Linux: bash
Windows: batch
--> add a shortcut to the batch / .sh
--> automatic process

I think the question has been vastly answered, so closing.


Set Configuration for Node via WS API, or even MQTT if not yet possible

Thank you for a wonderful program.
I have used it with the new HA integration, but before I can replace the legacy system, I need to know how to send Parameter Value changes via automations?  One can do this vi HA in the original system via 'zwave.set_config_parameter'
How does ZwaveJS do it?  I can do via its UI, but I need automations to do it.  I also use Node-Red so hoped I could do it from there sending to the Websocket? (as I have mqtt disable so that I can just use via HA's new integration)
Thanks!
Marc

Support for service calls will be added in a later release of Home Assistant. In that case you can use zwave_js.set_config_param again like you're used to now with OZW.
BTW: Please report issues for the Home Assistant integration to the Home Assistant issue tracker. Thanks!

Support for service calls will be added in a later release of Home Assistant. In that case you can use zwave_js.set_config_param again like you're used to now with OZW.
BTW: Please report issues for the Home Assistant integration to the Home Assistant issue tracker. Thanks!

I don't care about HomeAssistant service calls.  I can make them directly to the web socket if you can point me in the right direction/documentation please?

Issue a command in the following format:
{
"messageId" : 1,
"command": "setValue",
"valueID: { a full valueID object},
"value": the value it should be
}
To get the values you can send, issue a "start_listening" command and it will dump all valueIds as part of each node

But you could also use mqtt of course


[Feature Requests] On the watch statistics, add the ability to show play counts or play times

Hi,
Exactly like Tautulli, for the watch statistics it would be nice to be able to see by play counts or by play times.
Thanks for the great software!

Hi @foux , sorry im having abit of trouble understanding this, do you mean to add filters to the graphs for these options?

Hi @CyferShepard. No I mean exactly like Tautulli when on the watch statistics of the main page, you can see either by play count like Jellystat today) :

Or by play duration :

Is that more clear?

Both have their advantages an drawbacks, that's why I think they are complementary.
For play count

Advantages : they permit to see the popularity of shows/movies
Drawbacks : they can be totally wrong and show a bad image for people with short playing sessions : the increasing number of play counts won't allow to have a real image of the popularity.

For play duration

Advantages : It shows a real image of time spend in front of a show/movie
Drawbacks : Long movie/shows will be in front of shorter movies/shows even if they had been watched less times.

Yea sure il look into adding this once i finish the current upgrades and bug fixes

Both have their advantages an drawbacks, that's why I think they are complementary.
For play count

Advantages : they permit to see the popularity of shows/movies
Drawbacks : they can be totally wrong and show a bad image for people with short playing sessions : the increasing number of play counts won't allow to have a real image of the popularity.

For play duration

Advantages : It shows a real image of time spend in front of a show/movie
Drawbacks : Long movie/shows will be in front of shorter movies/shows even if they had been watched less times.

Possible Solutions to Drawbacks:

Play Count: Define a minimum percentage of played time against total duration to count as a "play". e.g 80% or 90%
Play Duration: Similar to the one above, instead of sorting based on "time watched", sort based on percentage of total time watched

Hey @gerryflux , this is currently in the works, im currently tackling your 1st point regarding polycounts, im reworking how watch's are classified as plays where you'd need to watch a certain percentage within a specific time range before the system initiates a new count. IE 10 watches within 1 hour from the last watch time would count as 1 watch but just update the watch progress on that initial watch time until it reaches a threshold of eg 80%. So if either a watch occurs after that 1 hour grace period or outside of that threshold or both, then only will it store that as a new Play count. Of course these thresholds are examples and i will be testing which values work best


Fixed the checkout "remove card" button

Jquery was calling an unknown class so payment cards could not be deleted.

Fixes #41


APT whitelist request for libparse-yapp-perl

ubuntu-trusty

I was trying to get this for trusty

For Trusty builds, sudo is available.


Use the atom-workspace tag instead of the workspace class.

In keymaps/proto-repl.cson: Use the atom-workspace tag instead of the workspace class.

I tried change it to use that tag but not all of the keyboard shortcuts work. Some of them conflict with other ones used by atom plugins. I'd rather not change the shortcuts now. Why do you want this change?


Update README.md

fixed install instructions

Merging updates. Thanks MrYellowHeart for catching these errors in the Readme.


old designs

uuuh idk if this is a issue but where the old designs? (i want some of the old designs to do some shit with them)

you can try to look for v3 and  v2 builds


Sample Video url

Hi, the samples linked to in the readme seem to go to dead vimeo links "Sorry, we couldn’t find that page". any chance you could reup them so we can check out results before running the code?

Yes, please !

It'll come back :)


read BLOCH metadata

Hi,
I adjusted data_loader.py and imageplt.py in order to access metadata of BLOCH files.

Hi @jukue!
That's great, thank you a lot for your contribution!
I'll need to ask you however to possibly commit again. I checked the files and I think edited version was not from the latest commit. Merging would overwrite some changes which are crucial for running piva on Windows...
Please append your changes on the newest version, I'm really happy we're working on it together!

Hi @pudeIko ,
thanks for the remark. In that case the change in imageplot is superfluous.
I commited imageplot again; I hope it's ok now.

Thanks for your contribution, Julia!


Make old releases fall to unsupported

See if there's a convenient way for items in the release notes to fall into the unsupported category six months after they're released.

Changed it to current/past instead.


How to monitor more than one path simultaneously?

Is it possible to have more than one path as the watchDirectory?  I tried putting an array of paths as the value of watchDirectory but got an error stating that the value must be a string.

up


add tfoot to visibility classes

Addresses #6619
I made tfoot do whatever thead did (with the exception of using "table-footer-group", obviously.)
One big problem I found, however, is that the "only" classes don't work like the standard ones do, but this issue applies to the existing thead and tbody, as well as the new tfoot classes.
https://jsfiddle.net/0fpr9vvw/
show-for-small-only is behaving like show-for-small-up, and show-for-medium-only is behaving like show-for-medium-up
Still, this PR will make tfoot do whatever it does now for the other table classes, which is better than just  forgetting about them for now.

I'm thinking it might be dueling !importants

I believe we can get rid of the dance of important! tags by matching the specificity (and moving the none to last).
thead.show-for-small-only{ show} isn't overridden by .show-for-small-only{none} even though it's above it, because it's more specific.
I don't have time to flesh this out right now, but I'll see what I can do next week if this is still an open issue. Might be a 10 second "oh duh" for someone who understands what's going on in there better than I.

This issue is still open -.- please fix that.

Sorry for the late response, would it be possible for you to open a new PR that targets the V5 branch instead? Thanks :)

Closing based on last comment.  Please reopen targeting V5 branch.


Set header to scroll with the rest of the content.

Make optional on settings

Added in version 1.1.0

Thank you so much for making this.
Without alternative reddit apps addons like this are the only way to continue using reddit.

Thank you so much for making this. Without alternative reddit apps addons like this are the only way to continue using reddit.

Thank you for the nice feedback :)


Stop on invalid queries instead of ignoring them

So far an invalid query won't be applied:
    $ beet ls The Beatles year:196a
will be treaded as
    $ beet ls The Beatles
With this commit it stops beets, returns 1 and produces
    $ invalid query: u'196a' is not an int or a float
This applies to any querying and therefore on many command, plugins and
some configuration options.
Invalid queries exist on numeric fields and on regular expression usage.
Compile regular expression queries upon instantiation instead of upon
each match test.
The reporting can be improved (give more context). Fix #1219.

Looking great. I'm happy we're slowly but surely making error conditions more obvious in beets.

Fantastic! :sparkles: And thank you for the incredibly nitpicky name change. :flushed:


error line

translatesAutoresizingMaskIntoConstraints = false

Thanks for reporting, the master branch is currently written for Xcode 7 / Swift 2.0.
There is an xcode6 branch: https://github.com/exchangegroup/swift-badge/blob/xcode6/swift-badge/SwiftBadge.swift
Or you can manually change that line to this to make it run in Xcode 6.
setTranslatesAutoresizingMaskIntoConstraints(false)

@longxianlin let me know if you have any issues. Thanks.


Support large account lists

Issue #, if available:
Description of changes:
Account Collector passes account list as a payload but that can fail with huge accounts due to limit. This converts AC to dump to a file in S3 and passes a reference to a distributed map to iterate in chunks.

Great work @esc1144 !


Doesn’t work with Variable Fonts?

Hello,
Thank you for the great tool!
Using fonttools 3.19.0, when trying to crunch a Variable Font, maybe predictably as nodes per-master are not harmonised any more (?), I’m getting errors in the gvar table:
ERROR: An exception occurred during the decompilation of the 'gvar' table
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\fontTools\ttLib\__init__.py", line 426, in __getitem__
    table.decompile(data, self)
  File "C:\Python27\lib\site-packages\fontTools\ttLib\tables\_g_v_a_r.py", line 111, in decompile
    numPointsInGlyph, sharedCoords, axisTags, gvarData)
  File "C:\Python27\lib\site-packages\fontTools\ttLib\tables\_g_v_a_r.py", line 229, in decompileGlyph_
    sharedTuples, data, 4, offsetToData)
  File "C:\Python27\lib\site-packages\fontTools\ttLib\tables\TupleVariation.py", line 554, in decompileTupleVariationStore
    tableTag, axisTags, tupleData, pointDeltaData))
  File "C:\Python27\lib\site-packages\fontTools\ttLib\tables\TupleVariation.py", line 597, in decompileTupleVariation_
    len(points), tupleData, pos)
  File "C:\Python27\lib\site-packages\fontTools\ttLib\tables\TupleVariation.py", line 433, in decompileDeltas_
    assert len(result) == numDeltas
AssertionError
Dumping 'gvar' table...

Is there any hope here? I haven’t found any other tool that maintains contour integrity while offering so much smaller files. Or, maybe, I’m doing something wrong as my understanding of all this is very, very thin...
Regards
m.

Look on my works ye mighty and despair :)
VF requires points are interpolation compatible, and if you run a few fonts through fontcrunch, they are likely to diverge from compatibility. You'd need to use a tool like Prepolator, GlyphsApp (in a future version with quadratic spline support) or FontLab 6 to determine where they were incompatible, exactly, and fix them.

Much learning stretches far away in front of me :)
Thank you for the pointers!

Use cu2qu on the input instead.

https://github.com/googlei18n/cu2qu

Thank you both kindly. The fonts I have been playing with have static family members with cubic outlines. Because of earlier experiments with CFF-flavoured woff2 being ever-so-slightly larger than TTF-flavoured ones, because my expertise stretches about as far as (blindly) operating FLVI and because FLVI supports only TTF-flavoured VFs, I have been converting them to quadratic.
Testing FLVI conversion at different tolerance settings, I have found out that fontcrunch is much more accurate at the same (node no.) efficiency (maybe because it doesn’t observe compatibility). But needing point compatibility, I will have a look at cu2qu!
Just as soon as I, naively, thought I have tried almost everything to get the fonts smaller, the whole new world of possibilities (and decisions) opens up with VFs... I blame Erdoğan!


bma400 read-write interface

hi，
I would like to ask some questions about the implementation of the bma400 read-write interface under the stm32l051 platform.
In  "bma400_defs.h"
typedef int8_t (*bma400_com_fptr_t)(void *intf_ptr, uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data,
uint16_t length);

It should be mapped by user,but I have no idea to write with HAL Lib.
Can you give me an example of code or pseudo code?

int8_t i2c_reg_write(void *intf_ptr, uint8_t i2c_addr, uint8_t reg_addr, uint8_t *reg_data, uint16_t length)
{
    Wire.beginTransmission(i2c_addr);

    Wire.write((uint8_t)reg_addr);
    Wire.write(reg_data, length);
    if (length > 32)
    {
        Serial.println("TOO MANY BYTES TO BE WRITTEN ");
    }
    int rv = Wire.endTransmission();
    if (rv)
    {
        Serial.print("RV :");
        Serial.println(rv);
    }
    return rv;
}


Add Python code coverage tests

We have code coverage tests using both gcov and llvm-cov for C++. So, we really ought to have something similar for Python.

After working on PR #189, it looks like Python code coverage doesn't make much sense. After running the python_code_coverage target, we get something like https://github.com/opencor/libopencor/actions/runs/4749767982/jobs/8437331426 (expand the Python code coverage section). As we can see from the coverage report, coverage is done on our __init__.py file and our Python test files (i.e. test_file.py, test_version.py, and utils.py). Unfortunately, this is not useful. If anything, we want to confirm that our Python tests cover everything in libOpenCOR's Python binding, i.e. in the corresponding module.cpython-310-x86_64-linux-gnu.so file on Ubuntu. However, this doesn't seem to be possible (I googled quite a bit, but to no avail).
So, in the end, maybe our C++ code coverage is good enough and when it comes to our Python bindings, it's really up to us to ensure that we bind everything properly...


Fix 1.7 blog date

The blog was posted to March 2!

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)


feature: Providers must implement Query Parameters

Feature Request
Summary
Include SetQueryParams() method in the Provider interface implementation
Motivation
As of now, QP is passed as a parameter to FetchData() method to implement Provider interface. However, this mandates passing QP as an argument for every FetchData() call for that Provider client.

As the QPs aren't modified frequently for a provider, it would reduce computational space and time when attached to the client struct just once.
Should the QPs conditionally change, or another use case calls for adhoc changes, a new Provider client may be created with modified QP map.
Makes the code cleaner, and pragmatic.

Detailed Design
In providers package:
type Provider interface {
~FetchData(queryParams map[string]string) (*plumber.BaseData, error)~
FetchData() (*plumber.BaseData, error)
SetQueryParams(qp map[string]string)
}
In open_meteo.go, func OpenMeteoQueryParams() must be a method on OpenMeteoProvider type.
Similar implementation for the upcoming meteoblue implementation as well.
Alternatives
Retain the existing design of having independent functions to set QP rather than mandating in the Provider interface.
Additional Context
None.
Acceptance Criteria

[ ] Remove the queryParams map[string]string parameter from FetchData() method Provider interface.
[ ] Include SetQueryParams() method to the Provider interface.
[ ] Make appropriate changes to open-meteo provider to implement the updated Provider interface.

Additional Information
#12 #5

@Yendelevium If this helps, would you like to pick this up?

If you have already started work on MB's data models to suit #12, then perhaps Karthik @adofm  can do this? It's a quick fix.

@raamsri i haven't yet started, Ill get this done

In the long run, won't we be taking the coordinates for latitude and longitude from the user? I think we can take *plumber.Coordinates as parameters for both the functions (which we can hardcode for now, and later we can extract them frm either the request headers or the req query-str).. Thoughts @raamsri @adofm ?

Passing it as a function parameter may not be necessary because the co-ordinates are passed in the query params already as all providers expect it as a query parameter. Is there any other reason why you may want it passed as a func parameter nonetheless?

Well, of course, as you figured, the co-ords will be picked from user input and passed as query parameters to the provider.

You are correct, it makes sense to pass the co-ords to FetchUpdate() so that we can make calls for multiple locations without setting QP every time.
Let's do that.

Cool. One more prorblem, for MB we need api key taken frm the config
2 Ways

Pass the config to the function, like the coords
Call config.New() in providers which need the API KEy

First method, the config will be passed to providers which don't need API keys or anything from the config
Second method, we recall config.New() for every request
I'm divided here because i can't see any proper benefit of one over the other. A better decision could be made if we know the ratio of providers we will be integrating with apikeys to the ones without, or we could go for a different method entirely. Thoughts? @adofm @raamsri

Cool. One more prorblem, for MB we need api key taken frm the config 2 Ways
* Pass the config to the function, like the coords

* Call config.New() in providers which need the API KEy

First method, the config will be passed to providers which don't need API keys or anything from the config Second method, we recall config.New() for every request
I'm divided here because i can't see any proper benefit of one over the other. A better decision could be made if we know the ratio of providers we will be integrating with apikeys to the ones without, or we could go for a different method entirely. Thoughts? @adofm @raamsri

That's a very relevant and pertinent concern Yash. I've tried something that fixes the problems of the second method which you listed. I haven't had the time to create an appropriate bug report for it but I've described the changes in the Git commit. Please check if this patch sorts out the trouble you spotted?

PR #14


ToDo: followsups / extras / ideas

🔹 Pages I use to keep tabs on a few things

SpiderMonkey
L10N
Experimental features (not always up to date!)

:small_red_triangle_down: ToDo
🔹 perf

[ ] perf: reduce fonts in list(s) - see #34

🔹 isVars

[ ] harden isFF with items from isEngine
[ ] harden isEngine with items from isEngine
[ ] harden isOS
[ ] harden navKeys with knownGood, knownPoison from isEngine

🔹 general: fingerprints, sections, lies

[ ] general: add overlay popup to show results for each section and overall
[ ] general: make worker fingerprint global

currently there is only the ua and language sections, results are not used anywhere
instead all worker data should be a separate global FP which we use after the fact to report lies

i.e we still output a sub-section worker hash (and diffs to doc), but report lies/mismatches in global

[ ] general: make iframes fingerprint global (same deal as workers above)
[x] handle passing objects as well as arrays
don't use .join()

[ ] don't use .join() on arrays for all sDetail data (where we can now use objects or arrays)
[ ] don't use .join() anywhere else unless we have to

[ ] preserve typeof where possible
* e.g. screen metric width/height is a joined string but we already test for NaN
general: ongoing

knownLies (from mathematical proofs etc)
apply prototypeLies to metrics
logic -> check knownLies -> if no lies then check prototypeLie -> into the section hash data -> into overall hash data

general: ongoing

robust error handling, detection of script blockage: e.g. screen.js needs work

🔹 screen

[ ] screen: vw + wh units, visualviewport etc see #29
screen: update/add border-snapping subPixel devicePixelRatio PoC to use domrect
screen: improve android keyboard PoC to use setInterval to detect a static change
screen: android 73+: see 1514429:
screen: android: investigate a history of changes as soon as possible

e.g global.js is where I grab initial viewport and window sizes

screen: android: exploit font inflation
screen: android: exploit position (top/bottom) of toolbar in Fenix [yes, I can detect this]

🔹 ua

[ ] ua: finish

relax oscpu for specific linux distro strings
harden oscpu: win7 vs win8/10 via tiny font check
harden userAgent from the other parts: i.e userAgent is constructed using a set method
bypass more parts of the userAgent than just version where possible
consider only returning userAgent

🔹 feature detection

[ ] feature detection: new math test for android if isVer is FF68+

limit test to only those that cause entropy on android from math research

🔹 language

[ ] language: add/investigate NumberFormat v3 1648137
[ ] language: add fractionalSecondDigits etc

see 1645107
https://github.com/tc39/ecma402/pull/347

[ ] language: add Intl.Segmenter 1423593, spec
[ ] language: add/investigate Temporal API spec

article: https://2ality.com/2021/06/temporal-api.html
cookbook: https://tc39.es/proposal-temporal/docs/cookbook.html#arithmetic

🔹 storage

[ ] storage: finish the tests
[ ] storage: auto-output estimate as it doesn't need permission

🔹 devices

[ ] devices: more pointer tests

android: touch tests: radiusX/Y, screenX/Y, clientX/Y
pointerid

devices: enumerate gamepads/vrdisplays
devices: use precision timing bypasses to estimate cores

🔹 svg

[ ] such as

ExtentOfChar
SVGTextContentElement.prototype.getComputedTextLength
SVGPathElement.prototype.getTotalLength
SVGGeometryElement.getPointAtLength()

🔹 canvas

[ ] canvas: add offscreenCanvas
[ ] canvas: add convertToBlob
[ ] canvas: add noise fingerprint (just for toDataURL)
[ ] canvas: harden RFP random detection - see https://arkenfox.github.io/TZP/tests/canvasrfp.html
canvas: make isPoint* more complex, multiple paths
canvas: get size? get number of colors - overkill?
canvas: add iframe tests (linked to CB's test page instead for now)

🔹 webgl

[ ] webgl: add properties/parameters: split into 1, 2, experimental groups and subgroups e.g. affected by RFP/prefs

split: e.g. minimal mode RFP restrictions in 1217290 FF57+

[ ] webgl: add image tests

make sure to expand/test on error entropy for readPixels
e.g. in VM's which usually block the graphics driver and the error messages can differ
make sure error entropy is handled for TB slider and VMs

🔹 audio

[ ] audio: see #67

expand methods: see https://github.com/arkenfox/TZP/issues/67#issuecomment-896621330
detect known lie: see https://github.com/arkenfox/TZP/issues/67#issuecomment-882366270
MOAR: see DynamicsCompressorNode.reduction - https://github.com/arkenfox/TZP/issues/67#issuecomment-857305813

audio: android bug? ac-outputLatency is always 0 even after two tries

see 1612093 as well

🔹 fonts

[ ] fonts: textMetrics: randomness

https://gregtatum.com/writing/2021/diacritical-marks/ for combining unicode
double char non-matching
combine char with preceeding/next char in looped list: triple-variable-char test
number of decimal places
non 128ths

[ ] update win fonts - https://docs.microsoft.com/en-us/typography/fonts/windows_11_font_list
[ ] update mac fonts

now 10.12 is the minimum in ESR91+ we can clean out some old additional fonts
add additional big sur (which is rather large)

[ ] - system-ui 1226042
[ ] fonts: enumerate via [click here]

font face
domrect
textmetrics
svg
canvas? is it worth it?

fonts: can we do anything with zalgo

https://en.wikipedia.org/wiki/Zalgo_text, http://www.eeemo.net/, https://lingojam.com/GlitchTextGenerator
interesting: https://gregtatum.com/writing/2021/diacritical-marks/

fonts: default font-family name for each of serif + san-serif + monospace
fonts: font versions: Times New Roman, Arial [thru unicode changes per version]
FYI: fonts: fontfallback: investigate further

when document fonts are blocked, the first run misses fonts it picks up on subsequent tests: currently mitigated by doing a 2-font "priming" run: but this is not an elegant solution

FYI: fonts: graphite: will be slow like woff

🔹 media

[ ] media: improve audio/video lists

reduce list for perf (we only care about FF), add items for entropy

[ ] media: mediacapabilities FP

also see 1461454
https://w3c.github.io/media-capabilities/#security-privacy-considerations

media: image hash: encoding/decoding FP?

🔹 css

[ ] css: prefers-contrast notation - tests, article

WTF is this 1658780

🔹 elements

[ ] widgets
clientrect

[ ] add more methods: BBox, rootBounds etc

line height

[x] loop sizes
[x] use clientrect lies to determine fallback method
[x] transform scale to perhaps decimal precision: devicePixelRatio may cause entropy
[ ] loop by generic-value font-family

mathml

[x] loop sizes
[ ] transform:scale() to force decimals
[ ] change values collected to use clientrects actual values

currently this is using offSetHeight differences
only use offSetHeight differences between Ctrl vs Test to determine if enabled/disabled (because clientrects may be all lies)
if enabled, return clientrect values

[ ] use multiple mathml divs to measure different mathml things

e.g. https://privacycheck.sec.lrz.de/active/fp_ml/fp_ml.html
http://eyeasme.com/Joe/MathML/MathML_browser_test.html

🔹 misc
🔹 other

[ ] other: WebRTC
[ ] other: isAdBlocking [also: hash of results]
[ ] other: sanitizing / zombie storage - prototype
[ ] other: widgets/form controls
[ ] other: RFP timing tests
[ ] other: elements (and injecting resource:// css files for app lang leaks)

🔹 randomizing detection

random: audio / domrect / measureText (see textMetrics) / canvas (see canvas noise)
random: ^^ might be useful for css line-height / unicode gylphs

Done :small_red_triangle_down:
🔹 September 2020

[x] feature detection: math !== TB vs FF, it is mingw vs windows-sdk in clang

change output to reflect this, and don't set isTB on windows when B
feature detection: fixes new branding detection when a FF mingw build thinks it's Tor Browser

[x] feature detection: v82 detection
[x] canvas: added noise detection (i.e stealth randomizing) for blink engines
[x] general

section perf is now rounded (and also the performance.now() in misc): I hate the precision in chromium tests
section perf is now also displayed in the section title bar (and updated when rerun)

[x] domrect: various

promisify the runs
second run added to detect randomness on each pass
sha1 now used and perf is now correctly calculated (previously it wasn't waiting for the sha256 crypto)
noise detection

no longer uses elements that cause false positives in blink
is now also applied when isEngine = "blink"
now checks diffs per method (each method has it's own array)

section hash added: results for each method can be

the hash
random (i.e randomness on each pass)
tampered (i.e stealth randomness)
an error name

tested with AOPR

🔹 October 2020

[x] feature detection: v83 detection
[x] ua: BS detection

forgot to list: couldn't be assed keeping two lots of UA functions in my local screen.js, and with all the changes just let it get added
this is implausible results based on feature detection and typos/spaces etc
incomplete: I need to cover the navigator.userAgent string
it will cater for RFP (and I can tell if RFP is on)

[x] devices: plugins, mime types are sorted

also FF plugin lies: at most it can only return Flash

[x] canvas: decide if stability is important

changed to match CB test
the FP is now stable across FF60-Dev/Beta. It changes in Nightly (always has: must be some pref or hardcoded flag)
this now makes the results zoom-resistant by setting Arial
note: if document fonts are blocked, then the default font (e.g. Times New Roman) can cause the zoom resistance to be lost (depends on what your default font is) - item added to ToDo to look at doing away with factors that unduly influence results

🔹 November 2020

[x] feature detection: v84 test
[x] language: add date.parse` multi-year timezone offset calculation PoC
[x] feature detection: v85 test
[x] ua: worker/iframe nav checks

added iframe tests
section hash logic is

there is no point collecting a fake/random UA hash as it is not stable (technically a lie isn't either)
we use the document hash
if an iframe leaks, it leaks completely and we detect the first one and use that instead: iframes have all 11 properties
if no iframes leak, we then use worker leaks (yet to promisify and add into logic: note web worker to not be included in logic as userAgent can be spoofed)... workers have 6 properties
if no worker leaks then we fall back to the feature detection BS
if BS then we return a single "has lied", otherwise, it's the original document hash

🔹 January 2021

[x] fonts: detect font lies: expanded tests to the creepy suite

added: client, scroll, pixel, size, perspective, transform

[x] devices

FF plugins/mimetypes: if isFF then flash only up to and including FF84 and it must be correct in both plugins + mimetypes
other plugins: creepy pluginLies

[x] domrect: expand elements and measurements used to detect lies
[x] feature detection: v86 test
[x] known lies collection and output started
[x] prototype lies collection: big ups to creepy 👍
[x] feature detection: v87 test

🔹 February 2021

[x] domrect: known value PoC for Firefox

now catches known lies where the amount added/subtracted is consistent across all elements

[x] feature detection: v88 test
[x] feature detection: make error strings tamperproof

also in some version tests

🔹 March 2021

[x] general: important global vars are now promised first, robust, and done once

isFF test 1:  a triple installTrigger test is run as soon as generic.js lands
when all js files have arrived, two more checks isFF checks are promised

isFF test 2: the error test is 100% wrapped in newFn() to prevent tampering
isFF test 3: a system widget font is read

then we promise the next group

the first is isEngine (which doubles as theisFF test 4 if the math reveals gecko)
and then if isFF = true: we also get isOS, isVer and isTB

these global vars are used everywhere, so we want them set before we do anything serious
these are only ever done once, on page load

[x] general: more promises & globals before starting

after the all the isThings (above), on page-load, global reruns, section re-runs, (and todo: click-here buttons if required), we also promise and set

navigator keys: trueKeys, fakeKeys so we can always get truthiness about nav objects
prototype lies
we do this since the values can change between manual tests/reruns
note that the prototype lies is not the same object as the global snapshot one at the top of the page

[x] general: perf output

there are two perf sub sections: global (page load, or global rerun) and click (anything else: section reruns, click here)
each of those has a details link
the global one is a one off, the click one accumulates until you do a global rerun

[x] general: recording detail data

the global snapshot is a full test, and now contains the fingerprint and details
section reruns are stored separately: the hash and data is already display, but the details are clickable: e.g. css system fonts etc
I will expand these clickable details: not just fingerprint detail data, but also items like unexpected errors in languages, storage test information, domrect shift diffs analysis
Currently these clickable "buttons" just output to console. The plan is to instead pretty output them to an overlay with options to copy or to output to console in various formats

🔹 April, May, June 2021

[x] general: lie and bypass color coding

DONE: lie detection + bypassable
x "global:isFF" various checks
x "global:isEngine" math
x "global:isOS" (one so far)
x "canvas:toDataURL/toBlob", (as long as one is not noisy)
x "css:computed styles", (FF)
x "css:forced-colors:",
x "css:prefers-color-scheme:",
x "css:prefers-reduced-motion:",
x "devices:any-hover:",
x "devices:any-pointer:",
x "devices:hover:",
x "devices:mimeTypes", (FF85+ = none: also Flash check pre 85 in both)
x "devices:plugins", (FF85+ = none: also Flash check pre 85 in both)
x "devices:pointer:",
x "domrect:xxx", (as long as one is not noisy and all non-noisy ones match)
x "fonts:fonts", (as long as we have 4/7 the same)
x "misc:iframe window properties",
x "misc:navigator keys", (FF: post constructor and expectedKeys hardening)
x "misc:performance.mark",
x "screen:color",
X "screen:inner", (needs work, also used to fix viewport scrollbar)
x "screen:screen", (needs work)
x "ua:version", (isRFP: no uaBS and real version does not match; isBrave spaces)

DONE: lie detection: unbypassable
  "fd:math",
  "ua:navigator"

TODO: to color up (from above list)
  "domrect:xxx",
  "screen:color",
  "screen:inner", (needs work, also used to fix viewport scrollbar)
  "screen:screen", (needs work)

TODO:
  "fd:errors": build+show parallel construction (compare to newFn)
  "fd:math": build+show parallel construction (compare to -1, Math.E)  ???
  "screen:devicePixelRatio": isFF PoC: trim to 6 decimal places: compare, allow floating diffs

[x] general: finish promisifying each section
[x] general: recording of methods: work in progress
[x] general: use of css pseudo values to bypass matchmedia and nav lies: work in progress
[x] general: proxy lies - thanks @abrahamjuliot 👍
[x] general: hardened isFF, isOS, isEngine
[x] general: hardened isBrave, isBraveMode - thanks @abrahamjuliot 👍
[x] general: hardened navKeys: more to come with known-always-there good keys
[x] general: hashes are sha1 length, columns aligned better
[x] screen: zoom resistance (which I think is impossible for all metrics): on FF desktop, recalc the screen as if at 100%

I will probably drop this, and/or split zoom affected metrics into a new fingerprint array

[x] ua: iframe results create clickable diffs
[x] feature detection: v89 v90 + v91
[x] feature detection: OS architecture via large array buffers (and hardened with math results): can only confirm 64bitness
[x] feature detection: supportedLocales
[x] feature detection: hardened errors via newFn - thanks @abrahamjuliot 👍
[x] language: Extended TimeZoneName
[x] language: expanded Intl.PluralRules to include cardinal
[x] language: fixed several formatToParts to get the right parts
[x] canvas: simplified results, WIP, see #85
[x] audio: some basic lie detection
[x] fonts: use base font list (for windows, so far) if RFP enabled in FF80+ (and not Tor Browser)

will expand on this; e.g. for Mac, for specific TB OSes, and can drop even more from the current base list

[x] fonts: moved unicode glyph fallback delay directly into the html

probably missed some stuff
🔹 last half of 2021

[x] isFF: eval.toString().length
[x] isFF: harden triple installtrigger tests by checking type
[x] feature detection: v92, v93, v94
[x] feature detection: use supportedLocalesOf in collation to remove variable/unstable results
[x] feature detection: added RFP math
[x] feature detection: added canonical locales
language: add/investigate Enumeration API 1670033

doesn't add anything

language: investigate getCanonicalLocales

doesn't add anything except engine detection

[x] language: Intl.Segmenter resolved options
[x] devices: pointerover
[x] fonts: reduced font lists: kBaseFonts for FF & isRFP,  TB whitelists if isTB

windows: 117 (RFP) 81 (TB) 251 (full)
mac: 201 (RFP) 46 (TB) 432 (full)

probably missed some stuff
...

@abrahamjuliot ... damn... that's secksie fast for my 11yr old PC (admittedly, perf is not always exact: e.g. I need to promisify worker returns in language + ua), and I've yet to add in webgl and some other tests that might take a good chunk of time
load (new session, cache was cleared) is always about 1000
reload (cache being used): varies between 700-800
rerun: varies between 570 (wooo!) and 650'ish

Whaddaya think?

Lookin' good. I get roughly 700-800 on reload and rerun.

I use Nightly as I prototype: so probably Warp is making it speedier

@sereneblue https://arkenfox.github.io/TZP/tests/iframes.html (it's a temp test page) .. where I'm dragging in navigator ua properties: seems like Chameleon doesn't cover these (I thought they did)

@Thorin-Oakenpants Thanks for bringing this up. I'll try to address this in a future update.

Chameleon fails quite a bit on my test page:

CB fails at the workers as well - I have not figured out a good way to protect these...

@kkapsner sneaky window and window.length -1 - are these worth adding to iframes (minus SOP) for TZ's UA upgrade?

window.frames is a different way to access the iframes content windows. It's not worth adding that to TZ.
sneaky window is here and is the only one I would bother with... and I think this is exactly what you are doing on your test page.

@abrahamjuliot .. added to my todo above ... Extended TimeZoneName Options 1710429 github

There's also https://bugzilla.mozilla.org/show_bug.cgi?id=1693575 (landed) and https://bugzilla.mozilla.org/show_bug.cgi?id=1693576 (not far away)

@abrahamjuliot : so what your ideas on how to integrate the following
1 Extended TimeZoneName Options
2 not sure there is anything to be gained from DisplayNames - IIRC you have to specify a language, can;t be undefined

I guess we use undefined, and then we want to use formatToParts or something to get the TZ strings? Is this even worth it? Is this something extensions need to spoof, or is it handled automagically when they lie about resolved options?

Extended TimeZoneName Options

// reduce to object
const timeZoneName = ['short', 'long', 'shortOffset', 'longOffset', 'shortGeneric', 'longGeneric']
.reduce((acc, name) => {
    let timeString = '' // default if not supported
    try {
        timeString = new Date().toLocaleTimeString('en', { timeZoneName: name })
    }
    catch (e) {}
    acc[name] = timeString
    return acc
}, {})

// access properties
timeZoneName.long // returns "2:56:45 PM Pacific Daylight Time"

DisplayNames

If the language is set to an a-z gibberish string, the language display defaults to the system region.

In this example, using Chrome Sensors, I switched my location to Moscow and then Tokyo.

Is this something extensions need to spoof, or is it handled automagically when they lie about resolved options?

Extensions can spoof this. I've only seen Cydec attempt consistency with INTL methods. Here's the Cydec function.
Puppeteer can set the timezone automagically: https://github.com/puppeteer/puppeteer/issues/3325

shouldn't we be using undefined and not en?
timeString = new Date().toLocaleTimeString('en', { timeZoneName: name })

Yes, I'm adding that above. I use 'abc' since 'undefined' throws an error in chrome.

Or use a random string :)

the problem I have with https://github.com/arkenfox/TZP/issues/2#issuecomment-855475106 is that you can't reliably(?) or easily(?) parse the results for just the extended timezoneName
notes:

loop two dates to get DST names and non-DST names

the extended names don't seem to use DST names: may just be some timezones, or it gets hooked up later
the two dates do show the time difference in some extended timezones (e.g. 12 vs 13) but TZP already does that
the two dates do expose the long names for DTS/non-DST, but TZP already does that by forcing long in tests
maybe two dates is a waste of time, plus it's limited to the one year

using undefined
using formatToParts index [6]

would prefer something that checks for type timeZoneName but the extended ones are type unknown
am not sure if index [6] is always the correct item? e.g. what about LTR (left to right?)

JSON.stringify and clean up the noise

let tzRes = []
try {
	let tzNames = ["short","long","shortOffset","longOffset","shortGeneric","longGeneric"]
	let tzDays = ["January 1, 2019 13:00:00","July 1, 2019 13:00:00"]
	tzDays.forEach(function(day) {
		tzNames.forEach(function(item) {
			let tzString = ""
			let tzDate = new Date(day)
			try {
				let tzO = {hour12: true, timeZoneName: item}
				tzString = JSON.stringify(Intl.DateTimeFormat(undefined, tzO).formatToParts(tzDate)[6])
				tzString = tzString.replace(/"/g, "")
				tzString = tzString.replace("{type:timeZoneName,value:", "")
				tzString = tzString.replace("{type:unknown,value:", "")
				tzString = tzString.replace("}", "")
			} catch(e) {
				//tzString = e.name +": "+ e.message
				if (isVer > 90) {tzString = zB0} else {tzString = zNA} // "blocked" in FF91+ else "not supported"
			}
			tzRes.push(item +":"+ tzString) // temp: add item in result
		})
	})
} catch(e) {
	tzRes = zB0
}
console.log(tzRes)

example, de

I'm thinking there must be a cleaner, simpler way to do this - @abrahamjuliot .. back to you

Looks like cydec hasn't been protecting timezone names at all

here I am as timezone America/Los_Angeles (also known as Pacific Time (US))

What is interesting is it is now doing something with date.parse and maybe getTime (I don't think that was covered before), not that I've even started on reducing the language section to five simple metrics with lies/bypasses etc

So

the PoC is NaNs?
but the timezoneOffset | getTime | Date.parse value of -420, -420, -420, -420 | 480, 420, 420, 420 | 480, 420, 420, 420 looks correct?

grr, confusing myself

11729887137c5306bc9c34ff642b5e213143c464 is correct for pacific time

cydec destroys my PoC for timezones entropy test probably because I'm using toLocaleString, IDK, don't care

480, 420, 420, 420 is the correct result as well

so getTime and date.parse haven't been affected

phew

index [6] is not going to work, here is Tor Browser vi with no en-US spoofing

@abrahamjuliot : added a link for temporal API in OP: to save you scrolling ... here it is: https://2ality.com/2021/06/temporal-api.html

@abrahamjuliot fyi - system-ui generic fonts landed  FF92+ 1226042

@abrahamjuliot what's this about - https://privacy-test-pages.glitch.me/features/navigator-interface.html

https://github.com/duckduckgo/privacy-test-pages/commit/6ca2323691d15ea546c1b972924e3b3027f650e3

I added DDG Privacy Essentials but I got nothing - is this some chromium thing?

I'm guessing it's a chromium thing similar to navigator.brave.

closing - new one at #169


2489 type error nil cant be coerced into fixnum

@Kartones I don't know what do you think about this attempt to fix #2489. That's a random error I see from time to time.

Frontend tests were OK :+1: (details)

uhmmm, I don't like having a custom statement timeout for a given call. We have a real problem calculating DB size and this will hide the problem instead of solving why a simple call to get some sizes takes too long.
In any case is my point of view, @javisantana what do you think?

 Since you're working on those sizes we can halt this. Please let me know if you think I should dive into CDB_UserDataSize now.

Well, I'm only changing the quota calculation functions. IIRC the big issue we have here is that once we introduced the raster tables to the calculation, times have grown up a lot, so it is no trivial issue.
Dunno really who will attack that, but again @javisantana is the one with precise answers.

Frontend tests were OK :+1: (details)

@Kartones , @javisantana check the logging proposal, please.

Frontend tests were OK :+1: (details)

:+1:

:es:


ERCC read counts missing from STAR GeneCount

This could be due to various regions:

may be STAR only counts "protein_coding"... while ERCC have gene_biotype "spike_in_control";
may be reads have too many multimappings ... hence excluded
may be it does not like the hyphen in gene_id
Trying to run htseq-count and featureCounts on the same bam file to see results.

featureCounts  -T 16 -p -a ../../ref/ref.fixed.gtf -o HUV_72hpi_R1.featurecounts STAR2p/HUV_72hpi_R1_p2.bam resulted in all ERCCs to have zero counts

Oberservations:

-p still counts each mate as single end .. not as a read-pair ... use --countReadPairs
Use -O and -M to count multimappers and overlapping features

fixed the .fasta, .regions and .gtf all to have underscores..Done!


Question: Is there a trick to enable rubber-band scrolling for ?

Is there a trick to enable the rubber-band scroll for  on Mac OS?

I don't know if there is such trick, but the webview in Electron behaves exactly the same with Chromium, so you can ask for advices in Chrome extension development related forums.

@zcbenz There was originally a patch to disable this in libchromiumcontent though that is no longer there right? Or am I remembering poorly

@paulcbetts It was used to disable the native rubber-band, recent Chromium has changed to implement it in blink.


Fix search

Related to #153
Fix search without ignore limit parameter.
@Hilarious001 can you have a look?

for me it does work
Regards


Remove legacy APG_REGISTRY_AUDIENCES & APG_REGISTRY_API_KEY env vars

See #625

This is the only use of APG_REGISTRY_AUDIENCES: https://github.com/apigee/registry/blob/main/examples/grpc-web-client/main.go#L109.
Instead, we can just prepend http:// or https:// to APG_REGISTRY_ADDRESS depending on APG_REGISTRY_INSECURE.


"WiFi module not present" on v1.1

I am trying to test the WiFi on MF1 v1.1 kit. To enable ESP8255, I have upgraded ESP8255 firmware as described  here  and selected "enable network" in menuconfig.
Then when I flash the MF1 module with -t option, the WiFi doesn't come up. Here is the terminal log:
Programming BIN: |=============================================| 100.0% 52kiB/s [INFO]Rebooting... == flash end == --- forcing DTR active --- forcing RTS active --- Miniterm on /dev/ttyUSB0  115200,8,N,1 --- --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- manuf_id:0xc8, device_id:0x17 The header ok there is 5 img firmware version: 0.0.0 face_lib_version: 2019-10-14 16:16:24 e3239ab7f54be364-dirty dump board cfg:     out_threshold    : 88.000000     auto_out_fea     : 0     out_fea          : 1     out_interval_ms  : 100     pkt_fix          : 0     port_baud        : 115200     relay_open_s     : 2     cam_flip         : 1     cam_hmirror      : 0     lcd_dir          : 0     lcd_flip         : 0     lcd_hmirror      : 0     key              : 24     key_dir          : 1     log_rx           : 11     log_tx           : 10     port_rx          : 4     port_tx          : 5     relay_high       : 13     relay_low        : 12     user_custom_cfg  : 00000000 board key relay cfg: 	key:24	key_dir:1	relay_high:13	relay_low:12 board cfg lcd cam: 	lcd_flip:0,lcd_hmirror:0,cam_flip:1,cam_hmirror:0 lcd_set_direction: 00 camera_set_hmirror: 0 camera_set_vflip: 1 demo_esp8285 hard spi set spi clk:8060000 Slave rx is not ready, status 0f Slave rx is not ready, status 0f return err Bad CRC, request repeated WiFiSpiDrv_getConnectionStatus-->error waitResponse WiFi module not present 0 QR-codes found:
Here I can see "WiFi module not present" . But I wonder if its not getting the right firmware up-gradation or something else?

you should update esp8285 firmware
Upgrade-ESP8285-firmware

if you still have this problem,you can reopen this issue.


Fix for OS X USR1 signal

It seems that signal codes for Linux and OS X (FreeBSD) are different. I
rely on syscall.SIGUSR1 which should be cross-compatible.
Tested with kill -usr1 <pid> on OS X 10.10
fixes #1

I guess this is from newer Golang version, my local version couldn't compile using syscall.SIGUSR1


Add a profile for comparison operators

== vs === vs != vs !== vs. ...

PR open https://github.com/haensl/js-profiler/pull/78

Done in v1.21.0


[v6.0.0-rc-3] react-hot not working

I'm using react-hot-loader after i updated to redux form v6.0.0-rc.3 it break my app with the following error.

Please advice if i can fix it somehow, for now i removed react-hot from webpack and it works, but i'm willing to add it back shorly

react-hot-loader is undergoing a lot of flux (no pun intended) at the moment. Finding a version that works with everything is challenging.

@erikras no problem, i definitely agree that is challenging to make it work for everything. I will try to dig in and find a solution for it. This ticket is for reference to the issue :)

Hi @fenos, can you please check with the latest versions of Redux Form and react-hot-loader?
I have the following in my package.json, and everything works just OK:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

ping @fenos - any update?

Closing due to inactivity.


When will the code be released?

Hello, our paper are now under review, for IEEE Trans normally it will take around half a year.
We will release the codes once it get accepted.


[vpj][all] Create a new module for offline components to reduce leakage

Create a new module for offline components to reduce leakage

Recently, we moved some shared classes into venice-common to share common functionality. To do this, we added hadoop-common library into venice-common. However, this leaks hadoop-common into online components too which is not desired. Moved these classes into a venice-hadoop-common package
How was this PR tested?

GHCI
Does this PR introduce any user-facing changes?

[X] No. You can skip the rest of this section.
[ ] Yes. Make sure to explain your proposed changes and call out the behavior change.

Who needs to depend on this module besides VPJ?

Who needs to depend on this module besides VPJ?

We have an ETL module internally that would benefit from this. This class was originally copied from there into OSS. We plan to release in open-source at some point. It is just a matter of allocating some bandwidth for

Who needs to depend on this module besides VPJ?
We have an ETL module internally that would benefit from this. This class was originally copied from there into OSS. We plan to release in open-source at some point. It is just a matter of allocating some bandwidth for

Creating a new module just for the sake of this proprietary ETL depender does not seem quite right... can ETL depend on all of VPJ instead?


joh/marine pinniped

merge adjacent edits when making more minimal edits
before making them more minimal, group bulk texts into buckets of simple and not so simple edits

helps with, maybe resolves https://github.com/microsoft/vscode/issues/188385

fyi @hediet


Poor contrast in tool window when using VS Dark theme

Some tool window items are barely visible when using the Visual Studio Dark theme, as seen in this screenshot:

Additionally, the installed libraries list probably should not use a white background. I think the plugin should try to follow the theme's choice of colours whenever appropriate.
Plugin version: 2.0.2
Visual Studio version: 17.9.6

Hi @Seally,
Thanks a lot for reporting. Adding this to be improved in 2.0.3 version.

Hi @Seally, we have just released 2.0.3 version that adapts better to the themes, thanks a lot for reporting!

@Seally we have detected some problems with 2.0.3 and had to revert, please do not update yet, we will fix this in 2.0.5

@Seally this has been finally fixed in 2.0.5, now the plugin adapts to both dark and light theme


binder_common: Fix uninitialized marshalling for PtrToArg<char32_t>

C# uses longs to access many native values. With PtrToArg<m_enum> and PtrToArg<bitfield<m_enum>> this isn't a problem, as C++ code converts through a *(int64_t*) cast in assignment, so all 64-bits are initialized.
However, with PtrToArg<char32_t>, value assignment happens through an *(int *) cast, leaving 32 bits uninitialized where int is 32 bits. On platforms where int is 16 bits, there are presumably 48 bits uninitialized, though there are very few platforms where this is still the case.
The easiest way to see the practical effects of this is by looking at EventInputKey.Unicode:
    public override void _Input(InputEvent @event) {
        if (@event is InputEventKey keyEvent) {
            if (keyEvent.IsPressed() && !keyEvent.Echo) {
                var raw = keyEvent.Unicode;
                var value = raw & 0xffffffff;
                GD.Print($"Key pressed: raw: {raw}; masked: {(char) value} ({value})");
            }
        }
    }

Pressing 'a' emits the following line:
Key pressed: raw: -3617008645356650399; masked: a (97)

Examining execution flow in gdb shows this conversion going through the following line:
PtrToArg<char32_t>::encode (p_ptr=0x7ffcd5bb4b18, p_val=97 U'a') at ./core/variant/binder_common.h:221
221			*(int *)p_ptr = p_val;

Here, p_val is still 97, which is the value InputEventKey.Unicode is expected to have. After assignment, p *(int64_t *)0x7ffcd5bb4b18 displays -3617008645356650399, with only the lower 32 bits being properly assigned, and is the value we see from C#.
With this patch applied, the above testing _Input now prints:
Key pressed: raw: 97; masked: a (97)

Thank you to blujay1269 for asking about an unexpected value they saw in EventInputKey.Unicode, which prompted this investigation.

Integer types usually have metadata associated to them so bindings can choose the correct type. For example, methods that return uint8_t in Godot use METADATA_INT_IS_UINT8. So a method like uint8_t StreamPeer::get_u8() is generated in C# with a byte return type.
By the way, godot-cpp probably has the same problem since they generate the method with a int64_t return type. cc @dsnopek
Maybe char32_t should use METADATA_INT_IS_INT32. Although this means language bindings will use int32_t which is still not entirely correct, should we add something like METADATA_INT_IS_CHAR32? That way bindings can pick the most appropriate type for a 32-bit unicode character (i.e.: System.Text.Rune in C#).
Just to be clear, changing the metadata breaks compatibility for the C# bindings because then the InputEventKey.Unicode property will change its type from long to int. However, we can change the C# bindings generator to avoid this and keep using long in the public API, but handle the value properly internally according to its metadata (so it will be handled as an int and dismiss the uninitialized bits).

By the way, godot-cpp probably has the same problem since they generate the method with a int64_t return type.

Yeah, I think you're right!

Maybe char32_t should use METADATA_INT_IS_INT32. Although this means language bindings will use int32_t which is still not entirely correct, should we add something like METADATA_INT_IS_CHAR32? That way bindings can pick the most appropriate type for a 32-bit unicode character (i.e.: System.Text.Rune in C#).

I agree that adding a METADATA_INT_IS_CHAR32 could make sense. However, the question after that would be if we should also have a metadata flag for char16_t and wchar_t?
However, the main thing to fix here is the issue with how the data is encoded. We can figure out how (or if) to improve the metadata in a follow-up.

Is there anything I can do to help at this point?

Thanks!


Implement sub-settings methods

Currently only GetSettings,  UpdateSettings and ResetSettings are implemented. These routes manage all the settings by calling this "general" settings route.
But currently in this SDK, no method are implemented to call the sub-routes of each settings.
We need to add the GetXXX, UpdateXXX and ResetXXX where XXX are the following settings:

[ ] Ranking rules
[ ] Synonyms
[ ] Stop-words
[ ] Searchable attributes
[ ] Displayed attributes
[ ] Attributes for faceting
[ ] Distinct attribute

⚠ Tests should be added for each method
No need to do all the settings in the same PRs of course, any contributions, even small, are welcome 😇❤
Feel free to ask any question!

I can work on this issue in coming days or maybe a week later.


Update README.md

Description
Version 3.0.0 sees the login method name change to login. An update to the documentation would be awesome. Hence this PR 🙂

Duplicate of #205 which I just merged :-) Thanks anyway!


Update conditional-access-user-flow.md

Added Conditional Access Template for Sign-in Risk

@videor : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @videor - This pull request was opened in the public repo. PMs should work in the private repo, per the Microsoft Docs contributor guide. Substantial updates also should be made in the private repo, for quality validations and to verify formatting in a staging environment. We can keep this PR open for review and merge, but would you make future content updates in the private repo? Thank you!

@sjiang26 Would you like this pull request closed per #73864?

@sjiang26 Would you like this pull request closed per #73864?

Yes, we can close this one. Thanks!


Anchor compatibility: does anchor order matter?

import fontParts.world

font = fontParts.world.RFont()

a = font.newGlyph("a")
a.appendAnchor("top", (0, 0))
a.appendAnchor("bottom", (0, 0))

b = font.newGlyph("b")
b.appendAnchor("bottom", (1, 1))
b.appendAnchor("top", (1, 1))

b.isCompatible(a)

(True, [Warning] Glyph: "b" + "a"
 [Warning] Glyph: "b" contains anchor ('top', 1) not in "a"
 [Warning] Glyph: "b" contains anchor ('bottom', 0) not in "a"
 [Warning] Glyph: "a" contains anchor ('bottom', 1) not in "b"
 [Warning] Glyph: "a" contains anchor ('top', 0) not in "b")

Does the anchor order really matter? As in, is this a true warning?

The specific code that you are referencing is here. Rather than asking a vague question and expecting us to do all of the research, please explain how this should work and, ideally, offer a patch. This is an open source project and those of us who work on it are doing so voluntarily.

the code gather a set of (anchor.name, i) tuples from self and other glyphs (with i being the anchor's index), then computes the difference.
https://github.com/robofab-developers/fontParts/blob/aaf612f8d97ad019607446b3e34ff29848e5214f/Lib/fontParts/base/glyph.py#L1871
maybe it should only compare the anchor's names. Unless tools rely on the order of the anchors when interpolating them, instead of simply matching them by the name. I would think the latter is the case, but maybe I'm missing something.

well -- replying to myself here -- the UFO glif's anchors are really a list, and as such there may well be more than one anchor with the same name in a single glyph, thus their order may (or may not) matter.

I prefer to ask for clarification before I go off and write a patch. The spec mentions a "name" attribute but does not mandate uniqueness in a glyph, the "identifier" attribute however does. My idea would be to change the anchor test to create a set of (name, identifier) tuples and compare those. The thinking is that tools look for anchor names (+identifiers?) when interpolating, not order (at least Glyphs seems to). But maybe I'm wrong and that's why I ask.

Since how anchors are used is undefined, it’s not impossible to conceive that one may be using the order of anchors with the same name in a meaningful way. For example, a ligature glyph may have 3 anchors named "top" in the order in which they should be used when constructing glyphs or when generating Mark-to-Ligature GPOS lookups.
I think isCompatible() should stay strict as it currently is, but maybe having the option to ignore or handle anchors compatibility with a custom function would be useful.

I am planning on soon making a PR to improve the order detection logic of
the anchor and component check. Could you list the issues? Maybe I can
squash a few things in one go.

@madig Yes, was thinking of your other issue, #349.


[Pending Review]Update errors-when-selecting-a-batch.md

Pull request guidance
Thank you for submitting your contribution to our support content! Our team works closely with subject matter experts in CSS and PMs in the product group to review all content requests to ensure technical accuracy and the best customer experience. This process can sometimes take one or more days, so we greatly appreciate your patience.
We also need your help in order to process your request as soon as possible:

We won't act on your pull request (PR) until you type "#sign-off" in a new comment in your pull request (PR) to indicate that your changes are complete.

After you sign off in your PR, the article will be tech reviewed by the PM or SME if it has more than minor changes. Once the article is approved, it will undergo a final editing pass before being merged.

Hi @theley502, I made minor changes to your draft. Can you have a look? Thanks!

looks great, thanks


bug:

Did you check docs and existing issues?

[X] I have read all the lazy.nvim docs
[X] I have searched the existing issues of lazy.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.9.1
Operating system/version
11.7.6
Describe the bug
run nvim . got a error message
$ nvim .

Steps To Reproduce
load nvim config https://github.com/cppcoffee/nvim-plugin-issue
Expected Behavior
no error
Repro
The minimize nvim config for reproduction issue.
https://github.com/cppcoffee/nvim-plugin-issue

Can't reproduce with your config.
You also seem to be using an old lazy.nvim version

Execute nvim . multiple times and it will appear. I just tried 4 times and the problem appeared once.

still can't reproduce and again your stacktrace is not correct. That line it refers to doesn't have any name field.
Can you provide me with an updated stacktrace?

Maybe other plugins triggered, I will continue to debug, thanks for the help.


Print CTest logs in CI

Some discussion in https://github.com/google/iree/pull/837, but it would be nice to have test failure logs in CI failures. Since we run with many threads, -V won't work on its own: it prints all the test outputs interleaved. @marbre suggested

Is there a possibility to access  Testing/Temporary/LastTest.log? That actually contains everything printed also in verbose mode, but I haven't had a look when running ctest in parallel.

Let's investigate that

I'll check how the log looks like when running ctest in parallel.

Also if not ordered with regard to the number of the test (meaning it still depends on the order of execution), the log is well formatted, get's you one test result after the other and therefore would work out :)

Oh yeah that seems fine. I just want each test's logs to be grouped together. The ordering of the tests is much less important

#1156 will fix this on the github CI.

That doesn't make this fixed now


Add examples of proposed new APIs

I think we can close this one in lieu of: https://github.com/notaryproject/nv2/pull/5

See https://github.com/notaryproject/nv2/pull/5


game crash when leaving editor too quickly after opening

When opening maps (especially with a high number of blocks/items) and quickly leaving the editor afterwards, the game will crash with this plugin enabled. This is not exclusive to this plugin, it seems to happen with Editor Helpers as well, but I've now tested with each being enabled/disabled and both independently cause the crash. I'm thinking there's some reference in the editor being held onto that the game doesn't like.
Sometimes the game doesn't fully crash, but I'll get this error, presumably due to caching being interrupted (ghost blocks in this case):

Issue for Editor Helpers in case something is found in common between these: https://github.com/skybaks/tm-editor-helpers/issues/76
It now actually seems to not really depend on how much stuff is in a map, rather how many custom items I have (~18,000)

This should have been fixed in the latest version

Sorry but this is not fixed, I still occasionally get the crash with the latest version from this repo, whether or not Editor Helpers is also enabled. It is however fixed now in the Editor Helpers issue I linked (never crashes with E++ disabled), so probably worth looking into how that was done

I think this is properly fixed now right? Please reopen or comment if not.


User authenticated data when search.

Hi,
I have an ecommerce mounted in strapi and i use melisearch search engine. I want to allow user to save products in whishlist. How is the best way to return which products are already added to the whishlist of the logged in user when i use the search, in the search results?
Should i process meilisearch results encapsulated in a new strapi API in order to return all the results of meilisearch with the user data inside? or are there a better / high performance way to do this?

Hey there,
We are small, so we can't spend much time doing support anymore 😢. You'll have better luck by going to our support channels like Discord, can you please try it first? If you can identify this as a bug, feel free to open up a new issue with a link to the original one, and we'll gladly help you out.
Discord
StackOverflow
Thanks for using Meilisearch!


[FLOC-3853] Upgrade to awscli-1.9.17

Fixes https://clusterhq.atlassian.net/browse/FLOC-3853
Required for:

https://clusterhq.atlassian.net/browse/FLOC-2748 and
https://clusterhq.atlassian.net/browse/FLOC-3849

There were a bunch of missing transient dependencies in the dev-requirements.txt file so I added them. It may be that some of the dependencies had been deliberately omitted because they also appear in requirements.txt but there aren't any tools to manage these files  and the package versions in the two files were already out of sync so I just added them and updated the versions where they were different.

So it is not clear to me when something should be in dev-requirements.txt and in requirements.txt.
Do we expect anything to work if someone only installs dev-requirements.txt?
Alternatively, it's not clear when something should be in requirements.txt but not in dev-requirements.txt. I would think you would need all of the requirements.txt in order to run the tests.
Suggest adding a comment at the top of dev-requirements.txt so it is a bit more clear.
Potentially just remove packages that are in both from dev-requirements.txt rather than trying to keep them in sync. Something like #2450

Discussed offline, I think we'll want to do something like #2450

Thanks @sarum90

Do we expect anything to work if someone only installs dev-requirements.txt?

I've changed my mind. Yes, I was expecting to be able to pip install -r dev-requirements.txt in a fresh virtualenv and run the acceptance tests.
In practice, that's not possible because:

dev-requirements.txt doesn't contain Twisted etc
pip install -r dev-requirements.txt doesn't support the --process-dependency-links option because the dependency link is in setup.py.
Probably other reasons....

Suggest adding a comment at the top of dev-requirements.txt so it is a bit more clear.

It's a good idea, but it's still not clear to me whether dev-requirments.txt should contain transient dependencies and whether those transient dependencies should be duplicated if they're already present in requirements.txt.
I found the script that @tomprince originally wrote to manage these files.

https://github.com/ClusterHQ/flocker/blob/49efb6d85ce3e5cebae886a55b3c8310746949e1/admin/requirements.py

And an issue to finish that script:

https://clusterhq.atlassian.net/browse/FLOC-2528

Anyway, this is all a can of worms.
The branch now has the minimum necessary change which allows me to run the cloudformation test in #2449

Looks good. I still might go in and clean these up sometime, cause it'd be better if it was more obvious what should be in here, but for now please proceed.
Thanks!

Thanks @sarum90
I re-ran the lint and run_trial_on_AWS_Ubuntu_Trusty_as_root_flocker.node.agents builders. All  are now green so I'll merge this.


[MINOR] Fix functional index for nonpartitioned table

Change Logs
functional index doesn't work with unpartitioned table due to usage new Path(basePath, partition + Path.SEPARATOR + filename); with empty partition string
Impact

Risk level (write none, low medium or high below)

Documentation Update

Contributor's checklist

[x] Read through contributor's guide
[x] Change Logs and Impact were stated clearly
[x] Adequate tests were added if applicable
[x] CI passed

@danny0405 @codope please pay attention

@Alowator : Thanks for the fix. LGTM. Can you look into the failing test.

Thanks for the fix @Alowator


Authentication credentials needed for league standings

Hello
When we request a league standing, don't we need authentication credentials ? How did you solve that problem ?

a GET request to the endpoint: 'https://fantasy.premierleague.com/api/leagues-classic/${LEAGUE-ID-HERE}/standings/ - will return the league standings without authentication.
Within this package - getLeague(id) will provide you with the json returned from the above request.

thank you for replying, I noticed that they removed this for this season, meaning that we can hit that endpoint without posting credentials. Last year I am pretty sure that URL needed auth.


ProducesDefaultResponseType not behaving as expected

I've noticed that with Pre-release 2, the ProducesDefaultResponseType doesn't seem to behave the way it did previously. I'm now getting this in SwaggerUI:

Previously, it looked like:

I'm going to call this a 🐞 simply because it didn't do what you expected. There is a significant refactor in Preview 3 that will address this. Effectively, the API Versioning-specific before for this has been removed and things should now behave the same as any other Minimal API. You didn't previous state that this was for a Minimal API, but I presume that it must be.
Preview 3 is now available and contains the fix for this issue. Review the release notes and updated examples to see how things have changed.

@commonsensesoftware - Sorry, you're correct. I didn't specify. This actually isn't for minimal apis. And, unfortunately, I just tried preview 3 and I still got the same behavior.

😲
Do you have a repro or more details you can share? Are you saying there is some previous version of API Versioning where this didn't happen? The response type would have been generated by the intrinsic API Explorer implementation. The one and only case I can think of where that would be potentially different is OData, but even then, the media type wouldn't be changed. ProblemDetails shouldn't be affected.
With some additional context I can investigate further. Repros are always best so I don't have to guess at recreating the conditions.

@commonsensesoftware - Sure. I don't have a public repro right now but I'll create one.

@commonsensesoftware - Here is the repro.
Let me know if you have any questions.

Thanks for the repro. This will give me something to look at and compare against. Honestly, I can't think of a place where the response types would be changed or otherwise affected, but you are currently seeing some type of change.
If you want to take a peek or crack at the code, the place to start is VersionedApiDescriptionProvider.cs. That is the entry point for the API Explorer extensions. This class does 3 things:

Collate ApiDescription by API version
a. If the same endpoint maps to multiple API versions, the ApiDescription is cloned
b. This might be the cause
Add one or more ApiParameterDescription instances for ApiVersion
Substitute ApiVersion in the ApiDescription.RelativePath when SubstituteApiVersionInUrl = true

I'll work on carving out some time this week to look at this deeper. If you find anything, please share. I'll accept a PR as well.

Ok. I found the problem. It's not that the response is changed per se, but descriptors are cloned for each API version so that they don't result in side effects across versions. You can see here that IsDefaultResponse is not cloned. Now, the very strange thing that I can't wrap my head around is that this is the exact same code from the original! I vaguely recalled running into a similar issue for BindingInfo, which wasn't in earlier versions (that was my clue). As properties have been added over the versions, I didn't realize it and missed cloning some of the properties. I'll have to see about how to invest in preventing this from happening in the future without relying on Reflection.
By making this one tiny change, Api.Works and Api.DoesntWork produce the same results. The only other thing that I wanted to check with you on was the media type. You showed application/problem+json, but this is not output in either of the repros you provided. Furthermore, looking at the original descriptors, this media type is not reported. It's unclear to me if that is the default behavior (which it seems to be) or if you have some customization that does the right thing. The fact that text/plain is reported seems to confirm that the ApiResponseFormats are being purely derived from the registered OutputFormatters.
This fix will be in the next release. I'm hesitant to change any default behaviors of the response formats, even if there is a more correct configuration because that could end up conflicting with futures changes in ASP.NET Core. If API Versioning is doing something wrong, I'm happy to fix it. If the default media types are wrong for this response, then the ASP.NET Core team should fix it. I'm willing to chime in and help drive that conversation should that be the case.

The closed issue dotnet/aspnetcore#9324 seems to confirm that these are the default, expected media types. 😢

It's unclear to me if that is the default behavior (which it seems to be) or if you have some customization that does the right thing.

Yes. The initial github issue was from my actual application. In that application, I have a custom swagger operation filter that looks for status codes >=400 or where it has a key of default and set the appropriate application/problem+json media type. One reason I noticed the issue is that the filter was not getting fired anymore for the results that were based on ProducesDefaultResponseType. When I created the repro, I left all that out to keep it simple.
I agree with you, I would not expect you to have to fix the mistake in aspnetcore for how it is handling the media types. It is enough for me if you can ensure that they are still marked as default so that it appears correctly in swagger and my filter will fire.
But, if you'd like to help drive the discussion, that would be fantastic. Here is a link to a newer version of this issue that I'm following. Supposedly they are doing some problem details work but it is not clear to me if this is going to make the cut. But if it did, I could remove this extra filter from every API. I also know others that are using a custom produces attribute to work around the underlying aspnetcore issue. I'm sure they'd like to ditch their custom version and use the built-in attribute if it worked correctly.

6.0 has been officially released and contains the fix on the API Versioning side. I'll do what I can to join the discussion on the ASP.NET Core side. Thanks for reporting the issue and creating a repro.


Icon SET request: MAP objects

Specifically:
ra-camp
ra-castle
ra-village
ra-town
ra-city
ra-metropolis
ra-port
ra-ruin
ra-standing-stone
ra-tree (forest)
ra-swamp
ra-hills
ra-mountains (redesign to look more like mountains now look more like "terrain" in general)

Also, you are awesome regardless guys!

+1 this, having a mountain icon that's just a singular mountain by itself would be awesome

+1