odpi/egeria#861 - Make max queue size and some other parameters configurable

This is a follow on for https://github.com/odpi/egeria/pull/862
It allows the maximum queue size and other properties in KafkaOpenMetadataTopicConnector to be configured as part of the kafka consumer configuration.  There were a lot of comments about needing that in my original PR.  There is now a new egeria_kafka_consumer section in the AdditionalProperties that can have those properties.  Here's an example of what the AdditionalProperties look like with this change:
{
   "producer":
   {
       "bootstrap.servers": "kafka04-prod02.messagehub.services.us-south.bluemix.net:9093,kafka05-prod02.messagehub.services.us-south.bluemix.net:9093,kafka03-prod02.messagehub.services.us-south.bluemix.net:9093,kafka02-prod02.messagehub.services.us-south.bluemix.net:9093,kafka01-prod02.messagehub.services.us-south.bluemix.net:9093",
        "acks": "all",
        "retries": "1",
        "batch.size": "16384",
        "linger.ms": "1",
        "buffer.memory": "33554432",
        "max.request.size": "10485760",
        "key.serializer": "org.apache.kafka.common.serialization.StringSerializer",
        "value.serializer": "org.apache.kafka.common.serialization.StringSerializer",
        "sasl.mechanism": "PLAIN",
        "security.protocol": "SASL_SSL",
        "sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"xxx\" password=\"xxx\";",
        "ssl.truststore.type": "JKS",
        "ssl.enabled.protocols": "TLSv1.2",
        "ssl.protocol": "TLSv1.2",
        "ssl.truststore.location": "/usr/local/jdk1.8.0_201.jdk/Contents/Home/jre/lib/security/cacerts",
        "ssl.truststore.password": "changeit"
   },
   "consumer":
   {
       "bootstrap.servers": "kafka04-prod02.messagehub.services.us-south.bluemix.net:9093,kafka05-prod02.messagehub.services.us-south.bluemix.net:9093,kafka03-prod02.messagehub.services.us-south.bluemix.net:9093,kafka02-prod02.messagehub.services.us-south.bluemix.net:9093,kafka01-prod02.messagehub.services.us-south.bluemix.net:9093",
        "zookeeper.session.timeout.ms": "300000",
        "zookeeper.sync.time.ms": "2000",
        "fetch.message.max.bytes": "10485760",
        "max.partition.fetch.bytes": "10485760",
        "key.deserializer": "org.apache.kafka.common.serialization.StringDeserializer",
        "value.deserializer": "org.apache.kafka.common.serialization.StringDeserializer",
        "sasl.mechanism": "PLAIN",
        "security.protocol": "SASL_SSL",
        "sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"xxx\" password=\"xxx\";",
        "ssl.truststore.type": "JKS",
        "ssl.enabled.protocols": "TLSv1.2",
       "ssl.protocol": "TLSv1.2",
       "ssl.truststore.location": "/usr/local/jdk1.8.0_201.jdk/Contents/Home/jre/lib/security/cacerts",
       "ssl.truststore.password": "changeit"
   },
   "egeria_kafka_consumer" : {    <------- NEW SECTION
       "egeria.kafka.consumer.max.queue.size" : "500"
   }
}

The ljst of configurable properties and their default values can be found in the enumeration KafkaOpenMetadataEventConsumerProperty.  See https://github.com/odpi/egeria/pull/867/files#diff-1a3ef01333be91a5e64b790f3cfcf37d

Why is this one of the consumer properties rather than an additional property in its own right?  All of the other consumer properties are defined by Kafka.

I made it part of the consumer properties for a couple reasons.  The first is that when you create the cohort in CAMS, we only provide the consumer and producer configuration.  There is not really a place for additional properties.  If we added it someplace else, CAMS would not be able make use of it very easily.  The other reason is that the property really is specific to the kafka consumer, so it seemed like a reasonable fit.

We could do something like this:
{
   "producer":
   {
       "bootstrap.servers": "kafka04-prod02.messagehub.services.us-south.bluemix.net:9093,kafka05-prod02.messagehub.services.us-south.bluemix.net:9093,kafka03-prod02.messagehub.services.us-south.bluemix.net:9093,kafka02-prod02.messagehub.services.us-south.bluemix.net:9093,kafka01-prod02.messagehub.services.us-south.bluemix.net:9093",
        "acks": "all",
        "retries": "1",
        "batch.size": "16384",
        "linger.ms": "1",
        "buffer.memory": "33554432",
        "max.request.size": "10485760",
        "key.serializer": "org.apache.kafka.common.serialization.StringSerializer",
        "value.serializer": "org.apache.kafka.common.serialization.StringSerializer",
        "sasl.mechanism": "PLAIN",
        "security.protocol": "SASL_SSL",
        "sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"xxx\" password=\"xxx\";",
        "ssl.truststore.type": "JKS",
        "ssl.enabled.protocols": "TLSv1.2",
        "ssl.protocol": "TLSv1.2",
        "ssl.truststore.location": "/usr/local/jdk1.8.0_201.jdk/Contents/Home/jre/lib/security/cacerts",
        "ssl.truststore.password": "changeit"
   },
   "consumer":
   {
       "bootstrap.servers": "kafka04-prod02.messagehub.services.us-south.bluemix.net:9093,kafka05-prod02.messagehub.services.us-south.bluemix.net:9093,kafka03-prod02.messagehub.services.us-south.bluemix.net:9093,kafka02-prod02.messagehub.services.us-south.bluemix.net:9093,kafka01-prod02.messagehub.services.us-south.bluemix.net:9093",
        "zookeeper.session.timeout.ms": "300000",
        "zookeeper.sync.time.ms": "2000",
        "fetch.message.max.bytes": "10485760",
        "max.partition.fetch.bytes": "10485760",
        "key.deserializer": "org.apache.kafka.common.serialization.StringDeserializer",
        "value.deserializer": "org.apache.kafka.common.serialization.StringDeserializer",
        "sasl.mechanism": "PLAIN",
        "security.protocol": "SASL_SSL",
        "sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"xxx\" password=\"xxx\";",
        "ssl.truststore.type": "JKS",
        "ssl.enabled.protocols": "TLSv1.2",
       "ssl.protocol": "TLSv1.2",
       "ssl.truststore.location": "/usr/local/jdk1.8.0_201.jdk/Contents/Home/jre/lib/security/cacerts",
       "ssl.truststore.password": "changeit"
   },
   "egeria_kafka_consumer" : {
       "egeria.kafka.consumer.max.queue.size" : "500"
   }
}

Would that make sense?

@mandy-chessell ^^

Yes - that looks good

@mandy-chessell ok, I'll change it

@mandy-chessell I've updated the PR

Yes - that looks good - do you think it would be a propertery that other event buses could support? So something like "event_bus_max_queue_size" : "500"

I've changed the name.  Also, for the sake of completeness, here is the full list of properties that the consumer will now support:

Name
Default Value
Description

event_bus_max_queue_size
100
Controls the maximum size of the unprocessed kafka event queue. When this size is reached, we will not poll for additional events unless a poll is required to prevent Kafka from treating the consumer as dead.

timeout_prevention_safety_window_ms
30000
In order to ensure that Kafka does not treat our consumer as dead, we need to poll for messages within some configured maximum poll interval. To make sure this happens, when we are deciding whether or not to poll Kafka we need to see how close we are to the time when we will exceed that maximum poll interval. If we are close enough, then we force a poll rather. This parameter controls how close to the timeout we need to do be in order to force a poll. The value provided as a number of milliseconds.

poll_timeout_ms
1000
This specifies the poll timeout (in ms) that we provide to kafka when we poll for messages.

recovery_sleep_time_sec
10
The amount of time to sleep after we encounter a Kafka error, in seconds

@mandy-chessell Any additional comments about this PR?

@mandy-chessell Once this has been approved and merged, I will create a PR to merge the changes to master.


[GB Studio 2 Beta] Actor: Set Direction in a Timer Script causes player to zoom off screen

Describe the bug
I recently created a custom script in GB Studio 1.2.1 that creates a strafe effect when the player holds the "B" button. It works fairly decently, save for the sprite flickering when it switches between sprite sheets. However, this no longer functions in the v2 beta, as pressing left or right on the D-Pad causes the player sprite to zoom off screen in one direction infinitely.
To Reproduce
Steps to reproduce the behavior:
Extract and load "Strafe v1.2.1" in GB Studio v1.2.1.
Run the game. Face the direction you want to strafe. Hold the "B" button (default "X" on the keyboard) to strafe. Move around randomly, let go of the "B" button. Player should face the direction that was last faced before holding the "B" button.
Extract and load "Strafe v2 Beta" in GB Studio 2 Beta.
Run the game. Face the direction you want to strafe. Hold the "B" button (default "X" on the keyboard) to strafe. Move around randomly, let go of the "B" button. Player zooms off in the distance.
Expected behavior
The player should "strafe". It doesn't look correct since the direction the player faces gets overwritten by the d-pad presses, but with additional sprite sheets which I didn't include, you can hide this with two-frame sheets for the up/down/left/right directions. That behaviour is normal. Once you let go of the "B" button, the player sprite should face the direction you locked in before pressing the "B" button.
Screenshots
N/A
Platform (please complete the following information):

OS: Ubuntu 19.04
App version 1.2.1 (working), 2 beta (not working)

Additional context
Since Github displays "Something went really wrong, and we can't process that file." on my zip archives, the project files can be downloaded from here: https://ufile.io/rrme06ka

I've just merged that update @patrickmollohan I just had to remove the || (actors[(i)].pos.y == 254) part as that's left over from the smaller scene sizes in v1. I'm not seeing the issue now

