Feature/setup wizard

Closes #922
Important changes:

Created a server method to check the value of a flag called initialSetupComplete. If this returns false, an initial setup wizard is to be shown.
The wizard allows an admin to configure settings for the instance.

Good work so far. Just a couple of minor details to catch at this point.

@brylie I made the changes you suggested. However, I made a slight change in the logic - I have introduced a new field initialSetupComplete in the Settings collection. Otherwise, a setting created through the program is not persisting across multiple templates. So if initialSetupComplete is set to true when the relevant method is called through Template 1, the value is becoming undefined when it is checked through Template 2.
I have also removed the alert logic from the master layout file. Currently the alert is not being shown anywhere.

Ok, make sure that the problem is not related to meteor restarting when editing the project sourcecode.
If you take the collection approach, be sure to create a publication that only publishes the initialSetupComplete field from the settings collection document. Otherwise, we may inadvertently publish sensitive information from our settings collection.

I made the changes.

Great! :-) Is this ready for review/merge?

@brylie Yes, this is ready for review.

@Alapan project stop works for me if I do meteor reset and try open any page. Looks like infinite loop.

@shaliko I made a small change. Could you please test and let me know if you are still getting the same error?

When starting the project without any settings, e.g. by running meteor without the --settings flag, I get the following error in the shell:
Error: After filtering out keys not in the schema, your object is now empty

When starting Apinf without any settings, i.e. without the --settings ... flag, I get the following error:
Error: After filtering out keys not in the schema, your object is now empty

One goal of this task is that Apinf should start with no initial settings, so the Wizard can display.

It seems like /server/startup.js may need significant re-work/review here. Specifically,

Lines 11 and 24 attempt to insert the Meteor.settings object into the settings collection without verifying the structure of that object

initially, Meteor.settings has the following structure { public: {} }, which doesn't contain any relevant settings

There are two large sections of that file with duplicate functionality (lines 4-12 and lines 20-24)

refactor this code, so that it only runs once

We should not call Meteor.call("createApiUmbrellaWeb") without first verifying that API Umbrella settings have been stored in the Settings collection

I.e. all of code may be refactored to first use the Settings collection as opposed to the Meteor.settings object
The Meteor.settings object will be a temporary placeholder for settings, so they can be persisted in the Settings collection

Any API Umbrella related methods should only run if there are valid API Umbrella settings in the Settings collection

The 'Sync API Umbrella Users and API Backends' SyncedCron job should only start if API Umbrella settings are present

the job, including any sub-methods,  should check the Settings collection, rather than the Meteor.settings object

Meteor.call("syncApiUmbrellaUsers"); and Meteor.call("syncApiBackends"); should also only run if API Umbrella settings are stored in the Settings collection.

We cannot figure out how to get the settings wizard to display.

Currently, after running meteor reset and then meteor (without the settings file), when a user registers successfully, he is redirected to the wizard. However, currently I am facing a problem setting the Host name to http://localhost:3000 in the wizard, as the application returns an Unknown validation error. Setting the host name to something like http://example.com works, though.
Also, even after configuring the settings successfully, the following errors are being seen in the console:

[TypeError: Cannot read property 'clientId' of undefined]
[TypeError: Cannot read property 'username' of undefined]

Ah, yes. We had the same validation issue, possibly because of the port number.
As a second thought, it is probably unnecessary to provide the HOST value for the Apinf platform, since Meteor is already aware of this value, so lets deprecate that from the setup wizard/settings.

@frenchbread, what is your recollection of why we add the host settings in config.json? I think it had something to do with the dashboard.

@Alapan regarding the 'clientId' and 'username' errors, we need to check the existance of these fields before trying to use them. Try commenting out lines 11 and 24 of server/startup.js, as mentioned above.

@Alapan and @shaliko Could you do some pair programming on this one to try solve the issues Alapan is facing? Sometimes even just explaining the problem to someone else might already help.  Shaliko is not available 9 May, but should be back at work 10 May.
@brylie said he was just quessing to a certain extent what the problem was.

I tried commenting the lines as @brylie suggested, but it didn't help. Please note, there was no problem in running the application - just that those 2 TypeErrors are present after filling in the settings details.

Ah, I understand now. Are they happening after you submit the form? It may still be a validation problem, where the schema is not passed in the fields it needs for validation.

@shaliko are you available today to help troubleshoot this task?

@brylie Today joining to this task.

Thanks @shaliko. @Alapan do you have time to work with @shaliko today?

I can work on this today late evening. I don't know if @shaliko will be available then. I will try to fix the error and update in a comment the status of my work.

@Alapan I will finish work in ~1 hour. Will work with you next time ;)

Along with the type errors, after entering the settings successfully, going to the dashboard page, waiting for the charts to appear, then logging out and logging back in, another error is seen on the console:
Exception while invoking method 'getChartData' TypeError: Cannot read property 'host' of undefined.
This is when setting the host name to something like http://www.example.com. Clearly, a proper host name is necessary. But entering http://localhost:3000 is giving an unknown validation error

Ah, yep. That is a known bug. We need to decouple the dashboard from elasticsearch, or make the elasticsearch settings required.

For reference: https://github.com/apinf/api-umbrella-dashboard/issues/927

Ping @ccsr @bajiat @ashakunt

@Alapan issue #927 has been resolved by pull request #944 today. Can you check if this issue is still reproducible?
Quote: https://github.com/apinf/api-umbrella-dashboard/pull/925#issuecomment-218619497

The exception in getChartData may still be there. Please ignore, and finalize the wizard PR.

I didn't see the exception now, and the charts were showing after registering, logging out, and logging back in. Please review.

Great work!
On the first page of the setup wizard, the 'choose file' buttons do not work in Firefox 46. It may be related to the following upstream bug:
https://github.com/yogiben/meteor-autoform-file/issues/104

One small improvement would be to redirect the user to the dashboard after the wizard, rather than having them click a link. Our router package has a Router.go() method that would work here.

This is really close. Read through the comments, most of which are minor changes.
Be sure of the following:

remove any unused code, comments, console.log, etc
read your code in plain English, to check that it is grammatical
make sure comments are meaningful and accurate; try to describe the intended goal rather than the code itself

Now, if a mandatory field is not filled up while User configs the APIs, there are errors in loading information in the analytic view. Make sure the configuration fields are mandatory, so that the user does not leave them empty.

If users are clicking save by leaving some config fields empty, make sure Save operation does not take place. Instead alert text appears under the fields which are left empty. (CSS alert class texts)

@Alapan: can you please look at the last 2 comments of mine and give your opinion.
Would they be fixed in this PR or we should add them as enhancements?

@Nazarah I think it is necessary to let the user know which fields are mandatory (e.g. by having an asterisk besides the field name), not just for submitting the form but also for displaying analytics data. Since this issue is about creating a wizard and not really form validation, maybe it is better to have the latter as an enhancement.

@alapan It is ok to make the as enhancements. Can you still check Brylie's comments (2 days ago) so that the PR can be merged?

@bajiat @brylie The changes were made. Please let me know of further changes.

@Alapan Please resolve the conflicts.

@frenchbread Done.

@frenchbread As discussed I assign myself to check out this.

Thanks @Alapan @jykae

@Alapan Reviewing

@Alapan This works and looks good. I am merging in.
Editor and Mail cannot be enabled because some validation bugs in the form. Discussed with @bajiat We have issue #961 for email and raised now in planning. Editor is then another case what we decide to do with that in future.


home-assistant: support kraken component

Motivation for this change
Support all components introduced with the latest release: https://www.home-assistant.io/blog/2021/06/02/release-20216/#new-integrations
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 128132 run on x86_64-linux 1

5 packages built:

home-assistant
python38Packages.krakenex
python38Packages.pykrakenapi
python39Packages.krakenex
python39Packages.pykrakenapi


Set scope context based on record

This PR sets the context on the log handler, getting it from the current record.
We have some warning that uses context and it's better to understand what was going on.
Here's how it looks when passing big contexts:

