Some demo notebooks can't be tested on CI due to using datasets that have licensing restrictions preventing automatic download

Describe the bug
Some demo notebooks use datasets that can't be automatically downloaded, generally for licensing reasons:
attacks_clustering_analysis.ipynb
hateful-twitters-interpretability.ipynb
hateful-twitters.ipynb
stellargraph-attri2vec-DBLP.ipynb
demos/node-classification/hinsage/yelp-example.py

Note: notebooks are disabled from CI via specific exclusion in .buildkite/steps/test-demo-notebooks.sh.
yelp-example.py isn't covered at all in CI.
One possible fix could be to substitute artificial mini datasets that match the general format.

We could add these to stellargraph.datasets with a download method that fails, but still have def load(self, directory) methods to parse the dataset given its location (along the lines of #812).


Certain Items/Enchantments Unidentified/Unlisted

Some enchantments, gear, and artifacts load in with default icons, unparsed names, and no descriptions. I also can't find them in any add item/enchantment lists. I'm using the Minecraft Launcher version instead of the Microsoft Store one (so I didn't need the extra set-up), and I made sure the editor is directed to my MC:D's Paks folder correctly. Other than that, I'm not sure what the problem is. All of the new ones from the Nether don't appear (latest), and stuff from Winter doesnt (3rd latest), but stuff from Jungle does (4th latest)

Okay nevermind, I figured out the problem. Reinstalling the game fixed the problem. I'm assuming that some of my game updates didn't create necessary Pak files, or saved them to another user's directory, or something. I tried to see if deleting all the Paks would cause the game to rebuild them, but that didn't work, so I guess a reinstall is needed if you have this problem.


cdc: send all observed events before sending init event (#11098)

Signed-off-by: qupeng<EMAIL_ADDRESS>What problem does this PR solve?
cherry pick #11098.
Check List
Tests

Integration test

Side effects
Release note
None

/merge

/merge


Upgrading sonar-maven-plugin.version

Upgrading sonar-maven-plugin.version from 3.0.2 to <IP_ADDRESS>8. The lower version of Sonar is causing an error.

Please create an issue to associate with this PR

Codecov Report

Merging #6925 (43b27d0) into develop (f3ce3e8) will increase coverage by 0.01%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #6925      +/-   ##
=============================================
+ Coverage      42.67%   42.68%   +0.01%
- Complexity      9216     9220       +4
=============================================
  Files           1131     1131
  Lines          80434    80434
  Branches       10512    10512
=============================================
+ Hits           34324    34333       +9
+ Misses         41827    41818       -9
  Partials        4283     4283

see 17 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Port stringifyUrl back to v5?

For some compability reason, I need to switch from query-string@6 to 5.x, found stringifyUrl not exsiting in 5.x, any possibility to port it back?

No, sorry.

Workaround:
import queryString from 'query-string';

export function stringifyUrl(data: {url: string; query: any}, config: any) {
  return `${data.url}?${queryString.stringify(data.query, config)}`;
}


Date input parsing

The date input needs to be able to take all the various forms of dates that can be produced.
Additionally we should have a fallback date picker on necessary platforms.
Related to:
#29
#26
#14

As of 88ea34c47e2824d7ca1d242a0441d9cdac32375d this is mostly resolved, and is much easier to extend. So I am going to close this issue.


Enable query cache and object pinning

Hi, I'm sure this is not easy but... we were surprised to see this caveat:
https://github.com/ParsePlatform/Parse-SDK-iOS-OSX/blob/61f68e9333206f0eebf15d5adab076a0ae7c4b71/Parse/PFQuery.h#L798
Could you please explain why it's not possible to enable a cache policy on a query while pinning is enabled -- even, seemingly, if the query cache policy is set on an object which will never be pinned?
Our solution was to disable pinning (by using a proprietary data store) and then enjoying the benefits of a liberal cache policy.
Thanks!

Hi,
The biggest reason behind not having query caching with pinning is consistency and single instance management. Query cache can return different results (you can see it in code), based on the date your query ran. And since with Local Datastore enabled - you always have a single in-memory instance of any PFObject - having inconsistent data in cache is not helping with it.
We were exploring some ideas around being able to cache a query in LDS with auto-expiring pins.
cc @grantland to expand on this if I missed anything.

The biggest thing with query caching is that different states of the same object can be stored and that's ok since ParseObjects can have multiple instances without LDS. This doesn't play well with LDS's method of guaranteeing single instance, since pulling an object out of cache would interfere with the instance in memory and it's persisted state on disk.

Thanks for the clarification, @grantland. I'm sure this is a challenge, but wouldn't one solution be to provide some sort of granularity on LDS? In our application, we only ever want to pin certain PFObject classes. Is that possible? Thanks!

Unfortunately not really with our current architecture D:

Yup, understood. Perhaps I can have you close this issue and open (or convert this to) an enhancement request instead? Thanks!

Sure, feel free to open an enhancement request we'll track that one.


Android SDK crashing when instantiating CallAgentOptions

Please provide us with the following information:

This issue is for a: (mark with an x)
- [x] bug report
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce
Create a project, add to gradle

implementation 'com.azure.android:azure-communication-calling:2.0.0'

Anywhere in the code add

CallAgentOptions callOptions = new CallAgentOptions();

Any log messages given by the failure

java.lang.UnsatisfiedLinkError: No implementation found for com.azure.android.communication.calling.status com.azure.android.communication.calling.NativeLibrary.sam_call_agent_options_create(com.azure.android.communication.calling.Out) (tried Java_com_azure_android_communication_calling_NativeLibrary_sam_1call_1agent_1options_1create and Java_com_azure_android_communication_calling_NativeLibrary_sam_1call_1agent_1options_1create__Lcom_azure_android_communication_calling_Out_2)
at com.azure.android.communication.calling.NativeLibrary.sam_call_agent_options_create(Native Method)
at com.azure.android.communication.calling.CallAgentOptions.(CallAgentOptions.java:53)

Expected/desired behavior
I would expect to be able to use the CallAgentOptions as parameter in

CallClient.createCallAgent(....)

OS and Version?
Android 12
Versions
com.azure.android:azure-communication-calling:2.0.0
Mention any other details that might be useful
Without trying to use CallAgentOptions I can perform a call without any issue.

Created the issue in a more appropriate repository (https://github.com/Azure/azure-sdk-for-android/issues/984)


Proc macro to test all ciphersuites

This PR adds a new crate test_macros that exposes a proc-macro
ctest that allows defining tests for all supported ciphersuites
as follows
ctest!(test_name {
  // test body
})

This is used to replace the existing tests in tests/test-key_packages.rs

I like the idea! I'm just concerned this might throw off rust-analyzer and cargo check/clippy. I can test this in a bit if it hasn't already be done.

I like the idea! I'm just concerned this might throw off rust-analyzer and cargo check/clippy. I can test this in a bit if it hasn't already be done.

I also sometimes get tooling issues when working with macros. Autocomplete won't work properly and clippy gets confused. But for development, we can always copy the code out and convert it to a macro afterwards.

I also sometimes get tooling issues when working with macros. Autocomplete won't work properly and clippy gets confused. But for development, we can always copy the code out and convert it to a macro afterwards.

These tools aren't perfect and can't handle the entirety of Rust unfortunately. But you also shouldn't rely too much on them 😉

These tools aren't perfect and can't handle the entirety of Rust unfortunately. But you also shouldn't rely too much on them 😉


Improve log when scaling and filtering starts

Currently the log begins with start process block (1/3,1/4) ...
until it reaches:
start scaling
#1 2x scaling...
It should also announce that it started filtering.. maybe steps-based?
We also have to keep scale-factor in mind, as that makes it do multiple scaling steps.
E.g example new output:
Step 1/3, Filtering:
Step 2/3, Scaling 2x
Step 2/3, Scaling 2x #2

if we can hide
start process block (2/4, 3/4) ...
#Iteration 1 ----
...
...
#Iteration 8 ------

total : 0.074[sec], 1566.123[GFLOPS]
and just shows up in option. (--essential-logs or --debug or something)
start process block (2/4, 3/4) ...
total : 0.074[sec], 1566.123[GFLOPS]
it will be helpful to see progress especially when we convert huge size of image.

Maybe in that case we should make a new option:
--log-level 1 to 3
1 = equal to --silent
2 = only show process block()...
3 = show everything (same as without --silent)
And default to 2.
?

@DeadSix27 It will be good!

as we now have slicer, i suggest new log-level
5: Iteration...
4: process block (colum-row)
3: process-slices [n/m]
2: step 2/3 denoising...
1: same as silent
0: real silent


I used TensorFlow to build a deep learning training network and test network, and I was going to use the weights in the training network to use as the weight of the test network, where the training network and the test network were not the same, how should I solve?

Please go to Stack Overflow for help and support:
http://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug or a feature request.
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
TensorFlow installed from (source or binary):
TensorFlow version (use command below):
Python version:
Bazel version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


Clinical Onset Picker UI Bugs in Internet Explorer 11

Bug Report
Description
These are screenshots of the onset picker in IE 11.

The first screenshot shows the misalignment of the age fields and that the age number field is missing the increase/decrease buttons.
The second screenshot also shows the misalignment and missing increase  / decrease buttons when the age granularity of Year(s) is selected.
Steps to Reproduce

Open the clinical onset picker in IE 11.
Select the Precision of On/At
Select the granularity as Age
Witness issues.

Additional Context / Screenshots

See above.
Expected Behavior

The age fields should be aligned and the increase/decrease buttons should be shown in order to prevent the user entering an impossible age (future age).
Possible Solution

Environment

Component Name and Version: Clinical Onset Picker 4.10.0
Browser Name and Version: Internet Explorer 11
Node/npm Version: [e.g. Node 8/npm 5]
Webpack Version:
Operating System and version (desktop or mobile): Mac

@ Mentions

duplicate of https://github.com/cerner/terra-clinical/issues/586
There is a fix out for review: https://github.com/cerner/terra-clinical/pull/596

@emilyrohrbough That issue deals with the alignment, is there anything out there for the missing increase/decrease buttons I mentioned?

@austenator The spinner control you have asked about is specific to the browser's implementation of a number input. Here is an article that gives more detail: https://css-tricks.com/numeric-inputs-a-comparison-of-browser-defaults/
Looking at terra-ui.com on chrome you will see:

and when you hover the number input on chrome you will see:

then on Firefox, the spinner control is always face up:

As @emilyrohrbough mentioned this is a duplicate of #586.  The increment/decrement buttons have been purposefully left to be determined by the browser.  Closing this.
cc @neilpfeiffer


New version: bdash-app.bdash version 1.15.1

Result: Installation Failed

Manifest
Add/Remove Programs

Name
Bdash

Version
1.15.1

Publisher
Kazuhito Hokamura

ProductCode

Auto-updated by vedantmgoyal2009/winget-pkgs-automation in workflow run 2786
Microsoft Reviewers: Open in CodeFlow

@wingetbot run


Possibility to declare refs in cells

Hello,
I declared some refs in the formatter function of my cell, but then in my code when I print this.refs I cannot see them, can you tell me why ?
     cell: {
          formatters: [(value, { rowData }) => {

        		return (

	          <ProductHistory ref={"phistory_"+rowData.id} product={rowData}/>

	             )

          }]
        },
        visible: true
      }

It's probably better to avoid refs as there's no official support for them in the component. You can likely find another way to write the code without.
If someone wants to improve the situation, I can accept a PR with an example etc.

For the moment I just put a dynamic ID on the component and use vanilla js to change the style. Its not really react style.

What do you need to achieve exactly?


Sidebar should be scrollable

The new locked sidebar has one disadvantage: if I open a sidebar item with too many items, the final items do not fit on the page (see screenshot below). The sidebar itself is not scrollable, so when I try to scroll down, the main page just scrolls down. Is this something that can be changed  @noracato?

Nice work @noracato!


create_namespace does not work

In ruby:2.4.0, I have a class which creates deployments, ingress and services. I also want to create a namespace in the code and I'm using the exact syntax as I see here but it keeps complaining about NoSuchMethod. This is the error I see:
 2018-06-06 21:25:09 +0000 Exception occurred undefined method create_namespace' for #<Kubeclient::Client:0x0000000267b810>
E, [2018-06-06T21:25:09.158818 #7] ERROR -- #<Bunny::Session:0x2d18da8 ***, vhost=/, addresses=[***]>: Uncaught exception from consumer #<Bunny::Consumer:20049140 @channel_id=1 @queue=deployment> @consumer_tag=bunny-1528320280000-413544303139>: #<NoMethodError: undefined method create_namespace for #<Kubeclient::Client:0x0000000267b810>
All other methods for create and delete works fine. Was wondering why it's not working for namespace. This is the code:
   namespace = Kubeclient::Resource.new
  namespace.metadata = {}
 namespace.metadata.name = ns
@kube_ext_client.create_namespace namespace (previously it was incorrectly written as create_daemon_set)

namespace = Kubeclient::Resource.new
namespace.metadata = {}
namespace.metadata.name = ns
@kube_ext_client.create_daemon_set namespace

This is calling create_daemon_set - Is that the exact code you're using?
How was @kube_ext_client constructed - is it for some extension API group?

This is how I create the client:
auth_options = {
      bearer_token_file: '/var/run/secrets/kubernetes.io/serviceaccount/token'
    }
    ext_client = Kubeclient::Client.new(
      "#{kube_master}/apis/extensions", 'v1beta1', auth_options: auth_options
    )

and that function is create_namespace, I saw the examples here:
[(https://github.com/abonas/kubeclient/blob/master/test/test_namespace.rb]
)
exactly like this:
    namespace = Kubeclient::Resource.new
    namespace.metadata = {}
    namespace.metadata.name = 'development'

    client = Kubeclient::Client.new('http://localhost:8080/api/')
    created_namespace = client.create_namespace(namespace)

I wrote create_daemon_set by mistake.
but it doesn't work. All other functions - including create_deployment and create_service - works fine. I'm using kubeclient v2.5.1.

OK, can you try:
core_client = Kubeclient::Client.new(
"#{kube_master}/api", 'v1', auth_options: auth_options
)
created_namespace = core_client.create_namespace(namespace)
Namespaces are part of the "core" API group.
In the API reference, you can figure which API group you need for given
operation from:

URLs — it says POST /api/v1/namespaces
under namespace write operations in
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#create-480
In the left sidebar, it says "Namespace v1 core".
For other groups it says things such as "CronJob v2alpha1 batch" and
"DaemonSet v1beta1 extensions"...

See https://kubernetes.io/docs/reference/using-api/api-overview/ for more
details on API groups...

You're right, it worked! Thanks a lot!!

Glaf to haer that.
@Mahla1990 Kubeclient docs in this area are clearly lacking - we get such questions a lot...  If you see a way to improve them, please send PR or suggestions...


Updated Readme

Okay bro. I have added mines and yours others need to add and then generate PR accordingly

And I guess it can be accepted now

Fixes https://github.com/AmanSarraf/Opensource-Buddy/issues/3


Strange behavior DeConz after update

Hi,
After updating homebridge-deconz  to v0.1.2 homebridge log shows strange things of all the nodes (see the log) what is here the problem?
Thanx for your answer in advance
Grtz Stefan
[24-1-2023 21:58:42] [deCONZ2] Tafel boven: error: RangeError: The value of "value" is out of range. It must be >= 0 and <= 65535. Received -1598
at new NodeError (node:internal/errors:400:5)
at checkInt (node:internal/buffer:74:11)
at writeU_Int16LE (node:internal/buffer:724:3)
at Buffer.writeUInt16LE (node:internal/buffer:732:10)
at History.addEntry (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/ServiceDelegate/History.js:634:12)
at Light. (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/ServiceDelegate/History.js:567:16)
at Light.emit (node:events:513:28)
at Light.emit (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Delegate.js:172:13)
at DeconzPlatform._beat (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Platform.js:302:38)
at Timeout._onTimeout (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Platform.js:279:12)
[24-1-2023 21:58:42] [deCONZ2] Zolder: error: RangeError: The value of "value" is out of range. It must be >= 0 and <= 65535. Received -1421
at new NodeError (node:internal/errors:400:5)
at checkInt (node:internal/buffer:74:11)
at writeU_Int16LE (node:internal/buffer:724:3)
at Buffer.writeUInt16LE (node:internal/buffer:732:10)
at History.addEntry (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/ServiceDelegate/History.js:634:12)
at Light. (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/ServiceDelegate/History.js:567:16)
at Light.emit (node:events:513:28)
at Light.emit (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Delegate.js:172:13)
at DeconzPlatform._beat (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Platform.js:302:38)
at Timeout._onTimeout (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Platform.js:279:12)
[24-1-2023 21:58:42] [deCONZ2] Schuur midden: error: RangeError: The value of "value" is out of range. It must be >= 0 and <= 65535. Received -1472
at new NodeError (node:internal/errors:400:5)
at checkInt (node:internal/buffer:74:11)
at writeU_Int16LE (node:internal/buffer:724:3)
at Buffer.writeUInt16LE (node:internal/buffer:732:10)
at History.addEntry (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/ServiceDelegate/History.js:634:12)
at Light. (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/ServiceDelegate/History.js:567:16)
at Light.emit (node:events:513:28)
at Light.emit (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Delegate.js:172:13)
at DeconzPlatform._beat (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Platform.js:302:38)
at Timeout._onTimeout (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Platform.js:279:12)
[24-1-2023 21:58:42] [deCONZ2] Trap: error: RangeError: The value of "value" is out of range. It must be >= 0 and <= 65535. Received -1689
at new NodeError (node:internal/errors:400:5)
at checkInt (node:internal/buffer:74:11)
at writeU_Int16LE (node:internal/buffer:724:3)
at Buffer.writeUInt16LE (node:internal/buffer:732:10)
at History.addEntry (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/ServiceDelegate/History.js:634:12)
at Light. (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/ServiceDelegate/History.js:567:16)
at Light.emit (node:events:513:28)
at Light.emit (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Delegate.js:172:13)
at DeconzPlatform._beat (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Platform.js:302:38)
at Timeout._onTimeout (/var/lib/homebridge/node_modules/homebridge-deconz/node_modules/homebridge-lib/lib/Platform.js:279:12)

The internal administration of Eve history seems corrupted.  Not sure how that came to be, did you do a clean upgrade, did you see install errors, or did you try to downgrade?  If you’re on a Raspberry Pi, double-check the uSD card.
Anyway, to reset the administration, un-expose each device showing the error and re-expose it, or simply stop deCONZ, delete cachedAccessories and restart it.  You might need to delete history from Eve before doing this, or un-install and re-install Eve, or it won’t show new history entries thinking it already downloaded them.

Thx for your quick response. I deleted the cachedAccessories and restart homebridge. It seems to be alright but at the end i deleted the bridge in homekit and in Homebridge and started over again ;)
The strange thing is that the groups in DeConz do not expose anymore. I tried to fix that with postman but without succes. Is there an other way to add them?

The gateway setting should auto-expose new groups, but for already existing groups you might need to expose each device individually

I had a similar experience with my upgrade – some previously exposed groups got un-exposed, but others came through fine. I was able to re-expose them using the new API:
curl -s -X PUT -d '{"expose": true}' <IP_ADDRESS>:[random port]/gateways/[my gateway]/devices/[my gateway]-G[my group number]/settings


Add #edit and #update for user profile

Each Veteran should be able to update their profile.
Changing your password should be here as well.
Other Veterans should not be able to update anyone else's profile.

This was completed in #242


Fix regressions with nameless and icon-only tabs

The issues can be seen in the theme editor.

Fix icon-only tabs not taking the y margin size into account.
Make possible to once again make tabs nameless. Now setting a tab's name to the name of the child will make it follow the name instead.

Thanks!


request has been blocked by CORS policy

looking on the previous issue, I don't understand if it is an issue or a configuration pb.
Can you please clarify ?
Beta channel with Flutter Web
Flutter (Channel beta, v1.12.13+hotfix.6, on Mac OS X 10.15.2 19C57, locale fr-FR)
Error:

from origin 'http://localhost:65327' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

I have the same problem and furthermore with Flutter web the header isn't considered.
I tried:
options: Options(
          headers: {
            "Content-Type": "application/json",
            "Accept": "application/json",
          },
          contentType: "application/json",
        ),

and
options: Options(
          headers: {
            "Content-Type": "application/json",
            "Accept": "application/json",
          },
        ),

and
options: Options(contentType: Headers.jsonContentType, headers: {
          Headers.acceptHeader: Headers.jsonContentType,
          Headers.contentTypeHeader: Headers.jsonContentType
        }

but always my request results without this options.

need support for web

support web or not ? if not we have to rollback to http.

reopen this issue

Its not an issue with library, You web server should have access-control-policy set for particular method.
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-3.1

might be related to https://github.com/flutter/flutter/issues/41977

this worked for me:
https://stackoverflow.com/a/66879350/9914638

this worked for me: https://stackoverflow.com/a/66879350/9914638

This solution worked on local build but not in release after deployed to hosting...


compare decimal value issue

Tests failed because of different decimal places. Is there anyway to truncate zero for returned value?
MySQL table prices with a column price as type decimal(20,4).
Test
@valid_attrs %{branchcode: "", create_user_id: "admin", create_user_name: "Administrator", currabrev: "TWD",  price: "120.5", stockid: "T2103", typeabbrev: "DE"}

test "get_price!/1 returns the price with given id" do
    price = price_fixture()
    assert Pricing.get_price!(price.stockid, price.typeabbrev) == price
end

1) test prices get_price!/1 returns the price with given id (ExPos.PricingTest)
     test/ex_pos/pricing_test.exs:27
     Assertion with == failed
     code:  assert Pricing.get_price!(price.stockid(), price.typeabbrev()) == price
     left:  %ExPos.Pricing.Price{__meta__: #Ecto.Schema.Metadata<:loaded, "prices">, branchcode: "", create_time: ~N[2019-07-16 15:08:22], create_user_id: "admin", create_user_name: "Administrator", currabrev: "TWD", stockid: "T2103", typeabbrev: "DE", price: #Decimal<120.5000>}
     right: %ExPos.Pricing.Price{__meta__: #Ecto.Schema.Metadata<:loaded, "prices">, branchcode: "", create_time: ~N[2019-07-16 15:08:22], create_user_id: "admin", create_user_name: "Administrator", currabrev: "TWD", stockid: "T2103", typeabbrev: "DE", price: #Decimal<120.5>}
     stacktrace:
       test/ex_pos/pricing_test.exs:29: (test)

In some test cases, my workaround is to add additional 0. e.g.
      assert price.price == Decimal.new("120.5000")

Or
    assert Decimal.equal?(price.price, Decimal.new("120.5"))

Yes, that's correct. 120.5 is not the same 120.5000. Given that the database has precision of 4, you need to match all decimal digits.


Faceting a histogram that shows proportion returns nonsensical plots

In GEMS1 with Country subset to include only African countries (Kenya, Mali, Mozambique, the Gambia), created the following in a histogram. Returned plots with every bar going to 1

Also see related ticket filed by @bobular https://github.com/VEuPathDB/EdaNewIssues/issues/355


flux can't upgrade image

What you expected to happen?
Flux auto upgrade container to newer image.
How to reproduce it?
I did these steps:

Disable automate
Deploy with tag 5.0.2
Enable automate

It's not upgraded to 5.0.3
HelmRelease content:
---
apiVersion: flux.weave.works/v1beta1
kind: HelmRelease
metadata:
  name: redis
  namespace: devops
  annotations:
    flux.weave.works/automated: "true"
    flux.weave.works/tag.chart-image: semver:~5.0
spec:
  releaseName: redis
  chart:
    repository: https://kubernetes-charts.storage.googleapis.com/
    name: redis
    version: 5.1.3
  valueFileSecrets:
    # the redis-auth secret contains the password value
  - name: redis-auth
  values:
    usePassword: true
    image:
      repository: bitnami/redis
      tag: "5.0.2"
    service:
      type: ClusterIP
      port: 6379
    cluster:
      enabled: false
    master:
      securityContext:
        enabled: false
        fsGroup: 0
        runAsUser: 0
      persistence:
        enabled: false

version
flux chart: 0.6.3
flux: 1.10.1
helm operator: 0.6.0

This is in the context of https://github.com/weaveworks/flux/issues/1701 so I think we should treat it there. I thought it was somehow unrelated. My bad. Huge apologies @thanhnl , thanks a lot for reporting it.


windows store build errors

Hi i've got an errors while build for Windows Store
Assets\MonsterLove\StateMachine\StateMachineEngine.cs(33,15): error CS1061: "System.Type" �� ᮤ�ন� ��।������ ��� "GetMethods". �� 㤠���� ����� ��⮤  �����७�� "GetMethods", �ਭ����騩 ������ ���㬥�� ⨯� "System.Type"  (�ய�饭� ��४⨢� using ��� ��뫪� �� ᡮ���?)
Assets\MonsterLove\StateMachine\StateMachineEngine.cs(100,24): error CS0117: "System.Delegate" �� ᮤ�ন� ��।������ ��� "CreateDelegate"

Hi,
Any fix for this yet?

Unfortunately not. A combination of the fact I can't compile for windows store and the fact that I'm super deep in a crunch cycle means I won't be looking at this any time soon, if at all. I am however quite happy to accept a pull request if and window store devs wanna fix it? ;)

Just chiming in to say that I took a crack at trying to port this to the Windows Store, but the it doesn't seem to support IConvertable. All these restrictions in WIndows RT are really annoying

Windows store is likely to never be a compatible platform


Purpose of lib/i18n/tests

What is the purpose of lib/i18n/tests?
These seems to be unused by rake test... should they be removed?
I'm asking because these tests are used by https://github.com/prograils/lit (https://github.com/prograils/lit/blob/master/test/unit/pure_i18n_compatibility_test.rb), and in rails 5.1 assert_nothing_raised changed and thus the following line https://github.com/svenfuchs/i18n/blob/master/lib/i18n/tests/interpolation.rb#L46 creates an error.
I'm not sure if the fix is to stop using these i18n tests, or monkey patch assert_nothing_raised or even something else (maybe assert_nothing_raised is also defined in minitest and rails just shadows it?).

These tests are here to be used by other gems. If those gems hook into I18n, these tests ensure that the base I18n functionality isn't broken by those tests.
Could you please submit a patch to fix that breakage in interpolation.rb?


what's ServerAsyncReaderWriter::Read behaviour when client network fail down suddenly?

when client network fail down, I guess ServerAsyncReaderWriter::Read's tag will never returned by grpc::CompletionQueue::Next. grpc::ServerContextBase::AsyncNotifyWhenDone's tag will be returned by grpc::CompletionQueue::Next install, Am I right? so server must call AsyncNotifyWhenDone before rpc start if server need handle clients connection errors.

next will return ServerAsyncReaderWriter::Read's tag with a false ok


Add merge conflicted files to user info

This the add on to https://github.com/libgit2/objective-git/pull/538#issuecomment-175405892

Done :+1:

Just :one: :memo:

Done :white_check_mark:

:ship:


Fix #80: use correct location for Nx project graph file

This PR contains two commits to address #80 and fix fetching the project-graph.json for Nx projects from any of the two locations they might be at (depending on the Nx version, see #80).
The first commit contains the fix as per @torfmaster's suggestion:

fetch the graph from .nx/workspace-data
if that fails: fetch the graph from .nx/cache
if that fails: give up

The second commit moves the example project-graph.json file under from .nx/cache into the test file itself.
NB: It feels like the new tests nail down the implementation too much by mocking the 'fs' node module to simulate a failure of reading the file.
Closes #80

@c-harding Would you volunteer to take a look at this PR?


Implement unit-tests for all source code to release v1.11.7

Improve Method::getParameters method to allow to export parameters with default values correctly
Improve Method class to retrieve deeply {@inheritDoc} correctly
Correct Auth interface mapping for Generator class with Auth::getProvider
Optimize source code of ModelsCommand class
Use PHPUnit Mock and implement unit-tests for all source code

This is an update for v1.11 branch with unit-tests and some improvements.
Help me to review and release a new version for 1.11 please.
Btw, don't forget to update new release on packagist.com
Thanks & best regards

Spend time to review and merge my PR please. I need this release for my Laravel 4 project.
Thank you very much

Even though it adds tests 👍 it's too many changes to comprehend and also it also tests after the fact.
Rather it would need tests in master first so the PR also shows the changes to the tests. IMHO.
Mildly related, I recently contributed ModelsCommand related tests (though not others, yet).
I suggest drop the PR in this state.


Migrate to Java 8

It's basically all working in Java 8, but I haven't done any code improvements using lambda etc. I did have to work around a bug in Therapi, which compiles the source javadoc to runtime documentation for the CLI module.

Alright, things are looking up. I've upgraded everything to Java 8, Jakarta 2.0.1 and latest log4j version due to the recent security issues there. I've forked and migrated markenwerk DKIM and S/MIME to the Simple Java Mail space, with permissions of all parties involved and everything is not up to day and under ApacheV2 license.

7.0.0 just released with this upgrade.


lazy load for posts component

issue: it slows down the app as laptimes increase, because it loads all the youtube embed at once and in memory.
fix: by adding lazy loading, it ensures it only  loads the video when the user wants to play the video.

the component, LazyLoadYoutubeEmbed intracknow/web/src/miscFunctions.tsx is buggy rn.
this issue was fixed #78
i will probably use a thirdy party package to properly perfect the feature.


RUMM-3009: Leave useSite configuration only in the core

What does this PR do?
Before this change we had useSite configuration options for every feature, but it makes setup more verbose and unlikely it can be the case when different features are using different sites (especially considering that clientToken is site-specific and is defined only in the core configuration).
To address that we are bringing back DatadogContext#site property and request factories will use it unless custom URL is given.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1338 (c55b924) into nogorodnikov/randomize-sdk-initialization-in-instrumented-tests (4f927af) will increase coverage by 0.04%.
The diff coverage is 97.37%.

@@                                         Coverage Diff                                         @@
##           nogorodnikov/randomize-sdk-initialization-in-instrumented-tests    #1338      +/-   ##
===================================================================================================
+ Coverage                                                            81.71%   81.75%   +0.04%
===================================================================================================
  Files                                                                  373      373
  Lines                                                                13160    13159       -1
  Branches                                                              2197     2201       +4
===================================================================================================
+ Hits                                                                 10753    10758       +5
  Misses                                                                1756     1756
+ Partials                                                               651      645       -6

Impacted Files
Coverage Δ

...otlin/com/datadog/android/v2/api/RequestFactory.kt
0.00% <ø> (ø)

...og/android/v2/core/internal/NoOpContextProvider.kt
3.45% <0.00%> (-0.12%)
:arrow_down:

...m/datadog/android/v2/api/context/DatadogContext.kt
100.00% <100.00%> (ø)

...android/v2/core/internal/DatadogContextProvider.kt
97.62% <100.00%> (+0.06%)
:arrow_up:

...main/kotlin/com/datadog/android/log/LogsFeature.kt
85.14% <100.00%> (-0.30%)
:arrow_down:

...dog/android/log/internal/net/LogsRequestFactory.kt
100.00% <100.00%> (ø)

.../main/kotlin/com/datadog/android/rum/RumFeature.kt
91.72% <100.00%> (+0.58%)
:arrow_up:

...adog/android/rum/internal/net/RumRequestFactory.kt
97.67% <100.00%> (+0.11%)
:arrow_up:

...ndroid/sessionreplay/SessionReplayConfiguration.kt
100.00% <100.00%> (ø)

...adog/android/sessionreplay/SessionReplayFeature.kt
97.10% <100.00%> (ø)

... and 3 more

... and 6 files with indirect coverage changes


Add support for dimensioned register fields

Signed-off-by: Riccardo Binetti<EMAIL_ADDRESS>

@mattnite I found this while working with this SVD.
There's a possible alternative solution, which is:
diff --git a/src/svd.zig b/src/svd.zig
index b8a442c..3daf70c 100644
--- a/src/svd.zig
+++ b/src/svd.zig
@@ -369,11 +369,6 @@ pub const Dimension = struct {
                     const begin = try std.fmt.parseInt(usize, it.next() orelse return error.InvalidDimIndex, 10);
                     const end = try std.fmt.parseInt(usize, it.next() orelse return error.InvalidDimIndex, 10);

-                    if (begin == 0)
-                        break :blk Index{
-                            .num = end + 1,
-                        };
-
                     var list = std.ArrayList([]const u8).init(allocator);
                     var i = begin;
                     while (i <= end) : (i += 1)

This just maps everything in the .list case. I don't know why you originally distinguished between ranges that start at 0 and ones that do not, but if the distinction is not needed probably the solution in this comment is better (since it reduces the code surface instead of duplicating code).
Let me know which one you prefer.

Hey! The original idea was to model contiguous sequences starting with 0 as an array, and everything else would have individual identifiers for each entry (formatted name).
Is the issue here that you want an array, and to just ignore the initial elements? I'd like to add a bit more safety than that, but I'm not sure what that would look like, any ideas? I'm totally fine with what this patch is doing, but could you add something like "elements 0 - N are invalid" to the description?

I'm not ignoring any element, the issue was simply that the .num case was not handled, the MR adds the implementation.
The patch in the comment attacked it from another angle, simply dropping the .num case. I was just wondering why the different treatment for arrays that start at 0 vs all the rest.


Added type hints where appropriate

Going to force merge this, no functional changes, only added typehints.

This fixes #9


When are you going to release noise inversion code?

Thanks for sharing this wonderful project.
When are you guys going to release the noise inversion code?

Thank you for your comments. We provided inverted latent values instead of noise inversion code because it is not much stable, it needs a lot of tweaks.


Move ownership of type system entities to CompilerTypeSystemContext

Type system entities that produce code or EETypes need to be owned by the CompilerTypeSystemContext so that we can match/reconcile them between the scanning and code generation phases.
This includes

Reflection invoke stubs
Various interop types and methods

We currently e.g. can't do fixed slot assignments to virtual methods on interop's delegate wrappers. Similar problems will arise for e.g. reflection invoke stubs and their generic dictionary layout (once we start inlining generic dictionary lookups).

When resolving this bug, look for the issue number in the sources. We have some workarounds in place.


How to Detect & Re-Try Expired Jobs?

I have a scenario as such

3 jobs are queued at same time
2 workers pick up the jobs, but take a REALLY long time
3rd job is eventually never picked up

I tried tinkering with failure_ttl ... but it's hard to tell if test if this working or not in an environment with many moving parts.
How do i

detect if the scheduled jobs have been not picked up?
re-try ?

@selwin  ANy idea? Is this related to the retry method you are working on?


Replace nodejs Buffer with Uint8array

Buffer is nodejs construct polyfilled in browser. All major browsers now support Uint8array, we should use it instead as well.

I just checked and except for tests I could not find any Buffer anymore. Hence closing

I just checked and except for tests I could not find any Buffer anymore. Hence closing

Unfortunately prepareData from src/utils/data.ts is using Buffer in the case when string is passed in as data. It is trivial to fix though (using TextEncoder).

Unfortunately prepareData from src/utils/data.ts is using Buffer in the case when string is passed in as data. It is trivial to fix though (using TextEncoder).


write slow and buffer too large

if use buffer when write to mongo
mongodb write too slow
buffer cost too large mem
so
I think ‘pendingBulks’ should give queue size，when size is full，write waiting

Supported via https://github.com/mongo-flink/mongo-flink/commit/4bfe39070989b6efad11211326c96301ee785ae0 . It would be included in the coming 1.0.0 version.


[BUG] Hashmap to Map Cast Exception in TargetingFilter.java when using Application Configuration

Describe the bug
When checking if a feature flag is enabled the exception java.lang.ClassCastException is thrown.
Exception or Stack Trace
Caused by: java.lang.ClassCastException: java.util.HashMap$Values cannot be cast to java.util.Map
	at com.azure.spring.cloud.feature.management.filters.TargetingFilter.evaluate(TargetingFilter.java:134) ~[spring-cloud-azure-feature-management-4.8.0.jar:4.8.0]
	at com.azure.spring.cloud.feature.management.FeatureManager.isFeatureOn(FeatureManager.java:114) ~[spring-cloud-azure-feature-management-4.8.0.jar:4.8.0]
	at com.azure.spring.cloud.feature.management.FeatureManager.lambda$checkFeature$2(FeatureManager.java:106) ~[spring-cloud-azure-feature-management-4.8.0.jar:4.8.0]
	at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) ~[?:1.8.0_332]
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_332]
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_332]
	at java.util.HashMap$ValueSpliterator.tryAdvance(HashMap.java:1673) ~[?:1.8.0_332]
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_332]
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499) ~[?:1.8.0_332]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486) ~[?:1.8.0_332]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_332]
	at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230) ~[?:1.8.0_332]
	at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196) ~[?:1.8.0_332]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_332]
	at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:516) ~[?:1.8.0_332]
	at com.azure.spring.cloud.feature.management.FeatureManager.checkFeature(FeatureManager.java:106) ~[spring-cloud-azure-feature-management-4.8.0.jar:4.8.0]
	at com.azure.spring.cloud.feature.management.FeatureManager.isEnabledAsync(FeatureManager.java:63) ~[spring-cloud-azure-feature-management-4.8.0.jar:4.8.0]
	at our java code

To Reproduce
Setup an http request or a piece of code that attempts to check if a feature flag is enabled. Make sure the feature flag has a feature filter with the default percentage set to 0% and an allowed group that is set to 100%. Running this code will cause the cast exception to fire.
Code Snippet
Here is my Java code that initiates the call to check if a flag is enabled:
Boolean.TRUE.equals(featureManager.isEnabledAsync("someFeatureFlag").block())
This is the decompiled code that is throwing the exception from TargetingFilter.java:
Map<String, Map<String, Object>> exclusionMap = (Map<String, Map<String, Object>>) parameters
    .get(EXCLUSION);
Map<String, Object> exclusionAsLists = new HashMap<>();
if (exclusionMap != null) {
    exclusionAsLists.put(USERS, exclusionMap.getOrDefault(USERS, new HashMap<String, Object>()).values());
    exclusionAsLists.put(GROUPS, exclusionMap.getOrDefault(GROUPS, new HashMap<String, Object>()).values());
}

The error is specifically thrown on this line when the default branch is taken:
exclusionAsLists.put(USERS, exclusionMap.getOrDefault(USERS, new HashMap<String, Object>()).values());
Expected behavior
No cast exception is thrown, and that the feature flag check returns either a true or false.
Screenshots
Here is the state of the debugger right before the exception is thrown:

