toMatchImageSnapshot fails with Path must be a string. Received undefined

We are trying to use your plugin and when we use the ImageSnapshot cypress throws an error.
Sample code:
cy.document().toMatchImageSnapshot()

The .png image snapshots are created correctly under __image_snapshots__ but the tests fail and cypress throws the following error:
CypressError: cy.task('cypress-plugin-snapshot:matchImage') failed with the following error:

> TypeError: Path must be a string. Received undefined
    at assertPath (path.js:28:11)
    at Object.relative (path.js:1267:5)
    at getImageData (/Users/ioanagalan/Templafy/Templafy.AutomatedQualityAssurance/CypressTests/node_modules/cypress-plugin-snapshots/src/utils/image/getImageData.js:8:24)
    at matchImageSnapshot (/Users/ioanagalan/Templafy/Templafy.AutomatedQualityAssurance/CypressTests/node_modules/cypress-plugin-snapshots/src/tasks/matchImageSnapshot.js:70:15)
    at invoke (/Users/ioanagalan/Library/Caches/Cypress/3.3.1/Cypress.app/Contents/Resources/app/packages/server/lib/plugins/child/task.js:37:14)
    at /Users/ioanagalan/Library/Caches/Cypress/3.3.1/Cypress.app/Contents/Resources/app/packages/server/lib/plugins/util.js:48:16
    at tryCatcher (/Users/ioanagalan/Library/Caches/Cypress/3.3.1/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/util.js:16:23)
    at Function.Promise.attempt.Promise.try (/Users/ioanagalan/Library/Caches/Cypress/3.3.1/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/method.js:39:29)
    at Object.wrapChildPromise (/Users/ioanagalan/Library/Caches/Cypress/3.3.1/Cypress.app/Contents/Resources/app/packages/server/lib/plugins/util.js:47:28)
    at Object.wrap (/Users/ioanagalan/Library/Caches/Cypress/3.3.1/Cypress.app/Contents/Resources/app/packages/server/lib/plugins/child/task.js:43:8)
    at execute (/Users/ioanagalan/Library/Caches/Cypress/3.3.1/Cypress.app/Contents/Resources/app/packages/server/lib/plugins/child/run_plugins.js:86:12)
    at EventEmitter.ipc.on (/Users/ioanagalan/Library/Caches/Cypress/3.3.1/Cypress.app/Contents/Resources/app/packages/server/lib/plugins/child/run_plugins.js:136:5)
    at emitThree (events.js:136:13)
    at EventEmitter.emit (events.js:217:7)
    at process.<anonymous> (/Users/ioanagalan/Library/Caches/Cypress/3.3.1/Cypress.app/Contents/Resources/app/packages/server/lib/plugins/util.js:25:29)
    at emitTwo (events.js:126:13)
    at process.emit (events.js:214:7)
    at emit (internal/child_process.js:772:12)
    at _combinedTickCallback (internal/process/next_tick.js:141:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)

Cypress version: 3.3.1
cypress-plugin-snapshots version: 1.2.6
@cypress/snapshot version 2.1.3
Worth mentioning is that we are running on mac.
Note: This only happens when screenshots do not exist and they are created for the first time.

@meinaart Any reason you haven't published a release lately? It looks like this bug might have been addressed back in March :thinking:

I'm seeing this exact issue, I set the cypress.json to "autopassNewSnapshots": true, but it didn't resolve the problem.

Note: It works fine if you run one test file at a time. It only fails when you try to click the Run All button in the UI. The clie works fine both ways.

Agree with @meinaart this appears to be fixed (unless running all tests in the ui - different issue) based on changes provided by @rlux-aa over here: https://github.com/meinaart/cypress-plugin-snapshots/pull/31/commits/cf8287706f80ecdfcb829cb03a3ca460724e26d4
Would be awesome the see an updated release published @meinaart  :)

Can you retry with latest version and let me know if that fixes it?

thanks @meinaart - can confirm this release has fixed this issue :)

Thanks @johnmcclumpha


Consider simplifying executor requirements

The current executor_traits includes a lot of different bulk execution operations, and each has different variants. For example, there are six variants of multi-agent .execute():

multi-agent .execute() returning default container
multi-agent .execute() returning user-specified container
multi-agent .execute() returning void
multi-agent .execute() with shared parameters returning default container
multi-agent .execute() with shared parameters returning user-specified container
multi-agent .execute() with shared parameters returning void

For .async_execute() and .then_execute(), there are also six variants.
This can make it difficult to understand what is required when implementing an executor, and also difficult to track how a particular operation gets synthesized.
There's also the .when_all_execute_and_select() operation, which is a really ugly hack.
Moreover, it's unclear how any one of these operations should be synthesized when a given executor does not natively provide the operation because there are multiple options. That makes it hard to reason about what's going on when an operation has to be synthesized.
We can simplify matters by doing the following:

generalize the way results are returned from these operations

eliminate the idea of a container associated with an executor
pass a reference to the result object into the lambda and allow side effects on it while the task executes

only retain the most general form of these operations
rename these operations to distinguish them from single-agent operations

That would leave only three basic bulk execution operations:
1. `bulk_execute()`
2. `bulk_async_execute()`
3. `bulk_then_execute()`

These would have a general form -- each would take a result factory and a shared parameter factory (variadic factories in the case of hierarchical executors). In other words, they would be required to return a result, and also to create shared parameters. Of course, the user can make these objects empty to avoid wasting storage on them.
This scheme will make it more difficult to use executors directly, but all of the other variants can be lowered onto the following general forms.
bulk_execute()
template<class Executor, class Function, class Factory1, class Factory2>
result_of<Factory1(shape_type)>
bulk_execute(Executor& exec,
             Function f,
             shape_type shape,
             Factory1 result_factory,
             Factory2 shared_factory);

bulk_async_execute()
template<class Executor, class Function, class Factory1, class Factory2>
executor_future_t<Executor, result_of<Factory1(shape_type)>>
bulk_async_execute(Executor& exec,
                   Function f,
                   shape_type shape,
                   Factory1 result_factory,
                   Factory2 shared_factory);

bulk_then_execute()
template<class Executor, class Function, class Future, class Factory1, class Factory2>
executor_future_t<Executor, result_of<Factory1(shape_type)>>
bulk_then_execute(Executor& exec,
                  Function f,
                  shape_type shape,
                  Future& fut,
                  Factory1 result_factory,
                  Factory2 shared_factory);

Operation Synthesis
Each of these operations should have a prescribed default lowering when it is not natively provided by the executor.

bulk_execute() -> bulk_async_execute() + future.wait()
bulk_async_execute() -> make_ready_future() + bulk_then_execute()
bulk_then_execute()

if bulk_async_execute() exists ->

future.share()
bulk_async_execute()
nested shared_future.wait()

if bulk_execute() exists ->

std::async(std::launch::deferred, ...)
nested bulk_execute()

The synthesis scheme could require some more thought because single-agent executors provide other operations which could be used in the lowering.

With this new scheme, I think the implementation of hierarchical executors like executor_array becomes a lot simpler than its current incarnation:
template<class Function, class Factory1, class Future, class Factory2, class... Factories>
auto bulk_then_execute(Function f, shape_type shape, Factory1 result_factory, Future& fut, Factory2 outer_factory, Factories... inner_factories)
{
  auto outer_shape = this->outer_shape(shape);
  auto inner_shape = this->inner_shape(shape);

  return bulk_then_execute(outer_executor(), [=](auto outer_idx, auto& results, auto& past_arg, auto& outer_arg)
  {
    auto inner_executor_idx = select_inner_executor(outer_idx, outer_shape);

    bulk_execute(inner_executor(inner_executor_idx), [=,&results](auto inner_idx, auto& ignored_inner_result, auto&... inner_args)
    {
      auto idx = make_index(outer_idx, inner_idx);
      f(idx, results, past_arg, outer_arg, inner_args...);
    },
    inner_shape,
    // XXX note that if we permitted factories to return a reference instead of a value, then we could forward the results through the inner result factory
    //     instead of capturing results by reference in the lambda passed to bulk_execute()
    []{ return none(); },
    inner_factories...
    );
  });
}

If factories were allowed to return a reference, then the implementation becomes a bit simpler. That might be a good idea, but it would make it more difficult for executor authors to construct these objects.

In the interest of simplicity, it might be a better idea if the factories were nullary functions. It's always possible to bind the shape of interest with a unary function upstream.
The tricky case I'm thinking of is hierarchical executors. It's not really clear what type of shape parameter each inner factory should receive. Intuitively, each factory should receive the shape of the scope which will share the result of the factory. This is a tuple-like type, but it's not really clear what the concrete type of each inner shape ought to be. Moreover, there could also be cases where an inner factory could require the shape of an outer scope, for some reason. We could devise answers to these problems, but it's not clear that they would be that satisfying.

Regarding factories returning references:
We can support factories that return references with std::reference_wrapper, which is the standard thing that allows references to pass through pass-by-value interfaces. So, in the interest of simplicity, factories should just return values, and if a user wants to return a reference to an object that already exists, they may do so by using std::reference_wrapper.


Always including templates / partials along-side other code?

Further to the point of including HTML, CSS, and test files in the same package for directives, why not do the same thing for controllers? We've been doing it and find it helps the development flow quite a bit. When we run our build scripts (gulp-ngtemplate, htmlhint, etc.) it's easy enough to just target .html files, so we haven't seen the need for a separate partials directory.

This makes sense as well. I'll include an example.


Github actions for more connectivity!

Closes #154

Auto comment on issue Closed and Opened
Auto comment on PR mergs
Auto comment on PR raises

Using this workflows makes you'r repo more interactive ! @rohitinu6
Note: Add all the labels and assign me to this PR !!

@smog-root Why use the word 'chaotic'?

@smog-root Have you tested this feature on your branch? If not please do that and if already done please attach the screenshots of the same here.

@smog-root Why use the word 'chaotic'?

typo

Proof:
Issue open and close:

PR raise and  merged:

@rohitinu6 merge it!!

@rohitinu6 ??

as this PR has level 2 and considering that here 3 workflows are added I'll be removing levels from PR #147
Considering you have done all workflows in single repo which will have level 2
GUIDELINES:

Okay!!


Fixes and refactoring

Fixes and refactoring

Fixed sorting with undefined values
Refactoring
Fix translation
Renamed cheapestPriceInfo to cheapestObtainInfo
Renamed barterPrice to cheapestBarter
More checks in barter tooltip

.deploy to development

Fix losing crafts/barters cached flag when we have fetc hed crafts/barters but still wait for items fetch to complete;
Fix not to calculate bestFleaPrice when we still wait for crafts/items fetch to complete;
Restored cached flag for cached barters and crafts;
Fixed craft finish time to be localized;
Sort by craft reward now sorts buy reward name;