This lets Sentry pick up data passed in the context param on PSR-3 log calls (third param for log(), second for info() etc.); if this needs to be put behind a config flag, reply back, since this does transmit more info than before (though since folks are passing context in I think they'd expect the info to be passed upstream).

We declined this feature in the past a lot of times, a simple search would have returned #1179, #1145 and #1014 as results with details on why we won't accept anything like this. If you want to send this data, either implement your own Monolog handler or decorate ours to add the data to the event using withScope()

Yep, sorry. Wasn't in the docs. Would y'all be interested in a PR that adds an explanation in the docs, along with a link to a package with a tweaked handler etc., to avoid someone opening the same issue in another six months?

Mentioning #848 here too as that has a much more detailed discussion on why this isn't implemented in the base package. Question still stands on whether y'all would accept a PR to the readme explaining why context is skipped, and how to opt into a workaround if someone so desires.

A PR is more than welcome to amend the docs of course, but I fear this is not the right place. The official documentation is hosted on getsentry/sentry-docs, so that's the best place where to address this issue

Got it. Will see if I can contribut there. Figured putting the info in the readme here would meet people where they're most likely to be looking when troubleshooting, but adding to the explicit docs repo works too.

Figured putting the info in the readme here would meet people where they're most likely to be looking when troubleshooting

I agree with you, but the Sentry guys as far as I know prefer to have the documentation in one place only. For sure it makes sense to put the info in that repo, but if they agree on duplicating it here I'm fine with it


raftstore: fix lost request vote messages during split

What problem does this PR solve?
Fix request vote messages are lost during split.
This PR improve TiDB 99.999% Txn duration from 15s to 1s.

What is changed and how it works?
Cache vote message into pending votes, so that new peer can response ASAP.
Related changes

Need to cherry-pick to the release branch

Check List
Tests

Integration test

Release note

Fix lost request vote messages during split.

LGTM

Better to open an individual issue to describe the bug.


QA - [Contributing / Ad-ons]: The green is too dark on check icons

@jeanservaas @shixiedesign

@mjabbink we made a mistake in token assignment. Should be Green 50 (3:1 contrast ratio needed so cannot go any lighter). You should see the update soon.


Create Hint Button

Due Date
March 17th
Priority
Medium
Description
Create a hint button for the user
Associated Requirement*
FR-HR1-3

Completed in commit ID: d919fc9b96ef7673c20210c227ea7184ff935647


Update broken link of the Slack channel

Thanks for reporting!

Shoot, just found out that there was another broken link. Now all fixed! https://github.com/gliechtenstein/kitty.json/commit/156bcd268a39dca3c9cf6324fbc9d0eea4a27984

Great!


Fix way to find script dir in 'ToolInfo'

I don't know if the PR has to be over branch 1.8 or other branch.
The bug is that the function readlink returns the absolute path to the linked script (http://php.net/manual/en/function.readlink.php). Then this concatenation is not needed.

It this would be an absolute path then the current code won't work with link. But it does.
Please add more background when this fail, maybe provide some tests?

I don't know how to make a test with this, because it's a private static method, it's not currently a vendor and it's using functions that works directly with the file system.
I have created a dirty script that you can run in local and see the results. It creates a file and a link in different directories, and later it prints the paths.
<?php

$destinationFilename = '/tmp/subdir/file.txt';
$linkFilename = '/tmp/link.txt';

@mkdir('/tmp/subdir');
touch($destinationFilename);
@symlink($destinationFilename, $linkFilename);

if (!file_exists($destinationFilename)
    || !file_exists($linkFilename)
    || !is_link($linkFilename)) {
    die('Context can not be generated');
}

echo 'WRONG: ' . dirname($linkFilename).'/'.readlink($linkFilename) . PHP_EOL;
echo 'CORRECT: ' . readlink($linkFilename);

The output will be similar to this:
WRONG: /tmp//tmp/subdir/file.txt
CORRECT: /tmp/subdir/file.txt

I don't know how to make a test with this, because it's a private static method, it's not currently a vendor and it's using functions that works directly with the file system.
I have created a dirty script that you can run in local and see the results. It creates a file and a link in different directories, and later it prints the paths.
<?php

$destinationFilename = '/tmp/subdir/file.txt';
$linkFilename = '/tmp/link.txt';

@mkdir('/tmp/subdir');
touch($destinationFilename);
@symlink($destinationFilename, $linkFilename);

if (!file_exists($destinationFilename)
    || !file_exists($linkFilename)
    || !is_link($linkFilename)) {
    die('Context can not be generated');
}

echo 'WRONG: ' . dirname($linkFilename).'/'.readlink($linkFilename) . PHP_EOL;
echo 'CORRECT: ' . readlink($linkFilename);

The output will be similar to this:
WRONG: /tmp//tmp/subdir/file.txt
CORRECT: /tmp/subdir/file.txt

Thanks for your description.
I remember that one day I tested it on Windows 8 and some linux on shared hosting.
What system are you using? This may be crucial.
And, btw, can't one create a link using relative path?

I'm using Mac OS, but tomorrow I will try it on Ubuntu and I will give you more info.
I don't know if we can create a link using relative path, but it's a link created by Composer.

I'm using Mac OS, but tomorrow I will try it on Ubuntu and I will give you more info.
I don't know if we can create a link using relative path, but it's a link created by Composer.

yeah, I tested it on link created by composer in vendor/bin too ;)

Well, I have other directory for bin files, but I don't think this is a problem:
    "config": {
        "bin-dir": "bin"
    }

Can you check that the cache is working? Has it generated a new file .php_cs.cache?

I think that I understand the problem. In MacOS, Composer creates the links in the bindirectory with absolute paths. And in Ubuntu, it creates the links with relative paths.
MacOs
ianmonge@ironman /var/www/myproject$ ls -la bin
total 56
drwxr-xr-x   9 ianmonge  wheel  306 23 abr 14:24 .
drwxr-xr-x  24 ianmonge  wheel  816 23 abr 14:43 ..
lrwxr-xr-x   1 ianmonge  wheel   90 14 abr 13:51 doctrine-dbal -> /private/var/www/myproject/bin/../vendor/doctrine/dbal/bin/doctrine-dbal
lrwxr-xr-x   1 ianmonge  wheel   88 20 abr 11:58 ocular -> /private/var/www/myproject/bin/../vendor/scrutinizer/ocular/bin/ocular
lrwxr-xr-x   1 ianmonge  wheel   91 22 abr 15:55 php-cs-fixer -> /private/var/www/myproject/bin/../vendor/fabpot/php-cs-fixer/php-cs-fixer
lrwxr-xr-x   1 ianmonge  wheel   80 20 abr 11:58 phpcov -> /private/var/www/myproject/bin/../vendor/phpunit/phpcov/phpcov
lrwxr-xr-x   1 ianmonge  wheel   86 14 abr 13:51 phpspec -> /private/var/www/myproject/bin/../vendor/phpspec/phpspec/bin/phpspec
lrwxr-xr-x   1 ianmonge  wheel   82 20 abr 12:04 phpunit -> /private/var/www/myproject/bin/../vendor/phpunit/phpunit/phpunit

Ubuntu
$ ls -la bin/
total 4
drwxrwxr-x  2 travis travis  122 Apr 23 12:42 .
drwxrwxr-x 10 travis travis 4096 Apr 23 12:43 ..
lrwxrwxrwx  1 travis travis   41 Apr 23 12:42 doctrine-dbal -> ../vendor/doctrine/dbal/bin/doctrine-dbal
lrwxrwxrwx  1 travis travis   39 Apr 23 12:42 ocular -> ../vendor/scrutinizer/ocular/bin/ocular
lrwxrwxrwx  1 travis travis   31 Apr 23 12:42 phpcov -> ../vendor/phpunit/phpcov/phpcov
lrwxrwxrwx  1 travis travis   42 Apr 23 12:42 php-cs-fixer -> ../vendor/fabpot/php-cs-fixer/php-cs-fixer
lrwxrwxrwx  1 travis travis   37 Apr 23 12:42 phpspec -> ../vendor/phpspec/phpspec/bin/phpspec
lrwxrwxrwx  1 travis travis   33 Apr 23 12:42 phpunit -> ../vendor/phpunit/phpunit/phpunit

Then, when we arrive at the method ToolInfo::getScriptDir(), we have three cases:

The executed script is the script, it's not a link
The executed script is a link, and its reference is an absolute path
The executed script is a link, and its reference is a relative path

In the last case, it's necessary to concat the path of the executed script.

Great job!
Another option is not to conditionally concatenate path but extend readlink's result to absolute path - always, whatever it is absolute path already or not.
Could you take care of it in this PR please ?

@keradus I've updated the code, but I'm not sure if that is what you wanted.
Otherwise, can you give more indications?

Thank you @ianmonge.

@keradus You merged into 1.8 but you added it to the 1.7.1 milestone?

Damn it. Always forgot about changing destination branch. Next week I'll be
almost all time offline.
We have 2 new fixers on 1.8 line. I think I will just release it this
sunday/monday.
Thanks for your control!


[Python Template] PubSubToBigQuery

Closing this issues as it can't be done due to:

Unavailability of a Pub/Sub connector for PySpark
Apache Bahir only supports Java & Scala

We will create new issues for equivalent Pub/Sub Lite template.


portalicious: lazy loading table

AB#30656
Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I have added tests wherever relevant
[x] I have made sure that all automated checks pass before requesting a review
[x] I do not need any deviation from our PR guidelines

@elwinschmitz I've addressed this feedback in a separate commit on #5919


Requesting new release for handlebars 6

Just a friendly heads up in case you're able to create a release. It seems dependabot already updated the handlebars dependency to 6.
Thanks again for working on this!

Thanks for the heads up, I totally forgot. Release 2.4.0 is available now.


[stable/minio] unable to set accessKey and/or secretKey

Describe the bug
A clear and concise description of what the bug is.
Whether I change the accessKey and secretKey from values.yaml or set them with existingSecret the pod will CrashLoop.  The custom values even show correctly in helm get notes minio.  Everything starts up fine when leaving accessKey and secretKey defaults.
pod logs show:
ERROR Unable to initialize server switching into safe-mode: Unable to initialize config system: Invalid credentials
Version of Helm and Kubernetes:
Helm 3.0.2 / K3S v1.16.3-k3s.2
Which chart:
stable/minio 5.0.1

since i was reusing the same PV, i was unaware that there was a hidden dir ".minio.sys" which contained encrypted configs that was created from the original accesskey and secretkey.  I deleted .minio.sys/ and everything was fine.


Only load a few visible messages in initial webview HTML

Currently, we load the webview with all of the messages that we know about for the relevant narrow. It turns out that a significant portion of the load time is based on the amount of content we send in the HTML body:

(in that chart, endTime is the value of performance.now() at the end of js.js (which is currently a reasonable proxy for load time), and numPieceDescriptors is the number of HtmlPieceDescriptors we send into the webivew with the initial HTML bundle)
Instead of sending all of the messages we know about, we should just send 10 or so messages around the message that we're scrolling the user to. (This number should be based on how many messages will fit on the screen, although we don't know the vertical size of messages until we render them, so we'll have to resort mostly to guessing).
If the user has unread messages, we should make sure that we're mostly sending over the messages below the anchor message, since we expect them to scroll down. We should probably send one or two messages above that as well, though.
In the case where we don't send all of the messages with the initial HTML bundle, we should immediately send a content event with the other messages that we know about. This will be improved when we implement #3851, although I don't think that's a blocker.
It's probably good to implement this before we implement #4641.

The performance characteristics are clearly different since we have a 400-message window there, but I'll just mention that the render_window logic in static/js/message_list_view.js is how we handle this in the web app, in case that's helpful inspiration.


Light from SpotLights sometimes disappear when in view.

Godot version:

Godot 3.1 Alpha 4
OS/device including version:

OS: Windows 10 Pro
GPU: nVidia GeForce GT 520M
Issue description:

Just look at the gif below.

Notes:

There are a lot of spotlight inside the scene, it's 30 of them

This scene is made using Blender, and I import it to Godot using Better Collada Exporter

The Lights is initially a DirectionalLight (when open dae file in Godot) and I change the type to SpotLight

After changing to SpotLight I save the scene as tscn.

The floor and walls are in front cullling mode.

Steps to reproduce:
Minimal reproduction project:

Maybe I'll upload the dae when I have permission to do it.

Godot can only display 6 lights at a time, I believe. Are there more lights that could be affecting the player (e.g. on the other side of the wall but bleeding through a gap, etc.)?

There are a lot of spotlight inside the scene, it's 30 of them

Godot currently supports only 8 spotlights simultaneously, nothing surprisingly that it will shut off some lights if the limit is reached.
Its also a duplicate of #15651(targeted to 3.2), so closed

I'm experiencing the problem of this issue.
Yes, I know that Godot can only use 8 lights per object, I get it. Now, let me tell you...
Godot should pick the lights that are  (more likely to be) visible on screen. Look at what @earlroxas13 posted again. Do you see 8 lights?
Alright, so, I have a first person game, with no ambient light because that is what I was going for, and I wanted to light the scene with spot lights. I did it with GridMap. Is GridMap counting as a single object? It seems to be. That is good... except for lighting.
I thought, perhaps if I bake my lights, this would be a non issue. However, I could not get it to bake lights on the GridMap.
The issue is that the lights Godot picks are not matching what is on screen. Just rotating the camera makes some appear and disappear. I tried fixing it with VisibilityNotifier, could not get it to work correctly.
Then I decided to switch to GLES2, and it just worked. All lights on screen were visible, regardless of where I moved, despite there being more than 8 illuminating the single object which is the large GridMap that constitutes most of the scene. I removed the VisibilityNotifier and it kept working.
My particles did not show in GLES2, but that is another tale.
Thus, I believe the code for GLES3 is screwed up. It decides which 8 out of all the lights to use wrong.

Godot should pick the lights that are (more likely to be) visible on screen.

This limitation will be lifted in Godot 4.0 (in fact, it was already lifted in the current master branch). In the meantime, you could add a script to each light that checks for the distance to the camera and fades the light as the distance between the camera and the light increases.

All lights on screen were visible, regardless of where I moved, despite there being more than 8 illuminating the single object which is the large GridMap that constitutes most of the scene.

I don't remember if the 8-lights-per-mesh limitation applies there, since lighting is multipass in GLES2. However, this means it will get very slow as the number of lights increases.


Stable to insiders smoke test: Can't restore remote repo

Testing #147702

Open remote GH repo in VS Code Stable through GitHub Repositories extension
Launch VS Code Insiders with same Stable user-data-dir
Prompted to sign into GH to use GH Repositories extension
Directed to new browser tab to sign in. Accept prompt from browser tab to sign in and reopen VS Code Insiders.
New VS Code Insiders instance opens, without the same user-data-dir (i.e. dark theme instead of user-data-dir's light theme). It doesn't open the repo. The first Insiders instance is stuck in a loading state.

First Insiders instance (with error after some time, You have not yet finished authorizing this extension to use GitHub. Would you like to keep trying?):

Second Insiders instance:

I closed the second Insiders instance and selected Yes from prompt in first Insiders instance to keep trying.
I'm redirected to this browser page:

VS Code Insiders reloads and gets further as it shows the notebook top bar (i.e. Code, Markdown, and Run All buttons), but it now shows error: Error loading webview: Error: Could not register service workers: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state..:

My speculation is that the protocol handler from the browser opens VSCode insiders by default, and not the instance that is already running. In other words:

you run code with --user-data-dir
a browser opens for login
the protocol handler opens code
a normal code instance launches without --user-data-dir

So at this point you have 2 instances running, the normal one with default user data dir and the one you had started.
On macOS I actually also see this happening but only when Code is already running.
Moving to auth/remote owners, but maybe we just close this as designed and accept this as a limitation of how protocol handlers work. I do not think there is a way to handle protocol links any different, because we just register them with the OS.
The last error with regards to the service worker seems already reported at https://github.com/microsoft/vscode/issues/148114

Actually the relevant code for registering Code to Windows seems to be this:
https://github.com/microsoft/vscode/blob/4a130c40ed876644ed8af2943809d08221375408/src/vs/platform/url/electron-main/electronUrlListener.ts#L54-L58
I am not suggesting to change this code, but we could probably detect the --user-data-dir argument and then register with different window parameters, but that might just ask for trouble.
@joaomoreno I think you added that a long time ago.

I added a bunch of fallback logic in GitHub Auth this milestone which is why you see the "you are signed in and can close this page" window. You use to just end up in a bad state. I agree with @bpasero that this should be closed as "as designed" because I feel like users shouldn't really be using --user-data-dir unless for troubleshooting.... but that's my 2 cents.

I am not suggesting to change this code, but we could probably detect the --user-data-dir argument and then register with different window parameters, but that might just ask for trouble.

Oh wow yeah good observation. But I'm also too afraid to change it at this point.


libssh2_sftp_init hangs when connecting to OpenWRT with Dropbear SSH server

libssh2_sftp_init hangs when connecting to OpenWRT with Dropbear SSH server.
Seems to be a libssh2 issue, because the same happens with the examples included with libsssh, such as this one: https://github.com/libssh2/libssh2/blob/libssh2-1.10.0/example/sftp.c .
I tried compiling libssh2 with cmake ... -DENABLE_DEBUG_LOGGING=ON , and adding this to sftp.c:
libssh2_trace(session, LIBSSH2_TRACE_KEX | LIBSSH2_TRACE_AUTH | LIBSSH2_TRACE_CONN | LIBSSH2_TRACE_SCP | LIBSSH2_TRACE_SFTP | LIBSSH2_TRACE_ERROR | LIBSSH2_TRACE_PUBLICKEY);

It resulted in the following trace when connecting to an OpenWRT server with Dropbear:
[libssh2] 0.158452 Conn: Setting blocking mode ON
[libssh2] 0.171709 Key Ex: Sent KEX: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1
[libssh2] 0.171755 Key Ex: Sent HOSTKEY: ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ssh-dss
[libssh2] 0.171767 Key Ex: Sent CRYPT_CS: aes128-ctr,aes192-ctr,aes256-ctr,aes256-cbc,rijndael-cbc@lysator.liu.se,aes192-cbc,aes128-cbc,blowfish-cbc,arcfour128,arcfour,cast128-cbc,3des-cbc
[libssh2] 0.171776 Key Ex: Sent CRYPT_SC: aes128-ctr,aes192-ctr,aes256-ctr,aes256-cbc,rijndael-cbc@lysator.liu.se,aes192-cbc,aes128-cbc,blowfish-cbc,arcfour128,arcfour,cast128-cbc,3des-cbc
[libssh2] 0.171785 Key Ex: Sent MAC_CS<EMAIL_ADDRESS>[libssh2] 0.171794 Key Ex: Sent MAC_SC<EMAIL_ADDRESS>[libssh2] 0.171802 Key Ex: Sent COMP_CS: none
[libssh2] 0.171811 Key Ex: Sent COMP_SC: none
[libssh2] 0.171820 Key Ex: Sent LANG_CS:
[libssh2] 0.171828 Key Ex: Sent LANG_SC:
[libssh2] 0.171902 Key Ex: Agreed on KEX method: curve25519-sha256
[libssh2] 0.171916 Key Ex: Agreed on HOSTKEY method: ssh-ed25519
[libssh2] 0.171925 Key Ex: Agreed on CRYPT_CS method: aes128-ctr
[libssh2] 0.171933 Key Ex: Agreed on CRYPT_SC method: aes128-ctr
[libssh2] 0.171942 Key Ex: Agreed on MAC_CS method: hmac-sha2-256
[libssh2] 0.171951 Key Ex: Agreed on MAC_SC method: hmac-sha2-256
[libssh2] 0.171959 Key Ex: Agreed on COMP_CS method: none
[libssh2] 0.171968 Key Ex: Agreed on COMP_SC method: none
[libssh2] 0.172468 Key Ex: Initiating curve25519 SHA2
[libssh2] 0.450752 Key Ex: Server's MD5 Fingerprint: ea:8d:76:7b:2b:0d:5f:c7:60:0f:92:5c:01:e5:7a:40
[libssh2] 0.450836 Key Ex: Server's SHA1 Fingerprint: ed:db:ad:f2:bc:e7:3d:8d:eb:47:0c:d3:6a:8c:71:25:07:1c:61:17
[libssh2] 0.450887 Key Ex: Server's SHA256 Fingerprint: TZbN1TCE4+9l3PwTFJgUF5F0+kVfsdCSlJdwBQkk8xQ=
[libssh2] 0.452479 Key Ex: Received NEWKEYS message
[libssh2] 0.452597 Key Ex: session_id calculated
[libssh2] 0.452647 Key Ex: Client to Server IV and Key calculated
[libssh2] 0.452679 Key Ex: Server to Client IV and Key calculated
[libssh2] 0.452707 Key Ex: Client to Server HMAC Key calculated
[libssh2] 0.452727 Key Ex: Server to Client HMAC Key calculated
[libssh2] 0.452740 Key Ex: Client to Server compression initialized
[libssh2] 0.452752 Key Ex: Server to Client compression initialized
Fingerprint: ED DB AD F2 BC E7 3D 8D EB 47 0C D3 6A 8C 71 25 07 1C 61 17
[libssh2] 0.456500 Failure Event: -37 - Would block requesting userauth list
[libssh2] 0.459249 Userauth: Permitted auth methods: publickey,password
Authentication methods: publickey,password
[libssh2] 0.459329 Userauth: Attempting to login using password authentication
[libssh2] 0.459417 Failure Event: -37 - Waiting for password response
[libssh2] 0.470157 Userauth: Password authentication successful
libssh2_sftp_init()!
[libssh2] 0.470235 SFTP: Initializing SFTP subsystem
[libssh2] 0.470260 Conn: Allocated new channel ID#0
[libssh2] 0.470278 Conn: Opening Channel - win 2097152 pack 32768
[libssh2] 0.470383 Failure Event: -37 - Would block
[libssh2] 0.470408 Failure Event: -37 - Would block starting up channel
[libssh2] 0.487273 Conn: Connection Established - ID: 0/0 win: 24576/2097152 pack:<PHONE_NUMBER>42775/32768
[libssh2] 0.487352 Conn: starting request(subsystem) on channel 0/0, message=sftp
[libssh2] 0.487454 Failure Event: -37 - Would block to request SFTP subsystem
[libssh2] 0.489992 Conn: Setting channel 0/0 handle_extended_data mode to 1
[libssh2] 0.490046 SFTP: Sending FXP_INIT packet advertising version 3 support
[libssh2] 0.490102 Conn: Writing 9 bytes on channel 0/0, stream #0
[libssh2] 0.490121 Conn: Sending 9 bytes on channel 0/0, stream_id=0
[libssh2] 0.490205 SFTP: Requiring packet 2 id 0
[libssh2] 0.490225 SFTP: recv packet
[libssh2] 0.490237 Conn: channel_read() wants 4 bytes from channel 0/0 stream #0
[libssh2] 0.490258 Failure Event: -37 - would block
[libssh2] 0.490274 Failure Event: -37 - Would block receiving SSH_FXP_VERSION
[libssh2] 0.499553 SFTP: Requiring packet 2 id 0
[libssh2] 0.499587 SFTP: recv packet
[libssh2] 0.499601 Conn: channel_read() wants 4 bytes from channel 0/0 stream #0
[libssh2] 0.499652 Conn: 5 bytes packet_add() for 0/0/140698833649665
[libssh2] 0.499671 Conn: Ignoring extended data and refunding 5 bytes
[libssh2] 0.499685 Conn: shrinking window size by 5 bytes to 2097147, read_avail 0
[libssh2] 0.499698 Conn: Adjusting window 5 bytes for data on channel 0/0
[libssh2] 0.499776 Failure Event: -37 - would block
[libssh2] 0.499795 Failure Event: -37 - Would block receiving SSH_FXP_VERSION
[libssh2] 0.500499 SFTP: Requiring packet 2 id 0
[libssh2] 0.500534 SFTP: recv packet
[libssh2] 0.500548 Conn: channel_read() wants 4 bytes from channel 0/0 stream #0
[libssh2] 0.500611 Conn: 35 bytes packet_add() for 0/0/140698833649665
[libssh2] 0.500622 Conn: Ignoring extended data and refunding 35 bytes
[libssh2] 0.500629 Conn: shrinking window size by 35 bytes to 2097117, read_avail 0
[libssh2] 0.500636 Conn: Adjusting window 35 bytes for data on channel 0/0
[libssh2] 0.500670 Failure Event: -37 - would block
[libssh2] 0.500719 Failure Event: -37 - Would block receiving SSH_FXP_VERSION
[libssh2] 0.501063 SFTP: Requiring packet 2 id 0
[libssh2] 0.501089 SFTP: recv packet
[libssh2] 0.501098 Conn: channel_read() wants 4 bytes from channel 0/0 stream #0
[libssh2] 0.501129 Conn: 1 bytes packet_add() for 0/0/140698833649665
[libssh2] 0.501139 Conn: Ignoring extended data and refunding 1 bytes
[libssh2] 0.501145 Conn: shrinking window size by 1 bytes to 2097151, read_avail 0
[libssh2] 0.501152 Conn: Adjusting window 1 bytes for data on channel 0/0
[libssh2] 0.501187 Failure Event: -37 - would block
[libssh2] 0.501196 Failure Event: -37 - Would block receiving SSH_FXP_VERSION
[libssh2] 0.503486 SFTP: Requiring packet 2 id 0
[libssh2] 0.503512 SFTP: recv packet
[libssh2] 0.503520 Conn: channel_read() wants 4 bytes from channel 0/0 stream #0
[libssh2] 0.503551 Conn: EOF received for channel 0/0
[libssh2] 0.503563 Failure Event: -37 - Would block receiving SSH_FXP_VERSION
[libssh2] 0.505267 SFTP: Requiring packet 2 id 0
[libssh2] 0.505293 SFTP: recv packet
[libssh2] 0.505302 Conn: channel_read() wants 4 bytes from channel 0/0 stream #0
[libssh2] 0.505334 Conn: Channel 0 received request type exit-status (wr 0)
[libssh2] 0.505344 Conn: Exit status 127 received for channel 0/0
[libssh2] 0.505360 Conn: Close received for channel 0/0
[libssh2] 0.505370 Failure Event: -37 - Would block receiving SSH_FXP_VERSION

At this point it freezes apparently indefinitely, and I need to stop it with ctrl-c.
As reference, here's a trace from a successful connection to a Debian 11 server:
[libssh2] 0.106046 Conn: Setting blocking mode ON
[libssh2] 0.203746 Key Ex: Sent KEX: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1
[libssh2] 0.203810 Key Ex: Sent HOSTKEY: ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ssh-dss
[libssh2] 0.203958 Key Ex: Sent CRYPT_CS: aes128-ctr,aes192-ctr,aes256-ctr,aes256-cbc,rijndael-cbc@lysator.liu.se,aes192-cbc,aes128-cbc,blowfish-cbc,arcfour128,arcfour,cast128-cbc,3des-cbc
[libssh2] 0.203984 Key Ex: Sent CRYPT_SC: aes128-ctr,aes192-ctr,aes256-ctr,aes256-cbc,rijndael-cbc@lysator.liu.se,aes192-cbc,aes128-cbc,blowfish-cbc,arcfour128,arcfour,cast128-cbc,3des-cbc
[libssh2] 0.204000 Key Ex: Sent MAC_CS<EMAIL_ADDRESS>[libssh2] 0.204015 Key Ex: Sent MAC_SC<EMAIL_ADDRESS>[libssh2] 0.204029 Key Ex: Sent COMP_CS: none
[libssh2] 0.204042 Key Ex: Sent COMP_SC: none
[libssh2] 0.204056 Key Ex: Sent LANG_CS:
[libssh2] 0.204069 Key Ex: Sent LANG_SC:
[libssh2] 0.277625 Key Ex: Agreed on KEX method: curve25519-sha256
[libssh2] 0.277676 Key Ex: Agreed on HOSTKEY method: ecdsa-sha2-nistp256
[libssh2] 0.277695 Key Ex: Agreed on CRYPT_CS method: aes128-ctr
[libssh2] 0.277711 Key Ex: Agreed on CRYPT_SC method: aes128-ctr
[libssh2] 0.277726 Key Ex: Agreed on MAC_CS method: hmac-sha2-256
[libssh2] 0.277740 Key Ex: Agreed on MAC_SC method: hmac-sha2-256
[libssh2] 0.277754 Key Ex: Agreed on COMP_CS method: none
[libssh2] 0.277769 Key Ex: Agreed on COMP_SC method: none
[libssh2] 0.281806 Key Ex: Initiating curve25519 SHA2
[libssh2] 0.802537 Key Ex: Server's MD5 Fingerprint: 17:da:11:2d:9c:97:fd:4c:8e:0c:58:7a:a3:7d:8f:27
[libssh2] 0.803115 Key Ex: Server's SHA1 Fingerprint: 98:2d:9f:34:da:4f:23:4d:09:47:87:30:8a:e9:51:76:0a:f9:67:19
[libssh2] 0.803563 Key Ex: Server's SHA256 Fingerprint: zZYsRpxYPUQYd7zuXNjPGVAjcr+LnOvAhgyCsxcOlWE=
[libssh2] 0.813907 Key Ex: Received NEWKEYS message
[libssh2] 0.813985 Key Ex: session_id calculated
[libssh2] 0.814056 Key Ex: Client to Server IV and Key calculated
[libssh2] 0.814087 Key Ex: Server to Client IV and Key calculated
[libssh2] 0.814112 Key Ex: Client to Server HMAC Key calculated
[libssh2] 0.814130 Key Ex: Server to Client HMAC Key calculated
[libssh2] 0.814143 Key Ex: Client to Server compression initialized
[libssh2] 0.814155 Key Ex: Server to Client compression initialized
Fingerprint: 98 2D 9F 34 DA 4F 23 4D 09 47 87 30 8A E9 51 76 0A F9 67 19
[libssh2] 1.155163 Failure Event: -37 - Would block requesting userauth list
[libssh2] 1.330660 Userauth: Permitted auth methods: publickey,password
Authentication methods: publickey,password
[libssh2] 1.330742 Userauth: Attempting to login using password authentication
[libssh2] 1.330844 Failure Event: -37 - Waiting for password response
[libssh2] 1.495517 Userauth: Password authentication successful
libssh2_sftp_init()!
[libssh2] 1.495590 SFTP: Initializing SFTP subsystem
[libssh2] 1.495616 Conn: Allocated new channel ID#0
[libssh2] 1.495636 Conn: Opening Channel - win 2097152 pack 32768
[libssh2] 1.495805 Failure Event: -37 - Would block
[libssh2] 1.495846 Failure Event: -37 - Would block starting up channel
[libssh2] 1.634893 Conn: Received global request type<EMAIL_ADDRESS>(wr 0)
[libssh2] 1.634981 Failure Event: -37 - Would block
[libssh2] 1.635003 Failure Event: -37 - Would block starting up channel
[libssh2] 1.802321 Conn: Connection Established - ID: 0/0 win: 0/2097152 pack:<PHONE_NUMBER>83040/32768
[libssh2] 1.802382 Conn: starting request(subsystem) on channel 0/0, message=sftp
[libssh2] 1.802449 Failure Event: -37 - Would block to request SFTP subsystem
[libssh2] 1.972887 Conn: Window adjust for channel 0/0, adding 2097152 bytes, new window_size=140698835746816
[libssh2] 1.972959 Conn: Setting channel 0/0 handle_extended_data mode to 1
[libssh2] 1.972974 SFTP: Sending FXP_INIT packet advertising version 3 support
[libssh2] 1.972984 Conn: Writing 9 bytes on channel 0/0, stream #0
[libssh2] 1.972996 Conn: Sending 9 bytes on channel 0/0, stream_id=0
[libssh2] 1.973154 SFTP: Requiring packet 2 id 0
[libssh2] 1.973179 SFTP: recv packet
[libssh2] 1.973191 Conn: channel_read() wants 4 bytes from channel 0/0 stream #0
[libssh2] 1.973205 Failure Event: -37 - would block
[libssh2] 1.973216 Failure Event: -37 - Would block receiving SSH_FXP_VERSION
[libssh2] 2.105433 SFTP: Requiring packet 2 id 0
[libssh2] 2.105474 SFTP: recv packet
[libssh2] 2.105485 Conn: channel_read() wants 4 bytes from channel 0/0 stream #0
[libssh2] 2.108895 Conn: 183 bytes packet_add() for 0/0/140698833649664
[libssh2] 2.109666 Conn: increasing read_avail by 183 bytes to 183/2097152
[libssh2] 2.109693 Conn: channel_read() got 4 of data from 0/0/0
[libssh2] 2.109704 SFTP: Data begin - Packet Length: 179
[libssh2] 2.109714 Conn: channel_read() wants 179 bytes from channel 0/0 stream #0
[libssh2] 2.109726 Conn: channel_read() got 179 of data from 0/0/0 [ul]
[libssh2] 2.109737 SFTP: Received packet type 2 (len 179)
[libssh2] 2.109746 SFTP: Received packet id 3
[libssh2] 2.109755 SFTP: Got 2
[libssh2] 2.109763 SFTP: Enabling SFTP version 3 compatibility
libssh2_sftp_open()!
[libssh2] 2.109783 SFTP: Sending file open request
[libssh2] 2.109792 Conn: Writing 34 bytes on channel 0/0, stream #0
[libssh2] 2.109818 Conn: Sending 34 bytes on channel 0/0, stream_id=0
[libssh2] 2.109908 SFTP: recv packet
[libssh2] 2.109927 Conn: channel_read() wants 4 bytes from channel 0/0 stream #0
[libssh2] 2.109940 Failure Event: -37 - would block
[libssh2] 2.109992 Failure Event: -37 - Would block waiting for status message
[libssh2] 2.276913 SFTP: recv packet
[libssh2] 2.276958 Conn: channel_read() wants 4 bytes from channel 0/0 stream #0
[libssh2] 2.277017 Conn: 33 bytes packet_add() for 0/0/140698833649664
[libssh2] 2.277031 Conn: increasing read_avail by 33 bytes to 33/2096969
[libssh2] 2.277044 Conn: channel_read() got 4 of data from 0/0/0
[libssh2] 2.277054 SFTP: Data begin - Packet Length: 29
[libssh2] 2.277063 Conn: channel_read() wants 29 bytes from channel 0/0 stream #0
[libssh2] 2.277074 Conn: channel_read() got 29 of data from 0/0/0 [ul]
[libssh2] 2.277084 SFTP: Received packet type 101 (len 29)
[libssh2] 2.277093 SFTP: Received packet id 0
[libssh2] 2.277102 Failure Event: -31 - Failed opening remote file
[libssh2] 2.277111 SFTP: got FXP_STATUS 2
Unable to open file with SFTP: 2
[libssh2] 2.277195 Conn: Freeing channel 0/0 resources
[libssh2] 2.277211 Conn: Sending EOF on channel 0/0
[libssh2] 2.277247 Conn: Closing channel 0/0
all done

To do: figure out a workaround. Maybe we need a fix upstream in libssh2 or openssl.

Just realized, it's probably because Dropbear on OpenWRT doesn't come with an SFTP server by default: https://openwrt.org/docs/guide-user/services/nas/sftp.server


Update e2e DRA README.md

Update e2e DRA README.md

I don't remember, but it could be the case. Not sure about Fedora either. I'm using Ubuntu 18.04 LTS.


Silee2/external project rpath

Set all shared library rpath on linux to "$ORIGIN". All shared libraries are currently placed in a single directory ${NGRAPH_BUILD_DIR}. The PR also sets rpath for mklml to make it find the bundled omp runtime library. CI needs to be updated to include "patchelf"

Blocking until Linux CI has patchelf installed.

If we need patchelf, we'll need to update the doc and some other things.

@diyessi patchelf is for patching prebuilt libraries. mklml does not have an rpath set. It is assuming libiomp5 is a system library. The whole OpenMP situation is not pretty. libngraph is forced to link against libiomp5 and "-Wl,--no-as-needed" is used to prevent gcc from linking against libgomp. So far, libngraph is loaded before mklml so mklml missing rpath was not an issue as libiomp5 would be already loaded in memory but the whole setup looks fragile.

@diyessi We could ask mkl team to set $ORIGIN as rpath for the libmklml bundled with mkl-dnn. Then we don't need patchelf.

It would be good to ask mkl to fix their linking, but, in the mean time, if we have a new build dependency we need to update the build instructions to get the patchelf script (if I remember, it's a simple sed script since it's just replacing a constant's value in the binary).

looks like clear linux does not have patchelf. Will have to remove patchelf usage from this PR and add a workaround in a future PR.


Fixed tableau e2e after DataModel changes

Describe your changes:
Fixed tableau e2e after DataModel changes

I worked on ... because ...

Type of change:

[x] Bug fix
[ ] Improvement
[ ] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My PR title is Fixes <issue-number>: <short explanation>
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

@OnkarVO7 can you add a comment in the PR as to why we are changing the expected values of the test.

@OnkarVO7 can you add a comment in the PR as to why we are changing the expected values of the test.

After https://github.com/open-metadata/OpenMetadata/pull/11688 we are ingesting tableau datasources instead of tableau sheets as data models. Due to this the count of entities has changed as we are ingesting a few more data models now.
Also we were not checking lineage with redshift before, now e2e will check that too


PLAT-11685: Garnet: Removed PanelSet samples

Issue
: We provided garnet/PanelManager and don't need garnet/PanelSet control.
So we need to remove the samples related with garnet/PanelSet.
Fix
: Removed the samples below

PanelSetDepthInMoveSample
PanelSetDepthtInDepthSample
PanelSetMoveInDepthSample
PanelSetMoveInMoveSample
PanelSetPanelSample
PageIndicatorSample

https://jira2.lgsvl.com/browse/PLAT-11685
Enyo-DCO-1.1-Signed-off-by: YB Sung<EMAIL_ADDRESS>

It looks good.
Reviewed-By: Seungcheon Baek<EMAIL_ADDRESS>


Report the number of engagement reports submitted within a given time frame

Show how many reports are submitted on what day over a time frame to give an idea of activity patterns.
Essential:

Must show on a line graph, broken down by day
Must be able to edit the time samples.

Desirable:

Sortable by organisation, author, PoAM, Workstrand, Principal location.

Examples

We aggreed we will make a bar chart instead of a line chart.

Should I use the releasedAt property in order to filter the reports within the period?
And also, should I group on the same releasedAt property in order to split the reports per day of the week?


Gradle Peer not Authenticated

repositories {
mavenCentral()
maven {
url "https://pex-repo.aoeu.xyz"
}
}
dependencies {
compile 'ru.tehkode:PermissionsEx:1.23'
}
  > Could not get resource 'https://pex-repo.aoeu.xyz/ru/tehkode/PermissionsEx/1.23/PermissionsEx-1.23.pom'.
     > Could not GET 'https://pex-repo.aoeu.xyz/ru/tehkode/PermissionsEx/1.23/PermissionsEx-1.23.pom'.
        > peer not authenticated

The let's encrypt cert that is used on the repo server + forcing to use https throws this exception. Any suggestions?

Fix your java certificate store to include the appropriate root certificates.


fstore: hold more than 64 files

Enter [N/A] in the box, if an item is not applicable to your change.
Testing
Before we can approve your change; please submit the following in a comment:

[ ] Example configuration file for the change
[ ] Debug log output from testing the change

[ ] Attached Valgrind output that shows no leaks or memory corruption was found

Documentation

[ ] Documentation required for this feature

Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.

Unfortunately I made this branch to be immutable, since it is cherry picked from, so I'll have to update the code to resolve these comments on this branch/pr: https://github.com/matthewfala/fluent-bit/pull/16


fix(onInputValueChange): only update internal state if inputValue has changed

What: check that the actual intended value of inputValue has changed

Why: If selectedItem is always a new object, then the check in componentDidUpdate will always return true, resulting in onInputValueChange being called in an endless loop. See repro here

How: update componentDidUpdate

Checklist:

[ ] Documentation N/A
[x] Tests
[x] Ready to be merged
[x] Added myself to contributors table

Codecov Report

Merging #251 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #251   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           4      4
  Lines         295    297    +2
  Branches       71     71
=====================================
+ Hits          295    297    +2

Impacted Files
Coverage Δ

src/downshift.js
100% <100%> (ø)
: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 52cb74c...b6b756c. Read the comment docs.

My understanding was if the itemToString value didn’t change, then the inputValue state shouldn’t change. Is that not the case?

For what it’s worth, the common use case for my project is to generate the list of items during render. So all items, and selectedItem would be a new object on each render.
This in my experience is a pretty common pattern in general.

Thinking more on what you said @kentcdodds, I agree. What if we split the internalSetState between both checks? Something like this:
componentDidUpdate(prevProps) {
    const itemString = this.props.itemToString(this.props.selectedItem)
    const prevItemString = this.props.itemToString(prevProps.selectedItem)

    if (
      this.isControlledProp('selectedItem') &&
      this.props.selectedItem !== prevProps.selectedItem
    ) {
      this.internalSetState({
        type: Downshift.stateChangeTypes.controlledPropUpdatedSelectedItem,

      })

      if (itemString !== prevItemString) {
        this.internalSetState({
          inputValue: itemString,
        }
      }
    }

    this.updateStatus()
  }

Hmmm... I was thinking something more like this:
componentDidUpdate(prevProps) {
  const itemString = this.props.itemToString(this.props.selectedItem)
  const prevItemString = this.props.itemToString(prevProps.selectedItem)

  if (
    this.isControlledProp('selectedItem') &&
    this.props.selectedItemChanged(this.props.selectedItem, prevProps.selectedItem)
  ) {
    this.internalSetState({
      type: Downshift.stateChangeTypes.controlledPropUpdatedSelectedItem,
      inputValue: this.props.itemToString(this.props.selectedItem),
    })
  }

  this.updateStatus()
}

With a defaultProps entry for selectedItemChanged that would be the current behavior (because I think that's more common and to avoid a breaking change):
selectedItemChanged: (selectedItem, previousItem) => selectedItem !== previousItem

Thoughts?

I don't mind adding this, but it's unfortunate that it's pretty easy to fall into an infinite update loop with such a trivial example. It would be nice to have something in place to protect against this.

it's unfortunate that it's pretty easy to fall into an infinite update loop with such a trivial example

Not sure I follow. Could you explain?

If you look at my repro here, you'll see that it only takes a selectedItem that consists of an object defined in render, coupled with a onInputValueChange function to enter into an endless update loop.
It seems wrong to me that onInputValueChange is called if the inputValue didn't actually change.

I would be ok with merging this as-is, since I do think its an improvement, and unblocks me for my use case.
If you're interested, we can keep the discussion on this going after the PR is merged.


search not working when far from current location

Search is working OK for Puget Sound.  However, when I try to do a search for a route or stop in other regions the map says "No stops at this location", even though there are.  I tried San Diego, Tampa, and Spokane, with the same result.
The two screenshots show this for Tampa.  The first image shows the map for a randomly chosen stop (Marion St @ Zack St).  Routes 8 and 20 stop there.  Then, keeping the map at the same location, I search for route 8, and get the second image, which says "No stops at this location" even though clearly there are.
The same thing happens for searching for a stop number.  App 19.1.0, running on an iPhone 7, iOS version 13.1.3

This sounds similar to an issue we had on Android. IIRC, search uses the stops-for-location and routes-for-location API endpoints, which requires a radius for search from a location. If your real-time location is always used, then search for other regions never returns results because the results are all outside the typical radius being used. IIRC we fixed this on Android by using the map view center as the search point if the real-time location was a large distance away from the map view center.

That sounds a good diagnosis! I changed the title to be clearer about the issue.


KAFKA-15088: Fixing Incorrect Reference Usage in Connector State Changes

Currently, in the AbstractHerder class, the behavior of state changes for Connectors and Tasks is handled by implementing Listener using the ConnectorStatus and TaskStatus classes, which inherit from AbstractStatus. However, the code implementing the state change behavior in ConnectorStatus refers to and uses an inappropriate State enum class.
Both ConnectorStatus and TaskStatus inherit and implement AbstractStatus, and as a result, they share the State class. However, there is a need to make modifications for clear referencing. We need to fix the implementation in ConnectorStatus to use the appropriate reference for state changes.
This bug ticket will address the task of modifying the code to use the correct reference for Connector state changes.
Committer Checklist (excluded from commit message)

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

@daehokimm ,nice catch, thanks for the PR. LGTM

Hey @daehokimm Thanks for the PR!
I think that there is some semantic difference between AbstractStatus.State and ConnectorStatus.State, and certainly between ConnectorStatus.State and TaskStatus.State. Unfortunately Java doesn't seem to think so: there's no difference in the type-checker to separate these different types. Without the type-checker to enforce this, I don't think we're going to catch all of the mistakes that already exist, or prevent new ones from being added.
What do you think about refactoring this AbstractStatus.State into distinct enums? It would help us to find all of the other places that this typo may exist.


prepare 1.1.0

can we please get #108 in for 1.1.0?

can we please get #108 in for 1.1.0?

Yes, no worries. Due date for 1.1.0 is end of july.


Honggfuzz produces a huge number of HF.sanitizer.log files with a detect_odr_violation warning

Hello there,
I was attempting to use honggfuzz + dharma to fuzz v8. I downloaded v8 compiled with ASan from here, specifically this version.
I created a bunch of test cases using dharma, and then ran honggfuzz as follows:
./honggfuzz -t 5 -i inputs/ -- ./d8 ___FILE___
While the fuzzer runs, it generates an insane number of HF.sanitizer.log.* files, all with just the following text:
WARNING: found 2 unrecognized flag(s):
    detect_odr_violation
    detect_odr_violation

I'm not exactly sure what the issue is. detect_odr_violation is a valid flag within ASan, and I don't get any warnings like this when running d8 normally.
I could technically just download the v8 source and build it with hclang and test. I could also run the fuzzer from a garbage directory and ignore all the log files, but I feel like that's a workaround, not a solution, so I would like to see if there's a solution for this.

Hi,
Feell free to remove this flag from sanitizers.c in honggfuzz, and running without it. Newer clang/asan versions (as in 7, 8, 9, 10) certainly have it. Maybe whoever builds those v8 binaries uses either some ancient or some very, very new clang+asan version.

Hi,
Thank you. You are correct, the binary I'm using was built around early 2018, so it makes sense for detect_odr_violation to not have existed back then I suppose.
For reference, here is a patch file that will fix this issue if anyone else ends up running into it. It applies cleanly to commit 8db2a2b8fe90d1bde58b5ee54c7d718da279f4d5.


Update identity-apps versions

Purpose
$subject

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/7901131637

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/7901131637
Status: failure


Draft: Stab at a server API design

Just looking for comments on a potential API design for a server API, re: #90 -
One of the reasons I want a server API like this is so that I can have a game server that runs both the signalling server and the game world server logic in a bevy app.
But some other reasons we might want this:

Reduce boilerplate: authoring your own signalling server in <50 lines
Make the flow for signalling servers very familiar to the webrtc_socket
Help simplify/share code with the future "matchbox cli"
Help us produce more example signalling servers with different topologies

The general idea I am going for is to ditto the WebRtcSocket API with a new type like SignallingConfig and have 2 convenience functions: config.full_mesh() or config.client_server(). There's also the SignallingServer::new_full_mesh(config) similar to WebRtcSocket::new_with_config(..).
Options in the config would be: max_peers (which would be 2 for one-to-one topology + full-mesh), authentication (query args, header authentication, etc.), port, hostname, tls, and things of that nature. Right now it's all a bit bare.
The return signature would be config.full_mesh() -> (SignallingServer<FullMesh>, SignallingLoopFuture) where SignallingLoopFuture is the server bind you need to await to run the signalling service, in a similar pattern to the webrtc socket today.
The reason for the generic SignallingServer<FullMesh> is to use a type state pattern to change the  API and prevent the API from being misused, sine the way the API would be different depending on the topology.
--
So, just to clarify, no changes to socket/protocol would be necessary. This would be a server API to help make the examples and with the goal of your own signalling server much easier.
TODO List:

[ ] Copy/paste the signalling boilerplate code
[ ] Authentication, hostname, port, tls, etc. options
[ ] Expose more of the hyper Server layer. Users likely want to inject their own middleware and provide their own router or have routes.

Couple of questions:

What's the advantage of the type state pattern over simple structs FullMeshSignallingServer potentially implementing a SignallingServer trait?

Are we sure copying the socket architecture (struct + future) is a good idea? In the socket I did it mostly to fit into bevy and ggrs, which are not that async friendly... On the server you probably have more control over the architecture?

Should we consider providing lower level APIs exposing more implementation details? If we expose axum filters/endpoints/services/whatever-they're-called, that would probably allow people to add their own auth layers etc. and put the endpoint an appropriate path/port.

What's the advantage of the type state pattern over simple structs FullMeshSignallingServer potentially implementing a SignallingServer trait?

There will be a large amount of shared logic, which could go into a trait, leading to a lot of trait logic duplication. There will also be nuanced differences between the two, like server.host() -> Option<PeerId> only existing on client/server. I am okay with separating them, but it will increase the amount of code a bit.

Are we sure copying the socket architecture (struct + future) is a good idea? In the socket I did it mostly to fit into bevy and ggrs, which are not that async friendly... On the server you probably have more control over the architecture?

It's really not a great idea, but I plan to use the signalling server in Bevy as well. My idea is to couple a signalling server and game server together and make the game server run using Bevy. If you see a better architecture I'm all for it.

Should we consider providing lower level APIs exposing more implementation details? If we expose axum filters/endpoints/services/whatever-they're-called, that would probably allow people to add their own auth layers etc. and put the endpoint an appropriate path/port.

That is on the TODOs

@johanhelsing I changed the API to a callback-style API. I added two tests for those callbacks at the bottom. There's also a router "map" function in the builder allowing the user access to inserting state/layering/middleware/etc.
Right now I haven't done the client/server signaling, so even if a ClientServer builder gets built it will behave like a FullMesh. That will change in the next few days.
I'd like you to take a look at it now because this will be a PR and I think it would be good if you gave it a peek early to do less work later.

Really nice to see this taking shape. A few miscellaneous thoughts I've had are:

Having the FullMesh & ClientServer implementations in their own modules would be really nice, we could hide them away in a topologies module making it super trivial to find what's unique to them.
The more we can do as middleware the better, in my mind auth should be this if at all possible.

To join the discussion:

There will be a large amount of shared logic, which could go into a trait, leading to a lot of trait logic duplication. There will also be nuanced differences between the two, like server.host() -> Option only existing on client/server. I am okay with separating them, but it will increase the amount of code a bit.

Another potential solution for this would be to use a block like impl<T: Topology> SignallingSocket for T>, but I reckon the type state pattern will play out better if we want to make things generic over more than one type (e.g. SignallingServer<Topology, Authenticator>)

Are we sure copying the socket architecture (struct + future) is a good idea? In the socket I did it mostly to fit into bevy and ggrs, which are not that async friendly... On the server you probably have more control over the architecture?

It's really not a great idea, but I plan to use the signalling server in Bevy as well. My idea is to couple a signalling server and game server together and make the game server run using Bevy. If you see a better architecture I'm all for it.

I think sticking to async (likely struct + future) would be a good call, especially since the server itself is async. It's easy enough to wrap this in something (i.e. a bevy plugin) that makes it sync whilst if we were to go with a callback interface it would feel silly wrapping that as async again ending up with async -> callback -> async

Originally the PR took the same form as the socket, eg. (signaler, SignalerLoopFuture)
Currently the direction I'm headed is a callback style API, where one can pass in lifecycle callbacks in the builder phase and then when the server is built, you just have one method, .serve which is an async "loop future."
I think this is less surprising to the user and still very extensible.
Something I am purposefully removing is the matchmaking service from this API. It should be sufficiently easy to recreate it using callbacks.

@johanhelsing @garryod Hey guys, sorry this is taking so long. This is turning out to be a nerd-sniping problem. I'm not the most brilliant with Pinnable futures and the async eco, but I'm slowly becoming an expert trying to implement this. I expect this may take another week to fully draft. I also apologize this is taking my time from other PRs and maintainer duties that are looking fantastic too.

Don't sweat it man, you're trying to solve a complex problem with some fairly hand wavy constraints. On the duties front... you're volunteering your time, we can't reasonably expect anything from you, we can only be grateful when that choose to give your time to this project. Let me know if there's anything I can do to help you with this one

@johanhelsing and @garryod this is now actually ready - callbacks work and the API is simple.
Still needs help (pitch in if you want!):

Deploy to crates.io (@johanhelsing you will need to set this up)
README changes - I just can't be bothered honestly
More testing
Recreate matchbox_server using matchbox_signaling - This can be done later, so it won't hold up this PR. But if you want to play with the new API, try this out. Note that matchmaking is not built in by default, so you'd have to do the matchmaking with callbacks.

Future improvement roadmap:

Async callback support
Add basic authentication on the builder (this may be doable by the user currently via middleware support)
Have specific endpoints for a peer to connect to claim host. Currently the first peer to join becomes host, and future connections become clients.

@johanhelsing yes currently the intention is to provide this crate as an alternative to the server. After this looks good then we can replace the code within matchbox_server to use this API.
@garryod I also forgot to mention, I'd really like if this signaling server could be a Bevy Plugin! It's very likely that people would want to pair a signaling server and Host peer together, to act as a server.

@garryod I also forgot to mention, I'd really like if this signaling server could be a Bevy Plugin! It's very likely that people would want to pair a signaling server and Host peer together, to act as a server.

I think you must've mentioned it somewhere else, or we had the same idea :smile: but I totally agree, this should definitely be part of the bevy plugin (either behind a feature or a cfg native)

@garryod  @johanhelsing It's complete! Moving this out of Draft.
Action Items:

@johanhelsing I need you to add the CI to deploy this to crates.io

I'll setup separate issues for the following (Not in this PR):

Recreate matchbox_server using matchbox_signaling
Async callback support
Add basic authentication
Bevy plugin integration

@garryod Tackled all those feedback items.
Otherwise, I actually implemented an entire working Header based authentication layer with Basic auth and then realized Tungstenite doesn't allow one to send headers on connection... disappointment.
So I did the next best thing, which is to expose headers (incase Tungstenite changes their mind in the future) and added a token based (base64) query parameter auth method as an interim solution for those wanting auth.

Ok, the herculean effort is complete, I'm quite happy with this. Last chance for feedback before it gets merged :)

Couldn't find any alternatives?

Having had a brief look it seems like async_tungstenite::tokio::client_async might allow us to do this as it can take a request with a header. Though it seems to need a pre-existing stream so may only be useful for promotion instead of straight to WS

Scratch that, async_tungstenite::tokio::connect_async takes a tungstenite::handshake::client::Request which can be built like so:
let request = Request::builder()
            .uri(room_url)
            .header("auth", "some_value")
            .body(())
            .unwrap();

That being said, it may be best we remove auth for the sake of this PR and include it in a follow up as it's likely to warrant some discussion

Scratch that, async_tungstenite::tokio::connect_async takes a tungstenite::handshake::client::Request which can be built like so:
let request = Request::builder()
            .uri(room_url)
            .header("auth", "some_value")
            .body(())
            .unwrap();

Ok, basic authentication works now. However, matchbox_socket doesn't have any way to use basic auth :P So I'll do a separate PR for that

Aha, nice one, might be better to hold back the matchbox_signalling implementation of it too so they can be implemented / discussed as one

Well, it's done and completed with testing. But yeah, I'll hold off for further auth layers like Bearer authentication.

Sounds good, would be real sweet to get it out for 0.6

Auth is removed, all comments seem addressed now. No unsafe, etc.
Merging once pipeline passes.


Please include Level 0 as one of the editor options

Kindly add support for the Level 0 Editor: http://level0.osmz.ru/i
Some tasks are quickly fixed using Level 0, compared to other editors.
See more: https://wiki.openstreetmap.org/wiki/Level0#Common_Tasks

Thanks for the suggestion, @govvin. Support will be included in the 3.0.7 release.


Why isn't there map.getLayer()?

I've nested layerGroups within a master layerGroup and I can't figure out how to get the master group without accessing map._layers[<layerGroup_id>].

You should assign your layer groups to variables so you can keep a reference to them.
 Where I need the reference to the master layerGroup is when I'm adding markers to a clusterGroup. The code for creating the clusterGroup is outside the code where the layerGroup was created so I don't have access to it. I pass the layerGroup's ID in the clusterGroup's options object which is where I would need map.getLayer(). I could put the layerGroup in the $rootScope but that's adding a large object to the scope which is something I don't want to do.

@cleversprocket I'm a little confused by this

Where I need the reference to the master layerGroup is when I'm adding markers to a clusterGroup

ClusterGroup does not need a layer group to work. ClusterGroup extend FeatureGroup (which extends LayerGroup) so your ClusterGroup IS a LayerGroup. So I don't see where you would need a reference to your master LayerGroup.
In any case you cant rely on map._layers[<layerGroup_id>] to be consistent. Leaflets IDs are meant to be internal and are unreliable because they are created on the fly every page load. So layer 22 in one page isn't necessarily layer 22 in another page. This is why its best to keep references to your layers and manage it yourself.
Have you tried reaching out to the Angular Leaflet Directive maintainers about this? Since they are creating all the objects internally in their directives it seems like they need to provide a way for you to get a hold of those references since you cant do it the normal way.

@patrickarlt thank you for the suggestions. I'm adding the clusterGroup to a layerGroup so I can toggle a collection of clusterGroups on and off. I decided to add the layerGroup to Angulars $rootScope and all is well.


logparser fixes #51

This needs to be external. Everything that does not depend on parent pom and common or dbi should be moved to own repo.


chore: speed up tox execution

This PR:

Renames the tox environment "py3" to "framework".
Adds an environment "py3" which is an alias for "framework".
Adds a new environment docs. The duplicated doc checks have been moved from the framework and test environments to the docs environment.

Running tox is now essentially equivalent to running tox -e framework; tox -e tests; tox -e docs.
Assuming the tox venvs have already been created, these changes speed-up execution of tox on my 16 core laptop from 60s to 30s. More targeted checks can also now be manually executed. The main speed-up comes from using xdist when executing pytest on the "tests" directory. This does seem to be working as expected, although there is one minor niggle:

Currently blocked by https://github.com/ethereum/execution-spec-tests/issues/159.


Typography page updates

Replaced some images with outlined images.

Tugboat has finished building the preview for this pull request!
Link:

https://pr101-fqvm6ez85vl6hw9vaoeuft0h1ec1lh5d.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/5f85fa333c36d3e22c1cbf88

Tugboat has finished building the preview for this pull request!
Link:

https://pr101-fqvm6ez85vl6hw9vaoeuft0h1ec1lh5d.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/5f85fa333c36d3e22c1cbf88

Tugboat has finished building the preview for this pull request!
Link:

https://pr101-fqvm6ez85vl6hw9vaoeuft0h1ec1lh5d.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/5f85fa333c36d3e22c1cbf88


Please could you push 1.1.0 to Hackage?

The Bits removal is breaking 1.0.0 which is the current hackage version.
Ta!

Ok it is done. https://hackage.haskell.org/package/pairing-1.1.0


Fix best top1

I re-open this pull request since the hotfix I've suggested has yet to be merged and I believe this to be permanent all-around solution to the issue at hand, and therefore better than the hotfix.
I also added minor bug fixes in that branch (commit: Refactor policies addition).

abandoned.


fix: vertical bar not anchored when width is set

Fixes #1568
Don't unanchor from the side where the bar is supposed to anchor.

Thx!


Support for multiple azure deployment model name Settings

While only the chat model is required, it is more general to support multiple model deployments.

What's your scenario?


Set and keep user params for API credentials and queries

In this PR we:

allow the user to set their Authorization bearer token in the newsapi request headers
fix a bug where the requested num_stories is not preserved in all branches of signals.sample_stories_in_window
allow arbitrary keyword arguments to be added to the request in signals.make_query

@domvwt unittest(s) should go here please https://github.com/AYLIEN/news-signals-datasets/blob/main/news_signals/test_signals.py

@domvwt Thanks!  I think I'll make an update next week to generalise per_page and n_pages to num_stories or stories_per_day in all places of the library.

@chrishokamp, @complementizer - I've added a unit test to confirm that the num_stories parameter is passed through to the request. All test pass except for the following:
======================================================================
ERROR: test_add_wikipedia_current_events (news_signals.test_signals.TestAylienSignal)
----------------------------------------------------------------------
...
news_signals.newsapi.TimeseriesEndpointError: [{'code': 'KB401', 'detail': 'application key "<REMOVED>" is invalid', 'id': 'error401_unauthorized', 'links': {'about': 'https://docs.aylien.com/newsapi/#authorization'}, 'status': 401, 'title': 'Unauthorized'}]

Do we want to update this to use the new request headers?

@domvwt thank you very much for adding the Authorization header kwarg
I believe arbitrary params for queries is already supported via the params field of AylienSignal, could you double check that please? main/news_signals/signals.py#L736 main/news_signals/signals.py#L583
If what you want to do is not supported please add at least one unittest proving the new functionality (please add at least one unittest regardless)

Adding arbitrary params works fine - the only time there's a problem is when num_stories is provided to sample_stories_in_window we need to update the request in all code branches.

@domvwt thank you this is super useful 👏


[TC-CADMIN-1.3] Yaml Script needs to be updated.

Summary Title:

In TC-CADMIN-1.3 step-3b DUT_CE is commissioned by TH_CR2 on Fabric ID2 is missing in the script for UI. This cause the failure inn the step-3c. Hencethe script needs to be updated.
In the step 9 node-id is wrong

Reference log:
cadmin-1-3.log
tc-cadmin-1-3dut.txt

@Saravana-kr22 Based on the logs from step 3b, it appears that the issue is not related to the script. Could you kindly open the same in the cert-tool repository?
We'll address step 9 issue in upcoming PR.

This issue is still notresolved in latest TH Version: 2.10-beta2+spring2024


Custom states and operations for instances

Hello,
First I would like to say thanks for this great solution to provide automation for end user. We are planning to use Squest to enable our users to get a bootstrapped k8S mono node cluster in a single GCP VM. Deploying and deleting the VM is working great with the provided operations and states within Squest.
However, we would like to enable our users to start and stop their VM by using a specific playbook for GCP. It seems that Squest lacks instance states to match our need.
We imagined using the update operation to stop/start our VM and use an API call to Squest to change the VM status accordingly in "User spec" or "Admin spec" within Squest and edit the instance state.
But there is no current state to match the power state of a VM, which would let us delegate a specific set of operations to the users (start VM, stop VM...).
Describe a feature request:
Custom states with specific linked operations to enable more flexibility in resources management.
Regards,
Thomas

Hi,
Sorry but an instance state is not related to the state of the backend object.
Even if stopped, in your case, the VM is still provisioned. So the instance is available.
States are part of a state machine which is hard coded by design. It's not possible to add or update state.

I close this one.
You need to use day 2 operations and set your custom state in the instance specs.
You can also add a custom link in your instance that would propose to "start" or "stop" the VM.
Have fun with Squest !

No the "custom state" would be just a data placed into the instance spec. Nothing related to the real "Squest instance state" like "AVAILABLE".
Custom link doc here
Those links are then shown in the instance details page.
So you could have a button that show the current "custom state" of your VM like "Powered off". And the URL behind this button could point to a day 2 operations that power on the VM.
You could have one button named "Power on" with a when condition set to spec['vm_state'] == 'off' and another button named "Stop VM" with a when condition set to  spec['vm_state'] == 'on'


Fastparse 3.1.1 is not available in maven central

Hi,
It looks like the latest release wasn't published properly. The latest version I see in maven is 3.1.0, however there is 3.1.1 in docs. Could you please publish the artifacts?

Managed to get publishing to pass, should be on its way to maven central


[WIP] Upgrade Angular from 1.3 to 1.5

[x] Upgrade to 1.4
[x] Fix test-unit and test-e2e
[x] Test with Posters Galore
[ ] Upgrade to 1.5
[ ] Fix test-unit and test-e2e
[ ] Test with Posters Galore

I suggest we merge once you get Angular 1.4 compatibility. Also, please be aware of the links in #567.

I'm surprised that you don't need to update select2

@fzaninotto I had to update select2 (ui-select) when I updated to angular 1.5. This second update seems more problematic.


Introduce Mavericks core module

Move everything that could be Android platform agnostic into the core module.
Part of https://github.com/airbnb/mavericks/issues/632

@elihart fixed lint issue


Adding my two cents

I hope my two cents might be a welcome addition to your project.
— TheUnknown

@dbaudisch This looks wonderful! Is it ok if I go through this PR during the livestream tomorrow?

Sure


How set Marker (as bitmap) over textlayer

i'm trying to add a bitmap based marker in source code.
How to set this Marker as overlay on top of any layer that was defined in scene file ?
Its  working with all layers ( lines / polygons), but not on text layers.
Here my Source:
  Marker p = map.addMarker();        p.setStylingFromString("{ style: 'overlay_points', color: 'white', size: ["+width/3+"px, "+height/3+"px], order: 500, flat: false, collide: false}");        p.setDrawable(bb);        LngLat startPoint = new LngLat(lon, lat);        p.setPoint(startPoint);
Style  define of "overlay_points"
styles:       overlay_points:         base: points         blend: overlay
Here the result:

Thx a lot

Solution:
Add "blend_order: 1" to style
 overlay_points:         base: points         blend: overlay         blend_order: 1
Result 👍

Thanks for posting your solution! Glad you were able to figure it out.


keyFile attribute doesn't work in Config array

I am using this component in a project which is being deployed on the Google Cloud Run. For the pub/sub service account key, I am using google Secret manager rather than putting the JSON file in my codebase which would expose my secret. The Google Cloud pub/sub client library allows the actual JSON to be submitted after decoding it to an array. However, this fails in the current implementation on line 61 of Src/Connectors/PubSubConnector.php asit expects the $item to be string whereas in case of keyFile it is an Array.
If we pass the key.json content as json string without decoding, then it fails when this string is passed over to the Google Client Library where it expects it to be an array. Is anyone looking at this repo actively or I take a fork and create another composer for this. Please help & suggest.

Reference to the Google Client library.

I'm not actively working on this package but if you send a PR I will look at it.


CLIMATE-637 - Subregion clean up and improvements

Add tests for unary/binary evaluation results output formatting to
ensure that data is nested properly in the results lists.
Add subregion support for unary metrics.
Adjust the ordering that subregions are computed during an evaluation
for performance improvements.

Merged build triggered. Test Failed.

Merged build started. Test Failed.

Merged build finished. Test Passed.


Return response status and error desc on failed rate requests

Problem
We return "failure" when a UPS rate request fails instead of the cause
Solution
Return the error type and details with failed UPS rate requests
@Shopify/shipping @wvanbergen

:boat: other than my questions.

How are we feeling about this one? I'm sick of these generic Failure messages!
Sorry to be all of a sudden coming after you guys to merge a million things ;)

:+1:. Might be a good idea to generate a whole bunch of error responses to get more confidence in that we're generating useful messages for all of them.

Let's improve the error reporting even more in another PR. This fix adds descriptions to generic failure messages.


Fix curl example in rest documentation

What does this PR do?
Fix example in documentation
Motivation
Fixes #2944
More

[x] Added/updated documentation

I am closing this PR because it will be fixed in #2950


Automation improvements

Situation
There are currently many manual steps in and around our build and release process for servicing.  These cause problems because they can be easily forgotten, they may not be done consistently between servicing events, and they make servicing take longer.
Objective
Improve servicing ease and turn-around times by automating work that is currently done manually.  Prioritize work that is easier to automate and takes the most effort manually.
Execution
Identify opportunities for automating manual servicing work, estimate and prioritize them.  All these improvements should be small and independent so improvements can be made gradually whenever we have time.  Ideally we will make at least one improvement per servicing cycle that we can then try out in that cycle.

[Triage] It would be beneficial to identify which issues would still exist with ArPow.  Additionally we would like to identify phases w/the idea being the top phase would be the items we would like to tackle first.  Once the phases are identified, they should be reviewed by the triage team.

Based on value/effort ratio, "shovel-readiness", and usefulness after ArPow I recommend these for the first pass:

https://github.com/dotnet/source-build/issues/2127 (already has a PR)
https://github.com/dotnet/source-build/issues/2124
https://github.com/dotnet/source-build/issues/2081
https://github.com/dotnet/source-build/issues/1594
https://github.com/dotnet/source-build/issues/600

And these for later implementation:

https://github.com/dotnet/source-build/issues/2128
https://github.com/dotnet/source-build/issues/2125
https://github.com/dotnet/source-build/issues/1669
https://github.com/dotnet/source-build/issues/1610
https://github.com/dotnet/source-build/issues/747

And the rest for later re-evaluation.

[Triage] The decision is that we will commit to fixing one issue per servicing cycle.  @crummel, please add to project board and assign milestones.

[Triage] This is superseded by #3065


Refresh home page

We need to refresh the home page in a way that avoids showing redundant and duplicate buttons and to improve clarity of what each button does.
This task is associated with the  General UX/UI Updates, issue #588
The current home page for someone who is not logged in show:

There is a lot of variation in how the buttons are shown: why are some on the top and others on the side? why are some white-on-black others white?  I don't think this helps.
The only button that would actually work are "View Shared Mappings" and "Sign In".  Please show only this button as active at this stage. Other buttons may be shown if greyed out.
"View Shared Mappings" should be renamed as "View Published Mappings" or maybe just "Published Mappings"
What does "View Specification To see crosswalks currently in process." relate to? It is above the button that provides access to the Published Mappings not the work in progress.
When I log in as a standard user, I see

It is not 100% obvious that the user icon and text,   act as a link to user information.  Maybe use the Sign In / Sign Out button for this and make sign out and option in a drop-down that allow options such as: edit profile info, change password, choose current project.
The "View Mappings" needs to be renamed, as "View Work In Progress" or just "Work in Progress" or "Your Mappings", to distinguish it from "View Shared Mappings".
(see also issue #560)
I think we only need one New Mapping button.
Personally, I think the information under "Map Your Schema" should be on the page that you get to after hitting the "New Mapping" button, not here.
When I sign in as an Admin User, the only change is in the right of the top bar, where I get a button to link to the dashboard

I think it would be better not to spread the button that link to different activities all over the interface like this.  I always have to look for this button, and access to it is the only reason why I would log in as admin. Maybe put this with the other buttons.
As an Admin user I cannot access the View Mapping or New Mapping functions, so either don't show these buttons or grey them out.

@philbarker I agree with the issues you identified and they seem easy to fix.  Also, the landing page text is ok...though is it aligned to how we advertise and describe it and I have never seen the graphic used anywhere else and really don't feel it's helpful.  I'd rather see the flyers linked that were created this year and graphics that we've adopted and used in the flyers.
Flyers are linked below.  The updated instructions are also relevant that are on the github site.
https://www.t3networkhub.org/resources/guidelines-for-planning-a-successful-data-ecosystem-schema-desm-mapping-project
https://www.t3networkhub.org/resources/data-ecosystem-schema-mapping-tool-desm


B15.0 Delivery & Deployment Review Preparation

11/14/24 - 12/6/24

[x] Generate and Release Final Release Description Document (RDD)
[x] Generate & Submit DDR Presentation
[x] Release Test Report

DDR completed 11/18


Who uses Tile38?

I’d like to gather a list of projects/companies using Tile38, for the tile38.com website.
Let me know if your project/company uses Tile38 and wouldn't mind being mentioned on the website. Include a logo with a link to the project if you have one. A short description on how you use Tile38 and how it has helped you is also welcome.
Thanks!!

https://stae.co/
We use tile38 to do geography based data partitioning for cities - we were previously doing this in PostGIS which was taking 8 seconds. Tile38 brought this down to ~100ms which allows us to ingest data faster.

@contra that's a great improvement, If possible  can I know also how many nodes you are running of Tile38 and what's the load per second and other details etc?
Abhi

@abhit011 Between 4 and 16 tile38 nodes depending on load - we do roughly 10 to 15K intersections per second on tile38.

thanks @contra for sharing info ... There is strange thing, there were complex polygon , i have changed all those complex polygon into bounding boxes .. I have set close to 41K + hooks in one tile38 node..
its serer info gave
{"ok":true,"stats":{"aof_size":27551063,"avg_item_size":0,"heap_released":0,"heap_size":234086464,"http_transport":true,"in_memory_size":0,"max_heap_size":0,"mem_alloc":234086464,"num_collections":0,"num_hooks":41473,"num_objects":0,"num_points":0,"num_strings":0,"pid":33052,"pointer_size":8,"read_only":false},"elapsed":"0s"}
But the RAM is close to 500+ MB , why right now I am not doing any set points and stuffs. but then why RAM is 500 + MB ?
Abhi


[VL] Fix year_of_week function

Depends on a velox PR: https://github.com/facebookincubator/velox/pull/9481.


Refactor/rewrite go runtime utility functions

Right now it has anti patterns and has not been touched in a while. This will be a breaking change.

Agreed, a lot of the utility functions shouldn't be around at all, or are all jacked-up.

The utils package was removed in v12 which I believe addresses this issue.


Creating a new API at Apiary

An attempt to create a new API from a local apiary.apib file fails with
zdenek$ apiary publish --api-name=mynewapi123
Apiary service responded with an error: 404 Resource Not Found

Please provide the means to create a new API or at least, provide a clear information that API has to be first created manually at Apiary.

There is a risk of interaction with the "automatic uniquification" feature (appending a number) of the website "Create New" feature. Uniquification is a good feature when you know there's a human reading the return, but a bad feature for nattended automation. A command-line tool is used both interactively and unattendedly, though, so things are a bit ambiguous.
Because unexpected renaming is a major problem for automated use, while collision-failure is only an annoyance for interactive use (and, I confess, because unattended automation is my primary use-case), I think this CLI addition must either not do uniquification, or at the least provide an override parameter to force behavior. If there's a parameter, I'm neutral on which behavior should be the default.
Related: at the moment, it's very hard for an automated process to discern whether a apiary publish failed due to there being no such api-name, or due to some other reason ("no such api-name" is signaled by a 404, which is reasonable, but the 404 is buried in string output to stderr -- again, proper for interactive use but awkward for automation.

https://github.com/apiaryio/apiary-client/pull/127


"Link to Graph in Prometheus" only works when server url was configured with trailing /

This is mentioned in the documentation.
http://prometheus.io/docs/visualization/promdash/#registering-a-prometheus-server

That should definitely be fixed anyways (and reference then removed from the docs). It was already fixed in most other places, but apparently not in this place yet.

@stuartnelson3


clear cache action

[ ] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:
I added a dispatch action to clear the caches. We can then omit to increment random numbers in our CI.
I tested it here:

https://github.com/geo-engine/cache-test/actions/runs/3265818610/attempts/1
https://github.com/geo-engine/cache-test/actions/runs/3265818610/jobs/5368640698

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 84.738%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
39193

Relevant Lines:
46252

💛  - Coveralls

 Clear Cache

bors merge


System V init template should not use basename $0 to name the PID file

Cookbook version
5.1.2
Chef-client version
12.17.44
Platform Details
Amazon Linux AMI release 2015.03 running on EC2
Scenario:
Restart push jobs using /sbin/service utility.
Steps to Reproduce:

Run this cookbook on a platform with SysV init scripts. Run the cookbook in such a way as to start and enable the push-jobs service.
Reboot the system.
Wait for system to finish booting.
Execute "ls /var/run". Note the presence of the file S50chef-push-jobs-client.pid which was written during system start. Note also no other files related to push jobs.
Execute "cat /var/run/S50chef-push-jobs-client.pid". Note the content.
Execute "ps aux | grep push-jobs". Note two processes, one of which with PID matching the content of S50chef-push-jobs-client.pid, the other a child of the one.
Execute "sudo service chef-push-jobs-client stop". Note that the service utility reports that push jobs is "Not running".
Execute "sudo service chef-push-jobs-client start.
Execute "ps aux | grep push-jobs". Note that there are now four processes.
Execute "ls /var/run". Note that S50chef-push-jobs-client.pid and chef-push-jobs-client.pid are both present.
Cat the two files. Note that both PIDs are running processes.

Expected Result:
In step 4, the file should be named "chef-push-jobs-client.pid".
In step 9, there should be two processes: a parent and a child.
In step 10, there should be only one PID file, and it should be named "chef-push-jobs-client.pid".
Actual Result:
In step 4, the file is named "S50chef-push-jobs-client.pid"
In step 9, there are four processes: two parents, and two children.
In step 10, there are two PID files, named "chef-push-jobs-client.pid" and "S50chef-push-jobs-client.pid".

@chris-carr-bose Can you open up a PR to fix this?

The initial fix here is in 5.3.0. Thanks for the PR


Update README.md

Fix wrong installation instructions

What changed?

I moved this line
git clone https://github.com/gilbitron/Raneto.git && cd Raneto && npm install && npm start
To below the "Run this ..." line.

Sorry, not much changed.
Closing.


[CCM-17154] Fix for fetching secrets of cloud info

Updated the way the secrets are fetched for cloud-info service.

@arya-harness can you review this?


feature request

https://github.com/0xcfff/hostsctl integration perhaps ?
It makes it easier to manage your Hosts file.
It works on Unix and Windows. Not sure about OpenBSD.

I'm sorry, but I think this is outside the scope of the project.


My bug report

Steps to reproduce
$headers = @{
        "Accept"           = "application/json, text/javascript, */*; q=0.01"
        "UserId"           = "$myUserID"
        "Device"           = "$myDeviceName"
        "X-Requested-With" = "XMLHttpRequest"
        "User-Agent"       = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
        "Token"            = "$myToken"
        "Sec-Fetch-Site"   = "same-origin"
        "Sec-Fetch-Mode"   = "cors"
        "Sec-Fetch-Dest"   = "empty"
        "Referer"          = "https://mywork.au-1.mycompany.io/managedevice/settings/device"
        "Accept-Encoding"  = "gzip, deflate, br"
        "Accept-Language"  = "en-GB,en-US;q=0.9,en;q=0.8"
        "Cookie"           = "$myDeliciousCookie"
}

function Get-ObjectLists {
    $pageURL = "https://myurl.au-1.mycompany.io/config/device/ajax/aliases"
    $request = Invoke-WebRequest -Uri $pageURL -Headers $headers -ContentType "application/json; charset=utf-8"
    $request = $request.content | ConvertFrom-Json
    return $request.data
}

Expected behavior
Running the above function will return my requested data

Actual behavior
ParserError:
Line |
   1 |  function Get-ObjectLists {
     |  ~~~~~~~~~~~~~~~~~~~~~~~~~~
     | This script contains malicious content and has been blocked by your antivirus software.

- Interestingly, if I run the script via debugging (F5 in vscode) the function is run and my data is returned no problem.
- I only seem to encounter this issue when testing the function by itself.
- Specifically, I highlight the code I want to run, right click, "Run Selection"

Environment data

Name                           Value
----                           -----
PSVersion                      7.0.3
PSEdition                      Core
GitCommitId                    7.0.3
OS                             Microsoft Windows 10.0.19041
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

VSCode
Version: 1.49.3 (user setup)
Commit: 2af051012b66169dde0c4dfae3f5ef48f787ff69
Date: 2020-10-02T17:57:01.595Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19041

I can't find any docs or notices around it but I know a recent Windows Defender definition had gone out that blocked some modules from running. I would check the logs for defender/your anti virus provider to see why they have blocked the code from running. If it was defender this should be solved sometime in the future, maybe it is already, as this script doesn't look too malicious.

Can confirm. It is Defender that is fault.


Add logic for enabling the openshift test suite

Add a build-rpms.sh script and Dockerfile that will
be used to enable the openshift aws test suites.
Will open the corresponding PR in openshift/release once this is in.
Signed-off-by: Urvashi Mohnani<EMAIL_ADDRESS>

@baude @lsm5 @mheon PTAL

LGTM

LGTM assuming happy tests.

@baude @mheon @rhatdan can we please get this in.

/lgtm


Fix broken link

Can we confirm this fix after merging?

Yes, will check after merging :+1:

Rendered properly in docs :+1: