PR #5754 also flips Classical 1 column order

Thanks for the work implementing the new Classical Concepts option!  I'm glad to report it works perfectly for Classical 2, however, having the checkbox enabled also reverses the column order for Classical 1.  When I tested it with BPOG order, I was given the instructions for G when I was B, or O when I was P, and so on.  This only occurs during Classical 1.  Classical 2 works as intended.
Demonstration: https://youtu.be/wNmS1kU8OLY
Originally posted by @DreyfussFrost in https://github.com/quisquous/cactbot/issues/5752#issuecomment-1694020061

implementing the new Classical Concepts option! I'm glad to report it works perfectly for Classical 2, however, having the checkbox enabled also reverses the column order for Classical 1. When I tested it with BPOG order, I was given the instructions for G when I was B, or O when I was P, and so on. This only occurs during Classical 1. Classical 2 works as intended.

Yeah, you're right.  There should have been a phase check on columnOrder.reverse.  Apologies for that - I'll drop a PR to fix ASAP.


gazebo_ros_pkgs: update branch for crystal

The ros2 branch will receive some breaking changes for Dashing.

Updated the devel branch in the Crystal release track of the release repository as well. https://github.com/ros2-gbp/gazebo_ros_pkgs-release/commit/8c2603746d030693b30e4afa46168ab23917b709

Thanks, @nuclearsandwich !


[Taskfile] git tag and releases

What is currently missing?
Add missing docs to dev docs
How could this be improved?
Add missing docs
Is this a feature you would work on yourself?
[X] I plan to open a pull request for this feature

Done!


[CLI] License checker for SkyWalking CLI

We don't have license checker for the SkyWalking-CLI project now, and as an Apache TLP, this is a serious problem, so anyone have experience in this please help to add a checker for this project

@kezhenxu94 This should be provided, right?

yes


[Research Hubs] Disable kernel culling when kernel is still connected

Context
This has been raised in response to a ticket https://2i2c.freshdesk.com/a/tickets/243
Proposal
On research hubs, don't kill kernels that are still "connected" but aren't actively running something.
More about the default culling configuration here deployed on 2i2c hubs👇🏼
https://infrastructure.2i2c.org/en/latest/howto/configure/culling.html#kernel-culling-configuration
Updates and actions

"Turn cull_connected to false for research hubs" (@yuvipanda's comment in https://2i2c.slack.com/archives/C028WU9PFBN/p1666983756278409)

This is superseded by recent conversations and a PR for a default culling configurable by community needs.

@damianavila which PR is that? I don't see any other conversations or PR related to kernel culling. I think there's one for setting max-age, but that's unrelated to this.

Yep, you are right!
We were discussing recent culling-related conversations and we missed the point about the kernel on this one...
I see we only extended it for the m2lines, we should extend it to other research-like hubs.
Thanks for reopening it.


M39404: Fixing typo form/for

Translator has reported possible source content issue.
Description: "form" should be "for"

Docs Build status updates of commit 7a3b305:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

project-rome-docs/includes/ios/notification-init.md
:white_check_mark:Succeeded

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

Hi @cmknox, @knicholasa , can you please merge this PR?
Thanks in advance

Looks good to me, thanks!


[Storage] Adding structured body support (for content validation)

Adds support for structured message body to Blob GET/PUT, Datalake PUT, and Fileshare GET/PUT.

Ping.


Create cpp-linter-hooks for pre-commit

Add following config to .pre-commit-config.yaml
repos:
  - repo: https://github.com/shenxianpeng/cpp-linter-hooks
    rev: v0.1.0
    hooks:
      - id: clang-format
        args: [--style=.clang-format]
      - id: clang-tidy
        args: [--checks=.clang-tidy]

Done in v0.1.0

Hi @2bndy5
Recently I create this hook used for pre-commit, as my test, and it's working now. I think we can move this repo to @cpp-linter because it's related to cpp linter.
Along with this repo, there is another repo [clang-tools-pip]h(ttps://github.com/shenxianpeng/clang-tools-pip) which is used to install clang-tools binaries with pip.
In the further we can use [clang-tools-pip]h(ttps://github.com/shenxianpeng/clang-tools-pip) to install clang-tools to replace uses: KyleMayes/install-llvm-action@v1, the only problem is there is an issue for clang-tidy-14 on Linux, which is not I can control because the binary is provided by https://github.com/muttleyxd/clang-tools-static-binaries. I want to build and pack clang-tools binaries by clang-tools-pip later.
Any questions/suggestions/contributions are appreciated.

pre-commit workflows often offer the ability to commit changes to satisfy a failing check. Would a feature like that be possible here?
 I do think this repo (and the clang-tools-pip repo) belong in the cpp-linter org.

pre-commit workflows often offer the ability to commit changes to satisfy a failing check. Would a feature like that be possible here?

Yes. here is the output when pre-commit check the commit changes failed with this hook.
I'd like the cpp-linter org could support any CI tools/plugins regarding c/c++ code formatting, etc.
OK, I am going to move this and clang-tools-pip repos to @cpp-linter org.

Transfer ownerships are done.


[NEW DEVICE] Is TanTan WiFi Plugs supported?

I have these WiFi plugs but I am not sure if this library supports them? I was told they might do.
https://www.amazon.com/TanTan-Assistant-Required-Anywhere-Upgraded/dp/B071LLWLLP

And might I suggest you try it?
In the read me is some documentation on how to check if this api works with your plugin

I see. I can try to test it. Just thought it would be easier to ask; as you might know beforehand. I need to buy some adapters before I can test them though

There are about 11000 different tuya products (reported by tuya).
I have exactly 3 of them.
It seems like these will work. But I can give you no guarantee on this.


File resource on Windows "File paths must be fully qualified, not 'c:/foo/bar' at ... "

Seems to be caused by https://github.com/rodjek/rspec-puppet/issues/192
Failures:

  1) role::bar using fact set Windows_Server-2012r2-64 should compile into a catalogue without dependency cycles
     Failure/Error: it { should compile }
       error during compilation: Parameter path failed on File[c:/inetpub/wwwroot/iisstart.htm]: File paths must be fully qualified, not 'c:/inetpub/wwwroot/iisstart.htm' at /Users/jesse/src/puppet/foo/control-repo/.onceover/etc/puppetlabs/code/environments/production/modules/iisdemo/manifests/init.pp:4
     # ./spec/classes/role__recreo_app_on_Windows_Server-2012r2-64_spec.rb:14:in `block (3 levels) in <top (required)>'

Finished in 5.06 seconds (files took 0.70679 seconds to load)

Possibly the only solution for this is to have a second onceover.yaml file for the windows roles only and run this one on a Windows build server.

Relates to #46

There's now a jira ticket for this too: https://tickets.puppetlabs.com/browse/MODULES-4287
I'm also seeing this issue with the exec resource as used by the puppetlabs/chocolatey module, you get errors like this if you try and test this on posix:
  1) role::generic_windows using fact set Windows_Server-2008r2-64 should compile into a catalogue without dependency cycles
     Failure/Error: it { should compile }
       error during compilation: Parameter creates failed on Exec[install_chocolatey_official]: creates must be a fully qualified path at /Users/jesse/src/puppet/foo-control-repo/.onceover/etc/puppetlabs/code/environments/production/modules/chocolatey/manifests/install.pp:18
     # ./spec/classes/role__generic_windows_on_Windows_Server-2008r2-64_spec.rb:15:in `block (3 levels) in <top (required)>'

We need to be able to selectively stub Puppet::Util::Platform.windows? to return true when, eg $facts['os']['family'] is windows.

Or maybe we could stub the absolute_path? function, ideally replicating the actual logic but using a different test for is windows?

https://github.com/rodjek/rspec-puppet/pull/498 should fix this, but merely using this version of rspec-puppet seems to not be enough. Not sure why.

Verified that this is fixed when using rspec-puppet 2.6.7

This is happening again with:

rspec-puppet 2.6.15
puppet 5.5.6
ruby 2.4.0

and testing the puppetlabs/chocolatey module
In my onceover pre-conditions dir I've set a fake fact for choco_install_path that the chocolatey module insists must start with a drive letter, but the exec resource in chocolatey::install then uses this path and exec resource says "no, we're on POSIX, paths begin with /". Actually the result is:
Failures:

  1) role::basic using fact set Windows_Server-2012r2-64 should compile into a catalogue without dependency cycles
     Failure/Error: it { should compile }
       error during compilation: Parameter creates failed on Exec[install_chocolatey_official]: creates must be a fully qualified path (file: /home/jreynolds/src/puppet-control/.onceover/etc/puppetlabs/code/environments/production/modules/chocolatey/manifests/install.pp, line: 18)
     # ./spec/classes/role__basic_on_Windows_Server-2012r2-64_spec.rb:20:in `block (3 levels) in <top (required)>'

Oh, ignore me. I was not using double backslashes in my spec/pre-conditions/variables.pp file. Once I changed all \ to \\ everything is golden. Ie:
$choco_install_path = 'c:\\foo\\bar\\choco.exe'
$chocolateyversion  = '<IP_ADDRESS>'


Issuer of card liveness, proof of humanity

the issuer is available at https://issuer.talao.co/liveness and in the API call for the group of vcs

@hawkbee add json

M size

That's an identity card


Document google APIs usecases.

Author the user story for this feature
As a developer, I want to have a document with described google APIs (method and structures) used in flank so further it would be helpful for preparing an adapter to Corellium API.
Describe the solution

Find all places in flank code where google APIs are used.
Prepare a list of all google API use cases, and describe them in markdown doc.

Split into two issues

Prepare FTL API commands list used in flank - 5
Correlium API research - 8

Split into two issues

DONE

Documentation created in this pull request: https://github.com/Flank/flank/pull/1588, file: docs/gcloud/google_api_usecases.md


Conditional type coerces Enum to intersection of constituents

