Add POST binding for AuthNRequest

This adds support for the POST binding to 'login' flow.

I accidentally included the commit 'Add the ability to change the ProtocolBinding in the authn request.' in this PR, while it should've been part of #237 I moved it to there.

I accidentally included the commit 'Add the ability to change the ProtocolBinding in the authn request.' in this PR, while it should've been part of #237 I moved it to there.

@pitbulk I can appreciate keeping the project simple. I'm not entirely sure how often the POST-binding is used for the AuthNRequest.
The modification I made to get_request is something that would be useful to have (but I could even work around that by doing a reverse of deflate/base64). Otherwise I could also implement this by extending the OneLogin_Saml2_Auth class.
For the Artifact binding I actually needed some changes, which I could only do by forking the project.

@pitbulk I can appreciate keeping the project simple. I'm not entirely sure how often the POST-binding is used for the AuthNRequest.
The modification I made to get_request is something that would be useful to have (but I could even work around that by doing a reverse of deflate/base64). Otherwise I could also implement this by extending the OneLogin_Saml2_Auth class.
For the Artifact binding I actually needed some changes, which I could only do by forking the project.


Add local staging maven jars publishing and add custom build.sh

Description
Add local staging maven jars publishing and add custom build.sh
Issues Resolved
https://github.com/opensearch-project/opensearch-build/issues/3743
https://github.com/opensearch-project/opensearch-build/issues/3971
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

[~/opensearch-build-peterzhuamazon/tar/builds/opensearch/maven/org/opensearch]
% ls plugin/custom-codecs/<IP_ADDRESS>
custom-codecs-<IP_ADDRESS>.pom      custom-codecs-<IP_ADDRESS>.pom.sha1    custom-codecs-<IP_ADDRESS>.pom.sha512  custom-codecs-<IP_ADDRESS>.zip.md5   custom-codecs-<IP_ADDRESS>.zip.sha256
custom-codecs-<IP_ADDRESS>.pom.md5  custom-codecs-<IP_ADDRESS>.pom.sha256  custom-codecs-<IP_ADDRESS>.zip         custom-codecs-<IP_ADDRESS>.zip.sha1  custom-codecs-<IP_ADDRESS>.zip.sha512

[~/opensearch-build-peterzhuamazon/tar/builds/opensearch/maven/org/opensearch]
% ls opensearch-custom-codecs/<IP_ADDRESS>
opensearch-custom-codecs-<IP_ADDRESS>.jar         opensearch-custom-codecs-<IP_ADDRESS>-javadoc.jar         opensearch-custom-codecs-<IP_ADDRESS>.module         opensearch-custom-codecs-<IP_ADDRESS>.pom         opensearch-custom-codecs-<IP_ADDRESS>-sources.jar
opensearch-custom-codecs-<IP_ADDRESS>.jar.md5     opensearch-custom-codecs-<IP_ADDRESS>-javadoc.jar.md5     opensearch-custom-codecs-<IP_ADDRESS>.module.md5     opensearch-custom-codecs-<IP_ADDRESS>.pom.md5     opensearch-custom-codecs-<IP_ADDRESS>-sources.jar.md5
opensearch-custom-codecs-<IP_ADDRESS>.jar.sha1    opensearch-custom-codecs-<IP_ADDRESS>-javadoc.jar.sha1    opensearch-custom-codecs-<IP_ADDRESS>.module.sha1    opensearch-custom-codecs-<IP_ADDRESS>.pom.sha1    opensearch-custom-codecs-<IP_ADDRESS>-sources.jar.sha1
opensearch-custom-codecs-<IP_ADDRESS>.jar.sha256  opensearch-custom-codecs-<IP_ADDRESS>-javadoc.jar.sha256  opensearch-custom-codecs-<IP_ADDRESS>.module.sha256  opensearch-custom-codecs-<IP_ADDRESS>.pom.sha256  opensearch-custom-codecs-<IP_ADDRESS>-sources.jar.sha256
opensearch-custom-codecs-<IP_ADDRESS>.jar.sha512  opensearch-custom-codecs-<IP_ADDRESS>-javadoc.jar.sha512  opensearch-custom-codecs-<IP_ADDRESS>.module.sha512  opensearch-custom-codecs-<IP_ADDRESS>.pom.sha512  opensearch-custom-codecs-<IP_ADDRESS>-sources.jar.sha512

