RabbitMQ Basic Consumer support for sequential processing with ConcurrentMessageLimit = 1

This is an implementation proposal to support for RabbitMQ consumer to process messages sequentially when PrefetchCount is set to 0 or 2+ and RabbitMqReceiveEndpointContext.ConcurrentMessageLimit is set to 1 to avoid concurrent message processing.
In some scenario, such capability can be useful.
See the integration test Using_a_consumer_concurrency_limit_set_to_1.Should_limit_the_consumer_and_consume_messages_sequentially() method for a concrete example.
Here is a visual summary of the change:
Before

After

So, this likely won't be accepted as there are faster primitives already built into MassTransit to support this.
@NooNameR can offer some guidance.

I think SQS and Kafka both use it, to ensure in-order delivery within the same partition key/group id.

Nice, I see the FifoChannelExecutorPool in the SQA receiver, I'll rework this PR to align with this design, thanks for the heads up!

for the thing you are doing, you need only new ChannelExecutor(prefetchCount, 1):
https://github.com/MassTransit/MassTransit/blob/1f13a70aa02effb17b7784c2d4d9f7350623b993/src/MassTransit/Util/ChannelExecutor.cs#L96
I do not think you want distribute it across partitions as in case of SQS or Kafka

Correct, I stumbled upon it with the my team, we started the implementation with ChannelExecutor, makes much more sense with that :D
However I don't see a way yet to not set the ConcurrentMessageLimit in case it was not configure for the endpoint (!context.ConcurrentMessageLimit.HasValue) currently looking into it

Correct, I stumbled upon it with the my team, we started the implementation with ChannelExecutor, makes much more sense with that :D
However I don't see a way yet to not set the ConcurrentMessageLimit in case it was not configure for the endpoint (!context.ConcurrentMessageLimit.HasValue) currently looking into it

well, programming is tough 😄
you can modify channel executor to not create semaphore, maybe? or just use separate approaches.
Basically to understand the end goal, you want to fix ordering?

Exactly, my main goal is that when we set the concurrent message limit to 1, I would expect it to process messages in the order RabbitMq delivers them. I need this for a multiple use cases on a project, but I can imagine it being useful to others as well.
To minimize the channel executor changes, this approach seems to be working great:

we just chat with @phatboyg and it just requires to move _limit.Wait before Task.Run:
https://github.com/MassTransit/MassTransit/blob/a04955c2712c565612c8da3c19e8fa38d2bcd52d/src/Transports/MassTransit.RabbitMqTransport/RabbitMqTransport/RabbitMqBasicConsumer.cs#L164-L165

We can now use my PR as over-engineering example, how did I miss that 😂. Updating and testing this rightaway!

IF, and ONLY IF, ConcurrentMessageLimit = 1

would be nice if you can run a benchmark for that. we have an internal tool for that.
https://github.com/MassTransit/MassTransit/blob/develop/tests/MassTransit.Benchmark/Program.cs
but not only for concurrent limit 1, we need to check how this affects > 1

Here is the benchmark results I got with the latest changes of this PR:

 Before   After

MassTransit Benchmark

Transport: RabbitMq
Operating System: Microsoft Windows NT 10.0.22621.0
Processor Count: 20
MassTransit Version: <IP_ADDRESS>
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Message Latency Benchmark
Message Count: 10000
Clients: 10
Durable: False
Payload Length: 0
Prefetch Count: 100
Concurrency Limit: 0
Total send duration: 0:00:15.3461925
Send message rate: 651.63 (msg/s)
Total consume duration: 0:00:15.3648832
Consume message rate: 650.83 (msg/s)
Concurrent Consumer Count: 20
Avg Ack Time: 15ms
Min Ack Time: 0ms
Max Ack Time: 79ms
Med Ack Time: 15ms
95t Ack Time: 16ms
Avg Consume Time: 39ms
Min Consume Time: 3ms
Max Consume Time: 110ms
Med Consume Time: 39ms
95t Consume Time: 63ms

    3ms ****                                                         (    158)
   14ms ************************************************************ (   2263)
   25ms ****************************************************         (   1970)
   35ms *****************************************************        (   2028)
   46ms **********************************************************   (   2188)
   57ms **********************************                           (   1313)
   67ms *                                                            (     70)
   99ms                                                              (      9)
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Request Response Benchmark
Message Count: 10000
Clients: 10
Durable: False
Prefetch Count: 100
Concurrency Limit: 0
Total consume duration: 0:00:46.8229281
Consume message rate: 213.57 (msg/s)
Total request duration: 0:00:46.8334682
Request rate: 213.52 (msg/s)
Concurrent Consumer Count: 10
Avg Request Time: 46ms
Min Request Time: 3ms
Max Request Time: 114ms
Med Request Time: 48ms
95t Request Time: 65ms
Avg Consume Time: 31ms
Min Consume Time: 1ms
Max Consume Time: 81ms
Med Consume Time: 42ms
95t Consume Time: 52ms

Request duration distribution
    3ms **                                                           (    191)
   14ms *********                                                    (    668)
   25ms ********************************************************     (   3816)
   36ms ****                                                         (    295)
   47ms *********                                                    (    649)
   58ms ************************************************************ (   4083)
   69ms **                                                           (    162)
   92ms *                                                            (    115)
  103ms                                                              (     20)

MassTransit Benchmark

Transport: RabbitMq
Operating System: Microsoft Windows NT 10.0.22621.0
Processor Count: 20
MassTransit Version: <IP_ADDRESS>
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Message Latency Benchmark
Message Count: 10000
Clients: 10
Durable: False
Payload Length: 0
Prefetch Count: 100
Concurrency Limit: 0
Total send duration: 0:00:15.9507997
Send message rate: 626.93 (msg/s)
Total consume duration: 0:00:16.0001556
Consume message rate: 624.99 (msg/s)
Concurrent Consumer Count: 20
Avg Ack Time: 15ms
Min Ack Time: 0ms
Max Ack Time: 164ms
Med Ack Time: 15ms
95t Ack Time: 16ms
Avg Consume Time: 41ms
Min Consume Time: 3ms
Max Consume Time: 196ms
Med Consume Time: 40ms
95t Consume Time: 63ms

    3ms ************************                                     (   1589)
   23ms ************************************************************ (   3919)
   42ms *********************************************************    (   3773)
   61ms **********                                                   (    679)
  100ms                                                              (     10)
  157ms                                                              (     10)
  177ms                                                              (     19)
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Request Response Benchmark
Message Count: 10000
Clients: 10
Durable: False
Prefetch Count: 100
Concurrency Limit: 0
Total consume duration: 0:00:50.0258178
Consume message rate: 199.90 (msg/s)
Total request duration: 0:00:50.0444945
Request rate: 199.82 (msg/s)
Concurrent Consumer Count: 10
Avg Request Time: 49ms
Min Request Time: 2ms
Max Request Time: 127ms
Med Request Time: 60ms
95t Request Time: 65ms
Avg Consume Time: 33ms
Min Consume Time: 1ms
Max Consume Time: 108ms
Med Consume Time: 43ms
95t Consume Time: 52ms

Request duration distribution
    2ms **                                                           (    243)
   15ms ******                                                       (    586)
   27ms *********************************                            (   2811)
   40ms ********                                                     (    687)
   52ms ************************************************************ (   5056)
   64ms *****                                                        (    450)
   77ms                                                              (     28)
   89ms *                                                            (    126)
  102ms                                                              (      7)
  114ms                                                              (      5)

MassTransit Benchmark

Transport: RabbitMq
Operating System: Microsoft Windows NT 10.0.22621.0
Processor Count: 20
MassTransit Version: <IP_ADDRESS>
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Message Latency Benchmark
Message Count: 10000
Clients: 10
Durable: False
Payload Length: 0
Prefetch Count: 100
Concurrency Limit: 1
Total send duration: 0:00:15.6461456
Send message rate: 639.14 (msg/s)
Total consume duration: 0:00:15.6494052
Consume message rate: 639.00 (msg/s)
Concurrent Consumer Count: 1
Avg Ack Time: 15ms
Min Ack Time: 0ms
Max Ack Time: 66ms
Med Ack Time: 15ms
95t Ack Time: 16ms
Avg Consume Time: 35ms
Min Consume Time: 2ms
Max Consume Time: 97ms
Med Consume Time: 36ms
95t Consume Time: 53ms

    2ms **                                                           (    115)
   12ms *******************************************                  (   2306)
   21ms *********************                                        (   1172)
   31ms ************************************************************ (   3216)
   40ms ******************                                           (    997)
   50ms ****************************************                     (   2175)
   59ms                                                              (      9)
   88ms                                                              (      9)
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Request Response Benchmark
Message Count: 10000
Clients: 10
Durable: False
Prefetch Count: 100
Concurrency Limit: 1
Total consume duration: 0:00:48.3952889
Consume message rate: 206.63 (msg/s)
Total request duration: 0:00:48.41218
Request rate: 206.56 (msg/s)
Concurrent Consumer Count: 1
Avg Request Time: 48ms
Min Request Time: 3ms
Max Request Time: 133ms
Med Request Time: 59ms
95t Request Time: 66ms
Avg Consume Time: 31ms
Min Consume Time: 1ms
Max Consume Time: 89ms
Med Consume Time: 41ms
95t Consume Time: 53ms

Request duration distribution
    3ms ******                                                       (    502)
   16ms **********                                                   (    875)
   29ms ************************************                         (   2947)
   42ms *****                                                        (    415)
   55ms ************************************************************ (   4855)
   68ms *                                                            (    161)
   81ms                                                              (     38)
   94ms **                                                           (    191)
  107ms                                                              (      7)
  120ms                                                              (      8)

MassTransit Benchmark

Transport: RabbitMq
Operating System: Microsoft Windows NT 10.0.22621.0
Processor Count: 20
MassTransit Version: <IP_ADDRESS>
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Message Latency Benchmark
Message Count: 10000
Clients: 10
Durable: False
Payload Length: 0
Prefetch Count: 100
Concurrency Limit: 1
Total send duration: 0:00:15.7906008
Send message rate: 633.29 (msg/s)
Total consume duration: 0:00:15.8347839
Consume message rate: 631.52 (msg/s)
Concurrent Consumer Count: 1
Avg Ack Time: 15ms
Min Ack Time: 0ms
Max Ack Time: 86ms
Med Ack Time: 16ms
95t Ack Time: 16ms
Avg Consume Time: 36ms
Min Consume Time: 5ms
Max Consume Time: 120ms
Med Consume Time: 36ms
95t Consume Time: 53ms

    5ms ****                                                         (    217)
   17ms ************************************************************ (   3235)
   28ms **********************************************************   (   3166)
   40ms *****************************************                    (   2254)
   51ms ********************                                         (   1118)
  109ms                                                              (      9)
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Request Response Benchmark
Message Count: 10000
Clients: 10
Durable: False
Prefetch Count: 100
Concurrency Limit: 1
Total consume duration: 0:00:50.1942994
Consume message rate: 199.23 (msg/s)
Total request duration: 0:00:50.2046088
Request rate: 199.18 (msg/s)
Concurrent Consumer Count: 1
Avg Request Time: 50ms
Min Request Time: 4ms
Max Request Time: 114ms
Med Request Time: 60ms
95t Request Time: 68ms
Avg Consume Time: 33ms
Min Consume Time: 1ms
Max Consume Time: 78ms
Med Consume Time: 44ms
95t Consume Time: 53ms

Request duration distribution
    4ms ***                                                          (    281)
   15ms *******                                                      (    647)
   26ms ************************************                         (   2997)
   37ms *                                                            (    143)
   48ms ******                                                       (    535)
   59ms ************************************************************ (   4985)
   70ms *                                                            (     99)
   92ms ***                                                          (    271)
  103ms                                                              (     41)

MassTransit Benchmark

Transport: RabbitMq
Operating System: Microsoft Windows NT 10.0.22621.0
Processor Count: 20
MassTransit Version: <IP_ADDRESS>
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Message Latency Benchmark
Message Count: 10000
Clients: 10
Durable: False
Payload Length: 0
Prefetch Count: 100
Concurrency Limit: 2
Total send duration: 0:00:15.6777259
Send message rate: 637.85 (msg/s)
Total consume duration: 0:00:15.6928454
Consume message rate: 637.23 (msg/s)
Concurrent Consumer Count: 2
Avg Ack Time: 15ms
Min Ack Time: 0ms
Max Ack Time: 133ms
Med Ack Time: 15ms
95t Ack Time: 16ms
Avg Consume Time: 35ms
Min Consume Time: 3ms
Max Consume Time: 168ms
Med Consume Time: 36ms
95t Consume Time: 53ms

    3ms ************************                                     (   1688)
   20ms ************************************************************ (   4207)
   36ms ******************************************************       (   3855)
   53ms ***                                                          (    240)
  151ms                                                              (      9)
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Request Response Benchmark
Message Count: 10000
Clients: 10
Durable: False
Prefetch Count: 100
Concurrency Limit: 2
Total consume duration: 0:00:48.182545
Consume message rate: 207.54 (msg/s)
Total request duration: 0:00:48.1861075
Request rate: 207.53 (msg/s)
Concurrent Consumer Count: 2
Avg Request Time: 48ms
Min Request Time: 4ms
Max Request Time: 107ms
Med Request Time: 57ms
95t Request Time: 68ms
Avg Consume Time: 31ms
Min Consume Time: 1ms
Max Consume Time: 82ms
Med Consume Time: 42ms
95t Consume Time: 52ms

Request duration distribution
    4ms **                                                           (    197)
   14ms *********                                                    (    699)
   25ms **********************************************               (   3478)
   35ms                                                              (     71)
   45ms ******                                                       (    492)
   56ms ************************************************************ (   4490)
   66ms ***                                                          (    274)
   76ms                                                              (     64)
   87ms *                                                            (    100)
   97ms *                                                            (    134)

MassTransit Benchmark

Transport: RabbitMq
Operating System: Microsoft Windows NT 10.0.22621.0
Processor Count: 20
MassTransit Version: <IP_ADDRESS>
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Message Latency Benchmark
Message Count: 10000
Clients: 10
Durable: False
Payload Length: 0
Prefetch Count: 100
Concurrency Limit: 2
Total send duration: 0:00:15.116871
Send message rate: 661.51 (msg/s)
Total consume duration: 0:00:15.1490963
Consume message rate: 660.11 (msg/s)
Concurrent Consumer Count: 2
Avg Ack Time: 14ms
Min Ack Time: 0ms
Max Ack Time: 133ms
Med Ack Time: 15ms
95t Ack Time: 16ms
Avg Consume Time: 35ms
Min Consume Time: 3ms
Max Consume Time: 165ms
Med Consume Time: 37ms
95t Consume Time: 53ms

    3ms **********                                                   (    730)
   19ms *******************************************************      (   3767)
   35ms ************************************************************ (   4041)
   51ms *********************                                        (   1452)
  149ms                                                              (      9)
Host: localhost
Virtual Host: /
Username: guest
Password: *****
Heartbeat: 00:00:00
Publisher Confirmation: False
Split: False
Batch: enabled=True, limit=100, timeout=1ms
Running Request Response Benchmark
Message Count: 10000
Clients: 10
Durable: False
Prefetch Count: 100
Concurrency Limit: 2
Total consume duration: 0:00:50.5640497
Consume message rate: 197.77 (msg/s)
Total request duration: 0:00:50.5812163
Request rate: 197.70 (msg/s)
Concurrent Consumer Count: 2
Avg Request Time: 50ms
Min Request Time: 6ms
Max Request Time: 130ms
Med Request Time: 60ms
95t Request Time: 69ms
Avg Consume Time: 33ms
Min Consume Time: 1ms
Max Consume Time: 75ms
Med Consume Time: 44ms
95t Consume Time: 52ms

Request duration distribution
    6ms ******                                                       (    540)
   18ms ********************                                         (   1814)
   31ms **************                                               (   1303)
   43ms ******                                                       (    554)
   56ms ************************************************************ (   5284)
   68ms **                                                           (    216)
   81ms                                                              (     30)
   93ms **                                                           (    258)


[NORMAL 31-03-2024] Field for icon and budget on add category

merging this pr because this already includes with expese form here he just added model


feat: pm guessing, skip install & skip git options

We made the following changes due to internal requirements, I'm opening this PR just in case you are interested in the features we intruduced.
We had also fixed #41 but I rolled it back to use your most recent changes.
changes

adds pm guessing feature (Closes #35)
adds option promptForNodePM (if setted to true it will ask for a pm and it will not use the new pm guessing feature to define which pm to use)
adds promptForLicense option (defaults to true). If setted to false, it will use UNLICENSED and not ask the user for a license
adds skipGitInit option, if setted to true it will skip git initialization step (can also be setted by --skip-git cli arg)
adds skipNpmInstall option, if setted to true it will skip npm install step (can also be setted by --skip-install cli arg)

merge master again it would fix CI

Merged👍
@all-contributors add @lucas-labs for code

https://github.com/uetchy/create-create-app/releases/tag/v7.3.0


File System on OO Documentserver not shrinking, after closing Documents in NC

Scenario:
Created some big docx, pptx, xlsx files and opened them in nc.
Problem:
Filesystem usage wont shrink, after closing the documents?
Is there any possible solution?
BR

Hello!
Please specify is this issue actual for now?

No its fixed
Von: Maxim Ossipov<EMAIL_ADDRESS>Gesendet: Donnerstag, 15. März 2018 14:35
An: ONLYOFFICE/onlyoffice-owncloud<EMAIL_ADDRESS>Cc: René Hofmann<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Betreff: Re: [ONLYOFFICE/onlyoffice-owncloud] File System on OO Documentserver not shrinking, after closing Documents in NC (#128)
Hello!
Please specify is this issue actual for now?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ONLYOFFICE_onlyoffice-2Downcloud_issues_128-23issuecomment-2D373377144&d=DwMCaQ&c=k8YJ84Y2YEMo5BmkG-FRKlhXpB6ifmQmz0tZEfnu3PM&r=lL8vrlW7JuBUyVlkSXRKg-fYwkz2gHAY_iEyexQx1I8&m=7L_iYI48Bvryr1oGyvVkkzuirUeUpIlARbUUzd5rxF4&s=J332eURfgJ1MVeRTqRhB7hS755a0wSEC5k8s6TvN0-Y&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_Af7nKcwxQUbel9653CZ7DNj1EiT1WVOYks5tem3wgaJpZM4QwRDx&d=DwMCaQ&c=k8YJ84Y2YEMo5BmkG-FRKlhXpB6ifmQmz0tZEfnu3PM&r=lL8vrlW7JuBUyVlkSXRKg-fYwkz2gHAY_iEyexQx1I8&m=7L_iYI48Bvryr1oGyvVkkzuirUeUpIlARbUUzd5rxF4&s=Vl1RbYhpPQPAWoSfgFfes-R4o5oPbFutbh1o5FrhEzk&e=.


Upgrade Ember-CLI & Ember-CLI-Dependency-Checker

Fix test to add hasDependencies to mock project object.

:+1:

Thanks!


Cannot find module error

Hi,
I'm trying to use local-action. But I'm getting error
Error: Cannot find module<EMAIL_ADDRESS>Require stack:
- internal/preload
    at Module._resolveFilename (node:internal/modules/cjs/loader:1143:15)
    at Module._load (node:internal/modules/cjs/loader:984:27)
    at internalRequire (node:internal/modules/cjs/loader:174:19)
    at Module._preloadModules (node:internal/modules/cjs/loader:1574:5)
    at loadPreloadModules (node:internal/process/pre_execution:723:5)
    at setupUserModules (node:internal/process/pre_execution:203:5)
    at prepareExecution (node:internal/process/pre_execution:159:5)
    at prepareMainThreadExecution (node:internal/process/pre_execution:54:10)
    at node:internal/main/run_main_module:11:19 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ 'internal/preload' ]

I tried both ways of installation - via npm (npm i -g @github/local-action) and from cloned repository. In both scenarios I'm getting this error. With cloned repository just module path is changed.
I'm getting this error when I'm trying to run my local action locally, but also when I run help and version commands (local-action --help, local-action --version).
I see that path<EMAIL_ADDRESS>does not contain slashes or backslashes, maybe here something is wrong? Do you know what I should do to use local-action?

Hmmm...definitely looks like an issue with path resolution on Windows vs macOS/Linux. I will test this out a bit today and reply back when I have some info :)

