Intruisive scientific notation when using .dump();

Describe what you want to achieve.

Hello i'm receiving this current json:
{"price":0.0000972439793401814}

I'm writting a financial software and i want to get this price as a string:
"0.0000972439793401814"

Describe what you tried.

Unfortunately when i use json::parse and auto price_as_str = my_json["price"].dump()
i got a weird scientific value:  "9.722107501034067e-05" <- I lost my precision here also 9722 vs 9724
It's very annoying because my software cannot using floating point numbers, only string and big integer so i feel it's very intruisive from the original json that return me the full value without scientific notation
Even if the answer from the original api is probably strange according to:
This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers [IEEE754] is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision. A JSON number such as 1E400 or 3.141592653589793238462643383279 may indicate potential interoperability problems, since it suggests that the software that created it expects receiving software to have greater capabilities for numeric magnitude and precision than is widely available.

Describe which system (OS, compiler) you are using.

OSX clang-8

Describe which version of the library you are using (release version, develop branch).
v3.6.1

For the library, "0.0000972439793401814" and "9.72439793401814e-05" are parsed to the same number, represented as 0x3f197deed8101dc5 internally, see https://float.exposed/0x3f197deed8101dc5.
#include "json.hpp"
#include <iostream>
#include <iomanip>

using json = nlohmann::json;

int main()
{
    json j = "0.0000972439793401814"_json;
    json k = "9.72439793401814e-05"_json;

    double jd = j.get<double>();
    double kd = k.get<double>();

    std::cout << std::boolalpha << (j == k) << std::endl;
}

If you care about how the number is represented as string, then the library's behavior is to allow roundtripping where possible. There is no way to influence the format currently. You are, however, free to convert the value to a double (see above) and print it as you like (i.e., using std::fixed).

@nlohmann I am not really convinced of this answer. I do not want to treat the result of the json as a double, but rather like a string, just retrieve this field as a string without any value changes made by the library. Basically enjoy the parser to access only the fields but as a string. (the main reason is that I can have as a response double containing commercial rounding errors) and I sometimes have to exceed the number of decimal places that a duplicate can handle

The library has no way of accessing the originally parsed string later. During parsing, however, it is available in the SAX interface: https://nlohmann.github.io/json/structnlohmann_1_1json__sax_ae7c31614e8a82164d2d7f8dbf4671b25.html#ae7c31614e8a82164d2d7f8dbf4671b25
Here is a description of how to use it in  a similar setting: https://github.com/nlohmann/json/issues/1627#issuecomment-504642629

is this possible to have the key during the sax parsing (like current key) ? @nlohmann
otherwise it's seem's to work i just tested it, but if i can have the name of the key it's great too

There is a function that is called when a key has been parsed: https://nlohmann.github.io/json/structnlohmann_1_1json__sax_a2e0c7ecd80b18d18a8cc76f71cfc2028.html#a2e0c7ecd80b18d18a8cc76f71cfc2028
See https://github.com/nlohmann/json#sax-interface for more information.

Thank's for your help !


[GHSA-8hfj-j24r-96c4] Path Traversal: 'dir/../../filename' in moment.locale

Updates

Affected products

Comments
Isuue will Improve: "Path Traversal: 'dir/../../filename' in moment.locale"

Hi there @ichernev! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our highly-trained Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory

Hey @Subrata19777, do you have any supporting evidence for this fixed version change? It seems quite clear to me from the fix commit that the first fixed version is 2.29.2
https://github.com/moment/moment/commit/4211bfc8f15746be4019bba557e29a7ba83d54c5

I have updated the version to 2.29.4 to fix the issue. Please check this
link -
https://security.snyk.io/vuln/SNYK-DOTNET-MOMENTJS-2440689 -(Upgrade
Moment.js to version 2.29.2 or higher.)
On Mon, Jul 31, 2023 at 10:53 PM Jon @.***> wrote:

Hey @Subrata19777 https://github.com/Subrata19777, do you have any
supporting evidence for this fixed version change? It seems quite clear to
me from the fix commit that the first fixed version is 2.29.2
@.***
https://github.com/moment/moment/commit/4211bfc8f15746be4019bba557e29a7ba83d54c5
—
Reply to this email directly, view it on GitHub
https://github.com/github/advisory-database/pull/2560#issuecomment-1658832335,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYZRS5ZHP6VNBI4H32RFQZTXS7SZRANCNFSM6AAAAAA252EUWA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Thanks and Regards,
Subrata Dutta
LearningMate
@.*** @.***>
www.learningmate.com Kolkata, West Bengal

I have updated the version to 2.29.4 to fix the issue.

But why? Your link references version 2.29.2 not 2.29.4

Can you update it to 2.29.4 & which link, I didn't get you.
On Tue, Aug 1, 2023 at 9:38 PM Jon @.***> wrote:

I have updated the version to 2.29.4 to fix the issue.
But why? Your link references version 2.29.2 not 2.29.4
—
Reply to this email directly, view it on GitHub
https://github.com/github/advisory-database/pull/2560#issuecomment-1660636927,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYZRS5YBOADPKFWHVCLWY7DXTESWXANCNFSM6AAAAAA252EUWA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Thanks and Regards,
Subrata Dutta
LearningMate
@.*** @.***>
www.learningmate.com Kolkata, West Bengal

Can you update it to 2.29.4

Not without a reason. It seems to me that the correct fix version is 2.29.2 for this advisory.

This link - https://security.snyk.io/vuln/SNYK-DOTNET-MOMENTJS-2440689
Telling 2.29.2 or higher, we 2.29.4.
On Tue, Aug 1, 2023 at 10:04 PM Jon @.***> wrote:

Can you update it to 2.29.4
Not without a reason. It seems to me that the correct fix version is
2.29.2 for this advisory.
—
Reply to this email directly, view it on GitHub
https://github.com/github/advisory-database/pull/2560#issuecomment-1660691344,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYZRS5YUKZCMI2XQS4EEGR3XTEVZJANCNFSM6AAAAAA252EUWA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Thanks and Regards,
Subrata Dutta
LearningMate
@.*** @.***>
www.learningmate.com Kolkata, West Bengal

Is the issue that you are seeing alerts on a project using 2.29.4?

[image: image.png]
On Tue, Aug 1, 2023 at 10:10 PM Jon @.***> wrote:

Is the issue that you are seeing alerts on a project using 2.29.4?
—
Reply to this email directly, view it on GitHub
https://github.com/github/advisory-database/pull/2560#issuecomment-1660708248,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYZRS5ZSD2Y7QQLJO7SODBDXTEWQXANCNFSM6AAAAAA252EUWA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Thanks and Regards,
Subrata Dutta
LearningMate
@.*** @.***>
www.learningmate.com Kolkata, West Bengal

@Subrata19777 can I ask you to reach out to support to file a bug?
https://support.github.com/

👋 This pull request has been marked as stale because it has been open with no activity.  If you do nothing this pull request will be closed eventually by the stale bot. Please see CONTRIBUTING.md for more policy details.

👋 This pull request has been marked as stale because it has been open with no activity.  If you do nothing this pull request will be closed eventually by the stale bot. Please see CONTRIBUTING.md for more policy details.


Segfault when preloading Mesh

Hi,
Preloading Mesh for root.exe from https://github.com/root-project/root/ causes
$ LD_PRELOAD=./bazel-bin/src/libmesh.so root.exe -l -b -q

segfault (1/0xffffffff): in arena? 0

That's with Mesh's master from 1h ago on Ubuntu 20.04.1.
ROOT is using cling and its llvm-jitting and I was guessing that this might cause havoc - but that's not it: Mesh works with cling like a charm!
LD_PRELOADing jemalloc works for ROOT:
$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2 root.exe -l -b -q
$