Dependencies:

Updated react-intersection-observer to up to date release;
Updated react-i18next to up to date release

.deploy to development


Formatting, Typos

fixed formatting, typos
added prettier config for docs
added npm scripts and github action to check formatting of docs for each PR

@benedictweis please check if the github action is correct


feat: New module avm/ptn/network/hub-networking

Description
New pattern module for hub networking.
Pipeline Reference

Pipeline

Type of Change
Adding a new module

[x] A proposal has been submitted and approved.
[ ] I have included "Closes #{module_proposal_issue_number}" in the PR description.
[ ] I have run brm validate locally to verify the module files.
[ ] I have run deployment tests locally to ensure the module is deployable.

Checklist

[x] I'm sure there are no other open Pull Requests for the same update/change
[x] I have run Set-AVMModule locally to generate the supporting module files.
[ ] My corresponding pipelines / checks run clean and green without any errors or warnings

Still have some features to add and looking forward to input from the community.

@hundredacres - How are you getting on with this? I see you have a actions error from the test files. Any help you need from the core team?

@hundredacres - are you able to review if this should still be in draft?


Update to RC.4

The current version require angular 2.0.0-rc.3.
The 2.0.0-rc.4 is available since 2016-06-30.
Is it possible to upgrade ng2-nvd3 to this version or at least use a minimum version not a mandatory one?
Thanks.

https://github.com/krispo/ng2-nvd3/commit/77993b01512059f44f2a7ddafd8eb1db4e8d5b80


WIP: Debug ubuntu vagrant box

What type of PR is this?
/kind failing-test
What this PR does / why we need it:
The ubuntu vagrant box seems to fail consistently in CI. Giving the debian alternative a try.
Which issue(s) this PR fixes:
None
Does this PR have test?
None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

Codecov Report

Merging #1935 (460ecbd) into main (edb34ac) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1935   +/-   ##
=======================================
  Coverage   49.25%   49.25%
=======================================
  Files          72       72
  Lines        7037     7037
=======================================
  Hits         3466     3466
  Misses       3437     3437
  Partials      134      134


join/merge function

I want to merge/join two Pyranges objects, let say obj1 and obj2. And I still want to trackback the indices of obj1 and obj2. I tried to use 'join' but the function returns with a completely new object which I couldn't trackback the indices of obj1 and obj2 anymore. I imagine it will be similar to the merge function in R. Any suggestion? Or the join function should be improved?

There are no indexes in Pyranges. You can give each pyrange an ID before joining.
gr1.index1 = list(range(len(gr1)))
gr2.index2 = list(range(len(gr2)))
gr1.join(gr2)

Then you know which is where.
What in particular are you trying to do? There is likely an easy way to do it :)

Thanks for reporting btw :)

I want to know the information of my reads; which genes/TF/enchancers/etc. are close by based on given extended range eg. +/- 1000 bps.
So I'm trying to map the reads to an annotation file and some reads can be mapped to multiple genes.
The result from join function reports the extended position according to the given range (+/- 1000 bps). But I'm more interested to know about the information of my reads. Since the result of join function doesn't report the original indices of both tables/dataframes (to be say); so I couldn't directly link to the reads in the previous table/dataframe.

Okay. But all the information in A and B is kept when you join two pyranges A and B. So if A is your reads, the read info is in the first columns of the new pyranges, while the annotation info from B is in the last columns.
When you give A an ID like in my example above, it should be possible to find the original reads I hope :) If not I would appreciate it if you could try to show me what your start data looks like and what you want to end up with.

Okay. But all the information in A and B is kept when you join two pyranges A and B. So if A is your reads, the read info is in the first columns of the new pyranges, while the annotation info from B is in the last columns.
When you give A an ID like in my example above, it should be possible to find the original reads I hope :) If not I would appreciate it if you could try to show me what your start data looks like and what you want to end up with.

Thank you, your idea above works.

Cool. If there is something I can do to make it easier, please tell me. Closing this, but feel free to reopen or ask other questions :)


Document container capabilities

When starting a container, without specifying specific capabilities, you get the default docker container capabilities. This is noticeable via docker inspect on the container and seeing the following:
            "CapAdd": null,
            "CapDrop": null,

This is also visible in the container API view in the rancher UI. You can add or drop capabilities and those too will be present in the inspect/api output. Here are a couple examples:
            "CapAdd": [
                "CHOWN",
                "KILL",
                "NET_ADMIN",
                "NET_BIND_SERVICE",
                "NET_BROADCAST",
                "NET_RAW"
            ],
            "CapDrop": [
                "AUDIT_CONTROL",
                "AUDIT_WRITE",
                "BLOCK_SUSPEND",
                "SYS_RAWIO",
                "SYS_RESOURCE",
                "SYS_TIME",
                "SYS_TTY_CONFIG",
                "WAKE_ALARM"
            ],

OR
            "CapAdd": [
                "ALL"
            ],
            "CapDrop": [],

This isnt documented anywhere in the rancher docs

Rancher will not specifically list out what will work/not work as this is documented in Docker.
https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities


TC261.Error when Scanning QR Code

Error : No usable data found

TF-Chain Portal on Testnet: https://portal.test.grid.tf/
TF-Chain Portal on Devnet: https://portal.dev.grid.tf/
No.363 - TC261Transfer TFT from Stellar to Substrate
Deploying on:
Testnet,
Grid v0.1.32

supported flow is to scan only from the threefold connect app


Don't convert VML urls.

Copied from https://github.com/less/less-plugin-inline-urls

thx @jfgodoy for pull request. I'll test it, then merge after all.


[$250] [CRITICAL] [UX Reliability] The chat finder page shows duplicated result for a moment

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:
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @quinthar
Slack conversation: https://expensify.slack.com/archives/C05LX9D6E07/p1717508731782149
Action Performed:
Break down in numbered steps

Create Workspace as Alice
Add couple members including Bob
Create couple rooms on that workspace
Sign into an account off Bob
Turn on the focus mode
Sign out and sign back in as bob
In chat search page search for the name of the room on the policy
Open it the room from the Search page

Expected Result:
Describe what you think should've happened
There should only be one row for that chat
Actual Result:
Describe what actually happened
The specific chat is duplicated in the search results
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
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

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0157768929ce5b2314
Upwork Job ID:<PHONE_NUMBER>932084224
Last Price Increase: 2024-06-05
Automatic offers:

ahmedGaber93 | Reviewer | 102621261

Issue OwnerCurrent Issue Owner: @ahmedGaber93

Nice @gedu can you check out the proposal if it matches your findings?

@tienifr your solution is works, but I think your RCA is not correct, log missingReportIds before your fix seem correct, and after applied your fix it always logs empty array. Maybe we need to find the correct root cause first.

This proposal from 2 min ago https://github.com/Expensify/App/issues/43049#issuecomment-2149700859 in the other issue add RTC about what I am thinking.

@mountiny
Proposal
Please re-state the problem that we are trying to solve in this issue.
After creating a room and searching for it, the room is displayed twice in the search results (no cache).
What is the root cause of that problem?
There are two useEffect hooks listening to the same object reports. The first hook updates the options with the new list of options inside setOptions using the state provided by the function. The second hook uses prevReports to find a missing reportID (which in this case is the new report), and updates the same setOptions state, adding the "missing" report to the already updated options (added by the first useEffect), cause the duplication.
What changes do you think we should make in order to solve the problem?
Since the first useEffect always recreates the options when reports change, the second useEffect detects a difference and updates the state over an already updated one. To solve this, unify the two useEffect hooks to update the report options whenever the reports object changes, avoiding extra logic and potential re-renders.
What alternative solutions did you explore? (Optional)
Before pushing the missing report ID found by the filter, in the second useEffect, check if the reportID is already in the option list.
I tested some older issues, like the https://github.com/Expensify/App/issues/39705 and the main fix doesn't cause a regression on that side, I'm not sure if there is another bug to address

I think this issue is a regression from https://github.com/Expensify/App/pull/41636 which delete the return early on the first useEffect, and this make the new reports are handling in two useEffect
- const lastUpdatedReport = ReportUtils.getLastUpdatedReport();

- if (!lastUpdatedReport) {
-       return;
- }

To solve this, unify the two useEffect hooks to update the report options whenever the reports object changes

@gedu I agree, we need to make sure the new report is handled once, but not necessarily we need to unify the two useEffect, we can also keep them separator and prevent interference between them. @gedu Can you share how you do that?

Before pushing the missing report ID found by the filter, in the second useEffect, check if the reportID is already in the option list.

I think this will always cancel the second useEffect work, as the first useEffect always add it first.

Yeah, but missingReportIDs will be always empty array as the first useEffect add them first, so it seems we completely remove the second useEffect

The RCA here is we have two useEffect will add the new report to the list:

the second useEffect job is handling the new items and it works fine

the first one job is updating an existing item when a report is updated. And it shouldn't handle adding new items, but PR https://github.com/Expensify/App/pull/41636 removed the return early when no existing item need to update, and this let it adding the new items and cause this regression

@dylanexpensify As no proposal is accepted yet, let's assign @gedu from callstack.
🎀 👀 🎀 C+ reviewed

@gedu I agree, we need to make sure the new report is handled once, but not necessarily we need to unify the two useEffect, we can also keep them separator and prevent interference between them. @gedu Can you share how you do that?

I created a draft PR: https://github.com/Expensify/App/pull/43164, so you can check the change.
https://github.com/Expensify/App/assets/1676818/514aa2d8-872e-42fa-b97d-32a80b351ff8

@gedu Thanks for the updates.
The fix you propose seem as removing the second useEffect, but I think will lead to reduce performance as this will lead to createOptionList for the whole reports list every time an item removed or edited.
Can we find a solution for this and keep the current two useEffect?

The first one will createOptionFromReport only for the updated report.
the second will createOptionFromReport once for the whole reports in the first time, and then when item added/removed, it will createOptionFromReport only for it.

I mean fix it as regression if https://github.com/Expensify/App/pull/41636