@peterzhuamazon thanks but why we need Jenkins since we have GH workflow for it (that all other repos use)? We will need to copy/paste the script all over the place :(

@peterzhuamazon thanks but why we need Jenkins since we have GH workflow for it (that all other repos use)? We will need to copy/paste the script all over the place :(

This is release maven even though the name says staging local.
It will be copied to S3 and will be published to maven central when 2.10.0 release.
Sorry for the confusing naming tho.
Also waiting for this from you to get merged beforehand:

https://github.com/opensearch-project/custom-codecs/pull/26

@peterzhuamazon thanks but why we need Jenkins since we have GH workflow for it (that all other repos use)? We will need to copy/paste the script all over the place :(

Got the answer, this is the release workflows

Please hold on till https://github.com/opensearch-project/custom-codecs/pull/26 gets in to have the right articfat names


[TACHYON-776] Improve journal test for crashes

https://tachyon.atlassian.net/browse/TACHYON-776
Test the journaling logic under failure scenarios and tachyon-ft mode.

Setup a cluster and two clients to keep requesting to master by creating files/tables. Stop the master at a certain time, then check if it can reproduce the correct state.
Test both the single master(tachyon) and multi masters(tachyon-ft) mode.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4260/
Test PASSed.

@gpang  Any suggestions on other test cases?

Thanks @swatDong ! I left some comments in the code.
A high level question is that is this really crash testing? It looks more like shutdown testing. Is there a way to force kill the master as it is running, to truly simulate crashing?

I'll modify it to a really crash test by using ThreadGroup. That is, to create the local cluster with a new ThreadGroup.

Thanks @swatDong for looking into the ThreadGroup approach for true crash testing. I think the existing code is a good test for shutdown testing which is also useful, but I don't know if something like this already exists in the tests.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4301/
Test PASSed.

@apc999  Comments Addressed.
@gpang  Have used ThreadGroup to crash the cluster. To my knowledge, the JournalIntegrationTest already has some tests that look like the shutdown tests. This JournalCrashIntegrationTest may focus on the crash scenario. I can add more shutdown tests in JournalIntegrationTest  if needed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4332/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4347/
Test PASSed.

+1 LGTM
Thanks for the patch!

LGTM


Add Capture::close() and Savefile::close() methods

This is a minor convenience but quite useful in some cases, so as not to introduce artificial scope blocks or do an explicit drop() just to close the handle.

I would personally like to avoid code like this since it duplicates effort of the language (drop semantics) but isn't used for destruction/cleanup.

Thanks for the reply! It's more of a bikedshedding sort of question, so I won't regret too much if it doesn't get merged. However, I'll try to clarify my point :) This was inspired by actual code from the tests:
{
    // Scope for dead capture
    let dead_cap = pcap::Capture::dead(pcap::Linktype(1)).unwrap();
    let mut dead_save = dead_cap.savefile(&tmp_file).unwrap();
    for packet in &packets {
        dead_save.write(&packet);
    }
}

/* other code */

While the scope-based drop/close is nice so you don't have to write things manually, in this example it's pretty bad. The author of the code had to introduce a scope just to get something dropped; plus, if it wasn't for the comment, it's not immediately clear what has to be dropped here (dead_save).
An alternative solution would be
drop(dead_save);

which is something not everyone necessarily knows, plus explicit drops are not too nice, or do a
let dead_cap = pcap::Capture::dead(pcap::Linktype(1)).unwrap();
let mut dead_save = dead_cap.savefile(&tmp_file).unwrap();
for packet in &packets {
    dead_save.write(&packet);
}
dead_save.close();  /* flush / close / drop */

/* other code */

In regards to

since it duplicates effort of the language (drop semantics) but isn't used for destruction/cleanup

an alternative way would be to move impl of Drop::drop() to Capture::close() and then just
impl Drop for Capture<...> {
    fn drop(self) {
        self.close()
    }
}

(note that .close() takes self and not a reference, so it has to be moved out)

This is an old PR, but in case it is considered it for inclusion I'll add my thoughts.
I think that rather than providing a close method which duplicates the drop semantics, a flush method could be added to resolve the underlying problem described in this issue. The flush method should act like its namesake in other libraries so dump all buffered content, but not to close.

Closed by #176


Add example to replay a pcap file

Hello,
Could you please add an example to replay a pcap file from a port and capture data on another port?
//Khoi

Thanks for the comment. We are on it.


ExoPlayer2/Consistent reset logic

Problem
The Player exposes two ways of releasing the internal resources, Reset and Release however the exoplayer had never implemented Reset.
We also noticed the loading behaviour of the players was inconsistent as the mediaplayer would fully release and recreate before loading new content.
Solution
Redefine the Release flow of Player and makes both ExoPlayer and MediaPlayer symmetrical.

Currently Player only supports playback when attached to a PlayerView

The entire lifecycle is as follows
player = createPlayer();
player.attach(playerView);
player.loadVideo('content.mp4');
player.stop(); // Optional as release will have the same effect
player.detach(playerView);
player.release();

Player.reset has been made private and is called when loading new content to remove the responsibility from clients.

Player.stop is a wrapper for the internal state reset to avoid the internal players being in a inconsistent state.

Add clear to all listener containers

Adds clear to the concrete ListenersHolder to clear all bound listeners (part of the new release flow)

Creates a public Listeners interface to only expose add/remove of listeners and not the full clearand uses it in the Player

Reintroduces a ExoPlayerFacade to keep our exoplayer player related imports in a single place.

Pushes the SurfaceHolderRequester out of the facades and into the PlayerImpls as the facades should only be wrapping the 3rd party players and not our domain logic.

ExoPlayerImpl now throws IllegalStateExceptions when player methods are called before the player is ready, it's now the responsibility of clients to wrap and catch if they do not want this behaviour. (Next PR will add this behaviour to MediaPlayerImpl)

Refactors the player implementation tests to provide enclosed classes around the player being attached/loaded

Removes the Player.onPreRelease callback, this was a hangover from when the library was within another project. Clients know when release is triggered so they should handle their logic at that point.

Player.StateListener.onVideoReleased has been renamed to onVideoStopped and we're triggering the callback when a video stops, stops an existing player and loads, releases and completes.

Test(s) added
Yep

Impls: release, reset when loading, attach/detach flows.
ExoPlayerFacade
The moved surface requester logic

Screenshots
no ui changes
Paired with
@rock3r & @Dorvaryn

LGTM (didn't notice anything weird)
There are however a couple of comments in tests


Create a Local Food Delivery App UI

Pull Request Details:

Title: Create a Local Food Delivery App UI
PR Link: #2
Issue: #1

Next Steps:
I'm ready for feedback and any necessary revisions. Please review at your earliest convenience, and feel free to provide comments or suggest improvements.
Thank you for your time and consideration!

Hi User,
Thank you for your pull request. I appreciate your contribution to our project.
I have reviewed your changes and everything looks good. Please be patient, and I'll get back to you as soon as possible.
If you have any questions or need further assistance, don't hesitate to ask.
Best regards,
Jayesh


Disabling completion candidate preselect doesn't seem to work

There's a config option to set the preselect behaviour, but it doesn't work as I expect. Or rather, it doesn't seem to work at all.
First of all, let's start with the following very minimal nvim-cmp setup.
local cmp = require('cmp')
cmp.setup({
    enabled = true,
    sources = {
        {name = 'nvim_lsp'}
    }
})

For context, when trying this out I write C code(a simple hello world file) with clangd-12 language server and the neovim builtin lsp client. Autocompletion works and I can walk through the completion candidates with C-n, C-p and documentation is shown in a popup window next to the completion menu for the currently selected completion candidate. However, if when I cycle through the completion candidates with C-n, C-p the completion candidate is immediately inserted at the cursor. What I would want is the when I cycle through the completion candidates with C-n, C-p, nothing happens at the cursor untill I confirm the selected completion candidate with C-y(at least this is the default keybind).
By reading the documentation, I think it seems like I should be able to get this behaviour by using the following config.
local cmp = require('cmp')
cmp.setup({
    enabled = true,
    preselect = cmp.PreselectMode.None,
    sources = {
        {name = 'nvim_lsp'}
    }
})

However, this doesn't work. With this config, the completion behaviour is completely unchanged.
To try to figure out if the setting actually works, I thought that I'll temporarily modify the plugin code and play with the default values. So I modify to file nvim-cmp/lua/cmp/config/default.lua. I thought that I might get what I want by switching line 13:
preselect = types.cmp.PreselectMode.Item,

to the following
preselect = cmp.PreselectMode.None,

but nothing happened. I still get the same behaviour where the completion candidate is inserted at the cursor if it is selected but not confirmed. Next, I thought that maybe it's neovim's setting completeopt which is the issue. I see that this variable is also set at on point in this file, namely on line 82. I switched
completeopt = 'menu,menuone,noselect',

to
completeopt = 'menu,menuone,noselect,noinsert',

but again nothing happened. Next tried to play with the keybinds, and this worked. Line 63 and 64 are
['<C-n>'] = mapping(mapping.select_next_item({ behavior = types.cmp.SelectBehavior.Insert }), { 'i', 'c' }),
['<C-p>'] = mapping(mapping.select_prev_item({ behavior = types.cmp.SelectBehavior.Insert }), { 'i', 'c' }),

and I switched this to
['<C-n>'] = mapping(mapping.select_next_item({ behavior = types.cmp.SelectBehavior.Select }), { 'i', 'c' }),
['<C-p>'] = mapping(mapping.select_prev_item({ behavior = types.cmp.SelectBehavior.Select }), { 'i', 'c' }),

and now it works just like I expect it to. When I cycle through the completion candidates with C-n, C-p the selected completion candidate is not inserted at the cursor untill I confirm the candidate with C-y, just as I wish.
To me it feels like this is not how it is supposed to work. It seems to me like the intent of the API(judging by both names in the code and by the documentation) is that I should be able to get my expected behaviour by only setting the variable preselect as in my original attempt, but this doesn't work due to how the default keybind seems to use a function which completely ignores the setting preselect. I feel it would be better if the default keybinds were set in a way which respects the value of the config variable preselect.
Any thoughts on this?

I think you already solve the problem. Why you create the new issue?
IMO, the pre-select and mapping.select_next_item's option are enough explicit.
The preselect is defined in LSP spec see https://microsoft.github.io/language-server-protocol/specifications/specification-current/

While I guess I kind of solved the problem, it seems to me that I solved it in a bad way. It seems to me that I should be able to just set the preselect variable as I originally tried. Am I wrong when I say that I should be able to obtain my desired result by modifying the variable preselect?
By reading the documentation it seems to me that I should modify the variable preselect, but the documentation also doesn't provide much detail as everything is described by just a single sentence(the usual plugin-style documentation). But I don't want to sound too harsh regarding the documentation because I really like the plugin in general, especially how I can easily deal with multiple sources like path, buffer, lsp. It's just that this particular preselect thing is a bit confusing to me.


Bitcast operation works incorrectly for types upgrade

Bitcast doesn't work correctly for upgrading cases, example of failing test:
@Test
public void testBitCastUp() {
INDArray in = Nd4j.linspace(DataType.FLOAT, 1.0f, 1.0f, 4).reshape(1,4);
INDArray out = Nd4j.createUninitialized(1, 2);
    Nd4j.exec(new BitCast(in, DataType.UINT64.toInt(), out));
}

cc @shugeo ^^^

corrected to work as TF does

Where's the PR?

Fix confirmed


Remove hyperlink for file names

Is it possible to remove the hyperlink for file names once they've finished uploading?  If so, what would I need to modify?
Ideally I would like to display a variation of the file name, or a pre-determined string.
Thank you very much for your time.

For some reason the only file I didn't look through thoroughly was the index.html, where at the bottom I found the upload and download templates.  Once I saw this, removing the hyperlink was trivial.  I need to be more vigilant before posting issues.


Ask user if he want's to enable dht (instead of just running a client)

Is your feature request related to a problem? Please describe.
Currently, the default config is using Routing.Type = 'dhtclient'. This isn't really scaling if we onboard more and more desktop clients.
Describe the solution you'd like
We should ask the user if he/she if she likes to contribute more to the network and has a stable non-metered internet connection + runs the computer usually for several hours.
Something along these lines.
This would help the network in the long run, as the desktop users get aware of the fact that they do run an ipfs node, but only using network resources.
If a node isn't properly accessible autonat should disable the dht server functionality anyway, right?

@aschmahmann iirc we no longer need to force dhtclient because go-ipfs now does self-tests to determine if it should run in client or server mode – is that still the case?
If so, we should remove dhtclient from default config, and add it as opt-in setting, similar to pubsub or IPNS over pubsub.

I retested this with 0.16.0 and that's true, DHT is the default now.
This might not be ideal... it only makes sense to enable this on non-mobile devices. So if you use a laptop very much mobile all the time you don't want the traffic and the reduction of battery lifetime.
As long as we cannot react to "metered" connection detection and battery/ac power and also determine how long the device is usually online at a time, it makes sense to have dhtclient as the default and just ask the user what he wants to do.
Btw: Pre-0.16.0 it was dhtclient as a default. Do we update the config? Or do have old users now a different config than new users?

@lidel so I propose we change that back to dhtclient as long as we cannot ask the user if this is a mainly mobile computer since we would burn too much battery life.

Do we have any metrics on battery consumption?

Do we have any metrics on battery consumption?

I mean, when we're mobile it's best to do only the absolutely necessary work to avoid having the Wifi/4G module active sending packages. I think this will consume most of the power.
I'll try to run my notebook until its empty with both settings and post some numbers :)

@AlexxNica So I ran the test. Battery consumption is pretty low on a idling desktop on my laptop so I had to plan two days without having to use the laptop to run it.
Test procedure:

Wifi/Bluetooth off
4G on with 5/5 bars signal strength
Operating System: Windows 11
ipfs 0.9.1 (console version)
ipfs default settings, except turning Swarm.EnableAutoRelay on
daemon was started with  gc + pubsub + namesys-pubsub and routing overwrite depending on the test.
freshly generated node previous to each test
let it run 5 minutes on power supply power, to complete the bootstrapping
started it at 2 am local time in Europe both times
display was turned on with 60% brightness
a webcam recorded the test and I wrote down the time when windows turned off the display
test ran the battery down to 1%
I stopped the Windows updates, by pausing them for one week prior to the first test
Hardware: Intel i5-1135G7, 16 GB memory, integrated Intel graphics, NVMe storage and a 14 inch display

The first test was with dhtserver which ran 12:50 h and used 891 MB traffic.
The second test was with dhtclient which ran 13:55 h and used 661 MB traffic.
In theory there's a Samsung specific setting to conserve a bit more power, but I haven't used it to make the test less hardware depended.

Thanks! I believe  MVP here is to add opt-in that changes from dhtclient to dht similar to the toggle we recently added for GC: https://github.com/ipfs/ipfs-desktop/pull/1740
PR welcome :)

Yeah that's a nice temporary solution until go-ipfs can switch on the fly :)

I just came across this after trying to figure out why IPFS-desktop isn't putting the DHT to server mode.
I discovered that we have the '--routing=dhtclient' flag hardcoded: https://github.com/ipfs/ipfs-desktop/blob/bc321a6ff38075f9855fef6680e4b1e1a31900e5/src/common/store.js#L4-L17
I'd be interested in taking this one on.
@lidel
Do we still want to add an opt-in flag in the UI to set routing to dht? Or can we change the default (seeing as the dht option will automatically switch to server)?

My vote is to decrease code surface of ipfs-desktop that we need to maintain, and not add more dialogs, asks, and questions.
When left alone, go-ipfs is already deciding if it should be a server or not.  being smarter about defaults, adjusting them based on network conditions (e.g: v0.13 it will have automatic hole punching).
Removing hardcoded --routing preference sounds like a better allocation of time, and can act as a forcing function to improve go-ipfs (if needed).
@2color  If you open a PR that removes --routing=dhtclient  from default config + runs one-time migration that removes it from configs of existing users, i'd be happy to review and coordinate with go-ipfs (if needed).

Removing hardcoded --routing preference sounds like a better allocation of time, and can act as a forcing function to improve go-ipfs (if needed).

Makes sense.
I'll give this a go.


Update readme and helm chart.yaml

Description of your changes
UI of https://github.com/upbound/universal-crossplane/pull/96 is broken for some reason.
Fixes #
I have:

[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

@hasheddan ready for another look!


[experimental] Cleanup support of Ruby < 2.2 & Rails < 5.2

As per Rails' support policy, Rails dropped any support for 5.0/5.1, even for severe security issues.
This comment mentioned that we planned to keep support for 5.0.
Another comment mentioning plans to drop 4.2 support.
From Versioning Strategy RFC:

Release a major with any Rails Major, removing support for any newly unsupported versions of Rails, and adding support for the new major.

This pull request has some rough edges, but I can iron it out if you feel like dropping support for < 5.2 is the way to go.

The only failure is YARD on JRuby mistakenly takes {lib} in
       gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => 'master'

for a reference.
I'm getting a weird nokogiri issue locally, running rake fails to find 1.8.5. Update to nokogiri 1.9.1 (that requires Ruby 2.1+) fixes the issue.

Questions/TODO:
Is it possible to get rid of this?
# We need to copy this method from Thor for older Rails versions
def comment_lines(path, flag, *args)

Evaluate numerous respond_to? calls, e.g.:
          ::ActiveRecord::Migration.respond_to?(:check_pending!)

I18n.enforce_available_locales = true if I18n.respond_to?(:enforce_available_locales)

Simplify FixtureFileUploadSupport that has some trick to support Rails 3.

I seem to recall the original discussion was to drop support for 4.x in 4, but not 5.x, leaving that for later, I know thats not what the RFC says, but basically kicking out all of the previously supported rails versions at once is a bit much.

See #2071 for reference


Franka URDF With Course Collision Model

Hi all,
I run the robot in simulation (usually Pybullet) and check collisions with the collision meshes. I've seen that there has been discussion about using inflated self-collision meshes to check self-collisions. Does anyone have a URDF with the improved self collision model? I've seen it in several custom xacro files but I'm not sure how to parse those to produce a URDF with all the special custom tags.
Thanks a lot

That is a tricky task. In theory you could do xacro panda_arm.urdf.xacro hand:=true. However, the resulting URDF would contain both collision models. If you would load this model in pybullet, it would use this model for physical interaction and that is probably not what you want.

You want to use the "inflated self collision model" only for path planning, which you have to do outside of bullet anyways (Also you have to disable collisions between a few links).

Thanks @marcbone , I typically do planning with raw OMPL using Pybullet for collision checking. What would be ideal would be to use one urdf for obstacle collision and one urdf for self collision (maybe in parallel simulations to avoid weird physics with two robots).

I never worked with OMPL directly. I guess you can load a URDF into it for collision checking? There you would put the URDF that you generated with xacro panda_arm.urdf.xacro hand:=true. Then you would have to disable collision between links according to this config from moveit

It works through callbacks. You set up a collision checking function and pass it into the planner which then uses that to verify states. This is why I also use Pybullet--it's a fairly lightweight collision checker that can read in a URDF. I could see some other lightweight checker being more appropriate but I haven't found one that's as easy to use from Python. Hence why I'm asking about a urdf with the inflated collision shapes.

Ah ok. Then I guess you can use the inflated URDF and use setCollisionFilterPair function in pybullet to disable the unwanted collisions between links

Hi @fishbotics
you can use
xacro $(rospack find franka_description)/robot/panda_arm.urdf.xacro hand:=true gazebo:=true

This will omit the *_sc capsules (although it will provide empty links to keep the URDF consistent) from the URDF. If you find it confusing why we named this arg gazebo please refer to the docs on develop
Let me know if this helps


[KED-1796] Problems with relative paths under Windows

Hopefully this error is not due to a change in kedro that I have missed but I had a couple of people reporting this to me.
Description
Switching from absolute paths to relative paths results in some (maybe cached) state where kedro tries to load a non-existing version of a dataset.
Context
We have developed a ML pipeline for which the data was stored in a separate partition (D:/data) and the kedro projekt repo was on something like C:/code/project. Subsequently on a different machine, a colleague cloned the repo and copied the data over into the data folder within the project repo. Now the code was in C:/code/ and the data in C:/code/data/ and the paths in  catalog.yml were adjusted to reflect the new location using relative paths. When starting IPython via the kedro command (kedro ipython) everything seemed ok but trying to load a versioned dataset resulted in an error. The error said that a specific version of the dataset could not be loaded from disk. Error: VersionNotFoundError:
Trying to explicitly load a version that exists on the machine resulted in an error because for some reason a C:/ was appended to the file URI so that it looked like this: <path to versioned file>C:.
`01_raw/preprocessed_shuttles.csv/2020-06-15T<IP_ADDRESS>7Z/C:'
If instead of relative paths data/dataset absolute paths are used C:/..../kedro_project/data/dataset everything works as expected.
Steps to Reproduce using space flight tutorial

Catalog pointing to a different location initially.
At this pointhttps://kedro.readthedocs.io/en/stable/03_tutorial/04_create_pipelines.html#persisting-pre-processed-data use versioned datasets
Copy all files over to the project data directory and change catalog.yml to relative paths: data/...
Start ipython using kedro ipython and try loading  catalog.load("preprocessed_shuttles") or  catalog.load("preprocessed_shuttles", version='2020-06-15T<IP_ADDRESS>7Z') to see both errors.

Expected Result
Kedro should load the latest dataset on disk independent of absolute and relative paths.
Actual Result
Copying the data and changing the yaml to relative paths results in error messages trying to load none existing versions.
VersionNotFoundError: Did not find any versions for CSVDataSet(filepath=C:\Users\user\git\space\data\01_raw\preprocessed_shuttles.csv, protocol=file, save_args={'index': False}, version=Version(load=None, save='2020-06-15T<IP_ADDRESS>9Z'))

DataSetError: Failed while loading data from data set CSVDataSet(filepath=C:\Users\user\git\space\data\01_raw\preprocessed_shuttles.csv, protocol=file, save_args={'index': False}, version=Version(load='2020-06-15T<IP_ADDRESS>7Z', save=None)).
[WinError 123] Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch: 'C:/Users/user/git/space/data/01_raw/preprocessed_shuttles.csv/2020-06-15T<IP_ADDRESS>7Z/C:'

Your Environment
Include as many relevant details about the environment in which you experienced the bug:

Kedro version used (pip show kedro or kedro -V): 0.16.1
Python version used (python -V): 3.7.7
Operating system and version: Windows 10

@fdroessler Thank you for reporting this! We've been working through a backlog of some Windows specific issues and we'll add this one to the list. Once we have a solution for this, we'll share what that is and release a bugfix.

Linking in issue https://github.com/quantumblacklabs/kedro/issues/390 since it seems that it's reporting the same problem.

@fdroessler Thank you for reporting this issue. It was fixed in 390c02fbaf3a2801f06b5bbab3e7ec3650785c56 commit.


Make tests working in case the "provide-api-key" feature is disabled

Description
This tests make the unit and system tests working in the case the newprovide-api-keyfeature is disabled (it is enabled per default).
Disablement of the feature can now be controlled by an Ansible variable named
whisk.feature_flags-require_api_key_annotation.
A successful run with the feature disabled can be found here
Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[x] Tests
[x] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Can one of the admins verify this patch?

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/OpenWhisk-Playground/75/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/OpenWhisk-Playground/76/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/OpenWhisk-Playground/77/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/OpenWhisk-Playground/78/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/OpenWhisk-Playground/81/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/OpenWhisk-Playground/82/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/OpenWhisk-Playground/83/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/OpenWhisk-Playground/85/
Test FAILed.
Test FAILured.

@commiters
Can somebody please have now a look on this PR (WIP tag is removed).
Travis builds are fine for both settings for the 'require-api-key-annotation`feature toggle. The Jenkins build does fail with the well know error addressed in this issue
[PG3:3445 succeeded]

@rabbah @chetanmeh Could you please have a look on this PR.
It makes the test to react on the new feature flag regarding the api-key injection.

Thanks for the ping @mhenke1 will put it on my q.

@chetanmeh @markusthoemmes I have addressed your reviews as proposed.

This is not easily possible since Parameters is not accessible in WskRestBasicTests.
With that I would like to remember that fact that this change is urgently needed to make OW testable (and with that deployable) in case the "require-api-key" feature is disabled. So I politely do ask to defer additional coding-style related changes and to consider merging this PR.

I think @chetanmeh's comments have all been addressed. I'll merge it now as it's urgent. @mhenke1 and I agreed on doing some cleanup of this in a subsequent PR.


Why does checkbox work to filter, but drop down box does not?

Please see images below. We can't figure out why selection drop down boxes don't filter the search list, but checkboxes do.

Could you provide more info how to reproduce it ? Seems to be more general JavaScript or Vue + HTML problem than ItemsJS itself


Without register service worker as a module when has configured 'type: module'.

I have configured options like this:
devOptions: {
  enabled: true,
  type: 'module',
  navigateFallback: 'index.html'
}

but still got a problem when use 'import' in service worker:
Uncaught SyntaxError: Cannot use import statement outside a module (at dev-sw.js?dev-sw:1:1)

@Stan-BK you can only test it on chromium based browsers (chrome, Edge, Chromium), if you are using generateSW startegy (the default), don't use tyoe module, remove the entry


Update index.d.ts

use single const for vTooltip

Thanks for your PR! This is no longer necessary with https://github.com/Akryum/v-tooltip/pull/462


Adds artist avatar and tests for notification component

Fails

:no_entry_sign:
No CHANGELOG added.

:no_entry_sign:
Please assign someone to merge this PR, and optionally include people who should review.

  Generated by :no_entry_sign: dangerJS

@l2succes bump 😄

OK @l2succes , this should be good to go!

Any objections to merging?

I forgot Luc is OOO so I'm going to merge this.


On Prem Apigee - management base

istio-auth proxy is not configured with the correct management base, if the -m option is used.  This is needed when configuring the adaptor to run with edge on prem.  The 'Authenticate Call' policy is hard coded with the cloud base https://edgemicroservices.apigee.net rather than use the machine base specified on the command line.

Indeed this is what I did, and it does work.  Thank you.
Would you like this issue closed now, or left open to trigger a story?

Please leave it. I'll keep this for tracking. Thanks!

Correction on original issue description: The istio-auth proxy needs to reference the routerBase, not the managementBase.


ldeep: 1.0.52 -> 1.0.53

Diff: https://github.com/franc-pentest/ldeep/compare/refs/tags/1.0.52...1.0.53
Changelog: https://github.com/franc-pentest/ldeep/releases/tag/1.0.53
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release 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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

2 packages built:

ldeep
ldeep.dist


Avoid confusion between custom and user data

Some people where getting confused on why we say custom data is not available through IMDS where in other parts we say user data is. It's not always clear that these are two separate things.

@tvuylsteke : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@tvuylsteke I have submitted this update in the Private repo instead. Updates will be live around 4PM PST. Thanks for the suggestion!
#please-close


encode database label file names using URL encoding

Often database label (the name of a graph) needs to be a URI. However, this conflicts with the file system when directory store is used. The proposed solution is to encode the label file name using URL encoding, it is also backwards compatible.

I don't think this is actually backwards compatible though, as various label names that are possible now would be transformed by this change. In particular, any label with a % in it would stop working, as url-encoding them will turn that into %25.  The same goes for the pipe character (|) which turns into %7C.
Both are pretty relevant for us because in TerminusDB we actually use url encoding and pipes (as separator between organization and data product) for our label names. So we currently have a whole bunch of label files with % and | characters in them that would stop working with this change.
I wonder if there's not some other strategy we could take here. For example, you could define another label store which acts as a name-transforming proxy. Or we could provide an option in the constructor. Or maybe a feature flag. But as-is, I don't think this is a good idea.

Fair enough. I will look into making this more configurable. Would be of course nice to get both backwards compatibility and proper handling of names with other special characters, but maybe it's too late now.

@matko Please, have a look at the modified solution. I made label file name encoding pluggable and provided two default implementations - identity and URL encoder. Do you think this may be something worth merging?


Create email account(s) for Epinio

We need an Epinio email account to fill our Epinio Helm Chart and more generally for creating accounts on websites where we can reference our Helm Chart.
Many choices:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
And also create aliases for team's members like<EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>should just be an SD ticket away :wink:
Team, please take a decision, then I can take care about the rest.

<EMAIL_ADDRESS>would cost $4 per month with Amazon WorkMail (on AWS)
and would require domain name configuration by the team managing SUSE domains (more time than SD ticket for @suse.de)

I'm not for a @suse.de address in any case, @suse.com better in any case.
In default installation<EMAIL_ADDRESS>is set. Is it a fake address or a real one? If it's a real one why not using it?

I'm not for a @suse.de address in any case, @suse.com better in any case.
In default installation<EMAIL_ADDRESS>is set. Is it a fake address or a real one? If it's a real one why not using it?

For me, it always been a fake address.

For me, it always been a fake address.

OK, is this address can be in the list? Or not because it is set by default on some installation? Or an<EMAIL_ADDRESS>

For me, it always been a fake address.

OK, is this address can be in the list? Or not because it is set by default on some installation? Or an<EMAIL_ADDRESS>
To me, this email is used to get notifications about certificates expiration, so if we set our real email, we can get spammed by customer apps if they don't put their email. That's likely better to keep going with a fake one.

I'm not for a @suse.de address in any case, @suse.com better in any case.

Why's that ?

In default installation<EMAIL_ADDRESS>is set. Is it a fake address or a real one? If it's a real one why not using it?

Well<EMAIL_ADDRESS>will be hard (if not impossible) to get<EMAIL_ADDRESS>is probably closest to what's available under a @suse.com domain.

Btw, Kubewarden got<EMAIL_ADDRESS>:wink:

Rancher is using<EMAIL_ADDRESS>in their charts as well as contact email on ArtifactHUB.

Btw, Kubewarden got<EMAIL_ADDRESS>
It's not a good idea IMHO, @suse.de shouldn't be used anymore, the official one is @suse.com.

Why's that ?

Because the official one is @suse.com. @suse.de is the older one and according to the .de part only for Germany.

@kkaempf @pgonin , during the daily sync, the team agreed on<EMAIL_ADDRESS>And if it's really hard to get (I don't have the context), we can go with<EMAIL_ADDRESS>

<EMAIL_ADDRESS>is unlikely to be possible.
We need to use mailman instances either the one on lists.suse.com or the one on suse.de

ok so let's go with<EMAIL_ADDRESS>

I created epinio AWS WorkMail organization
Asking DNS setup now

As<EMAIL_ADDRESS>is now active, we can start to update documentations, helm chart etc...

closing


docs(v2): fixed the directory of index.js

Motivation
Fixed the directory of index.js at various places
In those examples the file directory should be src/pages/index.js, but currently it's src/index.js
Have you read the Contributing Guidelines on pull requests?
Yes

thanks 👍


new tag 'delete' (to only run the tasks on the users_deleted variable)

Another useful tag (should have added in the first 'tags' commit already)
that just saved me quite some unnecessary processing time!

Hi @lhoss, merged!
Keep up the good work!

sure @dvianello !
keep up the quick merging :+1:


Tutorial: enhance "running this tutorial locally"

As of today, in the tutorial, we assume the user is either running Windows or Mac OS(X) as we are only documenting the use of "Docker for Desktop" (which is only available on those).
We should enhance that part by having support for different tools and more Operating Systems (like GNU/Linux). We should at least document how to run the tutorial using a tool that is available on all platforms, aka minikube (and maybe kind too).
/kind documentation

/assign psschwei

So I ran into a bit of a blocker here, trying to keep the minikube as close as possible to the Docker for Desktop one...
I created a local insecure registry that I can push to locally:
docker run -d -p 5000:5000 --name registry-srv -e REGISTRY_STORAGE_DELETE_ENABLED=true registry:2

In order to be able to access this registry in minikube, I added the following to /etc/hosts on local:
<IP_ADDRESS> docker.local

And then added the following to /etc/hosts on minikube (assume my local IP is <IP_ADDRESS>9):
<IP_ADDRESS>9 docker.local

I verified that after doing minikube ssh I can push/pull from docker.local:5000/.
Where I run into an issue is the Kaniko build, which gives me the following error:
[build-and-push] error checking push permissions -- make sure you entered the correct tag name, and that you are authenticated
correctly, and try again: checking push permission for "docker.local:5000/leeroy-web": creating push check transport for
docker.local:5000 failed: Get "http://docker.local:5000/v2/": dial tcp: lookup docker.local on <IP_ADDRESS>:53: no such host

To get around this, while still using this type of registry, I think we'd need to add HostAliases (see #1750).
That said, there are also other registry options (I've seen this one referenced somewhat frequently).
@vdemeester Any preference for which direction to go? If you think it'd be better to add HostAliases, I can look into getting that added. (I may also be missing something obvious, so let me know if that's the case...)

@vdemeester  @psschwei  check this add-on https://github.com/kubernetes/minikube/tree/master/deploy/addons/registry-aliases, this should help doing all the required setup for pushing and pulling from minikube internal container registry.
HTH

Thanks @kameshsampath ! will check that out


Added tqdm loader builder.py

As per issue #72

@PentW0lf Thanks for the contribution

Your welcome, is it working well?


Header is not recognized

Hi @pblanchardie,
My bank tells me that the header is no longer recognized :
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">

He suggests this header which seems more appropriate:
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.six-interbank-clearing.com/de/pain.001.001.03.ch.02.xsd">

Do you have any ideas on how we can customize this header to suit our needs?
Thanks

A quick workaround would be to replace the header on your side, after generation. Pretty easy because it's always the same, at the same place: line 2.
As your header is specific to your bank (and http://www.six-interbank-clearing.com/de/pain.001.001.03.ch.02.xsd is not available), it's the best thing to do now.
Using JAXB, there is no easy way to allow customization of the namespace URI.
I could also add a parameter that replaces the header after generation, but I won't be able to do it quickly and it's a hack that should be on the user side.
In the future, I may provide alternative implementations (JAXB2 is the current but you could choose bank4j-jackson or a custom implementation with no external dependency at all) and some would allow changing the namespace easily.

Thank you for your quick response!
I'll use the workaround to replace de specific header using a regex in my generation script.


docs: add release note for 0.8.1

What's Changed in this PR
add release note for v0.8.1
Checklist

[ ] Please ensure that the content in summary.yml matches the current document structure when you changed the document structure.
[ ] This change requires follow-up update in localized docs.

Could you please also add the content to nighly? thank you very much


Useful hooks/Utils for Contracts

When creating your app in SE, it's super handy to have hooks that loads the deployed contracts (hardhat_contracts / external_contracts).
In SE-2 we are using wagmi, but I think we could benefit of having some layer (hooks / utils) on top of wagmi to load these deployed contracts.
In SE-1, we have:

useContractLoader (load a contract read / write)
useContractReader (load & watch a contract variable)

This is what wagmi provides:

In my mind, what I want to do as a dev is something like this (rough sketch for the sake of the example):
// useContractLoader (or whatever name) will load the contract (read=no signer connected, write=signer connected).
// No need to pass any provider/signer params, since we have the wagmi hooks holding the state.
const yourContract = useContractLoader("YourContract");
await tx(yourContract.setPurpose("Hola", {value: utils.parseEther("0.001")}))

// useContractReader (or whatever name) will watch (all the time in localhost, rpc polling time in other networks) a variable/s within the contract.
const { purpose, userPurposeCounter } = useContractReader("YourContract", {config});
// Config could be an array of the things we want to read (with its params). Wagmi has useContractReads for multiple reads at the same time. E.g config:
const config = {
 ["purpose", []]
 ["userPurposeCounter", ["0xaddresss"]]
}

We'll want to leverage as much as possible on the TS auto-completions for the contracts.

@carletex  on the previous nextjs template have tried this .
https://github.com/Naim-Bijapure/scaffold-eth-next/blob/main/packages/next-ts/hooks/useAppLoadContract.ts
created an useAppLoadContract hook which takes a contract name as an argument and returns its instance  and types for typescript autocomplete ( inspired from SE typescript).
there using useContract hook from wagmi to return contract instance.
also there need to configure contract abi files paths in a constant file first.
what do you think?
should I start digging into this?

Really love the idea of "useful hooks/Utils for Contracts" much needed !!!
I have been thinking and digging about it and here are some of my thoughts :
Hooks idea :
1) wrapper for useContractRead or useContractWrite :
Reason: every time we use useContractRead or useContractWrite we always need to pass addressOrName, abicheckout docs here instead what we can do create wrappers which fills in this value by just passing contract name :
const { result, isLoading, isError } = useScaffoldRead<YourContract>({
 contractName: "YourContract",
 functionName: "getCount",
 watch: true,
});

//---- Rough Implementation :
const useScaffoldRead = ({ contractName, ...rest }) => {
 const contractDetails = useWagmiContractOptions(contractName);
 return useContractRead({
   ...conteractDetails,
   ...rest,
 });
};

similar for useContractWrite also we should handle types for better auto-completion.
Inspiration was taken from here
2) useWagmiContractOptions hook :
We already have this util getDeployedContract but maybe we can convert it to hook so that we don't need to pass it chain Id also it will be utilized by useContractRead and useContractWrite with those 2 value (addressOrName, abi)
Regarding useContractLoader :
The idea is really great, but if the hook return contract Instance even Naim suggested the same approach then its just good to have a hook,I feel that making write call wtih that instance is more declarative which I don't like,  I like the wagmi's approach of write because it handles other state's too like isLoading, error etc.  but its good to have.
PS : These are all my personal views and very raw drafts nd we can ignore some of them too

Thanks @Naim-Bijapure and @technophile-04 !! Great suggestions.
I think Shiv is drafting a PR with a first iteration on this. We can play with it and take it from there.

This was merged on #93
We'll iterate... but let's close this for now.


If a theme is applied, use the theme's token in the Tag component

Which package has an issue?
@yamada-ui/react
Package Version
1.3.0
Description
Currently, styling values in components ignore theme tokens. If a theme is applied, you should use the theme's token.
Yamada UI's style system provides fallback functions. If the value of the token in the first argument does not exist, it returns the second argument, the fallback value.
const css: CSSUIObject = {
  maxW: "100%",
  display: "inline-flex",
  alignItems: "center",
-  gap: "0.25rem",
+  gap: "fallback(1, 0.25rem)",
  verticalAlign: "top",
  ...styles.container,
}

Link to Reproduction
No response
Steps to Reproduce

Go to '...'
Click on '...'
Scroll down to '...'
See error

Browser
None
Operating System

[ ] macOS
[ ] Windows
[ ] Linux

Do you know how to fix the issue?
Yes
Are you willing to participate in fixing this issue and create a pull request with the fix?
None
Additional Information
No response

@hirotomoyamada
Can I work on this issue?

@GensIt Thanks!

Fixed #1106


Use const pointers for strings

Codecov Report

Merging #13 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #13   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines         123    102   -21
=====================================
- Hits          123    102   -21

Impacted Files
Coverage Δ

src/opentracing-c/tracer.c
100% <0%> (ø)
:arrow_up:

src/opentracing-c/dynamic_load.c
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Security Policy gives a Segmentation Fault

Policy Type
file
path + fromSource(path)
example1.yaml
apiVersion: security.kubearmor.com/v1
kind: KubeArmorPolicy
metadata:
name: example1
namespace: multiubuntu
spec:
severity: 5
message: "No message"
selector:
matchLabels:
container: ubuntu-2
file:
matchPaths:
- path: /home/user1/a.txt
fromSource:
- path: /home/user1/run_a.sh
action:
Block
run_a.sh contains
#!/bin/bash cat /home/user1/a.txt
The policy should stop the access of a.txt from run_a.sh but instead gives Segmentation Fault.


Install required libssl1.0 dependency.

Fixes jfloff/alpine-python#35.

Any clue when this will get approved/merged? Thank-you for fixing,

There you go! @warrenpoon  Sorry for the delay.
Thank you for the PR @kadrach


How to stop pow when i want use my apache

I have some project wrote in php, so some times i want stop pow and using apache

A cool feature we added recently is called proxy to port. If you use this in combination of the default host, you can have missing hosts forwarded to apache.
Otherwise, the easiest thing to is remove the firewall rule.

thanks you guy!


fix: support schedules api

Summary

Add API calls for vault schedules request

:tada: This PR is included in version 1.3.11 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


missing class ImageUrl

This article is missing the code related to the class ImageUrl

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

ID: 7f09455f-1fba-636e-ac93-df5baa195331
Version Independent ID: 3195e796-5415-36f3-50a9-e2dbac846339
Content: Azure Content Moderator - Moderate images using .NET
Content Source: articles/cognitive-services/Content-Moderator/image-moderation-quickstart-dotnet.md
Service: cognitive-services
Product: unspecified
GitHub Login: @sanjeev3
Microsoft Alias: sajagtap

@thdotnet, thanks for the feedback. Could you please elaborate so I can be sure I am fixing the right problem? Skype call?

Sure,
Please add me on Thiago.custodio at hotmail
On Fri, 25 May 2018 at 10:57 Sanjeev Jagtap<EMAIL_ADDRESS>wrote:

@thdotnet https://github.com/thdotnet, thanks for the feedback. Could
you please elaborate so I can be sure I am fixing the right problem? Skype
call?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/9196#issuecomment-392066064,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABWP2nStLW6JoN-JdRwLv3BNhaNPnXMsks5t2A3AgaJpZM4UOAF9
.

@thdotnet Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.
@sanjeev3 Thanks for your quick action.

@sanjeev3 , I've just encountered this bug myself, which is how I found this thread. Where can I find the code defining the ImageUrl class?
Related quickstart: https://review.docs.microsoft.com/en-us/azure/cognitive-services/content-moderator/image-moderation-quickstart-dotnet?branch=master

@thdotnet, We've fixed the issue. The code was not supposed to use the ImageUrl class, but a different one which is included in the SDK. I've fixed the code snippet in the doc.


Fix robot page exception on data explorer

There was an ICM for robot page exception on data explorer. We have seen similar issue before on undefined this.props.cohorts[this.props.selectedCohortIndex].
Checklist

[ ] I have added screenshots above for all UI changes.
[ ] I have added e2e tests for all UI changes.
[ ] Documentation was updated if it was needed.

this.props.cohorts[this.props.selectedCohortIndex]

this is the only place, we have handled all scenarios for this specific issue on this.props.cohorts[this.props.selectedCohortIndex]


add confirmation page

@lucasvanhalst can you move the confirmationpage specific css out of the general css file and just put it in the page itself? I don't like page specific css in the general one.

@robvanmieghem done


apply dark moode in feedback form

@mdazfar2
please check this and merge it
as you say,  i comepleted dark and light mode in feedback form

light mode

dark mode

@Varsani2520 mention issue as well

Hey @mdazfar2 ,
issue is #204

Thank you :) @mdazfar2


