streams: Add admin UI for making private stream history public to members.

This is a part of #9232.
@timabbott: FYI, I plan on continuing this tomorrow! I labelled it as a WIP but I think we may be able to merge commits as we go! Thanks for trusting me with this project! :)

@timabbott: Updated! :)

I merged the first commit as<PHONE_NUMBER>41cd478610efd8f2bacf14a4127d79; see my comments above on the changes I made.
A general note here on refactoring: When making changes to existing code, especially backend code relevant to the security model, it's important to be really thoughtful about whether you're changing behavior in unintended ways, since that's the stuff of which security vulnerabilities is made :).  I hope the changes I made noted above help you get a feel for the types of issues to think about when doing this sort of important backend change (in particular, I'm pretty glad to have been able to merge this 250-line commit now, so I don't have to review it again, and that imposes some requirements on how the commit is implemented so that we don't have to block deploying to production until the rest of the feature is done to avoid an accidental behavior change for users using the PRIVATE_STREAM_HISTORY_FOR_SUBSCRIBERS setting).

@timabbott: Updated! I refactored some of the duplicated logic that calculates the default value for history_public_to_subscribers. :)

Can we also use this in do_change_stream_invite_only?

@timabbott: Just updated this. Here are a few thoughts:

Yes, turns out we can use get_default_value_for_history_public_to_subscribers in do_change_stream_invite_only. I just missed that, my bad, sorry! :(
I just added a commit that adds UI for creating a private stream but with public message history. I have never worked on the frontend/JS side of our codebase before, so I am being a bit cautious right now. I don't expect you to merge this commit right away, but I would definitely appreciate a review or an indication as to whether I am on the right track here or not before I go ahead and work on this further! :) I manually tested all of my changes (including stream creation for public, private and private-with-public-history streams).
I think the failing build is due to the casper flake.

Looking forward to your feedback! Thanks! :)

Overall, the frontend changes look pretty reasonable; posted a few comments.

Overall, the frontend changes look pretty reasonable; posted a few comments.
I merged the first commit after fixing the little mypy thing.

Scroll up and/or just run the single; the clear output is a bit further up.

I did a bit of debugging, and your problem was that you didn't update notify_subscription_added.
Do you understand how this test works?  http://zulip.readthedocs.io/en/latest/subsystems/events-system.html is helpful reading.

I merged the first commit after resolving the merge conflict.

@timabbott: Rebased this! :)

Cool, for the last commit, the UI looks pretty good, but I found a few bugs from playing around with it:

The "Change privacy" modal should always open with the current state selected.
The "Change privacy" button inside the modal should be consistently red, whether you're changing public->private or private->public.
If you change a public stream to private, it seems to incorrectly render the private-with-history text here:

We probably want to rename "Change stream privacy" to "Change stream permissions", because the next thing we're going to do is add @shubham-padia's is_announce_only checkbox to this modal.
We should include the stream name in the template heading here, i.e. "Change stream permissions for #announce":

Commit-structure wise, it'd be cleaner to extract the stream_types.handlebars extraction (without changes) as its own commit at the beginning; if you'd done that, I would have merged that piece now :).

@timabbott: Updated! Ran into a slight bug, but it should be good now! Thanks! :)

@timabbott: I think the failing build has to do with the casper flake and not my PR :)

Merged, thanks @eeshangarg!  A few follow-ups:

static/templates/subscription_creation_form.handlebars should be using stream_types.handlebars and just passing in the parameters needed to select the correct initial default value of is_public.  @shubhamdhama this might be a good project for you, since you've worked with partials recently.
@rishig was thinking we might want to reorder "private with history" to be second.
I suspect we want to remove the can_make_public and can_make_private variables entirely in favor of the new sub.can_change_subscription_type; I'm going to try doing that next.
We can now update the backend to no longer accept values for the include_history_  setting of None at the API layer; this should let us kill some of that duplicated. code.

@novokrest FYI -- you should be able to add the UI for announce-only streams now.


rspec-puppet does not run tests on all supported OSes defined in a module

I am using rspec-puppet and it appears that not all supported operating systems are being tested.  For example, here is the metadata for one of the modules I am currently testing.