@ahmedGaber93 but the createOptionList is always getting call, everytime the reports changed both useEffect get executed, and the first one always run the createOptionList
I just tested, doing some simple search (cached and no cache values), creating a task and searching, creating a workspace assign a task and then delete it
[CHATFINDERPAGE-CONTEXT] 1) <createOptionList>
index.ts:77 [CHATFINDERPAGE-CONTEXT] 2) <missingReportIds>
index.ts:77 [CHATFINDERPAGE-CONTEXT] 1) <createOptionList>
index.ts:77 [CHATFINDERPAGE-CONTEXT] 2) <missingReportIds>
2index.ts:77 [CHATFINDERPAGE-CONTEXT] 2) <createOptionFromReport>
index.ts:77 [CHATFINDERPAGE-CONTEXT] 1) <createOptionList>
index.ts:77 [CHATFINDERPAGE-CONTEXT] 2) <missingReportIds>
index.ts:77 [CHATFINDERPAGE-CONTEXT] 2) <createOptionFromReport>
index.ts:77 Flushing Onyx updates queue (15) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
index.ts:77 [CHATFINDERPAGE-CONTEXT] 1) <createOptionList>
index.ts:77 [CHATFINDERPAGE-CONTEXT] 2) <missingReportIds>
[CHATFINDERPAGE] filteredOptions {recentReports: Array(0), personalDetails: Array(0), userToInvite: null, headerMessage: 'No results found'}
index.ts:77 [CHATFINDERPAGE-CONTEXT] 1) <createOptionList>
index.ts:77 [CHATFINDERPAGE-CONTEXT] 2) <missingReportIds>

Not sure what performance impact my fix might cause, given that createOptionList is called all the time.
Can you point me out to a case where the first useEffect isn't being called and the second useEffect yes
Record a video for the regression you said and my fix doesn't cause a regression
https://github.com/Expensify/App/assets/1676818/cf67de3c-0f77-4ccc-a6c5-46f079b85ce5

but the createOptionList is always getting call

@gedu Yes, but this is part of the regression by #41636 that we need to fix it here
This regression remove the return early in the first useEffect and this caused the current issue and also the performance issue, so I think after fix it, the both issues should be fixed.

Yes, I will take a look, sorry for the ping pong question, trying to wrap my head on this because with just one useEffect fix all the issues, will dig deeper

@ahmedGaber93 I created a new function to listen when a report changes, I listen to them individually so I can save them into a Set and when I use the updated IDs I clear the Set. That way when a report changes I can know which one change, I delete it from the prevReports, and the second useEffect handle the missingReportID.
The issue that I'm having is, when an update changes in this case changing the name of the Workspace, it seems that all the rooms depending on it aren't sent via Onyx, same issue as above, but in this case the room changed but not the Workspace.
I'm not finding a predictable way to know which report changes so I can remove it from the list and later create the optionItem just for that items.

I would start by considering my proposal to unify and update the list continuously. Additionally, I will work on a follow-up PR to improve the performance of the createOptionList, given that the only way to know when a report changes is through Onyx, and I can't get reliable values.

@ahmedGaber93 I make my PR ready for review https://github.com/Expensify/App/pull/43164

waiting for regression period

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:

[x] [@ahmedGaber93] The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/App/pull/41636
[x] [@ahmedGaber93] 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: https://github.com/Expensify/App/pull/41636/files#r1660214150
[x] [@ahmedGaber93] 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
[x] [@ahmedGaber93] Determine if we should create a regression test for this bug.
[x] [@ahmedGaber93] 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.

Regression Test Proposal

Open the App
Click Account Settings > Workspaces > and create new workspace
Click fab icon > Start chat > Room tab
Fill room name and select the workspace you create it in step 1 then click create room
Open Search page and Verify that the room you created in step 4 appear once in search result

Do we agree 👍 or 👎

Payment summary:

contributor+ @ahmedGaber93 $250

Please apply, request!

Done!


tensorflow-1-public/C1/W2/ungraded_labs/C1_W2_Lab_1_beyond_hello_world.ipynb Exercise 7

Am I missing something? The exercise describes trying to fit without normalizing, but the Test/Training data is still divided by 255?

I looked at the notebook and it was already revised previously. They added comments to the lines that can be removed. Thanks!