Hello, Thankyou for this repository. Can you please explain the difference between 'city_cycle_foggy_voc' and 'foggy_cycle_city_voc'

@AstuWeb  city_cycle_foggy_voc  refers to the cityscape dataset with foggy style~(i.e. target-like data), and vice versa.

Thank you for the quick reply. I faced difficulty getting those datasets. I would appreciate it if you can send the datasets or the link where I can find by this Email<EMAIL_ADDRESS>please.

Because of the dataset Offical policy, I have no right to distribute the Foggy Cityscapes. You may contact them in here.


Allow returning JS Date objects

Rather then coercing JS Date objects to nil, send back their ISO string representation, just as Selenium does.
fixes #892

Added a second "refactoring" commit that has the QDateTime handled just like QString. Unsure which is stylistically preferred.
The current implementation relies on QVariant having sane toString() method per the respective QMetaType. If we'd like, we can be more explicit with the conversion with something like:
case QMetaType::QDateTime:
  {
    addString(object.toDateTime().toString(Qt::ISODate));
  }
  break;

Looks good to me. The behavior is covered by your test, so I don't think there's any reason to be explicit.


python311Packages.gemfileparser2: init at 0.9.3

Description of changes
Library to parse Rubygem gemspec and Gemfile files
https://github.com/nexB/gemfileparser2
Will be needed for scancode-toolkit

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