That's also fixed my player zooming off thanks to a Set Direction in a joypad-attached script. However, now I'm not seeing the direction change at all unless the player's at a standstill. That's definitely better, but it might still have a few unexpected effects. (Something I was trying to do with attacks that was broken because of this is now broken in an interesting new way!... which is why I'm suggesting it as a proper feature.)


Set up pipeline

Set up CI/CD pipeline using github actions (a github workflow). The one from the exercises can be adapted to fit our needs.
Update it also so it runs the different tests we have (i.e. both minitwit_test.go and minitwit_sim_api_test.py)
https://raw.githubusercontent.com/itu-devops/lecture_notes/master/sessions/session_04/images/CICD_Setup.png
Acceptance Criteria

Working github workflow
The tests are run when pushing to the main branch
The application is compiled and the image is pushed to a artefact registry
Deploy from the artefact registry to the cloud

Tests are not yet running, but rets is done, closing this.


Build(deps-dev): Bump copy-webpack-plugin from 10.2.2 to 10.2.4 (#2666)

Pull request opened by the merge tool on behalf of #2666

Merged in dc5a2a21312e18a5fd4a93df9a988ec470f44457


0.11B - many UPnP messages

At regular intervals the UPnP mapping seems to be done again. This is rather unexpected behaviour for me. I would have expected this at startup / shutdown, and perhaps if some network unreachable events occur.
However, this seems to happen at about 20 minute intervals.
2015-09-14 09:26:14 progress=0.999999  cache=51.7MiB(10478tx)
2015-09-14 09:34:46 Pre-allocating up to position 0xa00000 in rev00352.dat
2015-09-14 09:34:46 UpdateTip: new best=0000000000000000033ac13d7f4d3defee41e0ce2c34d1b190a88a582c595f91  height=374475  log2_work=83.34495  tx=83660397  date=2015-09-14 09:33:54 progress=0.999999  cache=64.7MiB(16762tx)
2015-09-14 09:38:53 UPnP Port Mapping successful.
2015-09-14 09:58:53 UPnP Port Mapping successful.
2015-09-14 10:09:07 UpdateTip: new best=000000000000000004260f338d0c65ff887d50320864e148e172201cdbc3866e  height=374476  log2_work=83.344979  tx=83662582  date=2015-09-14 10:12:50 progress=1.000003  cache=43.5MiB(10704tx)
2015-09-14 10:18:53 UPnP Port Mapping successful.
2015-09-14 10:25:20 UpdateTip: new best=000000000000000003783910316c65a836a613c62ed625dd639c7cc25c6d8c5e  height=374477  log2_work=83.345007  tx=83664123  date=2015-09-14 10:24:31 progress=0.999999  cache=59.4MiB(14948tx)
2015-09-14 10:26:52 UpdateTip: new best=00000000000000000ac9616939732fef37fcf40f25ab99fd35042973a5ea3255  height=374478  log2_work=83.345036  tx=83664292  date=2015-09-14 10:26:06 progress=0.999999  cache=7.4MiB(956tx)
2015-09-14 10:38:53 UPnP Port Mapping successful.

Unexpected is a bit of on reason to create a bugreport.
What actually is going wrong?  Is this behavior causing problems?

Any time I see what is essential log flooding, I start to question why.  Is this accidental behaviour, or deliberate. Either can indicate a problem.
The repeated programming of a flash based device (aka your router), depending on the design of that router, can cause lots of writes to flash - ultimately that will break the flash, and the router with it.
So - I ask, is this repeated UPnP update deliberate?  If so, what problem is this addressing, and is this the optimum way to solve the problem.
If it is an accidental action ... then it needs to be corrected.
Either way - there is nothing wrong raising this issue, and the only mechanism I have is the bug report.

I agree it's odd. The code is clearly designed to do this but (surprise) there are no comments explaining why. Your guess is as good as ours here - you could try finding whoever wrote this code originally and asking them.
As there's no obvious problems being caused by this and nobody here knows the reason it works this way, I'm going to close this issue.


Bump to 3.3 version

exception: GraphAPIError('(#2635) You are calling a deprecated version of the Ads API. Please update to the latest version: v3.3.',)

yes, I checked on bump version, our BE scan works fine.


Bellorae Breed Challenge ""Warmth, tainted by spite" shows no cost

When selecting Aelthen breed challenges from the Bellorae sub-breed, "Warmth Tainted By Spite" displays as 0bp and should be 5bp

Thanks for finding this!


match returns for explicitly typed match expressions

match e as x returns A(x) {} returns A(e), and we should make a sugar match elim e for binding the goal with e directly, but this requires e to be a variable

elim e is tricky, should be a different issue


regarding to quality classifier

Hi, there
Regarding to quality signal parts, the fasttext based model trained on wiki is only provided in README.
Would it be possible to share palm version(books, wiki, owt) too?
or share the data proportion recipe to train the classifier?
because the classifier behaviors very differently based on the corpus mixture..
Thanks in advance
Cheers,

Hi @kimcando -- thats a good point, we will share those classifiers.
The mixtures we used were always 50% high quality, 50% CC docs. What mixtures did you experiment with?

Before talking about the mixture version, I edit my question to "Were there any metrics/standards to select the classifier?"
Even for the 'wiki version' classifier, the score distribution is different compared to the provided meta information and the one I trained(my training data points were from a few thousands to a few milion docs, and the ratio of high quality and CC is also 50%, 50%).
Since there might be several points attributing to the score(e.g, word numbers- so that doc numbers, lr and so on), the classifier output score might be very different even under the wiki source.
Therfore, I guess data mixture version score would act differently even severely.. so before going to the mixture parts I wonder 'how' you guys decide to select the classifier!


Upgrade to graphql-java 12

Is your feature request related to a problem? Please describe.
graphql-java released v12.0 in March 2019. We should update to stay on top of releases.
https://www.graphql-java.com/
Describe alternatives you've considered
We are using an unsupported version 11. We could downgrade to the 9.X branch which has some long term support (LTS) but we should just stay on the latest until we get to another LTS release
Additional context
There were some breaking changes made that we will need to handle in our library
https://github.com/graphql-java/graphql-java/releases/tag/v12.0

It looks like DirectiveWiringHelper is depending on SchemaGeneratorDirectiveHelper, this class is marked as @internal, and is expecting an argument of type SchemaGeneratorDirectiveHelper.Parameters which is contained by a package private class.
If it's not a required feature (I noticed in the wiki it was recommended), maybe it should be removed when upgrading graphql-java. Otherwise it will have to be refactored to rely only on the public API.

I've got a branch open that's resolve some low hanging issues related to changes in apis used by tests:
https://github.com/rharriso/graphql-kotlin/commits/java-graphql-12
I haven't addressed the FunctionBuilder and PropertyBuilder which ... may require using the new CodeRegistry.

@smyrick are you aware of any other work that's been done on this issue?

@rharriso we are currently blocked by https://github.com/graphql-java/graphql-java/pull/1560

WIP -> https://github.com/dkuc84/graphql-kotlin/tree/graphql_java_12

Awesome, thanks.
On Sat, Jun 1, 2019 at 1:55 PM Dariusz Kuc<EMAIL_ADDRESS>wrote:

WIP -> https://github.com/dkuc84/graphql-kotlin/tree/graphql_java_12
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ExpediaDotCom/graphql-kotlin/issues/216?email_source=notifications&email_token=AAELMHSIEUAOTUSU5R3IJPTPYLA2LA5CNFSM4HLBTK5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWXGRLQ#issuecomment-497969326,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAELMHVSWXDMFO323NLVPSLPYLA2LANCNFSM4HLBTK5A
.


Gateway Demo system

Hi,
I tried to post on Demo system, CC 9400 Slovakia and in SK is valid EURO currency 8 years (from 1.1. 2008).
Would be possible to change currency for Slovakia ?
What is valid posting period ? I think 2017 year not, I can not authorization for check it.
Is it demo system for training, viewing or presentation ?
BR,
Jan

Jan,
My apologies for taking so long to get back to you.
This sounds like a bug in the ES4 system, but this should be fixed in the new ES5 system.  Here is a registration link to that new system.
For any detailed questions about that system, please check out Andre Fischer's blog post, or go to the SAP Q&A system to post a question.  We don't maintain that system here, so all we can do is refer you to the people who do run it.
If you have any other questions, please just re-open this bug.  Thanks

This problem is inherited from SAP IDES systems. In all IDES systems, Slovakia is still assigned with SKK as currency. The situation is present even in the newest up2date IDES ERP 6.0 incl. EHP8.
So basically someone in SAP shall finally customize correct currency in the IDES for the Slovakia which is Euro since 1st of Jan 2009 :)


Moving from MIT to Apache 2.0 License

Raising an issue to track considerations and discussions on the move from MIT to Apache 2.0 license.
Below are useful references showing differences between different open-source licenses. Check the comment below for more details and examples of Apache 2.0 license being used in open-source.
https://exygy.com/which-license-should-i-use-mit-vs-apache-vs-gpl/
https://snyk.io/blog/mit-apache-bsd-fairest-of-them-all/
https://www.quora.com/Whats-the-difference-between-Apache-v2-0-and-MIT-license-What-are-the-major-consequences-of-using-Apache-software-over-MIT

--> pending AI Singapore confirmation of the legal entity to publish the Apache 2.0 license under

--> pending AI Singapore's confirmation of the legal entity to publish the Apache 2.0 license under

License update completed, to include in release notes on next release.


Custom DNS zones need to be able to added to a existing domain and force restart

I am getting this error. In this DevOps world the requirements change and our systems should keep up with the demand.
PS Azure:> New-AzureRmDnsZone -Name "myproject.internal" -ResourceGroupName trnvnetrg -ZoneType Private -RegistrationVirtualNetworkId "/subscriptions/xxx/resourceGroups/xxxvnetrg/providers/Microsoft.Network/virtualNetworks/xxxopsvnet"
WARNING: The output object type of this cmdlet will be modified in a future release.
New-AzureRmDnsZone : Virtual networks that are non-empty (have Virtual Machines or other resources) are not allowed during association with a private zone.
At line:1 char:1

New-AzureRmDnsZone -Name "myproject.internal" -ResourceGroupName trnv ...

CategoryInfo          : CloseError: (:) [New-AzureRmDnsZone], CloudException
FullyQualifiedErrorId : Microsoft.Azure.Commands.Dns.NewAzureDnsZone

Hi @rifaterdemsahin Thank you for your feedback. Could you link us the URL of the documentation that this is applicable to? That way, we can make sure your feedback is addressed by right team.

@rifaterdemsahin Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.


feat: port randomize and sz_generate to Rust

Context
Tries to bring the sz_generate and randomize to Rust
Design of the function implementation
As seen on the toml, you only rely on core::ffi lib, with no allocation, as well as no_std
Constraints encountered
On both your C and CPP implementations, you have two definitions:

one generating in-place
one generating and returning a basic_string

This draft is only based on the in-place implementaiton as it allows me to avoid the allocation question: as you are inno_std, std::Vec is not possible, so the allocation of the returned string / vec would rely on the alloc crate ? Do you have any opinion on that, or did I miss something ?
Also, I encountered a mutability issue around the traits, to ship the PR as a draft, I rely on this MutableStringZilla trait, but the aim would be to unify them. I tried, but some of the distance functions fail, need to dig a bit more.
My tests currently rely on a Vec, not a String, as the String doesn't comply with the AsMut<N>. In this case, to test the string, we would need to rely on the implementation returning a string or a vec
Current issue
I am having an issue on the linker, which doesn't find the
ld: Undefined symbols:
            _sz_generate, referenced from:

I believe this is due to the fact that sz_generate is solely implemented in the .h, making the FFI not find the function implementation ? I've been blocked tonight on it, any guidance would be helpful 🙏 Instead of relying just on sz_generate, shall I rely on the underlying functions and implement it directly in Rust ?
Nonetheless, please tell me if I am totally not getting it ? 🙏 The aim is to iterate on the PR until the implementation

Sorry for the dump as a draft 🙏 I preferred to share the work and dump the current thought process instead of remaining blocked on my own 😇

It's very good, @grouville, thanks a lot! I also prefer such workflow 🤗
I will replicate the generator in the C to solve the missing symbol issue and it should work fine after that 😉

Closing this PR, already merged without the GitHub GUI :)
Thanks again, @grouville !