Setup (please complete the following information):

OS:  MacOS 13.4.1 (22F82)
IDE: IntelliJ
Library/Libraries: spring-cloud-azure-feature-management-4.8.0.jar
Java version: 8
App Server/Environment: Tomcat
Frameworks: Spring Boot 2.7.12

If you suspect a dependency version mismatch (e.g. you see NoClassDefFoundError, NoSuchMethodError or similar), please check out Troubleshoot dependency version conflict article first. If it doesn't provide solution for the problem, please provide:

verbose dependency tree (mvn dependency:tree -Dverbose)
exception message, full stack trace, and any available logs

Additional context
I am using a remote configuration store. My local app is talking with a config store in the portal. It connects via a connection string.
Here are the related configured properties:
spring.cloud.azure.appconfiguration.enabled=true
spring.cloud.azure.appconfiguration.stores[0].feature-flags.enabled=true
spring.cloud.azure.appconfiguration.stores[0].connection-string=<Connection string redacted>
spring.cloud.azure.appconfiguration.stores[0].enabled=true
spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=true
spring.cloud.azure.appconfiguration.stores[0].monitoring.refresh-interval=30s
spring.cloud.azure.appconfiguration.stores[0].monitoring.triggers[0].key=sentinel
spring.cloud.azure.appconfiguration.stores[0].monitoring.feature-flag-refresh-interval=30s
spring.cloud.azure.appconfiguration.stores[0].feature-flags.selects[0].label-filter=,${spring.profiles.active}