TypeScript Version: 3.6.0-dev.20190604 (typescript@next at the time of writing this)
Search Terms:
conditional type enum intersection coercion error TS2345
Code
export enum E {
    A,
    B,
}

export interface CreatorWithInput<T> {
    (args: T): void;
}

export interface Creator {
    (): void
}

// Version A
// This works:
// export type PickCreator<T = undefined> = CreatorWithInput<T>;

// Version B
// But this does not (when T !extends undefined)
export type PickCreator<T> = T extends undefined
    ? Creator
    : CreatorWithInput<T>;

function A<T = undefined>() {
    const c = (t?: T) => { };
    return c as PickCreator<T>;
}

// Type of 'a'
// Version A: CreatorWithInput<E>
// Version B: CreatorWithInput<E.A> | CreatorWithInput<E.B>
const a = A<E>();

const b = A();

function Q(e: E) {

    a(e); // <--- Error when Version B is used (unexpected / incorrect).

    // Constraints for the problem, unrelated to the error
    // a(); // Both should error (desired)
    b(); // Version A will error (undesired). Version B will not error (desired)
}

Expected behavior:
Version B should not error on a(e).

Reading the code backwards from a(e);, it seems very logical that this should be the correct behavior.
To make this opinion more concrete, I've included Version A, which basically shows the same "path" that Version B takes in the conditional type, except that this works as expected and does not produce the error.

Actual behavior:
Version B errors on a(e) with error:
error TS2345: Argument of type 'E' is not assignable to parameter of type 'E.A & E.B'.
Playground Link
Related Issues:
Not able to find any related to this specific issue.

E is exactly the type E.A | E.B, i.e. the union of its constituents.  This is similar to how boolean is exactly the union true | false.
Because E is a union, the conditional type:
type PickCreator<T> = T extends undefined
    ? Creator
    : CreatorWithInput<T>;

...when instantiated with E, distributes to:
type PickCreatorE = CreatorWithInput<E.A> | CreatorWithInput<E.B>;

/* and therefore... */
type PickCreatorE = ((args: E.A) => void) | ((args: E.B) => void);  // ...essentially

If the only thing we know about a function is that it's of type PickCreatorE, we can only safely call it with a hypothetical argument of type E.A & E.B.  So that's where the intersection is coming from.  This is by design and is the exact mechanism that makes the ever-popular UnionToIntersection work:
// roughly:
// convert a union to a union of functions, then ask what type of argument we need in order
// to call the function-union (fun with contravariance!)
type UnionToIntersection<U> =
    (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;

To prevent the distributive behavior:
type PickCreator<T> = [T] extends [undefined]
    ? Creator
    : CreatorWithInput<T>;

Thanks!
For anyone else who finds this, here's some documentation on this:
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html
Search for "Distributive conditional types"
The reason @fatcerberus's solution works is because TypeScript will only distribute the type parameter if the checked type is "naked". So by making it not "naked", as shown above, this will prevent the conditional type from being a distributive conditional type. The relevant part of the docs:

Conditional types in which the checked type is a naked type parameter are called distributive conditional types. Distributive conditional types are automatically distributed over union types during instantiation.

because TypeScript will only distribute the type parameter if the checked type is "naked"

This the way it’s documented but the reason it works this way is actually a bit more subtle (and IMO kind of elegant): wrapping A | B in a tuple types converts a union of types into a single, indivisible type: “array of A or B” is different from “array of A or array of B” for the same reason as the herbivore/carnivore thing above (yay contravariance!)
So it’s not that TS won’t distribute over an “embellished” type parameter but simply that it can’t—as there’s only one type. :smiley:


in embedDashBoard doesn't work debug mode.

I use embedded-sdk": "^0.1.0-alpha.7", when I set flag "debugMode" in true I doesn't see any debug information in browser console.

Hi @alekssakovsky please elaborate with a description of the error, reproduction steps, version of Superset you're running, things you might have tried tor resolve the issue, etc., or we'll be forced to close this issue. Thanks!

I use embedded-sdk": "^0.1.0-alpha.7", when I set flag "debugMode" in true I doesn't see any debug information in browser console.

@alekssakovsky is this still an issue?

I guess it's not still an issue... or at least it's not getting much attention. Please feel free to try #embedding-superset on slack to find more help, or open a GitHub discussion.... or we can always revisit/reopen this report :)


use modern nodejs versions

for reference - https://nodejs.org/en/about/releases/

I definitely agree with the addition of v16, but was there a specific reason to drop v8 and v6 checks?
As long as it doesn't cause a hardship on our part, I don't think we should actively exclude testing those versions.

@ariya done


fix(versions): update Activiti/activiti-cloud-notifications-graphql versions into master

UpdateBot pushed helm dependency: common to: 1.1.20

UpdateBot commands:
updatebot push-version --kind helm common 1.1.20


[Sybase] Schema couldn't be created using UI

System information:

Operating system (distribution) and version win 10 x64
DBeaver version 7.1.0

Connection specification:

Database name and version Sybase jConnect

Describe the problem you're observing:
When trying to create New schema for Sybase - error appears.
Also, it is quite strange that Schema is called Owner in context menu.

Fixed


service_args.py downloads spec files each run

This is an issue since it runs every update_status call, we should redesign it!

Is this still an issue, you would say?
@Maharacha @jonathanudd


[Event Request] Page 609 IC Partner Card Function SetInboxDetailsCaption

Hello,
Requesting a new event publisher on page 609 - IC Partner Card
I would like to request the following publisher in Function SetInboxDetailsCaption
local procedure SetInboxDetailsCaption()
begin
    EnableInboxDetails :=
      ("Inbox Type" <> "Inbox Type"::"No IC Transfer") and
      not (("Inbox Type" = "Inbox Type"::"File Location") and EnvironmentInfo.IsSaaS);
    case "Inbox Type" of
        "Inbox Type"::Database:
            TransferTypeLbl := CompanyNameTransferTypeTxt;
        "Inbox Type"::"File Location":
            TransferTypeLbl := FolderPathTransferTypeTxt;
        "Inbox Type"::Email:
            TransferTypeLbl := EmailAddressTransferTypeTxt;
        //New Code Begin
        else
            OnSetInboxDetailsCaption(Rec, TransferTypeLbl);
        //New Code End
    end;
end;

The signature of the publisher is:
[IntegrationEvent(false,false)]
local procedure OnSetInboxDetailsCaption(Rec: Record "IC Partner"; var TransferTypeLbl: Text)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Add support for activity counter per check

This adds an 'activity counter' per check.  If enabled, the check will only run when the counter is > 0.
This change also adds an API endpoint:
/api/status-checks/<id>/activity-counter[?action=<incr|decr|reset>]

which allows a user / program to query, increment, decrement, or reset the counter for a given check.
Some caveats:

I added the activity-counter fields to the StatusCheck model.  I should see if there's a better way, by adding them to a separate table.

Update: got it tested. Enabling / disabling via activity counter works.

Wouldn't this require a salt change too?

@mahendra AFAIK it doesn't require any salt changes, but we will need to deploy it via salt:
https://confluence.team.affirm.com/display/INFRA/Deploying+Cabot
We'll also need to perform the table migrations before deploying the code.
LMK if I'm missing anything.

@elainearbaugh @mahendra I've added tests for activity counters. In doing so I refactored some of the cabotapp tests by breaking up tests_basic.py into multiple files.
Anyway, we now have (a) working activity-counter code, (b) tests passing, (c) flake8 passing.  I think this is ready, unless we want to investigate putting the activity-counter fields in a different model.  I'm not sure how to expose those fields in the view, though, as that's handled automatically (via the ModelViewSet mixin class I think).

Thanks @elainearbaugh.  I'll update the diff by breaking out the ActivityCounter model.  Also, yes, sorry for keeping the test refactor in this PR; I knew I should have broken it out.  Will do so in the future.

FYI, I changed this PR to depend on https://github.com/Affirm/cabot/pull/114 (the test code refactor).

@mahendra @elainearbaugh  I've finished updating this to:

Create a new ActivityCounter model/table.
Add an index on the StatusCheck name column.

Let me know how it looks.
Also, do you think we should also handle enforcing uniqueness in this change?  Thanks.


[MODFISTO-443] - Allow user to decrease allocation resulting in a negative available amount

Purpose
Remove the limits on decreasing allocated amount.
Approach

When fromFundId is not null and transfer type is allocation it means that decrease allocation action. Was decided to bypass the check by adding 'Allocation' type to filter in the beggining of the method

TODOS and Open Questions

Learning
MODFISTO-443
Pre-Merge Checklist:
Before merging this PR, please go through the following list and take appropriate actions.

Does this PR meet or exceed the expected quality standards?

[ ] Code coverage on new code is 80% or greater
[ ] Duplications on new code is 3% or less
[ ] There are no major code smells or security issues

Does this introduce breaking changes?

[ ] Were any API paths or methods changed, added or removed?
[ ] Were there any schema changes?
[ ] Did any of the interface versions change?
[ ] Were permissions changed, added or removed?
[ ] Are there new interface dependencies?
[ ] There are no breaking changes in this PR.

If there are breaking changes, please STOP and consider the following:

What other modules will these changes impact?
Do JIRAs exist to update the impacted modules?

[ ] If not, please create them
[ ] Do they contain the appropriate level of detail?  Which endpoints/schemas changed, etc.
[ ] Do they have all the appropriate links to blocked/related issues?

Are the JIRAs under active development?

[ ] If not, contact the project's PO and make sure they're aware of the urgency.

Do PRs exist for these changes?

[ ] If so, have they been approved?

Did you modify code to call some additional endpoints?

[ ] If so, do you check that necessary module permission added in ModuleDescriptor-template.yaml file?

Ideally, all the PRs involved in breaking changes would be merged on the same day
to avoid breaking the folio-testing environment.
Communication is paramount if that is to be achieved,
especially as the number of inter-module and inter-team dependencies increase.
While it's helpful for reviewers to help identify potential problems,
ensuring that it's safe to merge is ultimately the responsibility of the PR assignee.


quiet flags

Would make it nicer to integrate this tool in to other programs
in diffing im working around this by doing
$ export ATTR=zsh-forgit && nixpkgs-review pr 241873 -p "$ATTR" --run "echo -n 'STOREPATH=' && readlink -f ./results/$ATTR" 2>/dev/null | grep "^STOREPATH" | sed 's/STOREPATH=//'
/nix/store/qbm6v081wnj7gnzgyqyrq3zvycdfrdai-zsh-forgit-23.07.0

without the workaround
$ export ATTR=zsh-forgit && nixpkgs-review pr 241873 -p "$ATTR" --run "echo -n 'STOREPATH=' && readlink -f ./results/$ATTR"
$ git -c fetch.prune=false fetch --no-tags --force https://github.com/NixOS/nixpkgs master:refs/nixpkgs-review/0 pull/241873/head:refs/nixpkgs-review/1
$ git worktree add /home/artturin/.cache/nixpkgs-review/pr-241873-43/nixpkgs 7bc11802ed276c2d651bd4bf0dc4b0b05434e0bf
Preparing worktree (detached HEAD 7bc11802ed27)
Updating files: 100% (36047/36047), done.
HEAD is now at 7bc11802ed27 Merge pull request #238777 from ORichterSec/esdm-upstream
$ git merge --no-commit --no-ff 024afa2e99c5eb380286ee3cd86a49651d23937f
Automatic merge went well; stopped before committing as requested
$ nix build --extra-experimental-features nix-command no-url-literals --no-link --keep-going --no-allow-import-from-derivation --option build-use-sandboxrelaxed -f /home/artturin/.cache/nixpkgs-review/pr-241873-43/build.nix

Link to currently reviewing PR:
https://github.com/NixOS/nixpkgs/pull/241873

1 package built:
zsh-forgit

$ /nix/store/q6r9kwmidiy6wx1w1nf3ff0q40sfq4dg-nix-2.15.1/bin/nix-shell /home/artturin/.cache/nixpkgs-review/pr-241873-43/shell.nix --run echo -n 'STOREPATH=' && readlink -f ./results/zsh-forgit
STOREPATH=/nix/store/qbm6v081wnj7gnzgyqyrq3zvycdfrdai-zsh-forgit-23.07.0
$ git worktree prune

If you want some data in a structured way, why don't we add a flag to output them as json? Then we can send the progress to stderr and people can just void that.

If you want some data in a structured way, why don't we add a flag to output them as json? Then we can send the progress to stderr and people can just void that.

nix build has a --json so forwarding that would work

Do you just need the out paths?


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_4f9cpcn_qz/clone/recipe/meta.yaml:18: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_4f9cpcn_qz/clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_4f9cpcn_qz/clone/recipe/meta.yaml:25: missing_wheel: For pypi packages, wheel should be present in the host section
INFO: /tmp/abs_4f9cpcn_qz/clone/recipe/meta.yaml:49: invalid_url: https://git.openstack.org/cgit/openstack/debtcollector : URL domain redirect git.openstack.org ->  opendev.org
ERROR: /tmp/abs_4f9cpcn_qz/clone/recipe/meta.yaml:50: http_url: http://docs.openstack.org/developer/debtcollector/ is not https
WARNING: /tmp/abs_4f9cpcn_qz/clone/recipe/meta.yaml:50: missing_description: The recipe is missing a description
Errors were found


Calculated JP/KR skills

Currently the JP/KR skill text is the in-game stuff, convert to using calculated data.

This is finished for JP, but given the lack of consistent KR translation it won't be done for KR.


This doesn't convert: chuánran3 because chuán does not end in a tone number

The problem is if the text is partially converted right now the program looks for tone numbers.  We need to add support to match on converted initials + finals as well.

I am actually going to leave this limitation, I'll document it but it will add a lot of complexity and workarounds are easy to use.


Remove the need to annotate schema if you are not using protocol

Things are never serialized so you shouldn't need to specify all this nonsense.

Related to #14

I think this means we need a separate @Tag annotation because we still need the signal from @Widget/@LayoutModifier/@Property/@Children.


date range picker clicking and closing issue

After involving the outside-click to date range picker, it cause an issue as shown on the git above.
I investigate it a little bit and found that the date range picker element html is not updated in time so that we can not find event.target inside the picker.
Thus, the month switch click can not meet following if:
if (element[0].contains(event.target)) {return;}
Any idea or suggestion? If we remove the outside-click from date picker, we need another way of closing it.

The way md-material does it is to have a backdrop overlay and when that is clicked it will close the modal (calendars in this case) and remove the backdrop. its the same way we do with our modal directive

Then we can go to that way but I think we should include a transparent md-backdrop for closing date picker because it is odd when opening a date picker and then a subtransparent gray backdrop appears.

Oops...
well, yes if we go with that I agree.
Is there a case when you would want the datepickers open while doing operations outside them? Because if we have a overlay that will catch any click you do outside and might even have to stop event propagation

Ehm..I don't think we need it opened when doing something else(not yet in my mind). We have the start and end date on the top and they are cleared enough for user to understand on what period he/she is working on. And most of the time, date range pickers will cover part of the module, so it is unusual to work on other things and keep date picker opened during that time.

alright :)
Im guessing clicking outside then will apply the date range selected, should there be a way to close the datepicker without applying the date?

I would suggest clicking outside will only close the date range picker whether selected date changed or not. After user has changed selected date, the new date will apply immediately and he/she still needs to click outside to close the date range picker.
One thing different to date picker which could be closed after selected date changed is that we have two date pickers (from & to) in date range picker, so we can not close it on date changed.


update ort version

Update ORT version. Use master commit to enable ORT with TRT 8.0

This change is incorporated into r21.08 branch. Closing.


Application very laggy if using GPU

Hi,
we have noticed, that users with additional GPU on their PC have huge lags on our WPF .net application, which are using lottie animation..
If we remove Lottie animation from application, app works like a charm.
Have anyone noticed similar issue?

SharpDx maybe. But the bad news is SharpDx is deprecated


Fix #3379 by making the x-axis mode behave more like label mode

Not sure if this is the best way to fix this, I'm open to any suggestions but this should fix #3379. Please see the issue description for a jsfiddle with this fix applied.

This should probably have a test if possible

Looks good, but does this change preserve the work done by #2980 to fix #2922?

@simonbrunel thanks for the feedback, I wasn't sure why that was there in the first place. The problem with changes done by #2980 is that it compares by X coordinates, not by X value. If you can point me in the right direction, I can filter elements by their X value but I'm not sure what is the best way to do that to cover all chart types.

I'm not sure we should change the x-axis implementation (x coordinates) because it will break case of [x, y] data. I think your issue has more to do with the label mode which might need to be smarter and allow selecting elements with same index (label) wherever the mouse position is (intersecting or not an element). @etimberg is working on great interaction enhancements, so maybe we can include that mode?
Actually, I'm thinking we should add a new hover.intersect: boolean option which would be applicable to all mode: if true, the mode is active only if the mouse intersect an element.

@amir-hadzic I have been working on this in my interaction enhancements. Here's what you are looking for using the new index mode along with ensuring that we don't trigger on intersections.

@etimberg Oh nice, that looks like exactly what we would need. Is that on some public branch somewhere? Let me know when it's ready for some testing, I can run it through the many different chart type combinations we have.

https://github.com/chartjs/Chart.js/tree/v2.4-tooltips
Note, I'll be doing some more refactoring and there aren't any doc updates.
At the moment the available modes are: 'single', 'label', 'dataset', 'x-axis'. they behave like before
New modes are

'index' (same as label but clearer name)
'point' (all items under the point)
'nearest' (nearest item)

All modes also support a configurable intersect parameter
options: {
  hover: {
    mode: 'index',
    intersect: true // only triggers the mode when you intersect an element
  }
}

In your case you want
options: {
  tooltips: {
    mode: 'index',
    intersect: false
  }
}

Closing as similar work was done in #3400


Openstack support

PR was WIP for some time but is currently (Jan 2023) in limbo: https://github.com/kubernetes-sigs/cluster-api-provider-openstack/issues/1261

Good.

You can use  clusterConfiguration.imageRepository directly

Ansible does AFAIK. Did You try to escape it somehow?

We also need to fix image-builder to pass OEM_ID to ansible (https://github.com/kubernetes-sigs/image-builder/blob/master/images/capi/packer/config/ansible-args.json).

Ansible does AFAIK. Did You try to escape it somehow?

It's cloud-init, so far we've solved this in a platform specific way in the template for each provider. AWS: https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/templates/cluster-template-flatcar.yaml#L43-L78, Vsphere: https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/blob/main/templates/cluster-template-ignition.yaml#L137-L208, Azure: https://github.com/kubernetes-sigs/cluster-api-provider-azure/blob/4d9a2933fe1ec3e5dc5b1e8e78e4baf32ca38301/templates/cluster-template-flatcar.yaml#L116-L136.
I actually don't quite remember why this is necessary. It might have been because the system hostname gets set too late for kubeadm on some platforms OR because it's not a fqdn when it should be.

Do you use the plain image or https://stable.release.flatcar-linux.net/amd64-usr/current/flatcar_production_openstack_image.img.gz?

I am not familiar with Flatpak in detail, but isn't possible to use Afterburn and AFTERBURN_OPENSTACK_HOSTNAME ENV here?

We have something to set it: https://github.com/flatcar/bootengine/blob/9b63fc4e01c1f615c2e24c5887736df3b51279b8/dracut/30ignition/flatcar-openstack-hostname.service

What should we do from now? Add documentation somewhere?

Regarding images, I wonder if we should add a separate target in image-builder for building Openstack images with whatever required openstack-specific configuration, similarly to other platforms?
Regarding oem_ID, I see this PR: https://github.com/kubernetes-sigs/image-builder/pull/966/files.
Regarding -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa, this should no longer be needed since https://github.com/kubernetes-sigs/image-builder/pull/1035 is merged now.
Regarding the templates, I think it would be nice to have them in https://github.com/kubernetes-sigs/cluster-api-provider-openstack/tree/main/templates, with or without e2e tests, depending on what maintainers require.
In general, I was wondering whether it would make sense to have a page in Flatcar documentation about Cluster API, even if just with references to documentation of specific providers. Perhaps that would help discover Flatcar+CAPI combination for users.


🐛 [APP CHECK] Token retrieved "eyJlcnJvciI6IlVOS05PV05fRVJST1IifQ==" with payload: {"error":"UNKNOWN_ERROR"} on rooted device

Bug report
Describe the bug
On OnePlus 6T, real device, accessible for testing via browserstack.com, with latest Play Services and Play Store,
with flutter app installed via Google Play store, signed by playstore is always constantly retrieving this app check token: "eyJlcnJvciI6IlVOS05PV05fRVJST1IifQ==" > payload: {"error":"UNKNOWN_ERROR"}
We tried to change default provider from Play Integrity to Safetynet. No change.
Flutter app is able to retrieve the token on other devices without problems.
Flutter app is using latest version of Flutter and all Firebase packages available in November 2022.
Device has installed latest version for Play Services and Google Play (33.4.09-21 [0] [PR] 491412449, 22.45.17<PHONE_NUMBER>20723)).
Example is not needed, because it never works on this device with Flutter Firebase App Check.
If any Play Integrity app tested on this OnePlus 6T device, it shows result that the device does not meet any integrity checks.
DESIRED BEHAVIOUR: App Check should retrieve valid app check token and only server would find out that this device is failing all the checks.
Steps to reproduce
Steps to reproduce the behavior:

Go to browserstack.com
Open OnePlus 6T device
Install your test Flutter app using App Check token
See error in your app that the token is "eyJlcnJvciI6IlVOS05PV05fRVJST1IifQ==" with payload: {"error":"UNKNOWN_ERROR"}

Expected behavior
App Check should retrieve valid app check token even if running on rooted device. Only server would find out that this device is failing all the checks.
Sample project
Example is not needed, because it never works on this device with Flutter Firebase App Check.
Additional context
Add any other context about the problem here.

Flutter doctor
PASTE OUTPUT INSIDE HERE

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Flutter app is using latest version of Flutter and all Firebase packages available in November 2022.
Click To Expand
PASTE OUTPUT INSIDE HERE

Thanks for the report @venzeo
Since this seems to be only happening on the said device, I suggest you to reach out to firebase support for further resolution, because I don't think this is actionable from client side, and does not do anything specific to device, so please reach out to firebase support.
Closing from here.

@darshankawar the token "eyJlcnJvciI6IlVOS05PV05fRVJST1IifQ==" is retrieved on multiple devices, also in some cases on genuine Samsung Fold 4. But on those devices it somehow "recovers" and eventually gets a good token. But later it again gets the ERROR token. But on this device OnePlus mentioned above it's consistent.

Same thing here. It has happened on two not-rooted, not related devices. On one of which it actually worked yesterday. The second one has been used to test something just today.
It also doesn't work in debug mode.  Not even the debug token is generated.
Both are android devices.

It also doesn't work in debug mode. Not even the debug token is generated.
Both are android devices.

@Flajt Check below issues and see if they help in your case:
https://github.com/firebase/flutterfire/issues/9291
https://github.com/firebase/flutterfire/issues/9060

I've managed to get the app check token back, tho it sometimes is not shown on real devices.
However, I've managed to also display it in an emulator. Still regardless of being a debug build, or a release build on a real or virtual device I get this token... I will try one other (real) device. If that doesn't work I will try it with a new firebase project.
I report back what happened.

I've ended up recreating the firebase project for now it works on android. I still have to test ios.
Kinda odd as I fear it might pop up in the future and crash the whole app.
I will edit this post if it works on ios as well.


add production payframe url

I think we should consider refactoring the logic that is like this (changing URLs based on env) soon. Here's a similar case: https://github.com/plated/vantiv-ruby/blob/76edaf0c303a4d8b3d35252da59536ac3b48822e/lib/vantiv/api/request.rb#L50-L56. Maybe pushing the conditional url changing into vantiv.rb or something. But I think that this is fine for now. 👍


ci: refactor workflows

Description
Mainly small changes and a whole re-write to validate.yaml

@NoamGaash Can you merge? Auto-merging is blocked because I removed two required tests

Oh, right! Missed that. I'll make validate/local-tests required instead of lint and test-unit, as it contains both

Oh, right! Missed that. I'll make validate/local-tests required instead of lint and test-unit, as it contains both

I think you should just make all-passed required instead of test, build and local-tests


Please keep extended_image and extended_image_library in sync

Current the master branch pub spec is referring to  2.1.0 if extended_image_library although the latest release extended_image_library: ^2.0.2

master branch has some changes not already， please use pub version

done


Refactor Aggregation classes and test cases

Purpose
$subject
Documentation
N/A
Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? yes
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

Codecov Report

Merging #1324 into master will increase coverage by 0.06%.
The diff coverage is 84.03%.

@@             Coverage Diff             @@
##             master   #1324      +/-   ##
===========================================
+ Coverage     62.64%   62.7%   +0.06%
  Complexity       37      37
===========================================
  Files           624     624
  Lines         25680   25658      -22
  Branches       4035    4038       +3
===========================================
+ Hits          16088   16090       +2
+ Misses         8283    8260      -23
+ Partials       1309    1308       -1

Impacted Files
Coverage Δ
Complexity Δ

...main/java/io/siddhi/core/util/SiddhiConstants.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...o/siddhi/core/aggregation/IncrementalExecutor.java
80.31% <100%> (+3.44%)
0 <0> (ø)
:arrow_down:

...re/aggregation/OutOfOrderEventsDataAggregator.java
85.5% <100%> (ø)
0 <0> (?)

...siddhi/core/aggregation/IncrementalDataPurger.java
82.23% <100%> (ø)
0 <0> (?)

...e/aggregation/IncrementalAggregationProcessor.java
69.23% <100%> (-0.77%)
0 <0> (ø)

...hi/core/aggregation/BaseIncrementalValueStore.java
62.83% <63.63%> (+5.9%)
0 <0> (ø)
:arrow_down:

...e/aggregation/IncrementalExecutorsInitialiser.java
51.94% <70%> (ø)
0 <0> (?)

.../io/siddhi/core/util/parser/AggregationParser.java
75.68% <76.86%> (+1.09%)
0 <0> (ø)
:arrow_down:

...hi/core/aggregation/IncrementalDataAggregator.java
83.95% <83.33%> (+0.61%)
0 <0> (ø)
:arrow_down:

...operator/IncrementalAggregateCompileCondition.java
78.33% <92.59%> (+0.07%)
0 <0> (ø)
:arrow_down:

... and 4 more

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 89030ae...17c1a01. Read the comment docs.


chore: release main

:robot: I have created a release beep boop
ui5-cc-spreadsheetimporter: 0.25.4
0.25.4 (2023-09-28)
Bug Fixes