2 packages built:

python310Packages.gemfileparser2
python311Packages.gemfileparser2


Switch/Case statments using dictionaries.

Can you add your code to this file and rename it to switch_case_statments_with_dict.py?

Done! :)


Apply the work-around solution to fix the timeout issue on a couple of draft Expert certificates

A number of certificates are not editable because they are timing out. Rather than wait for the overall fix to optimise the performance, please apply a work-around solution so that the publisher can edit and save their certificates?
These are:
https://certificates.theodi.org/datasets/1621/certificates/48561
https://certificates.theodi.org/datasets/1709/certificates/48635

More edit is required so this needs to be implemented.

@sumikasan both the certificates are using the most up to date questionnaire so editing won't be slow.
Pressing the 'save and finish' however will take a long time and time out.
They can bypass this by going straight to the 'My Certificates' page and pressing publish there. Everything is saved as they go so the save+finish button can be skipped.

They can now edit the questionnaires quickly again.


Make Collection::keys() return an instance of Collection

Breaks the tests. Also, I don't see the point in this?

Fixed the test and the docblock

The only point I see is consistency with values() in return types.

The point would be to allow the keys() and values() method calls to return the same expectation, a collection instead of one returning an array and one returning a collection.

I even suggest that values() returns a new Collection and the current functionality of values(), reseting keys, to be in an explicit function reset().
What do you think?