The config store has one key/value called sentinel that allows for dynamic refresh and one feature flag with a feature filter. Here is a screenshot of the details. The value past Tenant: is a guid:

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[-] Bug Description Added
[-] Repro Steps Added
[-] Setup information Added

This appears to only be affecting us when we use a group or user override in a feature filter. If we have a simple feature flag that is only checking if the flag is on or off the check works.

I've been doing a little more testing. So far I've only faced this bug when using the feature manager directly. The same casting error does not occur when using the @FeatureGate method annotation.

Reverting to 4.7.0 should fix this for now if you are running into this issue. PR is up for a fix for this https://github.com/Azure/azure-sdk-for-java/pull/35920.

4.9.1 was released and fixes this issue.

@mrm9084
I am recieving following error
java.lang.ClassCastException: class java.util.HashMap$Values cannot be cast to class java.util.Map (java.util.HashMap$Values and java.util.Map are in module java.base of loader 'bootstrap')
at com.azure.spring.cloud.feature.management.filters.TargetingFilter.evaluate(TargetingFilter.java:132) ~[spring-cloud-azure-feature-management-5.3.0.jar:5.3.0]
at com.azure.spring.cloud.feature.management.FeatureManager.isFeatureOn(FeatureManager.java:114) ~[spring-cloud-azure-feature-management-5.3.0.jar:5.3.0]
at com.azure.spring.cloud.feature.management.FeatureManager.lambda$checkFeature$2(FeatureManager.java:106) ~[spring-cloud-azure-feature-management-5.3.0.jar:5.3.0]
at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1856) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230) ~[na:na]
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632) ~[na:na]
at com.azure.spring.cloud.feature.management.FeatureManager.checkFeature(FeatureManager.java:106) ~[spring-cloud-azure-feature-management-5.3.0.jar:5.3.0]
at com.azure.spring.cloud.feature.management.FeatureManager.isEnabledAsync(FeatureManager.java:63) ~[spring-cloud-azure-feature-management-5.3.0.jar:5.3.0]
at com.cvs.specialty.controller.Feature.feature(Feature.java:27) ~[main/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:207)
I am using com.azure.spring:spring-cloud-azure-feature-management-web:5.3.0.
and I am using spring boot 3.0.1
@Component
public class TargetingContextAccessorImpl implements TargetingContextAccessor {
@Override
public void configureTargetingContext(TargetingContext targetingContext) {
targetingContext.setUserId(" XXXX ");
}
}
This is targetContext configuration I am using
I am creating targeting filter bean
@Bean("Microsoft.Targeting")
public TargetingFilter targetingFilter(TargetingContextAccessor contextAccessor) {
return new TargetingFilter(contextAccessor, new TargetingEvaluationOptions().setIgnoreCase(true));
}
And just calling featureManager.isEnabledAsync("myfeature").block()
it's giving above error when I try to execute featureManager.isEnabledAsync("myfeature").block()
can you please help me resolve this? @mrm9084