So how would I go about debugging this? Do you have instructions on how to get a Mesh build with debug symbols, are there assertions I should be turning on, etc?
(I bet the CERN LHC experiments' software stacks will love to try this out once we manage to get Mesh to work with ROOT!)
Cheers, Axel.

sorry for the delay here - this sounds exciting! I will look at this in the next few days - I suspect that we're not properly chaining/retaining segfault handlers correctly.

Not sure if that's related but with the latest mesh I get this error in a cppyy setup which is similar to root in many ways:
src/meshable_arena.cc:509:void mesh::MeshableArena::beginMesh(void*, void*, size_t): ASSERTION 'r == 0' FAILED:

I now went back to 78b9b5d where I don't think that I have had this problem.


"theme watch" not running, producting YAML error

What happened
Error produced in console: "YAML error: control characters are not allowed"
Tried regenerating config file with the same error occurring, looks like this (with personal data removed):
development:
password: xxxxxx
theme_id: "1234"
store: example.myshopify.com
What I expected to happen
Watch folder for changes and automatically upload as usual
Steps to reproduce

Executed "theme watch" on a directory which has worked perfectly fine previously
Error produced in console: "YAML error: control characters are not allowed"

My Environment
OS (including version): Windows 10
Themekit version: ThemeKit 0.7.5 windows/amd64
Ignore Files(if any): none

This seems to be a duplicate of #526 but there is a suggestion of how to fix this in there so I will close this one in favour of the other.


[ZEPPELIN-3610] Cluster Raft module design

By using the Raft protocol, multiple Zeppelin-Server groups are built into a Zeppelin cluster, the cluster State Machine is maintained through the Raft protocol, and the services in the cluster are agreed upon. The Zeppelin-Server and Zeppelin-Interperter services and processes are stored in the Cluster MetaData. Metadata information;
[Feature]

[x] added support for checking lambda syntax styles in the pom.xml file

[x] add raft algorithm copycat jar

[x] add  Cluster State Machine

[x] add state machine query command

[x] add state machine delete command

[x] add state machine put command

https://issues.apache.org/jira/browse/ZEPPELIN-3610

CI pass

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? Yes

@zjffdu Sorry, I will pay attention next time.

I believe we need design docs to describe this feature. I'm not sure which component would be located which places. @liuxunorg Could you describe it with a diagram?

@liuxunorg Another suggestion is that could you send a mail to user/dev mail list about the zeppelin HA feature and attach the design doc, it is better to let the community aware this feature beforehand and you may get more feedback and comments.

Ok, let me improve the documentation and add a diagram, then send an email to user/dev mail list.

Just out of curiosity, why Raft Protocol? Have you considered alternatives, for example, Zookeeper could do here, I guess. I think what the design document is missing is some sort of pros and cons compared to alternatives. Thanks!

hi @Tagar , Increasing the service state consistency of the system through zookeeper is a common practice in distributed systems. But this will cause zeppelin to rely on an external service zookeeper, this increases the complexity of zeppelin deployment. the Raft protocol is an easy-to-understand service state consistency protocol. there are some mature Raft algorithm libraries (for example: copycat), we can directly introduce the copycat package in zeppelin-server, and directly let several zeppelin-server directly form a zeppelin cluster.

@Tagar @jongyoul @zjffdu  If the community feels that zeppelin has been added to the clustering feature, the changes are relatively large. Is it possible to add a new code branch?
This can be more convenient. I will incorporate the code related to this feature earlier. You can test it together to see the running effect. If you feel good, merge it into the master branch.
Because of this distributed clustering function, it has been used in our company for a period of time and has a good use effect.

It make sense @liuxunorg , I will create a new branch for this feature.

BTW, it looks hard to maintain a new branch for a new feature. we already
use github's PR and we can test it by pulling PR with dev/test_pr....
WDYT?
On Mon, Jul 23, 2018 at 2:56 PM, Jeff Zhang<EMAIL_ADDRESS>wrote:

It make sense @liuxunorg https://github.com/liuxunorg , I will create a
new branch for this feature.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/zeppelin/pull/3074#issuecomment-406947382, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADcflmJf1DqAkolY-3j8IU8GmcJjJPStks5uJWWSgaJpZM4VQfJN
.

--
이종열, Jongyoul Lee, 李宗烈
http://madeng.net

@liuxunorg Could you do rebase and retrigger the travis ? If CI pass, I will create new branch for you, then you can work on the new branch.

CI pass. https://travis-ci.org/liuxunorg/zeppelin/builds/407058117

Deleted?


Logs updates

Logs:

Remove outdated filter of logs containing filtered.

+ Refactoring and documentation

Coverage decreased (-0.01%) to 91.296% when pulling 490befc4b9abb62ce6ccca0aa87327f59f3b72b9 on gabrielburnworth:staging into 7325e3972b7cc7e1ed9f4ee045758b02c015b9b2 on FarmBot:staging.


Hasura-graphql-engine

Steps To Reproduce
Steps to reproduce the behavior:

build hasura-graphql-engine

Build log
error: builder for '/nix/store/lpi342mv7i6hkv4jx582mhds2413q762-graphql-engine-2.3.1.drv' failed with exit code 1;
       last 10 log lines:
       >        either ‘Autodocodec.disjointMatchChoiceCodec’,
       >               imported from ‘Autodocodec’ at src-dc-api/Autodocodec/Extended.hs:19:1-18
       >               (and originally defined in ‘Autodocodec.Codec’)
       >            or ‘Autodocodec.Extended.disjointMatchChoiceCodec’,
       >               defined at src-dc-api/Autodocodec/Extended.hs:111:1
       >     |
       > 131 |         disjointMatchChoiceCodec c (go l') $ \i -> case m i of
       >     |         ^^^^^^^^^^^^^^^^^^^^^^^^
       > [ 2 of 17] Compiling Hasura.Backends.DataConnector.API.V0.ConfigSchema ( src-dc-api/Hasura/Backends/DataConnector/API/V0/ConfigSchema.hs, dist/build/dc-api/Hasura/Backends/DataConnector/API/V0/ConfigSchema.o, dist/build/dc-api/Hasura/Backends/DataConnector/API/V0/ConfigSchema.dyn_o )
       > [ 3 of 17] Compiling Hasura.Backends.DataConnector.API.V0.Capabilities ( src-dc-api/Hasura/Backends/DataConnector/API/V0/Capabilities.hs, dist/build/dc-api/Hasura/Backends/DataConnector/API/V0/Capabilities.o, dist/build/dc-api/Hasura/Backends/DataConnector/API/V0/Capabilities.dyn_o )
       For full logs, run 'nix log /nix/store/lpi342mv7i6hkv4jx582mhds2413q762-graphql-engine-2.3.1.drv'.

Additional context
I launched the update.sh script to try to unbreak the build.
I had to manually replace the graphql parser hedgehog dep to hedgehog_1_1_1
Removed the first patch as it has been merged apparently.
I am now stuck on an ambiguous function call i am not sure how to fix it.
Notify maintainers

@Lassulus
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here

FYI there is an almost working flake of the latest version of the graphql-engine server:
https://github.com/hasura/graphql-engine/pull/9160


Some general cleanup

Move common states back into edit.html.erb and render custom states when they exist.
This also fixes some missing statuses that didn't have a view.

Start to move code out of the OrdersController and into the manipulator concern.
This fixes #234

🐑 🇮🇹


HOP-HOP-3501 : Avoid formatting hop-variables.xml

Following this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed
for the change (usually before you start working on it).  Trivial changes like typos do not
require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [HOP-XXX] - Fixes bug in SessionManager,
where you replace HOP-XXX with the appropriate JIRA issue. Best practice
is to use the JIRA issue title in the pull request title and in the first line of the commit message.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean install apache-rat:check to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If you have a group of commits related to the same change, please squash your commits into one and force push your branch using git rebase -i.

Trivial changes like typos do not require a JIRA issue (javadoc, comments...).
In this case, just format the pull request title like (DOC) - Add javadoc in SessionManager.
If this is your first contribution, you have to read the Contribution Guidelines
If your pull request is about ~20 lines of code you don't need to sign an Individual Contributor License Agreement
if you are unsure please ask on the developers list.
To make clear that you license your contribution under the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

[ ] I hereby declare this contribution to be licenced under the Apache License Version 2.0, January 2004
[ ] In any other case, please file an Apache Individual Contributor License Agreement.

Hi @uraychang , I don't think we should do this.
We should just fix the file containing the variables. This was introduced by using a code formatter on all files.
We no longer do this by default

So, I just need to simply fix the hop-variables.xml file?

yes, I would fix the file in this case. There might be cases we want line breaks in the future.

@hansva usually what's the best way to revise the PR?
force push to update this PR or just close it and reopen another one?

Feel free to force push, or add an extra commit to this one reverting your previous change and adding the new changes.

@hansva Updated!! thanks

Thanks @uraychang !


[BUG] onEditorLoaded not working on Web

onEditorLoaded not working on Web causing preset text value not showing. It happen on sample app too.
Steps to reproduce the behavior:

Run sample app on Web
Preset text not showing on editor

I also have the same problem in web.
if I debug line by line, the value is loaded. If I run it without debugging it line by line, it doesn't load the value.
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.3, on Microsoft Windows [versÆo 10.0.22631.3296], locale pt-BR)
[✓] Windows Version (Installed version of Windows is version 10 or higher)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Chrome - develop for the web
[✓] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.5.5)
[✓] Android Studio (version 2023.2)
[✓] VS Code (version 1.87.2)
[✓] Connected device (4 available)
[✓] Network resources

I also have the same problem in web.

Same problem - I can't seem to load the initial text unless I use the hack mentioned here of adding an arbitrary delay.


Provide autocomplete for property names & values used in selected property

I'm not actively developing Obsidian plugins at the moment, so I won't be working on this anytime soon.
This may be possible?  It would have to be done by locating where Obsidian stores information on all of it's properties,(the vault's data.json or types.json file could be used?) pass them into the Svelte forms and have it listen for keys that match the property name/value.  More research would need to be done on where to find that information, as I don't exactly know where it's stored and how to access it.

Some links from a very quick search:

https://github.com/obsidianmd/obsidian-api/blob/9754fc87dd9a417f198a5cad7f08959206d2f69c/CHANGELOG.md?plain=1#L38
https://github.com/obsidianmd/obsidian-api/blob/9754fc87dd9a417f198a5cad7f08959206d2f69c/CHANGELOG.md?plain=1#L160
https://github.com/obsidianmd/obsidian-api/blob/9754fc87dd9a417f198a5cad7f08959206d2f69c/README.md?plain=1#L40
https://github.com/ivan-lednev/obsidian-metadata-utils (7 months old so probably outdated)

Or maybe utillizing dataview would be easier, idk:

https://blacksmithgu.github.io/obsidian-dataview/resources/develop-against-dataview/
https://github.com/blacksmithgu/obsidian-dataview/blob/master/src/index.ts

This is probably way too littte, but hopefully better than nothing

It seems that Completr provides autocompletion of property names using obsidian api

https://github.com/tth05/obsidian-completr/blob/cc542148eb4ed1b3f97c3d2db06c4546eaf9f019/src/main.ts#L33


NP-1707: FindableDoiEventHandler accepts input event

README
This is a most basic handler. It only accepts an event and produces a dummy output.
The aim of this PR is to answer basically to the following question:
Is the event assumed here the correct event?

Codacy fails because the merge target is not develop.


Skip Running handlers: logging if none exist.

Right now we log this for most users w/o a handler:
Running handlers:

This is totally pointless for 99.9% of users that don't have a handler. Just skip it if there's nothing to run.

We should probably nuke this one too if nothing is done:
Installing Cookbook Gems:

Hi @tas50 could you please elaborate on where these lines show up? i.e. chef client run or any specific tool?

This is output when the chef-client itself is run.


Installation failed

Hello,
I'm trying to install twill to a new Laravel application but it fails.

I have the same problem!

Twill is definitely compatible with Laravel 10 and PHP up to 8.2 (8.3 support coming this month). If you are starting from a fresh Laravel app, try deleting your composer.lock file before requiring the Twill package. There is most likely a dependencies conflict, I'll investigate.


❓Question: is it possible to add global links not connected to any project?

Hi 👋
I was wondering. Currently when I add some link the extensions stores that info in the setting.json file. Is it possible to add some link which are like 'global' so does not matter which workspace/project I have opened I will always see them in the extension?

Hi @Adam-it this indeed the plan, but the current preview version does not yet support it.

Hi @Adam-it this indeed the plan, but the current preview version does not yet support it.

That would be awesome 👍👍.
Any ideas on how you would like this to be handled?
Are you open for co contributions? I am quite full this and next week when it comes for open source time but if in 3 weeks time this will be still open and you have more important stuff to do maybe I could give it a shot and try to help out?

I already had some things in progress for this that were not yet committed. Think in the end. There will be three sections:

Global
Project
Team (squarl.json)

I'll already push the code to make the global bookmarks available, it will look as follows:

Things that are still missing to make the feature complete are:

[ ]: Creating the bookmark automatically in the global settings.json file (at the moment, this is manual)
[ ]: Creating the group automatically in the global settings.json file
[ ]: Promote/demote link from project to global (and vice versa)
[ ]: Search through global/project/team links. At the moment, only project and team links are supported

ok. Great news 👍. All of those seem like perfect task to be taken 😊.
I will mark this comment and get back to you in 3 weeks what maybe is still on the plate so if you want we could split the left work 💪.
Thanks for your quick response 👍
have a awesome week and will be in touch 🤩

@estruyf so I would like to refresh the topic.
Is there anything particular you are working on but don't have time and would like to share work ?

Most of the functionality is already included. The only thing that is open is to promote/demote the items from global to local and back.

ok so if you would be willing to share work I could try to implement this one 🤔.
If you agree I would open a separate issue for it and there we could clarify this functionality in a bit more detail so I would do/implement it in a way you want....  and close this issue
But if I understand the feature correctly I should add two links to the context menu of the link item:

promote - which will allow to upgrade link from local project to global
demote - which will downgrade the link from global to local
mockup:

questions:

should we allow to pick group when promoting/demoting?
should we allow to rename the link along the way? I was thinking that the process could be actually like deleting one link in one area and adding a new link in new area with prefilled values from the old link (name, link, description) 🤔

You are completely free to implement this one.

The promote action should only appear for project bookmarks, so they become global bookmarks.
The demote action should only appear for global bookmarks, so they can be put on the local level.

Does this make sense?

should we allow to pick group when promoting/demoting?

Yes, as groups can be different on project and global level.

should we allow to rename the link along the way? I was thinking that the process could be actually like deleting one link in one area and adding a new link in new area with prefilled values from the old link (name, link, description) 🤔

The bookmark needs to be deleted and recreated indeed, but apart from asking to which group it needs to be recreated, I wouldn't ask for description or link changes.

thanks @estruyf for the opportunity 🤩. I feel like I will learn a lot even implementing such a small functionality 👍
I will create a separate issue for it today during night and start working over the weekend 👍.
closing this one 👍


#735 - fixes for After Effects

Changed collect_render family to 'render' to get correct name from Creator tool
Changed outputDir to point to rendered location for metadata.json file
Pulling startFrame, endFrame from AE
Added files for handling this to stub
Requires:
pypeclub/avalon-core#223

Added filename to render folder
Changed resolving of aov for support of review in AE


Don't ask if plaintiff/defendant and then ignore it

Fixes #19.
Currently, we will ask if the user is a plaintiff or defendant because we directly trigger user_ask_role. However, the user's answer to the question is ignored, because al_form_type = "starts_case"; so the AL will mark user_starts_case as True.  I think "starts_case" is incorrect for this form, so I changed it to "existing_case", and changed user_ask_role to user_role, which will still trigger the same question, but won't ask it if the form this is being used in already knows user_role.
Tested on AL main and https://github.com/SuffolkLITLab/docassemble-AssemblyLine/pull/596.

The change you're making here is to code that comes that way straight from the Weaver whenever someone says the users role is unknown, so we definitely need to detangle it there as well.
I'm not sure of the most correct fix but we'll want to avoid an impact on existing forms however we change this behavior.

Realizing I missed this comment. It's in PR in the Weaver, https://github.com/SuffolkLITLab/docassemble-ALWeaver/pull/698 (recently split off from a different PR).

I'm not sure of the most correct fix but we'll want to avoid an impact on existing forms however we change this behavior.

TBH I think this is the correct fix. All of the places in AL core use user_role, not user_ask_role, which makes sense.

Still need to test with https://github.com/SuffolkLITLab/docassemble-AssemblyLine/pull/596 (and before), just one last check.

Tested fine, both on current AL and AL post https://github.com/SuffolkLITLab/docassemble-AssemblyLine/commit/0d98278867011af25580309fc5a98f09f2e95c89.


how to get password for playground login ?

I used to login with my mnemonic, now there's password required and I can't figure out where to get it from.

Duplicate for https://github.com/threefoldtech/tfgrid-sdk-ts/issues/643


Use up to date base64 encoder / decoder

Closes https://github.com/pydantic/pydantic/issues/9072
Change that should be highlighted in the upcoming release notes + blog post.

One lingering concern that I have here is the failing test relating to round tripping:
from pydantic import BaseModel, Base64Bytes

input_data = b'Zm9vIGJhcg==\n'
expected_value = b'foo bar'

class Model(BaseModel):
    base64_value: Base64Bytes

m = Model(base64_value=input_data)
assert m.base64_value == expected_value

assert m.model_dump()['base64_value'] == input_data
# b'Zm9vIGJhcg==' != b'Zm9vIGJhcg==\n'

cc @Viicos, @dmontagu

One lingering concern that I have here is the failing test relating to round tripping.

We've discussed - this isn't an issue, the whole point was to move to the newer function not adding a newline automatically. Validation still succeeds, so round tripping is fine. This is similar to url behavior, etc.

Thank you @sydney-runkle, this is fantastic!


Insert "Super" key

Available use "Super" key with alias "super" or "windows"

I inserted in keyboardMapping dictionary code in order to make available the "super" key (windows key).

Done. There's already a "win" key so I didn't add "windows", but I added the super key. I've also updated the authors file to add your name. Thanks!


PNG decoder seems to get pixel format wrong

Running wuffs on the PNG test suite: (PngSuite-2013jan13),
hitting some odd reporting of pixel formats by Wuffs:
basn0g16.png (16 bit (64k level) grayscale):
bits_per_pixel is incorrectly reported as 8. (should be 16)
likewise with channel_0_bits.
basn2c16.png (3x16 bits rgb color):
bpp incorrectly reported as 64, should be 48.
channel_3_bits incorrectly reported as 16, should be 0.
Or am I misunderstanding wuffs, and it's doing some automatic conversion in some weird way?
thanks!

There are more incorrect readings but i'll leave it at that for now.

basn0g16.png (16 bit (64k level) grayscale):
bits_per_pixel is incorrectly reported as 8. (should be 16)

Yeah, that's a known bug / TODO.

basn2c16.png (3x16 bits rgb color):
bpp incorrectly reported as 64, should be 48.
channel_3_bits incorrectly reported as 16, should be 0.
Or am I misunderstanding wuffs, and it's doing some automatic conversion in some weird way?

It's sort of doing automatic conversion. Wuffs' pixel swizzler supports converting from pixel format S to pixel format D for a variety of S and D pixel formats, but it's not the full set of all possible pairs of pixel formats. The pixel format set by decode_image_config is conventionally one of the supported S pixel formats. Whilst the PNG file format has 3x16 RGB separate from 4x16 RGBA, the former seems rare enough in practice that it wasn't worth dedicated code paths converting from 3x16 RGB to all of the supported D pixel formats. Instead, for Wuffs' PNG decoder, 3x16 RGB is 'rounded up' to a superset S format: 4x16 RGBA (and the Alpha values are always 0xFFFF).

There are more incorrect readings but i'll leave it at that for now.

I'm curious what the others are, although I suspect they're expanded for the same reason. For example, YA (Gray + Alpha) is expanded to RGBA (with R = G = B = Y).

Yeah, basn4a08.png, which is 8 bit grayscale + 8 bit alpha-channel, is reported as 32bpp with 4 channels.

Closing as Working As Intended.


Disabled audience detection as it's causing issues in the dev server

Disabling the verify_aud as it's causing issues in dev server

This is an important security measure. It should not be disabled, even for debugging. If the audience value is not correct, we need to fix it.

I'd like to know why this check is important. What does the audience check actually do?


IRGen: We need to emit metadata for types that are emitted with shared linkage

Otherwise one TU could only require the type descriptor without metadata
and another TU could require metadata and type descriptor. Whether the
metadata access function is available would then depend on the linking
order of the two TUs.
rdar://56929811

@swift-ci Please test

@swift-ci Please benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

ArrayAppendGenericStructs
1350
2460
+82.2%
0.55x (?)

FlattenListFlatMap
7521
10428
+38.7%
0.72x (?)

Code size: -O
Performance: -Osize
Code size: -Osize
Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

ArrayAppendGenericStructs
1700
2570
+51.2%
0.66x (?)

Improvement
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeFromNSString
3290
3035
-7.8%
1.08x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

Hm, no code size difference, maybe we were forcing all the metadata in our dylibs for other reasons already.


[CARBONDATA-2224][File Level Reader Support] External File level reader support

File level reader reads any carbondata file placed in any external file path. The reading can be done through 3 methods.
a) Reading as a datasource from Spark. CarbonFileLevelFormat.scala is used in this case to read the file. To create a spark datasource external table
" CREATE TABLE sdkOutputTable USING CarbonDataFileFormat LOCATION '$writerOutputFilePath1'"
For more details please refer the test file org/apache/carbondata/spark/testsuite/createTable/TestCreateTableUsingCarbonFileLevelFormat.scala
file.
b) Reading from spark sql as a external table. CarbonFileinputFormat.java is used for reading the files. The create table syntax for this will be
"CREATE EXTERNAL TABLE sdkOutputTable STORED BY 'carbondatafileformat' LOCATION '$writerOutputFilePath6'"
For more details org/apache/carbondata/spark/testsuite/createTable/TestCarbonFileInputFormatWithExternalCarbonTable.scala.
c) Reading Through Hadoop Map reduce job. Please refer org/apache/carbondata/mapred/TestMapReduceCarbonFileInputFormat.java for more details.

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/3775/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4077/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/3776/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4078/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2832/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2833/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/3777/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4079/