"name": "mdct-dhcpd",
"version": "0.1.0",
"author": "Michael Watters",
"summary": "Installs and configures dhcpd",
"license": "Apache-2.0",
"source": "",
"project_page": null,
"issues_url": null,
"dependencies": [
{"name":"puppetlabs/firewall", "version_requirement": ">= 0.0.4 <= 1.8.1" }
],
"operatingsystem_support": [
{ "operatingsystem":"CentOS", "operatingsystemrelease":[ "7" ] },
{ "operatingsystem":"Fedora", "operatingsystemrelease":[ "20", "21", "22", "23", "24", "25", "26" ] }
],
"data_provider": null
}`

When rake spec is run only Fedora 23-26 are tested.

usr/bin/ruby -I/home/00/d861703/.gem/ruby/gems/rspec-support-3.6.0/lib:/usr/local/share/gems/gems/rspec-core-3.6.0/lib /usr/local/share/gems/gems/rspec-core-3.6.0/exe/rspec --pattern spec/{aliases,classes,defines,unit,functions,hosts,integration,type_aliases,types}/**/*_spec.rb --color

dhcpd
on fedora-23-x86_64
should contain Firewall[105 dhcpd] with dport => "68", proto => "udp" and action => "accept"
should contain Package[dhcp] that comes before File[/etc/dhcp/dhcpd.conf]
should contain File[/etc/dhcp/dhcpd.conf] that requires Package[dhcp]
should contain Service[dhcpd] with ensure => "running" and enable => true
on fedora-22-x86_64
should contain Firewall[105 dhcpd] with dport => "68", proto => "udp" and action => "accept"
should contain Package[dhcp] that comes before File[/etc/dhcp/dhcpd.conf]
should contain File[/etc/dhcp/dhcpd.conf] that requires Package[dhcp]
should contain Service[dhcpd] with ensure => "running" and enable => true
on fedora-25-x86_64
should contain Firewall[105 dhcpd] with dport => "68", proto => "udp" and action => "accept"
should contain Package[dhcp] that comes before File[/etc/dhcp/dhcpd.conf]
should contain File[/etc/dhcp/dhcpd.conf] that requires Package[dhcp]
should contain Service[dhcpd] with ensure => "running" and enable => true
on fedora-24-x86_64
should contain Firewall[105 dhcpd] with dport => "68", proto => "udp" and action => "accept"
should contain Package[dhcp] that comes before File[/etc/dhcp/dhcpd.conf]
should contain File[/etc/dhcp/dhcpd.conf] that requires Package[dhcp]
should contain Service[dhcpd] with ensure => "running" and enable => true
on centos-7-x86_64
should contain Firewall[105 dhcpd] with dport => "68", proto => "udp" and action => "accept"
should contain Package[dhcp] that comes before File[/etc/dhcp/dhcpd.conf]
should contain File[/etc/dhcp/dhcpd.conf] that requires Package[dhcp]
should contain Service[dhcpd] with ensure => "running" and enable => true

Finished in 1.43 seconds (files took 2.37 seconds to load)
20 examples, 0 failures

Is there a way to make tests run on all defined operating systems?

Disregard, this is an issue with facterdb, not rspec.


Add class names to geotiff

Geotiff download references classes by number. Consider addiing the name of the class as part of the GeoTIFF.

@LanesGood can you tell me exactly what the names should be?

@vincentsarago I believe they are returned by the API, as each model has base classes, and each project can add n arbitrary classes.
In https://api.lulc-staging.ds.io/docs/#/TimeFrame/get_project___projectid__aoi___aoiid__timeframe___timeframeid_ you can see that each timeframe has a classes array:
"classes": [     {       "name": "string",       "color": "string"     }   ],
The download endpoint includes the timeframeid, so I believe the classes for the geotiff should come from there.

Discussed with @vincentsarago - we will explore adding the classnames associated with pixel values in the COG json metadata, but this is not supplied to QGIS or other platforms. The partner expressed wanting to know these names in a program like QGIS, but Vincent confirmed this is not possible for pixel values. Alternatively, the COG could split each pixel value into a different band, but this would become an even more complex process and would not permit straightforward visualization of a LULC map in a single layer.

After followup with @vincentsarago we've determined this isn't a function/feature that can be enabled in geotiff creation.


Can’t run from disk, or make RancherOS persistent in any other method

RancherOS Version: (ros os version)
0.8.0
Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)
VMware workstation 12 player (running on Win7)

Hi,
I've been trying to create a RancherOS VM on my laptop for almost a week now, but with no success :frowning:
I carefully followed the instructions here:
http://rancher.com/docs/os/running-rancheros/server/install-to-disk/
Also tried this walk-through: https://www.youtube.com/watch?v=_Od8Z3iv54M
And read many many other threads here.
The bottom line is that it seems the “cloud-config.yml” file I create is totally ignored, and the RancherOS is only restarting and running from Memory.
I can tell that based on many things, to list only 2:

Ssh keys (I ingested in the cloud-config.yml) are not recognized.
No partition exists on /dev/sda (it’s not mounted).

Any ideas??
Thanks!

I now noticed this error during startup:

I use VMWare (ESXi atm) quite  bit.
Can you please give us more specific details?

What settings are you using in VMWare to create the VM
What specific cmdline commands are you using, and what are their outputs
how are you then rebooting & removing the initial boot media

thanks for your response.
I'm using mostly the default settings to create the VM (changing only CPU and HD size - tried different sizes with no impact on the result).
as for the command line - I'm using exactly the line in the link I mentioned above:
sudo ros install -c cloud-config.yml -d /dev/sda
there is not error in the output, the machine then reboots (as expected).
I don't know what you mean by removing the media. I'm using ISO file (on the local HD) to initially run the VM.

so it sounds like when it reboots, the VM is booting from the ISO again - you need to remove it from the VM's cfg. (yup, this happens to me too)

I tried to remove the "CD/DVD Drive" from the VM settings BEFORE executing the install.
same result :(

@efiweiss since you've run the install process it should already be ready to go.

Boot the VM.
Disconnect the ISO image from the CD/DVD drive. VMware will warn you that it's in use; tell it you want to disconnect anyway.
Power off the VM. Since it's running from RAM there is no risk of damaging the file system on disk.
Power on the VM.

Et voilà – RancherOS should now boot using your initial cloud-config file, and future configuration changes should persist.
There are other ways to get to this same result, but my experience with RancherOS on VMware is that this way produces the fewest complications over the long run.


Changed property names as required by Spring Boot Properties Migrator

This pull request relates to the issue  #28312 to fix the application startup problem if the spring-boot-properties-migrator is used.

@srempfer thanks for contributing, btw, I saw you create a spring cloud config server starter based on kv starter, great work man!
@saragluna would you please take a look of this PR


Basic example does not run on Ubuntu 20.04+GTX760

./basic
2020/12/24 09:13:22 LOG	: Renderer	: OpenGL		: Version: 4.5.0 NVIDIA 440.100
2020/12/24 09:13:22 ERROR	: Shader	: BackBufferShader	: Loading source: Couldn't compile Fragment Shader: 0(37) : error C7533: global variable gl_FragColor is deprecated after version 120

2020/12/24 09:13:22 LOG	: Texture	: Gopher	: Finished loading! W: 245 H: 300 T: 0.004 s
2020/12/24 09:13:22 LOG	: Shader	: 2D	: Finished Loading!

I am sorry I did not see that there was an issue opened. The problem seems to be that gl_FragColor is no longer available. I would need to change all occurences to something like out vec4 fragColor. But I am not actively working on the engine


feat!: Custom sign command with object notation

https://github.com/tauri-apps/tauri/pull/10589#issuecomment-2287668387

I ran cargo fmt at repository root again but no diff are generated. I feel it's weird to fail fmt check

I ran cargo fmt at repository root again but no diff are generated. I feel it's weird to fail fmt check

I found that I have to run cargo fmt inside each folder in tooling/ folder since they are not part of root workspace


Compile warnings

Some of the warnings removed, from issue: https://github.com/dmlc/xgboost/issues/6189

Syncing this pull request with the latest master branch, to fix the test farm.

Thank you for your contribution, and congrats for your first pull request here! I will review once all unit tests complete.


Search in files never completes

VSCode Version: Code 1.14.0 (b8cd5b9556d8b70ea560d35b903422363f6c5c40, 2017-07-10T18:36:31.751Z)
OS Version: Windows_NT ia32 10.0.15063
Extensions:

Extension
Author (truncated)
Version

output-colorizer
IBM
0.1.2

cpptools
ms-
0.12.0

csharp
ms-
1.11.0

vs-keybindings
ms-
0.1.7

shader
sle
0.2.3

Steps to Reproduce:

search for something...

The developer console shows the error "[IPC Library: Search] Error: spawn d:\Program Files (x86)\Microsoft VS Code\resources\app\node_modules\vscode-ripgrep\bin\rg ENOENT"
Note that "d:" is my boot drive (unfortunately...) and "rg.exe" does exist at that path. Also, I just downgraded to 1.13.1 and search works fine in that version

Reproduces without extensions: Yes

Strange. Maybe I need to be spawning it with rg.exe, but I don't know why it would only matter for you in this case. And the only relevant change I can think of is updating electron.

I just did a quick check: upgrading to the latest again results in the same problem.  And running as admin makes no difference either

Thanks for checking. Wondering if you could try renaming that file from rg.exe to rg?

renaming to rg didn't seem to have any effect.
I did also notice that it will find results in files that I have viewed - as in if there's a bunch of tabs open when the process starts it won't find anything in them, but if I click on one of those tabs and run the search again, then it will get results from that file

Thanks for trying. Yeah, search in open files doesn't require rg.exe.

No problem, let me know if you'd like me to try anything else!

Is this still an issue? I never reproed it or got another report.

I ended up reinstalling Windows (to the default C: drive) and it went away, so not an issue for me anymore...


Start using mypy

Let's use mypy. This PR does minimal changes to start:

add make mypy
rename github workflow test -> ci
run mypy in ci (lint stage)
run mypy on make lint
add instructions to How To Contribute
add minimal type annotations to pass mypy

Codecov Report

Merging #59 (0a11876) into master (7d76554) will increase coverage by 0.08%.
The diff coverage is 88.00%.

@@            Coverage Diff             @@
##           master      #59      +/-   ##
==========================================
+ Coverage   32.28%   32.36%   +0.08%
==========================================
  Files          67       67
  Lines        4172     4180       +8
==========================================
+ Hits         1347     1353       +6
- Misses       2825     2827       +2

Impacted Files
Coverage Δ

lona/default_routes.py
0.00% <0.00%> (ø)

lona/default_settings.py
100.00% <100.00%> (ø)

lona/html/attribute_list.py
85.54% <100.00%> (ø)

lona/html/data_binding/inputs.py
60.41% <100.00%> (+0.84%)
:arrow_up:

lona/html/node.py
53.88% <100.00%> (+0.48%)
:arrow_up:

lona/protocol.py
51.88% <100.00%> (+0.45%)
:arrow_up:

lona/view.py
27.21% <100.00%> (+0.49%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7d76554...0a11876. Read the comment docs.

@maratori Great idea! Thanks for bringing this up. I didn't use mypy productive before and i have some questions.
Can we add mypy to the linting stage of the ci, or does this have to be its own stage?
Shouldn't we put mypy config in a mypy.ini instead of appending it to the tox.ini?

Can we add mypy to the linting stage of the ci, or does this have to be its own stage?

Sure, we can.

Shouldn't we put mypy config in a mypy.ini instead of appending it to the tox.ini?

We can use both of them.
tox.ini is one of default config files for flake8.
So I decided to put mypy there as well.
Do you want me to extract config to mypy.ini?
And run mypy along with flake8 on lint stage (both ci and make)?

@maratori I would like to have both tools as part of the linting stage and have both of them have their own dedicated config file if possible

@fscherf Fixed

@maratori I am sorry, i merged in the wrong order. Could you rebase this branch so i break nothing? I have nothing more to complain on, so i will merge after.

@fscherf 👌

@maratori Great changes! Thanks for adding this! :)


environment promotion strategy

pybot/ pyback:

Work locally in development, can target a test slack
Push to staging branch, targets a test slack but shows what happens when deployed in ECS.
Push to master, targets prod

@OperationCode/front-end and current frontend:

Work locally to target whatever we set in environment variables (staging, prod)
Create pull request, which on merge promotes the production to this

Backend does the same as front-end, both front-end and backend you can go into kubectl and manually target whatever container tag you'd like. When I request the current images for all pods, we'll see some oddities:
C:\Users\wimo7\Desktop> kubectl get pods --all-namespaces -o jsonpath="{.items[*].spec.containers[*].image}" | tr [:space:] '\n'
operationcode/operationcode_frontend:latest
operationcode/operationcode_frontend:latest
... supporting containers...
operationcode/operationcode_backend:1245
operationcode/operationcode_backend:latest
operationcode/operationcode_backend:1245
operationcode/operationcode_backend:latest
operationcode/operationcode_frontend:2327
operationcode/operationcode_backend:1269
operationcode/operationcode_backend:1269
operationcode/operationcode_backend:1269
operationcode/operationcode_backend:1269
operationcode/operationcode_frontend:2334
operationcode/operationcode_frontend:2334
bitnami/redis:3.2.9-r2
operationcode/town-crier:latest

In the above case, we see that frontend is using both 2334and latest. while backend is using 1269, 1245 and latest.
I don't know the correct command to list the namespace for each of these. But I remember find out that we are setting staging cube as "latest" and the prod as a numerical value. I don't know why we have 3 different backend image versions.
After talking with @kylemh (IIRC) he doesn't need a way to promote a deployed code instance to staging. For their purposes it's fine to have staging only running locally. But I think going to a strategy where we promote to staging on merge to master, by tags, and then manually promote by adding a production tag would be more ideal, or automatically based on some criteria.
Our initial concern was having k instances of staging for k developers. But I don't see that as a current problem.
Lastly, we need a way that data sources (backend, pyback) RDS instances, have data in production that propagate down so that when we update those instances we can easily carry that over. I think for the time being a nightly copy over, plus ability to manually trigger, would be fine. With the knowledge that if you are working on something that requires database migrations you'll have to perform the migration again with the updated data.

Front-end has its own staging environment, separate from our infra. It'd be smarter to be within the same infra system that everybody else is, but in terms of solving the problem - we're good for now :)


Add optional onClick parameter

this allows clicking lists, paragraphs (anything using markdownText)

Given that it will apply to the whole markdown, how would this differ than setting a click listener to the whole composable itself?

The modified would be passed onto this Column spanning around the whole content: https://github.com/mikepenz/multiplatform-markdown-renderer/blob/develop/multiplatform-markdown-renderer/src/commonMain/kotlin/com/mikepenz/markdown/Markdown.kt#L68
Which I'd expect to handle the listener 🤔  is it consumed by something else?

As far as I remember when I tried that. It makes the column clickable, but that only allows clicking on the empty spaces so clicking a paragraph is ignored because the touch events are being consumed on the markdown stuff

Added a partial solution by not attaching the touch handling for urls if there is no url.
I understand that this currently would still not work if there is a URL within the specific paragraph, but I'd prefer to have a better handling for those cases to not consume the touch 🤔
couldn't find a proper solution with the available APIs not sure if it may just not be possible at this time


python37Packages.google-cloud-vision: 2.1.0 -> 2.2.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python37Packages.google-cloud-vision is: "Cloud Vision API API client library"
meta.homepage for python37Packages.google-cloud-vision is: "https://github.com/googleapis/python-vision"
meta.changelog for python37Packages.google-cloud-vision is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.2.0 with grep in /nix/store/5x4c88rd84x8pbz5yj8hvjvjcim81szv-python3.7-google-cloud-vision-2.2.0

directory tree listing: https://gist.github.com/1dd474760c977cc98cc0f7823eb20484

du listing: https://gist.github.com/d7509870cd00ad41596f3c3861e61444

Rebuild report (if merged into master) (click to expand)

12 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
3 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python37Packages.google-cloud-vision
python38Packages.google-cloud-vision
python39Packages.google-cloud-vision

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5x4c88rd84x8pbz5yj8hvjvjcim81szv-python3.7-google-cloud-vision-2.2.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python37Packages.google-cloud-vision https://github.com/r-ryantm/nixpkgs/archive/0a7f10e876300ddb93dcef7869c2f3177d18953f.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5x4c88rd84x8pbz5yj8hvjvjcim81szv-python3.7-google-cloud-vision-2.2.0
ls -la /nix/store/5x4c88rd84x8pbz5yj8hvjvjcim81szv-python3.7-google-cloud-vision-2.2.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package marked as broken and skipped:

python39Packages.google-cloud-vision

2 packages built:

python37Packages.google-cloud-vision
python38Packages.google-cloud-vision

Maintainer pings
cc @SuperSandro2000 for testing.

Result of nixpkgs-review pr 112986 at 0a7f10e8 run on aarch64-linux 1

1 package marked as broken and skipped:

python39Packages.google-cloud-vision

2 packages built:

python37Packages.google-cloud-vision
python38Packages.google-cloud-vision


Documentation updates

Some README updates following my first time taking PatternFly for a spin. Notes by commit:

updates the component paths (some overlap with #839, but correctly uses kebab-case in the file names)
drops --save from the npm install command. npm now saves by default (what was --save is now --save-prod)
moves the explanation of those four specific files are called out to before the list (because not every person using PatternFly will be mostly/only interested in the stylesheets), and moves the patternfly-cli setup command to the section focused on creating new blueprints (I had to do some digging before I understood what "if doing development" meant in the context of the "Development" section)
does some rewriting to reflect PatternFly's branding itself as a framework, not simply a styles library.

Don't know if "blueprint" is the term of choice to encompass components, layouts, etc — I got the word from patternfly-cli

Deploy preview for pf-next ready!
 Would be cool if they added the ability to squash suggestion commits into the PR's last commit (or, even better, into an arbitrary PR commit as long as that didn't introduce a conflict)

I close my PR, your update is better

(@dgutride I worry a little that the wordiness of my responses could come across as being argumentative. just so happened I'd just been studying theories of structuring this kind of note, so was experimenting with ways of writing)

Approved to be closed


better handling of uris when remote is windows

refs #145564
When a remote's platform is Windows and we have non-file schema paths, we show them as /c:/user/directory in the trust path editor. We should render these as c:\user\directory. We must detect when this is the case and massage the paths back and forth. Because the schemas don't give us information, we have to rely on ourselves to detect the case. Resource label formatters are not an option because they don't work bidirectionally and we can't rely on the extension to be present when rendering the uri list.

We have a service to create a label from URIs, no-one should be doing this on their own so that we have consistent display of URIs: ILabelService.

shared details with @bpasero offline
@lszomoru please let me know if this makes sense


Add Ruby 3.2.5

Ruby 3.2.5 Released
https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/

Thank you!!


chore(*): remove refine'

Some of these changes are simple replacements, others are more involved.

!bench

!bench

bors merge


Dispatch event to support triggering test run from the outside workflow

Ref: https://github.com/rnpgp/rnp/issues/1972
The next step is to trigger Ruby rnp tests from mater rnp workflow


Absurd RAM Required for ctRegex

blah38621 (@Orvid) reported this on 2014-06-02T20:57:04Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=12844
CC List

bugzilla (@WalterBright)
dmitry.olsh (@DmitryOlshansky)
greensunny12
justin
kennytm

Description
Currently both git head and 2.065 take an utterly absurd (I killed DMD's
process at 9.5gb of ram usage, I only have 16gb of RAM so I can't test further
than that) amount of RAM to compile the following code:

module main;

import std.file : readText, write;
import std.math : round;
import std.regex;

enum planePattern = ctRegex!(`"plane" "\(([-]?[0-9]+(?:\.[0-9]+)?
[-]?[0-9]+(?:\.[0-9]+)? [-]?[0-9]+(?:\.[0-9]+)?)\) \(([-]?[0-9]+(?:\.[0-9]+)?
[-]?[0-9]+(?:\.[0-9]+)? [-]?[0-9]+(?:\.[0-9]+)?)\) \(([-]?[0-9]+(?:\.[0-9]+)?
[-]?[0-9]+(?:\.[0-9]+)? [-]?[0-9]+(?:\.[0-9]+)?)\)"`, "g");

void main(string[] args)
{
	import std.stdio;

	string dat = readText(args[0]);

	foreach (m; planePattern.matchAll(dat))
	{
		writeln(m);
	}
}

blah38621 commented on 2014-06-02T20:58:31Z
Just let it run to 12.4gb with no end in sight.

dmitry.olsh (@DmitryOlshansky) commented on 2014-06-06T17:00:57Z
Matters are that made much worse by the fact that at CTFE all of [0-9] character sets get rebuilt for each occurrence, because charset cache is thread-local (no luck at CTFE). The memory leak itself though is a compiler issue.

Hm, I could try and have an extra cache local to the scope of each regular expression compilation.

blah38621 commented on 2014-06-02T21:08:17Z
Also, dat and planePattern in the foreach loop should actually be swapped, but
it never gets to the point where it actually reports this error.

dmitry.olsh (@DmitryOlshansky) commented on 2014-06-07T10:48:52Z
Might help:
https://github.com/D-Programming-Language/phobos/pull/2234

It still runs out of 4Gb on my machine over here though...

dmitry.olsh (@DmitryOlshansky) commented on 2016-04-06T12:49:11Z
*** Issue 7442 has been marked as a duplicate of this issue. ***

blah38621 commented on 2014-06-06T19:52:18Z
Perhaps it would be possible to simulate a character set cache by using a
template to represent the set of characters included?

For the runtime version, is there any real reason to force the charset cache to
be thread local? Could it perhaps be global with dirty read and a possible
re-calculation?

From my experience, most nievely implemented caching mechanisms fail to
understand that a best-effort cache is usually more than enough.

blah38621 commented on 2014-06-02T22:01:50Z
Alright, had someone else test on a machine with 256gb of memory, they ended up
killing it after it hit 174gb of ram.

justin commented on 2014-06-02T21:22:29Z
I tested it out to 174GB before killing it.  Perf says the top offenders are  `Dsymbol::isTemplateMixin()`, `Dsymbol::pastMixin()`, and `CompoundStatement::interpret(InterState*)`.

blah38621 commented on 2014-06-07T16:49:31Z
Just let it run to 7gb even with that PR.

greensunny12 commented on 2018-03-31T13:43:48Z
From https://github.com/dlang/phobos/pull/6164#issuecomment-365175755:

> Another idea is to deprecate ctRegex and stop testing it. It's 100% obvious that it doesn't work on anything significant in practice due to our compiler limitations. Then we enable it again once CTFE works with std.regex.

bugzilla (@WalterBright) commented on 2019-12-03T09:41:04Z
On Linux I get: 631MB, compiled in 2.6 seconds. It's still a lot compared to 74MB when replaced by a single string comparison but much less than the gigabytes above. Don't know, if this is the same on windows nor if 631MB would be accepted as a fix.


Add script to download vega-datasets. Fix #26

LGTM if you already test this, feel free to merge.

Glad you mentioned "if you test this", I forgot to update the README :)


white box in footer section and underlined texts

There is white border around footer section which is making bad experience i want to improve it . Please assign this issue to me under GSSOC'24

@1Shubham7  can u please add GSSOC'24 tag

really sorry but the changes you made a not good, the website  doesn't look good. Please share figma design with me before making a PR.

👋 Hello! I'd be happy to help with this issue. Could you please assign it to me? Additionally, could you please label it for the appropriate level? Thank you! 🚀


[⭐FEATURE] Add a new page to display all contributors

I want to add a page to showcase all the contributors of this website..
@iamparas0  please assign me this task.

@iamparas0

no need


Narrow QualifiedName inside typeof

Previously this wasn't narrowed at all. Now there is a control flow node and code in isMatchingReference.
I think this is a straightforward improvement as long as it doesn't cause performance problems.
Fixes #40977

@typescript-bot perf test this

@typescript-bot perf test this


Fix width on inject node property

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes
On the inject node property UI, the pull-down menu and checkboxes are wider than specified values. This problem seemed to occur because the order of the styles to apply was changed in Node-RED  v1.0.0. Therefore, I added !important to set higher priority.

Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the mailing list/slack team.
[x] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Coverage remained the same at 77.534% when pulling 1c424e2e0afaf3c6fda2f8e746083324f66adb2d on kazuhitoyokoi:master-fixinjectnode into 2c89b2d262e5b4975b6c87ad90cc6b3d31e5d2cb on node-red:master.

👍


Multiple endpoints