The patch was never released for the 5.x versions. A new release should be out soon with the fix. @saragluna, we need to make sure this gets out. I saw the new 4.x versions going out yesterday.

@mrm9084
Targeting group filtering is also not working as expected.
{
"id": "myfeature",
"description": "",
"enabled": true,
"conditions": {
"client_filters": [
{
"name": "Microsoft.Targeting",
"parameters": {
"Audience": {
"Users": [],
"Groups": [
{
"Name": "abc",
"RolloutPercentage": 100
}
],
"DefaultRolloutPercentage": 0
}
}
}
]
}
}
This is my feature configuration in azure app config.
public class TargetingContextAccessorImpl implements TargetingContextAccessor {
String userId = "xyz";

@Override
    public void configureTargetingContext(TargetingContext targetingContext) {
    System.out.println(userId);
    targetingContext.setUserId(userId);
    ArrayList<String> groups = new ArrayList<String>();
    groups.add("abc");
    targetingContext.setGroups(groups);
    }

}
Here xyz is not part of group abc then How come feature is enabled for xyz.
can you please address this issue? @mrm9084

String userId = "xyz";
@Override
public void configureTargetingContext(TargetingContext targetingContext) {
System.out.println(userId);
targetingContext.setUserId(userId);
ArrayList groups = new ArrayList();
groups.add("abc");
targetingContext.setGroups(groups);
}

In the example you gave, everyone will be part of the group "abc"? So it should alway return true?

String userId = "xyz";
@OverRide
public void configureTargetingContext(TargetingContext targetingContext) {
System.out.println(userId);
targetingContext.setUserId(userId);
ArrayList groups = new ArrayList();
groups.add("abc");
targetingContext.setGroups(groups);
}

In the example you gave, everyone will be part of the group "abc"? So it should alway return true?

But xyz user is not part of abc group then why it's true for him?

Am I missing something. You also hardcoded the userId to always be "abc"?

Am I missing something. You also hardcoded the userId to always be "xyz"?

@Component
@RequestScope
public class TargetingContextAccessorImpl implements TargetingContextAccessor {
String userId = "xyz";
@Override
    public void configureTargetingContext(TargetingContext targetingContext) {
    System.out.println(userId);
    targetingContext.setUserId(userId);

//        ArrayList groups = new ArrayList();
//        groups.add("abc");
//        targetingContext.setGroups(groups);
}
}
Now I have added xyz in abc group and feature configuration is still same
{
"id": "myfeature",
"description": "",
"enabled": true,
"conditions": {
"client_filters": [
{
"name": "Microsoft.Targeting",
"parameters": {
"Audience": {
"Users": [],
"Groups": [
{
"Name": "abc",
"RolloutPercentage": 100
}
],
"DefaultRolloutPercentage": 0
}
}
}
]
}
}
I am recieving not enabled now ?? @mrm9084

@mrm9084 How featuremanagement sdk will verify if user is part of group or not ?

TargetingContextAccessor is how you provide us with the user/group info of the current active user, or whatever you are targeting. You set it to be part of the @RequestScope so it will have access to the current request. I assume somewhere you have auth on the user that you can set to be the group info.

This is a simple example as a POC, you should be able to replace HttpServletRequest with your auth.
@Component
@RequestScope
public class TargetingContextImpl implements TargetingContextAccessor {

    @Autowired
    private HttpServletRequest request;

    @Override
    public void configureTargetingContext(TargetingContext context) {
        context.setUserId(request.getParameter("user"));

        List<String> groups = new ArrayList<>();

        groups.add(request.getParameter("group"));

        context.setGroups(groups);
    }

}

So for groups we have to rely on AAD Token then right!! App configuration doesn't check the users group by itself dynamically right ? @mrm9084

That is correct. We didn't want to force any one direction. If you look at the dependencies of the library, it doesn't take dependencies on any azure service, not even App Configuration.

@mrm9084
Here is my feature configuration
{
"id": "myfeature",
"description": "",
"enabled": true,
"conditions": {
"client_filters": [
{
"name": "Microsoft.Targeting",
"parameters": {
"Audience": {
"Users": [],
"Groups": [
{
"Name": "abc",
"RolloutPercentage": 50
}
],
"DefaultRolloutPercentage": 0
}
}
}
]
}
}
Here how will the Rollout percentage work for abc group. I have 3 user xyz, efg and pqr in group abc. how will feature management lib will pick 50% rollout for these users. I am recieving flag disable for all users.
Here is my context code
@RequestScope
public class TargetingContextAccessorImpl implements TargetingContextAccessor {
@Autowired
HttpServletRequest request;
@Override
    public void configureTargetingContext(TargetingContext targetingContext) {
    ArrayList<String> groups = new ArrayList<String>();
    groups.add("abc");
    targetingContext.setGroups(groups);
    }

}

@tejas097. First, You don't have three users in the group. Everyone single request is part of the group "abc" as you have hardcoded the group to always be abc.
Second, you aren't setting a userid, so there is no difference between any two users.
Third, this is a statistical 50% of users will be enabled/disabled. You need a large sample size to actually have it be 50%. We use the combination of UserId/Group/FeatureName to create a unique hash to put users into the different percentages.

@mrm9084
How will I have to create bean for Microsoft.TimeWindow it says bean is missing when I enable time window frame. And also how to create percentage filter bean in spring boot as I am not able to find any proper documentation for that!!
can you please help @mrm9084

@tejas097, we have created the filters, but they are not enabled by default. You can do this by adding them to your @Configuration

@tejas097, we have created the filters, but they are not enabled by default. You can do this by adding them to your @Configuration

@mrm9084 do we have to create percentage filter bean under Microsoft.Targetting ? or what should be the bean name for default rollout percentage ?

The bean name should match the name of the feature filter. For example:
    @Bean(name = "Microsoft.TimeWindow")
    public TimeWindowFilter timeWindowFilter() {
        return new TimeWindowFilter();
    }

    @Bean(name = "Microsoft.Targeting")
    @Scope("request")
    public TargetingFilter targettingFilter(TargetingContextImpl context) {
        return new TargetingFilter(context, new TargetingEvaluationOptions().setIgnoreCase(true));
    }

@mrm9084 percentage filter bean also part of Microsoft.Targeting or I will have to add some other bean name for percentage filter ?

@tejas097, the name should follow the same format. Percentage filter isn't one provided by default in the App Configuration services anywhere, it still is in the provider though. The name should match the name you put for the filter in the feature flag. For example:

{
	"id": "Random",
	"description": "",
	"enabled": true,
	"conditions": {
		"client_filters": [
			{
				"name": "percentageFilter",
				"parameters": {
					"Value": 50
				}
			}
		]
	}
}

In this case it would be percentageFilter.
Note: This filter is more of an example filter than anything else as it is pure random, generating a random number every request between 0 and 100 and returning true if the result is less than or equal to the Value field.

{
				"name": "percentageFilter",
				"parameters": {
					"Value": 50
				}
			}

How percentage filter is different from default percentage rollout percentage which app configuration provides under targeting filter ?

If you run this for example 50 percent of the time it will be yes/no. It doesn't mater who/what is going on. It is just a 50/50 chance.
For Targeting, if you have default percentage rollout set to 50, a statistical 50 percent of users will get true, the other 50 percent will get false. And they will always get those values.
Another nice thing about Targeting is that if you change it from 50 to 60, all of the people that had true, will continue to get true. Just another 10% will get true also.

@mrm9084 can azure sdk for feature management allow us to update feature flag if it has permission to do it ? and also can this sdk for feature management can give feature details what we have currently like what filter it has and other information regarding feature filter ?


Fix block insert with parameter hint

I found a bug about block insert with parameter hint.
Given parameter hint is active like below.
function(hint: "str1")
function(hint: "str1")
Then you try to change two "str1" into "str_1" with block insert (e.g. ctrl-v j I _ ), they become like below.
function(hint: "str_1")
function(hint: "st_r1")
I fixed the bug by using logicalPosition instead of VisualPosition.
I searched for this bug in youtrack and wasn't able to find any issue.

Thank you for checking my change and finding that!
In that case, expected behavior is that 1 is also inserted between 'e' and 'm' in "System", isn't it?
I will try to fix the problem when I have time.

1 is also inserted between 'e' and 'm' in "System", isn't it?

This is a nice question because vim doesn't have such kind of folding :)
From my understanding, no. If you use <C-V>j, 1 should be inserted only as it's inserted on the gif (and selection of m is a wrong behavious as well).

I see.
Thanks!

I worked on this and noticed that I was not sure what is the expected behavior concerning parameter hint.
e.g.
function2(str1, str2);
function(hint: "str1");

If a cursor is at 's' of str2 and push j, the cursor

seems to go to 's' of "str1" visually
goes to ')' in practice (with or without my change) maybe because the hint is considered one space
goes to ';' without parameter hint

Is there any rule about this behavior?

Hey. Yeah, the situation is like that:
The rule about the vertical caret motion is quite simple: caret should save its column offset during up/down motion. And it does mean that 1) It doesn't save the column offset visually. If you are landing on a line with a hint, caret will be a bit to the right. 2) Currently it doesn't work properly with the hints.
About point 2:
If you'll check the IJ code about caret moving (link), you'll notice that there seems to be some additional logic about inline elements handling. Unfortunately, this logic is not yet implemented for IdeaVim. So, if you'll put a caret at 's' of str2 and type jk, you should be back on s. But you're probably going to end up on the letter t what is a bug.

I checked that by typing jk the cursor went back to s as expected.
The issue you found seems to exist regardless of my change, so I think this is another bug.
Should I include the fix for the bug in this MR as well, or is It okay to leave it for now?

I think it's fine to leave this problem as it is.

Sorry, for broken check, just ignore it.

Hi @sumoooru2 ! I'll close this PR because there is no activity for a long time.
Don't hesitate to reopen it in case of any new changes or create a new one.
BTW. The jk issue should be fixed with the last release.


Proposal: Make __ScalaJSEnv.javaSystemProperties the responsibility of the JSEnv

Currently we fully manage Java System Property injection in the sbt plugin. As a result, we need to understand details about the underlying module structure.
Further, note that many JSEnvs further inject information into __ScalaJSEnv (source mapper, exit function). I propose that we make __ScalaJSEnv generation and injection fully the responsibility of a JSEnv by adding javaSystemProperties: Map[String, String] (additionalJavaSystemProperties?) to the RunConfig (after #3255).
As a result

__ScalaJSEnv becomes the sole responsibility of the JSEnv and hence can be better isolated.
The sbt plugin does not need to know about module loading details anymore.
JSEnvs can easily add information about themselves to javaSystemProperties if they so desire.

This, together with #3294 would allow us to remove jsExecutionFiles and call it jsInput. As a result, our core supporting infrastructure would be completely agnostic of the JS module type.

@sjrd WDYT?

I don't have a strong opinion about this. I've always thought the Java system property support was a necessary evil, which did not fit very well anyway. If we move this "hack" from the sbt plugin to the JS env, IMO, it's still a hack. If you believe it is better isolated in the JSEnvs, I'm fine with it. And if that solves an issue with dealing with modules, why not?

The sbt plugin does not need to know about module loading details anymore.

See my comment at https://github.com/scala-js/scala-js/issues/3294#issuecomment-372376346. Does the sbt plugin actually need to know about module loading details to fill in the Java system properties? It doesn't look like it from the current snippet in the sbt plugin. Or am I missing something?

It doesn't look like it from the current snippet in the sbt plugin. Or am I missing something?

It currently doesn't. But if we start loading things like real modules, the name __ScalaJSEnv might simply not reference the right value.
The other option is to not do this anymore (in the public plugin). Why did we add this to the public plugin anyways?

It currently doesn't. But if we start loading things like real modules, the name __ScalaJSEnv might simply not reference the right value.

I see. I guess then for the test adapter/bridge flag, we would somehow force it to be under a very weird name as a property of the global object, so that modules don't matter. Something we can't really do with __ScalaJSEnv because it is already kind-of specified that it works by lexical scope.

Why did we add this to the public plugin anyways?

Initially, because it was the only means of parameterizing JUnit test suites, and hence we needed it for our own build. Back then, we tended to add to the public plugin everything we needed internally.
That strategy might not apply anymore, in which case we could indeed remove that support from the public sbt plugin, and instead provide the snippet in a How-to section in the documentation.

That strategy might not apply anymore, in which case we could indeed remove that support from the public sbt plugin, and instead provide the snippet in a How-to section in the documentation.

Yes, I think we should do this.


Re-introduce proper error handling with thiserror

This is a repost of #166 (rebased on top of master), because I don't know why you closed the previous PR, and thus if this feature is wanted or not ?
Following discussion at #164, this PR replaces anyhow with thiserror to make errors more explicit, comparable, and so on. The goal is for consumers of this library to be able to extract information about errors without having to downcast anyhow errors, and thus to have more granularity to filter the errors and/or understand the issue at hand.
As an important note, this is not API compatible with the current 0.27 branch and probably harder to accept that when rust-s3 0.27 was still in beta.

Sure, let me rebase this ;)