This should be fixed in v1.5.0 of @github/local-action :) Please try installing the latest version and let me know if you run into any issues!

@ncalteen
now it works, thanks!

Awesome, glad to hear it!


[FLINK-9933] Simplify taskmanager memory default values

What is the purpose of the change
This pull request simplify taskmanager memory default values
Brief change log

Simplify taskmanager memory default values

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

cc @zentol can you review this?

@dawidwys thanks for your suggestion, will process these issues you mentioned.

@dawidwys can you review this PR?

+1, merging


🐛  fixing indexing bug in comparison_viz()

    if all(isinstance(n, str) for n in [comparison.iloc[:,1][x] for x in np.arange(comparison.shape[0])]) != True:
        raise TypeError("Comparison Models column must only contain type string")

[comparison.iloc[:,1][x] I think this should be [comparison.iloc[:,0][x] so that it's looking at the first column and not the second column.
@talhaadnan100 any chance you can take a look and change if necessary?

try?
    for j in np.arange(0,comparison.shape[0] -1,1):
        if type(comparison.iloc[:,0][j]) != type("string"):
           raise TypeError("Comparison Models column must only contain type string")

Found another culprit!
test_output_comparison_viz() was failing with the df that was passed, because had 8 cols. I made a copy without the index col so that it satisfied the 7 col rule and so that the first col is a col of strings in order to satisfy the other test. Should be ok now!
Will send PR with changes shortly!

Fixed it
Pull Request : https://github.com/UBC-MDS/SklearncomPYre/pull/32
Thanks


[release-v1.6] Add kn-plugin -source-kafka & -event & -workflow

Per title.
Adds plugins:

kn-plugin-source-kafka
kn-plugin-event
kn-plugin-workflow

/cc @vyasgun

We need to get #25 first to fix e2e tests.

Merging manually.


cant use with dpemote

is it possible to use it with dpemote?

Not yet. You need to follow the documentation instructions to add support for this resource yourself https://docs.pixelprecision.dev/adjust-animation/other-scripts-integration/other


Add support for streaming audio files

Description
Add an endpoint to stream the audio in chunks.
Acceptance Criteria

Users should be able to stream audios that exist
If any errors occurred, the endpoint should return valid HTTP errors
If the file exists, the file should be served in chunks
If the user does not have a valid subscription, it should throw access forbidden
We should only serve 1 chunk more that consumed.
If the user fails to submit a corresponding stream transaction after 4 chunks are served, we should stop the streaming with a valid error message
The functionality should be tested.

We decided to take a different approach and this ticket is no longer valid.


[text-analytics] Skip LRO tests until fixes

Packages impacted by this PR
ai-text-analytics
Issues associated with this PR
#23894
Describe the problem that is addressed by this PR
Skip the test because the pointer is invalid. Wait for the fix from the service teams
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


Request: Set permissions of users invited to Invite-Only Stream

It'd be helpful if I could set different levels of permissions for users that I invite to the Stream I've created.
Permissions could be various levels of most strict to least strict, such as:
Most Strict - User can view chat, but cannot reply to chat. User cannot add new members to this Stream, and cannot create new topics (essentially letting the Stream or topic creator use it as an "announcements" channel that can't be cluttered up with chat).
Least Strict - User can reply to chat, create new topics, and remove or add other users to this Stream (essentially identifying a user as having all the privileges the Stream "creator" has).
It might be easier and more clear to implement this by having different user roles such as "Creator", "Administrator", "Moderator", "User", and "Bot".
If there's any additional questions about this, please let me know. Thanks!

Agreed that we probably will need to do some form of stream permission levels eventually.  @wdaher do you have ideas for what the right model structure should be here?

Truthfully, not really - I'd probably look at e.g. the permission model in something like Google Groups for inspiration — the roles @Wylfenrix seem reasonable: e.g. can talk, can add members to stream, can modify members in stream, can create new topics, etc.
Having said that, I'd encourage us not to implement this right now — it increases the product's complexity significantly and I don't think the average user really wants or needs it.

Hey @timabbott, @krtkmj is looking into potentially picking this up.
Is @wdaher's assessment still right? I noticed that you've added it to the 2016 roadmap.

Cool.  I like the permissions model approach discussed above.  Here's how I'd sequence things:
(1) Design an implement the interface for storing and accessing stream permissions.  I think this should probably be stored as attributes on the Subscription object, since that's our already existing (user, stream) pair object.  We should consider doing something similar to UserMessage.flags, where we use a BitField called 'permissions' for the attributes.  This should be its own commit (or commits), setting up the infrastructure for permissions.
(2) Create a stream_admin permission level, giving admin permission for just that stream.  Initially I'd just make the stream_owner permission set via a management command so that we can focus on building the infrastructure.
(3a) Add routes to add/remove permissions, and a UI for changing permissions of users on a stream (probably will involve some reworking on the /#streams page UI).
(3b) Add additional permission levels.  This can be started on once we have (2) done; we can implement the permissions levels and add tests that they work correctly, even without a UI for controlling them.
In terms of the actual permissions, it seems like we will eventually have something like these levels:

Stream Administrator (can do anything a realm administrator can do with the stream, manage members, etc.).
Moderator (can add/remove, but not change owners or moderators.  Probably would skip for now until we have a clear need).
Regular member (can send/receive anything on a stream).
Read-only (can only read messages on the stream).

(we will likely want to think through the names more, and might add a few more).

This is now coveredin #3783.


Depend on bitcoin v0.32.0-rc1

This is not a merge candidate, just for testing the current bitcoin release candidate.
Test the latest bitcoin release candidate. Includes bumping the version numbers so we can use this branch to test crates further up the stack.

superseded by https://github.com/bitcoindevkit/rust-electrum-client/pull/133


Simplify template code with {{notification-container}} component

This PR add a {{notification-container}} component which reduces the code that users have to paste into their own templates down to a single component.

Thanks!


imp: address ADR 8 review suggestions

Description
A follow up pr for review suggestions of #1976
Commit Message / Changelog Entry
N/A

see the guidelines for commit messages. (view raw markdown for examples)

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md).
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards and Go style guide.
[ ] Wrote unit and integration tests.
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/).
[ ] Added relevant godoc comments.
[ ] Provide a commit message to be used for the changelog entry in the PR description for review.
[ ] Re-reviewed Files changed in the Github PR explorer.
[ ] Review Codecov Report in the comment section below once CI passes.

bit late to the party but LGTM, thanks for taking this on


Metrics server deployment cannot find 'extension-apiserver-authentication' configmap

Describe the bug
I tried to install metrics-server into k3s so I can get kubectl top pods to work.
Once I have deployed metrics-server (with the default manifests in their repo), the metrics-server goes into a Crash Loop.
Checking the logs it seems that it is looking for a configmap named 'extension-apiserver-authentication':
I0322 11:02:58.536227       1 serving.go:273] Generated self-signed cert (apiserver.local.config/certificates/apiserver.crt, apiserver.local.config/certificates/apiserver.key)
W0322 11:02:59.211219       1 authentication.go:245] Unable to get configmap/extension-apiserver-authentication in kube-system.  Usually fixed by 'kubectl create rolebinding -n kube-system ROLE_NAME --role=extension-apiserver-authentication-reader --serviceaccount=YOUR_NS:YOUR_SA'
Error: configmaps "extension-apiserver-authentication" not found

Apparently that's something that the api-server is supposed to create:
https://kubernetes.io/docs/tasks/access-kubernetes-api/configure-aggregation-layer/#kubernetes-apiserver-client-authentication
(Sidenote: I wonder if k3s supports those startup args).
To Reproduce
Steps to reproduce the behavior:

Install metrics-server by applying the manifests from https://github.com/kubernetes-incubator/metrics-server/tree/master/deploy/1.8%2B
Observe CrashLoopBackoff behaviour with kubectl get pods -n kube-system

Expected behavior
metrics server should be able to provide node and pod metrics to the api server through the metrics API. kubectl top nodes and kubectl top pods should then work properly.

It also seems like #208 has the same root cause.

Related: #252

Kubectl top works now on v0.4.0-rc3. See https://github.com/rancher/k3s/issues/252#issuecomment-483474051

great!


String variable was not recognized when passed as a param

Originated from PR #256, fixes issue #244


X-label rotation - negative values not adjusting x-axis height dynamically

When I do not specify a static x-axis label height, I am able to rotate the X-axis labels using positive values, and the x-axis height updates accordingly based on the labels' size.
Example: http://jsfiddle.net/4cbhksuq/2/
However, the x-axis height does not seem to update dynamically for negative values.
Example: http://jsfiddle.net/y152jrrk/2/
Notice the x-axis height difference between the two examples.
It seems like the only way to enforce visible x-axis labels rotated negatively is to enforce a static x-axis height -- which is not a viable option for my application since the X-axis labels are determined by user input and can vary greatly in string length.

hi look at #1511

I also opened a PR that makes the fix proposed in #1511  (https://github.com/c3js/c3/pull/1766)

Closing in favor of #1511


zsh not support adb logcat *:E?!!!

when enter the command "adb logcat *:E", i got the error 'zsh: no matches found: *:E'....

Hi! Did you got the chance to test my solution?

yeah.
adb logcat '*:E' worked.
thanks a lot.

因为zsh缺省情况下始终自己解释这个firefox*，而不会传递给adb logcat来解释。
open ~/.zshrc add line:
setopt no_nomatch
and perform source .zshrc command

This worked
$: adb logcat '*:S' TSLocationManager:V


Dosage heading is misaligned in the prescription module #8645

Proposed Changes

Fixes #8645
added css (elipsis) for alignment

@ohcnetwork/care-fe-code-reviewers
Merge Checklist

[ ] Add specs that demonstrate bug / test a new feature.
[ ] Update product documentation.
[ ] Ensure that UI text is kept in I18n files.
[ ] Prep screenshot or demo video for changelog entry, and attach it to issue.
[ ] Request for Peer Reviews
[ ] Completion of QA

Added elipsis as it seemed a bit clean and aligned.

Whereas with wrapping it in new line, the width adjustment seems somewhat wrong(alignment):

Do let me know in case of any changes.

@nihal467 @rithviknishad kindly review the PR .

[ ] keep everything in the center , in your current solution heading , excess indicator medicine and medicine with limited indicator, all are in multiple alignment

[ ]  keep everything in the center , in your current solution heading , excess indicator medicine and medicine with limited indicator, all are in multiple alignment

@nihal467 the parts medicine and dosage are not separate table columns but a single div with "justify-between" . Do you want me to change them to separate table columns?

Yup, let's try that.

Here is the improvement @nihal467 @rithviknishad

Improvement:

@Sulochan-khadka can you clear the merge conflict
CC: @rithviknishad

@Sulochan-khadka can you clear the merge conflict
CC: @rithviknishad

While merging , it is showing error in this line : "import { pluginMap } from "./pluginMap"; " Does this file exists. @nihal467 @rithviknishad

https://github.com/ohcnetwork/care_fe?tab=readme-ov-file#first-time-setup will create the file

@nihal467 @rithviknishad Let me know if anything else is required.

[ ] In mobile view, the indicator and dosage should be displayed below the medicine and other details, as seen on current develop. This behavior is breaking in your PR, so please ensure it remains consistent.

@Sulochan-khadka

[ ]  In mobile view, the indicator and dosage should be displayed below the medicine and other details, as seen on current develop. This behavior is breaking in your PR, so please ensure it remains consistent.

made the necessary changes. The result is:


deployment template in chart missing requests and limits

This can help the scheduler in correctly planning the deployment and provide an example for customization. If there is no specific guidance from offering team something like:
resources:
  requests:
    memory: "1024Mi"
    cpu: "250m"
  limits:
    memory: "2048Mi"
    cpu: "2000m"

Since the container also is using ephemeral storage, there may be a benefit to setting a limit on that too: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#configurations-for-local-ephemeral-storage

This should be held until there is clearer sizing information from the product team as there may be undesirable side effects of setting limits without documentation as to what limits to use


Route53 Record module does not support weighted_records

Currently the route53 record module doesn't support weighted_records.
Using a dynamic block would solve one part of the problem:
  dynamic "weighted_routing_policy" {
    for_each = length(keys(lookup(each.value, "weighted_routing_policy", {}))) == 0 ? [] : [true]

    content {
      weight = each.value.weighted_routing_policy.weight
    }
  }

Unfortunately, the locals calculated would produce non-unique keys as the name and type would be identical. Re-writing the for loop would produce unique keys:
recordsets = { for idx, rs in var.records : "${rs.name} ${idx}" => rs }

I tested it this way works well without editing the for loop
dynamic "weighted_routing_policy" {
    for_each = length(keys(lookup(each.value, "weighted_routing_policy", {}))) == 0 ? [] : [true]

    content {
      weight                 = lookup(each.value.weighted_routing_policy,"weight", true)
    }
  }


[Jenkins Integration Test] PubSubToGCS : csv output : Create Test

[Jenkins Integration Test] PubSubToGCS : csv output : Create Test

Requesting Updates

PubSubToGCS does not support CSV as of now. Still in discussion with @vanshaj-bhatia regarding this.

Closing issue for now as PubSubToGCS does not support CSV.


Aggregate Command Handler Creation Policy. AggregateIdentifier issue

Hello. Was trying to apply new approach implemented  here
https://github.com/AxonFramework/AxonFramework/pull/1281
and described here
https://github.com/AxonIQ/reference-guide/pull/121/files
As a result, getting

org.axonframework.common.AxonConfigurationException: Identifier must be set after handling the message

My situation is the following:
Aggregate identifier is an object
@AggregateIdentifier
@JsonProperty
private lateinit var directDebitId: DirectDebitId
its "toString()" methods evaluates to smth like "121212"
Command, which I'm sending and trying to create or update aggregate
@CreationPolicy(AggregateCreationPolicy.CREATE_IF_MISSING)
@CommandHandler
fun handle(command: RestoreDirectDebitStateCommand) {
....
}
Command class
data class RestoreDirectDebitStateCommand(
@TargetAggregateIdentifier val creditId: String,
var data: DirectDebitAggregateDto
)
if to summarize, both DirectDebitId and  RestoreDirectDebitStateCommand aggregate identifier evaluates to the same value, aggregate is successfully found by  @TargetAggregateIdentifier in repo, but fails while asserts condition.
The question, is it correct to compare identifiers in the method below, instead of its "toString" result?
   @Override
        public Object handle(CommandMessage<?> command) throws Exception {
            VersionedAggregateIdentifier iv = commandTargetResolver.resolveTarget(command);
            Aggregate<T> inst = repository.loadOrCreate(iv.getIdentifier(), factoryMethod);
            Object result = inst.handle(command);
            assertThat(inst.identifier(), id -> id != null && id.equals(iv.getIdentifier()),
                       "Identifier must be set after handling the message");
            return result;
        }

The validation is indeed intentional and required, as we need to ensure the aggregate identifier is not null and equals the expected identifier.
Make sure to set the DirectDebitId is set in the @EventSourcingHandler of the event published in that command handler. If you're not doing event sourcing, ensure to set the id in the command handler directly.
Please let me know if that get's the problem solved.
If not, sharing more of the aggregate as code snippets (rather than simply pasted) will help us figure out the problem.
Lastly, note that usage questions should be targeted towards StackOverflow or the Usergroup.

Hello. Below is the code snippets
@Aggregate(type = "direct-debit")
class DirectDebitAggregate {
@AggregateIdentifier
@JsonProperty
private lateinit var directDebitId: DirectDebitId
@AggregateMember
@JsonProperty
private val directDebitPeriods = mutableListOf()
@JsonProperty
private var ddRejectedByDebtor = false
constructor()
@CommandHandler
constructor(command: SubscribeDirectDebitCommand) {
apply(DirectDebitSubscribedEvent(DirectDebitId(command.creditId, command.bank)))
log.info("[DD ${command.creditId}][SUBSCRIBED]")
}
@CommandHandler
fun handle(command: RestoreDirectDebitStateCommand) {
apply(DirectDebitOwnerMigrationRestoredEvent(command.creditId, command.data))
log.info("[DD ${command.creditId}][RESTORED]")
}
@EventSourcingHandler
fun on(event: DirectDebitSubscribedEvent) {
directDebitId = event.directDebitId
}
@EventSourcingHandler
fun on(event: DirectDebitOwnerMigrationRestoredEvent) {
directDebitId = event.data.directDebitId
ddRejectedByDebtor = event.data.ddRejectedByDebtor
directDebitPeriods.addAll(event.data.directDebitPeriods)
}
}
data class DirectDebitId(val creditId: CreditId, val bank: String) {
override fun toString(): String {
return creditId.id.toString()
}
}
================================
data class RestoreDirectDebitStateCommand(@TargetAggregateIdentifier val creditId: Long,
var data: DirectDebitAggregateDto)
As I've pointed before, actual aggregate identifier is the result of the "toString()" method.
My thoughts is that assertion should be as following in order to make everything work
assertThat(inst.identifier(), id -> id != null && id.toString().equals(iv.toString().getIdentifier()),
"Identifier must be set after handling the message");
Didn't checked whether iv object can be null.

As your snippets look completely correct, I've done some additional validation through the code by updating the test class in #1355 (since that pull request solves another issue around the new create-or-update feature).
You've proven to be completely correct on the matter @pavel-zhoidz.
Running a complete test run of the project as we speak.
Any how, expect a fix to this issue in the aforementioned pull request.
Additionally, I'd like to thank you for bringing this issue to light.
We always very much value the input from our users.
One last note though. Would you mind to to actually changes the snippets to code blocks in the future? That ensures the indenting is maintained on the issue page, more clearly depicting the problem case and (if any) suggested solutions.

@smcvb  Thanks for quick reply and issue fix!
Will follow your advice concerning code snippets usage in future.

No worries @pavel-zhoidz, happy to help! Hope to see you again, IRL or online, in the future. :-)


Exercise 2.37 Error

a should be 4 because the third line is 'decltype(a = b) d  = a;'

No, the compiler analyzed the expression (a = b) to determine its type but does not evaluate the expression. Please check 2.5.3.

Closing old tickets