Hello friends, we have a requirement for a project to integrate with multiple networks/endpoints (we need ethereum and polygon). I understand that this is not supported. If you think it would be useful for the project I could try to implement that functionality as a PR with a care to be backwards compatible with the single provider version (i.e people that use a single provider won't need to change anything to their code). I'd be happy to see your opinions.
Kind regards,
Serafeim

I read the source code better and found out about the :url keyword that can be passed to the function so we can close the issue


Adding a SitemapBuildableView to generate a wagtail sitemap.

This will fix #37.

Hi @NDevox, thank you for your contribution and sorry for the late review.
Unfortunately with Wagtail before 2.2, it fails with the following error AttributeError: 'WSGIRequest' object has no attribute 'site'. Indeed, as you can see here it tries to query the request's site in the view but this behaviour was changed in wagtail/wagtail@a3fe8eb3b1141e50457d72516f9bd5d45b07cc6e which is included in Wagtail 2.2. It might simply be a matter of duplicating the new get_wagtail_site for versions prior to 2.2. However we might not need to do so as we might drop compatibility with Wagtail prior to 2.2 soon (see #36).
In addition, I haven't ran test for it yet but I suspect it won't be compatible with the multi-site option. As you can see, other views' build path differs whether we use multi sites:
https://github.com/wagtail/wagtail-bakery/blob/0937dde07d1791a3780079a1b6959eb0b9c43d55/src/wagtailbakery/views.py#L65-L69

I am using part of your pull request as my own SitemapBuildableView works perfectly for my use case. Would be good to get this work with multisite and merged at some point knowing that the current LTS is 2.3 Dropping support for < 2.3 would make sense

I'm focussing on preparing the Wagtail repository for Hacktoberfest over the next couple weeks, then I'll work towards merging this and fixing other issues which have been reported.

@loicteixeira Sorry I dropped off on this one!
If we drop support for < 2.3 obviously that makes things simpler. I'll wait for your input on that one.
I've not tested for multisite, I've also not had to use it for wagtail before! I can give that an attempt and see what happens. My thought on this one would be what behaviour would be expected? A class that builds all sitemaps in one go? Would we want to allow sites to be filtered? or demand a specific class instance for each site?

I'll update the test matrix as per #36 this week so you should be able to rebase on that after.
As for the expected behaviour, yes, one class which builds all sitemaps in one go, as does the base view:
https://github.com/wagtail/wagtail-bakery/blob/0937dde07d1791a3780079a1b6959eb0b9c43d55/src/wagtailbakery/views.py#L65-L69

@NDevox I rebased & continued your work on the PR linked above which supersed this one. Thank you for getting this started.


Add Truncate to app library

Add Truncate method to app library string extensions.

Closed by https://github.com/gaepdit/app-library/pull/41 and 40dff0abdb2b57f975dbab9bc3f298694c1bb2e6


Add override for threeten; refresh with newer version of camel

Hi @cunningt given the following discussion https://redhat-internal.slack.com/archives/C06C1AHSWBF/p1715608152134869?thread_ts=1715333031.565789&cid=C06C1AHSWBF we can drop 4.0.0 maintenance, and just focus on 3.20 and 4.4


Issue#4145-Send dedicated reconfirmation email

@SaiVardhan thanks a lot for this Pull Request! :)
Can you please add a setting under the Devise namespace to disable this feature for now? When upgrading Devise to a new version, is not completely desired for it to start sending new emails on existing apps, as developers might want to tweak the email layout first before rolling it out to their users - we can enable this by default on Devise 5 but we should have a feature toggle for it for now.

@lucasmazza ,
Can you give me a road map of adding a setting under the devise namespace

@SaiVardhan here is the gist of what we need to do:
1 - Add a newmattr_accessor attribute on lib/devise.rb similar to the ones we already have, with a default of false and a # TODO:  mentioning that we should turn it true on a future major release.
2 - On lib/generators/template/devise.rb, we can add a commented section explaining this new setting and how developers can turn it on.
3 - Change can_send_reconfirmation? to account for this new flag so developers need to turn it on when upgrading their apps.
Hope this helps!

@lucasmazza ready :)

Hi @SaiVardhan, thanks for your pull request.
Would you mind doing a rebase with master and take a look at the last comment?
Thanks.


Docker version is not able to pull dji/...

When trying to start the docker compose (sudo docker compose up -d / docker compose up -d / docker-compose up -d / ...) after 2-15 seconds I encounter the error of:
Error response from daemon: pull access denied for dji/nginx, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
I am logged into docker, this is not the issue, when rerunning the command, I get always the same error.
Important to note is that it is not just the nginx but also the other pulls, so far I encountered the error for dji/nginx, dji/mysql. dji/cloud_api_sample.
getting rid of the dji/ upfront does not solve the issue, it may help with nginx and mysql, but the cloud_api_sample cannot be found/pulled.
Thanks in advance!

Error Resolved.
sudo docker load < cloud_api_sample_docker_v1.0.0.tar <- Wrong version, DJI docs should be updated to 1.9.0
Also sudo commands before docker can possibly create errors, if so, try without sudo!


File Upload Not Working (For me)

Form input name is file.
  post "/upload" do |env|
    parse_multipart(env) do |field, data|
      content = data if field == "file"
      File.write("test.dat", content)
    end
  end

Output is : #IO::Delimited:0x1234567
like that.
Ubuntu 16.04.1 Server x64
Am i wrong?

Since content is an IO you need to read it till the end.
File.write "test.data", content.gets_to_end

should work. But that's a really slow way of writing to files.
You better use IO.copy like
File.open(file_path, "w") do |file|
    IO.copy(file, content)
 end

io.copy(src,dst) so how could it be file,content

It would be great to have an example from @rx14


Static Private IP for Kibana

Is it possible to add static IP address parameter for Kibana instance ?

Hey @agnelantony2, what problem would adding a static private IP address for Kibana solve for you? I'd be keen not to increase the complexity of the template further if it can be avoided.
You can obtain the private IP address of Kibana after deployment, if you need it
through Azure CLI 1.0:
azure network nic ip-config show <resource-group> <hostname-prefix>kibana-nic ipconfig1

where

<resource-group> is the name of the resource group
<hostname-prefix> is the value provided for vmHostNamePrefix parameter

this returns
info:    Executing command network nic ip-config show
+ Looking up the network interface "<hostname>kibana-nic"
data:    Private IP Address              : <IP_ADDRESS>
data:    Private IP Allocation Method    : Dynamic
data:    Private IP Address Version      : IPv4
data:    Subnet:
data:      Id                            : /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Network/virtualNetworks/network/subnets/network
data:    Primary                         : true
data:    Public IP Address:
data:      Id                            : /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Network/publicIPAddresses/<hostname-prefix>kibana-ip
data:    Provisioning State              : Succeeded
data:    Name                            : ipconfig1
data:    Etag                            : "etag"
info:    network nic ip-config show command OK

You can also get it through Azure CLI 2.0 or PowerShell.
Additionally, the Kibana VM can be addressed by its hostname on the VNet.

We aren't using public IPs on Kibana to access the UI. Kibana will be accessed behind a DMZ. If I add private IP for Kibana, we can predict and add that IP to load balancer for every deployment.


After disconnecting from chromecast, subtitles stop appearing in player

Have you read the FAQ and checked for duplicate open issues?
Yes
What link can we use to reproduce this?
Your own demo (Star Trek clip)
What version of Shaka Player are you using?
v3.0.5-uncompiled
What browser and OS are you using?
Chrome 86.0.4240.111, macOS Catalina 10.15.6
What did you do?
Turn on subtitles, connect to chromecast, disconnect from chromecast, video in web browser displays that the subtitles are on, but the subtitles are not displayed.
What did you expect to happen?
The subtitles are displayed and not affected by connecting and disconnecting to chromecast.
What actually happened?
The subtitles are not displayed.

@ScripterYoda, are you using the Cast Application Framework?  Or our Cast API that's built into Shaka Player?

@shaka-bot reopen
I'm trying to side load text tracks on appDataCallback by passing them there (maybe there's a better way) they work sometimes but when disconnecting the cast session the captions picker is gone, in my case im using the built in shaka api, would it be better to open a separate discussion?


Add PTZ support to uvc device

It appears that the v4l2 uvcvideo device can support PTZ controls, and the kernel has support for this: https://lkml.org/lkml/2014/7/8/837
We should add support to our uvc device, and make the fx2 firmware pass on the commands through to the serial board that does PTZ control.

This issue was moved to timvideos/HDMI2USB-misoc-firmware#150


Don't try to initialize empty NativeLibrary

Fixes #29162
It happened because the NativeScript was trying to initialize a null library.

Thanks!


fix: fix grpc dial option Invalid setting

https://github.com/go-micro/plugins/blob/f83e40dca9e922576bb1314328290f89935ee277/v4/client/grpc/options.go#L112-L119
https://github.com/go-micro/plugins/blob/f83e40dca9e922576bb1314328290f89935ee277/v4/client/grpc/options.go#L124-L131
Seams it was designed to get value from CallOptions.

https://github.com/go-micro/plugins/blob/f83e40dca9e922576bb1314328290f89935ee277/v4/client/grpc/options.go#L112-L119
https://github.com/go-micro/plugins/blob/f83e40dca9e922576bb1314328290f89935ee277/v4/client/grpc/options.go#L124-L131
Seems it was designed to get value from CallOptions.

The grpc grpcdialoptions interceptor should be set when grpc client initializes, rather than setting the option every time it is called, so it should be set in the context of client option

