Adding gulp as a prerequisite

Gulp executable is called during the npm installation, it throws an error if youn don't have it installed.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

You already have similar changes in PR #35045 for this article you're editing, so we are closing this duplicate.😓
If you feel you have more to add, please feel free to open up a new PR.
Thanks again! 😊

If you have any questions, feel free to reach out through Gitter or by commenting below. 💬

It was used when preparing the curriculum package for publishing to npm, which we do not do any more. It is also a devDependency of the curriculum project.
https://github.com/freeCodeCamp/freeCodeCamp/blob/3b9ae3d786bc26838a88210de361f7c543b287ea/curriculum/package.json#L58
If we do not plan on publishing the curriculum package any more, this can be removed

@raisedadead I'd love to try

Closing as stale. Please open a fresh PR if you are interested.


Replace OpenAPI RePreZen Parser

The open api parser of reprezen continues to be quite instable and fragile and seems to be discontinued.
As swagger-core parser is now supporting OpenAPI v3, we should move to swagger-core, which has a much more stable community.

Please check migration of openapi parser to newest version of https://github.com/networknt/openapi-parser

I just checked shortly and have seen some breaking test as some of the previously working openapi test files didn't work anymore. Please analyze and check whether it's some incompatibility of openapi versions or some incorrect specification of the test file.


Task – Task is bold in LHN when reassign task to another user and @ appears before user name

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.73-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4553777
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Go to https://staging.new.expensify.com/

Log in

Open any chat and select Assign task

Create a task and assign to another user

Find task in the LHN

Open task details and reassign task to another user

Observe the task in LHN

Expected Result:
Task details is not bold in LHN when reassign task to another user, as this page is open
Actual Result:
Task details is bold in LHN when reassign task to another user and wait until @ appears before user name in LHN
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/4ad06f15-abe2-46db-b186-1eaddb44c5a2
View all open jobs on GitHub

@AndrewGable  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

@AndrewGable can you determine if this is something from the API or not? if not can you remove the DeployBlocker label?

Yes, looking into it

Seems like yes, that was the diff, which should not have caused this, so seems fine to not block on API deploy.

Ok can't reproduce bug on production or staging, can we retest this @lanitochka17 ?
Screen Recording 2024-05-13 at 5.05.52 PM.mov

Issue is still reproducible
https://github.com/Expensify/App/assets/78819774/76816a72-6a6c-4329-9dea-932506adda0b

Maybe internal?

Waiting for proposals

Not able to reliably reproduce this issue, trying to figure out if it is an issue from the FE

@AndrewGable do you have a steer on whether this is FE or BE?

I would assume it's front end, bolding and marking as unread seems to usually come from the front end

Still waiting on proposals

Still waiting on proposals

bounty increased

Reviewing proposals

// Or change a comparison by Date instead of string

@suneox the RCA makes sense, ^ solution sounds interesting could you expand on that? thanks

Still working through proposals

@suneox's proposal looks good to me, the root cause is well explained and make sense.
We can convert the string to date before comparing.
🎀 👀 🎀 C+ Reviewed

@AndrewGable bump if you have a mo to review thanks. Also can you confirm what project this falls under - is this VSB cos tasks?

Yes, VSB sounds right

@adelekennedy  adding you here for parental leave sub. no action required this BZ this week, PR is still in review, but adding you for payment in coming weeks when the fix makes it to prod. Thanks

Just took care of it! @getusha it looks like your offer is still pending - will yo accept it today? Otherwise it expires!

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
[@suneox / @getusha] The PR that introduced the bug has been identified. Link to the PR: N/a i think this is an edge case left unhandled
[@suneox / @getusha] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: N/a
[@suneox / @getusha] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N/a
[@suneox / @getusha] Determine if we should create a regression test for this bug. I don't think the bug is impactful enough to create a regression test
[@suneox / @getusha] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again. N/a

Accepted, @adelekennedy, thanks!


python310Packages.adafruit-platformdetect: 3.45.0 -> 3.45.1

Changelog: https://github.com/adafruit/Adafruit_Python_PlatformDetect/releases/tag/3.45.1
Description of changes

Things done

Built on platform(s)

[ ] 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

[ ] Fits CONTRIBUTING.md.

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

4 packages built:

python310Packages.adafruit-platformdetect
python310Packages.adafruit-platformdetect.dist
python311Packages.adafruit-platformdetect
python311Packages.adafruit-platformdetect.dist


Allow publishing of multiple plans

Its likely for more sophisticated pipelines, terraform plan will be run multiple times within the same pipeline. One possible scenario would be a pipeline that promotes terraform template changes across multiple environments within the same pipeline. At each environment/stage, plan is run to show the expected changes.
This change will ensure that each plan published will be named with the Stage & Job executing the task. Additionally, the type has been explicitly set to a static value terraform-plan-results. This should then allow the terraform-plan-view to lookup all attachments by type.
Attachments are now saved as

name (computed): $(System.StageName)_$(System.JobName).tfplan. Given stage name = test and job is deploy, then the plan attachment is named test_deploy.tfplan
type (constant): terraform-plan-results

Resolves #204

Rebased this onto master with no conflicts. Creating a PR that contains the required UI changes into this PR.


improve debugging

In order to enable users to debug their experiments, we should improve our debugging at various levels:

[ ] at the level of SLURM: make sure users know how to retrieve debugging information from SLURM (files/commands/args)
[ ] at the level of QCG-Pilotjob: think about exposing qcg's log_level to the user and inform them which files might contain useful information (such as service.log)
[ ] at the level of our code: insert meaningful log messages in various places to enable debugging (currently there is none which is bad

https://github.com/SURFQuantum/yotse/pull/39
makes a start on adding logging.


Require conformance to style standards

Issue Summary
In the CONTRIBUTING.md file there is a section on Style Guidelines & Naming Conventions. Please review and implement a check in Travis CI. If there are any style errors, either fix or create a rule to exclude the error.
Before writing any code, we suggest you review our CONTRIBUTING.md file and propose your solution for discussion here in the comments. Thank you!
Aceptance Criteria

TravisCI checks that the code conforms to our Style Guidelines & Naming Conventions as defined in our CONTRIBUTING.md file
tests pass locally, in Travis CI and using Docker

I'll take this one.

Thank you @hugovk!


[SPARK-44790][SQL] XML: to_xml implementation and bindings for python, connect and SQL

What changes were proposed in this pull request?
to_xml: Converts a StructType to a XML output string.
Bindings for python, connect and SQL
Why are the changes needed?
to_xml: Converts a StructType to a XML output string.
Does this PR introduce any user-facing change?
Yes, new to_xml API.
How was this patch tested?
New unit tests.
Was this patch authored or co-authored using generative AI tooling?
No

Test failures seems related: https://github.com/sandip-db/spark/runs/18001274050

https://github.com/sandip-db/spark/runs/18001274050

@HyukjinKwon Please review the latest commit. It disables structure validation in StaxXmlGenerator to avoid the issue reported in the above test:
(javax.xml.stream.XMLStreamException) Trying to output second root, <ROW>
This happens because the same XMLStreamWriter instance is used to convert multiple InternalRow to XML string.
This required me to import a shaded package to access WstxOutputProperties.P_OUTPUT_VALIDATE_STRUCTURE.
I also added an option to disable indentation. As seen in the above test run,ThriftServerQueryTestSuite was having issues with multiline XML string.

Mind retriggering https://github.com/sandip-db/spark/actions/runs/6684029158/job/18160863251?

Mind retriggering https://github.com/sandip-db/spark/actions/runs/6684029158/job/18160863251?

@HyukjinKwon All tests have passed.

Merged to master.


Task - Summarize user activity by data type created

Using a taxon name or an OTU, show the recent work that is linked to that data.

Note, a related Task exists for collection objects.

same as #1062


Drop duplicate columns from wdf to remove the buffer dimensions error…

… in _get_base_factors().

This PR resolves #293.


A BDV render settings editor panel.

A BDV render settings editor panel.  This is the one you get when you press 'R' in a BDV window.

Adapted from the TrackStyle framework,
Displays a list of differente render settings.
Can load / save from disk.
Have protected defaults.

When the settings dialog opens, it is too small to show the sliders as sliders:

When the dialog is enlarged (to show the sliders) the separating lines look weird

IMO, the solution is to make panels for groups of items ("Colors and look", "Links", ...) and add title borders. Here is an example from something similar in BDV:
		groupingPanel = new GroupingPanel( visibilityAndGrouping );
		visibilityAndGrouping.addUpdateListener( groupingPanel );
		groupingPanel.setBorder( BorderFactory.createCompoundBorder(
				BorderFactory.createEmptyBorder( 4, 2, 4, 2 ),
				BorderFactory.createCompoundBorder(
						BorderFactory.createTitledBorder(
								BorderFactory.createEtchedBorder(),
								"grouping" ),
						BorderFactory.createEmptyBorder( 2, 2, 2, 2 ) ) ) );

Probably it can be tuned to make it look similar to what you have now

Reworked the render settings panel.

It has a shared list of styles.
The panel resizes properly.

Rework the render settings system.

Each RS dialog shares a common list of styles.
This has limitations:
** if a style is deleted in a dialog, other dialogs know, unless one of them has the deleted style. Then this one is not changed.
** if a style is edited in a dialog, other dialogs with this style are not updated unless they reselect this dialog.

Rework the resizing of the panel.

Rework the render settings system.

Each RS dialog shares a common list of styles.
This has limitations:
** if a style is deleted in a dialog, other dialogs know, unless one of them has the deleted style. Then this one is not changed.
** if a style is edited in a dialog, other dialogs with this style are not updated unless they reselect this dialog.

Rework the resizing of the panel.

@tpietzsch good to go?


[Question] .net core instead of mono?

Just wondering. Is there any plan to use .net core instead of mono compiled to wasm for client side?

@SergeySeleznyov Did you check below discussion?
https://github.com/aspnet/Blazor/issues/286


Issue/2391 env query (#2852)

Pull request opened by the merge tool on behalf of #2852

Merged in b80e36ab237e6ca97b5d471fe5b5846f77614fb6


MIDI conversion

I think it would be a good idea to add the ability to convert to MIDI as well, since most people (including me) are more familiar with that compared to MOD files. It also makes it easier to replace the samples with higher quality ones, in cases like Creature from the Krusty Krab on the GBA which has the same exact samples as DS, but the tracks themselves are composed differently, so it would be possible to hear what they sound like in higher quality.

Hey :) I actually had a MIDI conversion part for this, but took it out as GAX is way more similar to XM, and I figured XM to MIDI converters would probably do a better job than whatever I could code. So I would use tools like that for now, but I will keep this issue open so that I remember to add the MIDI part back into gaxm in the future. :)

Thank you, I would really appreciate it if you added a MIDI option, or maybe even if you could release some demo of what you have now if you already have code for it
I’ve tried finding XM to MIDI converters for this, and the only one I can find that sort of works is called “2MIDI” which, it’s able to get a decent part of it converted correctly, but it still makes a LOT of mistakes, so I just think it would probably be better if there were some way to go straight from GAX to MIDI instead of trying rely on what looks like a 15 year old program to get MIDIs instead

how do you use this??


Background functions provide a clientContext and user locally, but not in production

Describe the bug
Background functions don't check for an authorization header token in production, so there's never a clientContext or any way to validate that an Identity authenticated user is sending the request. This isn't documented, but it's mentioned in a community answer: https://answers.netlify.com/t/clientcontext-user-missing-in-background-functions/46166/2
This can be hacked around pretty simply (I'm using a regular function to auth and then passing a secret to the background function), but it's a surprise when Netlify Dev does authenticate requests to background functions. So you put your authenticated background function live, it fails in production, and then you can't see why because background functions don't provide logs 🙈 (except sometimes they do??)
I can open a PR to simply remove clientContext for background functions here, which I’ve validated locally, but I didn't see an obvious way to test the inner workings of background functions in the current testing setup. Happy to open a PR with just the fix, or with tests too if anyone has thoughts on how to go about it.
To Reproduce
Steps to reproduce the behavior:

Run a background function locally
Send a request with a valid identity token in the authorization header
Check for context.clientContext.user in the handler

Expected behavior
context.clientContext should be nullish, matching production
Thank you for making the cli amazing! While no pictures of animals were requested, I've provided complimentary hippos.

Thanks @erquhart! We have an internal issue to track missing clientContext and this seems to be a AWS Lambda issue, https://github.com/aws/aws-sdk-js/issues/1388#issuecomment-403466618.
We didn't have an issue for the CLI, so thank you for opening one!
We'd be happy to accept a PR to remove it as you suggested ❤
Once the PR is up we can figure out the best way to test this.


Update PodPreset if it already exists

Fix for https://github.com/kubernetes-incubator/service-catalog/issues/976
If the PodPreset already exists, the Create request will fail.
Check if PodPreset exists first, and if it is, update instead of creating.
P.S. We probably need to be smarter than that, and ensure that existing PodPreset belongs to the Binding (the same applies to Secrets, and possibly other resource types).

There will be no need of this pull request anymore, since PodPreset template won't be embedded in Bindings soon: https://github.com/kubernetes-incubator/service-catalog/issues/994
But this logic should be taken into account in the new PodPresetBinding resource, of course.


Clarify spec_helper vs rails_helper

When greenfielding a new app & coming from older versions of rspec, the out-of-box experience was confusing for me. Since .rspec required spec_helper I figured I'd be able to simply write specs & run them.  So I was confounded when my first attempt yielded undefined constant Rails.
Searching for answers showed I wasn't the only one. Might as well add a short explanation here, as it's not exactly self-explanatory and even the comments in the files don't really spell it out.

OK I updated the wording to better reflect how you framed these two files.

exists to boot rails for specs that require it

This still strikes me as... unnecessarily difficult. This is rspec-rails, right? As in rspec... for Rails projects. I mean isn't it true that in 99% of Rails projects, 99% of specs will require Rails? Why not make .rspec require rails_helper by default?
It seems strange to me that by default, the only specs that will run are specs that don't require Rails. If we go to the trouble of generating an .rspec file that requires a helper, why not make it require rails_helper, so that typical Rails specs will run?
Then if someone wants to do something unusual, they can adjust .rspec to only include spec_helper

I mean isn't it true that in 99% of Rails projects, 99% of specs will require Rails?

For some users, perhaps, but that's not the way that we would recommend you use RSpec or Rails, and we believe many of your users feel the same.  If 99% of your code is so tightly coupled to rails that rails has to be loaded for it to work, you're going to have all sorts of future difficulties: e.g. upgrades in the future will be more difficult, the code will be harder to reason about (you can't consider the code just on its own but also have to consider the full rails context it depends upon), etc.
If you want to always have rails loaded, then you might as well merge spec_helper and rails_helper and put a require for the one file in .rspec.  But that's not the way we as the RSpec team recommend users do things.  It's nearly impossible to have a good, tight TDD feedback loop with such a setup.

@myronmarston this all makes perfect sense for other rspec gems, but not rspec-rails. What kinds of specs do you envision writing? Model specs? You need activerecord. Controller specs? You need actioncontroller. Concern specs? You need activesupport. Feature specs? You need the entire Rails stack.
I'd love to see a few mature Rails apps with specs that largely don't depend on Rails. I simply haven't seen such a thing, so it's difficult to even imagine.
That said, you can simply consider this a dissenting opinion. I still think the README ought to address this spec_helper vs rails_helper question if you are intent on keeping default setup the same.

If I wrote rails app these days (which I don't) I would probably implement most of the business logic apart from persistence in standard ruby classes using no part of rails.
For model specs, I'd probably use a special spec helper that loaded just active record and not all of rails, like the one @coreyhaines uses:
https://gist.github.com/coreyhaines/2068977
I'm not sure I'd write controller specs, opting for full-stack request specs instead (which would load and use all of rails).
Of course, take this with a grain of salt since I'm not a rails dev and haven't been since ~2010 or so.
That said, my understanding is this this kind of setup is the consensus recommended setup for rspec-rails by rspec dev team as a whole, and not just me, and many of those folks do rails.  Maybe they can chip in here and explain how their setup works.

I still think the README ought to address this spec_helper vs rails_helper question if you are intent on keeping default setup the same.

Agreed that the README should explain the intended difference better.

IMO, with the improvements to the speed of require with modern versions of ruby combined with spring preloader, doing backflips to require fewer files is usually not worth the trouble. Requiring only AR is cool at first, until you do basically anything of substance and you realize activesupport is required for everything.
Nowadays most of my specs are feature specs. But when something is sufficiently complex I'll write specs at lower levels as well. But at the end of the day, I want all my specs to be executed in a way as close to my production setup as possible. Selectively loading files is a great way to have some "gotcha!" moments because things can behave differently when everything is loaded (see: activesupport and monkey patching); as I'm sure you're aware.
Anyway--are you guys happy with the updated wording I came up with or you want more edits?

model specs

I use a custom configure and load active record, way quicker than booting Rails.

controller specs

Now deprecated by the Rails team, it actually is possible to not boot rails to write unit tests but not recommended.

helper specs

Should really be plain old ruby specs.

request / feature specs

Now this is where you require Rails.

IMO, with the improvements to the speed of require with modern versions of ruby combined with spring preloader, doing backflips to require fewer files is usually not worth the trouble.

Spring is a band aid on the problem, Rails boots slowly, nothing to do with require, it's the time Rails takes to boot. We don't recommend spring because it causes more problems than it's worth.

Requiring only AR is cool at first, until you do basically anything of substance and you realize activesupport is required for everything.

Fortunately requiring active support is easy, and doesn't requiring booting rails, which is what we're trying to avoid. Also more and more ruby libraries are being written without active support, as it allows them to be better citizens in the ruby world.

Closed in favour of #1731, thanks for your work here @sdhull :)


feat: introduce golang ci lint action

Resolves: #718
Background (mentioned in the issue #718 ):

Golang lint is a fast Go linters runner. It runs linters in parallel, uses caching, supports yaml config. It’s used to make sure code adheres to common Go practices. It supports enable many different types of linters.

Changes:

Add golangci-lint-action to the CI workflows as it's the official GitHub action for golangci-lint from its authors. The action runs golangci-lint and reports issues from linters.
Name the new workflow as golangci-lint in .github/workflows/go-lint.yml
Current behaviour:

Run golangci-lint on every PR
Report only new issue generated from the PR
Beside of PR events, there has an option in the trigger event to allow us manually run the workflow if needed (workflow_dispatch:)

Testing:

This was tested on my fork repository
For example, https://github.com/tungbq/notation/pull/4

Codecov Report

Merging #723 (9e1f61d) into main (3215b60) will decrease coverage by 17.04%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##             main     #723       +/-   ##
===========================================
- Coverage   63.52%   46.49%   -17.04%
===========================================
  Files          40       40
  Lines        2237     2237
===========================================
- Hits         1421     1040      -381
- Misses        695     1110      +415
+ Partials      121       87       -34

see 19 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

This issue that caused by Zot V2.0.0-rc.5 update will be resolved in https://github.com/notaryproject/notation/pull/727

This PR decreases the code coverage for 17.04%. Could you take a look?

This issue that caused by Zot V2.0.0-rc.5 update will be resolved in #727

This PR decreases the code coverage for 17.04%. Could you take a look?

Thanks for pointing this @JeyJeyGao


Number max rule is not behaving properly

I have my rules method as below :
return [
[['discount'], 'number', 'min' => 1, 'max' => 3], // Not working properly
[['promotion_code'], 'string', 'max' => 15],
];
When i am submitting form i am getting error "Discount must be no greater than 3" though i am inserting 2 digit from form.
As i see if i enter 1 number its working fine but for more than 1 its throwing above error.
I have checked with string max and its working fine.

can you check whether it works with the compare validator?

Yes its working fine with compare..
['discount', 'compare', 'compareValue' => 99, 'operator' => '<=']

I can see in NumberValidator validateAttribute() condition is wrong. its comparing value with <,> operator. it should be comparing length of number. i have modified validateAttribute() and its started working.
public function validateAttribute($model, $attribute)
{
$value = $model->$attribute;
if (is_array($value)) {
$this->addError($model, $attribute, $this->message);
return;
}
$pattern = $this->integerOnly ? $this->integerPattern : $this->numberPattern;
    $length = strlen((string)$value);

    if (!preg_match($pattern, "$value")) {
        $this->addError($model, $attribute, $this->message);
    }
    if ($this->min !== null && $length < $this->min) {
        $this->addError($model, $attribute, $this->tooSmall, ['min' => $this->min]);
    }
    if ($this->max !== null && $length > $this->max) {
        $this->addError($model, $attribute, $this->tooBig, ['max' => $this->max]);
    }
}

no, it should not compare the length. if you need to check the length of a number you have to user string validator for that.

ahh i see.


chore: minor change to REAMDE.md

Issue #, if available:
Description of changes:
Check points:

[ ] Added new tests to cover change, if needed
[ ] All unit tests pass
[ ] All integration tests pass
[ ] Documentation update for the change if required
[ ] PR title conforms to conventional commit style

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #1369 (b4b185d) into main (81299c3) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1369      +/-   ##
==========================================
- Coverage   61.30%   61.28%   -0.02%
==========================================
  Files         666      666
  Lines       20164    20164
==========================================
- Hits        12361    12358       -3
- Misses       7803     7806       +3

Flag
Coverage Δ

API_plugin_unit_test
65.93% <ø> (-0.10%)
:arrow_down:

AWSPluginsCore
76.28% <ø> (ø)

Amplify
49.02% <ø> (-0.03%)
:arrow_down:

Analytics_plugin_unit_test
73.41% <ø> (ø)

Auth_plugin_unit_test
82.35% <ø> (ø)

DataStore_plugin_unit_test
76.54% <ø> (ø)

Predictions_plugin_unit_test
33.51% <ø> (ø)

Storage_plugin_unit_test
57.72% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...n/Operation/AWSGraphQLOperation+APIOperation.swift
50.90% <0.00%> (-3.64%)
:arrow_down:

.../DataStore/Model/Internal/Schema/ModelSchema.swift
62.50% <0.00%> (-2.09%)
:arrow_down:

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 81299c3...b4b185d. Read the comment docs.


Add back WarningScreen import in psbt_views.py

I believe this was accidentally removed in PR #339. It's needed in lines 169, 187, and 532.
Without it I get an unhandled exception view in the PSBT signing flow and can't single some transactions.

In the same file, lines 77 and 79 refer to old-style button_data, instead of as self.button_data with flow-tests.
To provoke that, load a psbt first, then choose to load a 12/24 word mnemonic.

ACK tested
without this pr, fails on full-send psbt.
with this pr, problem solved.

In the same file, lines 77 and 79 refer to old-style button_data, instead of as self.button_data with flow-tests.
To provoke that, load a psbt first, then choose to load a 12/24 word mnemonic.

I just pushed these changes/bugs you caught in commit 46a52d2

ACK again, as of 46a52d2


Add proper filtering options for support feedback

for Teamweek: "desk-tw"
for Toggl: "desk-toggl"

Issue already exists in correct repo: toggl/thumbler#7


Domains missing in Root node dropdown

Describe the bug
Using version: 9.0.1
When creating a redirect, some domains are missing from the "Root node" dropdown.
Only actual root nodes are shown, however non-root nodes that are configured with a hostname are not shown. I have a unique situation why I do not want some domains as root notes.
To Reproduce
Steps to reproduce the behavior:

Add a root node
Add a node under the root node
Assign a hostname to the child node
Attempt to add a redirect for the child node

Expected behavior
All nodes with specified hostnames should appear in the Root node dropdown. This was the behavior in v3.11

Hi again :D
Just to be sure, have you enabled the option HasDomainOnChildNode in the configuration?
You can read a little bit more about this option in the documentation.
Read more about setting configurations in the first paragraph.

Hello!
Who would have thought it would actually be helpful reading the documentation! Sigh, sorry about that.
Anyways, I added the configuration within appsettings.json, but am now getting this error running via IIS Express locally. I do have a node configured with the localhost:port hostname.
An unhandled exception occurred while processing the request.
ArgumentException: The umbraco domain could not be interpreted. (Parameter 'domain')
UrlTracker.Core.Domain.DomainProvider.GetUrlFromDomain(IDomain domain, UrlTrackerSettings settings, IUmbracoContextReferenceAbstraction cref)

@weinerm this is my analysis thus far:
This is the part of the source that throws the exception:
// I'm taking some liberties on the original logic. The old logic ensured that the url starts with a protocol.
//    I am parsing the url into an object to make comparisons with incoming requests easier and more straight forward
string? result = null;

// This condition is taken from the old logic. I'm not sure why it works like this...
if (settings.HasDomainOnChildNode && domain.RootContentId.HasValue)
{
    var node = cref.GetContentById(domain.RootContentId.Value);
    if (node is not null && node.Level > 1)
    {
        result = node.Url(_umbracoContextFactory, mode: UrlMode.Absolute);
    }
}
else
{
    // otherwise read it immediately from the domain
    result = domain.DomainName;
}

return Url.Parse(result ?? throw new ArgumentException("The umbraco domain could not be interpreted.", nameof(domain)));

source
The only way for you to trigger this exception, would be to have the HasDomainOnChildNode be true, have a domain with a root content id, but either being unable to get the node (that is: node is null) or the node is on level 1 or lower.
Now as the comment says: I am not sure why it works like this, as this logic has been taken from the old 4.x version before I completely rewrote the backend. Do any of these conditions apply to your situation?

That confirms what I thought!
I shared the snippet with my coworkers to make sure I didn't overlook anything and I think I know what to change to solve this issue. I'm gonna make a code change and come back so we can try it out and see if it solves your issue!

@weinerm do you have an opportunity to try out version 9.0.2-beta0001?
That version has a fix for this issue

I'm out at a work conference for a few days. Will get back to you next week. Thanks!

I'll have a look to see if I can find anything

Looks like it's going wrong in the frontend over here.
I had hoped I wouldn't have to touch the frontend until the redesign, but there's no way around it, it seems. I'll get back to you when I have a fix, which will probably be in a few days.

Version 9.0.2-beta0003 Should fix this issue. Do you have a chance to try it out?

Confirmed fixed. Nice work and thank you!

Hi there,
We're having this exact issue in our Umbraco 8.12.1 setup where we have our site domains set on child nodes and not the top-level node so URL Tracker isn't working for us at all right now.
Is there any way to fix this issue in URL Tracker v4.1.132? We're stuck on our current version of U8 because of some breaking changes that will affect us in the later versions but we can't upgrade to a newer version of URL Tracker without upgrading Umbraco 8.
Any help would be much appreciated.
Thanks,
Em

Hi Em! Thank you for reaching out! I would much prefer if you update to v5 of the URL Tracker. How about I'll lower the dependency version on v5, so that you can install it as well?
That being said: the fixes and changes from v9 and v10 are yet to be ported back to v5. This takes a bit longer with the change in framework, but I'll get onto it. Let's make this a separate issue.


Prevent collapsing pools with content

Is your feature request related to a problem? Please describe.
As a quick fix for the undesired behavior that a pool's content got lost after collapsing it, we should prevent the user to execute this action first hand (cf. https://github.com/camunda/camunda-modeler/issues/712#issuecomment-662419940, https://github.com/camunda/camunda-modeler/issues/712#issuecomment-732733559).
Describe the solution you'd like
Remove the action when the pool has content.

We did a similar approach with sub-processes (cf. https://github.com/camunda/camunda-modeler/issues/1486).
Describe alternatives you've considered
Instead of simply preventing it, we could make the action hidden / inactive and add a hint regarding the rationale. This would make the changes and its rationale more explicit. If we decide on this, we should align the pattern for sub-processes as well.
Additional context
Related to https://github.com/camunda/camunda-modeler/issues/712
Related to https://github.com/camunda/camunda-modeler/issues/1486
Related to https://github.com/bpmn-io/bpmn-js-disable-collapsed-subprocess

Aspect to consider: How is content defined? Is a Pool with two empty lanes also empty or is the existence of the lanes itself defined as content?

Codesandbox containing several options: https://codesandbox.io/s/pool-collapsing-wkc21?file=/src/index.js

When we do a BPMN training, it belongs to the exercises to model collapsed pools.
You should not be too restrictive with this feature.
I personally would like to see the original issue solved: https://github.com/camunda/camunda-modeler/issues/509#issuecomment-349950871

Kick off 30-11-2020 (Summary)
Participants: @azeghers, @andreasgeier, @barmac, @pinussilvestrus
1 - Discussed available variants

A - Removing the action completely

B - Disabling the action with clearer label + title tooltip

C - Disabling the action with clearer label + popup tooltip

D - Disabling the action with an even clearer label (two lines)

E - Allowing the action, but change the label to what it is from specification --> Not a collapsed pool, but replacing it with an empty/black box pool which will remove the contents

---> Generally, the audience appreciated option E the most
... because currently, the toolkit is making wrong indications

There is no collapsed pool from the BPMN perspective (cf. BPMN 2.0 specification page 24)

Indeed the action is replacing it to a pool without referenced process
Why not making it explicit? "Black box" or "empty"
--> No surprises
--> Empower the user
Maybe it has historic reasons due to similarities to other container elements

2 - Plugin or Core feature

Depending on the solution we will end up with
Generally the term is BPMN specific, so we should fix it inside bpmn-js directly
If we go for disabled action: maybe offering a migration path to re-allow it (cf. https://github.com/bpmn-io/bpmn-js-collapse-subprocess)

3 - Align with sub process behavior

Currently, we have a mix of option A (remove action) and E (allow but clear indication) for sub processes

Aligning with the pool collapsing makes a lot of sense but could be hard because the sub process behavior is a conflict in itself
Depends on the solution

Action Items

[ ] Create two new variants out of (B|C|D) and E and consult the rest of the team.

Wrap up usability tests
Prototype: https://github.com/pinussilvestrus/pool-collapse-test
Notes: https://github.com/pinussilvestrus/pool-collapse-test/blob/master/docs/summary.md
Findings

Disabling the collapse action when the pool has content is not an option --> destructive
Users wanted to model on instead of being blocked and removing the elements manually
The hint "removes content" in the label was really appreciated

Alternative was mentioned: "removes content, irreversible"

"Black Box" was appreciated, it follows the standard
"Empty Pool (removes content)" was the favorite in the tests, alternatives were mentioned

"Empty Black Box (removes content)"
"Collapsed Pool (removes content)" (for historic reasons)

When pool has no contents the users expected the hint "removes content" to not appear
All users would expect to keep the message flows when the pool got replaces with empty, cf. https://github.com/camunda/camunda-modeler/issues/1651
All users would still see saving the contents for later re-expanding, cf. https://github.com/camunda/camunda-modeler/issues/712, but admit there is no easy solution
All users admit that the option with a better, declarative label would be a really good improvement to prevent surprises

Proposal to solve this issue

[ ] Change label of action to "Empty Pool (removes content)" when pool has content

[ ] Alternative: "Black Box (removes content)"

[ ] Change label of action to "Empty Pool" when pool has no content

[ ] Alternative: "Black Box"

[ ] Consider fixing https://github.com/camunda/camunda-modeler/issues/1651 to fix the situation even better

@camunda/modeling-dev  Regarding the message flows topic, I created a solution sketch on how to handle this problem: https://github.com/bpmn-io/bpmn-js/compare/develop...keep-message-flows
Still, it has problems due to moving pool boundaries, which might be able to fix if we add the replaced connections in another place (cf. https://github.com/bpmn-io/bpmn-js/issues/1265)

This looks promising...

Closed via https://github.com/camunda/camunda-modeler/pull/2040.


Switch interactive task feature name from use_std to interactive.

Sorry, I don't have an active way to update the PR in question. But this incorporates the change requested in the PR to master.

No problem, this is fine. We merge to a feature branch so that it can be tested by our CI system before merging to master.


create a scala_test toolchain

to set all the scalatest dependencies, we need a bazel toolchain: the test runner, jar versions might all depend on which scala version we are dealing with.

resolved by #1110


fix: Omit non-standard, empty fields in RefreshTokenRequest when performing a token refresh

The OIDC spec's definition of a refresh request does not include client_assertion or client_assertion_type as valid parameters for the refresh request. See request format here: https://openid.net/specs/openid-connect-core-1_0.html#RefreshingAccessToken. The document only displays client_id, client_secret, grant_type, refresh_token, and scope as acceptable parameters.
Therefore, I propose we add the omitempty tags to the ClientAssertion and ClientAssertionType fields in RefreshTokenRequest, so that the token refresh functionality provided by rp.RefreshTokens can work with identity providers that may have additional logic or different expectations when these fields are included in the refresh token request.
For example, when attempting to construct an OIDC client via rp.RelyingParty against an Okta identity provider, I ran into issues when performing refresh with rp.RefreshTokens. The Okta identity provider returned http status not ok: 400 Bad Request {"error":"invalid_request","error_description":"The client_assertion_type is invalid."} as an error. I assume I'm receiving this error because I'm calling the RefreshTokens func with clientAssertion="" and clientAssertionType=""; the addition of the omitempty tags resolves this issue and hopefully future proofs this library against other identity providers that have the same behavior.
Definition of Ready

[X] I am happy with the code
[X] Short description of the feature/issue is added in the pr description
[ ] PR is linked to the corresponding user story
[ ] Acceptance criteria are met
[ ] All open todos and follow ups are defined in a new ticket and justified
[ ] Deviations from the acceptance criteria and design are agreed with the PO and documented.
[ ] No debug or dead code
[ ] My code has no repetitions
[ ] Critical parts are tested automatically
[ ] Where possible E2E tests are implemented
[ ] Documentation/examples are up-to-date
[ ] All non-functional requirements are met
[ ] Functionality of the acceptance criteria is checked manually on the dev system.

hey @ymarcus93 thanks for the fix and totally agree on that. Since scope and depending on the authentication also client_id and client_secret are optional, I'd add the omitempty tag there as well.

@livio-a Rebased and pushed b03e835 with omitempty on scopes, client_id, and client_secret


fix: resource panel refreshes properly when assets are being added/removed

Description
Updating resource store within the project service whenever the project in postgres is modified. I also refetch the project once a resource is uploaded through the overview panel. project in App.vue is updated to match the resource store whenever resource store is updated.
Additionally an asset doesn't open when you want to remove it.
https://github.com/DARPA-ASKEM/Terarium/assets/28237258/e09703b9-dd86-43c9-bed2-ba11f5111199

Why all the FIXME, could they be fixed on this PR.

These FIXMEs are not a product of the changes I made here, they have always been a problem. I am just highlighting them.


Unexpected 401 Unauthorized response status when action is public

The PR https://github.com/plataformatec/devise/pull/4375 broke the logging in my app when I upgraded from 4.3.0 to 4.4.0, and 4.4.1 is still broken. I'm on Rails 5.1.4
I noticed that the logs in my app had Completed 401 Unauthorized when the actual response received by the client was a 500 Internal Server Error.
I reported this in https://github.com/plataformatec/devise/pull/4375#issuecomment-369289290 but @tegon suggested to submit this PR with a failing test case that reproduces the bug.
Investigation
I dug in a little bit and I found out that in the following method, the payload[:exception] always returns nil even if a public action raises an error, so the 401 status is added to the payload. Also, Rails didn't add the 500 status at this point yet, so payload[:status] is nil as well
https://github.com/plataformatec/devise/blob/f39c6fd92774cb66f96f546d8d5e8281542b4e78/lib/devise/controllers/helpers.rb#L16-L19
Solution
I couldn't figure out the proper solution other than reverting that PR yet. I'll spend some time investigating later today, but it would be great to have some input from @fbbergamo

I dug into this a little bit, because we're running into the same wrong log messages. In our case the investigation was triggered by ActiveRecord::RecordNotFound exceptions resulting in 401 instead of 404 being logged. Here's what I found out.
Since this change to Rails, append_info_to_payload is called even if a controller action raised an exception: https://github.com/rails/rails/pull/17978/files
That's good! BUT the payload does not have any value set under :exception:
https://github.com/rails/rails/blob/4b42c7e52aa23081ce02ffad53c76ab786214e87/actionpack/lib/action_controller/metal/instrumentation.rb#L19-L41
That means the code added/changed in https://github.com/plataformatec/devise/pull/4375 is incorrect. Making it correct would either mean setting :exception in the payload, which would require changes to Rails. I don't know how feasible that is or if we should do it at all as a first course of action when our code is based on a wrong assumption.
So, is there another way to check if an exception was thrown? I don't know of any, especially not in the context in which append_info_to_payload is called: an ensure block. I think one might get to the exception by checking the global $! but I don't know if that one's reset after an exception is handled/rescued/whatever. And if it's not reset, then we'd always think we have an exception on our hands.
If there's no other way, maybe the whole idea of assuming status 401 does not hold anymore? It's based on a pretty old commit for a different mechanism:
https://github.com/plataformatec/devise/commit/1e2dab3c0ce49efe2b5940c15f47388c69d6731b
Maybe we should just get rid of it and move the setting of 401 somewhere else?

@mrnugget just made a commit with a proposed fix. The logging was fixed in my Rails app - let me know if you can test it as well and find any issue!
@tegon here's my proposed fix

@rafaelsales The proposed fix still contains a reference to payload[:exception], which will never be set (see previous comment of mine). I'm also unsure about the consequences of globally setting 401 as a status. I'd say that scoping this to devise/warden-enabled controllers would be better.

@mrnugget That value is present when the instrument subscription is called, it's just not present when append_info_to_payload is called. I could see that both debugging and when asserting on the spec.

Check this out:

That value is present when the instrument subscription is called, it's just not present when append_info_to_payload is called. I could see that both debugging and when asserting on the spec.

@rafaelfranca Ahh, thanks for clearing that up!

I agree with the "scoping this to devise/warden-enabled controllers" though. I could add this check in the instrument: payload[:headers]['action_controller.instance'].try(:devise_controller?)
If we revert to use the log_process_action it would also be ok.

I know that this might sound excessive, but I'm kind of wary of calling a method (trough an indirect try!) on a controller "just for logging". And I also don't really like the modifying of the payload. That being said, I'm not super knowledgable in regards to ActiveSupport::Notifications, so those might be best practices.

Thank you @rafaelsales for taking the time to resolve this.
I’m witnessing this too after upgrading to 5.1.4, when a 500 exception is returned within action.

I'm more included to revert the previous PR. The right place to implement that is inside the controller instance, not inside a new subscriber.

I'm more included to revert the previous PR. The right place to implement that is inside the controller instance, not inside a new subscriber.

If that option is on the table, I think it's the best one.

@rafaelfranca @mrnugget Yeah, I also agree that reverting to the old approach is cleaner.
I just tried reverting to the old implementation while keeping the specs to make sure a regression is not introduced in the future, but I couldn't get this spec that @fbbergamo wrote originally to work.
https://github.com/rafaelsales/devise/blob/45048ee3053103d53840618760a3f3ac85846d21/test/integration/authenticatable_test.rb#L549-L560
I keep getting:
Failure:
AuthenticationOthersTest#test_not_signed_in_should_return_notification_payload_with_401_status_haha [test/integration/authenticatable_test.rb:554]:
Expected: 401
  Actual: nil

I'm going to revert the previous PR and release a patch version - we also have other bug fixes to include in this release - then we can think of another solution to the previous issue.

Thanks!

Did this only get rolled back and never actually solved?

@AndrewSouthpaw I only saw your comment now while I was digging for this. Indeed, it wasn't solved yet. We decided to revert because we needed to release a version with some important fixes, but this wasn't addressed yet. #4896 was open and it's where this should be solved.

Done!


Enable configuration of filesystem metadata extraction and prettyprint

To be merged shortly into Tika, we now allow extraction of file system metadata from the filesystem fetcher.  We also allow configuration of pretty print in the filesystem emitter.  We should enable configuration of those in the GUI.

Finished with pr #136


Add check for mkmk feature

We need a check that fails fit the issue described in https://github.com/googlei18n/ufo2ft/pull/189

Can you elaborate what the issue exactly is and how to reproduce? Otherwise, I cannot fix it, nor fontbakery can do any checks?

what the issue exactly is

https://github.com/googlei18n/ufo2ft/pull/189#issue-157273446 says a widespread OpenType layout library (InDesign vCS6) doesn't correctly process mkmk with more than one lookup. How is this not clear :)

nor fontbakery can do any checks

I propose a binary check would fail is the mkmk feature has more than one lookup; and if there is more than one subtable per anchor; and if there is no subtle for an anchor; and a source check would fail if there is more than one lookup for mkmk.

before you put any checks or spread rumors about this, we need to first reproduce this.

I had the impression that some people experienced the issue and reported it. Are you saying you think they may be mistaken and that there's need for a second person to replicate the issue before moving on?

if you have a reasonable suspicion that the reported issue is bogus then I would agree that we'd need further confirmation of the problem.

see @belluzj reply https://github.com/googlei18n/ufo2ft/pull/189#issuecomment-392094187

Seems like this was not reproducible and Jany wasn't sure if it was an issue or not. And frankly if there is an issue here, it's that Adobe should fix their software...


HDDS-2265. integration.sh may report false negative

What changes were proposed in this pull request?
Check if Maven was killed during test run (observable in integration test runs).  If so, mention it in summary.txt.  Non-empty summary.txt is handled as "failure".
https://issues.apache.org/jira/browse/HDDS-2265
How was this patch tested?
Tested both positive and negative case:

successful run, summary.txt remains empty
manually killed mvn process, verified that summary.txt contains the expected line

/label ozone

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
82
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

0
shelldocs
1
Shelldocs was not available.

+1
@author
0
The patch does not contain any @author tags.

-1
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

-1
mvninstall
51
hadoop-hdds in trunk failed.

-1
mvninstall
43
hadoop-ozone in trunk failed.

+1
mvnsite
0
trunk passed

+1
shadedclient
1006
branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

-1
mvninstall
43
hadoop-hdds in the patch failed.

-1
mvninstall
44
hadoop-ozone in the patch failed.

+1
mvnsite
0
the patch passed

+1
shellcheck
0
There were no new shellcheck issues.

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
862
patch has no errors when building and testing our client artifacts.

_ Other Tests _

-1
unit
27
hadoop-hdds in the patch failed.

-1
unit
29
hadoop-ozone in the patch failed.

+1
asflicense
36
The patch does not generate ASF License warnings.

2368

Subsystem
Report/Notes

Docker
Client=19.03.2 Server=19.03.2 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1608/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1608

Optional Tests
dupname asflicense mvnsite unit shellcheck shelldocs

uname
Linux 0d929d98df52 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 7f332eb

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1608/1/artifact/out/branch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1608/1/artifact/out/branch-mvninstall-hadoop-ozone.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1608/1/artifact/out/patch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1608/1/artifact/out/patch-mvninstall-hadoop-ozone.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1608/1/artifact/out/patch-unit-hadoop-hdds.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1608/1/artifact/out/patch-unit-hadoop-ozone.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1608/1/testReport/

Max. process+thread count
335 (vs. ulimit of 5500)

modules
C: hadoop-ozone U: hadoop-ozone

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1608/1/console

versions
git=2.7.4 maven=3.3.9 shellcheck=0.4.6

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@elek please review (let me know if I should retest until we hit the case when integration test gets killed)

Thanks @anuengineer and @elek for reviewing, and @elek for committing it.


neovim, libuv: add debug output

Description of changes
both weigh about 7MB.
would have been nice to have for https://github.com/NixOS/nixpkgs/issues/218939

Things done

Built on platform(s)

[ ] 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

[ ] Fits CONTRIBUTING.md.

But we should wait for ofborg to be clean! See https://github.com/NixOS/nixpkgs/pull/219405

@ofborg eval

this seems to break static build

this seems to break static build, see ofborg logs

This seems to be a more general problem with static libraries and separateDebugInfo. I opened an issue https://github.com/NixOS/nixpkgs/issues/219466
Meanwhile, I'll put this PR on hold.

Well, if static matters in this case, perhaps simply do this for now?
separateDebugInfo = !stdenv.hostPlatform.isStatic;

ok, done

could @CnTeng test this to see if he indeed gets a better coredump ?

could @CnTeng test this to see if he indeed gets a better coredump ?

Note it's a mass rebuild and neovim depends on rustc, so it's a long build.
To use this debug info you need additional set up, for example https://github.com/symphorien/nixseparatedebuginfod

https://github.com/neovim/neovim/issues/21467
Maybe, this problem has been improved. After using gitgutter instead of gitsigns and switching to kernel 6.1, the crash rarely happened.
And my laptop performance is not good, so unfortunately I cannot review this. I am so sorry.

I checked that:

with just the first commit I get source file info when running start in gdb on neovim-unwrapped
I get symbols for libuv with info shared in gdb on cmake

neovim/neovim#21467 Maybe, this problem has been improved. After using gitgutter instead of gitsigns and switching to kernel 6.1, the crash rarely happened. And my laptop performance is not good, so unfortunately I cannot review this. I am so sorry. @nullishamy has the same problem, maybe she can give some help.

I'd be down to give it a go. How exactly do you get this version to run locally? I'm new to doing nixpkgs development in this fashion haha!

with git-extras installed:
git clone https://github.com/NixOS/nixpkgs
cd nixpkgs
git pr https://github.com/NixOS/nixpkgs/pull/219400
nix-build -A neovim

the compiled neovim is ./result/bin/nvim

Thanks for that. Got it running, and still getting the crashes with the same function:
#0  0x00007f79dfeaa9ee in push_fs_result () from /nix/store/gw7w2qb2afjclxpc4hqj0hjzqv807fic-libluv-1.43.0-0/lib/libluv.so.1

I did not. I can rerun with that and report back.

according to this comment https://github.com/luvit/luv/issues/644#issuecomment-1500989929 , the PR seems to work. Let's merge.


can't understand how to use the seven segment display simulator in makecode beta

https://user-images.githubusercontent.com/12393831/173631933-e38b8b0f-80a6-4e34-95e9-d4c7dc464ed5.mp4

on start probably runs before the server is bound to the role. We should be setting the display value when we connect to the server but this does not seem to happen for the number api.
you can try to move set number in the on button a pressed to test it out.


[admin] Publish

Docs Build status updates of commit 52dafa5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/design/using-office-ui-fabric-react.md
:white_check_mark:Succeeded
View

docs/develop/create-sso-office-add-ins-aspnet.md
:white_check_mark:Succeeded
View

docs/develop/create-sso-office-add-ins-nodejs.md
:white_check_mark:Succeeded
View

docs/develop/get-javascript-intellisense-in-visual-studio.md
:white_check_mark:Succeeded
View

docs/develop/initialize-add-in.md
:white_check_mark:Succeeded
View

docs/develop/specify-office-hosts-and-api-requirements.md
:white_check_mark:Succeeded
View

docs/develop/use-sso-to-get-office-signed-in-user-token.md
:white_check_mark:Succeeded
View

docs/includes/register-sso-add-in-aad-v2-include.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Update the golang from 1.13.9 to 1.14.2

Signed-off-by: Humble Chirammal<EMAIL_ADDRESS>

@Madhu-1 ptal.

@nixpanic ptal.

Why not use 1.14.4 as that is the latest release?

thought of staying bit away from very latest, but I can use it too.

Instead of the deploy prefix, maybe use build.

Could use build too.

@nixpanic addressed. PTAL.

This could be kind of risky I think, are we making use of go-1.14.x. if the new features added in go 1.14 (which we might use in cephcsi)might not be available in 1.13. the build may fail( i would like to keep 1.13 for now)

@madhu considering the CI passed, that gives the guarantee, Isnt it ? also are you aware of any specific changes which could break the system?

This could be kind of risky I think, are we making use of go-1.14.x. if the new features added in go 1.14 (which we might use in cephcsi)might not be available in 1.13. the build may fail( i would like to keep 1.13 for now)

@Madhu considering the CI passed, that gives the guarantee, Isnt it ?
we need to add CI for both golang versions. and make sure everything works. this could be risky for production builds ( as mostly cephcsi will be built with go 1.13 as 1.14 is new)

also are you aware of any specific changes which could break the system?
Currently nothing, we might miss something if we don't test cephcsi with go 1.13

Madhu has a point on the 1.13.x support. If we only test with 1.14.x, we may introduce new things that do not work with 1.13.x anymore. It might be a good idea to check what other projects (Kubernetes) have as guidelines for updating the Golang version.

Closing this for avoiding a wrong push .


feat: add prql library generation to be used in other platforms (e.g. Golang)

I've added a small shim that exports to_sql and to_json and generates static and dynamic libraries that can be used through FFI in other platforms. I am using it in Go.

Thanks @sigxcpu76 ! Great to have you as a contributor.
Is the intention this would be released to crates.io? If not, could we add publish = false (e.g. https://github.com/prql/prql/blob/main/prql-js/Cargo.toml#L6) to the cargo.toml?
I don't have much experience for building these, so I defer to you / others. As long as you're OK with changes in the future, it's fine to merge this as-is.
Cheers!

I have no opinion on this. I am a Rust newbie, so I don't even know too much about publishing. If this can be integrated "as is" so be it. I am OK with changes in the future as long as they keep it simple (which I assume it is the default). Using external libraries from Go is a PITA anyway, so I tried to make it as simple as I could.

OK cool. How do you use it from go?
My guess is that this shouldn't be published to crates.io, (or if it is, it should possibly be integrated into prql-compiler?) Would you be OK to add that line so it doesn't automatically get published there?

My guess is that this shouldn't be published to crates.io, (or if it is, it should possibly be integrated into prql-compiler?) Would you be OK to add that line so it doesn't automatically get published there?

Ah, sorry, you already did! I missed it.

I see that it already has "publish = false".
edition = "2021"
name = "prql-lib"
publish = false
version = "0.2.6"```

One more thing — if you have the patience, it would be great to have a very short README on how you've used it from go. I'm OK merging as-is though.

I was about to add a README. Give me 5 minutes.

(merge main to get the rust 1.63 lints fix!)

If you can enable me to push to the PR (https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork) I can help fix the lints.
Or here's at least some of the diff, from running pre-commit run -a:
commit 2859efd166f8c4ba90d711f4feefb28df17071cf
Author: Maximilian Roos<EMAIL_ADDRESS>Date:   Thu Aug 11 14:07:14 2022 -0700

    Lint

diff --git a/prql-lib/Cargo.toml b/prql-lib/Cargo.toml
index 60c0392..d83cbe8 100644
--- a/prql-lib/Cargo.toml
+++ b/prql-lib/Cargo.toml
@@ -15,4 +15,4 @@ serde_json = "1.0"
 [package.metadata.release]
 shared-version = true
 tag-name = "{{version}}"
-tag-prefix = ""
\ No newline at end of file
+tag-prefix = ""
diff --git a/prql-lib/README.md b/prql-lib/README.md
index 0191613..8a9042d 100644
--- a/prql-lib/README.md
+++ b/prql-lib/README.md
@@ -1,6 +1,7 @@
 # PRQL library target

 ## Description
+
 This module compiles PRQL as a library (both `.a` and `.so` are generated). This allows embedding in languages that support FFI - looking at Golang.

 ## Usage
@@ -13,7 +14,7 @@ ## Code

 Below is an example from an actual application that is using PRQL in Go.

-```go
+````go
 package prql

 /*
@@ -39,7 +40,7 @@ ## Code
     // from the PRQL compiler with a very short query
 	cStringBufferLength := 1024

-    // allocate a buffer 3 times the length of the PRQL query to store the
+    // allocate a buffer 3 times the length of the PRQL query to store the
     // generated SQL query
 	if len(prql)*3 > cStringBufferLength {
 		cStringBufferLength = len(prql) * 3
@@ -78,4 +79,4 @@ ## Code

 	return "", errors.New(C.GoString(cstr))
 }```
-
+````
diff --git a/prql-lib/src/lib.rs b/prql-lib/src/lib.rs
index c77b455..526b548 100644
--- a/prql-lib/src/lib.rs
+++ b/prql-lib/src/lib.rs
@@ -56,4 +56,4 @@ pub extern "C" fn to_json(query: *const c_char, out: *mut c_char) -> c_int {
     } else {
         return 0;
     };
-}
\ No newline at end of file
+}

I'm also getting some lint errors from clippy though.

I guess that's all good now. Thanks for your patience.

I'm still seeing errors from cargo clippy. Some of those require git merge main. Some are very easy (e.g. remove return statements), one I need to look at around unsafe.
You can see them with cargo clippy, or if you can enable me to push to the PR (https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork) I can help fix them.

It looks like I cannot give you push access to this PR. I don't have that checkbox "Allow edits from maintainers"

@max-sixty all good now. Happy Clippy!

Awesome! Thanks for your patience resolving the lints. Great to have you as a contributor @sigxcpu76

hey @sigxcpu76
I am a golang dev, and total Rust newbie.
But this shows a nice way to do packaging for golang: https://github.com/rajveermalviya/go-webgpu
The rust binary output is committed to github. Yeah its not great but it makes it a "go run" or "go install" for us dummies.

Thanks for commenting @gedw99. Generally we should avoid adding binaries to the repo, given they'll grow the repo size on every change. But GitHub has a feature where releases can add "Assets" — e.g. here — we'd be very open to having them there. They're also downloadable with a simple HTTP call. Let us know whether that's something you'd be interested to explore further. Thanks!

FYI one project that I just saw which has lots of built binaries in their release is Task: https://github.com/go-task/task/releases/tag/v3.17.0, if we want to use that as a template (though it's in go rather than rust)


[FEATURE] Change parent of a logical volume for volume rebuild

This feature will be used at the end of the volume rebuild process: the just rebuilded snapshot stack must have as parent live data the volume added as read only bdev to the raid

cc @longhorn/dev-data-plane

@DamiaSan please don't add issues to the milestone directly, because PM will help with milestone assignment, but you can raise the priority of any issues you think we should add to which milestone.
For the recent two issues you created, they are fine since we already discussed them in the sync call.

I thought that this operation could simply consist in changing the reference of the backing device and of the parent id of the volume in such a way that they pointed to the snapshot we want, but it is not so simply. Because blobstore works on cluster basis: suppose that clusters at the same index has been allocated both in the snapshot and in the logical volume, but written in different blocks: in this case the blobstore read only the cluster of the volume and so we don't have the data of the snapshot. During "normal" write operation it works using Copy-on-write (see https://spdk.io/doc/blob.html for reference), so before to write the data into the cluster of the volume, blobstore read the data of the corresponding cluster of the snapshot. So, to perform the volume set parent, I have to merge the data of the clusters allocated both in the volume and in the snapshot. And the consequence is that the set parent operation is not simply a metadata operation but it involves data copy, so its duration can be longer

Thinking better to the problem above, we can't solve it only looking and reading from the parent snapshot, we should involve in the operations all snapshots of the chain. Because a cluster could be allocated both by the head volume and by a older snapshot but not by snapshots in the middle ...

Because blobstore works on cluster basis

Does this mean that, each time we write a block (4096 Bytes for example) to a lvol, SPDK will read the whole cluster data (1MB for example), modify that block, then flush the whole cluster data into the disk (COW)? This looks inefficient for random IO performance. Not sure why SPDK prefers this design...

Thinking better to the problem above, we can't solve it only looking and reading from the parent snapshot, we should involve in the operations all snapshots of the chain.
Maybe we could simply copy the data from the write only volume in the raid1 to the head volume of the just rebuilt snapshot chain, and after change the replica in the raid1 ...

I didn't get the solution you mentioned but I understood the issue you were worried about...
I am thinking if we can make the RAID IO more intelligent as an alternative solution: If there are WO bdevs in the list, the COW should happen in the RAID level. In other words, when a write request comes, the RAID should read the whole cluster from a RW base bdev, modify the block the write request is targeting, then issue the cluster-based write to all base bdevs. This idea is similar to what we have already done in the legacy volume.

the time the I/O is stopped can be greater because we have to wait the copy of lvol_temp

The IO pause time for this copy is unpredictable. If a RAID is used by a write-intensive applications, and the rebuilding over the existing snapshots would take hours, then the newly written data in lvol_temp may be pretty large. Copying this kind of lvol_temp may take minutes or even hours as well, which is unacceptable for users or online rebuilding scenarios.

Because doing the COW in the RAID, we will read from the rw base bdev for every write operation.

In comparison, I think this cost is acceptable unless the performance is worse than the legacy volumes.

BTW, the lvol_temp handling or removal mayh be a problem. As I mentioned in the snapshot feature ticket, directly deleting this (tmp) head lvol would lead to the whole snapshot chain cleanup. Will the upcoming API support connect a snapshot into a new head lvol (without removing the old head lvol lvol_temp)?

In the example I described above, lvol_temp has no snapshots and there is no need of a new API to connect a snapshot to a new head lvol.
However, as I wrote in snapshot feature ticket, deleting a head lvol doesn't cause the snapshots deletion.

cc @james-munson

However, as I wrote in snapshot feature https://github.com/longhorn/longhorn/issues/6137, deleting a head lvol doesn't cause the snapshots deletion.

Got it. I just re-tried it. You are right. The snapshots won't be cleaned up after the head lvol deletion.

In the example I described above, lvol_temp has no snapshots and there is no need of a new API to connect a snapshot to a new head lvol.

Sorry I mean lvol2 in your example. But I think the API is for connecting a snapshot lvol with a regular lvol anyway.

The right solution, to do what we want, can be to use external snapshot: in this way we can do COW in an efficient way, because it is done at blob layer. Let's make an example of volume rebuilding: we have lvol1 on node1 that has one snapshot, snap1_1. We have to rebuild lvol2 on node 2, and this can be done in two phases.
Phase1, create the volume to be added in WO mode to the RAID:

pause I/O
on node1,make a snapshot of lvol1 called snap1_2 (this is the snapshot at the top of the snapshot stack, below the head lvol)
on node1, export snap1_2 via nvme-of
on node2, attach to snap1_2
on node2, create lvol2 with snap1_2 as external snapshot with RPC  bdev_lvol_clone_bdev. This means that lvol2 is a clone of snap1_2, but they reside on different nodes
on node2, export lvol2 via nvme-of
on node1, attach to to lvol2
on controller node, add lvol2 to the RAID1 in WO mode
resume I/O

Phase2, rebuild the snapshot stack:

on node2, create lvol_temp
on node2, export lvol_temp via nvme-of
on node1, attach to lvol_temp
on node1, shallow copy of snap1_1 into lvol_temp
on node2, make a snapshot of lvol_temp called snap2_1
on node1, shallow copy of snap1_2 into lvol_temp
on node2, make a snapshot of lvol_temp called snap2_2
pause I/O
on node2, change the parent of snap2_2 from lvol_temp to lvol2
on node1, put lvol2 in RAID as RW
resume I/O
delete lvol_temp

on node2, create lvol2 with snap1_2 as external snapshot with RPC  bdev_lvol_clone_bdev. This means that lvol2 is a clone of snap1_2, but they reside on different nodes
on node2, export lvol2 via nvme-of
on node1, attach to to lvol2
on controller node, add lvol2 to the RAID1 in WO mode

Do we still need to export lvol2 and attach it on node1? Can we directly add this cloned lvol2 to the RAID?
BTW, will exporting snap1_2 affect lvol1?

Do we still need to export lvol2 and attach it on node1? Can we directly add this cloned lvol2 to the RAID?

I mean: add to the RAID the "exported" version of lvol2, sorry. lvol2 is directly accessible only in the node where its lvolstore resides.

BTW, will exporting snap1_2 affect lvol1?

No, exporting snap1_2 should not affect lvol1: when you add the snapshot as namespace to a nvmf subsystem, the bdev relative to the snapshot is claimed with mode SPDK_BDEV_CLAIM_EXCL_WRITE, which means exclusive writer, with allowances for legacy behavior. This means that only the nvmf subsystem can make I/O over this bdev (in this case only read are allowed, because snapshot are read only), but the legacy behavior of the snapshot is preserved, so lvol1 can continue to read from it.

the bdev relative to the snapshot is claimed with mode SPDK_BDEV_CLAIM_EXCL_WRITE

Which bdev do you mean? The attached nvme bdev lvol2 of this exported snapshot snap1_2? And why is it a writer? And is writing data to lvol2 allowed? Where/Which lvstore will be the data written to lvol2 stored?

the legacy behavior of the snapshot is preserved, so lvol1 can continue to read from it.

Is write allowed for lvol1 as well?

Which bdev do you mean? The attached nvme bdev lvol2 of this exported snapshot snap1_2? And why is it a writer? And is writing data to lvol2 allowed? Where/Which lvstore will be the data written to lvol2 stored?

When you create a lvol, a bdev is created on top of it. It is the bdev that you have in the response of bdev_get_bdevs RPC, for example:
    "name": "97538c3f-72ae-4091-b19b-e9fb144ed84a",
    "aliases": [
      "lvs2/snap2"
    ],
    "product_name": "Logical Volume",
    "block_size": 512,
    "num_blocks": 40960,
    "uuid": "97538c3f-72ae-4091-b19b-e9fb144ed84a",
    "assigned_rate_limits": {
      "rw_ios_per_sec": 0,
      "rw_mbytes_per_sec": 0,
      "r_mbytes_per_sec": 0,
      "w_mbytes_per_sec": 0
    },
    "claimed": false,
    "zoned": false,
    "supported_io_types": {
      "read": true,
      "write": false,
      "unmap": false,
      "write_zeroes": false,
      "flush": false,
      "reset": true,
      "compare": false,
      "compare_and_write": false,
      "abort": false,
      "nvme_admin": false,
      "nvme_io": false
    },
    "driver_specific": {
      "lvol": {
        "lvol_store_uuid": "0c7337e3-2add-4909-abd5-76275e2ed72f",
        "base_bdev": "Aio2",
        "thin_provision": true,
        "snapshot": true,
        "clone": false,
        "clones": [
          "lvol2"
        ],
        "esnap_clone": false
      }
    }
  }

Is write allowed for lvol1 as well?

Yes

When you create a lvol, a bdev is created on top of it. It is the bdev that you have in the response of bdev_get_bdevs RPC, for example:

I knew this part.
OK you mean the snapshot bdev snap1_2 will be claimed as mode SPDK_BDEV_CLAIM_EXCL_WRITE? I still don't understand what exclusive writer is. Does it just mean that the existing/old head lvol can still read data from it?
~~And I want to confirm, where the cloned lvol2 based on this exported snap1_2 store data. When creating a lvol via clone, ~~ I see, bdev_lvol_clone_bdev is different from API bdev_lvol_clone. The latter one is what we will use for regular volume clone and it's already in go-spdk-helper. The former one is a new API for external snapshot bdevs only.

Does it just mean that the existing/old head lvol can still read data from it?

The head lvol of snap1_2, lvol1, can continue to read from it; and this is the legacy behavior. The nvmf subsystem, to which snap1_2 is added as namespace, is the unique actor that can make I/O over the bdev relative to snap1_2. In our case, due to the fact that snap1_2 is a snapshot, only read operations can be done over it.
Before adding snap1_2 to the nvmf subsystem, the situation is the following:
  {
    "name": "97538c3f-72ae-4091-b19b-e9fb144ed84a",
    "aliases": [
      "lvs2/snap1_2"
    ],
    "product_name": "Logical Volume",
    "block_size": 512,
    "num_blocks": 40960,
    "uuid": "97538c3f-72ae-4091-b19b-e9fb144ed84a",
    "assigned_rate_limits": {
      "rw_ios_per_sec": 0,
      "rw_mbytes_per_sec": 0,
      "r_mbytes_per_sec": 0,
      "w_mbytes_per_sec": 0
    },
    "claimed": false,
    "zoned": false,
    "supported_io_types": {
      "read": true,
      "write": false,
      "unmap": false,
      "write_zeroes": false,
      "flush": false,
      "reset": true,
      "compare": false,
      "compare_and_write": false,
      "abort": false,
      "nvme_admin": false,
      "nvme_io": false
    },
    "driver_specific": {
      "lvol": {
        "lvol_store_uuid": "0c7337e3-2add-4909-abd5-76275e2ed72f",
        "base_bdev": "Aio2",
        "thin_provision": true,
        "snapshot": true,
        "clone": false,
        "clones": [
          "lvol1"
        ],
        "esnap_clone": false
      }
    }
  },
  {
    "name": "1687d1a6-02ae-4386-9b2b-021562ffdbc9",
    "aliases": [
      "lvs2/lvol1"
    ],
    "product_name": "Logical Volume",
    "block_size": 512,
    "num_blocks": 40960,
    "uuid": "1687d1a6-02ae-4386-9b2b-021562ffdbc9",
    "assigned_rate_limits": {
      "rw_ios_per_sec": 0,
      "rw_mbytes_per_sec": 0,
      "r_mbytes_per_sec": 0,
      "w_mbytes_per_sec": 0
    },
    "claimed": false,
    "zoned": false,
    "supported_io_types": {
      "read": true,
      "write": true,
      "unmap": true,
      "write_zeroes": true,
      "flush": false,
      "reset": true,
      "compare": false,
      "compare_and_write": false,
      "abort": false,
      "nvme_admin": false,
      "nvme_io": false
    },
    "driver_specific": {
      "lvol": {
        "lvol_store_uuid": "0c7337e3-2add-4909-abd5-76275e2ed72f",
        "base_bdev": "Aio2",
        "thin_provision": true,
        "snapshot": false,
        "clone": true,
        "base_snapshot": "snap1_2",
        "esnap_clone": false
      }
    }
  }

After adding, it becomes:
  {
    "name": "97538c3f-72ae-4091-b19b-e9fb144ed84a",
    "aliases": [
      "lvs2/snap1_2"
    ],
    "product_name": "Logical Volume",
    "block_size": 512,
    "num_blocks": 40960,
    "uuid": "97538c3f-72ae-4091-b19b-e9fb144ed84a",
    "assigned_rate_limits": {
      "rw_ios_per_sec": 0,
      "rw_mbytes_per_sec": 0,
      "r_mbytes_per_sec": 0,
      "w_mbytes_per_sec": 0
    },
    "claimed": true,
    "claim_type": "exclusive_write",
    "zoned": false,
    "supported_io_types": {
      "read": true,
      "write": false,
      "unmap": false,
      "write_zeroes": false,
      "flush": false,
      "reset": true,
      "compare": false,
      "compare_and_write": false,
      "abort": false,
      "nvme_admin": false,
      "nvme_io": false
    },
    "driver_specific": {
      "lvol": {
        "lvol_store_uuid": "0c7337e3-2add-4909-abd5-76275e2ed72f",
        "base_bdev": "Aio2",
        "thin_provision": true,
        "snapshot": true,
        "clone": false,
        "clones": [
          "lvol1"
        ],
        "esnap_clone": false
      }
    }
  },
  {
    "name": "1687d1a6-02ae-4386-9b2b-021562ffdbc9",
    "aliases": [
      "lvs2/lvol1"
    ],
    "product_name": "Logical Volume",
    "block_size": 512,
    "num_blocks": 40960,
    "uuid": "1687d1a6-02ae-4386-9b2b-021562ffdbc9",
    "assigned_rate_limits": {
      "rw_ios_per_sec": 0,
      "rw_mbytes_per_sec": 0,
      "r_mbytes_per_sec": 0,
      "w_mbytes_per_sec": 0
    },
    "claimed": false,
    "zoned": false,
    "supported_io_types": {
      "read": true,
      "write": true,
      "unmap": true,
      "write_zeroes": true,
      "flush": false,
      "reset": true,
      "compare": false,
      "compare_and_write": false,
      "abort": false,
      "nvme_admin": false,
      "nvme_io": false
    },
    "driver_specific": {
      "lvol": {
        "lvol_store_uuid": "0c7337e3-2add-4909-abd5-76275e2ed72f",
        "base_bdev": "Aio2",
        "thin_provision": true,
        "snapshot": false,
        "clone": true,
        "base_snapshot": "snap1_2",
        "esnap_clone": false
      }
    }
  }

As you can see, snap1_2 is still a snapshot of lvol1, but now it is claimed as exclusive_write (and write I/O is not supported)

I see, bdev_lvol_clone_bdev is different from API bdev_lvol_clone. The latter one is what we will use for regular volume clone and it's already in go-spdk-helper. The former one is a new API for external snapshot bdevs only.

We will use  bdev_lvol_clone_bdev only during the rebuild process. To revert a volume to a particular snapshot we will continue to use bdev_lvol_clone . bdev_lvol_clone_bdev creates a clone from an external snapshot, i.e. a snapshot that comes from another lvstore (in our case from another node).

As needed by @derekbit for the backup restore operation, this functionality will be extended to set the parent of any kind of logical volume, not only of external snapshot's clone. So we can set the snapshot parent for a volume:

clone of a snapshot
clone of an external snapshot
not clone

This enhancement has already been done for upstream, so now I will port it back on our downstream repo and will update PR https://github.com/longhorn/spdk/pull/16. The API has been renamed to bdev_lvol_set_parent to distinguish it from a new enhancement I am doing directly on upstream to set an external snapshot as the parent of a lvol.


fix: rbac versioning

Helm installs fine with the updated apiVersion to v1 for the clusterRole.
Before it was erroring out due to v1beta1.
Note I set the image.tag=latest to avoid imagePullErrors

Thanks. Please merge master to run CI.


Update URL with template variables

The URL should always reflect the current template variables, for easy sharing.

+1 for this,
currently is it quite painful to build flexible dashboard because on the lack on this

@ashmere Just checking whether you know this - while the URL doesn't get template variables auto-updated, you can already encode them in the URL yourself. For example, like: http://promdash/host-stats#?!var.host=<my-hostname>


I would like to ask if layout_custom.py can be used ？

Very anxious.
I would like to ask if layout_custom.py can be used, I need to include those additional attractive forces layouts, I see you say this is a failed experiment。Is there a working version available now

The code should be working, you can try it out. It's just that in my experiments the results weren't better than without these forces. You may also need to adjust some coefficients (for different forces) for your dataset.

@ilivans   in  layout_custom.py ，What are these functions used for ？ force_directed_layout_angles1，force_directed_layout_angles2，force_directed_layout_initial，force_directed_layout_line_direction
What constraints are they used to complete?


could you tell how to resolve?

hi.
trying to run this app. but it show "site cannot be reached "
"Failed to load resource: net::ERR_CONNECTION_REFUSED"
below is from my cmd
C:\Users\user\Desktop\search-crawler>node index.js
js-bson: Failed to load c++ bson extension, using pure JS version
Connecting to mongo database...
Mongo database connected.
search-crawler running...

Thank you

Can you give me more information? Where do you see that error? What configuration do you have?
Consider that the default port is process.env.PORT || process.env.WEB_PORT || 8181;.

js-bson: Failed to load c++ bson extension, using pure JS version

This is probably related to some packages no more compatible with newer node js versions.
I have started to upgrade some of it, here the branch:
https://github.com/davideicardi/search-crawler/tree/upgrade-2018


Sementation fault on Windows with Intel UHD Graphics 630

Short info header:

GFX version: gfx-hal 0.4.0
OS: Windows 10
GPU: Adapter Vulkan AdapterInfo { name: "Intel(R) UHD Graphics 630", vendor: 32902, device: 16027, device_type: IntegratedGpu }
Driver version: <IP_ADDRESS>95 and <IP_ADDRESS>44

See https://github.com/parasyte/pixels/issues/49#issuecomment-575665724 for additional information. Updating to driver version <IP_ADDRESS>84 fixes the crash.
I think you might want to blacklist these old drivers that can cause crashes. The original report was filed against pixels, which only draws a single textured quad. Nothing fancy...

I also have this problem (as described here) when using Intel HD Graphics 4600 on an Intel Core i7-4790K, driver version <IP_ADDRESS>26, which Intel Driver & Support Assistant says is the latest version.

@ceranco it may very well be that Intel isn't interested in updating the driver for this GPU, since it's quite old...


Not sure what Been Used means - Grammer?

Describe the bug
When on the LG editing screen there is a column called "Been Used".  I think this means that it has been used in the project, but seems grammatically incorrect.

Version
Version:  1.4.0-nightly.235171.cfc0c11
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0
Browser

[X ] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[X] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Open a Bot Project or Create a new one
Click on the Bot Responses navigation
See "Been Used"

Expected behavior
To have a better description of this column.

related bug #7118

closing as dupe (more or less) or #7118


make_credential_user_entity - Optional entry icon not recognized.

The Google test suite (https://github.com/google/CTAP2-test-tool) found a bug.
According to the CTAP2.1 spec, §6.1 (https://fidoalliance.org/specs/fido-v2.1-rd-20210309/fido-client-to-authenticator-protocol-v2.1-rd-20210309.html#authenticatorMakeCredential):

Note: [WebAuthn-2] has removed the optional icon member. Authenticators MUST not error if the icon member is present, they may optionally not store this value.

Test output:
Failed test: Tests bad parameters in user parameter of MakeCredential. (id: make_credential_user_entity) - Optional entry icon not recognized.
The failing error code is `CTAP1_ERR_INVALID_PARAMETER`.

Log trace from the bridge:
INFO:bridge:Transmitting CTAP command: AUTHN_MakeCredential
DEBUG:bridge:CBOR command payload: {
  "1": "h'cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd",
  "2": {
    "id": "make_credential_user_entity.example.com"
  },
  "3": {
    "id": "h'1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d",
    "icon": "http://icon.png"
  },
  "4": [
    {
      "alg": -7,
      "type": "public-key"
    }
  ]
}
INFO:bridge:CTAP command requires user presence, sending 'waiting for acknowledgment' status
INFO:bridge:APDU command: 176 bytes data
DEBUG:bridge:APDU command: DATA=801000000000a701a4015820cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd02a162696478276d616b655f63726564656e7469616c5f757365725f656e746974792e6578616d706c652e636f6d03a262696458201d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d6469636f6e6f687474703a2f2f69636f6e2e706e670481a263616c672664747970656a7075626c69632d6b65790000
INFO:bridge:APDU response: SW1=0x90, SW2=0x0, 1 bytes data
DEBUG:bridge:APDU response: DATA=02
ERROR:bridge:CTAP error: CTAP_STATUS_CODE.CTAP1_ERR_INVALID_PARAMETER
ERROR:ctap.auth:Exception from authenticator: CTAP error response from authenticator

The error here is that the user entry is missing the name (and displayName) parameters.
Both are required (not optional) at https://w3c.github.io/webauthn/#dictdef-publickeycredentialuserentity , and argument 3 to a makeCredential is a PublicKeyCredentialUserEntity. But the CTAP standard says the name is optional so I will relax the check.
Icons are accepted (and ignored) just fine.


MacOS VScode pre-release has not been updated in a about week

Hi,
There hasn't been a new pre-release after Feb 14. Am I just too impatient?
Here is the vscode details:
Version: 1.64.2 Commit: f80445acd5a3dadef24aa209168452a3d97cc326 Date: 2022-02-09T22:00:58.347Z (1 wk ago) Electron: 13.5.2 Chromium: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0 OS: Darwin x64 20.6.0
This what vscode shows in RA extension info
More Info Released on 10/02/2020, 10:24:28 Last updated 14/02/2022, 07:15:25 Identifier matklad.rust-analyzer

Should have been fixed yesterday: https://github.com/rust-analyzer/rust-analyzer/issues/11523#issuecomment-1047821462

It was fixed, but last nightly didn't work because GitHub Actions got tired or something: https://github.com/rust-analyzer/rust-analyzer/actions/runs/1884679607/attempts/1.

Great, I'll close this one when an update arrives.

It's up: https://marketplace.visualstudio.com/items?itemName=matklad.rust-analyzer.

Updated fine! Thanks!


Executing tasks inside Bash on Ubuntu on Windows 10

VSCode Version: 1.5.2
OS Version: Windows 10 build 14926

I've set the Integrated Terminal so that it runs Bash on Ubuntu on Windows, which works fine. However, is there a way to run a task in Bash? For example, running a Python file so that it is the equivalent of python3 <filename>.py in Bash, as opposed to running in Windows CMD?

An extension can now do this trivially by calling Terminal.sendText, this could be implemented to send to the default shell or a one defined by the extension (in v1.6). If you're interested in Python I recommend filing this against the Python extension's repo https://github.com/DonJayamanne/pythonVSCode


Distribution of releases

Discussed in https://github.com/helmfile/helmfile/discussions/119

Originally posted by samuelsayag May 29, 2022
Hello,
Would it be possible to have the helmfile binaries distributed like in the old repository and not just having sources?
LIke this:

Thanks!

It's breaking functions such as https://github.com/feniix/asdf-helmfile/issues/4

@eperdeme @tigerquoll It will be published in the near future.


bloaty: 2017-10-05 -> 2018-05-22

add zlib dep (cmake tries to find it, provide it JIC)
no need to populate with path to c++filt, handled internally now
continue to copy ourselves, new install target isn't ready yet

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

[x] NixOS
[ ] macOS
[x] 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 nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Success on x86_64-darwin (full log)
Attempted: bloaty
Partial log (click to expand)

100% tests passed, 0 tests failed out of 5

Total Test time (real) =   1.27 sec
installing
post-installation fixup
strip is /nix/store/kdff2gim6417493yha769kh00n63lnrw-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/6s5bvs1g30hmnvaw7lcayjfpgs5gc09p-bloaty-2018-05-22/lib  /nix/store/6s5bvs1g30hmnvaw7lcayjfpgs5gc09p-bloaty-2018-05-22/bin
patching script interpreter paths in /nix/store/6s5bvs1g30hmnvaw7lcayjfpgs5gc09p-bloaty-2018-05-22
/nix/store/6s5bvs1g30hmnvaw7lcayjfpgs5gc09p-bloaty-2018-05-22

Success on aarch64-linux (full log)
Attempted: bloaty
Partial log (click to expand)
Total Test time (real) =   2.28 sec
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/irnrwraxhdw0wk1x2mp649wcn2ws5ncb-bloaty-2018-05-22
shrinking /nix/store/irnrwraxhdw0wk1x2mp649wcn2ws5ncb-bloaty-2018-05-22/bin/bloaty
strip is /nix/store/jk6j4lh9v5mvjdbdc35sj0zffhhf6s56-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/irnrwraxhdw0wk1x2mp649wcn2ws5ncb-bloaty-2018-05-22/lib  /nix/store/irnrwraxhdw0wk1x2mp649wcn2ws5ncb-bloaty-2018-05-22/bin
patching script interpreter paths in /nix/store/irnrwraxhdw0wk1x2mp649wcn2ws5ncb-bloaty-2018-05-22
checking for references to /build in /nix/store/irnrwraxhdw0wk1x2mp649wcn2ws5ncb-bloaty-2018-05-22...
/nix/store/irnrwraxhdw0wk1x2mp649wcn2ws5ncb-bloaty-2018-05-22

Success on x86_64-linux (full log)
Attempted: bloaty
Partial log (click to expand)
Total Test time (real) =   1.21 sec
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/8i5l0i03011pwjvcr3g6wn4sz171xbi0-bloaty-2018-05-22
shrinking /nix/store/8i5l0i03011pwjvcr3g6wn4sz171xbi0-bloaty-2018-05-22/bin/bloaty
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/8i5l0i03011pwjvcr3g6wn4sz171xbi0-bloaty-2018-05-22/lib  /nix/store/8i5l0i03011pwjvcr3g6wn4sz171xbi0-bloaty-2018-05-22/bin
patching script interpreter paths in /nix/store/8i5l0i03011pwjvcr3g6wn4sz171xbi0-bloaty-2018-05-22
checking for references to /build in /nix/store/8i5l0i03011pwjvcr3g6wn4sz171xbi0-bloaty-2018-05-22...
/nix/store/8i5l0i03011pwjvcr3g6wn4sz171xbi0-bloaty-2018-05-22


wasmtime_config_interruptable_set missing

System.EntryPointNotFoundException: Unable to find an entry point named 'wasmtime_config_interruptable_set' in shared library 'wasmtime'.
   at Wasmtime.Config.Native.wasmtime_config_interruptable_set(Handle config, Boolean enable)
   at Wasmtime.Config.WithInterruptability(Boolean enable)

https://github.com/bytecodealliance/wasmtime/commit/c22033bf9397e9bec3704ff10ca897598e3dcd08


Update README with a TOC and minor fixes

Thank you.
However, the TOC must be one that is automatically updated in order to be adopted.
Also, can't it be something generated by GitHub?

The TOC can be automatically updated from the the same thing that created it - VS Code extension "Markdown All in One"'s Table of Contents feature.
Up to you if you'd like to have one in the body of the readme or not.


Use cml to create release PR

Part of an effort to use our own tools more/where appropriate.
This current state will replace what was present. However, cml pr create doesn't have an option for labels, so some additional bash script is required.
cml pr create output prints the pr URL like https://github.com/iterative/vscode-dvc/pull/2998 and awk -F / '{print $NF}' splits on / and prints the last field being the pr # for gh to add the label.

cc @iterative/vs-code feel free to merge as is if this is acceptable to you, but I think its fine to hold out for a cml feature to support labels

cc @casperdcl I think a --labels option is an easy addition.

I'll take a look and push some additional changes.
On Fri, Dec 30, 2022, 13:44 Matt Seddon @.***> wrote:

@.**** commented on this pull request.
In .github/workflows/create-release-pr.yml
https://github.com/iterative/vscode-dvc/pull/3034#discussion_r1059527215
:

       Please close and reopen this PR to run the required workflows (Required statuses must pass before merging).

     new_pr=$(cml pr create \

       --token="${{ secrets.GITHUB_TOKEN }}" \

       --message="Update version and CHANGELOG for release" \

       --title="Update version and CHANGELOG for release" \

       --body="$(cat ./pr-body.md)")

     gh pr edit $(echo "$new_pr" | awk -F / '{print $NF}') --add-label "make release go now"

@dacbd https://github.com/dacbd the label isn't important, we just need
to drop it from the if statement in .github/workflows/publish.yml
—
Reply to this email directly, view it on GitHub
https://github.com/iterative/vscode-dvc/pull/3034#pullrequestreview-1233295350,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIN7M5KWGTPKYY2KAYCOPDWP5JUVANCNFSM6AAAAAATNBLVIE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Can we use CML to create a PR in this repository every time our sub-repo has been updated (https://github.com/iterative/vscode-dvc-demo)?

Can we use CML to create a PR in this repository every time our sub-repo has been updated (https://github.com/iterative/vscode-dvc-demo)?

@mattseddon I think we can definitely do this. The pattern would be for vscode-dvc-demo on push to main, trigger a repositiory_dispatch here which would update the submodule and create a PR. I can do this in a separate set or PRs just make an issue an assign it to me and I'll likely get it done before next monday.

Can we use CML to create a PR in this repository every time our sub-repo has been updated (https://github.com/iterative/vscode-dvc-demo)?

@mattseddon I think we can definitely do this. The pattern would be for vscode-dvc-demo on push to main, trigger a repositiory_dispatch here which would update the submodule and create a PR. I can do this in a separate set or PRs, just make an issue an assign it to me and I'll likely get it done before next monday.

Will leave it with you 🙏🏻


Not working on iOS

Hello , im using icmp mode in client side and server side , for wireguard , now its working on pc and android but not working on iOS , any sloustions ? its very nessesary

There is no real solution, unless someone develops this feature.
The iterative solution is to run udp2raw on an openwrt router/ raspberry pi.