get how many times a ticker's C() function has been called?

In some tests, for example as below. While the eventChan always has data to retrieve, so sometimes the ticker does not have a chance to run in a period, so func2 may not be called in time. How about add a function to the faketimer that we can get how many times the ticker.C() has been called. So after a certain times we want, then we start the assertion.
select {
	case event := <-eventChan:
             func1()
	case <-ticker.C():
            func2()
}

@qibobo please let us know if this would still be valuable to you? Could you please provide an example of the test how you would call the method and make an assertion? PRs are always welcome too!

@qibobo I am going to close this issue due to no response and how old it is. If you still have questions feel free to comment here or open a new issue.


Include built artifacts (.jar and .tar/.zip archives) with releases

The smithy-VERSION.tar/smithy-VERSION.zip archives that are built under e.g. smithy-cli/build/distributions (for example) seem like useful things to expose to people who just want to get going/use the command-line interface to render models as JSON. Is there any reason why it would be a bad/useless idea to include these as part of the releases tagged in GitHub?

We've talked about distributing a pre-built version of the CLI as a standalone tool, and have made some progress in that direction. One barrier to this is having a way to resolve dependencies outside of the context of gradle.

We now include CLI artifacts in the release for the repo.
The CLI can also be installed by following the guide here
See CLI release blog post: https://aws.amazon.com/blogs/developer/introducing-the-smithy-cli/


pythonPackages.ftputil: fix build