Test serially by default (fixes #1284)

Rename target 'test-serially' to 'test' and 'test' to 'test-parallel'

@hannes-ucsc

Regular build failed as expected because no test report was created. But all the tests all passed.
It is unclear to me as to why the IT failed. Tracking this in https://github.com/BD2KGenomics/toil/issues/1334.

Will change Jenkins config now and then merge.

@hannes-ucsc

@natanlao, https://github.com/BD2KGenomics/toil/pull/1330/commits/f240877890b1c3b8600e6f10e900e4dcb07a6b31 commit message needs to be more informative.
The IT failures are very odd.
Jenkins, test this please.

@natanlao, https://github.com/BD2KGenomics/toil/pull/1330/commits/f240877890b1c3b8600e6f10e900e4dcb07a6b31 commit message needs to be more informative.

Scratch that as I will squash in the end. Otherwise (i.e. for a permanent commit) the message would have been too cryptic.

Note to self: remember to merge together with #1336.


Grafana Sidecar Dashboards has to be enabled

By default sidecar.dashboards.enabled is set to false as stated in The Grafana Helm Chart Doc
It has to be enabled in this config in order to Grafana automatically creates the dashboard from the configMap.
https://github.com/cloudnative-pg/cloudnative-pg.github.io/blob/bb91f6fff4b28f06294c088047d356ba7b11dd9e/assets/documentation/1.18/samples/monitoring/kube-stack-config.yaml#L61-L65
It Should look lile:
  grafana:
    enabled: true
    # -- the grafana admin password
    adminPassword: prom-operator
    defaultDashboardsEnabled: false
    sidecar:
      dashboards:
        enabled: true

Hello @afiebig , thanks for the analysis and the PR!
I am surprised though that it did not work for you out of the box.
I'm assuming you followed the quickstart document?
If so, I assume that grafana was deployed, and then you kubectl-applied
the configMap with the Grafana dashboard, and then waited a few seconds?
The PR looks fine, just want to debug my instructions. Thank you!

BTW I approved the PR, but tested that the Grafana dashboard was visible
with the PR, and without too...

Hi @jsilvela yes, I followed the Quickstart documents, main difference is that we are using Terraform, so the config map, may have been created before, and in order for Grafana to catch the ConfigMaps marked with grafana_dashboard: "1" sidecar.dashboards.enabled must be set to true.


 Not sure the cause yet; noticed myself but haven't troubleshooted.

Fixed in latest commit. Related to the ranking system used to determine which child is the correct one, and the new text node system.

... it's still not working in my app :(

steps to reproduce:

run the menu example
click first on "Foo" and then on "About"

After further thought, the match/ranking system shouldn't cause bugs like this; it should only affect diffing efficiency. Something else is going on related to patching.

Do you think we can solve this issue today or tomorrow?

Yes indeed,  the example is working now but still some children in my app (that is a bit more complex) are dancing :(

I think this is something fundamental I overlooked in the diffing algo. It attempts to find the best match in the old vdom, then makes it match the new one. It changes the content, but doesn't resort children. Didn't come up until recently perhaps due to the matching algo working well enough. Latest commit has an attempted, but non-working fix. (towards the bottom of the patch fn).

Menu bug's back because I commented out parts of the matching system to make it easier to reproduce.
How the diffing works for children: Matching system loops through children of the updated vdom, and tries to find the 'most correct' child node (Which sometimes has a right answer, sometimes doesn't). When it finds it, it patches it recursively to make it exactly correct.
The bug, I think, is due to reordering never happening. If the match system guesses correctly, this never comes up. If it doesn't, we need a reorder. We can't expect the match system to always be right, so need to fix this. I'm attempting a fix using the web_sys::Element::after_with_node_1() method to reorder, but running into borrow-checker issues.
Absolutely need more tests to catch things like this, but I'm struggling with wasm-pack's test system.

Fixed / in latest release. Switched to a simpler children-diffing algo that just goes in order instead of trying to find the best match.

I just tried it. The menu looks stable now but one part of the app is still "dancing".
I'll try to create an example where you can see the effect.

ok, here are the steps to reproduce:

checkout the menu example in https://github.com/flosse/seed/tree/rendering-bug
click on Foo => the h2 is rendered as the last child that is wrong!
click on About => there is only one child so everything is ok
click on Foo again => now the h2 is on the top as expected
click on Home => content 0 is the last child instead of the first!
click on Foo again => now the h2 is on the bottom again

Try now. Changed patch from delete old / append new to replace.

...I just started porting my app to another framework but your last patch really solved the problem :) Awesome!! :+1: Thx!


Documentation does not explain why assigning an array to an array gets CS0229

Your example does not explain why this code is getting a CS0229 error:
public class Card : MonoBehaviour
{
public enum suit
{
CLUB,
DIAMOND,
HEART,
SPADE
};
private Sprite[][] cardFaces = new Sprite[4][];    // Two dimensional matrix. 1st index is suit, 2nd is card type
[SerializeField]
static Sprite[] cardBacks;      // Array of card backs
[SerializeField]
private Sprite[] clubCardImages;
[SerializeField]
private Sprite[] diamondCardImages;
[SerializeField]
private Sprite[] heartCardImages;
[SerializeField]
private Sprite[] spadeCardImages;
// Start is called before the first frame update
void Start()
{
	// Fill the cardFaces matrix with card sprite images.
	for (int i = CLUB; i <= SPADE; i++)
    {   // Loop through all the suits
        switch (i)
        {
            case CLUB:
				cardFaces[i] = clubCardImages; // CS0229
                break;

            case DIAMOND:
                cardFaces[i] = diamondCardImages; // CS0229
                break;

            case HEART:
                cardFaces[i] = heartCardImages; // CS0229
                break;

            case SPADE:
                cardFaces[i] = spadeCardImages; // CS0229
                break;
        }   // switch()
    }   // For i
}   // Start()

}    // class Card

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

ID: 396c23ca-a799-032b-527b-d9362e44b514
Version Independent ID: 884704df-8e4c-2dde-8c2d-96287f8d673d
Content: Compiler Error CS0229
Content Source: docs/csharp/language-reference/compiler-messages/cs0229.md
Product: dotnet-csharp
Technology: csharp-diagnostics
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Hi 👋 @lvskiprof
I can't see what would cause the reported error in the sample you've posted. I tried to reproduce it, but I can't without the definition for Sprite and MonoBehaviour. (When I stub those out with empty definitions, the compiler doesn't produce an error.)
Can you add further details to help us find this?


Fix textarea icon left behind on resize option 2

Closes
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

Not an issue anymore https://github.com/adobe/react-spectrum/pull/1543


python310Packages.glances-api: 0.3.4 -> 0.3.5

Description of changes
https://github.com/home-assistant-ecosystem/python-glances-api/releases/tag/0.3.5

Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

3 packages built:

home-assistant-component-tests.glances
python310Packages.glances-api
python39Packages.glances-api


Vim9: joining line starting with literal dictionary breaks the latter

Describe the bug
In Vim9 script, joining a line starting with a literal dictionary breaks the latter.
To Reproduce
Run this shell command:
vim -Nu NONE -S <(cat <<'EOF'
    vim9script
    filetype plugin on
    set filetype=vim formatoptions=j
    let lines =<<trim END
        vim9script
        let l = [#{},
        #{}]
        echo l
    END
    setline(1, lines)
    :2
EOF
)

Press J to join the lines 2 and 3; the result is this line:
let l = [#{}, {}]
              ^
              ✘

Notice how the # prefix in front of the second literal dictionary has been removed.  That's because the j flag is in 'formatoptions', and J has wrongly parsed #{} as a commented line.
Expected behavior
The result is this line:
let l = [#{}, #{}]
              ^

Environment

Vim version: 8.2 Included patches: 1-1444
OS: Ubuntu 16.04.7 LTS
Terminal: XTerm(358)

Additional context
The issue has started when this line was changed in a recent update of the runtime files:
https://github.com/vim/vim/blob/bc4c505166dc82911553206bb0c2133c6ac94aa1/runtime/ftplugin/vim.vim#L52
The latter change is good; it lets Vim correctly recognize a Vim9 commented line.

I don't know how to fix this, but I have 3 suggestions.
First suggestion: 'comments' is upgraded so that it accepts regular expressions, and we can write this in the default Vim filetype plugin:
comments=sO:" -,mO:"  ,sO:# -,mO:#  ,eO:##,:",:#{\@!
                                                ^--^

I think the negative lookafter appended at the end would fix the issue.
Second suggestion: the value currently used in the Vim filetype plugin is updated to enforce a space after the # comment leader:
diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim
index 295112297..d6c69d6d6 100644
--- a/runtime/ftplugin/vim.vim
+++ b/runtime/ftplugin/vim.vim
@@ -49,7 +49,7 @@ setlocal isk+=#
 setlocal keywordprg=:help

 " Set 'comments' to format dashed lists in comments
-setlocal com=sO:\"\ -,mO:\"\ \ ,sO:#\ -,mO:#\ \ ,eO:##,:\",:#
+setlocal com=sO:\"\ -,mO:\"\ \ ,sO:#\ -,mO:#\ \ ,eO:##,:\",:#\

 " Format comments to be up to 78 characters long
 if &tw == 0

Third suggestion: a white space after # is enforced at the syntax level, just like it is in other contexts (e.g. no space after the comma separating 2 items in a list raises E1069).  This might fix other similar issues which could arise in the future.

Actually, forget about the third suggestion; I don't think it would fix the current issue.

The simplest is to require white space after the #.  That also makes sense for how comments should be written.
I'll update the ftplugin to
setlocal com=sO:"\ -,mO:"\ \ ,sO:#\ -,mO:#\ \ ,eO:##,:",b:#

There is a similar issue when joining a line starting with a double-quoted string; the opening double quote might be handled as a comment leader and wrongly removed if we've included the j flag in 'formatoptions':
vim -Nu NONE -S <(cat <<'EOF'
    vim9
    var lines =<< trim END
        var l = [
            "this is a string",
            "this is another string"
            ]
    END
    setline(1, lines)
    filetype plugin on
    syn on
    set ft=vim fo+=j
    feedkeys('jJ', 'xt')
EOF
)

I don't think there is a perfect solution, because there are several possible contexts: legacy function in Vim9 script, :def function in legacy script, ...
Maybe the default Vim filetype plugin should only handle the 2 most common cases: a legacy Vim script with no :def functions, and a Vim9 script with no legacy functions.  We can tell those 2 cases apart simply by inspecting the first line of the script (assuming there isn't a legacy comment above :vim9script, which seems like another corner case).
If so, here is a patch:
diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim
index b87e14422..3af58e448 100644
--- a/runtime/ftplugin/vim.vim
+++ b/runtime/ftplugin/vim.vim
@@ -48,18 +48,23 @@ setlocal isk+=#
 " Use :help to lookup the keyword under the cursor with K.
 setlocal keywordprg=:help

-" Set 'comments' to format dashed lists in comments
-" Avoid that #{} starts a comment.
-setlocal com=sO:\"\ -,mO:\"\ \ ,sO:#\ -,mO:#\ \ ,eO:##,:\",b:#
+if getline(1) =~# '^vim9\%[script]\>'
+  " Set 'comments' to format dashed lists in comments
+  setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#
+  " Comments start with a double quote in a legacy script;
+  " with # in a Vim9 script
+  setlocal commentstring=\"%s
+else
+  setlocal com=sO:\"\ -,mO:\"\ \ ,:\"
+  setlocal commentstring=#%s
+endif
+

 " Format comments to be up to 78 characters long
 if &tw == 0
   setlocal tw=78
 endif

-" Comments start with a double quote; in Vim9 script # would also work
-setlocal commentstring=\"%s
-
 if !exists("no_plugin_maps") && !exists("no_vim_maps")
   let b:did_add_maps = 1

Note that it removes the b flag for the # comment leader, as well as this comment:
" Avoid that #{} starts a comment.

That's because #{} is no longer valid in Vim9 script.  Now, # always start a comment; even in front of {}.
Also, it sets 'commentstring' to #%s in a Vim9 script, because:

it seems to make sense
several popular plugins rely on 'commentstring' to decide which comment leader they should use when implementing a commenting operator/command; if 'commentstring' keeps the value "%s, they will wrongly use " to comment lines in a Vim9 script

There is a similar issue when joining a line starting with a double-quoted string; the opening double quote might be handled as a comment leader and wrongly removed if we've included the j flag in 'formatoptions':
vim -Nu NONE -S <(cat <<'EOF'
    vim9
    var lines =<< trim END
        var l = [
            "this is a string",
            "this is another string"
            ]
    END
    setline(1, lines)
    filetype plugin on
    syn on
    set ft=vim fo+=j
    feedkeys('jJ', 'xt')
EOF
)

I don't think there is a perfect solution, because there are several possible contexts: legacy function in Vim9 script, :def function in legacy script, ...
Maybe the default Vim filetype plugin should only handle the 2 most common cases: a legacy Vim script with no :def functions, and a Vim9 script with no legacy functions.  We can tell those 2 cases apart simply by inspecting the first line of the script (assuming there isn't a legacy comment above :vim9script, which seems like another corner case).
If so, here is a patch:
diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim
index b87e14422..3af58e448 100644
--- a/runtime/ftplugin/vim.vim
+++ b/runtime/ftplugin/vim.vim
@@ -48,18 +48,23 @@ setlocal isk+=#
 " Use :help to lookup the keyword under the cursor with K.
 setlocal keywordprg=:help

-" Set 'comments' to format dashed lists in comments
-" Avoid that #{} starts a comment.
-setlocal com=sO:\"\ -,mO:\"\ \ ,sO:#\ -,mO:#\ \ ,eO:##,:\",b:#
+if getline(1) =~# '^vim9\%[script]\>'
+  " Set 'comments' to format dashed lists in comments
+  setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#
+  " Comments start with a double quote in a legacy script;
+  " with # in a Vim9 script
+  setlocal commentstring=\"%s
+else
+  setlocal com=sO:\"\ -,mO:\"\ \ ,:\"
+  setlocal commentstring=#%s
+endif
+

 " Format comments to be up to 78 characters long
 if &tw == 0
   setlocal tw=78
 endif

-" Comments start with a double quote; in Vim9 script # would also work
-setlocal commentstring=\"%s
-
 if !exists("no_plugin_maps") && !exists("no_vim_maps")
   let b:did_add_maps = 1

Note that it removes the b flag for the # comment leader, as well as this comment:
" Avoid that #{} starts a comment.

That's because #{} is no longer valid in Vim9 script.  Now, # always start a comment; even in front of {}.
Also, it sets 'commentstring' to #%s in a Vim9 script, because:

it seems to make sense
several popular plugins rely on 'commentstring' to decide which comment leader they should use when implementing a commenting operator/command; if 'commentstring' keeps the value "%s, they will wrongly use " to comment lines in a Vim9 script

Thanks, I'll include it and tweak it (vim9script may not appear at the start of the first line but a bit later or with preceding white apce)

Thanks, I'll include it and tweak it (vim9script may not appear at the start of the first line but a bit later or with preceding white apce)

Sorry, it appears I made a mistake.  For the 'commentstring' option, I inverted the legacy comment leader with the new one, and the mistake was included in the last update of the runtime files, yesterday:
https://github.com/vim/vim/blob/64ed4d4398e92ac56a9bbd66d5ec992dd4c335f7/runtime/ftplugin/vim.vim#L54-L59
Here is a fix:
diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim
index 3307de541..1a78a59c5 100644
--- a/runtime/ftplugin/vim.vim
+++ b/runtime/ftplugin/vim.vim
@@ -53,10 +53,10 @@ if "\n" .. getline(1, 10)->join("\n") =~# '\n\s*vim9\%[script]\>'
   setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#
   " Comments start with a double quote in a legacy script;
   " with # in a Vim9 script
-  setlocal commentstring=\"%s
+  setlocal commentstring=#%s
 else
   setlocal com=sO:\"\ -,mO:\"\ \ ,:\"
-  setlocal commentstring=#%s
+  setlocal commentstring=\"%s
 endif

Sorry, it appears I made a mistake.  For the 'commentstring' option, I inverted the legacy comment leader with the new one, and the mistake was included in the last update of the runtime files, yesterday:
https://github.com/vim/vim/blob/64ed4d4398e92ac56a9bbd66d5ec992dd4c335f7/runtime/ftplugin/vim.vim#L54-L59
Here is a fix:
diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim
index 3307de541..1a78a59c5 100644
--- a/runtime/ftplugin/vim.vim
+++ b/runtime/ftplugin/vim.vim
@@ -53,10 +53,10 @@ if "\n" .. getline(1, 10)->join("\n") =~# '\n\s*vim9\%[script]\>'
   setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#
   " Comments start with a double quote in a legacy script;
   " with # in a Vim9 script
-  setlocal commentstring=\"%s
+  setlocal commentstring=#%s
 else
   setlocal com=sO:\"\ -,mO:\"\ \ ,:\"
-  setlocal commentstring=#%s
+  setlocal commentstring=\"%s
 endif

Ah, I overlooked that.  I'll include the fix.

Ah, I overlooked that.  I'll include the fix.


feat(rust): Implement upgrade and uninstall commands

I've created this as a draft PR for now to get your feedback on this approach. It probably needs more work with things like the error handling and the messages, but I figured it'd be worthwhile getting feedback on the more "happy" paths before working on making that better. Let me know what you think!
Current behavior
Currently there is no way for the user to upgrade or uninstall ockam directly through the binary.
Proposed changes
Resolves https://github.com/build-trust/ockam/issues/4916
This PR adds both an upgrade and uninstall command.
Upgrade
For the upgrade command it works as follows:

Checks to see if a new update is available by checking the github releases.
Stops all the running nodes.
Checks to see if it was installed via homebrew. If it was it runs brew upgrade ockam. It will then restart all the nodes it stopped in step 2.
If it was installed via the install.sh script it will check to see if it can find location of the script by looking at $OCKAM_HOME or $HOME/.ockam. If it can't find it then it stops the upgrade.
If all is okay to upgrade, it will delete the existing ockam binary.
It will then upgrade ockam using the install.sh script, specifying the specific version and the install path.
Once the upgrade is completed, it'll restart all the nodes that were stopped in step 2.

In order to do this I made some slight changes, namely writing the install.sh script to the $OCKAM_HOME folder, and add the $OCKAM_HOME variable to the environment variable files.
I also implemented some logic to fetch the latest versions from the releases on github rather than the upgrade.json file as I found that the upgrade.json file seems to be out of date? (0.87.0 and 0.88.0 are empty, and 0.86.0 points to 0.87.0 etc). Not sure if this is intentional however.
Uninstall
For the uninstall command,

it will first check if it was uninstalled through the install.sh script or with homebrew.
If it was installed with homebrew, it'll run brew uninstall ockam, otherwise it'll delete the ockam binary.
It will then clear all references to $OCKAM_HOME and then delete the $OCKAM_HOME directory.

I'm not sure about this final step however as it'll delete all the metadata on nodes and whatnot the user has, which could be troublesome if they just wanted to do a simple uninstall/reinstall to fix an issue or something. Let me know what you think of that.
Checks

[x] All commits in this Pull Request are signed and Verified by Github.
[x] All commits in this Pull Request follow the Ockam commit message convention.
[x] I accept the Ockam Community Code of Conduct.
[x] I have accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam-contributors repository. The easiest way to do this is to edit the CONTRIBUTORS.csv file in the github web UI and create a PR, this will mark the commit as verified.

@BradLewis this is awesome, thank you for spending time on this. I'll try the commands and leave some thoughts soon

Okay I've refactored the implementation quite a bit and improved the error handling as well. This split the upgrade and uninstall process for homebrew and binary installations into 2 separate logical flows. For homebrew it's pretty simple, just run the respective commands. For the binary installation it's a little more involved.
For upgrade:

Backup binary and environment files
Remove ockam lines in the environment files
Download installation script
Run the installation script to install the latest version and rewrite all the environment files.
If any point in the process fails, everything gets restored from backup

For installation it follows a similar pattern, with everything being backed up and restored if anything goes wrong.
Let me know what you think, and if you like this approach I'll open this as a non-draft PR :)

Hi @BradLewis I left a bunch of comments and suggestions for you to consider. Next I would like to test your PR a bit on my machine to double-check that it is also working for me. How have you tested it so far?

So for testing I've been setting the version to something lower, eg 0.88.0, building the project and then moving the binary to the location I would like it to be. For testing with brew, I replace the binary that brew installs, for the script installation, I replace the binary there and for the standalone installation I just run it from the cargo build directory.
From there I just make sure all the nodes have restarted and if it was installed via the script, that all the environment files were updated correctly.
One thing I haven't been able to test is the upgrade via brew as I'm not sure how to install an old version. But the uninstall command works as expected.


Auto formatting breaks Groovy/Gradle files

What version of OpenRewrite are you using?
I am using

OpenRewrite v8.1.5
Gradle plugin v6.1.8

How are you running OpenRewrite?
I am using the Gradle plugin, and my project is a single module project. I am doing a fresh checkout of the Spring PetClinic Migration repository that is described in the OpenRewrite docs.
What is the smallest, simplest way to reproduce the problem?
Here is the build.gradle file after I added OpenRewrite and the AutoFormat recipe.
If you do a rewrite run at that point, the build.gradle file will be formatted in such a way that it completely breaks.
Here is what it looks like after rewrite has run. You can see that there are no spaces anymore between things like id and the name of the plugin or implementation and the link to the dependency.
What did you expect to see?
I would have expected the AutoFormat recipe to not destroy the build.gradle file and, instead, format the code in a way that it still functions.

Should be fixed by https://github.com/openrewrite/rewrite/commit/64a8c36c3d9f4aed7e4fa6442e7fd22a3cd66690


Please add API to turn the backlight off/on- save energy

Is it possible to add this API? Unfortunately setReg is private, but I think it would be something like:
void lcd_backlight_off() {
  lcd.setReg(0x07, 0x0);
  lcd.setReg(0x06, 0x0);
}

void lcd_backlight_on() {
  lcd.setReg(0x07, 0x0);
  lcd.setReg(0x06, 0xff);
}

@sglebs  I need this functionality as well, but can't get your code to work. I also do not find a reference on the registers and there control values -- do you have a link?

Hi @rgerhards. I believe the implementation can be done inspired by this:
https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight/blob/master/rgb_lcd.cpp#L220
Register 06 seems to be the intensity. 0x0 probably means "all turned off".

Actually I added the code to my local version and it did not work at all. Thus I asked. It's always bad if you do not have a spec.
Anyways, thx for the answer and taken the time to look at this in the first place. Good luck with your project.

Does the original API of blinking the background work at all? If it doesn't, then that would be the root cause. If it does work, try changing the 0x0 to 0x7F (like the original API) and decrease it (trial and error) to smaller values, to see if you can at least get it to work wasting as little energy as possible. Something as close to 0x0 ideally. Just an idea.

@rgerhards @sglebs Have you solved this problem?

IIRC did no longer pursue this effort.


How to calculate the mobility of people moving from one region to another

Hi George,
Thanks for sharing the code. I'm doing research related to this topic and want to generate mobility data from Facebook open dataset. But I wonder how you calculated the total number of people moving daily from one region to another using the Movement between Administrative Regions datasets?
Thanks,
Chen

Hi Chen, I aggregated the three quantities given in the dataset depicting mass mobility between regions at three different timestamps in a given day.


OpenTelemetry version and links updated, including some fixes

@brunobat and @Emily-Jiang: Here is the bump to the current Otel spec version 1.13.0 including fixes for some AsciiDoc issues like link fixes.
Can you please review and merge?

Related to https://github.com/eclipse/microprofile-telemetry/issues/55


Feature/api

Mitochondria implementation

[x] transaction

[ ] test

[x] recurring

[ ] test

[x] balance

[ ] test

[x] month

[ ] test

[x] company

[ ] test

[x] user

[x] test

Reducer implementation

[ ] transaction

[ ] test

[ ] recurring

[ ] test

[ ] balance

[ ] test

[ ] month

[ ] test

[ ] company

[ ] test

[ ] user

[ ] test

Will setup the backend on heroku or something and write tests against that, because mocking everything with nock will take ages. I'll prefix the tests with .backend or something so you can choose not to run them when working locally, but they should definitely be in place.
Like this @NicolajNiels1, you won't have to wait a long time for the tests to run, and I get to test the backend and frontend in one!

@FredrikAugust 	@KaizerTilt
About, that bug we discussed in the balances files. Is that something that should be caught in the tests? 🤔

No. The bug was that the backend API was changed, and the frontend code was not updated to reflect that.
The fact that the API was changed from the initial "state" was caught in the test, which was the purpose of it.

It should however have been caught in a Company component test, which I do not believe exists yet. Just realised that you might not have referred to the API tests.

That requires a backend running. We'll be looking at it tomorrow.
El jue., 25 jul. 2019 11:33, Nicolaj<EMAIL_ADDRESS>escribió:

@NicolajNiels1 commented on this pull request.
In README.md
https://github.com/Kodeworks/liquidator-frontend/pull/101#discussion_r307203419
:

@@ -30,4 +30,10 @@ yarn storybook

Other than that, it's just a create-react-app, so the normal yarn build etc. works!
+To test the application, we have three different commands;
+
+1. yarn test -- Runs the component and reducer tests. Does not require a backend running.
+2. yarn test:api -- Only run the backend integration tests. Requires a running instance of liquidator-backend.
Make CI test for integration test with backend.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Kodeworks/liquidator-frontend/pull/101?email_source=notifications&email_token=AB2V2G44G4JC7CXEJ272CNDQBFXNRA5CNFSM4IFGVHN2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOB7RJSNA#pullrequestreview-266508596,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB2V2G363CSF3WO3LDNW3OLQBFXNRANCNFSM4IFGVHNQ
.


Provide a new npm/build pipeline

Similar to go/build, but for npm. Building a new Node package is something like:
npm ci --omit=dev
npm prune --production
npm run build

This pipeline should also provide nodejs and npm packages.

This pipeline should also provide nodejs and npm packages.
I think it should also allow specifying version of node for apps that do not run on newest node.js.


Spot as Default Capacity Type

We should start with default capacity type as spot instances.
I recently encountered issue due to some reason karpenter was keep launching nodes and node were in "not ready" state.
and previously launched nodes were not being terminated by karpenter result into 500 or More On Demand node was launched in few hours and it was costly mistake for someone who is trying to contribute in open source project.
I am happy to raise PR for this change.
Current Hidden documentation about this default is here : https://karpenter.sh/docs/provisioner-crd/

Hey @rr-paras-patel this is a known bug right now. We thought that the liveness controller should take care of it, but it looks like there's a bug for some kubernetes version. The behavior should be to terminate nodes when they cannot connect for 5 minutes. In this case, Karpenter will attempt to provision nodes in response to pending pods, and the pods have a toleration for 5 minutes of a node not being ready, so you'll see a new node every 5 minutes or so. I'm going to look into a fix for this.
I think it's a great idea to put node.k8s.aws/capacity-type: "spot" into the getting started guide. If you're suggesting that we should launch spot by default (without labels), I think this is a longer discussion. Feel free to reach out on the Kubernetes slack if you want to chat synchronously. I can also help debug this NotReady issue.


android26.jar compile err

Could not resolve all files for configuration ':app:androidApis'.
Failed to transform file 'android.jar' to match attributes {artifactType=android-mockable-jar, returnDefaultValues=false} using transform MockableJarTransform
studio show this error message when i replace the android.jar of android-26

This issue comes since Android Studio v3.2. I have no idea for the solution.

Closed as duplicate of #46


Propose: contextual children custom elements

Scenario
Suppose that you have two custom elements for lists: list-a and a list-b. If you have a list, then you must have items too, so at the current specification, we have to create two custom element types item-a and item-b, each defined for each list.
That will have the following impact in the usage:
<list-a>
  <item-a>...</item-a>
  <item-a>...</item-a>
  <item-a>...</item-a>
</list-a>

<list-b>
  <item-b>...</item-b>
  <item-b>...</item-b>
  <item-b>...</item-b>
</list-b>

Problem
While this is a reasonable and simple example, for most complex scenarios, where we have more long names for elements it will cause some ugly html element definition and usage, like something-list and something-list-item...
Propose
If for this kind of element we could define a custom element that has semantic meaning only at the parent element, then we can write:
<list-a>
  <item>...</item>
  <item>...</item>
</list-a>

<list-b>
  <item>...</item>
  <item>...</item>
</list-b>

The item in item-a will be rendered as the item-a element and the item from list-b will be rendered as the item-b element.
Definition
The definition could be done at the parent (most logical) or at the children;
Definition at the parent as one alias
import { ItemA } from "./item-a";

@childrenAlias({ alias: "item", element: ItemA })
export class ListA {

}

Definition at the children
@parentAlias({ parentTag: "item-a", alias: "item" })
export class ItemA {
}

or
@parentAlias({ parent: ListA, alias: "item" })
export class ItemA {

}

+1

another example I've seen mentioned:
<layoutgrid>
  <row></row>
  <col></col>
</layoutgrid>

<datagrid>
  <col></col>
</datagrid>

Hi, for now you can use this hack:
import {processContent, customElement} from 'aurelia-framework';

export function childrenAlias(tagName: string, alias: string) {
	return function (target) {
		let deco = processContent((compiler, resources, element, instruction) => {
			for (let i = 0; i < element.children.length; i++) {
				let node = node.children[i];
				if (node.tagName.toLowerCase() === tagName) {
					let newNode = document.createElement(alias);
					newNode.innerHTML = node.innerHTML;
					for (let ii = 0; ii < node.attributes.length; ii++) {
						newNode.setAttrubute(
							node.attributes[ii].name,
							node.attributes[ii].value
						);
					}
					node.parentNode.replaceChild(newNode, node);
				}
			}
			return true;
		});

		deco(target);
	}
}

@customElement('list-a')
@childrenAlias('item', 'item-a')
export class ListA {

}

@customElement('list-b')
@childrenAlias('item', 'item-b')
export class ListB {

}

Note: you still need to register "item-a" and "item-b" as custom elements.

This one can be closed. I think.
for semantics as-element would do

Closing this since it clashes with the web component specification and is therefor something we're not likely to do.


Address dependabot alerts by updating dependencies

https://github.com/open-contracting/covid-19-procurement-explorer-public/security/dependabot

@jpmckinney There are none dependabot suggestion currently. This issue can be closed.

@KushalRaj hmm, maybe only admins can see. The warnings are:

We will accept the security risk.


:four_leaf_clover: Proposal(Need Discussion):  Optimize example config file location

What Would You Like to Add? Why Is This Needed?
Since pr #794 , we could use the command line to show config. But it also brings problems: the config file is duplicated.

Design
We have two different solutions now:
1. Detele /examples and print configs only by dtm show.
Advantages:

It is easy and clear.

Disadvantages.

Config file nesting levels will be  too deep

2. update Makefile
We duplicated the config files because go embed can not embed files from parent directories.
So, why don't we add a cp command in Makefile to move config files to /internal/pkg/show/config ?
Advantages:

It is easy for users to reach config files.

Disadvantages.

This may be confusing for developers, and we must make it clear that the Makefile is used here to move the configuration file during make build.

Anything else
Please join us to discuss! 🙌

Further, I want all yaml files to be in examples directory, including the yaml for each plugin, and make sure to keep only one copy. And the files under /internal/pkg/show/config or /internal/pkg/show/config/plugins are copied with make.

Also, I want to add a template directory under the /internal/pkg/show/config/ directory to save the quickstart.yaml and gitops.yaml and some template yaml files in the future.
@IronCore864 @hxcGit Please join us to discuss~

I think both solutions are not acceptable, either for first-time users, or for contributors:

Only showing config by dtm show: new users won't find examples/samples easily. Thinking from a first-time user's perspective, putting a sample config under /examples folder is mandatory. Users would be confused if there is no sample config in an obvious place in the repo.
Makefile: it's already complicated; moving more logic to it would only make contributor's life less happy. This solves the duplication but this brings more problems.

Based on the fact that we need "/examples/*.yaml" for new users, and we should only have a single source of yaml to remove duplication, the only logical proposal would be to remove quickstart.yaml from dtm show. In this case:

single source of truth of quickstart.yaml
if users follow our quickstart guide, they won't use dtm show to generate the config for quickstart; it is downloaded by a script.

I don't see a problem with not having an example directory, for example I'm not in the habit of looking at examples, but expecting the cli to tell me everything, to show me how to configure when I don't know the configuration.
I don't even want to go looking for documentation, I want the cli itself to be friendly enough and -h flag to act as documentation in as many scenarios as possible.
So I would prefer that the Quick Start documentation could be changed to print the configuration as a dtm show command instead of telling me how to download the configuration file.
Also we did see some users failed to download the config file even with the script due to network problems, and for some domestic users, every download from GitHub is an ordeal.
@IronCore864
cc @iyear @aFlyBird0

"You" don't have a habit of looking at "examples" doesn't mean others don't.
I have a habit of looking into the examples folder to get a quicker start, and I'm sure I'm not alone.
In fact, personal preference isn't a solid argument. Thing is, having an "examples" folder will generate some benefits for some users, not for all; but not having it would do some harm to some users. So why not keep it.
I've already explained why dtm show or Makefile aren't good solutions. Unless we have a better solution here, I'm gonna insist on having the "examples" folder. To make things simpler, it should be used as the single source of truth.

After a 1-1 discussion between @IronCore864 and I, we came to an agreement on this issue.

Keep the example directory；
the quickstart.yaml and gitops.yaml under the example directory are kept;
show command behavior remains the same, the yaml files are copied from the example directory;
The copying behavior is implemented via the Makefile.

There is only one difference from the initial idea: "the example directory is not deleted". This is the current optimal solution.
cc @aFlyBird0 @iyear

After a 1-1 discussion between @IronCore864 and I, we came to an agreement on this issue.

Keep the example directory；
the quickstart.yaml and gitops.yaml under the example directory are kept;
show command behavior remains the same, the yaml files are copied from the example directory;
The copying behavior is implemented via the Makefile.

There is only one difference from the initial idea: "the example directory is not deleted". This is the current optimal solution.
cc @aFlyBird0 @iyear


[Loc] schema compare update xlf

This PR fixes #

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 41.732%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
27746

Relevant Lines:
62040

💛  - Coveralls


Root Ca is always not Before: Aug 31 00:00:00 2013 GM

Hey,
we noticed that the ca.crt which is created by the Kms Issuer has always notBefore: Aug 31 00:00:00 2013 GM and with a duration of 10 years it is only valid until Aug 29 00:00:00 2023 GMT. It does not matter when we create the KMSIssuer Object it is always the same Validity.
We build the Image with the Dockerfile in the kms-issuer repo.
Our KMSIssuer Object looks like this:
apiVersion: cert-manager.skyscanner.net/v1alpha1
kind: KMSIssuer
metadata:
  name: kms-issuer-unique-cn-test
  namespace: default
spec:
  commonName: selfsigned
  duration: 87600h
  keyId: alias/kms-issuer
  renewBefore: 4380

i assumed that the time in the container is somehow wrong configured and tried to set the duration to 20 years (175200h) which should extend the Root Ca until 2033 but this result in:
        Validity
            Not Before: Mar  2 12:00:00 2008 GMT
            Not After : Feb 26 12:00:00 2028 GMT

With 10 years (87600h) it looks like this:
        Validity
            Not Before: Aug 31 00:00:00 2013 GMT
            Not After : Aug 29 00:00:00 2023 GMT

https://github.com/Skyscanner/kms-issuer/pull/14 i think this behavior is introduced with this PR. NotBefore is truncated with duration - renewBefore. I tried to use the default of renewBefore which is 2/3 of Duration but the Validity is still weird:
2019-08-30 00:00:00 +0000 UTC
2039-08-25 00:00:00 +0000 UTC

If i override Rounding and set 1h (Which will never computed). it makes more sense:
2022-06-03 11:00:00 +0200 CEST
2032-05-31 11:00:00 +0200 CEST

i do not exactly understand the behavior of Rounding and why it is set to this calculation. The outcome of this calulation does not make any sense to me

The rational for using time.Truncate was to ensure the ca.pem is generated across multiple kubernetes clusters but the same kms key (which requires setting NotBefore/NotAfter to the same value). But as you mentioned the very first set of dates are just weird. This isn't great.
I think this could be refactored because it's just confusing. Having different root-ca pem isn't a real issue.

Hey chaudyg,
but at some point the kms Issuer will create a new CA with new value in NotBefore/NotAfter. I did not understand when this will happen. I tested this with a simple go script and modified time.Now() but it is not really clear when i lose my current Issuer when i recreate them.

but at some point the kms Issuer will create a new CA with new value in NotBefore/NotAfter. I did not understand when this will happen.

As you said, this should be renewed by default 2/3rds of the way through the certificate’s duration. So, if your CA is valid for 21 years, a new PEM will be renerated 7 years before expiration.

Does it make sense to build a feature to set notBefore and notAfter to a certain value.

kms-issuer uses the same strategy as cert-manager: the private key is unchanged by the public ca pem is automatically renewed. Hard-coding some dates would force the users to manage those dates manually.
I think there is something not clear, but I am not sure what it is. I am answering your question?

Hello @derbauer97, is there any action you would like us to take or are you happy with the answer from @chaudyg?

Sorry for the late answer. I think i understand now how it works. We stick to the default behavior rather then setting renew by ourself. Now we get a much better Validity. Thanks for your help!


Unable to login with accounts role=user at multi tenant example

Link to reproduction
No response
Describe the Bug
Logging as<EMAIL_ADDRESS>at http://abc.localhost.com:3003/admin displays message:

Unauthorized, you must be logged in to make this request.
You are not allowed to access this page.
Log out

as<EMAIL_ADDRESS>at http://abc.localhost.com:3000/admin/login seems to show dashboard correctly.
And thanks for all of your AMAZING work!
To Reproduce

Setup mongo docker container
cd to multi-tenant example code from v2.11.2 tag.
Run commands as instructed in README.md
Setup /etc/hosts with abc.localhost.com pointing to <IP_ADDRESS>
Try to login with<EMAIL_ADDRESS>on localhost:3000 - all good.
Click Log out, Click log back in.
Try to login with<EMAIL_ADDRESS>on abc.localhost.com:3000 - all good, access scoped well.
Click Log out, Click log back in.
Try to login with<EMAIL_ADDRESS>on abc.localhost.com:3000 - shows "Unauthroized" message.

Payload Version
2.11.2
Adapters and Plugins
No response

This is expected behavior, though the error message is confusing.  Non-admin users (like<EMAIL_ADDRESS>should not be able to access the admin UI which is why there is an error message.  Logging-in with this account shows the message "Unauthorized, you must be logged in to make this request", however, this is misleading because the user is actually logged-in and calls to the API are successful (within the scope of their tenant permissions), it's just that they are not authorized to view the admin page.

Yeah the example does seem slightly confusing on what the use-case is for the ‘user’ role. As the demo is, its just for doing API calls pretty much. Not to access the GUI.


Directory Assistance processed differently based on sequence of loading server docs

When running the DLAU with multiple servers using different directory assistance databases I get different results based on the order of the servers being  processed.
When the GetServerList functrion uses GetLastDocument with GetPrevDocument to loop the navigator I get
55	CCB Users
3	CCX Active Users
105	CCX Inactive Users
11330	Known Guest Users
but If I use GetFirstDocument with GetNextDocument to do the loop I get
54	CCB Users
3	CCX Active Users
105	CCX Inactive Users
0	Known Guest Users
I think it is overwriting the Directory Assistance configuration instead of adding to it as it loads in the server configurations.

Investigating

Feel free to reach out if you need any more information about our environment.  I'm pretty sure it is a result of our Dev environment having non-replica dev copies of the same directories and when reading them one way it ends up using the dev copies and the other way uses production copies

Resolved in V1.2.6


use the new zero-allocation control message parsing function from x/sys

My PR was merged: https://go-review.googlesource.com/c/sys/+/425917 🍾
Closes #2889.

Wonderful - reran my benchmarks against your commit - I'm seeing up to 12% decrease in allocations (both volume and bytes allocated) as well as up to 10% improvement in performance, especially for larger payloads. (Context: a QUIC-based proxy.)

@kokes Thanks for the feedback! I'm really happy to hear that!


ARROW-2668: [C++] Suppress -Wnull-pointer-arithmetic when compiling plasma/malloc.cc on clang

This generates a warning on clang-6 when using CHECKIN error level, so compiling with -Werror will fail without it.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #2099   +/-   ##
=======================================
  Coverage   86.39%   86.39%
=======================================
  Files         230      230
  Lines       40488    40488
=======================================
  Hits        34979    34979
  Misses       5509     5509

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 79a2207...13d7670. Read the comment docs.


Handle dsn containing keys which don't match an attribute name

The hash we use to construct a new object in PglogicalSubscription.find needs to only contain keys which match defined attributes.
@gtanzillo @Fryguy

:+1:


Refactor Windows documentation

Tracked on [LRS-832].

one more thing, please check the option"Allow desktop apps to access your camera" should be turned on in Setting -> Privacy -> Camera for Windows.
the default value is on.

The WinSDK is 10 (10.0.15063) according: https://www.intel.com/content/www/us/en/support/articles/000028594/emerging-technologies/intel-realsense-technology.html

This was wriiten at May/2018.
We beed to gound out the current minimak WinSDK

Added GHA test #12118 that checks minimal CMake supporting version on Linux.

@maloel can you help review + spell check?

Looks good from my side


provide dist file which can be use directly without npm

Can we provide the dist file such as vuetalbe-2.min.js which can be use directly?
Just the same as V1.0, becuase not all of the project based on npm.
Thank you so much.

@TrendAlan I still don't know how to do that and still don't have enough time to research it.

I'd like to see this too.


[codebuild] use dockerhub login

Motivation
Dockerhub api enforcement ratcheted up over the month of November finally effecting us in the last week (100 api calls per hour).   So sign in to dockerhub when we have to build docker image in aws codebuild.
Because the more CI's the merrier.
Have you read the [Contributing Guidelines on pull requests]
Yes
Test Plan
Been working in master the last 9 days.
Related PRs
PR in to master:   https://github.com/libra/libra/pull/6730

/land

@rexhoffman :bulb: This PR is already queued for landing


[Bug]: verbatim lat/long and uncertainty aren't verbatim in Comprehensive Specimen

Steps to reproduce the bug
1.Using Parse of verbatim to fill verbatim fields for a Collecting Event inside Comprehensive Specimen
2."N" and "W" appear (not present in verbatim)
3. "10" meters uncertainty appears (not present in verbatim)
...

Screenshot

Expected behavior
Test to ensure verbatim is ... verbatim.
Or explain to those entering data why these are appearing?
@tmcelrath can provide more information as well
Additional Screenshots
No response
Environment

[ ] Development (native)
[ ] Development (docker)
[ ] Sandbox
[X] Production

Sandbox Used
No response
Version
INHS ENT Collection
Browser Used
firefox

Actual issue is that we can’t enter coordinates verbatim. Eg the coordinates in this case were written aith an extra ° symbol at the end but were not parseable. So we had to delete it to get it to “work” even though on the verbatim label there is an extra degree symbol.

The pattern recognition could not be 100% error proof. There are hundreds different way the coordinates could be entered to the label fields. Some of the coordinates are not recognized, some recognized with error. The good rule is to validate the verbatim rules, the same applies to the date recognition. I am not sure about the uncertanty value, this is definitely not comming throug the recognition.

I will check on N and W characters.

I just created new collecting event, everything is parsed correctly. Not N, W signes, not precision. The data presented at the top are probably comming from initial INHS insect collection migration. This is the way the data were originally stored in the FM database. The same with the error radius. Please reopen if you still find an issue.


[SelectField] Fix invalid height when using floatingLabelText

[x] PR has tests / docs demo, and is linted.
[ ] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[ ] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

Fixes #4297

Look good, thanks @ryantemple.

That's breaking the layout of the TextField example. E.g:
Before:

After:

Well, it was already broken, but it's even worse now :grin:.

no problem - will take a look at it.

Any news on this issue?

@ryantemple Thanks for this PR, but it has been quite inactive for a long time now. I'm closing it. Feel free to submit a new PR that solve the previous concern.


Revert "fix: "dependency_version_2": true"

Reverts terraform-ibm-modules/sample-deployable-architectures#89

/run pipeline

:tada: This PR is included in version 1.0.29 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


CodaLab error

Hello, I failed to open the View scoring error log when I was verifying on the official website.
WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. /opt/conda/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment. warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.') You are using pip version 9.0.1, however version 24.0 is available. You should consider upgrading via the 'pip install --upgrade pip' command.

The issue does not belong to this repo, please post it in the right place.


API status error

I logged into my account, but the app shows only an API error. I‘m using 1.27.2 (latest release on the appstore).

Bug Report Dump (Auto-generated)

Version 1.27.2<PHONE_NUMBER>)
Device: iPad8,7 (iOS 12.2)
TestFlight: false

Hi @dferch, thanks for letting us know! This has been fixed and will be available in the next update.
See #2546


FEATURE REQUEST -  Order sent for shipping customer notification

It would be nice if a tracking number is generated for an order; an email can be sent to the customer with the tracking number.
We currently rely on the FlagShip notification method, but customers don't always know who 'Flagship' is. They think it's spam/scam and ignore it.
If an internal email could be sent that gave the user the tracking number when it was initially created, it would be beneficial.

Hi,
We appreciate your suggestion. If we sent a tracking number upon confirmation it would still come from a FlagShip email address.
Or maybe I am not understanding this correctly. Can you describe in more detail how you see this feature being implemented?
Thank you,

I think Red-Cross-Knight wants a feature that would enable him to email, from his website, the tracking number of the order. In order to do this, the tracking number would be captured in the woocommerce order. He would have an option where we could "send the tracking info to customer" via his website and opt-out of the flagship option where you can send the tracking number.


deprecate(config): contributes.configuration: vscord.enabled

deprecate(config): contributes.configuration: vscord.enabled
Rationale
Having a contributes.configuration property for an extension enablement state is redundant to the built-in setting and a bad practice

We need this for disabling the extension via workspace

We need this for disabling the extension via workspace

It's possible to do built-in too

Never knew that is a thing, i think i might approve this PR


Tone.BufferSource: buffer is either not set or not loaded

I set up everything as described. When I click on my own song to play, I get this message:
   Main.js:1 Uncaught Error: Tone.BufferSource: buffer is either not set or not loaded.
    at t.BufferSource.start (Main.js:1)
    at t.Player._start (Main.js:7)
    at t.Player.t.Source.start (Main.js:1)
    at e.value (Main.js:1)
    at HTMLElement.<anonymous> (Main.js:1)
    at Object.t.exports.fireEvent (vendor.bundle.js:14)
    at vendor.bundle.js:14
    at Array.map (<anonymous>)
    at HTMLElement.value (vendor.bundle.js:14)
    at HTMLButtonElement.e (Main.js:1)

Check the vo files, for loading etc. If you F12 you'll probably see some errors. I had the same issue but fixed it with those http://www.sonicviz.com/wp/project/spatial-music/

In fact, there are many missing files. We should improve documentation, to instruct what files should be put into /audio/vo directory.

Yeah, as we mentioned in the REAMDE, this is entirely without audio files. So if you want to get it running locally, you'll need to add files and change a few lines in the code.
One of the missing files is for this line which creates the audio-reactive visuals in the splash page. You can replace that with any file since it's never heard.
The rest of the VO files are loaded from here and can be either commented out or changed in the config file under the key "intro".


[Docs] Bounded or unbounded for one-shot channel

I'm using a channel to send a message once and then using the channel again. Do I want to use a bounded or unbounded channel for this? It should probably state so in the readme.

You can use any of those, really. There is functionally no difference between them for one-shot use except perhaps a small difference in performance.


CB-15843 aws tests are failing in pr time because cp missing. adding …

…back these services.
See detailed description in the commit message.

ohh, I forgot, this should be reverted probably too: https://github.com/hortonworks/cloudbreak/commit/cd86d83f2d069a76180e261975c6ca7c6bbabf70#diff-f99719f570b74d200e9f0fed29aa850fd4ce30481cc26f295471dc752e655348


Serializer isn't called on 0.2.0-beta.1

Hi,
I tried to use 0.2.0-beta.1 since the document pointed out to the version.
But it didn't work.
Then, I tried to use the latest version from github. It just worked.

It occurs on master(4874f21bf6f476578f73d765148b7aacf3e2f861) too.
// mirage/config.js
this.get('/post');

This works. But,
// mirage/config.js
this.get('/post', ({db}) => {
  return db.posts;
});

This doesn't evaluate serializers.

Yah, db.posts returns a "dumb" array of objects. The serializer layer works by serializing Models and Collections. So try this:
this.get('/posts', ({post}) => {
  return post.all();
});

It works! Thank you.
Can I ask you one more question?
How can I return serialized json with additional fields like meta data?

I've posted an article to introduce ember-cli-mirage in Japanaese.
Article: http://qiita.com/dopin/items/9c8efac9536cb8cbd807
code: https://github.com/dopin/sacloud-ember/
Thank you for creating very useful and helpful tool! @samselikoff

Very cool, and you're welcome!
There's no "official" way to return meta currently. Perhaps try calling super in your serializer's serialize method and mutating it there, something like this:
serialize() {
  let json = Serializer.prototype.serialize.apply(this, arguments);
  // add meta to `json` and return
}

(we use Backbone's extend to do subclassing, so the super call is according to the Backbone docs on calling super.

Thank you! I'll try it.

It seems that works for each serialization of models but not for collections.
I could do by this workaround for collection.
// mirage/config.js
  this.get('/server', ({server}) => {
    let json = this.serializerOrRegistry.serialize(server.all());
    json['Total'] = json.Servers.length;
    json['From'] = 1;
    json['Count'] = json.Servers.length;
    return json;
  });

Yep, this.serializerOrRegistry.serialize is the workaround for now. I should add this to the docs. Thank you!


feat!: Crunchy DB PR deploys

Made the following changes

feat: moving to PR based deploys with crunchy
chore: enable pgmonitor in prod
chore: update github workflow to not create db from site if seed is enabled as site db would be empty without seed data
chore: made different seed shell script with idempotency. made configmap for postgres cluster.
chore: fix workflows to remove unnecessary config checks and default s3 enabled. made s3 as repo 1 and pvc as repo 2.
chore:
Workflow updates:
DB deployer timeout increased to 10 minutes and added as a dependency to deploy
DB Deployer values-dev.yaml added to always clone from TEST env crunchy DB so that seed data is always present.
Helm Updates:
updated secret ref to use , dbUser vs dbName , so that secrets are read for specific user
chore:
switch to repo1 pvc and repo2 s3(object store)
make clone false at this moment
enable seed to start with
add seed check for PR deploys to create template db

Thanks for the PR!
Deployments, as required, will be available below:

Backend
Frontend

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow

After merge, new images are deployed in:

Merge Workflow

Most of this looks great, I like how seed_enabled can be triggered on a pr by pr basis.
There's a --debug in the .deployer.yaml you may want to remove in future, but fine to leave in for now as we're still actively working on it.
For the backend.initDB.sh -> backend/migrations.sh, I'll run these by Nikhila but I imagine shuold be good assuming all the functionality works. I notice that you removed extensions for uuid-ossp, postgis, etc. If these come bundled already in crunchy I think it should be fine. But will run DB changes by her first just to make sure there aren't other pieces of functionality that touch this.
Assuming the rest of works as expected, then happy to approve and looks good. Thanks for all this Om! I see the philosophical shift away from writing bash scripts to writing bash scripts in yaml and have them called automatically in alpine images, even if there's a lot more boilerplate.

Thanks @acoard-aot

yeah, the --debug is temporary as we hash out, will be removed.
the extensions are enabled in the initDB script of crunchy deployment, and I also see them as part of typeorm migrations , ```
logs query: SELECT * FROM current_schema()
query: CREATE EXTENSION IF NOT EXISTS "uuid-ossp"
query: CREATE EXTENSION IF NOT EXISTS "postgis"
query: SELECT version();
query: SELECT * FROM "information_schema"."tables" WHERE "table_schema" = 'sites' AND "table_name" = 'migrations'
query: SELECT * FROM "sites"."migrations" "migrations" ORDER BY "id" DESC
No migrations are pending
migrations completed
SEED_DATA_PATH is not set. Skipping seed data loading.

3. My personal thought was to avoid building another container just to copy shell scripts and add psql client. but happy to revisit , if we want a specific dockerfile for this purpose.


reafactors to support common js

Cross link with Issue #2
This PR simplifies this library to be easily consumable via CommonJS modules. After this PR you should simply be able to npm install --save react-validatorjs-strategy and use within your application. This should allow easy bundling via WebPack and Browserify.
I also upgraded the /src folder to be ES6, and ensured tests are passing.

Closed seems like #4 incorporated similar ideas here. No reason to conflate the issue.


Remove bash sets as a hotfix to prevent user-sessions breaking

Please check if the PR fulfills these requirements

[ x] The commit messages are descriptive
[ x] Tests for the changes have been added (for bug fixes / features)
[ x] Docs have been added / updated (for bug fixes / features)
[x ] An issue has been created for the pull requests. Some issues might require previous discussion.

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Bug fix for #557

What is the current behavior? (You can also link to an open issue here)
Prevents bash-script breaking user-sessions

What is the new behavior (if this is a feature change)?
No set flags in bash script until properly reviewed

@purbon can you review, please? We need this bugfix urgently, thanks.

I agree to this. The file will be sourced, and the set command will affect the user's shell. Also, the hash-bang line makes little sense for a file that must be sourced and not run directly. I suggest removing the first five lines completely.


Add exclusion for Hotmail

…maybe it makes more sense to try to ping the domain to see if it is a valid fediverse server?

In principle one can do this (e.g. Fedifinder does that), but I have so far decided to avoid doing a HTTP request for every single host every time someone searches. Besides, if a server is temporarily offline, one misses all its users.
Another option would be to use a precomputed list of well-known instances that is occasionally refreshed. I already do this with the list from https://instances.social and it works well, but so far this is only used for IDs of the form<EMAIL_ADDRESS>where it's not clear whether it's a Fediverse ID or an E-Mail address.
What I'd be interested in: What exactly caused you to add hotmail to the forbidden list? Is there a https://hotmail.com/@account URL that causes problems? Because Hotmail email addresses should normally not be a problem with the current implementation.

Someone on one of my lists showed up due to this snippet in their bio: Business inquiries<EMAIL_ADDRESS>


using $apply in $expand expression

Hello,
I am getting below error when I tried to implement this chart, I am using Azure Devops Server 2019, is this not supported?
DataSource.Error: OData: Request failed: The remote server returned an error: (400) Bad Request. (VS403483: The query specified in the URI is not valid: Term '( $apply=filter(WorkItemType eq 'Product Backlog Item') /groupby((StateCategory), aggregate(Effort with sum as TotalEffort)) )' is not valid in a $select or $expand expression..)

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

ID: 8719e400-4445-59a4-c68e-628243710c36
Version Independent ID: d6a76999-81c0-33cb-47a5-9ca4d8be80c3
Content: Feature Progress rollup sample Power BI report - Azure DevOps
Content Source: docs/report/powerbi/sample-boards-featureprogress.md
Product: devops
Technology: devops-analytics
GitHub Login: @KathrynEE
Microsoft Alias: kaelli

@angelwang  Thank you for your question.
It looks like you're working through an issue with your scenario or implementation, rather than an issue with the documentation.
Here are a couple of options where you might consider asking your question:

Azure DevOps on Stack Overflow
Azure DevOps Support Bot

To get this issue to the product team, please use Azure DevOps UserVoice.


Update everything to be 2019

I'm submitting a ...
[/] enhance

Summary
Currently, the project is still referencing the year 2018 in many areas such as LICENSE and the doc site. Update all of them to be 2019.

this is done


Changeable the Digits sequence

Hi bro,
can you please add a new feature?
At the moment. the digits sequence look so :
1 2 3
4 5 6
7 8 9
X 0 C

But i think it s better if you change it so ;
7 8 9
4 5 6
1 2 3
0 (CLR)

I'd be grateful if it is possible
thanks
erkan kaplan

or as Variable ;
setDigitsSequence("7,8,9,4,5,6,1,2,3,0,CLR")

sure, will add it asap.

CLR maybe as icon or Text....

Till now .... Is there any update about setDigitsSequence ?


Thermostat Fan Mode CC Value no longer has a state value

Checklist:

[x] I am not using HomeAssistant. Or: a developer has told me to come here.
[x] I am not using ZWaveJS2MQTT. Or: a developer has told me to come here.
[x] I have checked the troubleshooting section and my problem is not described there.
[x] I have read the changelog and my problem was not mentioned there.

Describe the bug
Thermostat Fan Mode values get discovered, but they have no state value. See below for an example:
{
  "endpoint": 0,
  "commandClass": 68,
  "commandClassName": "Thermostat Fan Mode",
  "property": "mode",
  "propertyName": "mode",
  "ccVersion": 1,
  "metadata": {
    "type": "number",
    "readable": true,
    "writeable": true,
    "label": "Thermostat fan mode",
    "min": 0,
    "max": 255,
    "states": {
      "0": "Auto low",
      "1": "Low"
    }
  }
}

I can also see in the zwavejs2mqtt UI that the fan mode value is blank, and it doesn't appear that setting it does anything although I can't say for sure
Device information
Which device(s) is/are affected (make/model)?  Radio Thermostat CT100, Radio Thermostat CT101 (CT101 is user reported, my device is a CT100 Plus)
What are the node IDs? 26
Did you change anything?

[ ] Yes: (please describe)
[x] No

Did this use to work before?

[ ] Don't know, this is a new device
[ ] No, it never worked anywhere
[x] Yes, in: (specify application with versions)

How are you using node-zwave-js

[ ] zwavejs2mqtt (latest) docker image
[ ] zwavejs2mqtt (dev) docker image
[ ] zwavejs2mqtt Manual Docker build

node-zwave-js branch:
zwavejs2mqtt branch:

[ ] ioBroker.zwave2 adapter
[x] HomeAssistant version 2021.4 (zwavejs2mqtt 3.2.0, zwave-js 7.1.1)
[ ] Pkg
[ ] Manual Docker build

node-zwave-js branch:
zwavejs2mqtt branch:

[ ] node-red-contrib-zwave-js

Module version (double click node):

[ ] Manually built (as described in the docs)
[ ] Other:

To Reproduce
Steps to reproduce the behavior:

Interview a Radio Thermostat thermostat
Observe that the thermostat has no state value for the discovered Thermostat Fan Mode CC Value

Additional context
Add any other context about the problem here.
Logfile:

zwavejs_359.log

Fix at #2272 - was probably noticed because of the mapping changes. The interview never worked correctly.

that may explain the issues we were seeing with trying to set fan mode in HA. Thanks for the quick fix!


feat(app): add custom labels

This PR should allow addition of deployment labels from values.yaml.

@feminovia we need to bump up the version in Chart.yml to 0.5.1