so
func CallOptions(opts ...grpc.CallOption) client.Option {
	return func(o *client.Options) {
		if o.Context == nil {
			o.Context = context.Background()
	}
}

grpc.ServerOption setting does not take effect


nx-ignore on vercel fails by printing nx-affected help documentation

My ignore build command is set to npx nx-ignore <relavent-project> --verbose. Command fails twice, printing out the help
for nx affected both times. Other errors as well. Please see logs from run.
[17:55:14.862] Cloning github.com/<redacted> (Branch:<redacted>, Commit: 7ba0c87)
[17:55:14.872] Skipping build cache since Vercel CLI used --force option
[17:55:16.844] Cloning completed: 1.981s
[17:55:16.844] Running "npx nx-ignore <redacted> --verbose"
[17:55:17.867] npm WARN exec The following package was not found and will be installed<EMAIL_ADDRESS>[17:55:18.420] ≫ Using Nx to determine if this project (<redacted>) is affected by the commit...
[17:55:18.421] ≫ Running from /vercel/.npm/_npx/cf7fc04e3df2a243/node_modules/nx-ignore/src
[17:55:18.421] ≫ Workspace root is /vercel/path0
[17:55:24.332] ≫ Found Nx at version 15.2.1
[17:55:24.332]
[17:55:24.333] ≫ Validating base ref: 7ba0c87e5ec7ab72e61eed044962dcbd6ab91403
[17:55:24.333]
[17:55:24.338]
[17:55:24.338] ≫ Comparing 7ba0c87e5ec7ab72e61eed044962dcbd6ab91403...HEAD
[17:55:24.338]
[17:55:25.239] nx print-affected
[17:55:25.239]
[17:55:25.240] Prints information about the projects and targets affected by changes
[17:55:25.240]
[17:55:25.240] Run command using --base=[SHA1] (affected by the committed, uncommitted and untracked changes):
[17:55:25.240]   --base  Base of the current branch (usually main)  [string]
[17:55:25.240]
[17:55:25.240] or using --base=[SHA1] --head=[SHA2] (affected by the committed changes):
[17:55:25.241]   --base  Base of the current branch (usually main)  [string]
[17:55:25.241]   --head  Latest commit of the current branch (usually HEAD)  [string]
[17:55:25.241]
[17:55:25.241] or using:
[17:55:25.241]   --files        Change the way Nx is calculating the affected command by providing directly changed files, list of files delimited by commas  [array]
[17:55:25.241]   --uncommitted  Uncommitted changes  [boolean]
[17:55:25.241]   --untracked    Untracked changes  [boolean]
[17:55:25.242]
[17:55:25.242] Options:
[17:55:25.242]   --help     Show help  [boolean]
[17:55:25.242]   --version  Show version number  [boolean]
[17:55:25.242]   --select   Select the subset of the returned json document (e.g., --select=projects)  [string]
[17:55:25.242]   --type     Select the type of projects to be returned (e.g., --type=app)  [string] [choices: "app", "lib"]
[17:55:25.242]   --target   Task to run for affected projects  [string]
[17:55:25.243]   --exclude  Exclude certain projects from being processed  [array] [default: []]
[17:55:25.243]   --all      All projects  [boolean]
[17:55:25.243]
[17:55:25.243] Examples:
[17:55:25.243]   print-affected                                               Print information about affected projects and the project graph
[17:55:25.244]   print-affected --base=main --head=HEAD                       Print information about the projects affected by the changes between main and HEAD (e.g,. PR)
[17:55:25.244]   print-affected --target=test                                 Prints information about the affected projects and a list of tasks to test them
[17:55:25.244]   print-affected --target=build --select=projects              Prints the projects property from the print-affected output
[17:55:25.244]   print-affected --target=build --select=tasks.target.project  Prints the tasks.target.project property from the print-affected output
[17:55:25.244]
[17:55:25.245] Find more information and examples at https://nx.dev/nx/print-affected
[17:55:25.245]
[17:55:25.245] Error: Cannot find module<EMAIL_ADDRESS>[17:55:25.245] Require stack:
[17:55:25.245] - /vercel/path0/node_modules/nx/src/config/workspaces.js
[17:55:25.245] - /vercel/path0/node_modules/nx/src/project-graph/file-utils.js
[17:55:25.245] - /vercel/path0/node_modules/nx/src/command-line/affected.js
[17:55:25.246] - /vercel/path0/node_modules/nx/src/command-line/nx-commands.js
[17:55:25.246] - /vercel/path0/node_modules/nx/bin/init-local.js
[17:55:25.246] - /vercel/path0/node_modules/nx/bin/nx.js
[17:55:25.246]     at Module._resolveFilename (node:internal/modules/cjs/loader:995:15)
[17:55:25.246]     at Function.resolve (/vercel/path0/node_modules/v8-compile-cache/v8-compile-cache.js:164:23)
[17:55:25.246]     at Workspaces.readNxJson (/vercel/path0/node_modules/nx/src/config/workspaces.js:168:52)
[17:55:25.247]     at readNxJson (/vercel/path0/node_modules/nx/src/config/configuration.js:7:72)
[17:55:25.247]     at Object.<anonymous> (/vercel/path0/node_modules/nx/src/daemon/client/client.js:288:72)
[17:55:25.247]     at Module._compile (/vercel/path0/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
[17:55:25.247]     at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
[17:55:25.247]     at Module.load (node:internal/modules/cjs/loader:1037:32)
[17:55:25.248]     at Module._load (node:internal/modules/cjs/loader:878:12)
[17:55:25.248]     at Module.require (node:internal/modules/cjs/loader:1061:19) {
[17:55:25.248]   code: 'MODULE_NOT_FOUND',
[17:55:25.248]   requireStack: [
[17:55:25.248]     '/vercel/path0/node_modules/nx/src/config/workspaces.js',
[17:55:25.248]     '/vercel/path0/node_modules/nx/src/project-graph/file-utils.js',
[17:55:25.249]     '/vercel/path0/node_modules/nx/src/command-line/affected.js',
[17:55:25.249]     '/vercel/path0/node_modules/nx/src/command-line/nx-commands.js',
[17:55:25.249]     '/vercel/path0/node_modules/nx/bin/init-local.js',
[17:55:25.249]     '/vercel/path0/node_modules/nx/bin/nx.js'
[17:55:25.249]   ]
[17:55:25.249] }
[17:55:25.250] node:internal/errors:863
[17:55:25.250]   const err = new Error(message);
[17:55:25.250]               ^
[17:55:25.250]
[17:55:25.251] Error: Command failed: npx nx print-affected --base=7ba0c87e5ec7ab72e61eed044962dcbd6ab91403 --head=HEAD
[17:55:25.251] nx print-affected
[17:55:25.251]
[17:55:25.251] Prints information about the projects and targets affected by changes
[17:55:25.253]
[17:55:25.253] Run command using --base=[SHA1] (affected by the committed, uncommitted and untracked changes):
[17:55:25.254]   --base  Base of the current branch (usually main)  [string]
[17:55:25.254]
[17:55:25.254] or using --base=[SHA1] --head=[SHA2] (affected by the committed changes):
[17:55:25.254]   --base  Base of the current branch (usually main)  [string]
[17:55:25.255]   --head  Latest commit of the current branch (usually HEAD)  [string]
[17:55:25.255]
[17:55:25.255] or using:
[17:55:25.255]   --files        Change the way Nx is calculating the affected command by providing directly changed files, list of files delimited by commas  [array]
[17:55:25.255]   --uncommitted  Uncommitted changes  [boolean]
[17:55:25.256]   --untracked    Untracked changes  [boolean]
[17:55:25.256]
[17:55:25.256] Options:
[17:55:25.256]   --help     Show help  [boolean]
[17:55:25.256]   --version  Show version number  [boolean]
[17:55:25.257]   --select   Select the subset of the returned json document (e.g., --select=projects)  [string]
[17:55:25.257]   --type     Select the type of projects to be returned (e.g., --type=app)  [string] [choices: "app", "lib"]
[17:55:25.257]   --target   Task to run for affected projects  [string]
[17:55:25.257]   --exclude  Exclude certain projects from being processed  [array] [default: []]
[17:55:25.257]   --all      All projects  [boolean]
[17:55:25.257]
[17:55:25.258] Examples:
[17:55:25.258]   print-affected                                               Print information about affected projects and the project graph
[17:55:25.258]   print-affected --base=main --head=HEAD                       Print information about the projects affected by the changes between main and HEAD (e.g,. PR)
[17:55:25.258]   print-affected --target=test                                 Prints information about the affected projects and a list of tasks to test them
[17:55:25.259]   print-affected --target=build --select=projects              Prints the projects property from the print-affected output
[17:55:25.259]   print-affected --target=build --select=tasks.target.project  Prints the tasks.target.project property from the print-affected output
[17:55:25.260]
[17:55:25.260] Find more information and examples at https://nx.dev/nx/print-affected
[17:55:25.260]
[17:55:25.260] Error: Cannot find module<EMAIL_ADDRESS>[17:55:25.260] Require stack:
[17:55:25.260] - /vercel/path0/node_modules/nx/src/config/workspaces.js
[17:55:25.261] - /vercel/path0/node_modules/nx/src/project-graph/file-utils.js
[17:55:25.261] - /vercel/path0/node_modules/nx/src/command-line/nx-commands.js
[17:55:25.262] - /vercel/path0/node_modules/nx/bin/init-local.js
[17:55:25.262] - /vercel/path0/node_modules/nx/bin/nx.js
[17:55:25.262]     at Module._resolveFilename (node:internal/modules/cjs/loader:995:15)
[17:55:25.262]     at Function.resolve (/vercel/path0/node_modules/v8-compile-cache/v8-compile-cache.js:164:23)
[17:55:25.262]     at Workspaces.readNxJson (/vercel/path0/node_modules/nx/src/config/workspaces.js:168:52)
[17:55:25.262]     at readNxJson (/vercel/path0/node_modules/nx/src/config/configuration.js:7:72)
[17:55:25.262]     at Object.<anonymous> (/vercel/path0/node_modules/nx/src/daemon/client/client.js:288:72)
[17:55:25.263]     at Module._compile (/vercel/path0/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
[17:55:25.263]     at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
[17:55:25.263]     at Module.load (node:internal/modules/cjs/loader:1037:32)
[17:55:25.263]     at Module._load (node:internal/modules/cjs/loader:878:12)
[17:55:25.263]     at Module.require (node:internal/modules/cjs/loader:1061:19) {
[17:55:25.263]   code: 'MODULE_NOT_FOUND',
[17:55:25.263]   requireStack: [
[17:55:25.263]     '/vercel/path0/node_modules/nx/src/config/workspaces.js',
[17:55:25.264]     '/vercel/path0/node_modules/nx/src/project-graph/file-utils.js',
[17:55:25.264]     '/vercel/path0/node_modules/nx/src/command-line/affected.js',
[17:55:25.264]     '/vercel/path0/node_modules/nx/src/command-line/nx-commands.js',
[17:55:25.264]     '/vercel/path0/node_modules/nx/bin/init-local.js',
[17:55:25.264]     '/vercel/path0/node_modules/nx/bin/nx.js'
[17:55:25.264]   ]
[17:55:25.264] }
[17:55:25.264]
[17:55:25.264]     at checkExecSyncError (node:child_process:871:11)
[17:55:25.264]     at execSync (node:child_process:943:15)
[17:55:25.265]     at /vercel/.npm/_npx/cf7fc04e3df2a243/node_modules/nx-ignore/src/index.js:57:24
[17:55:25.265]     at Generator.next (<anonymous>)
[17:55:25.265]     at asyncGeneratorStep (/vercel/.npm/_npx/cf7fc04e3df2a243/node_modules/@swc/helpers/lib/_async_to_generator.js:13:28)
[17:55:25.265]     at _next (/vercel/.npm/_npx/cf7fc04e3df2a243/node_modules/@swc/helpers/lib/_async_to_generator.js:31:17)
[17:55:25.265]     at /vercel/.npm/_npx/cf7fc04e3df2a243/node_modules/@swc/helpers/lib/_async_to_generator.js:36:13
[17:55:25.265]     at new Promise (<anonymous>)
[17:55:25.265]     at /vercel/.npm/_npx/cf7fc04e3df2a243/node_modules/@swc/helpers/lib/_async_to_generator.js:28:16 {
[17:55:25.266]   status: 1,
[17:55:25.266]   signal: null,
[17:55:25.266]   output: [
[17:55:25.266]     null,
[17:55:25.267]     Buffer(0) [Uint8Array] [],
[17:55:25.267]     Buffer(3583) [Uint8Array] [
[17:55:25.267]       110, 120,  32, 112, 114, 105, 110, 116,  45,  97, 102, 102,
[17:55:25.268]       101,  99, 116, 101, 100,  10,  10,  80, 114, 105, 110, 116,
[17:55:25.268]       115,  32, 105, 110, 102, 111, 114, 109,  97, 116, 105, 111,
[17:55:25.268]       110,  32,  97,  98, 111, 117, 116,  32, 116, 104, 101,  32,
[17:55:25.268]       112, 114, 111, 106, 101,  99, 116, 115,  32,  97, 110, 100,
[17:55:25.268]        32, 116,  97, 114, 103, 101, 116, 115,  32,  97, 102, 102,
[17:55:25.268]       101,  99, 116, 101, 100,  32,  98, 121,  32,  99, 104,  97,
[17:55:25.268]       110, 103, 101, 115,  10,  10,  82, 117, 110,  32,  99, 111,
[17:55:25.268]       109, 109,  97, 110,
[17:55:25.269]       ... 3483 more items
[17:55:25.269]     ]
[17:55:25.269]   ],
[17:55:25.269]   pid: 319,
[17:55:25.269]   stdout: Buffer(0) [Uint8Array] [],
[17:55:25.269]   stderr: Buffer(3583) [Uint8Array] [
[17:55:25.269]     110, 120,  32, 112, 114, 105, 110, 116,  45,  97, 102, 102,
[17:55:25.269]     101,  99, 116, 101, 100,  10,  10,  80, 114, 105, 110, 116,
[17:55:25.269]     115,  32, 105, 110, 102, 111, 114, 109,  97, 116, 105, 111,
[17:55:25.269]     110,  32,  97,  98, 111, 117, 116,  32, 116, 104, 101,  32,
[17:55:25.270]     112, 114, 111, 106, 101,  99, 116, 115,  32,  97, 110, 100,
[17:55:25.270]      32, 116,  97, 114, 103, 101, 116, 115,  32,  97, 102, 102,
[17:55:25.270]     101,  99, 116, 101, 100,  32,  98, 121,  32,  99, 104,  97,
[17:55:25.270]     110, 103, 101, 115,  10,  10,  82, 117, 110,  32,  99, 111,
[17:55:25.270]     109, 109,  97, 110,
[17:55:25.270]     ... 3483 more items
[17:55:25.270]   ]
[17:55:25.270] }
[17:55:25.271]
[17:55:25.271] Node.js v18.12.1
[17:55:27.851] Running "vercel build"
[17:55:28.459] Vercel CLI 28.12.7
[17:55:30.278] Detected `pnpm-lock.yaml` generated by pnpm 7...
[17:55:30.286] Running "install" command: `pnpm install`...
[17:55:31.116] Lockfile is up to date, resolution step is skipped
[17:55:31.391] Progress: resolved 1, reused 0, downloaded 0, added 0
[17:55:32.125] Packages: +2559
[17:55:32.126] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[17:55:32.418] Progress: resolved 2559, reused 0, downloaded 0, added 0
[17:55:32.952] Packages are hard linked from the content-addressable store to the virtual store.
[17:55:32.952]   Content-addressable store is at: /vercel/.local/share/pnpm/store/v3
[17:55:32.953]   Virtual store is at:             node_modules/.pnpm
[17:55:33.432] Progress: resolved 2559, reused 0, downloaded 32, added 29
[17:55:34.452] Progress: resolved 2559, reused 0, downloaded 72, added 67
[17:55:35.459] Progress: resolved 2559, reused 0, downloaded 82, added 81
[17:55:36.476] Progress: resolved 2559, reused 0, downloaded 111, added 108
[17:55:37.479] Progress: resolved 2559, reused 0, downloaded 158, added 154
[17:55:38.486] Progress: resolved 2559, reused 0, downloaded 197, added 199
[17:55:39.491] Progress: resolved 2559, reused 0, downloaded 229, added 232
[17:55:40.497] Progress: resolved 2559, reused 0, downloaded 275, added 273
[17:55:41.498] Progress: resolved 2559, reused 0, downloaded 330, added 329
[17:55:42.505] Progress: resolved 2559, reused 0, downloaded 371, added 370
[17:55:43.506] Progress: resolved 2559, reused 0, downloaded 398, added 396
[17:55:44.510] Progress: resolved 2559, reused 0, downloaded 444, added 435
[17:55:45.517] Progress: resolved 2559, reused 0, downloaded 468, added 468

... Build continues as normal

Thanks!


Dashboard permission errors from kubectl proxy on K8s 1.10.3 cluster deployed from acs-engine master

Is this an ISSUE or FEATURE REQUEST?
Issue

What version of acs-engine?
Version: canary
GitCommit: a1fe789
GitTreeState: dirty
(I had one change to the Makefile so that make dev works on my system with a strange net config)

Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)
Kubernetes
What happened:
The dashboard at http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default doesn't seem to have any permissions for the service account it's running as.
warning
configmaps is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list configmaps in the namespace "default"
close
warning
persistentvolumeclaims is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list persistentvolumeclaims in the namespace "default"
close
warning
secrets is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list secrets in the namespace "default"
close
warning
services is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list services in the namespace "default"
close
warning
ingresses.extensions is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list ingresses.extensions in the namespace "default"
close
warning
daemonsets.apps is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list daemonsets.apps in the namespace "default"
close
warning
pods is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list pods in the namespace "default"
close
warning
events is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list events in the namespace "default"
close
warning
deployments.apps is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list deployments.apps in the namespace "default"
close
warning
replicasets.apps is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list replicasets.apps in the namespace "default"
close
warning
jobs.batch is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list jobs.batch in the namespace "default"
close
warning
cronjobs.batch is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list cronjobs.batch in the namespace "default"
close
warning
replicationcontrollers is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list replicationcontrollers in the namespace "default"
close
warning
statefulsets.apps is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list statefulsets.apps in the namespace "default"

What you expected to happen:
Dashboard should work, be able to show nodes, pods, and so on
How to reproduce it (as minimally and precisely as possible):

Create a JSON file with

"orchestratorProfile": {
      "orchestratorType": "Kubernetes",
      "orchestratorVersion": "1.10.3"
    },

acs-engine generate, deploy it

Copy .kube/config from master node

kubectl proxy

browse to http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default

$ kubectl -n kube-system describe rolebinding kubernetes-dashboard-minimal

Name:         kubernetes-dashboard-minimal
Labels:       addonmanager.kubernetes.io/mode=Reconcile
              k8s-app=kubernetes-dashboard
              kubernetes.io/cluster-service=true
Annotations:  kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"rbac.authorization.k8s.io/v1","kind":"Role
Binding","metadata":{"annotations":{},"labels":{"addonmanager.kubernetes.io/mode":"Reconcile",...
Role:
  Kind:  Role
  Name:  kubernetes-dashboard-minimal
Subjects:
  Kind            Name                  Namespace
  ----            ----                  ---------
  ServiceAccount  kubernetes-dashboard  kube-system

$ kubectl -n kube-system describe role kubernetes-dashboard-minimal
Name:         kubernetes-dashboard-minimal
Labels:       addonmanager.kubernetes.io/mode=Reconcile
              k8s-app=kubernetes-dashboard
              kubernetes.io/cluster-service=true
Annotations:  kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"rbac.authorization.k8s.io/v1","kind":"Role
","metadata":{"annotations":{},"labels":{"addonmanager.kubernetes.io/mode":"Reconcile","k8s-ap...
PolicyRule:
  Resources       Non-Resource URLs  Resource Names                     Verbs
  ---------       -----------------  --------------                     -----
  configmaps      []                 []                                 [create]
  configmaps      []                 [kubernetes-dashboard-settings]    [get update]
  secrets         []                 []                                 [create]
  secrets         []                 [kubernetes-dashboard-key-holder]  [get update delete]
  services        []                 [heapster]                         [proxy]
  services/proxy  []                 [heapster]                         [get]
  services/proxy  []                 [http:heapster:]                   [get]
  services/proxy  []                 [https:heapster:]                  [get]

Applying the binding described at https://github.com/kubernetes/dashboard/wiki/Access-control#admin-privileges fixed it

Looks like #2816 added RBAC for k8s 1.8+
The config for 1.7, 1.8 adds a ClusterRoleBinding of cluster-admin to Kubernetes-dashboard. The non-versioned one used for 1.9+ does not bind cluster-admin, instead Kubernetes-dashboard-minimal.

https://blogs.msdn.microsoft.com/kennethteo/2018/07/26/aks-with-aad/ hmm this shows a binding based on an AAD user. might work with acs-engine

Run  kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
Everything worked for me.

It's not working on AKS as well.
@kairok  thank you for a fix!!!

This only happened to me when RBAC was enabled.  Below fixed it

Run kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
Everything worked for me.

kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
its work for me

Thank you mgwulay. This works for me.

@kairok thank you for a fix!!!


Batches kill requests from cs

Changes proposed in this PR

batches kill requests coming from cs to avoid hitting the query string length limit

Why are we making these changes?
Now that you can pipe from cs jobs to cs kill, it's possible that users will want to, for example, kill 1000 running jobs with something like:
$ cs jobs --all --user root --name test01 --limit 1000 -1 | cs kill

If we don't batch the kill requests, we end up constructing a query string that is too long.

Awaiting green build

@shamsimam RTM


Intercept console output in tests

Not sure if you will like this so first a proof-of-concept before I change the other tests as well.
Although the tests are not the most important stuff to work on, I was a bit annoyed by the sheer amount of output that floods the screen when running the tests. And imho all that output is just not necessary, if you run a test you need to know if it succeeded or not and only when it didnt you dig in. Eg do we really need to output the build info with asset list every time?
This PR adds a console helper which can be used to easily intercept (most?) console statement made in the code that is tested. It uses sinon as a spy so you can also easily check what console statements were called. See the code for an explanation by example.

For a quick diff of the output:

before: https://travis-ci.org/nuxt/nuxt.js/jobs/306854567#L580
after: https://travis-ci.org/nuxt/nuxt.js/jobs/306929383#L587

Quite sure the failed test has again nothing to do with this PR.

@pimlie Thank you very much for the pr, sinon is really a fantastic tool for spies and mocks. :smile:
But tests have introduced std-mocks to intercept the console, @Atinux @pi0 what do you think about this pr ?

Ah sorry, I missed that. But i think you could say that technically std-mocks doesnt really intercept the console (as used in js) as it works on a higher process level ;)
It would not be a problem for me to also rewrite the std-mock tests
Btw, the only thing I would change on the current implementation is that the intercept methods return a reference to the sinon spy. That way we wont have to use all those eslint disable statements as currently it nags about the console in console.log.calledOnce.

I think the problem with verbose logs is reasonable. But such approach is somehow hiding the real problem. And also potentially hiding some important warns which don't break tests but we should make attention.
We can simply add a builder option to disable web pack logs. And disabling them for all tests too.

Its also ok with me to disable the webpack output using a builder option, but wouldnt we then still show eg the OPEN statement from nuxt.listen? How would you propose to hide that message or do you prefer to keep those visible?
Although I agree that this PR could potentially hide other unexpected warnings, the test should still fail if we use the sinon spy correctly. We should use it exactly the same as we do when we test for errors, there we also check not only if there was an error but if the error was the one we expected. If we do the same with other non-error console statements no test should pass except for the intended test-case.
Eg in the current adaption I only check if the log spy has been called once, better would probably be to also add a
t.is(console.log.args[0][0], 'Test Plugin!');

line to check the contents of the log message. We could even add a wrapper for t.is that automatically prints all args to stdout if the test as unsuccesful.

This seems a good idea to test CLI outputs too but not hiding them. And it seems not really conflicting with std-mocks which we currently use for some tests.

But wouldnt you want to rewrite the tests using std-mock as well? Eg what would be the benefit of keep using std-mock? As I said, I am happy to do that so you can focus on adding even more exciting features :)
Also please note that it seems std-mock also hides all output of the command. Look at this line: https://travis-ci.org/nuxt/nuxt.js/jobs/306854567#L1101 The test uses std-mock there to see if the line 'Body script' was output'ted but it doesnt show there.