template generation in standalone mode (#368) (c0af0d9)

ui5-cc-spreadsheetimporter-button: 0.11.4
Dependencies

The following workspace dependencies were updated

dependencies

ui5-cc-spreadsheetimporter bumped to 0.25.4

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/marianfoo/ui5-cc-spreadsheetimporter/releases/tag/ui5-cc-spreadsheetimporter-v0.25.4 :sunflower:

:robot: Release is at https://github.com/marianfoo/ui5-cc-spreadsheetimporter/releases/tag/ui5-cc-spreadsheetimporter-button-v0.11.4 :sunflower:


Re-running ddev config replaces settings.ddev.php

Describe the bug
I'm not positive if this is a by-design behaviour with a misleading comment, or if the comment is right and this isn't supposed to happen.

The comment in settings.ddev.php says that the file will not be overwritten or deleted if the #ddev-generated comment is removed.
Re-running ddev config (e.g. as is required after updating ddev) causes the file to be replaced.

To Reproduce

Run ddev config in a new Drupal site.
Remove the comment in docroot/sites/default/settings.ddev.php.
Re-run ddev config

Expected behavior
The file is not replaced/altered.
Screenshots
Version and configuration information (please complete the following information):

Host computer OS and Version: macOS High Sierra

Docker version information
 Client: Docker Engine - Community
  Version:           18.09.0
  API version:       1.39
  Go version:        go1.10.4
  Git commit:        4d60db4
  Built:             Wed Nov  7 00:47:43 2018
  OS/Arch:           darwin/amd64
  Experimental:      false

 Server: Docker Engine - Community
  Engine:
   Version:          18.09.0
   API version:      1.39 (minimum version 1.12)
   Go version:       go1.10.4
   Git commit:       4d60db4
   Built:            Wed Nov  7 00:55:00 2018
   OS/Arch:          linux/amd64
   Experimental:     true

ddev version information
   db            	drud/ddev-dbserver:v1.4.0
   router        	drud/ddev-router:v1.4.0
   ddev-ssh-agent	drud/ddev-ssh-agent:v1.4.0
   domain        	ddev.local
   cli           	v1.4.0
   web           	drud/ddev-webserver:v1.4.0
   dba           	drud/phpmyadmin:v1.4.0
   commit        	v1.4.0

config.yaml contents for the misbehaving project

 APIVersion: v1.4.0
 name: ddev-bug
 type: drupal8
 docroot: web
 php_version: "7.1"
 webserver_type: nginx-fpm
 router_http_port: "80"
 router_https_port: "443"
 xdebug_enabled: false
 additional_hostnames: []
 additional_fqdns: []
 provider: default

 # This config.yaml was created with ddev version v1.4.0
 # webimage: drud/ddev-webserver:v1.4.0
 # dbimage: drud/ddev-dbserver:v1.4.0
 # dbaimage: drud/phpmyadmin:v1.4.0
 # However we do not recommend explicitly wiring these images into the
 # config.yaml as they may break future versions of ddev.
 # You can update this config.yaml using 'ddev config'.

 # Key features of ddev's config.yaml:

 # name: <projectname> # Name of the project, automatically provides
 #   http://projectname.ddev.local and https://projectname.ddev.local

 # type: <projecttype>  # drupal6/7/8, backdrop, typo3, wordpress, php

 # docroot: <relative_path> # Relative path to the directory containing index.php.

 # php_version: "7.1"  # PHP version to use, "5.6", "7.0", "7.1", "7.2"

 # You can explicitly specify the webimage, dbimage, dbaimage lines but this
 # is not recommended, as the images are often closely tied to ddev's' behavior,
 # so this can break upgrades.

 # webimage: <docker_image>  # nginx/php docker image.
 # dbimage: <docker_image>  # mariadb docker image.
 # dbaimage: <docker_image>

 # router_http_port: <port>  # Port to be used for http (defaults to port 80)
 # router_https_port: <port> # Port for https (defaults to 443)

 # xdebug_enabled: false  # Set to true to enable xdebug and "ddev start" or "ddev restart"

 # webserver_type: nginx-fpm  # Can be set to apache-fpm or apache-cgi as well

 # additional_hostnames:
 #  - somename
 #  - someothername
 # would provide http and https URLs for "somename.ddev.local"
 # and "someothername.ddev.local".

 # additional_fqdns:
 #  - example.com
 #  - sub1.example.com
 # would provide http and https URLs for "example.com" and "sub1.example.com"
 # Please take care with this because it can cause great confusion.

 # upload_dir: custom/upload/dir
 # would set the destination path for ddev import-files to custom/upload/dir.

 # working_dir:
 #   web: /var/www/html
 #   db: /home
 # would set the default working directory for the web and db services.
 # These values specify the destination directory for ddev ssh and the
 # directory in which commands passed into ddev exec are run.

 # omit_containers: ["dba", "ddev-ssh-agent"]
 # would omit the dba (phpMyAdmin) and ddev-ssh-agent containers. Currently
 # only those two containers can be omitted here.

 # provider: default # Currently either "default" or "pantheon"
 #
 # Many ddev commands can be extended to run tasks after the ddev command is
 # executed.
 # See https://ddev.readthedocs.io/en/stable/users/extending-commands/ for more
 # information on the commands that can be extended and the tasks you can define
 # for them. Example:
 #hooks:
 # post-import-db:
 #   - exec: drush cr
 #   - exec: drush updb

Do you have any custom configuration (nginx, php, mysql) in the .ddev folder? If so, have you tried without them?

No custom config.

Additional context
I've attached a shell script to demo the issue. Remove the .txt extension, make executable and run:

➜ rm -rf ddev-bug/ && ./ddev-bug.sh

Starting demo.

Cloning Drupal...

Running ddev setup...

Removing comment...

The '#ddev-managed' comment is gone!

<?php

$databases['default']['default'] = array(
  'database' => "db",
  'username' => "db",
  'password' => "db",
  'host' => "db",
  'driver' => "mysql",
  'port' => 3306,

Re-running ddev setup...

The '#ddev-managed' comment is back!

<?php

/**
 #ddev-generated: Automatically generated Drupal settings file.
 ddev manages this file and may delete or overwrite the file unless this comment is removed.
 */

$databases['default']['default'] = array(
  'database' => "db",
  'username' => "db",

Demo complete.

ddev-bug.sh.txt

Yeah, I confirm this inappropriate behavior.  For your work though, we don't ever recommend fiddling with settings.ddev.php, use settings.local.php instead. We'll get this fixed though. Probably that comment at the top should say something stronger as well.


Should this conceptually give the same result as coin-or ipopt?

So I have defined the following problem:
   sleipnir::OptimizationProblem problem;
   auto x = problem.DecisionVariable((int)in.system_matrix.cols());

   problem.SubjectTo(x >= 0);
   //problem.SubjectTo(x < 1);
   auto cost_vec_f = in.system_matrix*x-in.measurement;
   auto f = sleipnir::sqrt(cost_vec_f*cost_vec_f);  // Should really be cost_vec_f.norm()
   problem.Minimize(f);

   problem.Solve({.tolerance=1E-10,.maxIterations = 100000,.diagnostics = true});

In ipopt I have:
   f_vec = (in.system_matrix * x - in.measurement).eval();
   norm = f_vec.norm();

where norm is the cost.
While ipopt and a manually implemented barrier + fminsearch in matlab give similar results sleipnir seems not to converge to a meaningful solution.
Did I do something wrong in defining the problem or is sleipnir not useful for constraints which are too simple ?

I suggest using a sum of squares cost function instead of a norm cost function.
The square root in a norm (square root of sum of squares) cost function is nonlinear so the Hessian changes over time and needs to be recomputed (takes longer). Furthermore, the Hessian can become ill-conditioned, which is harder for the solver to deal with. For example, the Hessian of sqrt(x²+y²) is this: https://www.wolframalpha.com/input?i=hessian+of+sqrt(x^2%2By^2) with the eigenvalues [0, 1/sqrt(x²+y²)].
A squared norm (sum of squares) cost function is quadratic. Since your constraints are linear, the Hessian would be constant. For example, the Hessian of x²+y² is [2, 0; 0, 2] with the eigenvalues [2, 2].
By the way, the diagnostic prints from setting the diagnostics flag to true will tell you the linearity of your cost function and constraints. Here's some relevant docs on optimizing your problem formulation: https://sleipnirgroup.github.io/Sleipnir/classsleipnir_1_1OptimizationProblem.html#autotoc_md22

I suggest using a sum of squares cost function instead of a norm cost function.

Doesn't change the fact that sleipnir is not getting the correct answer. (i tested it with either)
Also unless you point me to some source discussing the benefits and drawbacks from a numerical instead of a mathematical perspective I rather stay with the normal norm.
ipopt gets the solution in ~30 iterations. sleipnir claims to find it 4 iterations but actually fails to find it and gives a more or less constant solution across all vars. Even having a smaller tolerance doesn'T really change that.
Is there a way to control the start point  sleipnir uses?

Could you provide some sample data and the system matrix so the problem can be reproduced?

Is there a way to control the start point sleipnir uses?

Yes. Assign constants to the decision variables like this:
sleipnir::OptimizationProblem problem;

auto x = problem.DecisionVariable();
x = x0;
auto y = problem.DecisionVariable();
y = y0;

problem.Minimize(sleipnir::pow(1 - x, 2) +
                 100 * sleipnir::pow(y - sleipnir::pow(x, 2), 2));

problem.SubjectTo(sleipnir::pow(x, 2) + sleipnir::pow(y, 2) <= 2);

Could you provide some sample data and the system matrix so the problem can be reproduced?

I have it in hdf5 format if you can read it:
https://github.com/Neumann-A/mpi-ipopt-reco/blob/main/data/in.h5
the expected result is the vector stored in
https://github.com/Neumann-A/mpi-ipopt-reco/blob/main/data/out.h5

Yes. Assign constants to the decision variables like this:

Hmm should that error?
   auto x = problem.DecisionVariable((int)in.system_matrix.cols());
   Eigen::VectorXd x0(in.measurement.size());
   x0.setConstant(std::numeric_limits<double>::epsilon()).eval();  //eval() just to make sure Eigen evaluates it. It crashes either way.
   x = x0;

gets me:
WARNING: E:\b\sleipnir\src\e02a33095c-d8b3829161.clean\src\autodiff\Variable.cpp:32: Modified the value of a dependent variable
Exception thrown at 0x00007FF685166259 in mpi-ipopt-reco-sleipnir.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.

Is that repo private? I can't access those HDF5 files.

Hmm should that error?

No. Looking into it.

If it hasn't already become apparent, Sleipnir is a new project that hasn't yet seen production use.

Is that repo private? I can't access those HDF5 files.

always forgot about that.. here is the data zipped in csv format.
data.zip

If it hasn't already become apparent, Sleipnir is a new project that hasn't yet seen production use.

I just stumbled across this library from the eigen3 discord so I thought I give it a try since it uses Eigen3 itself and I don't have to use the Eigen::Map dance required for ipopt ;). AD than was just a bonus.

result.txt
forgot to also give the ipopt output result.

If you want a similar API to Sleipnir but something that actually works, consider CasADi's optistack API with the ipopt backend.
CasADi has slow solver startup times, 10x slower solver iterations, and Fortran dependencies that make it hard to cross compile, but those may not be issues for you if you're just on desktop. Their Python bindings work fine on Windows, macOS, and Linux; and they also work on Raspberry Pi as far as I know if you have a Fortran compiler for pip to use.

   auto x = problem.DecisionVariable((int)in.system_matrix.cols());
   Eigen::VectorXd x0(in.measurement.size());
   x0.setConstant(std::numeric_limits<double>::epsilon()).eval();  //eval() just to make sure Eigen evaluates it. It crashes either way.
   x = x0;

Looks like we need operator= overloads for dynamic Eigen matrices in addition to the static Eigen matrix overloads we already have.

EDIT: Should be fixed by https://github.com/SleipnirGroup/Sleipnir/pull/85.

still:
Exception thrown at 0x00007FF6261562B9 in mpi-ipopt-reco-sleipnir.exe: 0xC0000005: Access violation reading location 0x0000000000000050.
Not fixed. Nullptr exception in Variable.cpp at line 29. this->expr is nullptr

I wasn't saying all problems in this issue were fixed. I was saying the dynamic Eigen matrix assignment in the given snippet was fixed.

Nullptr exception in Variable.cpp at line 29. this->expr is nullptr

Could you provide a backtrace?

   auto x = problem.DecisionVariable((int)in.system_matrix.cols());
   Eigen::VectorXd x0(in.measurement.size());

The assignment of x0 to x will only work here if in.system_matrix.cols() == in.measurement.size(). Is that the case?

I wasn't saying all problems in this issue were fixed. I was saying the dynamic Eigen matrix assignment in the given snippet was fixed. The access violation is a separate thing.

So are you saying  x = x0; should work or not? Because that is the line throwing ;)

There's unit tests now that check assignment of a dynamic matrix, and it works without crashing.

Ah my error. Changed it to also use in.system_matrix.cols()

In the Sleipnir code in the original post (case 1), the following line doesn't actually compute the norm as a 1x1 cost function:
   auto f = sleipnir::sqrt(cost_vec_f*cost_vec_f);  // Should really be cost_vec_f.norm()

If cost_vec_f is a column vector, then f needs to be (case 2):
   auto f = sleipnir::sqrt(cost_vec_f.T()*cost_vec_f);

In case 1, decltype(f) is VariableMatrix and Minimize() takes Variable, but we can't catch this at compile time because we need implicit conversion to Variable to work for convenience (spamming (0) on the end of multiplications is annoying). We could catch it at runtime with a Minimize() overload for VariableMatrix that complains if the argument isn't 1x1.


Visual Studio 2019 Dark/Light color themes missing in remote WSL

VSCode Version:  1.48.0-insider and 1.47.3
OS Version: Windows_NT x64 10.0.19041

Steps to Reproduce:

Open VSCode locally and select "Visual Studio 2019 Dark" or "Visual Studio 2019 Light" color theme
Open VSCode in WSL and check the color theme list: "Visual Studio 2019 Dark" or "Visual Studio 2019 Light" themes are not available

Does this issue occur when all extensions are disabled?: The reproduction of this bug requires at least the remote extensions. However, with all extensions uninstalled/disabled (except for the Remote Development) the bug still exists.
There are no errors in the Dev Tools Console.
The attached image shows the list of available color themes when in WSL development mode. The "Visual Studio 2019 Dark" or "Visual Studio 2019 Light" themes are missing from the list.

"Visual Studio 2019 Dark" or "Visual Studio 2019 Light" come from an extesnsion. Which extension is that?
Can you check that the extension is installed in the WSL window as well?

That's the problem, these themes come from the C# extension while I was somehow sure they were default themes. So everything is fine, I am closing this issue.


removed the arm warning for Macs from the readme

This warning in the readme is obsolete - the tool now (since the .NET 8 version) works well on ARM Macs.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 59.66%. Comparing base (ca290a7) to head (718cd4f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #546      +/-   ##
==========================================
- Coverage   59.70%   59.66%   -0.04%
==========================================
  Files         248      248
  Lines        7575     7575
  Branches      901      901
==========================================
- Hits         4523     4520       -3
- Misses       2639     2642       +3
  Partials      413      413

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Interaction claims are linked to an interaction claim view, which is broken

E.g. on this page: http://localhost:3000/interactions/c1d6f2d8-56ff-4420-b909-6c902ab19b2f#_claims. The box for the interaction claim is a link to the interaction claim view, which is currently broken. This link should be removed and we shouldn't have a view for an individual interaction claim.

This is fine now, correct?

Yes, we're currently not linking to the interaction claim view. However, we will, at some point, wish to fix this and restore these links. With the removal of links to the interaction claims, this is no longer a high-priority issue.


Analytical approximation for a spread-option price under Black-Scholes

Spread-options are particularly popular in commodity markets. A simple Kirk's approximation for European spread-option price under Black-Scholes model is of interest.
The module implementing this method should live under tf_quant_finance/volatility/spread_option.py. It should support both puts and calls. Tests should be in spread_option_test.py in the same folder.

@cyrilchim May I work on this issue?

@gmxq: Thank you for reaching out. I'm assigning the issue to you. Please let us know if you have any questions.

@gmxq Are you still working on this issue?

Hi yes, I will submit it shortly. Sorry for the delay here.

Hi, is this issue still open?

I don't think this was ever finished. @gmxq, was there any progress?

Sorry I dont have progress on this. I unassigned myself. Feel free to take it over.

Hi @cyrilchim, is this issue still open? If yes, I would like to work on it.

Yeap, this is now assigned!

Hi @cyrilchim I have made a PR with a solution proposal


Implement existing Time operations in Python lib

As a new iteration of Kaskada written in Python, I want to add functional and aggregation parity with the existing Kaskada service so that I can enable a transition story from existing users of Kaskada.

Tick Fuctions

[ ] daily
[ ] hourly
[ ] minutely
[ ] montly
[ ] yearly

Time Functions

[ ] add_time
[ ] day_of_month
[ ] day_of_month0
[ ] day_of_year
[ ] day_of_year0
[ ] days
[ ] days_between
[ ] month_of_year
[ ] month_of_year0
[ ] months
[ ] months_between
[ ] seconds
[ ] seconds_between
[ ] when
[ ] year


PVC storageClass & sizeLimit aren't exposed when deploying spark executors with dedicated PVCs

In order to deploy PVC with every spark executor, it is needed to use multiple configurations mentioned in spark documentation -
From spark documentation, these are the needed configurations to use when setting a volume as local storage -
spark.kubernetes.executor.volumes.persistentVolumeClaim.spark-local-dir-1.options.claimName=OnDemand
spark.kubernetes.executor.volumes.persistentVolumeClaim.spark-local-dir-1.options.storageClass=gp
spark.kubernetes.executor.volumes.persistentVolumeClaim.spark-local-dir-1.options.sizeLimit=500Gi
spark.kubernetes.executor.volumes.persistentVolumeClaim.spark-local-dir-1.mount.path=/data
spark.kubernetes.executor.volumes.persistentVolumeClaim.spark-local-dir-1.mount.readOnly=false

currently, spark operator only allows the following -
spec:
  volumes:
    - name: "spark-local-dir-1"
      persistentVolumeClaim:
        claimName: network-file-storage
  executor:
    volumeMounts:
      - name: "spark-local-dir-1"
        mountPath: "/tmp/dir1"

And there is no way to pass the further ones(storageClass, sizeLimit, readOnly)
My own solution was to add these missing values directly on the spark session in my application’s code

@orsagiv94 were you able to mount pvc on the executor with above configurations (especially onDemand claim) using sparkOperator, we get "unable to create directory under the mount path /data" error.
we see the pvc has been mounted onto the executor and SPARK_LOCAL_DIRS points to it. Did you have to make any other changes ? (for ex: any changes in the spark image you use, such as the UID of the image ?)
Thanks in advance.

Hey @Nagarajj,
actually, we didn't mount it to "/data" path as described in spark docs.
instead, we used the second code example where the mount path is "/tmp/dir1"
and the only further configurations that we had to manually push to spark session options were -

sizeLimit
storageClass
readOnly

@orsagiv94 were you able to mount pvc on the executor with above configurations (especially onDemand claim) using sparkOperator, we get "unable to create directory under the mount path /data" error.
we see the pvc has been mounted onto the executor and SPARK_LOCAL_DIRS points to it. Did you have to make any other changes ? (for ex: any changes in the spark image you use, such as the UID in the image ?)
Thanks in advance.

Hi, I'm suffering from the same issue. On AWS, trying to get the SPARK_EXECUTOR_DIRS to point to an OnDemand PVCs dynamically created (as described here). The issue is that the executor pod is running on UID 185 and GID 0 but the mounted PVC is owned by root, without write permissions for a user with gid 0.
See that the authors do try to go around the issue by adding the creation of the mount directory and chmodding/chowning it to 185:0 which is the user ID of the spark executor process. Nevertheless, when running the actual spark job I see that the PVC is mounted as root:root (which is the source of the error - the internal directory for the spill data cannot be created due to uid 185 has no permission there).
In an attempt to go around that and tried to pass a securityContext to the executors and force the FsGroup=185 and I see that securityContext was not applied in the pod even though it was requested in the sparkApp.
Reading around, I did not find much in the subject. Only a few reports that people switched back to running their spark jobs as user root, which "solves" the issue.
Please let us know if you get around this issue.

Hi, We have also been having an issue implementing dynamic PVC per executor on k8s.  The documentation here is good, however as @itamar-otonomo points out there are issues with the chown/chmod commands.
Adding a podSecurityContext to the executor will remedy this issue on mount. e.g.
  executor:
    podSecurityContext:
      fsGroup: 185
      fsGroupChangePolicy: "OnRootMismatch"

This has been tested on K8s 1.20.  fsGroupChangePolicy is not available prior to k8s 1.20
Full spec for reference:
apiVersion: sparkoperator.k8s.io/v1beta2
kind: SparkApplication
metadata:
  name: pyspark-pi-test
  namespace: default
spec:
  driver:
    coreLimit: 1200m
    cores: 1
    labels:
      version: 3.1.1
    memory: 512m
    serviceAccount: spark
  executor:
    podSecurityContext:
      fsGroup: 185
      fsGroupChangePolicy: "OnRootMismatch"
    cores: 1
    instances: 1
    memory: 512m
    envVars:
      SPARK_EXECUTOR_DIRS: /tmp/data
  image: gcr.io/spark-operator/spark-py:v3.1.1
  imagePullPolicy: Always
  mainApplicationFile: local:///opt/spark/examples/src/main/python/pi.py
  mode: cluster
  pythonVersion: "3"
  sparkConf:
     spark.kubernetes.executor.volumes.persistentVolumeClaim.data.options.claimName: "OnDemand"
     spark.kubernetes.executor.volumes.persistentVolumeClaim.data.options.storageClass: "gp2"
     spark.kubernetes.executor.volumes.persistentVolumeClaim.data.options.sizeLimit: "500Gi"
     spark.kubernetes.executor.volumes.persistentVolumeClaim.data.mount.path: "/tmp/data"
     spark.kubernetes.executor.volumes.persistentVolumeClaim.data.mount.readOnly: "false"
  restartPolicy:
    onFailureRetries: 3
    onFailureRetryInterval: 10
    onSubmissionFailureRetries: 5
    onSubmissionFailureRetryInterval: 20
    type: OnFailure
  sparkVersion: 3.1.1
  type: Python

@dskatz I am also facing the same issue of Failed to create temp directory while using spark jobs to have Dynamic PVC for Scratch space. Tired your approach using fsGroupChangePolicy but fsGroupChangePolicy doesnt exists on spark operator.
Error:
error: error validating "pi-pysparkapplication-simple.yaml": error validating data: ValidationError(SparkApplication.spec.executor.podSecurityContext): unknown field "fsGroupChangePolicy" in io.k8s.sparkoperator.v1beta2.SparkApplication.spec.executor.podSecurityContext; if you choose to ignore these errors, turn validation off with --validate=false
 # kubectl explain SparkApplication.spec.executor.podSecurityContext
KIND:     SparkApplication
VERSION:  sparkoperator.k8s.io/v1beta2
RESOURCE: podSecurityContext <Object>
DESCRIPTION:
     <empty>
FIELDS:
   fsGroup	<integer>
   runAsGroup	<integer>
   runAsNonRoot	<boolean>
   runAsUser	<integer>
   seLinuxOptions	<Object>
   supplementalGroups	<[]integer>
   sysctls	<[]Object>
   windowsOptions	<Object>

Hi @dskatz , @itamar-otonomo @abhiramum , I am also facing issue while mounting existing PVC's to executor pods for data read, our pods are not coming up because of timeout issue in mounting caused due to chwon/chmod operation. As you guys discussed, solution for this is to add fsGroupChangePolicy: "OnRootMismatch"  but again as you mentioned its not present into CRD. Could you guys able to resolve it or any workaround to mitigate this ?
you help will be much appreciated to resolve it... Thanks

I think @ChenYi015 added fsGroupPolicy in 1.4.5 with https://github.com/kubeflow/spark-operator/commit/779ea3debc7885f422a759e6cac6cbcd466c8e5c

but that did not fix this issue 😓


css not saved to separate css file on deploy & compile?

I noticed that when running npm run deploy and npm run compile that the project's styles get put into the app.js bundle. Wouldn't writing it out to a dedicated style.css file help with browser rendering as well as browser caching? I don't have any hard facts on performance improvements, (I am looking into it) however it seems to be the best practice amongst web designers to always use an external stylesheet.
Thanks to all the project maintainers for the great work! Stuck on 2.0.0 for now (thanks for breaking off a release), but I like the direction your taking the project.

Hey, this changed a couple weeks back. npm run deploy no longer explicitly sets NODE_ENV=production, so you need to do it yourself. There is also npm run deploy:prod as a helper to do it for you. Hope that helps!


running within docker container - packets out returned an error: Operation no permitted

I built lsquic within a Ubuntu 19.04 docker container on CentOS 7 docker host, but when i try
 http_client -s www.google.com  -p /

it just hangs and doesn't return to prompt or output anything
if i run
 http_client -s www.google.com  -p / -L debug

I get 100s of lines with following message
23:16:32.478 [DEBUG] engine: send_packets_out: sent 0 packets
23:16:32.478 [DEBUG] on_write event fires
23:16:32.478 [DEBUG] engine: can send again
23:16:32.478 [DEBUG] event: can send again
23:16:32.478 [DEBUG] engine: batched packet 0 for connection 068A2F1FCD295F2F
23:16:32.478 [DEBUG] engine: batched all outgoing packets for full conn 068A2F1FCD295F2F
23:16:32.478 [INFO] sendto failed: Operation not permitted
23:16:32.478 [DEBUG] cannot send: register on_write event
23:16:32.478 [DEBUG] engine: cannot send packets
23:16:32.478 [DEBUG] event: cannot send packets
23:16:32.478 [DEBUG] engine: packets out returned an error: Operation not permitted
23:16:32.478 [DEBUG] [QUIC:068A2F1FCD295F2F] event: unsent packet 0, size 1200, frame types: PADDING CRYPTO
23:16:32.478 [DEBUG] [QUIC:068A2F1FCD295F2F] sendctl: packet 0 has been delayed
23:16:32.478 [DEBUG] engine: send_packets_out: sent 0 packets

so do I need additional steps for running within a docker container image ?

The following works for me on Ubuntu 14:
docker run -it --rm lsquic http_client -s www.google.com -M HEAD -p / -o version=Q046

this works
http_client -s www.google.com -M HEAD -p / -o version=Q046
HTTP/1.1 200 OK
date: Wed, 18 Sep 2019 18:09:48 GMT
expires: -1
cache-control: private, max-age=0
content-type: text/html; charset=ISO-8859-1
p3p: CP="This is not a P3P policy! See g.co/p3phelp for more info."
server: gws
x-xss-protection: 0
x-frame-options: SAMEORIGIN
set-cookie: 1P_JAR=2019-09-18-18; expires=Fri, 18-Oct-2019 18:09:48 GMT; path=/; domain=.google.com; SameSite=none
set-cookie: NID=188=IaODhxOd3qVnNei0GPaklMcSc5Ww8cDKCmBWm4APgvg6xKZzIgbt0CLIhu0J9TmfAOUCXH440qB4wqW1E0zOSM9IZ2pUVdNSVRHCzxJdv2_JPHQCfDGO38whdjbSlPYMnH1FUyRe-LWuTZOtxVONbstvAsjBoLKUP9hLTwdk0Zw; expires=Thu, 19-Mar-2020 18:09:48 GMT; path=/; domain=.google.com; HttpOnly
alt-svc: quic=":443"; ma=2592000; v="46,43,39"
accept-ranges: none
vary: Accept-Encoding

this doesn't - incorrect syntax ? as it just hangs there without returning to command prompt
http_client -s www.google.com  -p /

By default, the client uses the highest QUIC version, which is ID-22 or ID-23, depending on the library version you have.  www.google.com does not speak this version yet and there is no version negotiation between IETF and Google QUIC (at least it's not supported in the client).  Using -o version=Q046 options, you select a version which the Google website does support.

The errors you reported earlier:
23:16:32.478 [INFO] sendto failed: Operation not permitted
23:16:32.478 [DEBUG] cannot send: register on_write event

are likely unrelated to the version problem.

thanks for the clarification :)


Simplify size calculation

I found an optimization in the way we compute the size of a pull-request.
Please let me know if this makes sense as it's pretty much untested (sorry, not sure how to test easily).
This depends on a commit common with #1373

@thockin @eparis You guys are the main contributors to this file

I have lost a lot of context.  It looks OK.  Can you run it under dry-run and see it makes sense?  There's low impact to getting it wrong.  It already gets it wrong a lot anyway.
Long way of saying LGTM if you think it is better

Yeah, I ended-up running in dry-run, it provided very different result (e.g. Removing label XS -> Adding XXL), so that got me interested. Here's what's going on:
Let's say Jane submits a pull-request with 10 commits. Each of these commits change the same single line. Each commit will have 1 addition, 1 deletion. Same for the pull-request full stats.
If we think this file is generated, we will remove additions and deletions for this file for each commit from the full pull-request stats. IOW, we will end-up with -9 additions, -9 deletions ...
If there are other changes in the PR, this will negatively (literally) impact the size calculation.
The new way computes the number of changes based on the entire set of commit of the pull-request.
One extreme example of this happening is this pull-request:
https://github.com/kubernetes/kubernetes/pull/21942
It starts with 2466 additions and 122697 deletions. After discounting changes made to generated files, we end-up with ... -56407 additions and -50603 deletions. Marking it as a very very small pull-request :-)
With the patch, we end-up with 915 additions and 6719 deletions (marking it as XXL)
Also, the pull-request has 64 commits. So every time the mungebot tries to compute the size of this PR, it will (not considering pagination):

Request list of commits (1 request)
Request each individual commit (64 requests)

The new implementation will only request for changed files (1 request)
That's a significant reduction in the number of request.
And it will change some labels.
(Very very) long way of saying that I think it's better :-)

SGTM
On Sat, Jul 16, 2016 at 9:06 PM, Antoine Pelisse<EMAIL_ADDRESS>wrote:

Yeah, I ended-up running in dry-run, it provided very different result
(e.g. Removing label XS -> Adding XXL), so that got me interested. Here's
what's going on:
Let's say Jane submits a pull-request with 10 commits. Each of these
commits change the same single line. Each commit will have 1 addition, 1
deletion. Same for the pull-request full stats.
If we think this file is generated, we will remove additions and deletions
for this file for each commit from the full pull-request stats. IOW, we
will end-up with -9 additions, -9 deletions ...
If there are other changes in the PR, this will negatively (literally)
impact the size calculation.
The new way computes the number of changes based on the entire set of
commit of the pull-request.
One extreme example of this happening is this pull-request:
kubernetes/kubernetes#21942
https://github.com/kubernetes/kubernetes/pull/21942
It starts with 2466 additions and 122697 deletions. After discounting
changes made to generated files, we end-up with ... -56407 additions and
-50603 deletions. Marking it as a very very small pull-request :-)
With the patch, we end-up with 915 additions and 6719 deletions (marking
it as XXL)
Also, the pull-request has 64 commits. So every time the mungebot tries to
compute the size of this PR, it will (not considering pagination):

Request list of commits (1 request)
Request each individual commit (64 requests)

The new implementation will only request for changed files (1 request)
That's a significant reduction in the number of request.
And it will change some labels.
(Very very) long way of saying that I think it's better :-)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/contrib/pull/1374#issuecomment-233164044,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVgVLLyXr3mnSElFBq-NVWSn6aCn_j8ks5qWapbgaJpZM4JNx7S
.


mini.breadcrumbs plugin to show breadcrumbs of current cursor position using treesitter.

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md

Module(s)
mini.breadcrumbs
Description
Is there any plan on adding something like nvim-navic to the mini.nvim suite of plugins. For getting breadcrumbs we can leverage treesitter or lsp as nvim-navic does or use nvim_treesitter#statusline() to get the current context and parse it accordingly into proper format.

Thanks for the suggestion!
I like the idea of this "breadcrumbs" like functionality. My concern is about implementing it efficiently. Having to do more LSP requests on every text change (which I'd imagine what 'nvim-navic' has to do) is hard to do efficiently. Relying on 'nvim-treesitter' is not an option.
Besides, I try to stay away from both LSP specifications and tree-sitter because working with them is a challenge for me.
I'll think about it.


Deprecate osmobuilder and remove contrib folder [2/2]

Closes: #2482
Merge https://github.com/osmosis-labs/osmosis/pull/2493 first
What is the purpose of the change
This PR deprecates the contrib folder:
contrib
├── devtools
├── githooks
├── images
│   ├── osmobuilder
│   └── rbuilder
└── scripts
    ├── check-generated.sh
    └── test_localnet_liveness.sh

Folder
Description

devtools
unused

githooks
unused

images/rbuilder
unused

images/rbuildewr
deprecated with  https://github.com/osmosis-labs/osmosis/pull/2427

Scripts:

Scripts
Description

test_localnet_liveness.sh
Unused

check-generated.sh
Used in CI. Moved to scripts/ci

Docs have been updated.
Brief Changelog

Deprecate contrib folder

Testing and Verifying
We need to check that the Check generated code workflow operates as before.
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? no
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? no
How is the feature or change documented? not applicable

Check generated code workflow seems ok: https://github.com/osmosis-labs/osmosis/runs/7973833693?check_suite_focus=true

Since removing this folder has been discussed before and the affected CI jobs here have been tested, we should be good to merge IMO


Consolidate List::get_items_bounds and Table::get_row_bounds

Both List::get_items_bounds and Table::get_row_bounds perform similar enough tasks that I'm wondering if there's an opportunity to consolidate these. I think these are useful functions that a generalized version could be made pub. Related design question - is it possible to move these methods to the ListState or TableState?
More generally, Table and List have some overlap and it'd be nice to explore whether there is opportunities for more alignment. At the very least it'd be good to document when a user should use one or the other, what the tradeoffs are etc.

More generally, Table and List have some overlap and it'd be nice to explore whether there is opportunities for more alignment.

Not sure about the naming but I think we should merge them under a single struct at some point. I had an (useless?) attempt at #1155 which made me realize we have enough overlap to generalize their behavior.

One downside to merging the  list and table state would be that when we introduce divergent behavior, we end up with problems splitting the two implementations. E.g. the PR for selecting table columns and cells instead of just rows is not applicable to the list, and we might want to add sorting to the headers, and various other things too.
One possible approach to this might be to use a macroed impl to ensure that these are the same, but the payoff on the code duplication vs complexity is hard to justify for just 2 instances.

I think you guys could do something like this :
use std::marker::PhantomData;

#[derive(Default)]
pub struct TableState;

#[derive(Default)]
pub struct ListState;

#[derive(Default)]
pub struct ScrollState<T> {
    offset: usize,
    selected: Option<usize>,
    _phantom: PhantomData<T>,
}

/// Tablestate-specific methods
impl ScrollState<TableState> {
    pub fn select_header(&mut self) {}
    pub fn select_next_column(&mut self) {}
}

impl ScrollState<ListState> {
    pub fn some_list_state_speficic_method(&mut self) {}
}

/// Both ListState and Tablestate will have access to this methods
impl<T> ScrollState<T> {
    pub fn select_next(&mut self) {}
    pub fn select_previous(&mut self) {}
    pub fn select_last(&mut self) {}
}

fn main() {
    let mut list_state = ScrollState::<ListState>::default();
    list_state.some_list_state_speficic_method();

    let mut table_state = ScrollState::<TableState>::default();
    table_state.select_header();

    list_state.select_next();

    table_state.select_next();
}


What happened to #12? (Keystrokes)

The README links to issue #12 for all the keystrokes used in the screencasts. That seems to 404 and I can't find it in the Issue history. I know I've read that issue before. Weird. Maybe GitHub is playing up, or has it been deleted (somehow)?

I question the choice to delete entire conversations when a user deletes their account.  O_O
… but also, the using of an Issue. What @chadoh said. ;)


Implementation of base_point2

    // from https://github.com/KZen-networks/curv/pull/61/commits/3bd540e13a1152ccf51b7adf276887860482e44e
    pub fn base_point2() -> Self {
        let g = Self::generator();

        let hash = HSha256::create_hash(&[&g.bytes_compressed_to_big_int()]);
        let hash = HSha256::create_hash(&[&hash]);
        let hash = HSha256::create_hash(&[&hash]);

        let mut possible_pk = vec![2u8];
        possible_pk.append(&mut BigInt::to_vec(&hash));

        Self {
            purpose: "random",
            ge: PK::from_slice(possible_pk.as_slice()).unwrap(),
        }
    }

Is there a better way than generating another fixed (not random) base point by taking original base point's sha256 hash? The hash is not necessarily a valid x coordinate of a point on curve, so we take the hash over and over again until we find such a valid x.
The question is: why we use this method instead of picking a number k and multiply it with original base point to get another base point? Or is that because we want to get a valid base point without revealing the number k?

We need a point that no one knows the k of that point, yes


cmd/go: go get with ... fails in module mode

This used to work and should ideally keep working.
$ go get -u github.com/google/codesearch/cmd/...
go: finding github.com/google/codesearch/cmd/... latest
go: finding github.com/google/codesearch/cmd latest
go: finding github.com/google/codesearch latest
go: downloading github.com/google/codesearch v0.0.0-20150617151851-a45d81b686e8
go: extracting github.com/google/codesearch v0.0.0-20150617151851-a45d81b686e8
go get github.com/google/codesearch/cmd/...: no matching versions for query "latest"
$ go list github.com/google/codesearch/...
go: warning: "github.com/google/codesearch/..." matched no packages

There might be some overlap with https://github.com/golang/go/issues/27215#issuecomment-427672781, which describes how  the documentation uses go get golang.org/x/perf/cmd/..., but that example fails (unless you have first done something like go get golang.org/x/perf/cmd/benchstat).

@mvdan, it's not obvious to me whether the fix will be small or simple enough to backport.
There have been two independent attempts so far, and both have some issues in the details of the semantics and implementation. (The interaction between wildcard-expansion and module resolution is, unfortunately, quite subtle.)


Misspelling and  Redirection error

Misspelling in command

which should be validate
Besides, I wanted to edit this page directly and open a pull requests. When I clicked the Edit button, this appeared and prevented me doing furthermore about the repository.

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

ID: 30002562-8d98-050f-eb56-f484c11f37ad
Version Independent ID: 12fc6af3-ae25-f845-05aa-9b84878fd33e
Content: Submit your manifest to the repository
Content Source: hub/package-manager/package/repository.md
Product: dev-environment
Technology: ****
GitHub Login: @denelon
Microsoft Alias: denelon

Thanks for reporting this typo. I have just checked in a fix for it, and the fix should be published to the live site shortly.
That's strange that you're getting the 404 page when you click Edit. Can you reach this source file directly? https://github.com/MicrosoftDocs/windows-uwp/blob/docs/hub/package-manager/package/repository.md

Thanks for reporting this typo. I have just checked in a fix for it, and the fix should be published to the live site shortly.
That's strange that you're getting the 404 page when you click Edit. Can you reach this source file directly? https://github.com/MicrosoftDocs/windows-uwp/blob/docs/hub/package-manager/package/repository.md

It's seemed that I can open the link now. Two days ago I tried many ways even clone the whole repository and searched the file :)
My pleasure to get involved in this project.


[BUG] update and upsert bulk actions do not include changes from document_root_key, exclude_keys, etc

Describe the bug
The update and upsert actions always pass the full Event to the bulk actions, instead of only passing the part of the Event that is filtered from document_root_key, exclude_keys, include_keys, etc.
For update we are passing the original jsonNode here (https://github.com/opensearch-project/data-prepper/blob/979a0045b4970c7d31909a722a753adc3d2666ca/data-prepper-plugins/opensearch/src/main/java/org/opensearch/dataprepper/plugins/sink/opensearch/OpenSearchSink.java#L307), while for index we pass the document without the root key / exclude_keys here (https://github.com/opensearch-project/data-prepper/blob/979a0045b4970c7d31909a722a753adc3d2666ca/data-prepper-plugins/opensearch/src/main/java/org/opensearch/dataprepper/plugins/sink/opensearch/OpenSearchSink.java#L334).
To Reproduce
Steps to reproduce the behavior:
Send two items with the following structure and sink config
{"operation": "index", "item": { "doc_id": 110, "name": "Original Name" }}
{"operation": "update", "item": { "doc_id": 110, "name": "Updated Name" }}

        document_id_field: "item/doc_id"
        index: "actions-test-index"
        document_root_key: "item"
        actions:
          - type: "update"
            when: '/operation == "update"'
          - type: "index"

and the final document in OpenSearch will look like
{
        "_index": "actions-test-index",
        "_id": "110",
        "_score": 1,
        "_source": {
          "doc_id": 110,
          "name": "Original Name",
          "item": {
            "name": "Updated Name",
            "doc_id": 110
          },
          "operation": "update"
        }
}

Expected behavior
The updated document should look like
{
        "_index": "actions-test-index",
        "_id": "110",
        "_score": 1,
        "_source": {
          "doc_id": 110,
          "name": "Updated Name"
        }
}

The update API in opensearch-java requires we pass in a JsonNode. So that part is what we need. Perhaps the problem is from where we get the JsonNode. Could we get this from the SerializedDocument object instead?

Also, I think this would be a good opportunity to split this logic into another class. There is too much going on in there. If we had a class responsible for this mapping we could have some really solid unit tests to ensure that the output is what we expect for each case.