Also:
Since https://github.com/durch/rust-s3/commit/c00a18693e53da096dd6e59d6e7880f2add6039f,
the function is_ec2 (https://github.com/durch/rust-s3/blob/c00a18693e53da096dd6e59d6e7880f2add6039f/aws-creds/src/credentials.rs#L315) is no longer useful. So I will prune it in the rebase. Is that ok?

The CI failures look more like, well, a CI failure than something else :p
failures:
    bucket::test::aws_put_head_get_delete_object
    bucket::test::digital_ocean_test_put_head_get_delete_object
    bucket::test::gc_test_put_head_get_delete_object
    bucket::test::minio_test_put_head_get_delete_object
    bucket::test::streaming_test_put_get_delete_big_object
    bucket::test::test_bucket_create_delete_default_region
    bucket::test::test_bucket_create_delete_non_default_region
    bucket::test::test_bucket_create_delete_non_default_region_public
    bucket::test::test_tagging_aws
    bucket::test::wasabi_test_put_head_get_delete_object

@nightmared crate definitely needs to go to thiserror, I'll work on it in the next couple of months for sure.

@nightmared I think these get closed when I cleanup old branches, I'd be very happy to take another look, the anyhow hack was always meant to be temporary, but these always end up being permanent :)

Released in 0.31, any improvements are welcome


Python's ctypes broken on macOS Big Sur

Python's ctypes support is broken on macOS Big Sur. This currently affects nixpkgs. Here's an example with python3.8-regex:
https://gist.github.com/dhess/e1b2662a6732618b252096e0de3a04d4
This has been fixed in CPython trunk and backported to 3.9:
https://github.com/python/cpython/pull/22855
https://github.com/python/cpython/pull/23295
Unfortunately, it's not yet been backported to 3.8, which is the default python3Packages set in nixpkgs.

That's a pretty big backport! Probably in time it will be backported to 3.8 as well.

once they do another release, these will be added "automatically"

Has this actually been resolved in any new release?
I think 3.8.7 as well as 3.9.1 are currently both failing for me on Big Sur
# sw_vers
ProductName:	macOS
ProductVersion:	11.2
BuildVersion:	20D64

3.8.7:
nix/store/zlck50w2v1ypwk9yqkfy8mf4kmcs89c9-python3-3.8.7/bin/python3.8
Python 3.8.7 (default, Feb  5 2021, 19:55:34)
[Clang 7.1.0 (tags/RELEASE_710/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from ctypes.util import find_library; find_library("c")
>>>

And 3.9:
# nix/store/fk1lwfjvpzzh7d1sj8jyi832kzqczsmi-python3-3.9.1/bin/python3.9
Python 3.9.1 (default, Feb  5 2021, 19:44:28)
[Clang 7.1.0 (tags/RELEASE_710/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from ctypes.util import find_library; find_library("c")
>>>

Getting a similar error when starting jupyter lab (which uses ctypes) on Big Sur (please forgive the ugly shell invocation):
% nix shell --expr '(builtins.getFlake "github:NixOS/nixpkgs/nixpkgs-unstable").legacyPackages.x86_64-darwin.python39.withPackages (ps: [ ps.jupyterlab ])' --impure -c jupyter-lab
Traceback (most recent call last):
  File "/nix/store/nzw8mizwzxxadhcwxfr1ldis8wabk50x-python3.9-jupyterlab-2.2.9/bin/.jupyter-lab-wrapped", line 6, in <module>
    from jupyterlab.labapp import main
  File "/nix/store/hvqz59hsvpsd7ljy58rr687z55dqfc7l-python3-3.9.1-env/lib/python3.9/site-packages/jupyterlab/labapp.py", line 14, in <module>
    from jupyterlab_server import slugify, WORKSPACE_EXTENSION
  File "/nix/store/hvqz59hsvpsd7ljy58rr687z55dqfc7l-python3-3.9.1-env/lib/python3.9/site-packages/jupyterlab_server/__init__.py", line 4, in <module>
    from .app import LabServerApp
  File "/nix/store/hvqz59hsvpsd7ljy58rr687z55dqfc7l-python3-3.9.1-env/lib/python3.9/site-packages/jupyterlab_server/app.py", line 9, in <module>
    from .server import ServerApp
  File "/nix/store/hvqz59hsvpsd7ljy58rr687z55dqfc7l-python3-3.9.1-env/lib/python3.9/site-packages/jupyterlab_server/server.py", line 20, in <module>
    from notebook.notebookapp import aliases, flags, NotebookApp as ServerApp
  File "/nix/store/hvqz59hsvpsd7ljy58rr687z55dqfc7l-python3-3.9.1-env/lib/python3.9/site-packages/notebook/notebookapp.py", line 86, in <module>
    from .services.contents.filemanager import FileContentsManager
  File "/nix/store/hvqz59hsvpsd7ljy58rr687z55dqfc7l-python3-3.9.1-env/lib/python3.9/site-packages/notebook/services/contents/filemanager.py", line 17, in <module>
    from send2trash import send2trash
  File "/nix/store/hvqz59hsvpsd7ljy58rr687z55dqfc7l-python3-3.9.1-env/lib/python3.9/site-packages/send2trash/__init__.py", line 12, in <module>
    from .plat_osx import send2trash
  File "/nix/store/hvqz59hsvpsd7ljy58rr687z55dqfc7l-python3-3.9.1-env/lib/python3.9/site-packages/send2trash/plat_osx.py", line 17, in <module>
    GetMacOSStatusCommentString = Foundation.GetMacOSStatusCommentString
  File "/nix/store/nvxkg44pcrijvqmv5m6inz36rf7zgshy-python3-3.9.1/lib/python3.9/ctypes/__init__.py", line 387, in __getattr__
    func = self.__getitem__(name)
  File "/nix/store/nvxkg44pcrijvqmv5m6inz36rf7zgshy-python3-3.9.1/lib/python3.9/ctypes/__init__.py", line 392, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: dlsym(RTLD_DEFAULT, GetMacOSStatusCommentString): symbol not found

My guess is that it has something to do with the [https://github.com/NixOS/nixpkgs/blob/nixpkgs-unstable/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch] to ctypes being applied to all the python derivations.

Has this actually been resolved in any new release?

Upsteam hasn't cut any new releases yet.

But cpython 3.9.1 (which is in nixpkgs-unstable) should work on Big Sur since it has the patch from python/cpython#23295, right?

For reference, the latest Python 3.9 from Homebrew works on Big Sur
% which python3
/usr/local/bin/python3
% python3
Python 3.9.1 (default, Jan 27 2021, 11:07:38)
[Clang 12.0.0 (clang-1<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from ctypes.util import find_library; find_library("c")
'/usr/lib/libc.dylib'
>>>

FWIW it works on Homebrew because they manually applied the patch:
https://github.com/Homebrew/homebrew-core/blob/012fff6f2506fc351fc04b5bb1516669614bcd19/Formula/python%403.9.rb#L78-L86

So Python 3.9.1 should have ctypes work on Big Sur, this still doesn't work because nixpkg's build doesn't provide mach-o/dyld.h header. Causing this check to fail:
https://github.com/python/cpython/commit/41761933c1c30bb6003b65eef1ba23a83db4eae4#diff-90d08e583c4c9c6f391b2ae90f819f600a6326928ea9512c9e0c6d98e9f29ac2R12040
I'm checking if there is anyway to fix it. (I saw there is nixpkgs.darwin.dyld but it doesn't seem to solve the issue)

Oh well, this is a fun digging.
So apparently dyld in nixpkgs was last updated in macOS 10.12 release to 433.5. The function used in fixing Python's ctypes issue appeared in dyld-832.7.1.tar.gz. So this issue probably is gonna hinge on #101229 but that one is only updating to 10.13, which is still three versions away from having _dyld_shared_cache_contains_path. Now I can certain write an overlay locally to update dyld and build Python with it but I don't know if there is a good way to have the Python in nixpkg supports it.

@FRidh As a maintainer of the cpython package, do you know if there are steps towards a resolution or issues we should be tracking here?
I do of course realise that cpython on Darwin is a challenge. If we have some plans or comms, then perhaps the community can assist in some way.

@groodt I don't work with darwin and I am not aware of any PR's either towards adding support for big sur.

@LnL7 @jonringer @domenkozar Do we have anywhere public where issues such as this are prioritised? It feels like this Python issue is only going to be the start of other major blockers for darwin as more and more packages expect newer versions of Apple SDKs. I fully understand that macOS support for Nix is always a struggle, just perhaps hoping that there is an issue being tracked around Big Sur support. Not to mention M1 Apple Silicon support at some stage.

@groodt As part of https://opencollective.com/nix-macos the goal is also to come up with a central place to track macOS support in a systematic way.

@groodt, #105026 tracks Apple Silicon support. I will be working towards tracking the status of macOS support.
There is a great deal of friction between supporting the broadest possible userbase, which requires a stdenv based on the oldest practical Apple SDK and supporting new software which requires newer versions of the SDK.

MacOS Catalina vs MacOS Big Sur
I set up 2 virtual machines using OSX-KVM. One with Catalina, and one with Big Sur. Then I installed the latest version of nixpkgs on both VMs.
The Python-version from nixpkgs is exactly the same - but the behaviour when using ctypes.util.find_library is different.
 As part of this change, copies of dynamic libraries are no longer present on the filesystem. Code that attempts to check for dynamic library presence by looking for a file at a path or enumerating a directory will fail. Instead, check for library presence by attempting to dlopen() the path, which will correctly check for the library in the cache. (62986286)

Source: https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes

Digging into the source code in Python ctypes, we see the following code that is responsible for None being returned:
# /nix/store/1z0mfkg7hvdh0yzv0gljxpqplv69b4mk-python3-3.9.4/lib/python3.9/ctypes/macholib/dyld.py

# ...

try:
    from _ctypes import _dyld_shared_cache_contains_path
except ImportError:
    def _dyld_shared_cache_contains_path(*args):
        raise NotImplementedError

# ...

def dyld_find(name, executable_path=None, env=None):
    """
    Find a library or framework using dyld semantics
    """
    for path in dyld_image_suffix_search(chain(
                dyld_override_search(name, env),
                dyld_executable_path_search(name, executable_path),
                dyld_default_search(name, env),
            ), env):

        if os.path.isfile(path):
            return path
        try:
            if _dyld_shared_cache_contains_path(path):
                return path
        except NotImplementedError:
            pass
# ...

Notice that os.path.isfile will work on MacOS Catalina, but it won't work on MacOS Big Sur, since the shared libraries are no longer present as files in the file system.
The _dyld_shared_cache_contains_path-function here seems to be an attempted solution for MacOS Big Sur. Notice that in case this function fails to import on MacOS Big Sur, dyld_find will simply return None.
Let's verify that this is indeed the case:
tobias@Catalina ~ % nix-shell -p python39 --run "python -c 'from _ctypes import _dyld_shared_cache_contains_path'"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: cannot import name '_dyld_shared_cache_contains_path' from '_ctypes' (/nix/store/1z0mfkg7hvdh0yzv0gljxpqplv69b4mk-python3-3.9.4/lib/python3.9/lib-dynload/_ctypes.cpython-39-darwin.so)

tobias@BigSur ~ % nix-shell -p python39 --run "python -c 'from _ctypes import _dyld_shared_cache_contains_path'"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: cannot import name '_dyld_shared_cache_contains_path' from '_ctypes' (/nix/store/1z0mfkg7hvdh0yzv0gljxpqplv69b4mk-python3-3.9.4/lib/python3.9/lib-dynload/_ctypes.cpython-39-darwin.so)

As expected, we get an import error, which explains why ctypes.util.find_library() always returns None on MacOS Big Sur.

It seems like the following define-flag needs to be set when compiling python/cpython:

HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH

As you can see here, _dyld_shared_cache_contains_path won't exist unless HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH has been defined:
https://github.com/python/cpython/blob/2c2055884420f22afb4d2045bbdab7aa1394cb63/Modules/_ctypes/callproc.c#L1995-L1997

Python's configure-script seems to automatically define HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH if it can import _dyld_shared_cache_contains_path from <mach-o/dyld.h>.
https://github.com/python/cpython/blob/2c2055884420f22afb4d2045bbdab7aa1394cb63/configure.ac#L3790-L3794
This probably means that if the build server used to populate the nixpkgs cache itself was running on Big Sur, then ctypes.util.find_library would automatically work in nixpkgs.python39.

A more polymorphic/cross-compatible alternative to using _dyld_shared_cache_contains_path from mach-o/dyld is to use dlopen, as described in the MacOS Big Sur 11.0.1 release notes:
// library_exists.c
#include <stdio.h>
#include <dlfcn.h>

int library_exists(const char* path) {
    void* handle = dlopen(path, RTLD_LAZY);
    if (handle != NULL) {
        dlclose(handle);
        return 1;
    }
    return 0;
}

int main(int argc, char** argv) {
    const char* path = argv[1];
    if (library_exists(path)) {
        printf("Library (%s) exists\n", path);
    } else {
        printf("Library (%s) not found\n", path);
    }
    return 0;
}

As we can see below, this can be compiled on either Big Sur or Catalina - and does not require any define-flags when compiling
Catalina
tobias@Catalina ctest % clang library_exists.c -o library_exists
tobias@Catalina ctest % ./library_exists /usr/lib/libc.dylib
Library (/usr/lib/libc.dylib) exists
tobias@Catalina ctest % ./library_exists /usr/lib/libc1.dylib
Library (/usr/lib/libc1.dylib) not found

Big Sur
tobias@BigSur ctest % clang library_exists.c -o library_exists
tobias@BigSur ctest % ./library_exists /usr/lib/libc.dylib
Library (/usr/lib/libc.dylib) exists
tobias@BigSur ctest % ./library_exists /usr/lib/libc1.dylib
Library (/usr/lib/libc1.dylib) not found

ctypes change
Imagine that we have wrapped this function into a CPython function importable from _ctypes:
# ...

from _ctypes import library_exists

# ...

def dyld_find(name, executable_path=None, env=None):
    """
    Find a library or framework using dyld semantics
    """
    for path in dyld_image_suffix_search(chain(
                dyld_override_search(name, env),
                dyld_executable_path_search(name, executable_path),
                dyld_default_search(name, env),
            ), env):

        if library_exists(path):
            return path

# ...

Turns out building Python on an older version of MacOS than where you intend on running it is now a legacy/deprecated approach. The way to create a portable binary (since Python 3.9) is to use MACOSX_DEPLOYMENT_TARGET when running configure:
# Support the current version of MacOS that you are compiling on, and all the way back to 10.9
./configure MACOSX_DEPLOYMENT_TARGET=10.9

If my PR to CPython gets merged, it will support the legacy-approach of building on an older MacOS version than the target such that find_library will start working again on Big Sur. Although only for Python >= 3.9.
Python 3.8 has gone into security-fix-only mode, and these changes will as a result never be backported to Python 3.8 on the CPython side. That means Python 3.8 currently is in a kind of limbo-state where you can't make a version that is portable across both Catalina and Big Sur (without patching the source code)
I could create a nixpkgs-specific patch for Python 3.8 to make it portable between Catalina and Big Sur if this is of interest. In particular it would fix the issue of find_library returning None on Big Sur.

Python 3.8 has gone into security-fix-only mode, and these changes will as a result never be backported to Python 3.8 on the CPython side. That means Python 3.8 currently is in a kind of limbo-state where you can't make a version that is portable across both Catalina and Big Sur (without patching the source code)

I could create a nixpkgs-specific patch for Python 3.8 to make it portable between Catalina and Big Sur if this is of interest. In particular it would fix the issue of find_library returning None on Big Sur.

Make the patch, post it on bugs.python.org on the relevant thread, and then fetch it from there.

This got backported to Python 3.8 after all: https://github.com/python/cpython/pull/28054

@larsr Although 3.9.6 -> 3.9.7 was reverted for other reasons as you describe, the patch to fix this problem was included for 3.9.6 here: https://github.com/NixOS/nixpkgs/pull/146477

@bergkvist It was only in the staging branch, not in nixpkgs-unstable or master, and it was removed again six days ago.
The motivation for the removal was that this is fixed in python 3.9.7 (which is true), but history shows that we were unable to just upgrade to 3.9.7.
There must be some communication missing here.
Perhaps the patch to be kept until a successful merge of 3.9.7 is possible?
Here is the history for cpython/3.9 in the staging branch
https://github.com/NixOS/nixpkgs/commits/staging/pkgs/development/interpreters/python/cpython/3.9
(There is no patch in nixpkgs-unstable:
https://github.com/NixOS/nixpkgs/tree/nixpkgs-unstable/pkgs/development/interpreters/python/cpython/3.9 )

So seems like https://github.com/NixOS/nixpkgs/pull/146477 should be applied again? Or what are the chances for 3.9.9 to be merged soon?

Seems like 3.9.9 has already been merged into the staging branch:
https://github.com/NixOS/nixpkgs/blob/373d2348bedd941512f25d145c22a53be64c9b43/pkgs/development/interpreters/python/default.nix#L132-L140
Not sure when it will make it into the master branch

Can this be closed?
I have an issue in https://github.com/NixOS/nixpkgs/pull/172274 of which I don't know whether it's related.

It sounds like this can be closed, and I asked someone in the macOS room on matrix to confirm:

abathur
can anyone on big sur or newer confirm that running the command below yields similar output?
$ nix-shell -p python39 --run "python -c 'import ctypes.util; print(ctypes.util.find_library(\"c\"))'"
/usr/lib/libc.dylib

Zhaofeng Li
Yes, both aarch64-darwin (/nix/store/qb1zy7p74iyzlzj1wz31f7qc9j8ii8vs-python3-3.9.14) and x86_64-darwin (/nix/store/lvswy3rril3p9qzxsa3msfdm35zwwh5g-python3-3.9.16) yielded the same for me
The ARM one is on Ventura 13.5 beta, and X86 one is Ventura 13.4

Happy to reopen if I'm mistaken.


Linking to Bamboo-visualization addon at checkstyle-formatter

Hey @SchulteMarkus, thanks for the pull request.
Unless I'm missing something, Bamboo is a proprietary solution with no free offering for open source projects. It has a 30 day free trial but that's not the same as a truly free open source offering like Jenkins.
With this in mind, I'm uncomfortable adding what is effectively free advertising to SCSS-Lint's documentation for a proprietary product. Hope that's understandable. Again, if there's something here I'm missing, do let me know.
Thanks!

Hey @sds,
you are right about Bamboo - it's not open source, neither is it free at all. So I do understand your opinion, but I am having a different one. Of course, it is your good right not to accept this PullRequest, but maybe I can change your mind.
In my opinion Bamboo or the addon (I am author of!) itself should be listed here, because this platform/Wiki/ReadME is about information. Each reader can and will decide on it's own, what to do with this information, but without the information, the ReadME is a litte bit less useful. As an example: Imagine, Wikipedia would not list Microsoft. Or my thesis as a question: Wouldn't a Bamboo user benefit from this link to the Checkstyle-addon in the Atlassian marketpalce?

Following that rationale would cause every tool that uses a Checkstyle plugin/addon to be listed in this project's README, which obviously is not practical. The Checkstyle scss-lint formatter is germane to the scss-lint tool itself; whereas, every tool that has a Checkstyle plugin/implementation are not. I think @sds intent was just to provide an example of how a user might use the output, not to create an exhaustive list of workflows and tools that could use it.
I think simply knowing that scss-lint can output Checkstyle format is enough for users who want to use Checkstyle in their tooling.


remove R0 alias

@prabau yeah now it's coming back to me:

I think that @Not-Abram and I might know enough to add a keywords: attribute to spaces et al; these could be matched in search just like names and aliases, but not appear in the list of aliases. This would allow us to add these hints.
Closing for today in any case.


Light and Dark Mode Configuration

When the user has dark mode assigned as their computer settings  the Text should be light

This issue was fixed then pushed so that @BrandonDoza could pull to refactor the CSS and make the design responsive.

If you are checking the deployed website changes have not been implemented as last merges where not deployed due to TS errors. Error have been fixed and will be implemented upon merges with main.


Add CamVid dataset

Add CamVid dataset to app.activeloop.ai with the correct version.
For more information regarding creating and uploading a dataset please see the Hub documentation.

@kristinagrig06 Can I help with this issue?
And how do add label for segmentation map from this database for label key?

@sound-wave A label can be a segmentation array for this dataset. You can find an example of segmentation dataset loading and uploading here: https://github.com/activeloopai/Hub/blob/master/examples/coco/upload_coco2017.py

Can I work on this issue?

@agarwalBinay18 temporarily adding you to the task as well, but soon we are going to add more dataset samples, feel free to switch to the new one once get used to the API.

Hi @agarwalBinay18 and @sound-wave!
Hope this finds you all well. Dropping a note to check in on you an ask if you need a hand with uploading the dataset. Feel free to ask us in the GitHub Discussions (we have beta access!) or our dedicated Slack channel.
Thanks a mil!

Hi, @agarwalBinay18 @sound-wave . Hope you’re doing well. How are things going with uploading the dataset? Can I be helpful in anything?

Hey @agarwalBinay18, do you need any assistance with uploading the dataset? We've just released v1 of Hub, which makes uploading even easier. If you need any help, feel free to join our Community Slack to ask questions!

Hey @sound-wave, do you need any assistance with uploading the dataset? We've just released v1 of Hub, which makes uploading even easier. If you need any help, feel free to join our Community Slack to ask questions!

Closing this due to inactivity, will reopen if theres widespread interest.


STT0057: Prepare dataset for TTS with metadata in hugging face.

Description
The task is to prepare training dataset for TTS model with meta data and documentation.
Completion Criteria
a training dataset in hugging face ready for use in model training.

share with yash.

share with yash and cc to others developers

https://huggingface.co/datasets/ganga4364/TTS_training_data


Connection pool

Will Redis connection pooling be supported in the future?

Boost.Redis is async and implements command multiplexing, that means it does not need a connection pool. In fact, a connection pool may slow down you application since it prevents bigger command pipelines.

Do you need any more info? Can we close this ticket?

Okay, thank you for the answer


WARN users when a network configuration blocks mDNS

The corporate WiFi we're at blocks mDNS so you can't "see" your remote Tessels. It would be great if we could warn the user when they are on such a network so they know not to expect it to work.

@tcr has confirmed that we can advertise as Airplay or a printer to get around this...

This fix is still much needed but would require some research into how to detect firewall settings of a network.


Improve API of Streams

The current API of streams is quite sparse/low-level requiring the user of the API to drop down to the underlying representation of Emit in order to deal with complexity (if you take a look at Virgil Kyo to see me struggling 😂). The underlying representation feels akin to ZIO’s channel or FS2’s Pull but it would be much nicer to offer more higher level combinators that prevent/delay the user of the API to reach for lower levels immediately and allows one to stay at a very high level of abstraction until one cannot and requires fine grained control and performance. The idea at least naively would be to eventually replicate the API surface (or provide similar or better expressivity) of the other 2 streaming libraries.

Can you please clarify what the acceptance criteria are? I would like to /attempt #679

/attempt

Given my experience of having used FS2 Streams & ZIO Streams which are pull-based solutions. I would love to see the following, @hearnadam & @fwbrasil please feel free to add or subtract since you folks have way more expertise:

The ability to evaluate multiple effects in parallel (mapZIOPar and mapAsync/parEvalMap) preserving order
The ability to evaluate multiple effects in parallel (mapZIOParUnordered and mapAsync/parEvalMapUnordered) without preserving order
The ability to perform rechunking on the stream elements
The ability to group multiple elements together using time and space (groupedWithin(x.seconds, y.sizeOfChunk))
The ability to merge multiple Streams together (not sure if this makes sense)
An API like Pull/ZChannel to model Streams - we may already have this
The ability to have different ways to evaluate streams (runDrain/runCollect/etc.)
More high level operators to create Streams - like paginate/ZStreams.async
Integration with the rest of the Kyo ecosystem (Queue/Channel/etc.)

I'd suggest adding a merge operation as well.


[Doc] Update documentation for using Ratify with AWS Signer

What would you like to be added?
AWS Signer launched support for a notation plugin that can sign and verify using AWS Signer resources. New documentation should be added to provide examples of how to use Ratify with the AWS Signer notation plugin.
Anything else you would like to add?
No response
Are you willing to submit PRs to contribute to this feature?

[X] Yes, I am willing to implement it.

LGTM, I think this is a good idea, as this is how AWS users might use Ratify.

+1. Looking forward to the PR.

@jimmyraywv @byronchien Who should own this issue?


Add Pinpoint HBase Helm Chart

Install
Please refer to pinpoint/README.md.

@RoySRose Can you review about this PR?

@seongpyoHong Sorry for such a late reply.
I'm going through very busy moments for the last 2 months and still on-going.
I don't think I can make time to understand the whole script and discuss it with you at the moment.
Are there any further plans for this? If there is, do you think it will be better for this to be merged?

@seongpyoHong Sorry for such a late reply.
I'm going through very busy moments for the last 2 months and still on-going.
I don't think I can make time to understand the whole script and discuss it with you at the moment.
Are there any further plans for this? If there is, do you think it will be better for this to be merged?

There are no other plans for this branch (hbase & zookeeper).
I think we need to proceed with the next round of proceeding for the collector or flink, but it would be good if you discuss this part later when you have time.

There are no other plans for this branch (hbase & zookeeper).
I think we need to proceed with the next round of proceeding for the collector or flink, but it would be good if you discuss this part later when you have time.

Thanks for the contribution. going to merge this. Let's figure out the details after all the components are up and running.


Three dot menu in source control section disappears and does nothing when clicked with trackpad

There’s a button in the source control section next to the commit button that looks like three small blue dots in a blue circle. When I touch it with the touchscreen, it gives me the options to push, fetch, or stage all changes. But when the button is hovered over using a trackpad such as the magic keyboard trackpad, the button disappears and then does nothing when clicked.
Version: 1.2.4

I can reproduce. Will fix this soon.

This should be fixed in the latest build. Please try it out :)

Yup, issue is fixed!


Multiple agents per router

Change ConversationRouter so it takes an agent_thunk argument instead of agent, to instantiate a new agent for each conversation

Would be great to get this merged.
Do we need to update the examples in the repo to consume the new agent thunk? @levity

Would be great to get this merged.
Do we need to update the examples in the repo to consume the new agent thunk? @levity

Replits & other external examples would need to be updated, but this repo only had one use of ConversationRouter which is already updated in this PR.

can we remove the change to apps/client_backend/main.py? this can only change after we bump the library version
after should be g2g 🚢

Done!

@ajar98 anything else that needs to be done before this gets merged?

sorry for the delay! merged in https://github.com/vocodedev/vocode-python/pull/297


Atom: update version and URL

DO NOT MERGE YET
Lets wait until a newer version of atom is released: https://github.com/nucleic/atom/releases, so that the fix for Python 3.6 (https://github.com/nucleic/atom/pull/79) is in there.
TODO: increase the version number.

This package now exists in the defaults channel, and the corresponding recipe in this repo was already archived, so no action is needed. Closing.