OOTB users to CSV exports not working

Required Information

[ ] AEM Version, including Service Packs, Cumulative Fix Packs, etc: AEM 6.5 SP17
[ ] ACS AEM Commons Version: 6.0.14
[ ] Reproducible on Latest? yes

Concerned path: Tools > ACS AEM Common > CSV Exporters > Users to CSV Exporter
issue => We have the possibility to create specific exports to identify and extract users according to their role. This allows us to track activity on the platform.
When creating a report, we select the roles to be extracted. Then, report can be downloaded. => Lately we were creating a report, and selecting the roles to be extracted. Normally the report should be available then to download, but we are having a lot of lag issues, and the interface becomes unresponsive, and the browser pages stop to respond.
Do you know what the issue might be?
Thank you!

@YegorKozlov  , is there a pressing need to perform this sort operation?

https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/master/bundle/src/main/java/com/adobe/acs/commons/exporters/impl/users/UsersExportServlet.java
This sorting is being done for every user record and with increasing number of users, it could contribute significantly to the performance overhead.

@AndreaHgy , any idea how many records we are trying to export here ?

hello
we have arround 213K users (active and not active users).
But the export is working on PROD and not on stage environment (where the infrastructure is less performant).
So can you confirm it's the root cause? and how can we debug it or be sure what the cause is?


ticket293.apply-depends-system-patches.0

The first step in moving the patches out of the depends system and into this repository (the next step, after this has been merged, is to remove them from zerocashd and update the git commit URL).

LGTM

I merged this into zc.latest.


Lita::Room's name is not correct

When inspecting a room_object from a response in a handler, the name it display's there is a copy of the ID (using lita-slack adapter).
I believe that this adapter is missing a call to https://api.slack.com/methods/channels.info to fill the correct channel name.

This is what I receive, instead of the name, it replicates the ID:
#<Lita::Room:0x007f272a53e730 @id="C030B1KQ6", @metadata={}, @name="C030B1KQ6">
You can see this behavior using my plugin: https://github.com/brodock/lita-queue
There is an walkthrough here : https://github.com/brodock/lita-queue/issues/1

Lita::Adapters::Slack::SlackChannel is the class where this information is extracted from the raw data sent by Slack. At a glance it looks correct to me, but clearly it's not. I would be happy to accept a PR to fix this!

I'm also experiencing this bug. For whatever reason, a workaround that returns the correct information is doing Lita::Room.find_by_id("1234abcd").name or conversely, Lita::Room.find_by_name("foobarbazquux").id. If this is still open when I get back from the beach in a week, I'll submit a patch.

I still have to do a little debug, but suspect Slack isn't following its own API documentation for RTM's API

I can confirm @kingcons workaround succeeds, unless it's a private conversation, in which case the room cannot be found.

Still seeing this happen today, where response.message.source.room_object has a name that is actually the Slack room ID, where Lita::Room.find_by_id(response.message.source.room_object.id) has a name that is the correct name of the channel. :/


Add golang implementation

https://github.com/pony-maggie/blockchain

Hey @pony-maggie can you submit a PR and put it in /golang?


[Snyk] Upgrade html-snapshots from 4.1.1 to 4.2.1

Snyk has created this PR to upgrade html-snapshots from 4.1.1 to 4.2.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 2 versions ahead of your current version.

The recommended version was released on 3 days ago.

Release notes

Package name: html-snapshots

4.2.1 -<EMAIL_ADDRESS>

4.2.0 -<EMAIL_ADDRESS>

4.1.1 -<EMAIL_ADDRESS><EMAIL_ADDRESS>

    from html-snapshots GitHub release notes

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:

🧐 View latest project report
📜 Customise PR templates
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

coverage: 99.245%. remained the same
when pulling 891099a10e5eba9f19c59ef7d3199b62b599736d on snyk-upgrade-ddce44f800947c0890f870ebcf0eabf4
into 72cc02e470e7afdbe69ab63b1e85f92594f84770 on master.


As a shipwright developer, I want to stop relying on service accounts for mounting my secrets at the pod level

Idea:
This is coming as an outcome of https://github.com/shipwright-io/build/issues/662. We want this issue as a way to understand the implication of stopping using serviceAccount and referencing that in Tekton TaskRun, in favor of dealing with our secrets directly, without the need of a service account, as seen in:

Via env vars
Via volumes
Via volumes + params.

Adding more info on this issue.
Today we use the creds-init feature in Tekton, to delegate to Tekton the responsability of generating a ~/.docker/config.json for docker registry authentication. This is nice while it allow users to reference a secret with basic auth, and from there Tekton will generate the required file and place it in at the pod level.
Its my understanding that the Tekton community will make the creds-init feature disable by default. While it will keep a flag to enable it, long term and the recommendation is to stop using it.
The feature can be removed, by setting the disable-creds-init key to true under the feature-flags confimap in the tekton deployment namespace. When this is removed, the strategies using kaniko or buildpacks will not longer work.
An option to fulfill what we lost when disabling the feature, is to use workspaces to mount the required secret, from where the ~/.docker/config.json will be created. An example is available in this commit.
Things to keep in mind from the above example:

Users need to specify a particular secret with a particular file name, as in kubectl create secret generic regcred --from-file=config.json=/../.docker/config.json --type=kubernetes.io/config.json .Today, users can specify a secret with basic auth.

The issue that @SaschaSchwarze0 mentioned in the grooming meeting today seems like a documentation issue.
https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ mentions a couple ways to generate a Docker config Secret:

docker-registry and --docker-username, etc:

kubectl create secret docker-registry regcred \
    --docker-server=server.io \
    --docker-username=my-user \
    --docker-password=my-password \
<EMAIL_ADDRESS>
...generates a Secret like:
data:
  .dockerconfigjson: ...

generic and --from-file with --type=dockerconfigjson

kubectl create secret generic regcred2 \
    --from-file=.dockerconfigjson=$HOME/.docker/config.json \
    --type=kubernetes.io/dockerconfigjson

...generates a Secret like:
data:
  .dockerconfigjson: ...

Unfortunately these don't make it very easy to consume for our use case, since we ultimately want to be able to mount this as a file at ~/.docker/config.json, and if we mount it at ~/.docker/, where the file will be named ~/.docker/.dockerconfigjson 😢
Aside: We can actually mount the file in any directory, e.g., /shipwright/dockerconfig/ as long as we set the DOCKER_CONFIG=/shipwright/dockerconfig/ env var, as described here. Most/all Docker-adjacent tooling should be able to handle this env var (I know kaniko, ko, buildpacks, etc., respect this; I don't know about s2i, etc.)
Anyway, the problem is the name of the file is .dockerconfigjson, but that's only the case because that's what docker secret create docker-registry and --type=kubernetes.io/dockerconfigjson expect to do.
This variation on (2) above:
kubectl create secret generic regcred3 \
  --from-file=config.json=$HOME/.docker/config.json

...will generate a secret like:
data:
  config.json: ...

...which we can more easily mount and use in our Pods.

@imjasonh the variation on (2) will work, but we still have (1) not cover, right?
As (1) is heavily used when generating the registry secrets,  I will say that we will eventually need glue-code in the controller, to:
a) Generate a volume and volumemount with the desire config.json file, by reading the secret provided in spec.output.credentials.name and making this available to the build-and-push step.
b) Ensure the config file under the above volumemount is of the form config.json, instead of .dockerconfigjson , in order for the tooling to properly consume it.

Some glue code to help out users who did (1) or the original (2) could be useful, with a warning to users that they should migrate to the variation of (2).
As for how that glue could work, we could simply prepend a step in the TaskRun that looks for ~/.config/.dockerconfigjson and renames it to config.json (failing if that file already exists?) before running the rest of the steps. That solution might be minimal and reliable enough we don't even need to consider removing it, though we should probably log a warning somewhere if we do it, since people might be confused about the expected filename.

I stumbled over a Kubernetes features that resolves all our problems:
spec:
  volumes:
    - name: container-registry-secret
      secret:
        secretName: user-defined-secret-of-type-dockerconfigjson
        items:
          - key: .dockerconfigjson
            path: config.json

This allows us to specify a different file name. It actually is a relative path, relative to the path defined on the volumeMount in the container.


Plugin works on browser but not on phone

I am using the Phonegap CLI to serve my project and my plugin version is: 2.3.1
So, I wrote the following code to execute after the device is ready:
 NativeStorage.getItem("abcd", function() {
     console.log("success");
     alert("success");
 }, function() {
     console.log("fail");
     alert("failed :)");
 });

This works perfectly when I am testing it on my browser. However, when I open this app on my android phone, the NativeStorage code does not work at all.
I used weinre to debug my app:
I got the error: ReferenceError: NativeStorage is not defined

I also removed the plugin and all the platforms and reinstalled them again; however, I am still getting the same error.
Can you please help me find the issue ?

See if issue #82 resolves your problem.

Closed due to inactivity. Will reopen if necessary.


Request: Add Shuffle/Repeat buttons

First off, awesome web app thank you!
I've been using this to play some of my own playlists, but I would like to be able to shuffle them or repeat tracks. That possible?
Thanks!

Thanks! I'm afraid this is unlikely, as I'm no longer maintaining this. I am working on a new project (maybe you are interested), SKQW, which is taking up my free time right now.

No worries, appreciate the response.


fix bug of train & edit_video

1.Fix bug of type dismatch for transform.Resize() in training part.
The original code would results in TypeError: img should be PIL Image. Got <class 'torch.Tensor'>.
I replace the Resize  op with F.interpolate when the image was still a Tensor so do not need to convert type TWICE.
2.Fix bug of  Normalize for transform.normalize in edit_video.py.

@mazzzystar
Hi,
I am not getting any errors with the current code, but it seems to me the errors you are describing are a result of a version issue.
The source seems to be the pytorch/torchvision packages. What versions of them are you using?

I'm using
torch=1.7.0
torchvision=0.4.1

OK if it's because of version difference, there is no need for a PR, I'll close it.


Deliminated property

Added Deliminatedproperty decorators to applicable properties, mainly in camera and laser class. Had to refactor roi in camera class. Should work but some cameras I was unfamiliar with so may need to retest

Your implementation and edits look good to me. Some forward looking and also clarifying questions:

Do we want to handle units in the DelineatedProperty as well? If so add that later down the road?
Any of the device properties that are dict based are already bounded by the keys in the dict?
We can take care of it later, but we should probably go through the existing devices and change any of the non dict properties to also use this new decorator. For example stage speed, stage acceleration, etc. When possible, we should try to auto-populate the min/max/step values from the driver. But when not possible, we add hard-coded values at the top of the device driver file in all caps?

Yes on units. Just haven't had a chance to implement. Will be very easy though
I don't know what that means exactly? I couldn't figure out a way to make the values in a dictionary each be a Deliminatedproperty if that is the question. Probably doable or we may need to create a separate descriptor to handle this.
Yes I agree. I tried to go through the asi driver, but since it is mostly just functions and not properties, it would be a little tricky/code breaking refactor

Sounds good was just checking. This sounds good.
I should have been more specific. I meant the dict keys don't need this and are already limited by whatever keys are in the dict. This new wrapper helps enforce bounded behavior for non dict properties.
Yeah no rush on this, just make sure I had a mental note of it as a future TO DO.

I am ok with merging

Yay great! I've put these todo's as issues and in the project board so we can get to them in the future


Minor refactor

Noticed a random source was being called salt which I don't think it technically is
Created a const for the AES key size.
Minor code moving around

where's the test file?

Forgot the add it. Thanks!


chore(redux): returns - rename api & provide actions with client.

Description
Changes the nomenclature of the returns actions, creates the factories for the returns actions, and provides the
respective actions with the client embedded.

BREAKING CHANGE:

Rename the action types if you use them in any custom reducer/middleware:

import { actionTypes } from "@farfetch/blackout-client/returns/redux";

// Previously
actionTypes.GET_PICKUP_CAPABILITIES_FAILURE;
actionTypes.GET_PICKUP_CAPABILITIES_REQUEST;
actionTypes.GET_PICKUP_CAPABILITIES_SUCCESS;

actionTypes.GET_REFERENCES_FAILURE;
actionTypes.GET_REFERENCES_REQUEST;
actionTypes.GET_REFERENCES_SUCCESS;

actionTypes.GET_RETURN_FAILURE;
actionTypes.GET_RETURN_REQUEST;
actionTypes.GET_RETURN_SUCCESS;

actionTypes.GET_RETURNS_FROM_ORDER_FAILURE;
actionTypes.GET_RETURNS_FROM_ORDER_REQUEST;
actionTypes.GET_RETURNS_FROM_ORDER_SUCCESS;

// Change to
actionTypes.FETCH_PICKUP_CAPABILITIES_FAILURE;
actionTypes.FETCH_PICKUP_CAPABILITIES_REQUEST;
actionTypes.FETCH_PICKUP_CAPABILITIES_SUCCESS;

actionTypes.FETCH_REFERENCES_FAILURE;
actionTypes.FETCH_REFERENCES_REQUEST;
actionTypes.FETCH_REFERENCES_SUCCESS;

actionTypes.FETCH_RETURN_FAILURE;
actionTypes.FETCH_RETURN_REQUEST;
actionTypes.FETCH_RETURN_SUCCESS;

actionTypes.FETCH_RETURNS_FROM_ORDER_FAILURE;
actionTypes.FETCH_RETURNS_FROM_ORDER_REQUEST;
actionTypes.FETCH_RETURNS_FROM_ORDER_SUCCESS;

Rename the action thunk creators:

// Previously
import {
  doCreateReturn,
  doGetReturn,
  doGetPickupCapabilities,
  doGetReferences,
  doGetReturnsFromOrder,
  doResetReturn,
  doUpdateReturn,
} from "@farfetch/blackout-redux/returns";

// Change to
import {
  createReturn,
  fetchReturn,
  fetchPickupCapabilities,
  fetchReferences,
  fetchReturnsFromOrder,
  resetReturn,
  updateReturn,
} from "@farfetch/blackout-redux/returns";

The action creators createReturn, fetchReturn,
fetchPickupCapabilities, fetchReferences, fetchReturnsFromOrder
updateReturn, were renamed and now come pre-configured with the
corresponding client from @blackout-client, so you do not need to configure
these action creators anymore if you use the default @blackout-client client provided.

// Previously
import {
  createReturn,
  fetchReturn,
  fetchPickupCapabilities,
  fetchReferences,
  fetchReturnsFromOrder,
  updateReturn,
} from '@blackout-redux/returns';
import {
  postReturn,
  getReturn,
  getPickupCapabilities,
  getReferences,
  getReturnsFromOrder,
  patchReturn,
} from '@blackout-client/returns';

const mapDispatchToProps = {
  createReturn: createReturn(postReturn),
  fetchReturn: fetchReturn(getReturn),
  (...)
};

// Change to:
import {
  createReturn,
  fetchReturn,
  (...)
} from '@blackout-redux/returns';

const mapDispatchToProps = {
  createReturn: createReturn,
  fetchReturn: fetchReturn,
  (...)
};

Dependencies
None

Checklist

[x] The commit message follows our guidelines
[x] Tests for the respective changes have been added
[x] The code is commented, particularly in hard-to-understand areas
[x] The labels and/or milestones were added

Disclaimer
By sending us your contributions, you are agreeing that your contribution is made subject to the terms of our Contributor Ownership Statement

The files should eventually be converted to typescript.

It´s already mapped and will be tackled in another pull request.


Create and use DelegatingRowSet. #117

Codecov Report

Merging #118 into master will increase coverage by 0.32%.
The diff coverage is 80%.

@@            Coverage Diff             @@
##           master     #118      +/-   ##
==========================================
+ Coverage   31.61%   31.93%   +0.32%
==========================================
  Files         126      127       +1
  Lines        1047     1049       +2
  Branches       40       40
==========================================
+ Hits          331      335       +4
+ Misses        715      713       -2
  Partials        1        1

Impacted Files
Coverage Δ

...a/org/dmfs/android/contentpal/rowsets/AllRows.java
0% <0%> (ø)
:arrow_up:

...s/android/contentpal/rowsets/DelegatingRowSet.java
100% <100%> (ø)

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 3edea33...6d489a3. Read the comment docs.


feat(bot): track messages

Merge activity

Dec 6, 2:50 AM: @ToastedDev merged this pull request with Graphite.


Refinement, Range, Normalisation

Refactored existing code in the refiner.ts file. Created refinement class and other relevant classes with appropriate functionality.
Added a Range class that represents a range (or set of segments) and a Segment class which represents an interval along with appropriate set algebra functions.

Might need to push this again once #4325 lands.

cl/289368193 passes presubmit.


up-key filtermode session does not work

filter_mode_shell_up_key_binding = "session" still applies global filter, also when explicitly set in config

shell: fish
autin: 12.0.0
setup: default (source and default config with this setting)

Do I need to set up something specific for this or did I misunderstand something?

Hey! This is currently only available if running the latest main, and is not in v12. It will be in v13, which I'd like to release pretty soon - there's just a couple things I'd like to fit into it first! Including crossterm, which landed yesterday


tests.cc-wrapper: disable static compilation macOS

macOS does not support this

Motivation for this change
Follow up to: https://github.com/NixOS/nixpkgs/pull/106908#discussion_r542491625
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

Should be safe to merge after eval.
cc @LnL7


Auto-completion for item input

Value Proposition
As a user, I want get auto-completed proposals for item input in form of clickable pop-up buttons after typing the first few letters, so that I don't need to type the full item name.
Description

Acceptance Criteria

[ ] auto-completed proposals in form of buttons shall be displayed, when typing into the input field
[ ] the item should be put on the item list after clicking a button
[ ] after clicking, the buttons should disappear and the mouse focus should switch back to the input field

Tasks

[ ] add a state for the input value
[ ] create function which checks, whether input string matches any item names in the db array and returns them
[ ] create a Button component for the auto-completions
[ ] display Button component for every of the matched items
[ ] create onClick function for a button

[ ] puts respective item on the list
[ ] removes display of the proposal buttons
[ ] focuses mouse on the input field

Is it "clickable pop-up buttons" or is it a drop down? Maybe it's not even necessary to write down what it is, because that doesn't matter to the user. For the user the only thing that matters is that it works properly and easily.

Should it only work if the user clicks the auto-completed-suggestion-button? Or is ist also possible to type in the whole word and press enter? Or press a button like :arrow_right: or add-button? There are so many possibilities, maybe it's good to implement only one of them in the beginning like you did ;-)

Is it "clickable pop-up buttons" or is it a drop down? Maybe it's not even necessary to write down what it is, because that doesn't matter to the user. For the user the only thing that matters is that it works properly and easily.

Hey,
good suggestion! I wasn't thinking of the drop down, but thats much more straight forward than listed buttons, thank you Gesa!!

Should it only work if the user clicks the auto-completed-suggestion-button? Or is ist also possible to type in the whole word and press enter? Or press a button like :arrow_right: or add-button? There are so many possibilities, maybe it's good to implement only one of them in the beginning like you did ;-)

The user shall only be able to click an available option in the drop down, because those items shall soon be linkable with item groups of respective recipes, for which every item needs to be listed in a DB. In some future feature the user will also be able to add new items to the DB.


Double-clicking on a function name also selects "Source" on the right hand side

Original reporter: mail+haddock-trac@
This is because necessary whitespace is missing in the HTML.
Fix: https://github.com/nh2/haddock/compare/fix-source-selection-accidents
Thanks