Retest this please.

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2838/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4083/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4086/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2841/

Retest this please

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2847/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4092/

retest this please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4094/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4100/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2856/

retest this, please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4101/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2857/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4102/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2859/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4104/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4105/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2860/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2862/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4107/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2864/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4109/

retest this please...

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4111/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2880/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4125/

carbonstore branch is merged, please rebase to master


Missing LICENSE File

This repository does not have a LICENSE file (https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository). If you have already picked a license and specified it somewhere (e.g. in package.json) please simply create a copy of the license in a LICENSE file to make it easier to see which license is in use. If you have nbot picked a license please consider using the MIT, Apache 2.0, GPL or BSD license, The website https://choosealicense.com/ can be of assistance if you are unsure which one to pick.

Thank you for bringing this to our attention. I have added a LICENSE file to the repository using the MIT license.
You can now find the complete license terms in the LICENSE file. Closing this issue as resolved.


fix: Trim path prefix when checking for authorization

This PR corrects the path manipulation when checking for authorization, to trim the path prefix, which was accidentally removed in: https://github.com/caraml-dev/turing/pull/344

Thanks for the quick review, @deadlycoconuts !


private properties and final PluginClient class

This also inlines $this into anonymous function callbacks (see @dbu's comment in https://github.com/php-http/plugins/pull/31#discussion_r48528603).

:+1:

Thanks @xabbuh


Mac M1 GPU support via Pytorch and MPS

Given that pytorch supports GPUs (via Metal/MPS) on Mac M1 machines (since version pytorch 1.12, should it not be possible to enable this in the pytorch engine?
How much work would this be now that the JNI bindings are now ARM (aarch64)
The speed up is significant for Mac M1 users.
References
https://pytorch.org/blog/introducing-accelerated-pytorch-training-on-mac/

Currently we are already using the offical torch 1.12.1 MacOS Arm64 wheel to build the JNI. So it has capabitlity to extend to GPU, but we didn't implement the MPS device yet. We are welcome for any contribution to this device addition. You can try to get it work by adding MPS device in the code


Federation v1 Remediations

PR Removing Federation V1 references
Only two things remain after this PR outside of blog posts:
https://kubernetes.io/docs/admin/kubeadm/ - Addressed and removed
https://kubernetes.io/docs/admin/kubefed/ - Addressed and removed
Will address these with sig-multicluster

@thecrudge thanks for taking this up.
This PR however seems to be removing more then what is mentioned in #13905 by @jimangel.
Please note this comment:
Out of scope, to be left alone and updated by #sig-multicluster before EOY 2019
https://kubernetes.io/docs/concepts/cluster-administration/federation/
https://kubernetes.io/docs/tasks/federation/
Please update this PR accordingly.
cc @kubernetes/sig-multicluster-misc

@thecrudge thanks for taking this up.
This PR however seems to be removing more then what is mentioned in #13905 by @jimangel.
Please note this comment:
Out of scope, to be left alone and updated by #sig-multicluster before EOY 2019
https://kubernetes.io/docs/concepts/cluster-administration/federation/
https://kubernetes.io/docs/tasks/federation/
Please update this PR accordingly.
cc @kubernetes/sig-multicluster-misc

Oh no! Ill have to resubmit the PR...


WARNING: Failed to increase precision of temperatures

Hi,
Updated to the latest of your component version.
But seeing a new error, component seems to work ok.
2018-07-22 23:55:51 WARNING (SyncWorker_12) [custom_components.evohome] Failed to increase precision of temperatures via the v1 api.  Continuing with v2 temps. 2018-07-22 23:55:51 WARNING (MainThread) [homeassistant.loader] You are using a custom component for climate.evohome which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2018-07-22 23:55:51 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved Traceback (most recent call last):   File "/usr/local/lib/python3.6/dist-packages/homeassistant/helpers/entity_platform.py", line 326, in _async_add_entity     await entity.async_update_ha_state()   File "/usr/local/lib/python3.6/dist-packages/homeassistant/helpers/entity.py", line 214, in async_update_ha_state     attr = self.state_attributes or {}   File "/etc/homeassistant/custom_components/evohome.py", line 1353, in state_attributes     self.hass, self.current_temperature, self.temperature_unit,   File "/etc/homeassistant/custom_components/evohome.py", line 1151, in current_temperature     self._id, self._status['temperatureStatus']['temperature']) KeyError: 'temperature'

Other than the precision of the reported temperatures, homeassistant should be unaffected by this error.
From the custom component's point of view:
WARNING: Failed to increase precision of temperatures via the v1 api. Continuing with v2 temps.

This is a warning, not an error. It means that the system has only been able to obtain temperatures accurate to the nearest half degree, rather than to the hundredth of a degree (although the temperatures will always be displayed to the nearest tenth of a degree).
The component usually does this by getting status via the v2 api (which it appears to have done successfully), and then placing additional calls to the version 1 API to obtain the higher precision temps.  When this fails it's simply falls back to the lower position temperatures.
Chances are that the next time the component requests higher processing temperatures (next scan_interval) it will work flawlessly.
Note that this has nothing much to do with startup itself, this request no different from any subsequent request (although I'm always willing to be proven wrong).
Background:
The custom component relies upon an underlying Python library (client api), called evohomeclient.
Evohomeclient uses the requests library to pull data from Honeywell's web service.  Their web servers are notoriously unreliable, and it is not unusual to get several 503 errors per day.
Unfortunately the version of evohomeclient used by homeassistant provides very little feedback when something goes wrong, like the above, or even if invalid user credentials as supplied.
Watchforstock and I have made some changes to evohomeclient2, but not evohomeclient1, so that when HTML errors are detected (I.e.. any status code other than 200) they end up reported in the event log.
I'm hoping that this new version of the client API will be accepted into homeassistant when my PR goes through...

Secondly:
File "/etc/homeassistant/custom_components/evohome.py", line 1151, in current_temperature
  self._id, self._status['temperatureStatus']['temperature']) KeyError: 'temperature'

You haven't given me enough information to make any useful comment (but a lot of the above applies), so maybe you could look earlier in the log?

Can you let me know the result of this command:
cat ~/.homeassistant/custom_components/evohome.py | grep REQUIRE

And then, if you could download the latest version, and run again?  If the error message is still there, we can do some digging...

root@ubuntu-server:/home/donald# cat /etc/homeassistant/custom_components/evohome.py | grep REQUIRE
#REQUIREMENTS = ['https://github.com/zxdavb/evohome-client/archive/master.zip#evohomeclient==0.2.7'] # noqa
REQUIREMENTS = ['https://github.com/zxdavb/evohome-client/archive/logging.zip#evohomeclient==0.2.7'] # noqa
#REQUIREMENTS = ['evohomeclient==0.2.5']

root@ubuntu-server:/etc/homeassistant/custom_components# git pull
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 4 (delta 3), reused 4 (delta 3), pack-reused 0
Unpacking objects: 100% (4/4), done.
From https://github.com/zxdavb/evohome
   8102093..0c85dcc  master     -> origin/master
Updating 8102093..0c85dcc
Fast-forward
 README.md  |  4 ++--
 evohome.py | 33 +++++++++++++++++++--------------
 2 files changed, 21 insertions(+), 16 deletions(-)
root@ubuntu-server:/etc/homeassistant/custom_components#

root@ubuntu-server:/etc/homeassistant/custom_components# cat /etc/homeassistant/custom_components/evohome.py | grep REQUIRE
#REQUIREMENTS = ['https://github.com/zxdavb/evohome-client/archive/master.zip#evohomeclient==0.2.7'] # noqa
REQUIREMENTS = ['https://github.com/zxdavb/evohome-client/archive/logging.zip#evohomeclient==0.2.7'] # noqa
#REQUIREMENTS = ['evohomeclient==0.2.5']
root@ubuntu-server:/etc/homeassistant/custom_components#

OK, Interesting, especially:
2018-07-23 18:52:44 WARNING (MainThread) [custom_components.evohome] current_temperature(722213) - is unavailable

Could you search ~/.homeassistant/custom_components/evohome.py for these two lines:
_LOGGER.debug("client.installation_info[idx]: %s", _tmp)
_LOGGER.debug("hass.data[DATA_EVOHOME]: %s", domain_data)

... and change them to:
_LOGGER.info("client.installation_info[idx]: %s", _tmp)
_LOGGER.info("hass.data[DATA_EVOHOME]: %s", domain_data)

I also have in configuration.yaml:
# Enable debug logger:
logger:
  default: warn
  logs:
    homeassistant.custom_components.evohome: debug

and tried to change them to:
# Enable debug logger:
logger:
  default: warn
  logs:
    homeassistant.custom_components.evohome: info

Changed debug to info in evohome.py, no extra information in logs (not at debug and not at info), still the same:
2018-07-23 22:04:20 WARNING (SyncWorker_6) [custom_components.evohome] Failed to increase precision of temperatures via the v1 api.  Continuing with v2 temps.
2018-07-23 22:04:20 WARNING (MainThread) [homeassistant.loader] You are using a custom component for climate.evohome which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2018-07-23 22:04:20 WARNING (MainThread) [custom_components.evohome] current_temperature(722213) - is unavailable
2018-07-23 22:04:20 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/homeassistant/helpers/entity_platform.py", line 326, in _async_add_entity
    await entity.async_update_ha_state()
  File "/usr/local/lib/python3.6/dist-packages/homeassistant/helpers/entity.py", line 214, in async_update_ha_state
    attr = self.state_attributes or {}
  File "/etc/homeassistant/custom_components/evohome.py", line 1358, in state_attributes
    self.hass, self.current_temperature, self.temperature_unit,
  File "/etc/homeassistant/custom_components/evohome.py", line 1175, in current_temperature
    self._status['temperatureStatus']['temperature'])