fix(plugins/grpc-gateway):handle json decode error safely(#10028)

Summary

Checklist

[x] The Pull Request has tests
[x] A changelog file has been created under changelog/unreleased/kong or skip-changelog label added on PR if changelog is unnecessary. README.md
[x] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Issue reference

Fix #10028

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

updated. PTAL @oowl

Merged, thank you for your contribution!

Merged, thank you for your contribution!

Thank you for your help and patience again.

@beardnick Notice that this fix will land in 3.8, as it was merged after 3.7 Feature Freeze and we don't have bandwidth to backport it in time.


Zygote.forward Usage in RayTracer.jl/docs/src/inverse_lighting.md

Hello, I going through some of your posted tutorials and I ran into a bug when using the Zygote.forward function (see below). I looked through some 0.4 and 0.5 versions of Zygote and couldn't find that function, so I am curious what that function is being used for. My current guess is that it's being used like the forwarddiff function in Zygote.
for i in 1:401
    loss, back_fn = Zygote.forward(light_guess) do L
        sum((render(L, scene) .- target_img) .^ 2)
    end
    @show loss
    gs = back_fn(1.0f0)
    update!(opt, light_guess.intensity, gs[1].intensity)
    update!(opt, light_guess.position, gs[1].position)
    if i % 5 == 1
        save("./results_inv_lighting/iteration_$i.png",
             showimg(zeroonenorm(render(light_guess, scene))))
    end
end

In the latest version of Zygote, it is Zygote.pullback


Avenger grading turnaround overview

Avenger grading turnaround is crucial. Timely feedback on submitted assignments is known to correlated to achievement of learning outcomes.
If all staff see everyones average turnaround time, peer pressure tends to encourage quick turnaround.
What is the easiest way to achieve this in the Source Academy.

Do we want this?
We have the dashboard now, so this will just be an extra column there.

Yes, the staff dashboard is a starting point. Once people use it, we will get a clearer picture how to tweak it next time.


API DEMO: find_with_linked

PR Info

An API demo for https://github.com/SeaQL/sea-orm/issues/1242

I will closed this PR. @darkmmon please file your PR :P


Unable to add freetext values with onebox or tag input types when field uses a vocabulary

Describe the bug
In the DSpace 4/5/6 XMLUI submission form it was possible to use a onebox input type with an external <vocabulary>, which allowed editors to either select values from a popup list or type a value freely:

As of DSpace 7.x this behavior is no longer possible with both the onebox and tag input types:

In the screenshot above I have DSpace 7.5 configured with two fields, one a onebox and the other a tag type, both of which are using the srsc vocabulary. I am unable to enter any keywords that don't come from the vocabulary (I tried with comma and semicolon as you can see).
To Reproduce
Steps to reproduce the behavior:

Create an input field in your submission-forms.xml of type onebox or tag and configure it to use an external vocabulary XML file like srsc.
Then try to type free text values in the input box in the Angular submission form

Expected behavior
It's unclear if this behavior in DSpace 4/5/6 was by design, or just happenstance. In any case, it is implied that, without the closed=true attribute the vocabulary. Maybe that's the actual bug here...
Related Work
Perhaps related to this issue, ironically submitted by me: https://github.com/DSpace/DSpace/issues/6593. Also unclear if this is actually a bug in the Angular frontend.

Hi @tdonohue. I want to take this issue.
cc. @alanorth

@hugo-escire : Thanks for volunteering! I'll assign you then.

Hi @tdonohue, I'm going to work on this issue this Friday.
Greetings 👋

I was digging into this with the Angular devtools and noticed that the form properties are always set to editable: false, which I'm not sure if is related? I was hoping to find that it's a simple fix.

Hi @alanorth, @tdonohue.  I had not been able to work on this issue. I hope to be able to release it as soon as possible. 🖖.
I´m installing the back-end on a VM to can replicate the bug.

Hi @alanorth, @tdonohue .
I've been debugging. I got the onebox component to support free text. But with the configuration that you provided me, I realized that by default the closed property, vocabulary, comes true. I tried to change it, setting it to false, but it remains true.
In any case, modifications must be made to the front, so that free text can be accepted in both components.

Thanks for the update @hugo-escire. It sounds like there may be a bug in the backend then, if the closed=false property in the input form is coming as true to Angular. Is that only for tag input type?

@alanorth
I have this problem for both components (onebox and tag). Should I wait to see if it resolves on the back side?

@hugo-escire I don't know either. I tried to debug by adding three fields with the default, closed explicitly false, and closed explicitly true:
            <row>
                <field>
                    <dc-schema>dcterms</dc-schema>
                    <dc-element>subject</dc-element>
                    <dc-qualifier></dc-qualifier>
                    <repeatable>true</repeatable>
                    Subjects (default)
                    <input-type>onebox</input-type>
                    <required></required>
                    <vocabulary>srsc</vocabulary>
                </field>
            </row>
            <row>
                <field>
                    <dc-schema>dcterms</dc-schema>
                    <dc-element>subject</dc-element>
                    <dc-qualifier></dc-qualifier>
                    <repeatable>true</repeatable>
                    Subjects (closed false)
                    <input-type>onebox</input-type>
                    <required></required>
                    <vocabulary closed="false">srsc</vocabulary>
                </field>
            </row>
            <row>
                <field>
                    <dc-schema>dcterms</dc-schema>
                    <dc-element>subject</dc-element>
                    <dc-qualifier></dc-qualifier>
                    <repeatable>true</repeatable>
                    Subjects (closed true)
                    <input-type>onebox</input-type>
                    <required></required>
                    <vocabulary closed="true">srsc</vocabulary>
                </field>
            </row>

But I don't know how to see the configuration passed from the backend to Angular. @paulo-graca showed above that Angular was receiving the correct submission form configuration. Is that from Angular dev tools or what?

@hugo-escire We had investigated this issue internally a while back where we added a separate free-text field during the lookup.
Could you let me know what the current state of this is, and if we could be of any assistance?
Note that we wanted to avoid to make the lookup optional as that would be inviting people to never look anything up (Which seemed like a bad practice)
So the usecase would be to use the controlled vocab, and if it's found, that value can be selected.
If it can't be found, the manual value could be filled in


Fixes #714.# OverviewWith this change, all release stuff can be driven from GitHub actions.Previously, releases were a bit convoluted, as some steps were done locally, and some things were done in GitHub, as a side effect of updating branches or creating GH releases.Now, everything is done by GitHub actions, driven by a single workflow, release.yml. The entire process flows from the top down, nothing happens as a side effect. Everything should be idempotent (with the exception of publishing to crates.io/PyPI, which won't accept duplicate versions).# Details* Adopt 3 release channels, with corresponding branches  * nightly pulls from main every night (if there are changes)  * beta pulls from nightly every 3 months, ~1 week before release  * stable pulls from beta every 3 months* switch from null version 0.0.0+development to correct version on each channel  * main: X.Y.Z-dev  * nightly: X.Y.Z-nightly.YYYYMMDD.N  * beta: X.Y.Z-beta.YYYYMMDD.N  * stable: X.Y.Z*

Fixes #714.
Phase 2 of nightly builds. This change rebuilds the workflows.
Overview
With this change, all release stuff can be driven from GitHub actions.
Previously, releases were a bit convoluted, as some steps were done locally, and some things were done in GitHub, as a side effect of updating branches or creating GH releases.
Now, everything is done by GitHub actions, driven by a single workflow, release.yml. The entire process flows from the top down, nothing happens as a side effect. Everything should be idempotent (with the exception of publishing to crates.io/PyPI, which won't accept duplicate versions).
Details

Adopt 3 release channels, with corresponding branches

nightly pulls from main every night (if there are changes)
beta pulls from nightly every 3 months, ~1 week before release
stable pulls from beta every 3 months

switch from null version 0.0.0+development to correct version on each channel

main: X.Y.Z-dev
nightly: X.Y.Z-nightly.YYYYMMDD.N
beta: X.Y.Z-beta.YYYYMMDD.N
stable: X.Y.Z

Modularize workflows

nightly.yml: Simple cron job to run release.yml
release.yml: Main driver. Takes a channel as input, then runs the following:

credential-check.yml: Used as prelude for all workflows that mutate
prepare.yml: Pulls upstream into channel, updates versions
build.yml: Builds Rust and Python binaries, uploads Python wheel to artifact
sanity-test.yml: Installs Python wheel (either from local pre-published version, or from PyPI published version), runs sanity test
publish.yml: Downloads Python wheel artifact, publishes to PyPI, publishes to crates.io, publishes to GitHub
latex-release.yml: Generates LaTeX files for this release, pushes to artifacts repo (could be refactored and merged with latex.yml)
docs.yml: Generates docs for all releases, downloads LaTeX files, pushes togh-pages branch

All of the above can be run manually (from web or CLI) as individual jobs, in case we need to fix a bad state

Clean up tools scripts

channel_tool.py: For pulling from upstream, updating versions and CHANGELOG
publish_tool.py: For publishing to PyPI, crates.io, GitHub, sanity testing Python
utils.py: Shared stuff

Unresolved issues

lannonbr/repo-permission-check-action (used by credential-check.yml) throws a node12 warning
opendp/pull-request-artifacts (our clone) throws a node12 warning
nbsphinx complains about pandoc versions: https://github.com/opendp/opendp/actions/runs/5545497947/jobs/10124623654#step:3:1434

Current dependencies on/for this PR:

main

PR #877

PR #878   👈

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

main

PR #877

PR #878   👈

This comment was auto-generated by Graphite.

This PR got hashed because of a copy/paste error, closing and starting over.


Multiple file validation is not working. what am i wrong?

everything looks ok, but i can't understand. Maybe, there could any problem in Yii2 file validation. it's working when i'm removing file rule in model. Can you help me?

I think the problem is that neither the first nor the second version of Yii contains validation classes to deal with arrays. That was the reason why I've used that powerfull Symfony2 component in one of my projects for complex validation. See the answer here.

@serhatozles please provide the full stack trace of the error so we can easier find the cause.

@cebe i found where is wrong. the wrong is here: $model->load(Yii::$app->request->post());
load function is not loading files request. 'couse it is not coming with $_POST is coming with $_FILES. so load function couldn't find a file. There is not a problem if we are using like this;
$model->load(Yii::$app->request->post());
$model->images = UploadedFile::getInstances($model, 'images');
but if it is like this, there is something wrong;
$model->images = UploadedFile::getInstances($model, 'images');
$model->load(Yii::$app->request->post());
So the wrong is me :d


Yaml image property not found on type 'Microsoft.Tye.ConfigModel.ConfigService' at tye run time

Describe the bug
While running the Getting Started, I came to the redis piece (https://github.com/dotnet/tye/blob/master/docs/redis.md).
To Reproduce
When trying tye run an error appears. I double checked indentation and copy/paste potential origins.
tye.yaml contents:
# tye application configuration file
# read all about it at https://github.com/dotnet/tye
#
# when you've given us a try, we'd love to know what you think:
#    https://aka.ms/AA7q20u
#
name: tye-microservice
services:
- name: frontend
  project: frontend/frontend.csproj
- name: backend
  project: backend/backend.csproj
- name: redis
  image: redis

Exception:
An unhandled exception has occurred, how unseemly:
YamlDotNet.Core.YamlException: (Line: 13, Col: 3, Idx: 324) - (Line: 13, Col: 3, Idx: 324): Exception during deserialization
---> System.Runtime.Serialization.SerializationException: Property 'image' not found on type 'Microsoft.Tye.ConfigModel.ConfigService'.
at YamlDotNet.Serialization.TypeInspectors.TypeInspectorSkeleton.GetProperty(Type type, Object container, String name, Boolean ignoreUnmatched)
at YamlDotNet.Serialization.NodeDeserializers.ObjectNodeDeserializer.YamlDotNet.Serialization.INodeDeserializer.Deserialize(IParser parser, Type expectedType, Func3 nestedObjectDeserializer, Object& value)    at YamlDotNet.Serialization.ValueDeserializers.NodeValueDeserializer.DeserializeValue(IParser parser, Type expectedType, SerializerState state, IValueDeserializer nestedObjectDeserializer)    --- End of inner exception stack trace ---    at YamlDotNet.Serialization.ValueDeserializers.NodeValueDeserializer.DeserializeValue(IParser parser, Type expectedType, SerializerState state, IValueDeserializer nestedObjectDeserializer)    at YamlDotNet.Serialization.ValueDeserializers.AliasValueDeserializer.DeserializeValue(IParser parser, Type expectedType, SerializerState state, IValueDeserializer nestedObjectDeserializer)    at YamlDotNet.Serialization.ValueDeserializers.NodeValueDeserializer.<>c__DisplayClass3_0.<DeserializeValue>b__0(IParser r, Type t)    at YamlDotNet.Serialization.NodeDeserializers.CollectionNodeDeserializer.DeserializeHelper(Type tItem, IParser parser, Func3 nestedObjectDeserializer, IList result, Boolean canUpdate)
at YamlDotNet.Serialization.NodeDeserializers.CollectionNodeDeserializer.YamlDotNet.Serialization.INodeDeserializer.Deserialize(IParser parser, Type expectedType, Func3 nestedObjectDeserializer, Object& value)    at YamlDotNet.Serialization.ValueDeserializers.NodeValueDeserializer.DeserializeValue(IParser parser, Type expectedType, SerializerState state, IValueDeserializer nestedObjectDeserializer)    at YamlDotNet.Serialization.ValueDeserializers.AliasValueDeserializer.DeserializeValue(IParser parser, Type expectedType, SerializerState state, IValueDeserializer nestedObjectDeserializer)    at YamlDotNet.Serialization.ValueDeserializers.NodeValueDeserializer.<>c__DisplayClass3_0.<DeserializeValue>b__0(IParser r, Type t)    at YamlDotNet.Serialization.NodeDeserializers.ObjectNodeDeserializer.YamlDotNet.Serialization.INodeDeserializer.Deserialize(IParser parser, Type expectedType, Func3 nestedObjectDeserializer, Object& value)
at YamlDotNet.Serialization.ValueDeserializers.NodeValueDeserializer.DeserializeValue(IParser parser, Type expectedType, SerializerState state, IValueDeserializer nestedObjectDeserializer)
at YamlDotNet.Serialization.ValueDeserializers.AliasValueDeserializer.DeserializeValue(IParser parser, Type expectedType, SerializerState state, IValueDeserializer nestedObjectDeserializer)
at YamlDotNet.Serialization.Deserializer.Deserialize(IParser parser, Type type)
at YamlDotNet.Serialization.Deserializer.Deserialize[T](IParser parser)
at YamlDotNet.Serialization.Deserializer.Deserialize[T](TextReader input)
at Microsoft.Tye.ConfigModel.ConfigFactory.FromYaml(FileInfo file) in //src/tye/ConfigModel/ConfigFactory.cs:line 95
at Microsoft.Tye.ConfigModel.ConfigFactory.FromFile(FileInfo file) in //src/tye/ConfigModel/ConfigFactory.cs:line 33
at Microsoft.Tye.Program.<>c__DisplayClass9_0.<b__0>d.MoveNext() in /_/src/tye/Program.RunCommand.cs:line 66
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Invocation.CommandHandler.GetResultCodeAsync(Object value, InvocationContext context)
at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<b__19_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<b__10_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass12_0.<b__0>d.MoveNext()
Further technical details
Have none to provide :(

tye --version
0.1.0-alpha.20168.8+f45b9444d4894009bde48e2a3411a52dd09497b1

The platform: macOS

It's called dockerImage in your build. Later versions are image.

@davidfowl we should probably update the build in the tutorial as well as updating the readme to show the latest nightly build.


Unexpected error for sufficient indentation

Describe the bug
An unexpected error is given for sufficient indentation. This comes from a .gitlab-ci.yml, GitLab does not complain about it. Also yq and yamllint don't report an error for this. However the vscode plugin marks it with an error.
I'm assuming that the redhat.vscode-yaml plugin is based on this Git repo.
To Reproduce
This piece of Yaml
---
- BAR: [a,
        b,
]
- FOO: [a, b]

vscode with the redhat.vscode-yaml plugin gives an error on line 4. All the rest of the yaml is flagged with lots of errors.
Expected behaviour
Any indentation on line 4 should be accepted as valid Yaml.
Versions (please complete the following information):

Environment: vscode
redhat.vscode-yaml: 1.14.0

You example is invalid YAML, due to insufficient indentation of the ]. This should really be reported by other tools, but even if they don't, it's still wrong.

Wow, that's not an answer I expected.
What's your explanation that there are so many "incorrect" implementations? I mean, the ones I checked are not some random hobby projects:

yq (well respected yaml tool)
GitLab
various Python yaml libraries
yaml-rust
JetBrains (CLion)

You can imagine that I cannot just go to any of them and tell them they have an invalid implementation.
BTW The Perl implementation requires at least three spaces on line 4 of my example
---
- BAR: [a,
        b,
   ]
- FOO: [a, b]

Perl::PP is being tested with yaml-test-suite (so they say in there README). If that's true then my test case is not tested.

This is covered at least by this test case, which does indeed show a number of implementations not matching the spec: https://matrix.yaml.info/details/9C9N.html

Thanks for the pointer. I'll take a look.


Erfan4lx is a scammer

Why you don't answer me after payment ?

More information : tg @frencheinou


[Enhancement]: Please publish Playtest 20221224

What changes would you like?
There is a new playtest release of OpenRA.
However it isn't available as snap. The latest/edge channel is on a version simply called main and it was last updated in May.
I see that there are continous builds by bot but nothing actually gets published.
https://www.openra.net/news/playtest-20221223/
Any extra information?
No response

OpenRA updated the playtest again.
https://www.openra.net/news/playtest-20230110/
Also they note that the new full release is near.

Thanks for the updates.


wd: make UADK v2 compatible with v1

Make UADK library include both interfaces from v1 and v2.
Signed-off-by: Haojian Zhuang<EMAIL_ADDRESS>

ok


maintainers: add cptMikky

Motivation for this change
add me as a maintainer
Things done

[ ] 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 nix-review --run "nix-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
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Are there any packages you will maintain?

Are there any packages you will maintain?

yes, I'm working on https://github.com/NixOS/nixpkgs/pull/73372 and plan to create a few others

Please add this commit to that PR otherwise evaluation will break if it goes in before this is in.
A PR should be mergeable by itself.


RBAC section in user guide need update.

We need update this section to specify permission to the new features such as image scan, etc.
Also the System wide role should include "regular user" in addition to sysadmin and anonymous.

Done #3181 .


[BUG] Using Write-Host in custom promt function causes prompt to break.

Steps to reproduce
Set a custom prompt function that uses Write-Host in $PROFILE, which is commonly done to have colorful prompts.
# Here's the $PROFILE
function prompt
{
	Write-Host ">" -nonewline
	return ""
}

Expected behavior
Prompt appears as >
Actual behavior
Prompt appears as >PS>>.  Upon entering text after the prompt, it changes to PS>. Hitting enter for the next command causes >PS>> to appear again.
Environment data

> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      6.0.0-rc
PSEdition                      Core
GitCommitId                    v6.0.0-rc
OS                             Linux 4.13.16-300.fc27.x86_64 #1 SMP Mon No...
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

I'm sure this is by design as you'll get the same results in Windows PowerShell. I would not recommend using Write-Host in the prompt option.
But, you could be creative and try something like this: (one of my old scripts)
function prompt
{
	## - This function will change the PS Console to enumerate each
	##   line preventing long pathnames:
	if ($host.UI.RawUI.CursorPosition.Y -eq 0)
	{
		"< $pwd > `n`r" + "PS [" + $host.UI.RawUI.CursorPosition.Y + "] > "
	}
	Else
	{
		"PS [" + $host.UI.RawUI.CursorPosition.Y + "] > "
	}
};

At least, will give you some ideas.

I believe This is lzybkr/PSReadLine#468 and is a bug in PSReadLine that will be fixed in a future version.

@pavelbraginskiy a Prerelease of PSReadline has beem added tot he PS Gallery which fixes this issue: https://www.powershellgallery.com/packages/PSReadline/2.0.0-beta1

@markekraus Thanks a bunch!


Ignore images for loading

Is there a way I can tell the loader not to resolve a url to images in a url()
Would like:
background-image: url('../img/some-image.gif');
to output the same thing:
background-image: url('../img/some-image.gif');

no, but you can use the raw-loader instead of the css-loader.

Thanks

This worked for me css-loader?url=false
https://github.com/webpack-contrib/mini-css-extract-plugin/issues/156#issuecomment-402265124


Implemented Steve v1 client v2.6

Implemented new Steve V1 client, and updated the validation tests to use the new Steve client. Also made a clear distinction between, Steve and the Kubernetes API clients, and split up the extensions to reflect this. Removed the v1 generated clients as well.
Issue:

Problem

There was a lot of confusion between using the v1 rancher controllers and the v1 clients to make v1 API calls. Also there were a lot of issues with attempting to use the Norman client generator to generate the structs and clients
Solution
 Implemented a Steve client that would be used to access all v1 Steve API endpoints
Testing
 Local and Jenkins testing
Engineering Testing
Manual Testing

Automated Testing

QA Testing Considerations

Regressions Considerations

@markusewalker @caliskanugur sorry guy one last review. I realized I missed one update in k3d.go. Thank you!


Add Comms to allow updating plots dynamically

This PR introduces Comms classes which allow bidirectionally communicating between the python process and a frontend. Additionally it gives Plot instances access to the current renderer and instantiates a Comms class, allowing updates to plots to be pushed to the frontend using the new refresh and push methods. Supports updating regular matplotlib plots, nbagg plots, mpld3 plots and bokeh plots.

Can you briefly summarize what new functionality this will support, and/or what types of simplifications to the codebase will be possible, depending on your motivation here?

Sure, probably the right place to put this even though it's only a first step in that direction.
Eventually the aim of Comms is to allow any bidirectional communication between a Python process, whether that is a webserver or a Jupyter kernel, and a frontend. This will allow defining complex interactions using the upcoming Streams interface but should also eventually replace the existing mechanisms on our widgets to communicate widget state to python and update a plot on the frontend. One remaining obstacle will be to appropriately throttle events sent from the frontend to the python process.

At a higher level, I think of comms as offering a way to standardize communication with HoloViews visualizations that live in the browser (not necessarily the notebook). This should help simplify things and make it easier to implement new functionality whereby plots get updated over some communication channel (Jupyter Comms, websockets, some raw TCP socket, pipes, RPC etc).

And Bokeh server?

And Bokeh server?

Most probably! We will definitely find a way to communicate with Bokeh visualizations without relying on Jupyter comms.

Made a couple of comments regarding naming.
Overall, I'm very pleased! This looks a lot clearer to me, the APIs look clean and I feel that I understand how it all works.
I realize it is still work-in-progress but it is already looking good!

I've now reviewed this PR and made all the comments I want to make. Overall, I'm really pleased with all of this! Once these comments are addressed, I am happy to merge.


Is there a tide roadmap?

Hi 👋
I'm a user of tide, and really enjoy how pleasant it makes building webservers in rust! However I haven't been able to find much about what is being worked on for tide or rather what the focus for the future of tide is in the near and long term.
Does the http-rs team have a roadmap for what next for tide?

Hey @kennetpostigo, thanks for asking! -- If you'd asked this question a few weeks ago, the answer would've been "no" -- but we've been hard at work to clarify what we're focusing on, and where we're headed.
Themes
We have two primary focuses right now, with a third goal that we're gradually definining:

Improve the processes around Tide: we're working on scaling the project from just me, to a core team. And going through the motions of enabling people to make decisions, defining goals, communicating directions, and also: roadmaps. This is something I'm spearheading.
Build out protocol support for Tide. At the core of every feature we build are the web protocols: HTTP, Multipart, Headers, WebSockets, etc. We're focusing on building a solid foundation of protocols, so we can build out ergonomic layers on top of them.
API design / ergonomics. This is currently still in the planning phase and depends on "protocol support" first. But the idea is that we want to provide good ergonomics for Tide, and should create flows to match. I can imagine this may require story boarding various scenarios, and ensuring that every step along the way is just right.

Initiatives
This is the closest we have to a roadmap right now. We've started to collect various high-level goals, and are breaking them down into work we can do.

Conclusion
I hope this provides a useful snapshot of our current thinking and planning.  One thing we haven't quite figured out yet is the process of creating tracking issues, and creating ways for more people to contribute on these larger efforts -- but we're aware that this is something we need to address and definitely are planning to do so. Perhaps a useful step in getting there would be to open up the roadmap for everyone to access?
Anyway, I hope this answers your question!

@yoshuawuyts This is really encouraging to see, and I think the current users of tide would be relieved to see this! To a certain degree it seems like the project is at a stand still or just in maintaining what is there. Unless you join the discord and zulip. This clears things up a lot, thanks for sharing and answering my question.


DisplaySizeTestRule timing out very often on all API levels

DisplaySizeTestRule timing out very often. Using DisplaySizeTestRule#withTimeout(timeout) does not help.
Device or Emulator: Emulator
API level: Any API level
AndroidUiTestingUtils version: 1.1.1
Affected Component: Activity (ONLY) -> DisplaySizeTestRule
Buggy Configuration: DisplaySizeTestRule
Expected behavior: It does not time out
Remarks:
It seems to be an issue with the context. Using instrumentation context seems to fix the issue.
Moreover, it seems that sometimes it hangs if the emulator does not have enough RAM (OOM exception).

Solved in 1.1.2


Maintain ordering between annotation only fields and fields with defaults

It would be nice if we could have the fields maintain the order they are defined in as it is quite confusing to write validation on fields that depend on each other and knowing which order thing will be called in.
Looking at the code it appears to me that it's an artifact of the way it is written, rather than something the user of the library should care about? I would like to work on a PR but is there a reason outside of the way the fields are discovered in the metaclass that the ordering is the way that it is?

For the record, I think this diff will maintain the ordering:
`diff --git a/pydantic/main.py b/pydantic/main.py
index e9b57a0..4c4c107 100644
--- a/pydantic/main.py
+++ b/pydantic/main.py
@@ -108,25 +108,16 @@ class MetaModel(ABCMeta):
annotations = namespace.get('annotations', {})
# annotation only fields need to come first in fields
for ann_name, ann_type in annotations.items():

       if not ann_name.startswith('_') and ann_name not in namespace:

       value = namespace.get(ann_name, ...)

       if not ann_name.startswith('_') and not isinstance(value, TYPE_BLACKLIST):
           fields[ann_name] = Field.infer(
               name=ann_name,

               value=...,

               value=value,
               annotation=ann_type,
               class_validators=vg.get_validators(ann_name),
               config=config,
           )

   for var_name, value in namespace.items():

       if not var_name.startswith('_') and not isinstance(value, TYPE_BLACKLIST):

           fields[var_name] = Field.infer(

               name=var_name,

               value=value,

               annotation=annotations.get(var_name),

               class_validators=vg.get_validators(var_name),

               config=config,

           )

   vg.check_for_unused()
   new_namespace = {
       '__config__': config,`

Maybe I'm missing something, but I don't think that works if you have attributes without annotations eg.
class FoobarModel(BaseModel):
   anne: str
   ben: int = 1
   charlie = 'xxx'

charlie doesn't have a type annotation, instead, its type is inferred from the default.

You are indeed correct. I had completely missed the infering from default behaviour.
I agree that if ordering isn't guaranteed in all cases, then the current situation is a lot clearer.


pykms service doesn't work in release 19.09 (and 18.03/18.09)

Describe the bug
The server from package pykms-20180208 doesn't work, thus the pykms service (which uses this package in release 19.09) doesn't work as well.
To Reproduce
Have the following in configuration.nix:
  environment.systemPackages = with pkgs; [
    pykms
  ];

  services.pykms.enable = true;

Be on release 19.09:
nix-channel --add https://nixos.org/channels/nixos-19.09 nixos
nix-channel --update
nixos-rebuild switch

And run:
$ client.py localhost
Connecting to localhost on port 1688...
Traceback (most recent call last):
  File "/nix/store/agy8v6vrp68h700pl76nc8xld8yj2sh2-pykms-20180208/lib/python3.7/site-packages/client.py", line 240, in <module>
    main()
  File "/nix/store/agy8v6vrp68h700pl76nc8xld8yj2sh2-pykms-20180208/lib/python3.7/site-packages/client.py", line 70, in main
    parsed = MSRPCRespHeader(response)
  File "/nix/store/agy8v6vrp68h700pl76nc8xld8yj2sh2-pykms-20180208/lib/python3.7/site-packages/dcerpc.py", line 632, in __init__
    MSRPCHeader.__init__(self, aBuffer, alignment)
  File "/nix/store/agy8v6vrp68h700pl76nc8xld8yj2sh2-pykms-20180208/lib/python3.7/site-packages/dcerpc.py", line 579, in __init__
    Structure.__init__(self,data, alignment)
  File "/nix/store/agy8v6vrp68h700pl76nc8xld8yj2sh2-pykms-20180208/lib/python3.7/site-packages/structure.py", line 87, in __init__
    self.fromString(data)
  File "/nix/store/agy8v6vrp68h700pl76nc8xld8yj2sh2-pykms-20180208/lib/python3.7/site-packages/structure.py", line 141, in fromString
    self[field[0]] = self.unpack(field[1], data[:size], dataClassOrCode = dataClassOrCode, field = field[0])
  File "/nix/store/agy8v6vrp68h700pl76nc8xld8yj2sh2-pykms-20180208/lib/python3.7/site-packages/structure.py", line 316, in unpack
    return self.unpack(two[0],data)
  File "/nix/store/agy8v6vrp68h700pl76nc8xld8yj2sh2-pykms-20180208/lib/python3.7/site-packages/structure.py", line 370, in unpack
    return unpack(format, data)[0]
struct.error: ('unpack requires a buffer of 1 bytes', "When unpacking field 'ver_major | B=5 | b''[:1]'")

Expected behavior
Connecting to localhost on port 1688...
Received V4 response
Response Hash has expected value: True
......

Additional context
As far as I remember, it is broken since release 2018-03. At that time, python3's version was changed from 3.6.5 to 3.7.x, which apparently caused the breakage (the way iterators work changed, or something). I think this problem was fixed by https://github.com/ThunderEX/py-kms/commit/57d51600c075fc8f121d62196a785ea5643eceb8 , but this version never made it into nixpkgs.
Metadata

system: "x86_64-linux"
host os: Linux 4.19.101, NixOS, 19.09.2166.ce9f1aaa39e (Loris)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.3
channels(paul): ""
channels(root): "nixos-19.09.2166.ce9f1aaa39e"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

This was fixed by commit bf9cecf28d97b9cbcef5fc65cd8cbd297d405137, which was included in release 20.03.


Home directory not correct

I have been experiencing an issue with udocker which does not respect the home directory which is set in the original docker container. In my Dockerfile I specify
ENV USER root ENV HOME /root WORKDIR $HOME
However, when running this container with uDocker the HOME env variable is overwritten to
root@blah:/root# echo $HOME /
If I try specify the home directly via the -e HOME=/root in the run parameters nothing changes and I still have an incorrect home directory for root.
I think the env variables are parsed too early and are being overwritten by some hard coded default. If the original docker container HOME env variable cannot be kept, there should at least be a manual method to set the specific HOME environment variable via the run parameters.

Hello @system123
I ran into the same issue: https://github.com/indigo-dc/udocker/pull/86 and you can try the fix for it in the version 1.1.1 1st release candidate: https://github.com/indigo-dc/udocker/releases/tag/v1.1.1-RC1

Could you elaborate the specific case, the example below works:
./udocker -q run --env HOME=/home  office
d8a08182[/]$ echo $HOME
/home

Close fixed in 1.1.1


FileNotFound: 'pew'

when I issue these commands, "pipenv install requests" within an empty directory.
I got this.
Traceback (most recent call last):
File "/home/randy/.local/bin/pipenv", line 11, in
sys.exit(cli())
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/vendor/click/core.py", line 722, in call
return self.main(*args, **kwargs)
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/vendor/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/cli.py", line 879, in install
ensure_project(three=three, python=python)
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/cli.py", line 178, in ensure_project
ensure_virtualenv(three=three, python=python)
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/cli.py", line 157, in ensure_virtualenv
do_create_virtualenv(three=three, python=python)
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/cli.py", line 413, in do_create_virtualenv
c = delegator.run(cmd, block=False, timeout=PIPENV_TIMEOUT)
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/vendor/delegator.py", line 257, in run
c.run(block=block, binary=binary)
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/vendor/delegator.py", line 149, in run
s = PopenSpawn(self._popen_args, **pexpect_kwargs)
File "/home/randy/.local/lib/python3.5/site-packages/pipenv/vendor/pexpect/popen_spawn.py", line 45, in init
self.proc = subprocess.Popen(cmd, **kwargs)
File "/usr/lib/python3.5/subprocess.py", line 947, in init
restore_signals, start_new_session)
File "/usr/lib/python3.5/subprocess.py", line 1541, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'pew'
I tried command pew --version on my terminal it outputs
Available commands:
add:                      Add the specified directories to the Python path for the currently active virtualenv.
cp:                       Duplicate the named virtualenv to make a new one.
dir:                      Print the path for the virtualenv directory
in:                       Run a command in the given virtualenv.
inall:                    Run a command in each virtualenv.
install:                  Use Pythonz to download and build the specified Python version
list_pythons:             List the pythons installed by Pythonz (or all the installable ones)
locate_python:            Locate the path for the python version installed by Pythonz
ls:                       List available environments.
lssitepackages:           Show the content of the site-packages directory of the current virtualenv.
mkproject:                Create a new project directory and its associated virtualenv.
mktmpenv:                 Create a temporary virtualenv.
new:                      Create a new environment, in $WORKON_HOME.
rename:                   Rename a virtualenv
restore:                  Try to restore a broken virtualenv by reinstalling the same python version on top of it
rm:                       Remove one or more environment, from $WORKON_HOME.
setproject:               Given a virtualenv directory and a project directory, set the
shell_config:             Prints the path for the current $SHELL helper file
show
sitepackages_dir
toggleglobalsitepackages: Toggle the current virtualenv between having and not having access to the global site-packages.
uninstall:                Use Pythonz to uninstall the specified Python version
version:                  Prints current pew version
wipeenv:                  Remove all installed packages from the current (or supplied) env.
workon:                   List or change working virtual environments.
I found that this is similar to #182. But I have used pip not pipsi

How did you install pipenv?

I also face the same issue. Installed pipenv through Python3 (homebrew).

seems like still having a problem. any idea?
MacBook-Pro:firstEnvTest nat$ python3 -m pipenv shell
Creating a virtualenv for this project...
⠋Traceback (most recent call last):
File "/usr/local/bin/pew", line 7, in
from pew.pew import pew
File "/usr/local/lib/python3.6/site-packages/pew/init.py", line 11, in
from . import pew
File "/usr/local/lib/python3.6/site-packages/pew/pew.py", line 36, in
from pew._utils import (check_call, invoke, expandpath, own, env_bin_dir,
File "/usr/local/lib/python3.6/site-packages/pew/_utils.py", line 22, in
encoding = locale.getlocale()[1] or 'ascii'
File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py", line 581, in getlocale
return _parse_localename(localename)
File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py", line 490, in _parse_localename
raise ValueError('unknown locale: %s' % localename)
ValueError: unknown locale: UTF-8
Virtualenv location:
Traceback (most recent call last):
File "/usr/local/bin/pew", line 7, in
from pew.pew import pew
File "/usr/local/lib/python3.6/site-packages/pew/init.py", line 11, in
from . import pew
File "/usr/local/lib/python3.6/site-packages/pew/pew.py", line 36, in
from pew._utils import (check_call, invoke, expandpath, own, env_bin_dir,
File "/usr/local/lib/python3.6/site-packages/pew/_utils.py", line 22, in
encoding = locale.getlocale()[1] or 'ascii'
File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py", line 581, in getlocale
return _parse_localename(localename)
File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py", line 490, in _parse_localename
raise ValueError('unknown locale: %s' % localename)
ValueError: unknown locale: UTF-8

Looks like you need to set your system locale.

See https://github.com/kennethreitz/pipenv/issues/470#issuecomment-327216953 for guidance

Hi sorry about the delay. I installed pipenv with pip3 @kennethreitz

Did you try the fancy installation method?

I think I am having some trouble installing pipsi. Because I have already installed virtualenv but when I try to install pipsi, it says it needs virtualenv.

That's weird. Are you using the same python for both?

Thanks Kennethreitz. At last got it working now.

✨🍰✨

I am experiencing this issue on Circle CI (1.0). From their logs:
$ pip install pipenv==5.4.2
...

$ pipenv --python=python3.6
Virtualenv already exists!
Removing existing virtualenv...
Creating a virtualenv for this project...
Using python3.6 to create virtualenv...
Traceback (most recent call last):
  File "/home/ubuntu/virtualenvs/venv-3.6.1/bin/pipenv", line 11, in <module>
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 697, in main
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1043, in invoke
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 17, in new_func
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/cli.py", line 864, in cli
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/cli.py", line 181, in ensure_project
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/cli.py", line 174, in ensure_virtualenv
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/cli.py", line 160, in ensure_virtualenv
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/cli.py", line 413, in do_create_virtualenv
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/vendor/delegator.py", line 257, in run
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/vendor/delegator.py", line 149, in run
  File "/home/ubuntu/virtualenvs/venv-3.6.1/lib/python3.6/site-packages/pipenv/vendor/pexpect/popen_spawn.py", line 45, in __init__
  File "/opt/circleci/python/3.6.1/lib/python3.6/subprocess.py", line 707, in __init__
    restore_signals, start_new_session)
  File "/opt/circleci/python/3.6.1/lib/python3.6/subprocess.py", line 1326, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'pew'

doesn't circle ci provide a virtualenv? if so, you're deleting it.

Don't run pipenv --python=python3.6, just run pipenv install

Thanks! That seems to work. Any reason I can't create a new working virtual environment on CircleCI? I like to be able to test my full installation instructions.

You can, you just have to set the PIPENV_IGNORE_VIRTUALENVS environment variable.
http://docs.pipenv.org/en/latest/advanced.html#configuration-with-environment-variables

I tried doing the "Fancy installation method" and got stuck on installing pipsi, here's what happened:
 $ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python3 (yes, I want it installed on python3)
then it told me to add export PATH=/Users/sahandzarrinkoub/.local/bin:$PATH, and so I did. Then I went on with the installation:
$ pipsi install pew Traceback (most recent call last):   File "/Users/sahandzarrinkoub/.local/bin/pipsi", line 7, in <module>     from pipsi import cli ModuleNotFoundError: No module named 'pipsi'
What should I do to solve this?

That sounds weird.

Try again maybe?

Indeed, my whole attempt to install pipenv and doing virtualenv's has been littered with errors and "weird" occurances. Could it be that something is wrong with my Python installation altogether?

Sounds like — or your shell.
Want to hop on a hangout?

What does a hangout mean? Sry I'm new to this.

LIke a video conference.

Sure, that'd be great

How do we do it?

I'm available now — click this link —
https://hangouts.google.com/hangouts/_/kennethreitz.org/pipenv

Got @SandiPandi hooked up! Simple PATH issue :)

Hi guys,
Having exactly the same issue Sahand1993 described a while ago. Also added the suggested PATH. Still giving ModuleNotFoundError: No module named 'pipsi'.
Seems you got this sorted out, but the solution stayed behind the scene :) Can you please share some tips?
Thanks in advance!


detection that lvm_volume_group has been created when it has no volumes

Summary
lvm_volume_group was not sending notification when no logical volumes were associated due to the detection being limited to detecting that one of the associated volumes was updated.
Details

Added tests to see that notification was acting correctly
Commented out several of the tests and assertions that are not working but will require deeper changes
Modified code to detect a volume_group has been created even if not volume are associated.  (this fixes three of the new tests related to notification)

I'm closing this out since the codebase has severely diverged and we're about to start a rewrite on what we have at the moment. Sorry we didn't get to this earlier.


Clarify api_version in response specification

Currently the api_version field is described in two places:

Section 4.2 as:

api_version: a string containing the version of the API implementation.

Section 5.3.1 as:

api_version: Presently used version of the OPTIMADE API.

Could we make this stricter? basically matching the version field of available_api_versions, i.e.

version: a string containing the full version number of the API served at that versioned base URL. The version number string MUST NOT be prefixed by, e.g., "v".

Happy to make the PR if people agree. We've just started validating this field with a semantic version type in optimade-python-tools.
Tagging @CasperWA we had already discussed it.

I very much agree to squeeze this in between v1.0.0-rc.2 and v1.0.0 proper! The 'v' prefix should now only be used in two places: in the URL path segment for versioned URLs, and in the proposed api_hint parameter of #290.

So, I think these are now addressed within #298?, right?


Use stable implementation of tanh's inverse log determinant Jacobian

Replace the second term from https://github.com/vitchyr/rlkit/blob/master/rlkit/torch/distributions.py#L43-L44 with the equation from
https://github.com/tensorflow/probability/blob/master/tensorflow_probability/python/bijectors/tanh.py#L73 .
That is, replace torch.log(1 - value * value + self.epsilon with 2. * (log(2.) - pre_tanh_value - softplus(-2. * pre_tanh_value)).

Implemented in c1e9ec6b6aa6b9cd1c3139f118eed0201dea9fd2.


Should use iptables-persistent

This role should leverage the functionality available in the {iptables,netfilter}-persistent packages on Debian-based systems.

@lightraven24 Can you elaborate on why the role should leverage those packages? What functionality do those packages provide that the role doesn't already handle?

Will close this one, if it ain't broke...

It has more to do with the fact that you should be using the functionality and tools built into the system (with all the init scripts, etc), rather than creating them yourselves. With for example, what's in templates, restore.v4.j2 and save.v4.j2.

Also, looking at the package scripts - it'll give you an easy way to support ip6tables too.

As soon as I get out of the Sahara desert, I'll look into using the {iptables,netfilter}-persistent packages for Debian.
Originally, this was laid out like that to support RedHat which didn't have those.

On redhat you might want to look at /etc/sysconfig/iptables for persistency support.

Would gladly look at PRs

@lightraven24 @raarts Not disagreeing with the motivation here, but some more detailed examples would be very helpful. I use this role mostly on Debian-based systems, and am quite pleased with the role's functionality (particularly the composability between default, group, and host vars). Would gladly review changes that are more consistent with OS standards, but the role as written matches how I've typically scripted iptables rules for years.

So how do you restart the firewall on your systems? Because the 'official' way would be service firewall restart, and that will not work with the current rule setup I think.

OK now we have a use case where it would make sense to use the official tools. Because before no one really expressed how it would be beneficial to use them over the current setup.
I did it this way to have a single code base for basic iptables rules reloading on startup.
Will look into it.

I updated the role to use {iptables,netfilter}-persistent on Debian. Feel free to re-open if there is anything missing.
I tagged the role 1.0.0 because now we are only using system tools on all platforms.
Thank you for your suggestions...