This frustrated me too.. (after copy-pasting to plain text, it made me think that some type was called "TestSource" instead of "Test", and I couldn't find any documentation on TestSource). I'd fix it (for most browsers) by adding the following CSS will help fix this:
.link {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}
it is not standard CSS, nor does such CSS exist as far as I know. It will prevent the text "Source" form being copied in Chrome (tested), and probably in Firefox/Safari/IEMicrosoft as well (according to documentation).
Sorry for not making a pull request myself for this.

If someone more versed wants to make a PR and confirm it doesn't break anything, I'm happy to take it.

Seems like this one might also be easy to tick off.

Can we please reopen this ticket?
This is still (again?) a problem in Chrome and derivatives like Brave! 🙈
PureScript has the same issue: https://github.com/purescript/purescript/pull/3002


Typo in blog post?

"Sequentialization
Consider an execution e of Streamlet and two steps s1 and s2 of two different processes p1 and p2 such that s1 occurs right before s2, s1 is a step of epoch e1, s2 is a step of epoch e2, and e2<e1. Note that the global state written by s2 is never read by s1 because a process in epoch e1 only uses information from epoch smaller or equal to e1.  [...]"
In the blog post, should e2<e1 rather be e1<e2?

Yes you are right. Thanks for reporting!


Cache

I'm not sure if this is desirable, but it may be helpful to be able to store objects for things that we don't always need up to date information for.
Need to talk its potential use-cases over and seeing exactly where it makes sense to do so.

Some more thoughts on this.
Having implemented for more of ccr's featureset, I find myself having to make many requests to get all the data I need.
This is fine, except that osu's API is annoyingly slow.
I would like to support a way to load a user, or beatmap, and related nested objects (i.e., scores) all concurrently to anticipate further calls. Perhaps this is what a cache can be used to wrap about (deep loading).
In some cases, I'm only loading the user just to get their name and profile URL. In such a case, an API call isn't really needed as this information either never, or is unlikely to change.


Monetizing using either Ad-Banners or Interstitial Ads

I'm sure lot of users want this as any designer who creates a wallpaper obviously expects more than just a donation. I think it'll be good if you implement Google admob and inside dashborad.xml, add an example string like  "Ad-Banner: xxxxxx"/Interstitial-Ad: xxxxxx" so any user who decides on putting up ads can simply edit it with their ad-unit or leave it blank if they don't want to publish their app with ads.

Okay so I just went through previous topics and seems like this has already been discussed. I shall make an effort of implementing ads by myself and publish the library for others to use. Thanks for your efforts though.

I just want the library keep clean, at the moment. If you want ads, you can modify the library by yourself.


Is there any way to get start using state-diagram with building?

I try to use state-diagram mode to visual something,but I build failed at npm install.
My node is v8.12.0

The state-diagram is just a demo. It is not designed to be used with your own code. Sorry.
You could try to hack yourself. The problem is there is no way to debug JavaScript from JavaScript. In other words there is no way to pause after each line in JavaScript
I suppose you could try to turn it into a debugging extension
Also, it doesn't show all state, specially for WebGL2. For example it doesn't show uniform buffer objects, queries, sync objects, and I'm sure a few more. It doesn't show all the different texture formats either.


Add shield to sortDataItems

Addresses extract warnings like:
Warning in Storied Harrowkin: Item type 'shield' is currently unhandled in sortDataItems. Consider adding.

Put shields just below weapons.


[PERF]: memory profiling experiments

Description of changes

create release build
open instruments
set CONFIG_PATH env var to chroma_local_config.yaml path

Summarize the changes made by this PR.

Improvements & Bug fixes

...

New functionality

...

Test plan
How are these changes tested?

[ ] Tests pass locally with pytest for python, yarn test for js, cargo test for rust

Documentation Changes
Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the docs repository?

Closing as writing benchmarks in Rust instead seems to be preferred.


Make s.object() confirm to the standard matcher(options)

Strummer matchers usually have several forms:

a canonical version which takes options, like like s.array({of: matcher, min :1})
shorthand helpers like s.array(matcher)

object is the only exception, because the canonical version is s.object(fields). This means the matcher can never have an other options. It would be a breaking change, but I suggest we should change to s.object({props: ...}), which would allow for things like
s.object({
  optional: true,     // can be null
  allowExtra: true,   // don't fail if there's additional properties to the ones below
  props: { ... }      // list of properties
})

(which would remove the need for s.objectOnly)

sounds good to me~

Could also do something like:
s.object({with: properties})

Which would kind of be read in a similar way as "object with only properties", just now it would be "object with properties" (which IMHO is much more fluent).
It is very important that we run strict comparisons by default and only allow ignoring properties if explicitly asking to do so.
:+1:

:+1: for s.object({with: properties})


[Contacts] Contacts backup

Allow to copy wallet's private contacts. As a more convenient alternative, we could consider extending of the backup / recovery function so that encrypted contacts are backed up alongside the wallet profile on the server and recovered together with the wallet address.

Backup and later restore could be done through (encrypted?) Nostr follows list event.

Might follow NIP-51


fix(erroreporting): removed notifications, added console reporting.

Removed the notifications on errors, added console messages.

@michaelkleinhenz snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1756-fabric8-planner.int.rdu2c.fabric8.io

@michaelkleinhenz snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1756-fabric8-planner.int.rdu2c.fabric8.io


"Renderbox was not laid out" error reported 31k times in Sentry

There is an issue currently eating up our monthly error budget.
https://bcc-media-sti.sentry.io/issues/5666539/?project=4507803304394832&query=is:unresolved issue.priority:[high, medium]&statsPeriod=90d&stream_index=1
Could be relevant
https://github.com/flutter/flutter/issues/83481

we see that the video bitrate is immediately reduced to the lowest quality, which probably means the video player is very small (no size)

bccm_player sets the bitrate to the lowest when you background / audio-only


Improve SAML configuration screen UX

To check the SAML configuration or update it, the user must disconnect the SAML config altogether to check or update values. This is an abysmal experience and sometimes leads to a reconfiguration of SAML just to check 1 attribute. We need to make this similar to OIDC where configuration values can be read while the connection is still active.

Bumping this up as server side changes are already merged via https://github.com/appsmithorg/appsmith-ee/pull/3768


Add an alternative to (or modify the behavior of) n in json_pack()

This is a pain point I have run into with jansson (I find most of the rest of the library to be really fantastic quality): the n specifier does not expect/consume an argument. I can come up with a bunch of reasons why this makes sense, and I am sure it is radically easier to create. However, this leads to times where adding a nullable value can become quite a pain. Namely, I have felt forced into creating large conditional blocks to correctly assign them null or another value:
if ( label_j && s->secs ) {
    new_paste = json_pack("{s:s,s:s,s:s,s:s}", "long", lid, "msg", msg,
                          "label", label, "sunset", sunset);
} else if ( label_j && !s->secs ) {
    new_paste = json_pack("{s:s,s:s,s:s,s:n}", "long", lid, "msg", msg,
                          "label", label, "sunset");
} else if ( !label_j && s->secs ) {
    new_paste = json_pack("{s:s,s:s,s:n,s:s}", "long", lid, "msg", msg,
                          "label", "sunset", sunset);
} else {
    new_paste = json_pack("{s:s,s:s,s:n,s:n}", "long", lid, "msg", msg,
                          "label", "sunset");
}

If there were, for example, a version of the n specifier that expected/consumed an argument but ignored it, I could, at least, create the specifier list in a conditional and then make only one call to json_pack():
const char * spec =  label_j &&  s->secs ? "{s:s,s:s,s:s,s:s}" :
                     label_j && !s->secs ? "{s:s,s:s,s:s,s:n}" :
                    !label_j &&  s->secs ? "{s:s,s:s,s:n,s:s}" :
                                           "{s:s,s:s,s:n,s:n}" ;
new_paste = json_pack(spec, "long", lid, "msg", msg, "label", label, "sunset", sunset);

Another alternative (perhaps even cleaner) would be to add something like the ? modifier to values to explicitly mark them as nullable, allowing the caller to pass NULL in place of a variable of the otherwise-expected type. Doing so would actually allow for the removal of a conditional entirely:
new_paste = json_pack("{s:s,s:s,s:s?,s:s?}", "long", lid, "msg", msg, "label", label, "sunset", sunset);

(assuming that label and sunset are set to NULL as they need to be).
Of course, this adds some complexity for non-string types because NULL is mostly just 0 for other types. Perhaps a first step toward doing this would be to add something like an S specifier for strings that could be null?

It is also possible that I have misread the API reference and there is some cleaner way of accomplishing what I want already; if so, please point me to where in the docs it is covered. But, as far as I can tell, this is one of the few cases where jansson is not quite as flexible as I would like.

I like the ? specifier to have nullable fields. ? would only be valid after o, O and s because they accept pointers. Technically, s#, s%, +, +# and +% also accept pointers, but how they are used probably leads to the argument always being non-NULL.

in my personal opinion, the ? specifier is the best solution here (though admittedly something like N, which would just be n but it consumes an argument while ignoring it, would also be a great step forward).
I am really glad to hear you are open to this! The initial snippet above is actually taken from one of my personal projects, the second two snippets are the pseudo-code that I would want to write.

Implemented in #270


[Parsing error] Selectors are not fully supported

The following piece of code does not parse (selector with default value only)
$vdir_mode = $env_type ? {
  default => '0755'
}

The following piece of code does not parse but should:
$toto = $titi ? {
  24 => 'abc',
}

See https://docs.puppetlabs.com/puppet/latest/reference/lang_conditional.html#case-matching-1
Also, the following piece of code is not properly parsed:
$root_group = $id ? {
 root    => 0,
}

Hi David,
The grammar is setup to match the defined syntax:
https://docs.puppetlabs.com/puppet/latest/reference/lang_conditional.html#syntax-3
As such it read this part as the selector statement:
$env_type ? {
  'dev'   => '0757',
  default => '0755'
}

The full expression you gave is then classed as an assignment (of the evaluated selector statement).
Is this not what you would expect?

My bad! My analysis of the parsing error wasn't thorough enough. Selectors are supported but not when there's only the default value. I updated the description of the issue accordingly.

@racodond This should now work as expected, can you confirm?

I confirm.


Avoid input border flickering

Changed InputDecoration border to be InputBorder.none instead of null. This avoids a weird flickering when opening the search.
See https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/input_decorator.dart#L2510

Thanks! Sorry about taking... two years.


Multiprocessing, cursor.fetcall and 'TypeError(“can't pickle pyodbc.Row objects”,)'

I am using Spyder and Python 2.7 and pyodbc module. i run a script with multiprocessing and in a method i use cursor.fetcall() to get data from a database.  Using logger i can see that it returns all the data but it shows:
MaybeEncodingError: Error sending result: '[[(Decimal('14674'), u'\u0391', u'\u03a7\u039b', 1, 101, 4256815.0, 464554.0, u'117275892689', Decimal('187143225'), Decimal('1001002488331661'), u'1.31670565', u'\u0395\u039b\u0395\u03a5\u0398. \u0392\u0395\u039d\u0399\u0396\u0395\u039b\u039f\u03a5 46'),......]]'. Reason: 'TypeError("can't pickle pyodbc.Row objects",)'
Any ideas how to solve this?

Testing pyodbc version 4.0.30, pyodbc.Row objects appear to be picklable:
rows = crsr.execute(sql).fetchall()
print(pickle.dumps(rows))

If you can't pickle a pyodbc.Row object with your setup, try converting the row to a list of simply-typed objects first, i.e.:
picklable_row = list(row).