KeyError: 'temperature'

Ok let's put that one side...
How about you go to your evohome controller and see if there are any errors there.

 :-(

No errors anymore...

I knew it would be something like that ;)
The concern for me was why the code wasn't happy about it - there shouldn't have have been a traceback!
So I've made a few changes to the component, so it will be a little more graceful in future!


Assigning a constant in role on  interactive elements throws error.

StackOverFlow link
https://stackoverflow.com/questions/55624906/assigning-role-to-interactive-elements-via-constant

There’d be no way for a linter to know the value of the constant statically. What’s your use case?

I have a set of role constants defined and wanted to use that. Rather than writing "some role" every time i prefer to have a set of constants defined and use those for assigning role.

why? What’s the benefit, given that this linter rule can ensure correctness if you write it inline?

Probably addressed in #607.


Triage Docs Button Fails

The triage docs button seems to fail if the user doesn't first subscribe to issues for the same repo.  Just curious, is this expected behavior?

it isn't

Good to know.  I found the problem here, the triage docs button sets the :email_limit default to 0 if the user isn't already subscribed to the repo, which doesn't pass the repo_subscription model validation.
On the surface, changing the validation looks pretty straightforward, but I haven't really dug into the mailers to see what consequences that might have (seems like validations usually exist for a reason, right?).  It looks like issues and docs behave a little differently, would you recommend going the validation change route or looking for another way to solve this?

I think we need to update to allow 0 in the email_limit.

No problemo!


[MySQL] Optional name for FOREIGN KEY

& check if MySQL even uses fk names (pk are ignored)

~ https://stackoverflow.com/a/2240991/3426515 fk constraint is global


Fix TSAN race in client channel's retry_state

There is a real race between do_retry and on_complete, and TSAN is
correctly complaining about the check and stores.
I presume having parallel do_retry and on_complete is intended.
can you please verify?
Fixes #16896

****************************************************************

libgrpc.so

     VM SIZE                                                             FILE SIZE
 ++++++++++++++ GROWING                                               ++++++++++++++
  +0.0%     +16 [None]                                                +9.06Ki  +0.1%
  +0.8%    +272 src/core/ext/filters/client_channel/client_channel.cc    +272  +0.8%
       +15%    +272 on_complete                                              +272   +15%
      +2.1%      +8 recv_message_ready                                         +8  +2.1%

  +0.0%    +288 TOTAL                                                 +9.33Ki  +0.1%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

That is probably the case. Would relaxed memory order be sufficient?

Yes, TSAN would be happy as long as explicitly load with any ordering. :-)

I meant whether it would be logically correct. @markdroth ?

Yes, that's was my original question in the PR message. The way it's implement right now is "relaxed", so I chose relaxed for that reason.

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,020,358      Total (<)      2,020,378

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,174,076      Total (<)     11,174,081

 No significant differences in binary sizes

Corrupt JSON data (indicates timeout or crash):
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.new: 10
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.old: 10

[microbenchmarks] Performance differences noted:
Benchmark           cpu_time    real_time
------------------  ----------  -----------
BM_SliceFromStatic  -8%         -8%

Yes, thank you @markdroth ! This definitely needs a deeper look at least confirm it's as intended. I'm very troubled with the check in on_complete based on retry_state. That's racy: We can enter the if branch in on_complete while we are inside do_retry.

This can probably be closed in favor of #17367.

Thank you your for the note. This is closed in favor of #17368 and #17367.


Add language support for "can import, but does not have to"

A "can import, but does not have to" rule can never be violated. This is therefore the exact same thing as not specifying the rule at all. It could still be added as a rule, but the assert_applies method would then simply be a no-op.


[WFCORE-3455] Reduce lambda usage (cli)

Core - Full Integration Build 6259 outcome was FAILURE using a merge of 48df082d087571648f82865ea1d2d1eff0bb0ba8
Summary: Execution timeout (new); tests passed: 3656, ignored: 86 Build time: 02:00:25

@jfdenise Please approve. This is part of a metaspace saving effort. Not so critical in the CLI but part of the point is to avoid having code that uses lambdas instead of simple loops so people won't see that in our code and adapt it server-side code.

Approved.


Look into Custom Scan methods

Quick cleanup across the board:
https://github.com/RMI-PACTA/app/pull/83#discussion_r1430734203

OK I looked into this today. The way to do this would be to implement database/sql.Scanner, which expects one of a few primitive values. Based on what I read, it looks like the typical use case for implementing DB scanner is when the type is mapped cleanly to a single column. The recommendation for how to do this for multi-column objects is instead to flatten obejects to []byte, the only type flexible enough to be available in the Scanner package, then to deserialize. That seems to be much messier than the status quo, so I'm going to close this out for now. Thankfully, we don't actually read in any objects in the same way in multiple places (which was the intended goal of the comment) - though we do read in portfoliogroupmemberships in two places, we select different fields depending on the context.

Sounds good, though if the need arises: We use pgx, and pgx does support database/sql.Scanner, but there's also more advanced, multi-column support directly in pgtype, e.g<EMAIL_ADDRESS>

Ahhh that makes much more sense. Thanks Brandon!


Fix jwt_authn: ClaimToHeader support non-ascii header value

Fixes https://github.com/istio/istio/issues/49779
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

cc @wbpcode


Mengerekord

Mengerekord created by<EMAIL_ADDRESS>on 2021-09-13 13:59:43

<EMAIL_ADDRESS>replied, The word mengerekord shows up in two songs.  In DARLING, the singer is distraught, exclaiming "mak longela er a dukllek / el mengerekord a chiuk."  In the song Desekel, composed by Adalbert Obak, the singer says "Ke mlo dibus e ngak a mong / mak melengtungl e mengebechub / e lmangel el mengerekord a chiuk."  Yoichi Rengiil informed me that this word is distinct from mengerekor (v.i., (teeth) grind or gnash against each other (esp., during sleep)) and means to pull (with the phrase meaning "pulling my hair").  I don't think this is in the dictionary, unless I have misspelled it.

mengerkord a chiuk-pulling, snagging my hair...annoyed, heartbroken.
Omekord is apposite of mengerkord.


SOLVED: Issue with downloading incorrect audio from specific Spotify url.

What is the purpose of your issue?

[x] Bug
[ ] Feature Request
[ ] Question
[ ] Other

Description

SOLVED: Issue with downloading incorrect audio from specific Spotify url.
Solution: within youtube_tools.py, under the scrape() or api() methods (or both), turn the bestmatch argument to False.
Then, under that same method, instead of
return videos
change it to
return "http://youtube.com/watch?v={0}".format(videos[0]['link'])

I was experiencing a bug where the audio that was downloaded from YouTube differed from the audio that I had requested, even if I had passed in a Spotify url directly (and not an "{artist} - {track_name}" string). I noticed some others with this problem as well and I think I figured out a potential workaround.
In youtube_tools.py, there is a method _best_match() that attempts to pull what it thinks is the closest match from YouTube is. The methodology for the "closest match" is to:

Extract the length of the Spotify Track
Compare the absolute difference between the length of the Spotify track and the length of the tracks returned from the YouTube serach, and filter out those that are outside of a default tolerance
Return first YouTube link that was within this tolerance

The _best_match() method is called in both scrape() and api(), depending if the user provides a YouTube API key or not.
I was noticing that, if I had included the argument --manual, the top result was usually the one I wanted, instead of the one it returned without that argument.
Hope this helps.

I'll close this.

@austinjtaylor14 I also found that for the genre of music i'm downloading, removing "lyrics" from the default search format helped a lot.
https://github.com/ritiek/spotify-downloader/blob/cfbf97c0281737ee2cfa2969d73c4455b6db7dae/spotdl/handle.py#L34

@spencercap I can see how 'lyrics' will screw up song finding. I think it will screw up the song finding more than it can be helpful so maybe we could remove 'lyrics' by default.

@dylan-chong Both of them have their own share of trade-offs. You can edit the configuration to change the search query for YouTube in config.yml depending on what you like. Personally, I've found better results with having "lyrics" at the end of the search query if the track you are downloading contains vocals, but worse for instrumental-only tracks.

Right, I've found with jazz (including vocal) there are no videos with lyrics in them. Same with classical.
If it’s only the vocal pop songs that work with lyrics in the search then I think it’s worth questioning it as a default. Maybe it would be best to mention it in the usage section of the readme so that people are aware of this issue and when to a non lyrics search format

On 21/12/2019, at 10:09 PM, Ritiek Malhotra<EMAIL_ADDRESS>wrote:

@dylan-chong Both of them have their own share of trade-offs. You can edit the configuration to change the search query for YouTube in config.yml depending on what you like. Personally, I've found better results with having "lyrics" at the end of the search query if the track you are downloading contains vocals, but worse for instrumental-only tracks.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


How to interrupt / override the ongoing routing?

OpenUI5 version: 1.98.0
Under some circumstance, I would like to forward a user from the view «A» to the view «C» instead of the view «B».
I've tried so far:

attachRoutePatternMatched
attachBeforeRouteMatched
router.stop()
changing a hash via the HashChanger
sap.m.library.URLHelper.redirect(…)

attachRoutePatternMatched and attachBeforeRouteMatched work but I observe the undesired view «B» for a second and then I'm redirected to the view «C». router.stop() stops the navigation but then if I re-initialize it again within the same method, then I'm redirected the undesired view «B». Changing a hash via the HashChanger doesn't help either. The only workaround that works for me is to use a hard redirect sap.m.library.URLHelper.redirect(…), that works correctly but I assume it leads to extra performance costs.
Is there any reliable and «friendly» approach to override /interrupt the ongoing routing, so user will not see the initially planned view but  another one? I'm talking purely from the UX perspective, not the security-one.
Related topics:

https://github.com/SAP/openui5/issues/3094
How to override the routing and redirect to another view in UI5?

Hi @pubmikeb,
I've created an internal incident<PHONE_NUMBER>. The status of the issue will be updated here in GitHub.
Regards,
Oliver

Hi @pubmikeb ,
thanks for sharing you interesting scenario. router.stop() and router.initialize(true) should do the job for you. The very really interesting part is where you put this coding in your application. All the routing events are placed after the hash changed already. Where do you wanna decide that you navigate to <> instead of <>? As far as I understand you wanna perform this coding in the responsibility of <>, so <> has to be loaded before.

@flovogt, thanks for the further info.

router.stop() and router.initialize(true) should do the job for you.

Actually, it doesn't do the job, otherwise I would not open this ticket.
router.stop() really stops the navigation but once I call router.initialize(true) within the same method, then I'm redirected the undesired view «B».

where you put this coding in your application.

I'm using sap.tnt.SideNavigation, in the onInit() of the corresponding view's controller, I attach an event onClickSideNavigation:
this.getView().byId("sideNavigation").attachItemSelect(this.onClickSideNavigation, this);

Where do you wanna decide that you navigate to «C» instead of «B»?

In onClickSideNavigation() I call a method, which decides wherever allow navigation to «B» or to «C»:
async onClickSideNavigation(event) {
	const viewName = event.getParameters().item.mProperties.key;
	await this.navigationHandler(viewName);
}

As far as I understand you wanna perform this coding in the responsibility of «B», so «B» has to be loaded before. So, «B» would be part of the routing history.

Actually, I want to perform the check if user should be able to see the view «B» or must be forced to the view «C» in the shell view, which contains sap.tnt.SideNavigation. So, if user should not see «B», then «B» should not be loaded and therefore should not appear in the navigation history as well. The user should get «C» instead.

Could you share some more details about your desired point where you wanna decide about the interrupting?

Yes, sure. I just want to figure out how to adjust the navigation between the views in UI5 according to the user permissions:

I'm on the shell view (with sap.tnt.SideNavigation) with the «A» loaded
Now, I want to open the view «B» inside of the shell view
I click on the view «B» item in the navigation sidebar
System should check if I'm eligible to see the view «B»

if I have a permission, then navigate me to the view «B» and the view «B» should appear in the navigation history
otherwise, show me the view «C» or some warning

In case of I'm not eligible to see «B», I still should be able to click on «D» in the navigation sidebar and repeat the step number 4 for the desired view «D». That's all, as you may see, the scenario is trivial and standard.
And of course, I'm talking purely from the UX perspective, not the security-one.

@flovogt, I think I found out the way to workaround the case, sap.tnt.SideNavigation has a property itemSelect, which allows specifying an even, that will be triggered at the time on a click on the SideNavigation item, there I can perform required logic before the navigation/routing will be started.
Anyway, it would be great to have more robust and flexible API for manipulating the routing, so I could not only stop the navigation butt actually change it in the real time.

Hi @pubmikeb ,
sorry for my delay. I planned to provide a small showcase doing exactly what you described here.
The check which route should be navigated has to happen before the actual navigation happens.
onItemSelect: function() {
var sRoute = "C"
if(..) {
   this.getRouter().navTo("B");
 }
}

We discussed your scenario and agreed on that interrupting the routing process is currently not easy for applications. We'll discuss this item further. Stay tuned!

Some thoughts from my side: The question is where the coding of the check should be placed. In the sample above "A" performs the check. When "B" should contain the check but "B" should not be added to the routing history and also no visible navigation should happen when the check fails, then there is some more work to do. Think about someone has access to the content of "B" and sends the link to someone else with missing permissions. "B" has to contain the check nevertheless to inform the user that she has no access. I think it can not be handled generally because sometimes you wanna redirect the user. In other cases you wanna show a popup or react in different ways. What's your opinion on that?

What's your opinion on that?

I also thought about this scenario and assumed that there should be 2 checks:

before the navigation, if a user tries to open a view from the side bar menu, here this approach can work out.
a user tries to open a view, which he has no permissions to, directly, via URL in address bar, then a permission check should be implemented somewhere in onBeforeRendering.

Hi,
I have a similar requirement, but we are using SAPUI5 and BTP portal framework. I want to intercept inter-app navigation as opposed to the intra-app navigation discussed here.
The code below seems to do the trick, you probably can implement sth similar on the HashChanger. From an encapsulation point of view, this appraoch is bad practice, but I don't see an alternative.
I plan to create a small framework that allows a registered app to decide on what conditions navigation can happen (allow silently, allow after user approval, abort navigation and save state, ...).
var oXAppNavService = sap.ushell.Container.getService("CrossApplicationNavigation") oXAppNavService.toExternalOriginal = oXAppNavService.toExternal; oXAppNavService.toExternal = function (oArgs, oComponent){ 	if (confirm('Current app registered itself as a Navigation Guard and it told me it is in a dirty state. Navigate anyway?')) { 	  oXAppNavService.toExternalOriginal(oArgs, oComponent); 	} }
Regards,
Jeroen

Hi @pubmikeb ,
@jversignify points to a valid point. Override the HashChanger artefact would enable you to hook into the navigation process. But as @jversignify already points out, it is bad practice because the HashChanger artefact should not be changed by applications.
We have discussed this requirement and thought about following future concept:
You can attach your check function in the attachBeforeRouteMatched handler:
this.getOwnerComponent().getRouter().attachBeforeRouteMatched(this.checkAccess.bind(this));

checkAccess: function(oEvent) {
    if(!this.hasAccess()) {
       oEvent.preventDefault();
    }
   }

When the event is marked with preventDefault we would omit loading the target and the history would not contain the hash for this route.
IMHO the downside of this solution is that the hasAccess method has to return synchronously the result. So, you can not perform any async backend calls here because the response of the backend call would come later than the navigation process.
Whats your opinion on that?

BacklogItem is CPOUI5FRAMEWORK-338.

Let's keep the issue open to wait for further input form @pubmikeb

Hi @flovogt,
thanks for the proposed solution.
Yes, the sync-query limitation is not the ideal but if currently it's the only way to manipulate the navigation process, so it should be considered as well.
I've actually reviewed the place where I call hasAccess() and now call it on a click on navigation item, so it checks the permissions before the navigation starts, while attachBeforeRouteMatched occurs already during the navigation process.

Hi @flovogt,

[...] thought about following future concept [...]

I'm a bit late to the party here but is this something that has already been introduced to UI5 or did it remain a concept for the future (i.e. is the "preventDefault" considered)? That'd be very useful when trying to centrally handle such things from within some sort of BaseController or the Component itself.

Hi @wridgeu ,
not too late. This feature is still in the concept phase. As described above the downside is the need of a synchronous decision to abort the navigation process. Currently, the team does a great job of eliminating synchronous tasks in the framework and offering asynchronous options, introducing a new synchronous concept fits not really in this work stream, so the team is still looking for a way to make this concept asynchronous directly from the start. The team will keep you up to date, but we also encourage the community to propose additional ways of achieving this requirement. So if you have an idea how this might work, let us know.

Is there a current way that is recommended to get the desired functionality? Thanks for your advice!

Is there a current way that is recommended to get the desired functionality? Thanks for your advice!

See https://github.com/SAP/openui5/issues/3411#issuecomment-1012948097

Is there a current way that is recommended to get the desired functionality? Thanks for your advice!

See #3411 (comment)

So has this already been implemented? In the comment you linked I see that you were talking about how a future concept looks like. When I tried that approach in the past, I think preventDefault() had no effect.

@BenjyTec stoping the ongoing navigation process is not implemented so far.
Therefore, we recommend to check the condition before the actual navigation. See https://github.com/SAP/openui5/issues/3411#issuecomment-1000191501

Currently dealing with a similar issue... The requirement is to prevent the navigation to a specific view entirely, even when the user manually enters the route to the view in the URL, so adding a check before the navigation, as #3411 suggests isn't really an option. Has any progress on this been made?

Hey @PlamenNonchev, as far as I am aware there isn't any progress on this yet. Security concerns aside (depending on scenario, application ... data etc.), in the past we have made some rather "simple" check within onInit of each view (implemented in e.g. BaseController) and rerouted users back to the main/root view.
Not perfect, and might have some downsides (technically still loads the view itself) but worked good enough for us.
Hooking into it at component level wasn't as successful as I had hoped and I didn't have more time to look deeper into it yet.
May I also point to this great SO answer from @boghyon. Might help a bit, the added plnkr also offers some insights. As well as the comment from matze on the linked gh issue reg. authn/authz. :)
hth.
Marco

Hey, @wridgeu. Thank you for the response. I'll have a look into the resources you provided... As far as the onInit approach, that's actually what I tried initially, however it only seems to work for the initial navigation to the view in question(onInit doesn't get triggered on subsequent navigation attempts to the view => user doesn't get redirected), which is not ideal. Anyways, while battling with this issue, I couldn't help but wonder, how would you go about implementing something like an AuthGuard using this framework(i.e. only providing access to specific routes for specific user roles). It has been a pretty common requirement to have such routes in previous projects I've worked on so I'm pretty baffled that there isn't an "out-of-the-box" way to achieve this in UI5.

@PlamenNonchev sorry, you're right of course regarding the onInit ... I forgot to mention that we've used the onInit to simply attach an evt. handler to the pattern matched event of the router. My bad leaving that out ^^
this.getRouter().getRoute("RouteCondense").attachPatternMatched(this._onPatternMatched, this);

and in the onPatternMatched, something like:
if (!this.getCoreModel().getValueWhichTheRoutingDependsOnOrIsLimitedBy()) { // dummy name :P
	this.navTo("Login"); // root/main .. etc
	return;
}

I have wondered that as well. But the concern of requiring sync-eval for each route navigation that was mentioned in the comments above is still a thing I guess. Would be awesome to build this into the router or, you know, build your "own router" and extend the route declarations in the manifest and so on. Many Ideas ... not enough time rn. to evaluate them all. x)

@wridgeu , thank you, once again, for spending time on this. I've tried this approach as well and in fact this is probably the closest I got to resolving the issue, but it's not perfect... The issue is that the user still gets redirected to the "hidden" view initially(even though it's only for like a split second) and it's only after that the logic inside _onPatternMatched gets executed that they get redirected to the "forbidden" view. The team weren't a fan of that solution and they asked me to look for an alternative and that's where I tried to utilize the onBeforeRouteMatched event(hoping to intercept the navigation at an earlier point) but that also failed but in the opposite way(user gets redirected to "forbidden" initially and a split second later they get redirected to the "hidden" view).

@PlamenNonchev yw! :) -- We've had the same experience, yeah. It was less critical though, so in the end "ok" enough to be used.
Maybe the experience could improve if you, as p0rsche did - as he shortly explains in his comment - here extend and implement a custom Router, overwriting the parse method. I personally did not try that yet, though. The UI5 Team, as written above, is also open for any and all implementation suggestions but they'd prefer it to be async (which is understandable). I'm also pretty sure that the mentioned BacklogItem CPOUI5FRAMEWORK-338 is on the backburner as they're currently doing lots of work in modernizing the framework in general. Just saying that I wouldn't expect an out-of-the-box "native" implementation/solution to this problem soon.
Hope you'll find something that works for you, if so, let others know within this issue and/or continue to suggest things here. I think everyone would appreciate it, I sure do.


Add GEMM sw tests

This PR adds 2 tests:

snax-gemm-base is the test where we do matrix-matrix multiplication for 8x8x8 size using the Snitch core. Note that it first loads the data from L3 to L1 then processes the data in L1.
snax-gemm-engine does the same but this time uses the GEMM engine. Also loads data from L3 to L1 then processes the data from L1.

The two tests are separated because we want to make sure that the compiler does not do any funny optimizations that could be shared between the base way of the MM and the GEMM engine. For example, if we do the sequence DMA load > base MM > GEMM we are unsure if some magical optimization happens in between so we thought it would be better separated.
@xiaoling-yi please double check if I missed something. I think we discussed last time but it's important we agree well with this.

Like in the PR description, we originally thought it was better separated because we wanted a fair comparison of performance. That is if we run one side that is just fully base MM and the other is the accelerated MM. When we combine them we also get different results. Wait, let me try to duplicate our examples before and double check.
Bottomline, we thought the mcycle measures are more fair if we have both of them separated 😄 if that makes sense. But we are open to have just 1 test if it seems to be okay.

@rgantonio sure but right now you literally copy pasted the data file, and the makefile, and so much of the code, etc...
I also think it is more important that we understand why they would be different, instead of just coding around them?

@JosseVanDelm we do have explanations already, things like delays due to instruction misses and the compiler actually re-organizing things where they shouldn't be.
I was thinking that these need to be here now for reproducibility of results. I mean we can always take them out later since @xiaoling-yi  will still improve her GEMM :) right now the only test we have is the build within CI. No software test yet. Otherwise, we can keep the GEMM engine test but not add the base MM but that also looks weird if we have no counter example.
I mean are we only worried about code duplication? We could try to see if the SW backend they have can re-use just 1 directory with the same data.h and then dump all source codes inside src directory.

@JosseVanDelm we do have explanations already, things like delays due to instruction misses and the compiler actually re-organizing things where they shouldn't be.

@rgantonio can you show me this? Looks interesting!

I was thinking that these need to be here now for reproducibility of results. I mean we can always take them out later since @xiaoling-yi will still improve her GEMM :) right now the only test we have is the build within CI. No software test yet. Otherwise, we can keep the GEMM engine test but not add the base MM but that also looks weird if we have no counter example.

I mean are we only worried about code duplication? We could try to see if the SW backend they have can re-use just 1 directory with the same data.h and then dump all source codes inside src directory.

Let's try to expand our tests to bigger sizes, but then for sure we can not embed it in the repository like we are doing now. Let's make an issue for this?

@rgantonio can you show me this? Looks interesting!

Absolutely! Remind me next week 😄 I've been wrapping my head around it because it was so annoying to find different performance metrics for almost similar code.
Thanks for approving ❤ ❤ ❤ ❤


[Storage] az storage container policy: Fix cases where permission and expiry are both null

Related command

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Storage


Protocol conformance is “stripped” from static library.

Describe the bug

NB: I'm not sure if this is a Swift bug or an Xcode bug, so I have also filed feedback FB11779019.

It is possible to have a protocol conformance in a static library that is not recognizable from another library. If you do a dynamic type check via is any Q it will fail even though the value definitely conforms to Q.
Suppose you have the following protocol hierarchy in a static library:
protocol P {}
protocol Q: P {}

And you create a conformance to P and Q in separate files:
// ConformanceP.swift
struct Conformance: P {}

// ConformanceQ.swift
extension Conformance: Q {}

Then, in a separate library, checking for a dynamic conformance fails, but a direct check succeeds:
func isAnyQ(_ p: any P) -> Bool {
  p is any Q
}
isAnyQ(Conformance())  // false
Conformance() is any Q // true

I have a project prepared to demonstrate the problems. Open the StaticStrippingApp.swift file for instructions on how to reproduce.
So far I have found 3 ways to prevent Swift from stripping the Q conformance:

Put the conformance of P and Q in the same file.
Add a symbol to the file with the Q conformance and refer to that symbol from somewhere else. This seems to prevent Swift from stripping the Q conformance.
Use a dynamic library. If you move the conformance and protocol files from StaticLibrary to DynamicLibrary you will see that the problem is fixed.

Expected behavior
I would expect that dynamically checking a conformance on Q to return true instead of false.
Environment (please fill out the following information)

OS: macOS 13.0 (22A380)
Xcode Version/Tag/Branch: Version 14.1 (14B47b)

CC: @mikeash @al45tair @jckarter

Static linking normally requires something else to refer to a symbol for it to be incorporated into the final product. Nothing refers to protocol conformance descriptors, so they won't be included.
Apple's linker provides a -ObjC flag that relaxes this requirement for certain ObjC data structures (this same problem frequently shows up with ObjC categories). I believe it also applies to Swift structures these days, so give that a try by adding -ObjC to your project's linker flags. (Note: this goes in the flags for the final product, not for the static library.)
Failing that, the linker also has a big hammer in the form of -all_load, which relaxes this requirement for everything in the static library. That should make this work if -ObjC does not.

@mikeash Thanks for the information. That is very helpful to know, and -ObjC does fix it.
Is this considered the expected behavior of static libraries? Seems like a very serious gotcha.

Ok, thanks again for the info! It was very helpful. I'll close this out.

Glad to help, and sorry for the trouble!

@mbrandonw Should we keep this open, since the behavior is not desirable, although expected? We definitely want something done about it sooner or later.

Sure thing, opened!

It definitely isn't a Swift bug — at most, it's a request for a linker feature (making -ObjC the default if the linker detects Swift or ObjC code), or possible an Xcode feature (automatically adding -ObjC when linking static libraries that contain Swift or ObjC code), and for those you should file a Feedback request (if you do that, please post the FB number here).
Static linking (with a library) has always worked by searching the library for symbols that are undefined and including just the object files (within the library) that define those symbols, then repeating until all symbols have been located. The point of doing this is that, for statically linked executables, you don't want to pull in e.g. the entire C library just because they might at some point have called strxfrm(); if you did that, every executable would be huge.
We don't necessarily know at compile time which protocol conformances we're going to need, so we can't emit references to them to cause the static linker to bring in the right object file(s) automatically, hence the need to tell the linker to enable the unusual behaviour that is also needed for ObjC code where it will include object files simply because they have ObjC or Swift metadata in them, even if there are no references to that metadata from outside.
I'm going to close it again here, but as I say, please do file a feedback request for the linker folks.

Hi @al45tair, done: FB11788325 (gist).


CLOUDP-176392: rename mongodbatlasv2 to admin. Organise imports across repository

Description
NOTE: build will fail due to renaming not being pushed to this PR. Rename will bring +800 files changed to the PR and it will rename:
mongodbatlasv2 => admin
I will push rename after the initial review. All builds are passing locally. Tested makefile changes end to end.
Type of change:

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Required Checklist:

[ ] I have signed the MongoDB CLA
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added any necessary documentation (if appropriate)
[ ] I have run make fmt and formatted my code

Further comments

I have noticed that every PR now has +500 files changed due to version.
Limited version exposure in that PR.
Example: https://github.com/mongodb/atlas-sdk-go/pull/4#discussion_r1189931207


Remove reference of unsupported k8s versions for CPUManager.

Removing references to v1.8, v1.10 as they are no longer supported and the feature is enabled by default.

/kind cleanup

As this is PR is about tidying up, I think the following note is redundant too:
{{< note >}}
The alpha version of this policy does not guarantee static
exclusive allocations across Kubelet restarts.
{{< /note >}}

and I recommend removing it.

@sftim  - Missed that comment. Removed the redundant note.

/approve


Parsing Issue with single digits days and months in strict mode

When parsing in Strict mode to get all the benefits of it, one would expect
moment('10-1-2015', ['DD-MM-YYYY'], true)

to be true. (notice the single digit month). the same goes for single digit date. Because they are valid dates and I believe the intention is universally accepted where one does not need to append a '0' before single digit numbers in date and month value.
To work around, right now I need to do
moment('10-1-2015', ['DD-MM-YYYY','DD-M-YYYY','D-MM-YYYY','D-M-YYYY'], true)

Actually, the exact opposite is true.  The single digit formatters will work with either one or two digits.  The double-digit formatters always work with two digits.  This is true for both parsing and formatting, and holds up in strict mode.
moment('1-1-2015', 'D-M-YYYY', true).isValid() // true
moment('01-01-2015', 'D-M-YYYY', true).isValid() // true
moment('10-10-2015', 'D-M-YYYY', true).isValid() // true

:+1:
thanks


DestinationRule's consecutiveGatewayErrors takes into account 500 errors