I have implemented the proposed changes and also changed the basic.ssr.test.js to show how a test without std-mock would look like.

Codecov Report

Merging #2234 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #2234   +/-   ##
=======================================
  Coverage   98.36%   98.36%
=======================================
  Files          15       15
  Lines         977      977
=======================================
  Hits          961      961
  Misses         16       16

Impacted Files
Coverage Δ

lib/common/options.js
100% <0%> (ø)
:arrow_up:

lib/builder/generator.js
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a29eb99...194bcdd. Read the comment docs.


Cloud-init script generation

This is split off from #16. We need a stand-alone or existing library that will generate cloud-init scripts for this provider.

/kind feature

We can consider moving the existing code from CAPA to here that does this already

I think while templates work, they are not ideal in the long term as evidenced by the kops migration away from templates to structs.
There are golang structs for cloud-init that could be copied and pasted from here: https://github.com/moshloop/konfigadm/blob/master/pkg/cloud-init/types.go
Another option is to import konfigadm as whole as it will enable other functionality such as embedding arbitrary files, multi-os  installation of prerequisites like  kubernetes/docker, coreos ignition support,

Agreed, templates are definitely not ideal in the long term. I think they are a fine place to start and as the project expands and we determine the scope more clearly we can talk about alternative methods such as konfigadm. That being said, this library (bootstrap-provider-kubeadm) should be built so that changing out the script generation library is not painful.