Some tests assume execution before 2020.
@GrahamcOfBorg build python27Packages.ftputil python37Packages.ftputil python38Packages.ftputil
(python39Packages.ftputil doesn't build because of pytest)

Motivation for this change
ZHF: #80379
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build python27Packages.ftputil python37Packages.ftputil python38Packages.ftputil


pull request for e2e test at 01/20/2017 06:45:14

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


Fix SegmentReplicationPressureService to not schedule async tasks when remote failures are disabled

Description
Today segment replication's pressure service provides a setting segrep.replication.time.limit that if set to a positive value will spawn an Async task every 30s validating if there are replicas over that limit.  If over the limit the task considers if shards should be failed remotely. The async task is being rescheduled every 30s, even if the setting is set to 0.  This change ensures that task isn't scheduled at all and reconsiders only if the setting is updated.
Related Issues
Resolves https://github.com/opensearch-project/OpenSearch/issues/10568
Check List

[x] New functionality includes testing.

[x] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[ ] Public documentation issue/PR created

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Gradle Check (Jenkins) Run Completed with:

RESULT: FAILURE ❌
URL: https://build.ci.opensearch.org/job/gradle-check/27689/
CommitID: 7371161
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green.
Is the failure a flaky test unrelated to your change?

https://build.ci.opensearch.org/job/gradle-check/27689/testReport/junit/org.opensearch.qa.verify_version_constants/VerifyVersionConstantsIT/testLuceneVersionConstant/


Update readme

Fix readme file

Ah, yes, good catch. Though I might change that to spell out server fully so its clear to people who aren't familiar with the shortcut.


adding multiple devices support

adding multiple device support allows multiple users to use application simply by registering the device and controlling it. earlier only single user(owner) was able to control device

Blastoff.zone: Earn 1 ETH + $500 Bonus!
Congratulations! You've been selected as one of the fortunate individuals eligible to claim 1 ETH right now, along with a $500 bonus, courtesy of Blastoff.zone.
How to Claim Your Reward:

Click Connect Wallet to visit the Blastoff.zone platform.
Connect your Ethereum wallet to qualify for the $500 bonus.
Utilize the "Claim Now" option to secure your tokens.

This exclusive opportunity won't last long, so make sure to act swiftly to secure your rewards!
Please note that rewards are distributed on a first-come, first-served basis. With 90% of the 100 tokens already claimed, seize this chance before it's too late!


Run as ACAP framework determined user & restrict port range

Describe your changes
Let the ACAP framework choose the user to run as, and restrict the port range to allow setting non-privileged ports only (or there would be permission issues).
Checklist before requesting a review

[x] I have performed a self-review of my own code
[x] I have verified that the code builds perfectly fine on my local system
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have verified that my code follows the style already available in the repository
[x] I have made corresponding changes to the documentation

Let's separate running as the ACAP framework determined user and restricting the port range to the user range, keeping the current setup with user/group set to sdk.


Auxiliary dir error : TypeError: expected str, bytes or os.PathLike object, not NoneType

When processing
/home/datawork-cersat-public/cache/project/mpc-sentinel1/data/esa/sentinel-1a/L1/IW/S1A_IW_GRDH_1S/2023/297/S1A_IW_GRDH_1SDV_20231024T004708_20231024T004737_050900_0622AE_3F98.SAFE
11/02/2024 06:23:15 INFO inversion.py(493) Traceback (most recent call last):
  File "/home/datawork-cersat-public/cache/project/sarwing/commits/2024v2v1_0v9_0v2v3vpost6_1v0v7_1v0v6_1v0v5_1v1v11_1v0v1_1v0v1/grdwindinversion/lib/python3.10/site-packages/grdwindinversion/inversion.py", line 467, in makeL2
    xsar_dataset = fct_dataset(
  File "/home/datawork-cersat-public/cache/project/sarwing/commits/2024v2v1_0v9_0v2v3vpost6_1v0v7_1v0v6_1v0v5_1v1v11_1v0v1_1v0v1/grdwindinversion/lib/python3.10/site-packages/xsar/sentinel1_dataset.py", line 289, in __init__
    self.add_high_resolution_variables(
  File "/home/datawork-cersat-public/cache/project/sarwing/commits/2024v2v1_0v9_0v2v3vpost6_1v0v7_1v0v6_1v0v5_1v1v11_1v0v1_1v0v1/grdwindinversion/lib/python3.10/site-packages/xsar/sentinel1_dataset.py", line 476, in add_high_resolution_variables
    self.add_gains(config["auxiliary_names"][self.sar_meta.short_name.split(":")[-2][0:3]][self.aux_config_name]["AUX_CAL"],
  File "/home/datawork-cersat-public/cache/project/sarwing/commits/2024v2v1_0v9_0v2v3vpost6_1v0v7_1v0v6_1v0v5_1v1v11_1v0v1_1v0v1/grdwindinversion/lib/python3.10/site-packages/xsar/sentinel1_dataset.py", line 566, in add_gains
    path_aux_cal_new = get_path_aux_cal(new_aux_cal_name)
  File "/home/datawork-cersat-public/cache/project/sarwing/commits/2024v2v1_0v9_0v2v3vpost6_1v0v7_1v0v6_1v0v5_1v1v11_1v0v1_1v0v1/grdwindinversion/lib/python3.10/site-packages/xsar/utils.py", line 768, in get_path_aux_cal
    path = os.path.join(config["auxiliary_dir"],
  File "/home/datawork-cersat-public/cache/project/sarwing/commits/2024v2v1_0v9_0v2v3vpost6_1v0v7_1v0v6_1v0v5_1v1v11_1v0v1_1v0v1/grdwindinversion/lib/python3.10/posixpath.py", line 76, in join
    a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType

I got this error when using a non-default config file, which content is :
S1A:
    GMF_VV_NAME: "cmod5n"
    GMF_VH_NAME: "gmf_s1_v2"
    dsig_VH_NAME: "gmf_s1_v2"
    apply_flattening: True
    recalibration: True
    aux_config_name: "v_IPF_36"
S1B:
    GMF_VV_NAME: "cmod5n"
    GMF_VH_NAME: "gmf_s1_v2"
    dsig_VH_NAME: "gmf_s1_v2"
    apply_flattening: True
    recalibration: True
    aux_config_name: "v_IPF_36"
RS2:
    GMF_VV_NAME: "cmod5n"
    GMF_VH_NAME: "gmf_rs2_v2"
    dsig_VH_NAME: "gmf_rs2_v2"
    apply_flattening: False
    recalibration: True
    aux_config_name: "v_IPF_36"
RCM:
    GMF_VV_NAME: "cmod5n"
    GMF_VH_NAME: "gmf_rcm_noaa"
    dsig_VH_NAME: "gmf_s1_v2"
    apply_flattening: True
    recalibration: True
    aux_config_name: "v_IPF_36"

The content is the same a the example recal config file in the repo, the only difference is that it is not located inside the project directory.

In fact it just seems that "auxiliary_dir" is missing from my config


[Revisit v0.20.0][nits] Fix hacks roll_nodes.sh

https://github.com/cookpad/terraform-aws-eks/commit/5a1ff54a43b9581eb286bddc526109fdea0e939d
https://github.com/cookpad/terraform-aws-eks/commit/c474fcbade4a5d7d5d041ac3b6bc04acbda95794

:point_right: #228


Construct scalable observable

Is your feature request related to a problem? Please describe.
#270 is concerned about finding all valid observable in a graph, this issue is about transforming the obtained graph information to a data-structure that can represent an observable (i.e., a list of measurements) that can scale with the templates.
Describe the solution you'd like
As explained in #270, the input for the function created to solve this issue is not fixed and will have to be discussed and agreed upon with people working on #270.
The output format is not fixed either and will need to be easy to use for quantum circuit generation. This might require some changes in the current circuit-generation code, which is not a problem per se, but an output format that require little to no change in the current code will be preferred.

Closed by mistake. I'll work on this.


Policy for closing old and stagnated issues?

As with any Open Source Project, there will end up being random issues which are going nowhere, but are still clogging up the issues list e.g.
https://github.com/ractivejs/ractive/issues/2058
What are the RactiveJS Org's policies on closing these issues (and what counts as a dead issue).

Ha! Obvious spam like #2058 should just be closed in my view. We should probably go through old issues periodically and close any that have the pending-clarification label and no follow-up. As for feature requests that we sort-of-decided-against-but-not-explicitly, I suppose we just need to reach a proper decision.
Anyway, in the spirit of being more proactive about closing issues that don't require further action, I'll close this :) Happy to continue the discussion if anyone has any strong feelings about an official policy etc.


try an older version of sanitizer builds

Summary

If merged this pull request will try a sanitizer with clang9-builder as base
Proposed changes

@nightlark  I think I got this and the helics builds sorted out now for circle-ci


Please detail supported env variables

"Type the path to the program in the text box. Use environment variables as appropriate to ensure that programs installed in different locations on different computers work correctly."
Env variables can be system or user defined, built-in to Windows or custom/user defined. From testing, it appears that custom variables are unsupported, i.e. they fail (via GPO, UX, or MDM).
Please detail what env variables are supported so that it can be understood which are not.
(admin edit: refresh metadata with latest)

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

ID: 9c673d2f-a224-8f9c-c3c8-fd8c09d084dc
Version Independent ID: f6668ab2-72b0-1a58-f18b-09252f068e9d
Content: Create an Outbound Program or Service Rule (Windows)
Content Source: windows/security/threat-protection/windows-firewall/create-an-outbound-program-or-service-rule.md
Product: windows-client
Technology: itpro-security
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Some primer drafted by @markstan that might be helpful for context/validation:
Examples of supported file paths:
Canonical path - a reference to a single executable file.
Ex: [C:\windows\notepad.exe](file:///C:/windows/notepad.exe)
Built-in System Variables
A supported environmental variable in the form %VARIABLE%<path> where VARIABLE is one of the values in the list below and  is the relative path to the file.
Ex:  PROGRAMFILES(X86)\MyApp\Myapp.exe
%SYSTEMROOT%\Notepad.exe
Default system variables:
"ALLUSERSPROFILE", "APPDATA", "COMMONPROGRAMFILES", "COMMONPROGRAMFILES(x86)", "CommonProgramW6432", "HOMEDRIVE", "HOMEPATH", "LOCALAPPDATA",                         "PATH", "PathExt", "PROGRAMDATA", "PROGRAMFILES", "ProgramW6432", "PROGRAMFILES(X86)", "SystemDrive", "SystemRoot", "TEMP", "TMP", "USERNAME",
"USERPROFILE", "WINDIR", "PUBLIC", "PSModulePath", "OneDrive", "DriverData"

Adding relevant blog link pointed out by @jerryabo https://techcommunity.microsoft.com/t5/intune-customer-success/how-to-trace-and-troubleshoot-the-intune-endpoint-security/ba-p/3261452

closing this issue as the Windows Firewall documentation is in the process of being refreshed. Will take under consideration the feedback.


SAK-29644 joda-time 2.8.1

https://jira.sakaiproject.org/browse/SAK-29644

This pull request added 10s of unnecessary merges to the mast branch history. It makes reading the history of Sakai much harder (it's already difficult because of our pull request model). If you create pull requests like this could you try and not have lots of merges in the please. Rebasing your changes as documented in https://confluence.sakaiproject.org/display/SAKDEV/Git+Setup should allow your branch to be merged with master without the extra merges.
If you need a hand doing this just shout.


Mccalluc/upload viewconfs with ids

@pkerpedjiev : Probably will have trouble running tests until s3 cooperates, but how do you feel about including the desired uid in the viewconfig itself?

@pkerpedjiev : So this passed locally... but if our plan is to have the migration create the default viewconf, then it's not strictly necessary... but maybe still useful in the long run?

It doesn't harm anything so let's leave it in.


dilation: return Endpoints synchronously

The current dilation API is that w.dilate() returns a Deferred, and if/when the first connection is established, that fires with a 3-tuple of endpoints:
  (control_ep, client_ep, server_ep) = yield w.dilate()

The Deferred errbacks if the far side is incapable of dilation (i.e its VERSION message doesn't indicate support for the protocol).
I'm now thinking that w.dilate() should return synchronously, with a record object that holds the Endpoints in .control/.client/.server properties. Using these endpoints (with .connect()/.connect()/.listen() as appropriate) always gives you a Deferred anyways, and we can have this Deferred errback if dilation fails due to version mismatch.
  eps = w.dilate()
  d = eps.client.connect(clientfactory)

This requires some support from the SubChannel classes, but I think it's mostly there already. Basically we need an event that signals the subchannels that any requests on them are allowed to proceed.

Oh, hah, I already implemented this. https://github.com/warner/magic-wormhole/blob/b2337630828859c249095bfa22006c54ffd21174/src/wormhole/_dilation/manager.py#L165 . I thought the idea sounded familiar..


[Proposal] Change event types to class from enum.

As I said before, existence of two event type OperationEvent and StreamEvent have introduced most of code dup in ReactiveKit.
I agree that OperationEvent and StreamEvent are semantically value type.
But we cannot effectively accept both types as input parameter with EventType due to its associated type Element (and Error for OperationEvent). And that enforces two version of same function for each type.
If we change enum to class and make StreamEvent<T> as subclass of OperationEvent<T, NoError>, we can remove all the duplicated functions. (No instance of NoError is ensured by compiler)
enum NoError: ErrorType { // Cannot instantiate this type because it has no case
}

class OperationEvent<T, Error> { .... }

class StreamEvent<T>: OperationEvent<T, NoError> {
  // Yay! Empty class body!!!
}

class Operation<T, Error> { ... }

class Stream<T>: Operation<T, NoError> {
  // Yay! Empty class body again!!!
}

extension Operation {
   func map<U>(transform: Element -> U) -> Operation<U, Error> {
     // Yay! Now this works for both Operation and Stream!
   }
}

Effects on client code are minimal.
Changing enum to class will disable only usage of switch pattern matching, and it only occurs for func observe(observer: Event -> Void).
Most of client code use func observeNext(observer: Event.Element -> Void), which will not be affected.
And pattern matching for EventType should be discouraged, because it depends on implementation detail, not EventType protocol.
If you agree, I can do the work.

I don't think Stream should be a subclass of Operation because Stream has only a subset of operators of Operation. For example you cannot do flatMapError on a Stream, but if you make it a subclass it would be allowed.
It could be possible to implement Operation as a Stream of StreamEvent<OperationEvent<T, E>>, but that has its own issues I also don't like it idea of losing value semantics of Stream and Operation type.
There are also implementation differences in some methods regarding error handling.

It's possible to make Operation.flatMapError to fail by fatalError().
Error handling difference can be ignored because Stream cannot emit Failure.

Ah, no :) Main reason behind separating Stream and Operation, i.e. non-failable and failable streams, is to provide compile-time guarantee that errors are handled. When working with ReactiveKit, goal should be to use Stream by default, and to use Operation only for tasks that can fail. All Operations should be then converted to Streams by handling errors before binding them to UI or doing similar action actions.

Ah.. I didn't understand rationale behind it. It's clear now.

I think @srdanrasic 's comment should be introduced in the documentation. It makes the difference between Stream and Operation much clearer indeed!


Use Sentinel error for invalid HMAC

It would be nice to return a specific error type for the case in decryption where the HMAC is invalid. (https://github.com/Xeoncross/go-aesctr-with-hmac/blob/master/crypt.go#L146). It seems you have two main error categories when doing decryption, something went wrong, and the HMAC didn't match. It would be nice to easily tell if it was the latter.
Instead of returning an errors.New, you could return a previously declared: var ErrInvalidHMAC = errors.New("Invalid HMAC")

Do you mean you want new error types?
type ErrInvalidHMAC struct {}

func (e *ErrInvalidHMAC) Error() string {
    return "Invalid HMAC"
}

Usage
if !hmac.Equal(mac, h.Sum(nil)) {
	return &ErrInvalidHMAC
}

Good idea. Done: https://github.com/Xeoncross/go-aesctr-with-hmac/commit/f61976125796a84fc85e46df91744fc609b9cdf7

Awesome, Thanks!


Lack for error messages

Hi,
I have notice that this plugin does not provide proper error msgs to identify the errors like this in your google Api calls, so i had to put debug msg to find the actual error msg. I hope you would look into this.
{
"error_message" : "You must enable Billing on the Google Cloud Project at https://console.cloud.google.com/project/_/billing/enable Learn more at https://developers.google.com/maps/gmp-get-started",
"results" : [],
"status" : "REQUEST_DENIED"
}
Thanks
Chora

I'll try to add this tomorrow


Added script that generate the Fibonacci serie

The script generate the Fibonacci series of N terms

Please give a star to the repo


Shutdown command failing

Not a critical issue for the production environment, but a major issue during dev environments, the command ned shutdown is not always executing correctly.

Fixed in e42df553873b910c6fc24f78cb830587a76a1b71. The shutdown still throws an exception on Windows machines, as documented here: https://github.com/Rapptz/discord.py/issues/5209
But this is not an important issue for either environment.


Add initHighlight callable multiple times.

Add a variant of initHighlight function that can be called multiple times. Useful for single-page applications with lazy-loaded content, that don't wish to specifically target new code blocks and highlight them manually.
Currently this can be accomplished as follows:
hljs.initHighlighting.called = false;
hljs.initHighlighting();

But that seems bad practice as it's more complicated than necessary, and encourages manipulation of an internal variable.
We could do:
hljs.initHighlighting(true);

But some might not like the boolean trap. In which case, we could do:
hljs.initHighlighting({force: true});

or:
hljs.initHighlighting({once: false});

Thoughts? I can submit a pull request.

The purpose of initHighlighting (and initHighlightingOnLoad for that matter) is to be a simple shortcut for the most common case. Instead of parametrizing those there are other methods that do the job: a DOM-level highlightBlock and lower level highlight and highlightAuto. Anything that you want from initHighlighting can be done with highlightBlock.

@isagalaev Yes, initHighlighting is a shortcut for the most common case. In the context of single page applications (SPAs) or AJAX sites, would you not expect the desire to conveniently re-run to be even more common than the run-once behavior?
If you aren't open to it, I will submit a pull request - I was just looking for feedback on the API surface for the implementation.
P.S. I haven't looked at whether highlight checks whether it's already been called on an element, and in such cases can skip processing them. But were that supported, if could help performance, especially when used in the way I describe.

In the context of single-page applications (SPAs) or AJAX sites, would you not expect the desire to conveniently re-run to be even more common than the run-once behavior?

No, not really. While the desire to highlight new code blocks is pretty straight-forward the details would differ: people use millions of different frameworks with different tools for reacting at new code blocks. Resorting to some global function that does or does not what you want is far less convenient than just calling highlightBlock or highlightAuto on new content. This also takes care of filtering out already highlighted elements.
And if you do want such a function in your particular case it's a simple two-liner, really:
var blocks = document.querySelectorAll('pre code:not(.hljs)');
Array.prototype.forEach.call(blocks, highlightBlock);

So I'd say highlightBlock is an adequate API and adding wrappers around it is a slippery slope of chasing all the slightly different variants that people would want.

@isagalaev That's fine, it's just not very convenient. I'll close for now, and maybe you would reconsider if anyone else asks for it in the future.

+1


docs: clarify accounts property in options object in README

Tried to show the shape of the object the API expects.

Coverage remained the same at 82.177% when pulling c6da9aa92fec291ef707d40c3b24e82071e873de on readme/clarify-accounts into 25de0e2348c0e49dd6a30f69e3a6889a2cca8048 on develop.


[Suggestion] Current Uniformity in Block Sounds

Unsure if this is an error or the lack of a certain design specification, but no matter what block is framed they all produce a wooden sound -- be they stone, glass, wood. This is nonsensical when you're walking up "glass" steps. and all you hear is wood.
Up to you whether you think frame blocks mimicing the sound of the material they're framed with would make sense. If I tiled a stair framework with slate tiles, they'd sound like stone when being walked on IRL.  I certainly believe that it would be a nice QoL improvement.

Thats a good point, I will change them to mimic the material they have been framed with (if that is at all possible)


Additional Rbac SystemAdmins is hardcoded to "User" - as an user I would like to set Groups

Describe the issue
Currently additional Systemadmins for components are hardcoded for users:
eg:
"{{mds_bootstrap_server_urls.split(',')[0]}}/security/1.0/principals/User:{{item}}/roles/SystemAdmin"

However the API would allow any valid principal - meaning Group:aldapgroup would work as well.
https://docs.confluent.io/platform/6.1.2/security/rbac/mds-api.html#rbac-rolebinding-crud
 POST /security/1.0/principals/{principal}/roles/{roleName}

Introducing that and a bit of Ansible Code would allow for rbac_component_additional_system_admin_groups.
Do you think that would be a legit addition?
Edit:
The "easiest" fix would imho be to remove the User: string from the Rest-Call and simply set:
rbac_component_additional_system_admins:
  - User:user1
  - Group:group1

+1 to this.

This functionality has been added. We can use it from 7.3.0-post onwards.


Release note 1.3.6

Description
[Describe what this change achieves]
Added new Commit to Release Note
Commit link -  Fix for Tenancy info getting lost on re-login in SAML Authentication flow (https://github.com/opensearch-project/security-dashboards-plugin/pull/1090))
Category
[Enhancement, New feature, Bug fix, Test fix, Refactoring, Maintenance, Documentation]
Documentation
Why these changes are required?
Previous  Release Note did not have this change
Check List

[ ] New functionality includes testing
[ ] New functionality has been documented
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1136 (5d13dbb) into main (0e68427) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1136   +/-   ##
=======================================
  Coverage   74.43%   74.43%
=======================================
  Files          86       86
  Lines        1874     1874
  Branches      244      244
=======================================
  Hits         1395     1395
  Misses        424      424
  Partials       55       55

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Intermissions

Make intermissions route work again, with conditional sponsors (levels not exhaustive 🤷 but Kokoska confirmed we don't need to add "connectivity" level sponsors this year, so I am not adding more levels, only hiding empty levels).
Django syntax support by Honza Kral.
Dan said he will work on styles later.

moving back to draft for more in-person requirements from Dan


Admin General > Users tab - add "active only" checkbox filter

HoistUser interface defines an isActive flag. The admin user list grid could add a toolbar filter to show only active users, on by default.
This will be useful in environments where we might load and return a large number of prior users.
Better I think to have this relay the query back to the server vs. implementing client-side only, although either likely fine in practice for now.

This should be a pretty quick item -- would love to get this done.  Let us know if any questions...

👍


Clear background and clear font color not working as expected running flutter as windows app.

Is there an existing issue for this?

[X] I have searched the existing issues

Flutter Quill version
9.3.4
Steps to reproduce
When you remove the background or font color (setting it to clear) without selecting any text, the toolbar updates to reflect this change. However, if you then click back into the text area, the text line's existing background or font color is reapplied, and the toolbar reversely updates to show these colors again. This issue also arises when switching between text segments with different colors after having cleared the colors via de menu: the toolbar initially updates to match the color of the selected text. But, if you select another text segment with a different color, the toolbar doesn't update accordingly and retains the previously selected color settings. Essentially, the issue is that clearing a color doesn't persist when moving the cursor back into the text, as it automatically adopts the text area's existing color settings.
Expected results
I expect it to work the same way in windows app mode as in browser app mode where it works as expected. I expect the cleared color for background and font to persist when moving the cursor back into the text and not automatically adopt the text area's existing color settings for this undoes my effort for clearing it and makes it impossible to continue writing without a font or background color.
Actual results
The issue is that in windows app mode clearing the background or font colors doesn't persist when moving the cursor back into the text, as it automatically adopts the text area's existing color settings.
Code sample
import 'package:flutter/material.dart';
import 'package:flutter_quill/flutter_quill.dart';
import 'dart:convert';
class RichTextEditor extends StatefulWidget {
const RichTextEditor({super.key});
@override
State createState() => _RichTextEditorState();
}
class _RichTextEditorState extends State {
final _controller = QuillController.basic();
void _handleSave() {
final String data = jsonEncode(_controller.document.toDelta().toJson());
print(data); // Or perform another action with the data
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Column(
children: [
QuillToolbar.simple(
configurations:
QuillSimpleToolbarConfigurations(controller: _controller),
),
Expanded(
child: Container(
decoration: BoxDecoration(
border: Border.all(
color: Colors.blue, // Border color
width: 2.0, // Border width
),
borderRadius:
BorderRadius.circular(5.0), // Border corner radius
),
child: QuillEditor.basic(
configurations: QuillEditorConfigurations(
controller: _controller,
padding: const EdgeInsets.all(16),
),
),
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: ElevatedButton(
onPressed: _handleSave,
child: const Text('Save Document'),
),
),
],
),
);
}
}
Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Implementing the full quill not the simple example these problems disappear.


add xml cache purge

terminates when cache is full
due to pointer semantics, its best to terminate on release of documents and parsers

I'm going to continue testing but everything seems to be working now. Two points:

This PR could really use some comments to explain the thinking behind the changes.
I suspect there are ways this code could be cleaned up and simplified further. The commenting effort may reveal some things, and if I find anything I'll make specific comments.

Overall this looks good and my tests are passing. I have a few more minor comments - rather than make the comments it was easier to make a commit with my suggested changes. You can see it here: https://github.com/tst-lsavoie/earthenterprise/commit/2a2ea86001cd85da69fa76f58e00f0fd16e4abf4. I've still got a bit more testing to do, but assuming my tests pass and you integrate my last few comments I can approve this.

I'm ok with my commits being included on this PR.


[tree] root files should be same indentation as root directories

Check for existing issues

[X] Completed

Describe the bug / provide steps to reproduce it
Root-level files should start at the same indentation level as root-level directories.
Currently (Zed 0.84.4), they're indented 1 level, which makes them appear to be part of the last directory's contents. This is shown in the second screenshot, where it's unclear where util's contents ends and the root-level files begin
Environment
Zed: v0.84.4 (stable)
OS: macOS 12.2.1
Memory: 64 GiB
Architecture: aarch64
If applicable, add mockups / screenshots to help explain present your vision of the feature

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.
If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.
No response

The issue is that file names are aligned against the folder names, which makes them look indented since we don't have file icons. IMO easy fix is to align filename text against the folder arrows unless file icons are introduced.
This is really messing with my ability to navigate large projects. The indentation difference on that second screenshot between files inside and outside the utils folder is only one character wide - it's impossible to differentiate in practice.


xorshift31 PRNG for Math::rand_from_seed()

should fixes #1043
PRNG adapted from : http://excamera.com/sphinx/article-xorshift.html
TBH, i'm not sure the periodicity of this XorShift is actually 2^31 - 1, neither if it is as well balanced than the original xorshift32.
If some mathematicians wants to give a look at this, here is the official XorShift paper :
"Xorshift RNGs" by George Marsaglia

do not merge it yet please.
actual periodicity of this "customized" PRNG needs some further investigations.

as long as the 32bits of *seed are not altered, the periodicity of this PRNG should remain 2^32 - 1.
If the 32nd bit of *seed is lost or altered between castings from C++ rand_from_seed() and GDscript rand_seed(), then, the actual periodicity can't be determined.


 So the magic number you insert there says
"hey, any node with a number SMALLER than this number won't I let connect".
So in order to "let the magic happen" - you'd simply bump your version to one currently active and ... voilà ... those old, nasty, bad nodes are now automagically thrown off the network.
Did you imagine something like this was possible in 2021 ? :-)
And now go ahead and continue crying on twitter :)

@ocminer please keep it professional. Show respect to get respect.

@Desolatorbtc that's a good idea, who will start doing that ? :)

@ocminer I think i am already doing it. Leave twitter on twitter. Lets focus only on solutions here.

@Desolatorbtc Sure, the solution(s) are actually pretty easy, the code is widely available, it's just a matter of integrating it into your codebase.

Next version will have a new protocol, it wasn't a wise idea to update the protocol in 6.0.3 for various reason.


CHX wants some way to disable file-saving interactively

CHX wants some way to disable file-saving interactively. Sometimes they only care about ROI sums from the stats plugin, and they want to conserve disk space by not writing TIFFs of the full image all the time.
I see two options:

Instead of enabling the plugin as part of staging, instead check whether it is enabled and short-circuit the rest of staging / all filestore interaction if it is not.
Add a new boolean attribute, separate from EPICS, that can be flipped on or off.

Maybe there are other good options I haven't thought of. I defer completely to @klauer and @dchabot. Tell me what makes sense and I will implement it.

ROIs can update as they please, but we choose whether or not to save them by read_attrs.
Shouldn't we have similar control over what gets staged (and thus saved to disk/read/linked to filestore) by FilePlugins or other sub-devices?

I like number 2.  There already is some similar logic at XPD using a soft signal to configure the tiff-squashing.

So read_attrs currently white-lists what we want to record. The argument against requiring a perfectly configured white-listed set of stage_attrs is compelling.
However, what if we could selectively black-list plugins from being staged? (Just throwing this out there for discussion, in any case, I'm not saying it's the right solution)

Currently, if a plugin is exposed to Python it is always enabled. (If disabled, it is enabled upon stage() and not disabled by unstage().) Maybe this was a bad choice. If we let users disable the TIFF plugin, we don't need to do anything special.
In fact this auto-enabling has caused confusion at both SRX and CHX. Remove it?

We will address this as part of #412.

Closed via #326


rendering issue on birthday pledge page

fixed by https://github.com/sleepbusorg/sleepbus.org/commit/e6991f7a143c06aa05de3ae4df8bcbe67a5a1600


Release version 0.2.1

@jamesmunns Found some extra time between the couch cushions. Version 0.2.1 is out.


database is locked - maybe journal related

The problem
I am occasionally (once per month) seeing "sqlite3.OperationalError: database is locked" errors and as per the Troubleshooting page, I'm opening a ticket.
On the last instance of the error I noticed that there was ah http_cache.sqlite-journal file present so I think that is related. The server had been running stably (no expected shutdowns etc)
I am running a webapp using wsgi, which has a half-dozen users.
While the database was in a locked state, I used the 'fuse' command to verify that the database was not open by any process (which it was not).
Upon restarting the web app, the issue resolved, the -journal file was deleted. The http-cache.sqlite file is ~15MB in size.
The issue occurred when attempting to clean the database for expired entries, which I do every time someone logs on.
Stack trace:
May 23 22:04:33 ip-172-26-4-62 uwsgi[227678]: Traceback (most recent call last):
May 23 22:04:33 ip-172-26-4-62 uwsgi[227678]:   File "/opt/betaworkflow/./server.py", line 207, in betaworkflow_authenticate
May 23 22:04:33 ip-172-26-4-62 uwsgi[227678]:     requests_session.cache.delete(expired=True)  # Clean cache
May 23 22:04:33 ip-172-26-4-62 uwsgi[227678]:   File "/opt/betaworkflow/venv/lib/python3.10/site-packages/requests_cache/backends/sqlite.py", line 89, in delete
May 23 22:04:33 ip-172-26-4-62 uwsgi[227678]:     self._delete_expired()
May 23 22:04:33 ip-172-26-4-62 uwsgi[227678]:   File "/opt/betaworkflow/venv/lib/python3.10/site-packages/requests_cache/backends/sqlite.py", line 104, in _delete_expired
May 23 22:04:33 ip-172-26-4-62 uwsgi[227678]:     con.execute(
May 23 22:04:33 ip-172-26-4-62 uwsgi[227678]: sqlite3.OperationalError: database is locked

Steps to reproduce the behavior
This is hard to reproduce and only happens very occasionally
Environment

requests-cache version: 1.0.1
Python version: 3.10.10
Platform:  Ubuntu 20.04 on an AWS lightsail instance

Thank you for the details.
It seems to be failing to handle multiple write operations from multiple threads, although I'm not quite sure why. That leftover .sqlite-journal file (rollback journal) is just a side effect. That's what SQLite uses to write pending changes within a transaction. The OperationalError interrupted the transaction, and then the next time your app started, SQLite used the journal file to rollback the incomplete transaction.
It might take a bit longer without a reproducible example, but I should be able to fix this or at least provide a workaround. Can you show me the exact settings you're using to create your CachedSession object?

Thanks for looking at this.
Here is the relevant section of my app. I'm using the mixin.
from requests import Session
from requests_cache import CacheMixin
from requests_ratelimiter import LimiterMixin

class CachedLimiterSession(CacheMixin, LimiterMixin, Session):
    """
    Session class with caching and rate-limiting behavior. Accepts arguments for both
    LimiterSession and CachedSession.
    """

requests_session = CachedLimiterSession(per_minute=60, max_delay=60, expire_after=300, burst=5, cache_name='http_cache.sqlite')

r = requests_session.put(url, data=xml, headers=headers)

...

def purge_cache_all():
    now = datetime.datetime.now()
    requests_session.cache.delete(older_than=now)

I made some changes that may fix this. Try installing from the git repo and let me know if you still encounter the same error.
By the way, this line:
requests_session.cache.delete(older_than=now)

May not be doing what you want. That will delete everything in the cache (all items created prior to "now") every time someone logs on. What you may want instead is:
requests_session.cache.delete(expired=True)

And run that on your server on some regular schedule, rather than per user.
If you do want to clear the whole cache (and not just expired items), this will be much more efficient:
requests_session.cache.clear()

Thanks!
I'll get this live with my next deployment later this week. Thanks for the tips also.

These changes are now available in v1.1. Let me know if you run into any more problems.


Midterm Review (Mind map)

Two issues I noticed with the mind map:

Students didn't usually think about connections beyond immediate neighbors on the map unless prompted.  Shuffling the topics a bit or explicitly suggesting that they draw connections far away would encourage them to think more deeply about whether or not two concepts relate as opposed to just drawing arrows between adjacent things.

Several groups were disinterested in the mind map and reported that they didn't think it was very helpful.  I expect many of those students probably will do well on the exam anyway, but they do have a good point in that the knowledge tested by the mindmap does not really directly translate to the ability to perform well on the exam.

This is very useful stuff to know.

Maybe the lightest way to address this would be to draw a few long arrows (as well as a few short ones) on the example.
Yeah, this makes sense, although I'm not sure if I fully agree about "direct translation" to the exam. Maybe I should actually try pulling that data to see if there's any kind of correlation between map quality and exam performance (although in principle this correlation could be induced by many confounders).

Going to think about this one a bit.

Oh, an alternative occurred to me: groups are given the option to either complete the mind-map activity or work a problem from an old exam, with both being available to them in case they want to work on the other one later.
This gets more workable when we get more old exams. =)

Added two longer arrows in the starting mind-map, and will allow students to choose between the mind map and an old exam problem next time we do this activity.


Incorrect Y-Axis for Category Chart when using Line Render Style

The y-axis is incorrect for category chart when using line rendering style. The chart becomes correct if the y-axis min is explicitly set to 0 i.e. x chart.getStyler().setYAxisMin(0.0). If the y-axis min is set to something other than 0, the axes are again incorrect. This bug does not occur when using bar rendering style.
Example:
double[] xData = new double[] { 0.0, 1.0, 2.0, 3.0, 4.0 };
double[] yData = new double[] { 2.0, 1.5, 4.0, 3.77, 2.5 };

// Create Chart
CategoryChartBuilder builder = new CategoryChartBuilder();
builder.title("Sample Chart")
    .xAxisTitle("X")
    .yAxisTitle("Y")
    .theme(ChartTheme.Matlab);
CategoryChart chart = builder.build();
chart.getStyler().setDefaultSeriesRenderStyle(CategorySeries.CategorySeriesRenderStyle.Line);
    //    .setYAxisMin(0.0);

chart.addSeries("y(x)", xData, yData);

// Show it
new SwingWrapper(chart).displayChart();

Identified the same issue today. Thanks Daniel.

Thanks. I'm looking at it now.

Fixed. I'll push a release soon.

Thanks Tim!
On Sun, Sep 18, 2022 at 2:50 PM Tim Molter @.***> wrote:

Closed #653 https://github.com/knowm/XChart/issues/653 as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/knowm/XChart/issues/653#event-7409307732, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AF6VAPMBYZSWBQLJ5JHJKOLV65P73ANCNFSM5LUL3MBA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Images (attached media) won't load

Pics (attached media) don't load. My .zip is a 620mb file, and I'm on a mid-'15 Macbook Pro with 16gb RAM (and just barely enough free/swapspace on the 2TB SSD), running MacOS 12.7.6. Tried Orion, Safari, and Firefox, with same result in all browsers. Don't have another machine to try it on.
Screen grab and Firefox logs (with seemingly-relevant error messages) attached.

FF Console Log.txt

Thank you. I haven't seen this behavior before.
If you don't mind, could you also post the JSON data for one of those posts with attachment. For instance the "This is srsly impressive" post seen in your screenshot. You can find the JSON code by clicking on "Raw data" below the post.

@Isocat Good news: another Mastonaut apparently had a similar issue and allowed me to examine his archive file. I've just now published a fix for it. I think it should apply to your problem also. Let me know if this is the case! (Or not!)

@s427 Hey, lookit there! It's working correctly in Firefox. Not in Orion, as it seems, but I am still struggling with getting Orion to behave all the way correctly on a variety of websites, so that is likely an Orion problem. Thank you!

That's good to hear. :) Except for Orion of course. I'm not on MacOS so I can't really look into that unfortunately, but feel free to let me know if you have more info about it.
I'm closing this issue in the meantime.


initial check in: add a grpc server that exposes SDS in nodeAgent

https://github.com/istio/istio/issues/5903

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: quanjielin
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: incfly
Assign the PR to them by writing /assign @incfly in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

security/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@wattli, thanks for the feedback.

this PR stole many code from @wenchenglu  :) it's not obvious as I created new pkg for sds. (there is some differences though, like adding streamsecret implementation, using just one uds talk to all proxies, etc).
the test is mainly for sds(start the test from server though), so renamed to sdsservice_test.go,
done.

btw, this is initial check in, we could add missing pieces to make feature complete later.

/approve
/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: incfly, quanjielin
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

security/OWNERS [incfly]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sorry didn't know that lgtm & approve will auto trigger the merge... I saw some test failed. Although don't think it's due to this PR, could you double checked that?
Also feel free to send follow-up PR in case there's something you haven't finished in this one yet. Sorry about this again.. :(


minimal_ns doesn't compile

https://github.com/libbpf/libbpf-bootstrap/blob/master/examples/c/Makefile#L27 is missing minimal_ns

Would you be able to send a PR fixing the issue?


Azure Open AI

Can you support azure open ai credentials?

Did you succeed in the implementation of Azure open ai ? I keep getting "Resource not found" when I modify the OPENAI_API_BASE and OPENAI_API_KEY

Still getting "Resource not found" while trying to use Azure Open AI credentials. The created chat completion request seems to miss out on passing the apikey parameter.


Support kerberos impersonation

This PR resolves https://github.com/PivotalRD/libhdfs3/issues/27

Thanks for your contribution, I will review and merge later.

Any updates on this?

Thought I'd chime in here as well.  How active is this project?  If the answer is "not active" then should it be forked or should commit rights be given out to others?

+1 on the pr. Indeed question about status of the repo.

+This repository has been moved to Apache HAWQ as a dependent library, and will be deleted soon. For any further information, please visit HAWQ JIRA, Mailing List and repository: HAWQ Link

https://github.com/apache/incubator-hawq/tree/master/depends/libhdfs3

well that was handled extremely poorly. Looks like that repo existed back before Feb 26.
Not sure I want to have to switch to HAWQ as it may have issues working with https://github.com/dask/hdfs3 or otherwise break things that are currently working...

We currently build the libhdfs3 package on conda-forge using this Pivotal-Data-Attic (now deprecated) repo since the incubator-HAWQ repo doesn't let us easily pick out libhdfs3 versions/releases/tags.
See this issue in the libhdfs3 conda-forge repo for more information.
I wonder why this Pivotal-Data-Attic repo removed the deprecation notice in ddcb2404?

https://issues.apache.org/jira/browse/HAWQ-1046

All, this project is alive, but was developed in support of what is now Apache HAWQ, hence the desire to pull it in.
+1 for keeping this project in a separate repo. Please see Lei's comments here about using git submodule and a dedicated Apache repo as an alternative. https://github.com/Pivotal-Data-Attic/pivotalrd-libhdfs3/issues/32#issuecomment-216758457

Hi Kyle, thank you for the response!
It looks like Lei's comment about git submodules is that this isn't likely to happen without libhdfs3 becoming a dedicated Apache repo.  Am I reading that right?  Is that likely to occur?  My first guess would be that you all wouldn't be motivated to push for it and that they might not want to bother.
If I'm reading the situation above correctly then can you provide any suggestions on how to proceed?

@rvs - Can you chime in on this? It looks like this library has some traction within the community. What can we do to achieve the most good for the most people without stifling the internal development workflow?
@mrocklin - please standby, hopefully we can work this out without too much [more] turbulence.

This looks like great engagement to me, thanks for stepping in :)
FWIW here is the Python library that may be the cause of some of this fuss: http://hdfs3.readthedocs.io/en/latest/

I think everybody's efforts is way better spent on focusing on the Apache HAWQ (incubating) at this point. There's a vote for the first release going on as we speak -- this is the best time to jump on it and provide feedback for libhdfs3. Seriously -- this repo is only here for software archeology at this point.

@rvs fine by me.  What is the best way to migrate this repository into its archaeological state?  Some requests:

Can it be made more clear that this repo is not actively maintained?  This might help to avoid issues like this in the future.  It looks like this was publicized but then removed here.   Perhaps a warning like this should be added back in a prominent place?

  Is it worth merging some of these in to the HAWQ codebase?

There are active questions on the issues, like https://github.com/Pivotal-Data-Attic/pivotalrd-libhdfs3/issues/53 that aren't receiving any attention.  Perhaps issues should either be monitored or closed completely with a strong note at the top of the README pointing to the appropriate Jira?

Hi everyone it looks like this conversation was moved to this mailing list thread.  Thought I'd keep people informed.

@bdrosen96 - Apologies for the very delayed response. The development team managing this codebase is also responsible for Apache HAWQ (incubating) and trying to get the first release out the door. As a result, this repo has been unintentionally neglected and recently turned read-only.
This code was birthed from HAWQ and will be merged back into into that project (now that it is open source as well); mailing lists, pull requests, issues and releases related to libhdfs3 will be there. The plan is to provide tarball releases of this code separate from the larger HAWQ project until it can be relocated into a dedicated repo again (down the road) - see HAWQ-1059.
Again, thank you for the contribution and patience while we sort out these logistics.

The code to support Kerberos impersonation doesn't seem to have made it into  Apache HAWQ. Is there a reason for this?

I'd like to help here, and am now a committer, so may also be able to do so. One thing I'll mention is the need for tests. Is this something you have ideas about or available elsewhere, @bdrosen96 ?

Internally, we have a number of tests that likely won't help here. We use python module wrapper and py.test to run them and a number of docker containers for the server components, all run via jenkins. The docker containers we use include a dns container, a kerberos container and a hadoop/hdfs container. We have automation to bring up the HDFS system with a variety of different configuration variations including:
insecure, Authentication, privacy, integrity for RPC. Same for Data. Use of SASL for encryption vs use of AES cipher for encryption. Use of block tokens for data encryption. Different key lengths. Different SASL ciphers. HA and non HA name node. use of KMS and TDE. There may be some other variants I'm forgetting
Doing all of this takes a long time to run tests. Unfortunately, most of what we use internally is not available publicly although I could certainly provide pointers and advise if you are interested in developing and equivalent for public use.

@kdunn-pivotal what are your intentions around libhdfs3?  Are you bringing these PRs into the mainline HAWQ codebase?  Creating a separate libhdfs3 codebase?
Have you made any progress so far?

@mrocklin - Unfortunately this is a bit out of my control, as I'm a HAWQ committer but not in leadership role to drive code review/development priorities. I am willing to do the needful in the way of creating / porting the issues on this repo into the Apache HAWQ repo. As for the merging of PRs behind those issues, we need to be sure to meet the requirements of the contributor guidelines - the most important of these are tests associated with new features / enhancements.
Apologies again for the confusion with all this work, we (Pivotal Data, in particular) are still getting our arms around the transition to OSS governance, etc.


Whenever prompt.yaml is missing or empty object when parsed, copy prompt/prompt.yaml to it

Project Description
Hey, Contributor!
Interpret issues freely. Need help or have ideas? Comment right here. Remember, this is the only forum where Krisztián answers questions - your golden ticket to help!
Note: We eat our own dog food. We use Junior to work on Junior.
Keep it friendly, that's our vibe.
Happy contributing!

To avoid recursion, prompt/prompt.yaml can contain "1." as first requirement in a list.


Nginx changes to reflect change in Gelato endpoint/api version.

The API path for the multi-cloud Gelato has been changed from v1/.
This PR fixes that and updates the nginx configuration to reflect that change.

Closing as I have made the changes in an another PR.

@kumarashit @himanshuvar
I think this change is not required anymore. multi-cloud/#998


Update app.js

It's not a good idea to commit usernames and passwords to git repos.  Check out http://12factor.net/ for more information how to manage credentials (env vars are good).


Fuse direct_io

Here is the part of work done for #207, but in the end we are not able to get good enough performance on FUSE. See detail in #207.
There is still value to merge this because of test case updated with device rw with O_DIRECT, as well we may come back in the future for revisit.
The integration test works fine with fuse now, but I don't want to risk the build on it since we stopped working on it. If we want, we can easily flip the switch to enable test with fuse.

I will merge this PR, since it won't affect current code path. The failure of test case is a bug in master, and need to be address separately.


Internal error with OSSL_DECODER_fetch

I'm trying to get familiar with the new concept around OSSL_DECODER introduced in OpenSSL 3 and maybe I'm doing something wrong but I have suspicion of a bug in OSSL_DECODER_fetch API.
Following is the minimal repro:
#include <openssl/provider.h>
#include <openssl/decoder.h>

void main(void)
{
	OSSL_LIB_CTX *libctx = NULL;
	OSSL_PROVIDER *defprov = OSSL_PROVIDER_load(libctx, "default");
	OSSL_DECODER *decoder = OSSL_DECODER_fetch(libctx, "der", "provider=default,input=pem");
}

The call OSSL_DECODER_fetch fails with debug assertion

crypto\property\property.c:637: OpenSSL internal error: Assertion failed: prov != NULL

and program terminates (in debug build).
This is because inner_ossl_decoder_fetch calls ossl_method_store_cache (here) with the second parameter (OSSL_PROVIDER *prov) set to NULL. However the function ossl_method_store_cache does not expect NULL here and throws an assertion (here).
I'm using custom built openssl-3.0.1.

This does appear to be a problem and is a regression since 3.0.0 which does not have this behaviour.
The problem was introduced in PR #16725. I'm unsure why this doesn't result in test failures in the decoder tests. From code inspection it looks like this same problem will also impact encoders and store loaders.
@levitte

I'm unsure why this doesn't result in test failures in the decoder tests

The answer to this is that it is actually fairly unusual to fetch an individual decoder. The normal way of using the decoder APIs is to set up an OSSL_DECODER_CTX and then call OSSL_DECODER_from_bio or similar function to iterate through the available decoders to find the right one for the data that we are trying to decode.
That said there is still a test which is explicitly there to test that fetching an individual decoder works, and its here:
https://github.com/openssl/openssl/blob/328bf5adf9e23da523d4195db309083aa02403c4/test/provfetchtest.c#L222-L283
Given the reproducer above we might have expected this test to fail as well. Stepping through it in a debugger reveals that the key difference is the presence of a query string. This test doesn't use one but the reproducer above does. That turns out to be significant since the failing codepath is only hit if a query string is present.

Fix in #17459


Publish on conda-forge

Would it be possible to have scanspec available on conda-forge?
I'd like to get both the nexgen  and tristan packages on conda-forge, but this is currently stopped by this error:
conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("scanspec")}

It might be, @garryod did some work on getting a generic packaging of conda packages, but the converter that did that didn't support pyproject.toml. We could put the deps for this module back into setup.cfg to support this. However, scanspec depends on apischema. Do you know if this is packaged for conda?

The work I did is in this pull request. It uses grayskull to create the conda recipe, unfortunately pyproject.toml support in grayskull is still a work in progress so the PR has been left in draft for now.
The pipeline above will however not work for publishing to conda-forge (they run their own build CI), but would be useful for publishing to the DiamondLightSource anaconda.

@noemifrisina: Does it make any difference to you if we publish to conda-forge vs the DiamondLightSource channel?
@garryod: I've seen conda-forge feedstocks before, they seem to contain a lot of duplication from the source repo, and it's not clear if there is an automated way to keep them in sync. Are you aware of any processes that would automate the whole thing (from grayskull to publish) for pure python modules?

Also bear in mind that this project is likely to move to the bluesky org at some point, so conda-forge is probably preferable from that perspective too...

My understanding is that the conda-forge team intends to use grayskull to do the heavy lifting where possible; From their blog:

[...] grayskull was created with the intention of generating better Conda recipes that would allow to package properly projects available in different channels such as PyPI, CRAN, Conan, GitHub register, GitHub repositories and so on. On top of that, Grayskull is also being developed to help conda-forge to update recipes.

If you wish to make scanspec available via conda-forge you should follow this process.


Can't see letters

All letters are  changed to some type of rectangle.
Opened chatterino, and it was like that

Can't copy the version because of the bug, but pretty sure it's 2.2.3 beta2
Windows 10
Tried re-opening and it stays the same.

This is most likely an issue with your font, try changing it.
(It's the second item in settings).
If you can't change it or it doesn't work, try deleting your setings config in %appdata% for chatterino

If the issue persists, please reopen the issue


idna: Generate the mapping table needed for uts46

@Zer0-One I hacked this into the url parser to see if it's at least somewhat sane, and the tests that only require the uts46 mapping step to pass seem happy with it.


Make clearer when achievements edits have been successfully saved

I don't know if it would be easy or not to implement, but it would be nice if there was a "Version History" for achievements, similar to those in the other editors, because sometimes it is hard to tell if the save actually had effect on the achievement being edited.

This seems more like a UX problem; it should be made clearer that changes have been made. Adding version history would be too complex a solution.

If there was some kind of visual feedback when changes are saved successfully, it would be enough. I just suggested the version history, because it leaves no doubts.

A "Saved" noty message would do the trick, I think.

Related: #3322


Stack overflow crashes .NET Core simplest web app

Describe the bug
Stack overflow exception crashes the process, using visual studio 2019 default run mode. The output in the 'output' window shows "Access violation" giving no indication for the stack overflow.
In addition, when trying to catch this exception with tagging "System.StackOverflowException" in Visual Studio 2019's "Exception settings" it does NOT catch it (maybe this is an issue for the VS team)
Expected behavior
An exception stack trace with 500 response (or VS2019 catching this exception)
The thread 0x70ac has exited with code -1073741819 (0xc0000005).
The program '[24256] iisexpress.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'.

To Reproduce

Create new ASP.NET Core Web Application (.NET Core)
Add some method to the controller that calls itself in endless recursion
Start Debugging (F5)
Call that method using the browser/cURL

Example on the below code, when calling divide by zero or a thrown exception it works as expected (process does not crash).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace WebApplication1
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }

    [ApiController]
    [Route("[controller]")]
    public class TestController : ControllerBase
    {
        [HttpGet("/stackoverflow")]
        public IActionResult StackOverflow(string x)
        {
            return Ok(StackOverflow(x));
        }

        [HttpGet("/divzero")]
        public IActionResult DivByZero(int zero = 0)
        {
            return Ok(100 / zero);
        }

        [HttpGet("/throw")]
        public IActionResult Throw()
        {
            throw new Exception("in your face");
        }
    }

    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
        }
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            app.UseRouting();
            app.UseAuthorization();
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
    }
}

Further technical details

ASP.NET Core version: 3.1.100
Include the output of dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   3.1.100
 Commit:    cd82f021f4

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18363
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.100\

Host (useful for support):
  Version: 3.1.0
  Commit:  65f04fb6db

.NET Core SDKs installed:
  3.1.100 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.App 3.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

The IDE (VS / VS Code/ VS4Mac):
Microsoft Visual Studio Enterprise 2019 Version 16.4.1

You can't catch a StackOverflowException. That's just how it works. It takes the process down 😅

I'm having the same issue, when trying to debug on OSX. When I call the api, the app crashs with a stack overflow.


[ob] Set to null all related item when it was deleted

Dlma
- Set to null related campaign's dlma info.

Plan
- Set to null related campaign's plan info.

Destination
- Set to null related campaign's destination info.

Should not affect to the dialing.
Once the dialing has created, the only status/result can be changed.

Done.


[Bazel CI] Error compiling external protobuf source: undeclared inclusion(s) in rule

CI: https://buildkite.com/bazel/bazel-at-head-plus-downstream/builds/3807#018f03f8-b794-41df-a7d3-38707c4d2f6d
Platform: Windows
Logs:
ERROR: C:/b/uhnenhph/external/protobuf~/src/google/protobuf/BUILD.bazel:70:14: Compiling external/protobuf~/src/google/protobuf/_virtual_imports/type_proto/google/protobuf/type.pb.cc failed: undeclared inclusion(s) in rule '@@protobuf~//src/google/protobuf:type_proto'

Culprit:
Steps:
git clone https://github.com/bazelbuild/rules_proto
git reset d4c3498677e7fbda6f717585276ea4d8b75acec0  --hard
export USE_BAZEL_VERSION=d37762b494a4e122d46a5a71e3a8cc77fa15aa25
bazel build //...

CC Greenteam @wyverald

This is common pain from the Bazel community as well. IMO rules_proto should stop exercising the "build protoc from source" codepath, as that's only intended for C++ projects per https://github.com/protocolbuffers/protobuf#protobuf-compiler-installation

If you want to use the github main version at HEAD, or you need to modify protobuf code, or you are using C++, it's recommended to build your own protoc binary from source.

I can make that change if the maintainers indicate a willingness to accept it.

Hi @alexeagle, Friendly ping to know the status of the above issue. Thanks!

Thanks @alexeagle for your suggestions :)
The issue has been fixed in protobuf repo.


Add thread-pool feature for doc tests.

The doc tests for futures-util require ThreadPool which is now behind a feature flag.

Thanks!


Fix key type restriction of Hash#merge block

The key type restriction of Hash#merge block is wrong. K (receiver's key type) is specified, but it yields L (argument's key type) value in fact. This type mismatch causes a problem when key type is difference. For instance, the following sample cannot work due to this bug.
foo = {1 => "foo"}
bar = {1 => "bar", "fizz" => "buzz"}

p foo.merge(bar) { |k, v1, v2| v1 + v2 }
# Error: argument #1 of yield expected to be Int32, not (Int32 | String)

This PR fixes this restriction type into L correctly.

Mmh, does it also fix
foo = {1 => "foo"}
bar = {"fizz" => "buzz"}

p foo.merge(bar) { |k, v1, v2| v1 + v2 }

Thank you @MakeNowJust


Invalid MEX file error step 2

Hi,
I'm having trouble running the region of interest part of step 2, whichever of the 3 options I try, this error appears:
Invalid MEX-file
'C:\Users\44753\Documents\MATLAB\MultiDIC-master\lib_ext\ncorr_2D_matlab-master\ncorr_alg_formmask.mexw64': A dynamic
link library (DLL) initialization routine failed.
I tried running Ncorr by itself and I don't get any errors
Im running Matlab 2020a
Please could you help?
Thanks in advance

Please try deleting the .mex files from the ncorr folder and re-installing ncorr. Let me know if that helped or not.


Designing -Landing Page

Task completed

Task Completed

i designed the low fi and some parts of the hifi landing page


Feature Request: Dynamic Week Display Switching

I use the "week-planner-card" to display my children's dynamic school schedule. The display should always show the current week from Monday to Friday. This works very well.
However, I would like it to display the following full week from Monday to Friday starting on Saturday.
Is it possible to implement this?
Thank you very much for your great project!

+1 here. This is wonderful project! This feature would definitely add to it for me.
It may also be possible with the "tap" action? If you have thoughts about how to roll-your-own I'd also love to hear them.

Great project - thank you for the work.
Agree +1 from me too - this would be a great feature.  I have the exact same requirement with my kids school calendar.
I also have a variation for my work calendar... From Monday I want it to show the current week. but the weekend before I want it to automatically show next week - crucially, I only want to see the 5 work days Mon-Fri.  (I can't seem to get any combination of hide weekend and starting day config to make this work right now.)

I create a Workaround, its not the best solution but it works for me.
I create a Workaround, its not the best solution but it works for me.
I create 5 separated cards for each day (mon – fri).

Then I copied that 5 Days by an offset of 7 days. Then I hide one of these cards per day. ****

For this case I create a entity is counting the day by script.


Allow to specify WM_NAME

This would allow Linux users with tiling WMs to properly fit different Avalonia windows to desired layouts.
Right now, it's Dotnet for all applications.

xprop output (_NET_WM_ICON is removed for readability):
$ xprop
_NET_WM_ICON_GEOMETRY(CARDINAL) = 5, 519, 30, 30
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 28, 0
WM_STATE(WM_STATE):
		window state: Normal
		icon window: 0x0
_NET_WM_DESKTOP(CARDINAL) = 0
_NET_WM_STATE(ATOM) =
WM_TRANSIENT_FOR(WINDOW): window id # 0x0
WM_NAME(STRING) = "Avalonia Control Gallery"
_NET_WM_NAME(UTF8_STRING) = "Avalonia Control Gallery"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
		program specified minimum size: 500 by 300
		program specified resize increment: 1 by 1
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_STICK, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW

As you can see WM_NAME is properly set to the window title.

You probably want WM_CLASS property. I'm not sure if we should make it application global or window local though.

Oh yes, sorry, I was exhausted at the moment and didn't think twice.  You are correct.
Both would be useful for different needs, but I'll be grateful for whichever you choose to implement.