Bug Description
The consecutiveGatewayErrors traffic policy behaves the same as consecutive5xxErrors since it takes into account the 500 status code.
Yaml to reproduce :
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-conf
data:
  nginx.conf: |
    user nginx;
    worker_processes  3;
    error_log  /var/log/nginx/error.log;
    events {
      worker_connections  10240;
    }
    http {
      server {
          listen       80;
          server_name  _;
          location / {
              return 500;
          }
      }
    }
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        volumeMounts:
        - mountPath: /etc/nginx
          readOnly: true
          name: nginx-conf
      volumes:
      - name: nginx-conf
        configMap:
          name: nginx-conf
          items:
            - key: nginx.conf
              path: nginx.conf
---
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: nginx
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: default-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
    - hosts:
        - nginx.exemple.com
      port:
        name: http
        number: 80
        protocol: HTTP2
      tls:
        httpsRedirect: false
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: nginx
spec:
  gateways:
    - default-gateway
  hosts:
    - nginx.exemple.com
  http:
    - route:
        - destination:
            host: nginx.default.svc.cluster.local
            port:
              number: 80
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: nginx
spec:
  host: nginx.default.svc.cluster.local
  trafficPolicy:
    outlierDetection:
      consecutiveGatewayErrors: 3
      interval: 5m
      baseEjectionTime: 15m

Version
$ istioctl version
client version: 1.16.0
control plane version: 1.15.0
data plane version: 1.14.4 (2 proxies), 1.15.0 (3 proxies)

$ kubectl version --short
Client Version: v1.24.8
Server Version: v1.24.8

Additional Information
No response

This is behaving as expected and is highlighted in the DestinationRule API:

Note that consecutive_gateway_errors and consecutive_5xx_errors can be used separately or together. Because the errors counted by consecutive_gateway_errors are also included in consecutive_5xx_errors, if the value of consecutive_gateway_errors is greater than or equal to the value of consecutive_5xx_errors, consecutive_gateway_errors will have no effect.

The implementation of these two fields are handled in Envoy itself (envoy docs)

I really don't think it's the expected behaviour. Since a 500 status code is not a gateway error, it shouldn't be counted when using consecutiveGatewayErrors.
If it's a problem in Envoy itself, we can close this issue, I'll create a new one in Envoy.


fix: repaired buttons of home page on signing up

Closes #718
Changes made 👷🏻♂
Changed the styling and padding of "contribute" button

Screenshots  📸

Let's catch up !
Hi there, it has been a while since we last had a conversation so I wanted to know if you are still working on this. Please drop a reply shortly so that we know you are active, feel free to convey any problem you face in the comments, or mail me at<EMAIL_ADDRESS>

Notice 🚩
Hi there, unfortunately, I have to close this Issue/PR, as there is no work currently going on for the same. There might be more Issues/PR which are waiting for this to be completed - so it is better to pace things up. I generally spend/wait for 3 weeks before closing.
If you think that this is a mistake, please drop a mail at<EMAIL_ADDRESS>and we will get back to you.
Regards,
Team Milan.


BLE DTM ll_test does not set correct TXPower

According to the Bluetooth Core Spec v5 Direct Test Mode shall transmit with maximum txpower. However ll_test sets the txpower to 0dBm, which is not the highest txpower for many device including Nordics nRF52 family.

@paulgavrikov if you do have a PR to use the Max Tx Power for nRF5 series SoCs, I will be happy to review the PR.
@carlescufi This will need use re-run tests on the RF tester.

@cvinayak I don't think I can create a PR for this repo. But you can checkout this commit

@paulgavrikov ok. I will prepare a PR and let you know soon.


Create a repo besu-verkle-trie

Please include:

GitHub repo to create:

https://github.com/hyperledger/besu-verkle-trie

Project to be added to: besu project

Teams with which access:

@hyperledger/besu-admin (admin)
Besu Admin
@hyperledger/besu-contributors (triage)
Besu Contributors
@hyperledger/besu-maintainers (maintain)
Besu Maintainers
@hyperledger/besu-triage (write)
Besu Triage

here you go!


Please add video title & link option to CLI Thanks

Discussed in https://github.com/jdepoix/youtube-transcript-api/discussions/216

Originally posted by BillionShields July 21, 2023
Would be awesome if in 1st 2 lines of  transcript you can include title and full URL to the video
Example
The Growing Megafire Crisis – and How to Contain It | George T. Whitesides | TED
https://www.youtube.com/watch?v=M66jkJMH3DI
My wife grew up in Santa Rosa, California, and her best friend was a woman named Joy Durand who lived on the northeast outskirts of town. At midnight on the evening of October 8, 2017, Joy's telephone ran.....

Hi @BillionShields,
thank you for your suggestion! Could you please elaborate what the usecase for this is and why you think this would be a good change?
This would break the current API and I don't really see how this would add enough value to warrant a breaking change. Since you know the ID of the video you are retrieving the transcript for, the URL can easily be deduced anyways, so you wouldn't need this module to retrieve the URL. For retrieving the title, there are plenty of other ways to do to that. I try to keep the scope of this module concise (subtitles/transcript), so I am generally not too fond of adding retrieval of metadata which is out of that scope, unless I see a good usecase within that scope, which requires that data.

Would you accept a PR change request for an additional param which parses the response and returns a concise extracted information?

@graphicmist If you can propose a solution which doesn't break the current API and doesn't need additional requests, I would consider it.

@jdepoix Any option to provide it a youtube video link instead of video_Id, Anyways how to use video_id?

@xts-bit I don't think your question is related to this issue.
This module only works with video IDs, not with URLs. You can easily parse the video ID out of the youtube URL. However, there are many different ways YouTube URLs can be structured and I don't think it should be part of this module to support them all. For most use cases you will only work with one format anyways so it is much more reliable if you as the user of the module parse the ID as required for your usecase. For example, it could look something like this:
from urllib.parse import urlparse, parse_qs
video_url = "https://www.youtube.com/watch?v=video123"
video_id = parse_qs(urlparse(video_url).query).get("v")

Closed due to inactivity


[Picker] On landscape when go to back rotate 180 deg

Issue Description
On ipad 2 Air 12.0
"native-base": "^2.7.0",
"react": "16.3.1",
"react-native": "~0.55.2",
Expected behaviour
Using Picker on ipad air 2 landscape when select picker and return back the orientation direction must be the same.
Actual behaviour
The orientation is the same but the  direction change
Steps to reproduce
<Picker
    selectedValue={this.state.language}
    onValueChange={(itemValue, itemIndex) => this.setState({ language: itemValue })}>
    <Picker.Item label='Java' value='java' />
          <Picker.Item label='JavaScript' value='js' />
</Picker>

https://www.useloom.com/share/d9705b9703e0458db46992cb085136c0

@lmichailian Fixed with commit https://github.com/GeekyAnts/NativeBase/commit/613023b55a9aec8ff7c90da302b2219480f0c29b
Also available on master


[BUG] CNR calculation is wrong, should use background mask

Particularly, this line: https://github.com/poldracklab/mriqc/blob/master/mriqc/qc/anatomical.py#L269 does not make any sense.

I accidentally pushed master instead of the tag 0.9.5-rc1. I'll reopen untill tests pass.


Autocomplete add a stringToViewModel function

Hi there,
I had another idea how to improve the ReactiveRawAutocomplete Widget. Right now only values that already exist can be selected and field.didChange is only called onSelected. It would be great if we could use the same input field also for creating a new instance of T when they not yet exist. I prepared an example:
here
In the example you can select existing fruits from the autocomplete but also create new ones using the same input field.

@JesperBllnbm
what's the point of having stringToViewModel?
It is bound to onChanged in your implementation
Could you describe in details what are you trying to improve?

@JesperBllnbm
Could you describe in details what are you trying to improve?

Closing issue due to the lack of response.
feel free to reopen


bump policy-evaluator and policy-fetcher versions

bump policy-evaluator version to 0.2.17
bump policy-fetcher version to 0.6.1

LGTM, don't forget to tag a new release


Improve error handling messages

Describe the solution you'd like

Describe alternatives you've considered

Additional context

Closing because it was a placeholder and will open replacement tickets for items as they come.


Publish to NuGet

Need someway to trigger a minor or release build.  It should

create a git tag
build the software
push the package to NuGet
Update appveyor.yml with the new version nuber.

For a minor build the package version is M.N++.0. for a major it is '++M.0.0'.

This looks interesting, http://help.appveyor.com/discussions/questions/1433-how-to-push-packages-to-nuget-when-i-push-a-tag.  The concept is that creating a tag tells AppVeyor to publish to GitHub.
Put how do we get different package name.  For "CI build" we want Ipfs.Core.0.3.0-betaXXX and for release build want Ipfs.Core.0.3.0.
Maybe GitVersion can help.

Gitversion is looking good.  To make a release simply create a tag like v2.1.0.

Waiting for NuDoq to detect the package in NuGet....

Done


⚠ RPC server - Binance BSCT has degraded performance

In 7974083, RPC server - Binance BSCT ($BINANCE_BSCT_RPC_URL) experienced degraded performance:

HTTP code: 504
Response time: 10729 ms

Resolved: RPC server - Binance BSCT performance has improved in 77d0db4.


Add pop admin 1

This PR builds on the population one, adding an admin1 population dataset and populating the table.
The only thing that I'm not super happy with is how to distinguish between an admin1 and admin2 dataset at the results level. Right now I just take the first pcode and check against the lookup tables, but is the level information available in some dictionary somewhere in the scraper results?

The only thing that I'm not super happy with is how to distinguish between an admin1 and admin2 dataset at the results level. Right now I just take the first pcode and check against the lookup tables, but is the level information available in some dictionary somewhere in the scraper results?

I'm losing track of where I have written comments lol. The question above should be resolved by switching to this branch: https://github.com/OCHA-DAP/hdx-python-scraper/pull/23 and using the new results key within the HAPI metadata for each dataset. If that works for you, then I can create a new HDX Python Scraper release (after you approve that PR).