I think starting with what we have now in CAPA and refining makes the most sense to me, though I agree structs are the future. I'll take a swing at this. 😄
/assign
/lifecycle active

/milestone v0.1


Add client method to upload models from memory without serializing to disk first

Closes #232
Overview
Adds client method that is meant to be used from a notebook context or similar to upload a model that's in memory without needing to serialize and deserialize it.
Discussion
As a byproduct this breaks up the monster stage_model_for_upload function in mlmodel.py. The original behavior should be exactly preserved though, bar a name change.
Testing
WIP, will update when this is out of draft state
Documentation
WIP, will update when this is out of draft state

:books: Documentation preview :books:: https://garden-ai--259.org.readthedocs.build/en/259/

Codecov Report

Merging #259 (87b5c90) into main (1cad57a) will decrease coverage by 0.28%.
The diff coverage is 50.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #259      +/-   ##
==========================================
- Coverage   77.66%   77.38%   -0.28%
==========================================
  Files          48       48
  Lines        3443     3463      +20
==========================================
+ Hits         2674     2680       +6
- Misses        769      783      +14

Files Changed
Coverage Δ

tests/integrations/test_mlflow.py
19.60% <0.00%> (ø)

garden_ai/client.py
56.55% <20.00%> (-2.11%)
:arrow_down:

garden_ai/mlmodel.py
70.73% <66.66%> (-0.61%)
:arrow_down:

garden_ai/app/model.py
88.52% <100.00%> (ø)

garden_ai/model_file_transfer/upload.py
52.94% <100.00%> (ø)

tests/cli/test_model.py
100.00% <100.00%> (ø)

tests/test_mlmodel.py
100.00% <100.00%> (ø)

but can we add a line to the new docs section/example that mentions that the full model name to use would<EMAIL_ADDRESS>
Gladly! I'll get that in and then merge.


Improvement request: collapse notification line

When I begin to write a message, the keyboard is taking 50% of the view.
10% is taken by the input field but another 10% is taken by the notification line (the one just above the input field). So there isn't any much space for the previous messages.
It would be nice to if the app would automatically collapse this notification line (especially when the keyboard comes up).

@saintger: we agree with you.
An issue is already filed in our Riot meta-project (https://github.com/vector-im/riot-meta/issues/7).


Restore previous 'delta5node.ino'

Commit d17dcdf43f90741d451240af1effb84ca40a5932 ("timing server LED") reverts the changes to 'delta5node.ino' that came in via the previous commit d0df60163cc21c1b55e4afff656acef83826c2ed ("Modified node to use freqMhzToRegVal() fn instead of table") for no apparent reason.  I think the previous 'delta5node.ino' should be restored.
--ET

It was updated because on the LiveTime version, the user can manually input the frequency.  If the user submitted a frequency that wasn't in the table the system would lock up.  Is there an issue with using the current freqMhzToRegVal() calculation?

It should be restored now.

Yes, looks good now; thx.


Combine upload buttons

There is currently a separate button for uploading a zip file versus files. We should combine these and determine ourselves what the file is.

Keeping it like this, must upload a zip file.


Add MSI in Adf Linkedservice for Databricks

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[x] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

@JeffreyRichter , @qianwens  Could you please help review

@JeffreyRichter , @qianwens  Could you please help review

This looks OK to me. Anything you want me to comment on specifically?

This looks OK to me. Anything you want me to comment on specifically?

This looks OK to me. Anything you want me to comment on specifically?

Need help to get it approved, if it looks fine?

This looks OK to me. Anything you want me to comment on specifically?

Need help to get it approved, if it looks fine?

I approve breaking changes and this PR doesn't have any to approve. You should reach out to whoever normally approves these PRs.

I approve breaking changes and this PR doesn't have any to approve. You should reach out to whoever normally approves these PRs.


The difference between the FPN in yolact and the FPN in RetinaNet?

I note that the FPN structure in yolact is slightly different from the FPN in RetinaNet. In RetinaNet, P6 is obtained via a 3x3 stride-2 conv on C5 and P7 is computed by applying ReLU followed by a 3x3 stride-2 conv on P6. In yolact, P6 is directly obtained from P5, and P7 is obtained from P6 (without the ReLU before Conv). So is there any reason for why you did this?

Oh? I thought Retinanet obtains P6 from P5 not C5. I don't think it really matters though, but it's probably better to get P6 from P5 considering it just gives it that extra layer of computation.
Update: I just checked the Retinanet paper and you're right. Looks like that went over my head, but no point in changing it now.

OK, got it. And I'll close this issue.


search: Add appropriate error for misused search operators.

For is operator, we checked for messages in all operands and showed errors (if there is) accordingly. But when an invalid operand was used with this operator we were sending a default message of starting a new conversation which was wrong since we cannot start a conversation for an invalid operand.
Added a new error instead that will tell user that the operand they've used is invalid and recommending them to read the help on "Search for messages". Also, added a missing check for alerted operand.
For has operator, there was no pre-existing conditions to check errors for different operands.
Added conditions and suitable errors along with the error for an invalid operand as in the case of is operator.
Sometimes, people search for streams instead of stream and get no results because streams is an invalid operator.
Added a special case condition for this one to tell the user if they meant to use stream.
Fixes: #18396.

Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

I see there are some errors but it looks like they do not concern the core functionality. Anyone reviewing can give the feedback while I fix the errors.

@alya Would you like to review this one?

Ah, thanks, I think I missed it because the title sounded like a non-user-facing change. :)

Can you please do the following to make it easier to review this:

Indicate clearly which screenshots are proposed changes, and which ones are showing that some current behavior still works.
Write out in a comment all the proposed strings, so it's easier to provide feedback.

I did notice that the "Search operator..." message is missing a period at the ned.

@alya I've addressed your feedback.

Thanks! I still don't see this part, though:

Write out in a comment all the proposed strings, so it's easier to provide feedback.

@alya

For is and has operators,
a. whenever there were no messages for any narrow instead of displaying that it said there are no messages here.
b. whenever we tried to go to an invalid narrow, it again said the same which is wrong, now it complains about the situation.
Sometimes people used streams instead of stream and it again showed the same message instead of complaining, changed this behavior too.

You can find a demonstration of all of the above in screenshots in the PR description.


A blinking cursor should push only one frame

Prior to this patch, we were pushing two frames each time the cursor blinked.
In turning the cursor on or off, the markNeedsPaint call was triggering another
frame to be scheduled because we cleared a bit in the scheduler at the
beginning of the frame instead of at the end of the frame.
To implement scheduling correctly, we actually need two bits: one for
ensureVisualUpdate, which just promises to get to the end of the pipeline soon,
and scheduleFrame, which promises to get to the beginning of the pipeline soon.

@Hixie

Some dude came by my cube and gave a drive-by comment to the effect that you should use an enum instead of two booleans, though. Just sayin'.

Actually, all four states exist, so I'm going to keep this as two bools.

Looks like this patch broke scrolling in single-line text fields. Try opening the gallery app's Text fields demo, and type a really long string.

Oh, interesting.  /me will take a look.


htmlunit-driver 2.46.0 (was 2.43.1)

Updates org.seleniumhq.selenium:htmlunit-driver from 2.43.1 to 2.46.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.seleniumhq.selenium", artifactId = "htmlunit-driver" } ]

labels: library-update, semver-minor

Superseded by #308.


Unencoded special characters cause failures

There is an issue with unencoded characters.
Create a suite that consists of 2 tests.
Each test will only have 2 steps: Step 1 open a page and Step 2 verify text that contains an ampersand.
Save your suite and delete it from the Katalon recorder.
Open the suite once again and Play the Full suite.
Test 1 will Pass and Test 2 will Fail.
This is because the ampersands appears as & amp ; (had to put spaces because github is fixing it)
Once again, delete the suite from the Katalon recorder.
Open the suite again, but this time, click on Test 2, then Play the Full suite.
This time, both tests will pass.  This is because when you click on Test 2, there is a "cleanse" that occurs
and you'll see that & amp ; now just appears as &
Can you fire this cleanse upon suite open, instead of upon clicking the test?
As a workaround, I click on every test in my suite before I run it, which is time consuming because I have close to 70 tests in my suite, but it does fix the issue.

Hi there, thank you for the bug report. We'll look into it and keep you updated when there's a fix.

@jar452
This problem has been fixed in 5.6.2 which is available on Chrome store now. Please check it out and open another issue if the problem still persists! Thank you.


Ability to pass in arguments to start and watch tasks

It would be nice if you could pass in arguments to tasks when they're called from fly.start and fly.watch
@bucaran Here's an example of how I think it could work
const paths = {
  styles: 'app/lib/styles/**/*',
  js: 'app/lib/js/**/*'
}

export default async function() {
  this.start([
    // yes it's the same as the `styles` task but it's an example.
    // the key value in the object would be the name of the task
    { styles: paths.styles },
    // you could still pass in a string for backwards compatibility
    'js'
  ], { parallel: true }) // still pass in options as normal
}

export async function styles(globs) {
  await this
    .source(globs || paths.styles)
    .scss()
    .target(dist)
}

export async function js(globs) {
  await this
    .source(globs || paths.js)
    .babel()
    .target(dist)
}

export async function watch() {
  // `fly.watch` would update to be able to accept a function.
  // This would just be an addition to accepting an `array` not replacing it,
  // this way the changes can be backwards compatible
  const styles = this.watch(paths.styles, async (changed) => {
    // the initial time this function runs the `changed` variable could be
    // the glob that was passed (aka `paths.styles`), then after that `changed`
    // would be the files that changed. This way users have the option to pass in
    // just the files that changed, which would save a ton of time on tasks
    await this.start({ styles: changed })
  })
  const js = this.watch(paths.js, async (changed) => {
    await this.start({ js: changed })
  })

  // other watch tasks...

  await Promise.all([ styles, js/*, ...other tasks */ ])
}

The reason why I bring this addition up is because there's several times I've had tasks that are looking at all js files for changes and the js task is clearing the entire  js dist directory and then rebuilding it. That becomes quite time consuming when I'm just making a simple change to 1 file and all I really need is to run that 1 file through the task.

Hmm.. I'm not a big fan of the start changes, nor the idea behind it. I think all tasks should have their source baked in, as a default.
What I do like is the changed handler. I think this should probably be worked into the watch method, and, by default, handle the changed/updated files only. This would also mean that the destination files/folders will only be deleted & overwritten in relation to the changed file.
yield this.watch('scripts/**/*.js, ['scripts']);

// (1) glob default source
exports.scripts = function * () {
  yield this.source('scripts/*.js')
    .babel({}).target('dist/js');
};

// (2) non-glob, single source
exports.scripts = function * () {
  yield this.source('scripts/app.js')
    .browserify().target('dist/js');
};

Changing the file scripts/chat/index.js while using the first scripts function will, behind the scenes, inject the individual file into the function & treat that as the new source. This is because (and only because) the default source is a glob selection; so the new source adds specificity.
The second scripts function will not adopt the new source, because it's already the most specific it can get. This is ideal for tasks that rely on single entry, like browserify, as shown.
What you think?

I'm not sure how well that would go over in the long run because you're forcing that functionality
upon tasks that might work well with it. Instead of letting the author of the task decide how to handle it.
Here's an example of how I usually end up building out styles. Currently I have site styles and page styles separated out because it was taking too long for everything to compile when I only needed 1 of them to run. However I need to do exactly the same thing to both tasks and that's why I wrote the postcss function at the bottom of the gist. If you could pass in options this.start, it would make this part easier. You're right making and object ({ styles: paths.styles }) and passing it arguments could get messy especially if there're multiple arguments because then you would have to pass in an array. I'd be okay with looking into other ways to use this.start. I know the next version of gulp is using gulp.parallel to run tasks in parallel, and that could be a good way of handling that. Personally I would just use await Promise.all(...) to run things in parallel because it's just as easy, and that's what it's for.
export async default function() {
  await this.clean('dist')
  await Promise.all([ this.start('site'), this.start('js') this.start('images') this.start('etc') ])
  await this.start('server')
}

If you did remove the parallel option from this.start it would make it easier to pass in arguments in a easier way because
export async function siteStyles() {
  ...
  await this.start('postcss', 'dist/styles/site.css', 'dist/styles')
}

1 problem with automatically passing in the file that changes is that you will also have to do the same thing for this.clear
because for most tasks that use **/* in this.source are also using the same thing for their this.clear just with a different base directory (aka app vs dist). I'm you could do some logic to determine this to get it to work.
Another problem with it is that the file that changed might have just been to trigger a recompile a different glob of files. For example when app/styles/tools/_variables.scss changes I trigger stylesSite, and stylesPages because both tasks are watching for it to change _variables.scss. If you automatically injected the changed file into stylesSite it would work because of the way you described above because it's source is app/styles/site.scss so the changed file would not be passed in. However stylesPages uses a glob of app/styles/pages/*.scss so If you tried to pass in app/styles/tools/_variables.scss it would not run as expected. For this task I would want to check the path that changed and if it was in app/styles/pages then only run the changed file through it otherwise recompile all of the pages.
I think leaving it up to the developer who's authoring the task to determine what is passed in would be the best option because it's the most flexible.

After looking through the source code I discovered that the this.start command actually accepts a value key in it's options and that option is passed into the function that is ultimately called by this.exec. Knowing this if you update the Fly.prototype.watch function to pass in the file that's changed you can get the functionality that allows you to pass in 1 file instead of a glob full of a bunch of files.
Fly.prototype.watch = function (globs, tasks, options) {
	options = options || {}
	globs = arrify(globs)

	_('watch %o', globs)

	var self = this
	return self.emit('fly_watch').start(tasks, options).then(function () {
		return chokidar
			.watch(flatten(globs), {ignoreInitial: true})
			.on('all', function (type, file) {
				options.value = type === 'change' ? file : null
				return self.start(tasks, options)
			})
	})
}

Closed by #189


Is this plugin enough to make payment with Braintree?

I'm trying to integrate Braintree payments into my app but I just always get "OR_BIBED_07" error.
I can't seem to find any example implementing this with BrainTree and I start wondering maybe I'm on the wrong path using this plugin.
Error from android console:
... E Volley  : [863] ekb.b: Unexpected response code 500 for https://payments-pa.googleapis.com/payments/apis-secure/ui2/buyflowservice/initialize

Good day @KestasVenslauskas.
I'm closing the issue assuming that the previous answer addresses your question.
Feel free to re-open otherwise.


Extract Scene

Hello! Is it possible to somehow add the decompilation of the scene so that it is possible to add it to the project?

Try putting a .unity file extension on it.


KAFKA-7311: Reset next batch expiry time on each poll loop

Sender/RecordAccumulator never resets the next batch expiry time. Its always computed as the min of the current value and the expiry time for all batches being processed. This means that its always set to the expiry time of the first batch, and once that time has passed Sender starts spinning on epoll with a timeout of 0, which consumes a lot of CPU. This patch updates Sender to reset the next batch expiry time on each poll loop so that a new value reflecting the expiry time for the current set of batches is computed.
cc @guozhangwang @hachikuji @ijuma
Hope you folks are the right people to review.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thanks for the PR. Is this a regression in trunk as a result of KIP-91?

Yeah looks that way.

There is also a flame graph generated by @rodesai demonstrating the producer CPU utilization:
flamegraph.pdf

I'm triggering simple streams benchmark comparing this branch:
https://jenkins.confluent.io/job/system-test-kafka-branch-builder/1918/
v.s. trunk:
https://jenkins.confluent.io/job/system-test-kafka-branch-builder/1919/

Filed https://jira.apache.org/jira/browse/KAFKA-7312 for the transient failures.

By default, the config delivery.timeout.ms should be set to 2 minutes, so it means the bug should be encountered at the timestamp of the first-ever brach.create-time + delivery-time, which should be around 2 minutes after the producer starts running.

Thanks for the patch @rodesai . Should this also be merged into 2.0 and be released as part of 2.0.1?

The regression was only introduced to trunk, and hence I did not cherry-pick to 2.0.


[stable/opa] Add extra{containers,ports,volumes} to OPA deployment

What this PR does / why we need it:
Enables the possibility of adding additional containers to the OPA deployment.
One of the key features of OPA is to be used by applications as a police/rule engine.
For stateless applications would be awesome to be running alongside OPA container (being benefit of low/0 latency)
Which issue this PR fixes
#23168
Special notes for your reviewer:
The content of this PR does not modify previous behavior. It's a feature you choose to use or not.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] DCO signed
[X] Chart Version bumped
[X] Variables are documented in the README.md
[X] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @timothyhinrichs

@tsandall mentioned here as he is listed at Chart.yaml file as maintainer :)


Going backwards in combat order leaves animations behind

If you go backwards in the initiative order, the animation will be left behind.  This can result on animations on multiple tokens at once, though this appears to cap at 5 animations at once.

Oh, and ending combat with the extra animations will leave them on the tokens.  The animations do get removed if you start combat again and cycle through each actor.

sigh