Fuse returns confusingly incorrect results

Was playing around with Fuse to see if it could work for some simple data we need to search over, but I'm seeing baffling results. Below we have 2 items of data, each with two keys. The search term is also two words, nothing misspelled or anything. This also happens if you have tokenize enabled.
If you have tokenize and matchAllTokens the below example returns no results. To my untrained eye this seems like a pretty cut and dry example, so either I'm missing something obvious or there's something very strange going on under the hood.
const Fuse = require("fuse.js");
const assert = require("assert");

const data = [{
  firstName: "Nikki",
  lastName: "Wolfe",
}, {
  firstName: "Brian",
  lastName: "Wolfe",
}];

const searcher = new Fuse(data, {
  keys: ["firstName", "lastName"],
  shouldSort: true,
});

assert.deepEqual(searcher.search("brian wolfe"), [ // This test fails, but should pass.
  { firstName: "Brian", lastName: "Wolfe" },
  { firstName: "Nikki", lastName: "Wolfe" },
]);

For posterity the above returns the following, which fails the test case.
[ { firstName: 'Nikki', lastName: 'Wolfe' }, { firstName: 'Brian', lastName: 'Wolfe' } ]

Happy to help fix if someone can point me in the right direction - I got pretty deep down adding logs into the searchflow but didn't know quite what I should be looking for.

The problem is with your assertion. If you do:
console.log(searcher.search("Brian Wolfe"));

You'll see the correct results.

@Sigmus I actually did that in order to build the assertion. When I do that I see
[ { firstName: 'Nikki', lastName: 'Wolfe' },
  { firstName: 'Brian', lastName: 'Wolfe' } ]

Notice the Nikki being listed first, rather than Brian. If you return scores as well you see
[ { item: { firstName: 'Nikki', lastName: 'Wolfe' },
    score: 0.5454545454545454 },
  { item: { firstName: 'Brian', lastName: 'Wolfe' },
    score: 0.5454545454545454 } ]

Which has the scores being identical (which explains the incorrect order).

And if you search "Nikki Wolfe" the results are correct.
Setting threshold  to 1 makes Brian appear as first. Not sure why the default returns Nikki as first.

@Sigmus Yes if you search "Nikki Wolfe" that is returned first because the score is exactly the same, so they're returned in the order they exist in the input. You can see this by swapping the order of the input and verifying that Nikki is no longer returned first
const Fuse = require("fuse.js");
const assert = require("assert");

const data = [{
  firstName: "Brian",
  lastName: "Wolfe",
}, {
  firstName: "Nikki",
  lastName: "Wolfe",
}];

const searcher = new Fuse(data, {
  keys: ["firstName", "lastName"],
  shouldSort: true,
});

// Nicki is returned second, even though she should be returned first, causing this test to fail
// [ { item: { firstName: 'Brian', lastName: 'Wolfe' },
//     score: 0.5454545454545454 },
//   { item: { firstName: 'Nikki', lastName: 'Wolfe' },
//     score: 0.5454545454545454 } ]
assert.deepEqual(searcher.search("brian wolfe"), [
  { firstName: "Brian", lastName: "Wolfe" },
  { firstName: "Nikki", lastName: "Wolfe" },
]);

However - You are correct about setting threshold to 1 fixing the problem. I've been able to narrow it down to anything >=0.909090 repeating working, and anything below that failing.
Is it expected behavior that changing threshold changes the sort order? Reading the docs makes it sound like it determines at what point something is considered a match, not anything to do with sort order in the returned documents.


[WIP] Notebook Task

TL;DR
Please replace this text with a description of what this PR accomplishes.
Type

[ ] Bug Fix
[ ] Feature
[ ] Plugin

Are all requirements met?

[ ] Code completed
[ ] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
How did you fix the bug, make the feature etc. Link to any design docs etc
Tracking Issue
https://github.com/lyft/flyte/issues/
Follow-up issue
NA
OR
https://github.com/lyft/flyte/issues/

Codecov Report

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

@@           Coverage Diff           @@
##           master     #130   +/-   ##
=======================================
  Coverage   81.38%   81.38%
=======================================
  Files         217      217
  Lines       14153    14153
  Branches     1160     1160
=======================================
  Hits        11518    11518
  Misses       2353     2353
  Partials      282      282

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 ea9970b...641f75a. Read the comment docs.

Can you fill in the issue/description?  I want to understand more what we're trying to do here/what the end goal is.

@wild-endeavor not ready for review .


Console log has wrong font color

Jenkins and plugins versions report

Environment

Jenkins: 2.348
OS: Linux - 3.10.0-1160.42.2.el7.x86_64

simple-theme-plugin:103.va_161d09c38c7
material-theme:0.4.1

What Operating System are you using (both controller, and any agents involved in the problem)?
Linux - 3.10.0-1160.42.2.el7.x86_64
Reproduction steps
Open the console log of any build
Expected Results

Actual Results

Anything else?
it might be related with:
https://github.com/jenkinsci/jenkins/pull/6339
https://github.com/jenkinsci/jenkins/pull/6338

Hi,
Happens now with latest LTS 2.346.1 and latest plugins.
Workaround for me is to fix the CSS with 'simple-theme-plugin'
Example of JCasC
simple-theme-plugin:
  elements:
    - cssText:
        text: |-
          pre.console-output {
            color: #FFFFFF !important;
          }
          .cbwf-stage-logs .log-details .console-output {
            color: #000000 !important;
          }

Best regards,

Fixed in 0.5.0

The linked PR is listed instead, which has a similar title.

Should be fixed in 0.5.0-rc83.6557e02980de (please reoppen if not).

The issue is solved! Thanks!


updating contributor of the month for march 2023

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design
/kind user-interface
/kind content

/kind translation

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area blog

/area documentation

/area videos

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
i am trying to correct the image reference for march 2023
Special notes for your reviewer:
signed-off-by: jsalinas29<EMAIL_ADDRESS>

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

c8c2297 Merge branch 'falcosecurity:master' into master
a5375d5 Merge branch 'falcosecurity:master' into master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jsalinas29
Once this PR has been reviewed and has the lgtm label, please assign issif for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Add capability to orchestrate a running Jenkins installation

Is this a BUG REPORT or FEATURE REQUEST?:
/kind feature
What happened:
In the future, Tarmak will provision a Jenkins instance to the hub to manage the cluster lifecycle.
What you expected to happen:
Tarmak needs a means of controlling and configuring this Jenkins instance programmatically.
Anything else?
Use this rakefile for reference: https://gitlab.jetstack.net/tarmak/terraform/blob/master/Rakefile#L20-251
It has the following functionality:
  def create_split_path(in_path)
  def create_job(job, opts={})
  def create_folder(folder)
  def create_ssh_credential(name, username, private_key)
  def create_file_credential(name, private_key)
  def install_plugins(*plugins)
  def safe_restart

It would be great if we could have a idempotent behaviour of that API

/assign

I've made some minor progress with this today.
I've created forks of the gojenkins and terraform-provider-jenkins and have made some changes that represent the start of some integration tests. https://github.com/charlieegan3/terraform-provider-jenkins/commit/c5040b2a41551b9ca2b14491e1f6ee01f92dae26
Both libraries need extending so I'm using my own forks of them for now.

This morning I've made the "integration test suite" a little more usable.
https://github.com/charlieegan3/terraform-provider-jenkins/blob/master/test/test_integration.sh
This script runs through each of the directories in the test directory and applies the terraform config defined in each. The first creates a job, second updates it, third deletes it.
So jobs are, dare I say it, working in the Terraform provider.
I think I'm going to work on Folders next. It looks like gojenkins has a starting point here: https://github.com/bndr/gojenkins/blob/master/folder.go but can't do deletes. So I suspect that's what I'll be doing next with this.

I've added folder.Delete to my fork of gojenkins - planning to build this into a Terraform resource definition when I next work on this.

/unassign @charlieegan3


Robot stops, does nothing and continues after a few minutes

In the field U5 stopped weeding and continued after a few minutes. Restarting the robot does help.
Navigation: Straight Line
Implement: Weeding Screw
@rodja suggested that there might be a loop from which the robot can't exit, where it is not allowed to drive but doesn't detect anything either
I will try to find the log of the event.

This may be fixed by https://github.com/zauberzeug/field_friend/pull/102 where a list of last punch locations is managed to ensure we do not keep punching at the same location.


Convert provider to use the new Terraform Plugin SDK

Hashicorp revealed a separate Terraform Plugin SDK and the company promotes for provider developers to migrate their code to use it.
Source:
https://www.terraform.io/docs/extend/plugin-sdk.html

@ringods thanks for the heads up. I was planning to migrate this to terraform 0.12 within the next week so I'll take care of this issue then (since it's a prerequisite).

This was done when I merged #23.


migrate maria to postgresql

Coverage decreased (-0.1%) to 60.087% when pulling 8a782401068226d29601eec80782f3c94ab944b6 on wy65701436:migrate-maria-postgresql into 685140cda8dd67f02451c818ea1df61384c433b0 on vmware:maria-to-pg.

Is there a design goal to switch from MySQL based to Postgres? This would be a fairly major breaking change that would affect anyone currently running Harbor when they go to upgrade.  We would need to ensure a smooth upgrade process including data migration scripts ( or at least documentation ) from one to the other.
With the potential disruption to existing users, I think we'd need a really good reason to do this as a straight cutover like this, may make more sense to support both for a period of time to give people a chance to move their data.

@paulczar Thanks a lot for you comment and suggestions.
We plan to migrate to Postgresql due to several reasons.
1> To limit the maintenance effort for our customer.
Currently Harbor has both Mariadb, postgresql, ( For old version of Harbor there are Mysql as well)
2> We have plan to Support HA deployment of Harbor. Setting up different DB clusters are expensive.
This Patch is only for database driver change.
In the coming patches, we will surely provide data migration scripts for user to transfer from MariaDB to Postgresql.
We will also document the detail/solid steps for this part. So please don't worry about the upgrade.
Please let us know if you have further more questions/concerns.
As always thanks a lot for choose Harbor.

:+1:


rcSpan bitpacking counterproductive?

I noticed that bumping up RC_SPAN_HEIGHT_BITS to 16 dramatically reduces processing time for my batch map processing job. It finishes in 500 minutes instead of 850, presumably because the bitops required for accessing 13-bit fields aren't trivial. With clang on x64, sizeof(rcSpan) is 16bytes regardless. Is saving 4bytes/struct on i386 worth the processing cost?

I would be fine with a patch that increases the size. It would allow us to support larger worlds out of the box too -- I have had to increment this value because of tiles with large differences in the Y coordinate in my own worlds.
That said it is unexpected to me that the difference is so dramatic. We do several floating point computation for each of those accesses, and it should be just a single shift and mask operation. But addSpan could be made more efficient too (to avoid recomputing the value in a few places).

Hm. I'll re-run my jobs to get some more numbers.

Well, I can't reproduce my miracle results, so chalk that up to operator error.


docs: release notes for 1.0.0-beta.34

Releases notes

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2022-09-14T19:26:05.031+0000

Duration: 14 min 15 sec

Test stats :test_tube:

Test
Results

Failed
0

Passed
185

Skipped
2

Total
187

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.


[REQ] Add a (GH-compliant) license file

Hi there, 1st of all thanks for this awesome work !
Since I've 'doxed' it for the HyMPS project's resources collection (under VIDEO section \ AI-based page \ Upscalers), can you please add a GH-compliant license file for it ?
As you know, expliciting licensing terms is extremely important to let anyone better/faster understand how to reuse/adapt/modify sources (and not only) in other open projects and vice-versa.
Although it may sounds like a minor aspect, license file omission obviously causes an inconsistent generation of the relative badge too:

(badge-generator URL: https://badgen.net/github/license/claudiom4sir/StableVSR)
You can easily set a standardized one through the GH's license wizard tool.
Last but not least, let me know how to improve - in your opinion - categorizations and links to resources in order to favor collaboration between developers (and therefore evolution) of listed projects.
Hope that helps/inspires !
nota: sono italiano anch'io !

Hi @MarcoRavich,
Thank you for your interest. I've added the MIT license to the project.

nota: sono italiano anch'io !

L'avevo immaginato dal nome :-)


Vue example: Row Selection

This PR adds a Row Selection example for Vue.
Screenshots
No Selection

Some Selected

All Selected

I'm now taking note that #4978 exists. I'm in open to closing this PR in favor the existing one. I'm more interested in making sure that more Vue examples are added to the docs to make getting started a little more straightforward for newcomers.
I'll make sure to review open PRs before before raising a new one in the future 🙂

@KevinVandy thanks for reviewing an merging my PR! I'm definitely interested in producing more Vue examples for the project. Is there an issue that highlights any sort of priority in this area, or should I take on some more examples as I see fit?

We really need to solve the merge conflict in the other vue prs. Would you be able to help or conglomerate those?


Update README to document hyphens in jmes paths.

Issue #, if available:
#66
#228
Description of changes:
Documents the resolution to #66 and #228 for easier discoverability.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #242 (420cdc1) into main (89f1981) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #242   +/-   ##
=======================================
  Coverage   53.15%   53.15%
=======================================
  Files           8        8
  Lines         730      730
=======================================
  Hits          388      388
  Misses        332      332
  Partials       10       10


Fix #1997, Mismatched foreach in cmake function

Describe the contribution

Fixes #1997

Additional context
-> conversation at #1997
Contributor Info - All information REQUIRED for consideration of pull request
Personal

Recommendation is to remove the arguments.

I know, I mentioned it in the issue but no response... I'll fix this in my PR.

I know, I mentioned it in the issue but no response... I'll fix this in my PR.

thanks! We typically are a bit more responsive on PRs though this month has been hectic so our response time has been slower than usual. We appreciate your help!

I know, I mentioned it in the issue but no response... I'll fix this in my PR.

thanks! We typically are a bit more responsive on PRs though this month has been hectic so our response time has been slower than usual. We appreciate your help!

Ok, no problem. I'm grateful to be able to work on this project.

CCB:2021-12-08 - APPROVED


otel(arista): eos_native counters not working in gNMI plugin

see https://github.com/arista-netdevops-community/arista_eos_streaming_telemetry_with_gnmi_and_telegraf
got
2024-05-02T17:09:35Z E! [inputs.gnmi] Error in plugin: aborted gNMI subscription: rpc error: code = InvalidArgument desc = failed to subscribe to /Sysdb/routing/bgp/export: path invalid: failed to access node "Sysdb" in node ""

from running:
docker run --rm -it --network=host -v ./telegraf.conf.arista:/etc/telegraf/telegraf.conf docker.io/library/telegraf:1.29

looks like this arista config
enable
configure
username arista secret 0 arista
management api gnmi
  transport grpc def
    vrf MGMT
  provider eos-native

can't be supported in the switches we have...
maybe need upgrade ?

switch upgraded
issue resolved
documentation fixed https://github.com/opiproject/lab/commit/9ae65c07e93a302fe007b4efc9f967e90b8fde25
telegraf is running fine


fix: Mistake code snippet on custom-prompt-setup.md

Docs Build status updates of commit 27c9c96:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TerminalDocs/tutorials/custom-prompt-setup.md
:white_check_mark:Succeeded
View

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

Good catch @sanamhub - Thank you!!!

All my pleasure :)


[WIP] Added support to modify the GLWpfControlSettings within XAML front-end.

Description

Added a Start function overload that does not take any arguments; it relies on the Settings attached property.

This required the addition of a new field to check whether the control has been started.

Modified the example project to showcase both use cases.

Fixes #105
Dependencies
This PR introduces no new dependencies.
Type of change

[x] New feature (non-breaking change which adds functionality).

How Has This Been Tested?
I tested this locally on my machine and ensured that everything was still functioning as normal within the example project.
Test Configuration:

Operating System: Windows 10 Home
Hardware: Intel i7-10710U @ 1.1GHz, 32GB RAM
Toolchain: VS Community 2022

Proposed Design
<glWpfControl:GLWpfControl
	x:Name="OpenTkControl"
	Render="OpenTkControl_OnRender">

        <!-- Add settings object -->
	<glWpfControl:GLWpfControl.Settings>
		<glWpfControl:GLWpfControlSettings MinorVersion="2" MajorVersion="1"/>
	</glWpfControl:GLWpfControl.Settings>

</glWpfControl:GLWpfControl>

// Now, we can just call start within the code behind.
this.OpenTKControl.Start();

// Or, provide settings as we did before.
OpenTKControl.Start(new GLWpfControlSettings()
{
	MajorVersion = 2,
	MinorVersion = 1,
	RenderContinuously = false,
});

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

This looks good to me, is there a reason this is WIP?

This looks good to me, is there a reason this is WIP?

I believe there was an issue but I can't remember what it was 😂. I'll be getting to this some time today so hopefully we can get it merged :)

Lol, I had major and minor version swapped around; fixed now :)

This looks great. I'll merge this now and test it out the next time I do some development on GLWpfControl.


Serial port error with Windows 10

I have seen serial port error today which suddenly manifested today on my windows 10 development workstation. Several reconnects of the dongle and reboot did not resolve this repeating issue on zigbee4java startup. It seemed to appear by chance and finally disappear similarly after a dongle reconnect. If anyone else is seeing this with genuine TI dongle then please report it here. There has been some changes in USB serial port implementation with windows 10 and this may require fixes with our serial port implementation.
C:\Users\tlaukkan\Development\projects\zigbee4java\zigbee-console-javase>java -jar target/zigbee-console-javase-2.0.3-SNAPSHOT.jar COM5 11 4951 false
ZigBee API starting up...10:01:23 442  INFO   Initialized ZigBee network with existing network state.
java.io.IOException: This port appears to have been shutdown or disconnected.10:01:23 495  ERROR  Exception inputStream reader parserThread
java.io.IOException: This port appears to have been shutdown or disconnected.
at j.extensions.comm.SerialComm$SerialCommInputStream.read(SerialComm.java:512)
at org.bubblecloud.zigbee.util.MarkableInputStream.read(MarkableInputStream.java:113)
at org.bubblecloud.zigbee.network.packet.ZToolPacketParser.run(ZToolPacketParser.java:102)
at java.lang.Thread.run(Unknown Source)
at j.extensions.comm.SerialComm$SerialCommOutputStream.write(SerialComm.java:564)

Does not seem to repeat anymore. Reopen if you experience this.


Stacking notifications does not work on iOS

The computed notification Id (notId) does not seem to have any effect on iOS.
We should probably use the thread-id or the collapse-id.

Using thread id does not seem to have any effect.

Closed as per https://github.com/kalisio/kdk/issues/263.


fix: edit no description s3 backuppoint error

Signed-off-by: Liucw<EMAIL_ADDRESS>
What type of PR is this?
/kind bug

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes https://github.com/kubeclipper/kubeclipper/issues/310
Special notes for reviewers:

Does this PR introduced a user-facing change?

None

Additional documentation, usage docs, etc.:

@zhuzhenfan @x893675

Codecov Report

Merging #321 (f21fb10) into master (5da53ff) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #321      +/-   ##
==========================================
- Coverage   12.96%   12.96%   -0.01%
==========================================
  Files         102      102
  Lines       15623    15624       +1
==========================================
  Hits         2026     2026
- Misses      13354    13355       +1
  Partials      243      243

Impacted Files
Coverage Δ

pkg/apis/core/v1/handler.go
0.31% <0.00%> (-0.01%)
:arrow_down:

/lgtm

/approve


Alt+Shift+W and then Space removes default tag (p) in

After wrapping a selection and then pressing Space, the default p in <p> disappears (i.e. we get < >).
You might wish to have the default behavior ("Hit spacebar key to continue typing attribute after the opening tag.") working properly for the default tag too.
thanks!

I believe the idea here is to immediately type the tag name name after using the wrap command, THEN you can hit space to enter attributes into the opening tag.  While I see your frustration with the p disappearing, if you need a P tag with attributes, is it really that much work to train yourself to type p + space when wrapping text?  It's really quite efficient to get used to doing Alt + Shift + W -> Type Tag Name [-> Space -> Attributes]


Colors in IE10

the color picker doesn't change the color in the interface (chat, player list, ...), but it work inside the canvas

Internet Explorer is not supported :smile_cat:

@JeremyJames It should be.


Make nav meshes assets.

Fixes #13.
Now users can create the islands at startup, then load their nav meshes asynchronously. Users no longer need to make their own async management.

Codecov Report

Merging #18 (af2906f) into main (59795d8) will decrease coverage by 0.4%.
The diff coverage is 97.5%.

Additional details and impacted files

Files
Coverage Δ

src/lib.rs
95.1% <97.5%> (-0.5%)
:arrow_down:


Changed UI of Dino.

Greeting readers !
Upon forking the project, the very first thing that came to mind was the UI and the styling. I have tried my best to make it a bit attractive, hoping that it will be merged along to the legacy code.

Thank You for the PR. The main design of the website has to be kept really simple. You can keep this as a dark mode option if you want.

shalln't I just change the bg-colors of the site .....
may be than it could be worth of a merge.

Thank You for the PR. The main design of the website has to be kept really simple. You can keep this as a dark mode option if you want.

coz I have made it a bit more responsive than earlier as well.
and if not than do guide me, what else I can do .....

We can see responsive later on as this is a chrome extension, we can safely assume certain width and heigh(since mobile devices are not involved). In the mean time, you can see a bit more friendly dyslexic color scheme for dark mode and add it!

Also please raise an issue so that I can assign you

Also please raise an issue so that I can assign you

I have raised an issue (issue #53 ) as well as, have submitted the PR maybe it is worth a merge now.
Even if not, tell me what else I can do.

@CHEEMS-1206 Thank you for investing your time. Can you do one thing, for this pr don't change any responsiveness. Instead you can use  a dark mode color scheme with black/yellow. Some else is also working on another color scheme, so we can keep as many schemes as possible.

@developer-diganta , I have made the changes as guided. Do look over it and guide if anything else could be done.

I have also resolved any conflicts present.
what's the next step I can do.

@developer-diganta do guide me what could be done next ...
please

Thank You @CHEEMS-1206 ! Sorry I guess there was some confusion. It would be great if you can just change the background colour of the extension to black and make the colour of font yellow. And I would suggest do not add the responsiveness.

If you feel this PR is getting cluttered, you can open a new PR. If you have any other doubts do clarify!
You can also do one thing, in this PR simply add the colours scheme to css. In another PR, you can link the schemes (open an issue for that)


Braintree 3ds ssp

This change is needed for Braintree 3DS auth on SSP to work.
Related task: https://trello.com/c/52kfMc6T/553-braintree-ssp-3ds-store-authorizations

 Braintree - SSP 3DS & Store Authorizations

@freezepl Added tests


Fix/circuit breaker canary request limit

New implementation of canary request limiter. Using github.com/juju/ratelimit

Codecov Report

Merging #10 into master will decrease coverage by 0.33%.
The diff coverage is 92.3%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
- Coverage   62.72%   62.39%   -0.34%
==========================================
  Files           2        2
  Lines         110      117       +7
==========================================
+ Hits           69       73       +4
- Misses         35       37       +2
- Partials        6        7       +1

Impacted Files
Coverage Δ

handler/index.go
67.32% <92.3%> (-0.76%)
:arrow_down:

Continue to review full report at Codecov.

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


Snapshot NCT on proposal start

Requirements
In order for a delegator to vote, they need to prove that they had unspent staked tokens at the time the proposal's voting period opened. This means they need to prove relative to an older NCT root. However, we only currently preserve the current NCT in the view service, which means we can only prove relative to the current root. Additionally, we don't merely need to prove relative to an old NCT root, but also we may need to prove using commitments which we have subsequently forgotten from the current NCT (because we spent them). As a consequence, we need a way to refer to a snapshot of the NCT as of a given block height.
Implementation
When #1194 is implemented, the view service should take a snapshot of the NCT at the current position whenever a proposal's voting period begins, and delete old snapshots whenever the maximum possible voting period for that proposal ends.
The snapshot should be taken before anything in the compact block is inserted into the NCT, i.e. it should be a snapshot of the NCT immediately prior to the block when voting starts.
Because proposals are relatively rare and the view of the NCT is relatively small, we can afford to make a full snapshot rather than to complicate the database interface with incremental snapshotting. This is especially the case because during initial sync, the view service knows the current block height, which means it can avoid snapshotting the NCT during intermediate states when it knows that the proposal's voting is already concluded in the real world.
Details
Currently, the TreeStore newtype is defined as:
pub struct TreeStore<'a, 'c: 'a>(pub &'a mut sqlx::Transaction<'c, sqlx::Sqlite>);

We can augment this with an optional snapshot position:
struct TreeStore<'a, 'c: 'a> {
    transaction: &'a mut sqlx::Transaction<'c, sqlx::Sqlite>,
    snapshot: Option<Position>,
}

When the snapshot position is set, we should read from and write to a separate set of tables which have an additional column tracking the position of the snapshot for hashes, commitments, forgession counts. Unlike in the main schema, the table tracking position for snapshots should not be limited to a single row.
In order to ensure that snapshots are not updated after they are taken, constraints can be placed on the various tables to abort on deletion (which should never occur, because snapshots are non-incremental) and when a position is snapshotted twice (which is indicative of doing extra work).
At every epoch boundary, we should check the set of snapshots to see whether any of their positions are too old for any open proposal to refer to them, and delete them if so. Doing this every epoch saves on work—it's not essential to garbage-collect immediately, but it is necessary to do so regularly, since there is no well-defined "end of a sync run" when running pviewd as a persistent daemon.
Alternatives
There is a way to implement this with a copy-on-write schema in the database. Copied from Discord:

we don’t need to copy the whole NCT, we just need to attach a version number to each NCT node in the storage, and every time a new proposal happens, increment the version number. when deleting incrementally, we then only delete from the most-recent version, thereby ensuring that snapshots don't get garbage collected unless done so explicitly. instead of storing a single position of the tree, we should store a bidirectional mapping from version to position, so that you can say "what's the latest NCT" as well as "what was the NCT snapshotted at this position (if any)"
we also need to be able to mark nodes as deleted explicitly, so that this copy-on-write approach allows for true versioning, and then when you GC an old snapshot(s), it consists of finding the most recent still-valid version, applying its pending deletions to the snapshotted version(s), and incrementing all their version numbers up to that most-recent still-valid version
for posterity (and others): the reason why we can't just choose not to (or delay) forgetting things is that deletions also occur when a block is finalized, which means that you can't, for example, go backwards into a block once an epoch boundary has been crossed

Per discussion with @hdevalence, we don't need to do this, because we can instead submit a current proof for each note commitment, and check that the position was less than the proposal start block. This requires us to not forget commitments when any proposal is open for voting: eventually we want to have a table of delayed commitments to forget, and process their forgession as soon as a proposal is no longer in process of voting, but for now we can leak storage and postpone that clean-up to after the MVP for voting.


[Android] commissioning flow

Reproduction steps
1:Use Google Matter Home-Mobile SDK commission Matter device, get ip,port,passcode from callback.
2:Custom Fabric use  awaitEstablishPaseConnection(nodeId,ip,port,passcode) and awaitCommissionDevice(nodeId,NetworkCredentials) commission device
There are some doubts？
1: What parameters are required when Custom fabric init（ex：ChipDeviceController）
2: How to use ChipDeviceController.NOCChainIssuer API? I don't know how to integrate this in commissioning flow in Android app.
Thanks

@armysman I am missing some context here, could you adjust the description or provide more details?

what are you trying to do?
what guide(s) and SDK(s) are you using? based on the description I wonder if this should be routed to google-specific bits (which is not this repository but rather somewhere at https://developers.home.google.com/matter (Communities maybe)
Could you provide some more concrete steps, using markdown features and potentially code snippets (formatted) to explain the issue better? I cannot follow/understand the current description.

this issue solved my problems.thanks https://github.com/project-chip/connectedhomeip/issues/27027


Create NodeJS.md

Added Reference to README.md file

@harshTTH are you going to resolve the mentioned comments?

Resolved Conflicts. Merget to master.


ARROW-10139: [C++] Add support for building arrow_testing without building tests

Do we want to update some CI build configurations with this? (I assume this can make builds shorter)

We don't need to do it.
As far as I know, there is no CI build configuration that uses ARROW_BUILD_TESTS, ARROW_BUILD_BENCHMARKS, ARROW_BUILD_INTEGRATION or ARROW_FUZZING just for building libarrow_testing.so.

+1


Re-land 'Default Keyboard ScrollActions with PrimaryScrollController'

Description
Reverts https://github.com/flutter/flutter/pull/70391 which reverted https://github.com/flutter/flutter/pull/69795
This change exposed a bug in the restoration framework that caused the microbenchmarks to crash. The fix for that is in: https://github.com/flutter/flutter/pull/70398
That change will need to land first.
Related Issues
#43694
Tests
Same
Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[x] No, no existing tests failed, so this is not a breaking change.

@goderbauer your RSLGTM was not official per the bot. 😝


findimagedupes: 2.19.1 -> 2.20.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/findimagedupes/versions.
meta.description for findimagedupes is: "Finds visually similar or duplicate images"
meta.homepage for findimagedupes is: "http://www.jhnc.org/findimagedupes/"
meta.changelog for findimagedupes is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.20.1 with grep in /nix/store/kvfhc01cvi05r14ycih62dwir9h4hvvd-findimagedupes-2.20.1
found 2.20.1 in filename of file in /nix/store/kvfhc01cvi05r14ycih62dwir9h4hvvd-findimagedupes-2.20.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
findimagedupes

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/kvfhc01cvi05r14ycih62dwir9h4hvvd-findimagedupes-2.20.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A findimagedupes https://github.com/r-ryantm/nixpkgs/archive/a11c7f3b810a42b98fa334fb175b4a06b589846e.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/kvfhc01cvi05r14ycih62dwir9h4hvvd-findimagedupes-2.20.1
ls -la /nix/store/kvfhc01cvi05r14ycih62dwir9h4hvvd-findimagedupes-2.20.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

findimagedupes

Maintainer pings
cc @Stunkymonkey for testing.

executing it does not work.

something got fixed upstream. I ran nixpkgs-review pr 201170 and everything seems fine.


Active'ness

Mark,
Do you plan to continue development of this project?

I would like to, but wont until Rocket.Chat stops breaking the API on every release. Every release (which was every couple of weeks) I've had to reverse-engineer the changes and update the codebase - no documentation + hacks for dynamic objects like:
[
  "string",
  {
    "object": true
  },
  true
]

This process was time consuming and Rocket.Chat's API is generally not compatible with strongly-typed languages. Right before the last release I supported, Rocket.Chat added caching and broke the basic chat API - which means I can no longer reverse-engineer effectively. Rocket.Chat's supported bot's even broke for a while due to this change.
Even the underlying MeteorJS subscription API had to be reversed engineered, while some of the crypto/UUID stuff is still missing from my implementation. There's no documentation for cross-language support from MeteorJS.

Brutal!
This makes sense though. Thanks for the response.

Sorry, a little annoyed with the developers right now. 😸
Going to close this for now.

I would be too.

We are moving towards a more stable api within the next month or two and also plan on having full documentation. :)

That would be great, thanks for the update @graywolf336. Will there be full duplex communication in the final API?

@Silvenga Mind explaining what you expect "full duplex communication" to mean?

Mind explaining what you expect "full duplex communication" to mean?

(adj.) Refers to the transmission of data in two directions simultaneously.

Two way - normally via websockets. e.g. https://api.slack.com/rtm
This is what Rocket.Chat.Net primarily does.

Ah yes, right now we have that and we call it the "real time api" https://rocket.chat/docs/developer-guides/realtime-api however right now I would wait to do any work on it because we will be working on versioning it so that it becomes stable and no breaking changes happen anymore.

Any news on stability or sane versioning @graywolf336 ? The "month or two" is now definitely passed but the realtime API docs still list it as "unreleased"?

I apologise, I thought I had responded to this already.
Sadly the guy who was pushing for stable and versioned real time APIs went on to pursue another adventure and is no longer part of Rocket.Chat.
However I think that they are less likely to change drastically and we now have a process for what has changed in every release, I feel it is a little more stable. Also, we now have native mobile applications which rely on the real-time API and any change to the real-time API would require updates to the native applications which we should be trying to avoid to not break existing clients.
I really do wish I could give you a more confident and solid answer than that, I really do. ☹ But that is the current state from my perspective.

@graywolf336 Is the API stable for now ?

@CUCO-Ultimate I would think so, especially since we now have two different codebases for the native mobile applications utilizing the rest and real time apis. However, I am unsure as to the status of the documentation.

@Silvenga Do you consider maintaining this project more active?


Performance improvement checklist

[ ] Implementing lazy evaluation with polars could help memory
[ ] Compress all inputs and outputs to save storage

Implemented in #20


Add PVC Count Quota Controls to Registry

Describe the issue
A decision has been made to increase the allowed number of PVCs per namespace based on Quota T-Shirt size.

Quota Size
PVC Count

Small
20

Medium
40

Large
60

Additional context
Add any other context, attachments or screenshots
Definition of done

[ ] Fronted Updated to show PVC Count per Quota Size
[ ] API Updated to Pull the PVC Count from the DB and Pass it through NATS
[ ] DB Updated with PVC Count field
[x] Provisioner Updated to support new PVC Count field
[x] Generation Tested
[x] Existing Projects Synced with new PVC Count values

A workaround has been put in place to support this until the Registry Application can be updated to be the source of truth for this information.


Missing ability to add loading bar to firstChild of element or tu custom element with no child

Now the loading bar is added to the bottom of the body tag. So missing ability to add to the top of body tag or to other element or selector with no tag.
You are using .find() I suggest you to use querySelector
For now I'm using this settings as hack
angular.module('myApp', ['angular-loading-bar'])
  .config(['cfpLoadingBarProvider', function(cfpLoadingBarProvider) {
    cfpLoadingBarProvider.parentSelector = 'loading';
  }]);

And in page I added the <loading>

</loading> tag

Why does the position of the element in the DOM matter to you when it's positioned absolutely?
Also, querySelector doesn't work in older IE, which I still have to support for a while longer.

Try add progressbar to the bottom http://bebras.tadcka.lt/results
To see progress force your network to slowdown a little

And what you mean older IE support?
Read this: https://blogs.msdn.microsoft.com/ie/2014/08/07/stay-up-to-date-with-internet-explorer/
And this: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector

Try add progressbar to the bottom. The progress is at the bottom not at the top

I don't follow.  You want the progress bar to appear at the bottom?  Again, the CSS is what positions the loading bar, the only time setting a parent matters is if you plan on doing something funny to it (like remove it).
To position it at the bottom (if thats what you want), simply override the included CSS, and set bottom:0 instead of top:0


[Sprint 10 / Feature] Connect Akushon to Akushon App - Set Actions, Get Actions, Run Action

Jira Link:
https://ichiro-its.atlassian.net/browse/PI-128
Description
Add Set Actions, Get Actions, Run Action srv to connect akushon to akushon-app
Type of Change

[ ] Bugfix
[ ] Enhancement
[x] New feature
[ ] Breaking change (fix or feature that would cause the existing functionality to not work as expected)

How Has This Been Tested?

[ ] New unit tests added.
[x] Manual tested.

Checklist:

[x] Using Branch Name Convention

feature/JIRA-ID-SHORT-DESCRIPTION if has a JIRA ticket
enhancement/SHORT-DESCRIPTION if has/has no JIRA ticket and contain enhancement
hotfix/SHORT-DESCRIPTION if the change doesn't need to be tested (urgent)

[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have made the documentation for the corresponding changes.

can we also remove the .action if it is unused?


Jobby doesn't follow schedule parameter

I set up Jobby as described and added a corresponding entry to my crontab.
However: The schedule I set gets disregarded and all jobs run everytime Jobby is run.
If I set Jobby in chrontab to run every minute and a job in jobb to run every ten minutes, it runs every minute. If i set Jobby to run only every five minutes, the job runs every five minutes.
Any idea why it doesn't take the schedule parameter into account?
Thanks,
Florian

Okay, when I try to access the jobby.php directly on my server, the line
$jobby->run();
throws a 500 internal server error. No idea why :/

bump

Can't seem to reproduce this. You say you had to add posix?  Are you on Windows?


Possible flaw in Simplex Noise

Hello! I'm looking around for some coherent noise generation solution for landscape generator demo and have spotted a FastNoise C#. After some visualization tests I catch a some flaw in Simpex noise output.
Visualization screenshots:
shaded http://take.ms/9QVGI
wireframe http://take.ms/cG1bN
Noise params:
Just 2D Simplex noise, 1 octave.
Frequency - 0.002
Amplification - 100
Perlin noise doesn't produce visible artifacts for given parameters.

What coordinates is this at?

The stripes on first screenshot intersects in (0, 0) point.
Checked 2d slice (x, 0, z) from Simplex 3D noise, it doesn't produce visible flaws.

I think this may be an issue in the 2D simplex algorithm, I checked several other 2D simplex implementations and they function they exact same as mine. It seems to be a rounding error along the simplex grid axis origins, and it's only noticeable at very tiny frequencies. The original simplex algorithm was only in 3D and 4D I think, the 2D version was created after by someone else. I'm wondering though if it may also be present in 3+ D just harder to notice since it is a line in 3D space not 2D.

Just for curious have tried Open Simpex noise implementation from https://gist.github.com/digitalshadow/134a3a02b67cecd72181
(yes, I understand difference between original Simplex and Open Simplex methods) and there are no errors on same frequencies/amplifications. But this implementation is definitely slower.
So I stick with FastNoise, if stripes will be really bother me - i will link FastNoise Simplex 3D SIMD to my C# project. Thanks for you work!


Feature suggestion: link language pages to glottolog

e.g. https://grambank.clld.org/languages/kalk1246; have a button to look up the language in glottolog

Understood, good idea. I'll pass it along.


🆕 Software Suggestion | New Firefox 83 HTTPS-Only Mode

Basic Information
Name: Firefox 83 HTTPS-Only Mode
Category: HTTPS
URL: https://blog.mozilla.org/security/2020/11/17/firefox-83-introduces-https-only-mode/
Description
Firefox 83 has released a new HTTPS-only feature. My suggestion is using this option instead of the HTTPS-Everywhere addon.
Why I am making the suggestion
To avoid using an extra addon when a similar option is available natively.
My connection with the software
Enthustiastic.

[X] I will keep the issue up-to-date if something I have said changes or I remember a connection with the software.

Duplicate of #1292.


'localStorage' issue with "esm" function.

When using the esm build function you may face issues with 'localStorage'....
Uncaught DOMException: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.

I am facing the same issue when using esm.sh/run in playwright using page.setContent.
Why does esm.sh/run need to use localStorage? Is it possible to have a script that does not need localStorage access?


Rendering blockquotes

Newsbeuter version (copy from newsbeuter -v):
newsbeuter 2.10-69a5
System: Darwin 16.7.0 (x86_64)
Compiler: g++ 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)
ncurses: ncurses 5.7.20081102 (compiled with 5.7)
libcurl: libcurl/7.54.0 SecureTransport zlib/1.2.8 (compiled with 7.51.0)
SQLite: 3.20.0 (compiled with 3.19.3)
libxml2: compiled with 2.9.4

Steps to reproduce the issue:

open an article with a blockquote
blockquotes seem to only indent the first line, e.g. this the article from this post https://daringfireball.net/linked/2017/08/13/blanche-blackwell

Matt Schudel, reporting for The Washington Post:

 Blanche Blackwell’s romantic life inspired one of Noël Coward’s plays about an
upper-crust love triangle, and swashbuckling Hollywood star Errol Flynn wanted
to marry her. She was a member of one of Jamaica’s richest families but was best
known as the mistress and muse of Ian Fleming, the rakish author who was the
creator of James Bond.

 Mrs. Blackwell died Aug. 8 in London at 104. Her death was confirmed by Andrew
Lycett, Fleming’s biographer.

Is it possible to indent the whole blockquote somehow, possibly by 2 spaces? e.g.
Matt Schudel, reporting for The Washington Post:

  Blanche Blackwell’s romantic life inspired one of Noël Coward’s plays about an
  upper-crust love triangle, and swashbuckling Hollywood star Errol Flynn wanted
  to marry her. She was a member of one of Jamaica’s richest families but was best
  known as the mistress and muse of Ian Fleming, the rakish author who was the
  creator of James Bond.

  Mrs. Blackwell died Aug. 8 in London at 104. Her death was confirmed by Andrew
  Lycett, Fleming’s biographer.

That would be nice.

Hi! Thanks for the report.
This actually worked in 2.9, but I broke it in Git some time ago. We have an issue on that - see #481 - which is blocking 2.10 release, so you can rest assured it'll be back to normal before we ship.
Going to close this as a duplicate now.

Thanks!


Cannot start freshly installed AppDaemon

Problem/Motivation

Cannot start AppDaemon

Expected behavior

Start AppDaemon

Actual behavior

AppDaemon fails to start

Steps to reproduce

Fresh install of AppDaemon

Proposed changes

(If you have a proposed change, workaround or fix,
describe the rationale behind it)

These are the logs i got:
`[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing...

Add-on: AppDaemon 4
Python Apps and Dashboard using AppDaemon 4.x for Home Assistant
Add-on version: 0.2.5
You are running the latest version of this add-on.
System: Ubuntu 19.10  (aarch64 / raspberrypi3-64)
Home Assistant Core: 0.109.5
Home Assistant Supervisor: 220
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing...
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] appdaemon.sh: executing...
[cont-init.d] appdaemon.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[19:36:06] INFO: Starting AppDaemon...
Traceback (most recent call last):
File "/usr/bin/appdaemon", line 10, in
sys.exit(main())
File "/usr/lib/python3.8/site-packages/appdaemon/main.py", line 384, in main
admain.main()
File "/usr/lib/python3.8/site-packages/appdaemon/main.py", line 211, in main
with open(config_file_yaml, 'r') as yamlfd:
FileNotFoundError: [Errno 2] No such file or directory: '/config/appdaemon/appdaemon.yaml'
[19:36:11] INFO: Starting AppDaemon...
Traceback (most recent call last):
File "/usr/bin/appdaemon", line 10, in
sys.exit(main())
File "/usr/lib/python3.8/site-packages/appdaemon/main.py", line 384, in main
admain.main()
File "/usr/lib/python3.8/site-packages/appdaemon/main.py", line 211, in main
with open(config_file_yaml, 'r') as yamlfd:
FileNotFoundError: [Errno 2] No such file or directory: '/config/appdaemon/appdaemon.yaml'
[19:36:15] INFO: Starting AppDaemon...`

Remove the appdaemon directory that currently is on your Home Assistant configuration folder and restart the add-on.
The add-on will create a new default configuration if the appdaemon folder is missing.

Thanks!


Remove isolate mode?

Isolate mode seems to be of little value as it currently stands and it is quite buggy, should it be removed?

decided to remove.


Strip namespaces

Hi, I've been checking the options on export to find out if there is a way to do this.  The only thing I found closer to this tag -disableNameAssignment but not exactly what I need that is to delete in naming all before the colon (colon included). In maya I can't do that if objects are references (AFAIK). Edit the exported file is not an option also, I think, because I need to generate a binary file (glb), and I have doubts I can do that in this format.
I think this is something really common when you export things in maya. Namespaces avoid clashes in names in the scene but that's not something you need (all the opposite) when you export your assets.
I don't know if there is a chance that a feature like this could be implemented in future revisions.
That would be really appreciated.

Great idea! I also struggly with these long names for debugging. Will look into this during the weekend. Please ping back if this isn't resolved before Friday November 13th (that sounds scary :wink:)

Hey, just pinging back : ). I hope this feature is not giving you much trouble. Thanks again!

Ouch, completely forgot about this, too much work 😉 Will look into it.

Almost ready, testing. This will become the default. If you want namespaces in the glTF names, you can pass the flag -kon or -keepObjectNamespaces

Would you be so kind to test the v1.2.1 release?
This should remove the namespaces form the names
https://github.com/iimachines/Maya2glTF/releases/tag/v1.2.1

Would you be so kind to test the v1.2.1 release?
This should remove the namespaces form the names
https://github.com/iimachines/Maya2glTF/releases/tag/v1.2.1

Thank you very much, with this new feature I will be testing intensively the exporter, so I will let you know how it's going everything. Thanks you!

Hi, I did a few test and it works FLAWLESSLY the namespaces are stripped (really a big relieve to be able to get rid of them), and so far I didn't notice anything wrong.
One thing I notice, but I think it's not related to this version it's that the exporter only export if I try to export only deformer nodes without meshes, something normal if your are exporting only animations the animation doesn't get exported and you get a file of only 1kb.  I'm not sure if this dependency on deformed meshes is the intended behaviour or not. I also can think of other use case when you don't even had any mesh to export, for example a camera animation.

Thanks for testing!
So if I understand you correctly, you expect the exporter to export the mesh connected to a deformer node, even if only the deformer node is selected, not the mesh itself?
I guess that can be done, currently I just remove all nodes from the selection that are not meshes or cameras... If a deformer node is selected, I could internally select the mesh itself.
But you are right that this is indeed by design.

I'm sorry I explain myself really poorly, I apologize for that.  I'll try to put a clearer example. Lets say I try to export a selection of nodes that can be deformers of a mesh or maybe not, locators or joints, who control the position of an effect or trail added in the engine. If I try to export only this nodes they don't get exported. If, like you explain, this nodes are excluded buy design, it would be nice a flag could avoid this intended behaviour and allow the exporter to export all nodes selected without exclude anything from this selection.
I hope know it makes way more sense, if not, please let me know.


Published types are incomplete

Only this typings file is included in the published package<EMAIL_ADDRESS>The typings files for the things it imports are not there. Maybe this happened after the switch to microbundle?

Thanks for the report. Just fixed this in https://github.com/GoogleChromeLabs/browser-fs-access/commit/0ef17b5eec506448d4e47d65c5c21a94ae7ce53d.
<EMAIL_ADDRESS>

Thank you! 😊


PBXObjectReference property names

Post 5.0 the properties referencing [PBXObjectReferences] have References appended to them. There are some cases of this causing grammatical errors due to pluralization. eg:

buildPhasesReferences
buildRulesReferences
targetsReferences
dependenciesReferences
buildConfigurationsReferences

These could be renamed to remove the pluralisation.
However I would suggest however actually removing the References suffix from all these properties (and other single references like buildConfigurationListReference). This has several advantages:

better matches the actual properties in the project.pbxproj
removes a lot of breaking api changes by moving property names back to how they were
removes the redundant type name from the property name (before this change children wouldn't be called childrenStrings)

Thoughts?

Yeah that's one option. What if they had the original names and you just had an extension on an array of PBXObjectReference that had an objects property? That way it's still easy to use, but you don't have to duplicate all the properties

That could be another option but the objects property would either return PBXObject or a generic type that developers would need to cast into the type that the reference is referring. That's something that could be solved by making the PBXObjectReference class generic, but that'd introduce another set of problems when using them in collections.
I think it's fine having typed getters for those references, there are not that many.

I'm ok with that approach 👍


0.4.0 stable to master

Coverage increased (+0.07%) to 96.226% when pulling 05bef1ddeff28ed8e5d04d3ef73b5f5a1255a3e8 on 0.4.0-stable into 3160385df8bedecaea7f285be1bced7581602d22 on master.


Error provisioning SoftLayer hosts

Rancher Version: 1.1.0-rc1
Docker Version: Fails to install.
OS and where are the hosts located? (cloud, bare metal, etc):

Ubuntu 16.04 64-bit
SoftLayer - Virtual machines

Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)

Single node rancher
External database
Single host (proxy + rancher + db in a Docker Compose file)

Environment Type: (Cattle/Kubernetes/Swarm/Mesos) Cattle
Steps to Reproduce:

Click Admin -> Machine Drivers
Activate softlayer
Click Infrastructure -> Hosts
Click Add Host
Using Other/softlayer, provision 1 node

Results:
Host provisioning fails in the Installing Docker... phase.
time="2016-06-27T21:02:09Z" level=info msg="stdout: Installing Docker..." resourceId: =1ph9
time="2016-06-27T21:04:34Z" level=info msg="stdout: The default lines below are for a sh/bash shell, you can specify the shell you're using, with the --shell flag." resourceId: =1ph9
time="2016-06-27T21:04:34Z" level=info msg="stdout: " resourceId: =1ph9
time="2016-06-27T21:04:34Z" level=info msg="stderr: Error creating machine: Error running provisioning: error installing docker: " resourceId=1ph9
time="2016-06-27T21:04:34Z" level=info msg="stderr: " resourceId=1ph9

Expected:
Host are provisioned successfully.
Note:
I believe this is a bug in Rancher for 2 reasons:

I can successfully provision VMs using docker-machine create --driver "softlayer" directly with the same parameters;
I can successfully add SoftLayer hosts using Rancher v1.0.2.

Just to confirm, you were able to provision using docker-machine using the same parameters that you found in the rancher/server logs for when we add a host, right?
What version of docker-machine did you use?

That's correct! I used 0.8.0-rc1, build fffa6c9, but I have used earlier versions too.
Let me know if you would like me to test any specific versions.

@zambon In Rancher, we are currently at docker-machine v0.6.0. Have you tested specifically with that version?

@deniseschannon Please correct me if I'm wrong, but I was checking the repositories and it looks like both v1.0.2 and v1.1.0 user Docker Compose 0.7.0, don't they?
Either way, I've just tested Docker Machine 0.6.0 and 0.7.0; they both worked!

That worked @deniseschannon!


RHOAIENG-16076: tests(gha): change to using rootful podman, so that we can share containers/storage with cri-o later

https://issues.redhat.com/browse/RHOAIENG-16076
Another chunk of the

https://github.com/opendatahub-io/notebooks/pull/775

changes to be reviewed and merged.
Description
I need to save the disk space, so I can't just copy the built images into KinD or some such local instance of kubernetes where I can run the Makefile tests. Therefore, I need to build the images in a rootful Podman, and then (subsequent PR) I'll be able to reuse it's containers/storage directory in cri-o backed kubernetes.
https://podman-desktop.io/blog/sharing-podman-images-with-kubernetes-cluster#introduction
How Has This Been Tested?
GHA
Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

/override ci/prow/images

/override ci/prow/images

I have to admit I don't fully follow all of the configuration changes here, but LGTM in general overview and if it works and helps to reduce the disk-space utilized, I'm all for this.
Thank you, Jiri!
/lgtm

thanks for the review; I added some comments, and I'd be happy to discuss this more; it is possible I am doing something overly complicated here; it's always best to have simple infra as possible
/approve


[it] Localization security-chaos-engineering.md

Signed-off-by: annalisag-spark<EMAIL_ADDRESS>Describe your changes
Localization of Security Chaos Engineering
Related issue number or link (ex: resolves #issue-number)
Checklist before opening this PR (put x in the checkboxes)

[x] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x ] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

@sistella 😇


Service docs work (Steiger)

This is part of the team effort to fill out the documentation pages in the services module of catkit2 (see issue #190 for more information).
service docs included in this PR:

[x] bmc_dm
[x] nkt_superk
[x] FLIR camera

Good by me!

On second thought I edited the page the FLIR docs pointed to since I found a more descriptive one. I am happy with it now though.


Invalid bounding box on Font/Text / LineSpacing?

We don't appear to be calculating the bounding box of text correctly. Perhaps this is an issue with the negative LineSpacing property.
https://www.fusetools.com/community/forums/bug_reports/typography_issues

negative LineSpacing?

Yes, this squishes the lines closer together in applications that support it. I'd assume we could support it as well, but perhaps we just didn't test it and adjust our algorithms.


Food

Description
Add food function
Proposed solution
No response
Alternatives considered
No response
Do you want to create a pull request?
No

@shaharkazaz - I really like this idea. I've got an idea for how this could work and could probably be used elsewhere where we will have large datasets 😊


added top menu

@ckiss You should be able to remove all the sidebar stuff now

@mcdonnelldean why don't we keep both and display only one of them depending of the device? it seems to mobile oriented on desktop only with that menu at the top. we can use this or something similar: https://www.npmjs.com/package/mobile-detect

Because it breaks layout further down,
I'd rather we focused on functionality that worrying about menu orientation.
Kindest Regards,
Dean

On 10 Feb 2016, at 07:59, Cristian Kiss<EMAIL_ADDRESS>wrote:
Reopened #116.
—
Reply to this email directly or view it on GitHub.

@ckiss Can you get this finished out? I need to make sure both layouts are on par otherwise it becomes impossible for Karolina to manage. We can revisit sidebar you another time. Right now a clean mobile layout is priority since it's such a strong selling point. There are more changes to come on this.

@mcdonnelldean sidebar removed now


🐛 Bug Report: Different chat tabs overlaps.

📜 Description
There is a bug in the left side tabs section when you open multiple chats and a chat has large text.
👟 Reproduction steps

Ask a question.
Ask a question on different tab.
the text of different tabs overlap.

👍 Expected behavior
The tabs should have proper margin between them and text limiting.
👎 Actual Behavior with Screenshots

💻 Operating system
Windows
What browsers are you seeing the problem on?
No response
🤖 What development environment are you experiencing this bug on?
Docker
🔒 Did you set the correct environment variables in the right path? List the environment variable names (not values please!)
No response
📃 Provide any additional context for the Bug.
No response
📖 Relevant log output
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🔗 Are you willing to submit PR?
Yes, I am willing to submit a PR!
🧑⚖ Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi, if this is still open, can I work on this?

@adityagupta19  are you working on the issue, or should @akshay11298  pick it up?

I am working on it.


Generate common types for named types in schema

I'm working with an API that uses the GraphQL-standard errors field for critical failures and its own UserError type for validation errors. Every operation in this API can respond with an inner errors field. As an example, here's an extracted portion of the IDL:
type UserError {
  message: String!
  path: [String!]
}

type UpdateEnvironmentPayload {
  clientMutationId: String
  environment: Environment
  errors: [UserError!]!
  viewer: Viewer!
}

type UpdateParameterPayload {
  clientMutationId: String
  errors: [UserError!]!
  parameter: Parameter
  viewer: Viewer!
}

While the schema indicates that both UpdateEnvironmentPayload#errors and UpdateParameterPayload#errors share the same type definition, graphql-client generates two distinct types for them. Consequently, writing code that can work over any error is really tedious; each case needs to extract the fields and generate a common error type that I define.

I haven't worked on the crate in a long time, but I think it would only generate separate types if you have two different queries? There are other issues about sharing more generated code between queries.

They're multiple queries, yes. Here, they're multiple mutations and each one is used depending on some user action.
I can appreciate the separated types in general. But, when sourcing from the same schema, I think it makes sense to generate a shared type for any user-defined types. As mentioned, it's making work with the schema rather awkward in a way that I haven't run into with other languages. If there's buy-in on the idea, I can take a crack at the code generator. I just don't want to spend the time on it if it turns out there's some general project philosophy around generating new structs for everything.

There is a lot of complexity involved with generating fewer types (where do these types live? how are they named? are we really sure they have the same selection sets?), so I think it's definitely better to have a fleshed out design in mind before implementing.

For the time being, I've had some success with this:
#[derive(Debug)]
pub struct UserError {
    pub message: String,
    pub path: Option<Vec<String>>,
}

macro_rules! to_user_errors {
    ($errors:expr) => {{
        $errors
            .into_iter()
            .map(|error| crate::graphql::UserError {
                message: error.message,
                path: error.path,
            })
            .collect::<Vec<crate::graphql::UserError>>()
    }};
}

I don't think we need to be particularly novel with the approach to code generation. Libraries for other languages have solved this issue and I'd just turn to one of them. A common approach I've seen is to provide a mapping from a user-defined type in the schema to a struct/interface/class/module in the target language. In this case, we could even circumvent the common type generation and make it incumbent on the caller to supply it if also providing a type mapping.

I'm hitting the same "issue" with shared fragments.

But at the moment they share nothing and turning some of these structures into my own domain types is really tedious.


How to save infrared streaming video and fix .bag file open error?

Required Info

Camera Model
D415

Firmware Version
pyrealsense2 2.32.1

Operating System & Version
Win 10

Platform
PC

SDK Version
2.0

Language
python

Issue Description
Hello. I am working with realsense D415 cameras to store color, depth and infrared images and bag files and to get depth information from the saved bag files. There is a blockage in the implementation of the program, please give some advice for me. If you give me a little bit of advice, it would be very helpful.

Currently, in Windows environment, while saving the color, depth, and infrared videos as .avi files using the pyrealsense2 library, the color and depth video are saved, but there is a problem in saving the infrared video. To be more accurate, I'm creating a program that adds UI with pkinter to show 3 streaming videos, and capture image with snapshot button, start recording with start button, and end recording with end button. But now, only infrared video is not saved.  I wrote code to save an infrared video, like two completely stored videos. What did I miss?
And to save the .bag file from the moment the start button is pressed until the end button is pressed, I implemented as below source. The .bag file is saved now, but when I open it with the Intel realsense viewer program, but I get the following error:   'Failed to load file, Reason: Io in rs2_context_add_device (ctx: 0000029BE3F63D30, file: C): Failed to create ros reader: Bag unindexed' error. . However, I can extract png files and .npy files from the bag file(an error occurs when opening the viewer) using the source listed at the bottom of the #3029. What would I change to open the bag file with the viewer program?

ps. The upper part is the most urgent question. There are too many questions in this post, so you can skip the questions below.
In addition, I'd like to ask a little bit differently. My ultimate goal is to use a 2D, 3D camera to acquire videos of human upper body movements (especially hand movements), and train this data with deep learning models to create a classifier that identifies specific movements(eg, classification of types between hand movement gestures).
The question is,
Q1) I am wondering if I need to use ROS's rosbag filter to get the depth value from the bag file or is there an easier way? Is there a way to save depth information directly as an .avi file rather than .bag file? And Can i get things like depth information from .avi? (If depth or infrared information can be stored in the .avi file, would it be easier to use the avi file than extract it from the bag file?)
Q2) Is there only depth and infrared information in the bag file, not color information? If I need color information as well, do I have to save color video instead of just .bag files?
Q3)I don't have much knowledge about deep learning yet, If I use video data (including depth information) instead of image learning, can I ask how it is done?  (Video is a set of image frames, so can i understand that learning video is just image learning with more images? Isn't this field different from learning images?) And in addition to depth information, does infrared information or something else be necessary to classify a person's pose?
After all, I'm implementing a program that collects data to create an upper body pose classifier. What information can I use as input data when using a 3D camera? color, depth information? And is the data required for the input data the color and depth information extracted from the .bag file (information on three axes x, y, and z?)?
I'm rambling a little bit because I didn't know the data needed to learn video using 3D camera in deep learning.
I have a lot of questions. Sorry for the inconvenience..  Have a good night!
src link: https://github.com/PsycIT/pyrsRecording/blob/master/RecordingApp.py
src
class RecordingApp:
def init(self):
self.thread = None
self.stopEvent = None
    # initialize the root window and image panels
    self.root = tki.Tk()
    self.panel_color = None
    self.panel_depth = None
    self.panel_infrared = None

    self.first = True
    self.recordingState = False

    self.colorVideo = cv2.VideoWriter()
    self.depthVideo = cv2.VideoWriter()
    self.infraredVideo = cv2.VideoWriter()

    # Create label
    self.lLabel = tki.Label(self.root, text="left_color_rsD415", width=20, height=1)
    self.mLabel = tki.Label(self.root, text="mid_depth_rsD415", width=20, height=1)
    self.rLabel = tki.Label(self.root, text="right_infrared_rsD415", width=20, height=1)
    self.lLabel.grid(row=0, column=0)
    self.mLabel.grid(row=0, column=1)
    self.rLabel.grid(row=0, column=2)

    # create a button, that when pressed, will take the current frame and save it to file
    btn_snapshot = tki.Button(self.root, text="Snapshot", width=25, command=self.takeSnapshot)
    btn_snapshot.grid(row=2, column=0)

    # Button that lets the user record video
    btn_start_record = tki.Button(self.root, text="Start Record", width=25, command=self.start_record)
    btn_start_record.grid(row=2, column=1)
    btn_end_record = tki.Button(self.root, text="End Record", width=25, command=self.end_record)
    btn_end_record.grid(row=2, column=2)

    self.init_pipeline()

    # start a thread that constantly pools the video sensor for
    # the most recently read frame
    self.stopEvent = threading.Event()
    self.thread = threading.Thread(target=self.videoLoop, args=())
    # self.thread.daemon = True
    self.thread.start()

    # set a callback to handle when the window is closed
    self.root.wm_title("3D camera recorder")
    self.root.wm_protocol("WM_DELETE_WINDOW", self.onClose)

def __del__(self):
    self.pipeline.stop()

def init_pipeline(self, setRecordBag = False):
    self.pipeline = rs.pipeline()
    self.config = rs.config()
    self.config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
    self.config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)  # 1280, 720
    self.config.enable_stream(rs.stream.infrared, 640, 480, rs.format.y8, 30)

    if setRecordBag == True:
        ts = datetime.datetime.now()
        bagFileName = "{}.bag".format(ts.strftime("%Y-%m-%d_%H-%M-%S"))
        self.config.enable_record_to_file(bagFileName)

    # Start streaming
    self.profile = self.pipeline.start(self.config)

    self.depth_sensor = self.profile.get_device().first_depth_sensor()
    self.depth_scale = self.depth_sensor.get_depth_scale()
    print("Depth Scale is: ", self.depth_scale)

    # We will be removing the background of objects more than
    #  clipping_distance_in_meters meters away
    self.clipping_distance_in_meters = 1  # 1 meter
    self.clipping_distance = self.clipping_distance_in_meters / self.depth_scale

    # Create an align object
    # rs.align allows us to perform alignment of depth frames to others frames
    # The "align_to" is the stream type to which we plan to align depth frames.
    self.align_to = rs.stream.color
    self.align = rs.align(self.align_to)

def update_imgs(self):
    self.frames = self.pipeline.wait_for_frames()
    # Align the depth frame to color frame
    self.aligned_frames = self.align.process(self.frames)

    # Get frames
    self.aligned_depth_frame = self.aligned_frames.get_depth_frame()  # aligned_depth_frame is a 640x480 depth image
    self.color_frame = self.aligned_frames.get_color_frame()
    self.infrared_frame = self.frames.get_infrared_frame()

    self.depth_image = np.asanyarray(self.aligned_depth_frame.get_data())
    self.color_image = np.asanyarray(self.color_frame.get_data())
    self.infrared_image = np.asanyarray(self.infrared_frame.get_data())

    # Render images
    self.depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(self.depth_image, alpha=0.03), cv2.COLORMAP_JET)

def update_panel(self, panel, img, col_num):
    # if the panel is not None, we need to initialize it
    if panel is None:
        panel = tki.Label(image=img)
        panel.image = img
        panel.grid(row=1, column=col_num)

    # otherwise, simply update the panel
    else:
        panel.configure(image=img)
        panel.image = img

def videoLoop(self):
    try:
        while not self.stopEvent.is_set():
            self.update_imgs()
            # OpenCV represents images in BGR order; however PIL
            # represents images in RGB order, so we need to swap
            # the channels, then convert to PIL and ImageTk format
            color_img = cv2.cvtColor(self.color_image, cv2.COLOR_BGR2RGB)
            color_img = Image.fromarray(color_img)
            color_img = ImageTk.PhotoImage(color_img)

            depth_img = cv2.cvtColor(self.depth_colormap, cv2.COLOR_BGR2RGB)
            depth_img = Image.fromarray(depth_img)
            depth_img = ImageTk.PhotoImage(depth_img)

            # infrared_img = cv2.cvtColor(self.infrared_image, cv2.COLOR_BGR2RGB)
            infrared_img = Image.fromarray(self.infrared_image)
            infrared_img = ImageTk.PhotoImage(infrared_img)

            if self.first == True:
                self.colorVideo = cv2.VideoWriter()
                self.depthVideo = cv2.VideoWriter()
                self.infraredVideo = cv2.VideoWriter()

            else:
                if self.recordingState == True:
                    self.colorVideo.write(self.color_image)
                    self.depthVideo.write(self.depth_colormap)
                    self.infraredVideo.write(self.infrared_image)

            self.update_panel(self.panel_color, color_img, 0)
            self.update_panel(self.panel_depth, depth_img, 1)
            self.update_panel(self.panel_infrared, infrared_img, 2)

    except RuntimeError as e:
        print("[INFO] caught a RuntimeError")

    # finally:
    #     self.pipeline.stop()

def takeSnapshot(self):
    # grab the current timestamp and use it to construct the
    # output path
    ts = datetime.datetime.now()
    colorImgFileName = "{}{}.jpg".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_color")
    depthImgFileName = "{}{}.jpg".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_depth")
    infraredImgFileName = "{}{}.jpg".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_infrared")

    imageio.imwrite(colorImgFileName, cv2.cvtColor(self.color_image, cv2.COLOR_RGB2BGR))
    imageio.imwrite(depthImgFileName, cv2.cvtColor(self.depth_colormap, cv2.COLOR_RGB2BGR))
    imageio.imwrite(infraredImgFileName, self.infrared_image)

    print("[INFO] saved {}".format(colorImgFileName))
    print("[INFO] saved {}".format(depthImgFileName))
    print("[INFO] saved {}".format(infraredImgFileName))

def start_record(self):
    self.init_pipeline(True)
    self.update_imgs()

    self.recordingState = True
    if self.first == True:
        ts = datetime.datetime.now()
        colorVideoFileName = "{}{}.avi".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_color")
        depthVideoFileName = "{}{}.avi".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_depth")
        infraredVideoFileName = "{}{}.avi".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_infrared")

        self.colorVideo = cv2.VideoWriter(colorVideoFileName, cv2.VideoWriter_fourcc(*'XVID'), 30, (640, 480), 1)
        self.depthVideo = cv2.VideoWriter(depthVideoFileName, cv2.VideoWriter_fourcc(*'XVID'), 30, (640, 480), 1)
        self.infraredVideo = cv2.VideoWriter(infraredVideoFileName, cv2.VideoWriter_fourcc(*'XVID'), 30, (640, 480), 1)

        self.first = False

        print("[INFO] start recording {}".format(colorVideoFileName))
        print("[INFO] start recording {}".format(depthVideoFileName))
        print("[INFO] start recording {}".format(infraredVideoFileName))

def end_record(self):
    if self.recordingState == True:
        self.recordingState = False
        self.first = True

        print("[INFO] end recording")
        ts = datetime.datetime.now()
        videoFileName = "{}{}.avi".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_xxx")
        print("[INFO] saved video files {}".format(videoFileName))

        self.pipeline.stop()
        self.init_pipeline()

def onClose(self):
    # set the stop event, cleanup the camera, and allow the rest of
    # the quit process to continue
    print("[INFO] closing...")
    self.stopEvent.set()
    self.root.quit()

if name == 'main':
ra = RecordingApp("image/", "video/")
ra.root.mainloop()

`from future import print_function
from PIL import Image
from PIL import ImageTk
import tkinter as tki
import threading
import datetime
import cv2
import pyrealsense2 as rs
import numpy as np
import imageio
class RecordingApp:
def init(self):
self.thread = None
self.stopEvent = None
    # initialize the root window and image panels
    self.root = tki.Tk()
    self.panel_color = None
    self.panel_depth = None
    self.panel_infrared = None

    self.first = True
    self.recordingState = False

    self.colorVideo = cv2.VideoWriter()
    self.depthVideo = cv2.VideoWriter()
    self.binDepthVideo = cv2.VideoWriter()
    self.infraredVideo = cv2.VideoWriter()

    # Create label
    self.lLabel = tki.Label(self.root, text="left_color_rsD415", width=20, height=1)
    self.mLabel = tki.Label(self.root, text="mid_depth_rsD415", width=20, height=1)
    self.rLabel = tki.Label(self.root, text="right_infrared_rsD415", width=20, height=1)
    self.lLabel.grid(row=0, column=0)
    self.mLabel.grid(row=0, column=1)
    self.rLabel.grid(row=0, column=2)

    # create a button, that when pressed, will take the current frame and save it to file
    btn_snapshot = tki.Button(self.root, text="Snapshot", width=25, command=self.takeSnapshot)
    btn_snapshot.grid(row=2, column=0)

    # Button that lets the user record video
    btn_start_record = tki.Button(self.root, text="Start Record", width=25, command=self.start_record)
    btn_start_record.grid(row=2, column=1)
    btn_end_record = tki.Button(self.root, text="End Record", width=25, command=self.end_record)
    btn_end_record.grid(row=2, column=2)

    self.init_pipeline()

    # start a thread that constantly pools the video sensor for
    # the most recently read frame
    self.stopEvent = threading.Event()
    self.thread = threading.Thread(target=self.videoLoop, args=())
    # self.thread.daemon = True
    self.thread.start()

    # set a callback to handle when the window is closed
    self.root.wm_title("3D camera recorder")
    self.root.wm_protocol("WM_DELETE_WINDOW", self.onClose)

def __del__(self):
    self.pipeline.stop()

def init_pipeline(self, setRecordBag = False):
    self.pipeline = rs.pipeline()
    self.config = rs.config()
    self.config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
    self.config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)  # 1280, 720
    self.config.enable_stream(rs.stream.infrared, 640, 480, rs.format.y8, 30)

    if setRecordBag == True:
        ts = datetime.datetime.now()
        bagFileName = "{}.bag".format(ts.strftime("%Y-%m-%d_%H-%M-%S"))
        self.config.enable_record_to_file(bagFileName)

    # Start streaming
    self.profile = self.pipeline.start(self.config)

    self.depth_sensor = self.profile.get_device().first_depth_sensor()
    self.depth_scale = self.depth_sensor.get_depth_scale()
    print("Depth Scale is: ", self.depth_scale)

    # We will be removing the background of objects more than
    #  clipping_distance_in_meters meters away
    self.clipping_distance_in_meters = 1  # 1 meter
    self.clipping_distance = self.clipping_distance_in_meters / self.depth_scale

    # Create an align object
    # rs.align allows us to perform alignment of depth frames to others frames
    # The "align_to" is the stream type to which we plan to align depth frames.
    self.align_to = rs.stream.color
    self.align = rs.align(self.align_to)

def update_imgs(self):
    self.frames = self.pipeline.wait_for_frames()
    # Align the depth frame to color frame
    self.aligned_frames = self.align.process(self.frames)

    # Get frames
    self.aligned_depth_frame = self.aligned_frames.get_depth_frame()  # aligned_depth_frame is a 640x480 depth image
    self.color_frame = self.aligned_frames.get_color_frame()
    self.infrared_frame = self.frames.get_infrared_frame()

    self.depth_image = np.asanyarray(self.aligned_depth_frame.get_data())
    self.color_image = np.asanyarray(self.color_frame.get_data())
    self.infrared_image = np.asanyarray(self.infrared_frame.get_data())

    # Render images
    self.depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(self.depth_image, alpha=0.03), cv2.COLORMAP_JET)

def update_panel(self, panel, img, col_num):
    # if the panel is not None, we need to initialize it
    if panel is None:
        panel = tki.Label(image=img)
        panel.image = img
        panel.grid(row=1, column=col_num)

    # otherwise, simply update the panel
    else:
        panel.configure(image=img)
        panel.image = img

def videoLoop(self):
    try:
        while not self.stopEvent.is_set():
            self.update_imgs()
            # OpenCV represents images in BGR order; however PIL
            # represents images in RGB order, so we need to swap
            # the channels, then convert to PIL and ImageTk format
            color_img = cv2.cvtColor(self.color_image, cv2.COLOR_BGR2RGB)
            color_img = Image.fromarray(color_img)
            color_img = ImageTk.PhotoImage(color_img)

            depth_img = cv2.cvtColor(self.depth_colormap, cv2.COLOR_BGR2RGB)
            depth_img = Image.fromarray(depth_img)
            depth_img = ImageTk.PhotoImage(depth_img)

            # infrared_img = cv2.cvtColor(self.infrared_image, cv2.COLOR_BGR2RGB)
            infrared_img = Image.fromarray(self.infrared_image)
            infrared_img = ImageTk.PhotoImage(infrared_img)

            if self.first == True:
                self.colorVideo = cv2.VideoWriter()
                self.depthVideo = cv2.VideoWriter()
                self.binDepthVideo = cv2.VideoWriter()
                self.infraredVideo = cv2.VideoWriter()

            else:
                if self.recordingState == True:
                    self.colorVideo.write(self.color_image)
                    self.depthVideo.write(self.depth_colormap)
                    self.binDepthVideo.write(self.depth_colormap)
                    self.infraredVideo.write(self.infrared_image)

            self.update_panel(self.panel_color, color_img, 0)
            self.update_panel(self.panel_depth, depth_img, 1)
            self.update_panel(self.panel_infrared, infrared_img, 2)

    except RuntimeError as e:
        print("[INFO] caught a RuntimeError")

    # finally:
    #     self.pipeline.stop()

def takeSnapshot(self):
    # grab the current timestamp and use it to construct the
    # output path
    ts = datetime.datetime.now()
    colorImgFileName = "{}{}.jpg".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_color")
    depthImgFileName = "{}{}.jpg".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_depth")
    infraredImgFileName = "{}{}.jpg".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_infrared")

    imageio.imwrite(colorImgFileName, cv2.cvtColor(self.color_image, cv2.COLOR_RGB2BGR))
    imageio.imwrite(depthImgFileName, cv2.cvtColor(self.depth_colormap, cv2.COLOR_RGB2BGR))
    imageio.imwrite(infraredImgFileName, self.infrared_image)

    print("[INFO] saved {}".format(colorImgFileName))
    print("[INFO] saved {}".format(depthImgFileName))
    print("[INFO] saved {}".format(infraredImgFileName))

def start_record(self):
    self.init_pipeline(True)
    self.update_imgs()

    self.recordingState = True
    if self.first == True:
        ts = datetime.datetime.now()
        colorVideoFileName = "{}{}.avi".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_color")
        depthVideoFileName = "{}{}.avi".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_depth")
        infraredVideoFileName = "{}{}.avi".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_infrared")

        self.colorVideo = cv2.VideoWriter(colorVideoFileName, cv2.VideoWriter_fourcc(*'XVID'), 30, (640, 480), 1)
        self.depthVideo = cv2.VideoWriter(depthVideoFileName, cv2.VideoWriter_fourcc(*'XVID'), 30, (640, 480), 1)
        self.infraredVideo = cv2.VideoWriter(infraredVideoFileName, cv2.VideoWriter_fourcc(*'XVID'), 30, (640, 480), 1)

        self.first = False

        print("[INFO] start recording {}".format(colorVideoFileName))
        print("[INFO] start recording {}".format(depthVideoFileName))
        print("[INFO] start recording {}".format(infraredVideoFileName))

def end_record(self):
    if self.recordingState == True:
        self.recordingState = False
        self.first = True

        print("[INFO] end recording")
        ts = datetime.datetime.now()
        videoFileName = "{}{}.avi".format(ts.strftime("%Y-%m-%d_%H-%M-%S"), "_xxx")
        print("[INFO] saved video files {}".format(videoFileName))

        self.pipeline.stop()
        self.init_pipeline()

def onClose(self):
    # set the stop event, cleanup the camera, and allow the rest of
    # the quit process to continue
    print("[INFO] closing...")
    self.stopEvent.set()
    self.root.quit()

if name == 'main':
ra = RecordingApp("image/", "video/")
ra.root.mainloop()`

Hi @PsycIT,
Are you able to record IR stream using RealSense Viewer?
Thank you!

Hi @PsycIT,
Are you able to record IR stream using RealSense Viewer?
Thank you!

Using the viewer, i can get a .bag file that contains three streaming videos: color, depth, and infrared. But I want to create a program that applies my own UI using the SDK. Do you know which format to use to store infrared information and how to save it?

@PsycIT
Did you fix this problem?
I have bag files created using RealSenseD435 camera. I want to convert RGB and Depth image into avi or any other format which can input into Pose Estimation model.
Second, these bag files are very big like in 3 to 5 GB for 1 to 2 minutes video. How can I crop object within the video and also decrease frame per second rate when converting into avi or anyother format from bag file.

@PsycIT,
Please take a look at https://github.com/IntelRealSense/librealsense/tree/master/examples
and let us know if you need an additional help with that matter.
Thank you!


bouncycastle spring-security-rsa

Can you please update 2021.0.X to support the new release of spring-security-rsa 1.0.12.RELEASE  due to this issue
The CVE is crucial when using spring boot 2.7.x
Thx!

You may always update the version yourself until there is a new release

@spencergibb is there any plan to release 3.1.8 with this fix?


Testing issues

This line https://github.com/neuroailab/tfutils/blob/master/tfutils/base.py#L414 is setting validation results to always be saved. Bug or is there some reasoning behind this?
When a filters file is not in cache and needs to be downloaded from DB, there is an untarring issue tarfile.ReadError: unexpected end of data.
"loading pointlessly" exception always happens because save_params is not passed in test. I think – not sure about the actual issue,

Yes, the reasoning behind this is:  if you're doing validation, you always are wanting to save a record.   (Namely, the metrics of the validation itself).   The need_to_save variable doesn't make sense to determine based on the type of logic you use in the case of training.      However, in the case of validation_only == True, filters are never being saved -- just metric results.

Just like in training, there are times one will not want to save anything. Two cases in my mind: (i) debugging (since validation targets are computed using custom functions, debugging will often happen); (ii) general playing around just to see how a particular validation would work (e.g., have top1 and top5 computed but just wanted to get an idea what top10 was like).
Also, what would happen in the feature extraction case? It's running test_from_params, so I guess stuff will be saved. Very often when features are accessed, there is no need to save a record.

Hmm. I guess I always want a record to be be saved during feature extraction, since I'll want to save the features themselves.  But we could have need_to_save modulated by do_save.

I'll pull the do_save gating outside that if clause

I mean, there is a certain beauty in saving records always, for every interaction with tfutils. Maybe that should be the core philosophy for tfutils. In that case, the only valid case in my view when we could allow no saving is debug mode. This could be regulated via a command-line --debug flag. Thoughts?

Well, we do have do_save flag already, so we might as well just continue the logic to the testing case as well.   I just actually  pulled the do_save gating outside the if clause, so do_save will now be active for testing as well.  Ok to close this issue for now?

It's okay for now as a quick fix. I'll open a new issue to discuss the "save everything" option.


Add lentil.

http://hackage.haskell.org/package/lentil

Thanks @bergmark, patch on the way for the directory bounds then!

New lentil on Hackage (see changes.txt). So this is just waiting on the fix of #2108.

@lwm I just allowed pipes-4.3.* into the nightly build plan, but it seems that you constrained lentil to pipes-4.2.*. The lentil test suite also constrains hspec to 2.2.*, but nightly builds are on 2.3.*. Can you relax lentil's upper bounds to accommodate these dependency versions?
hspec-2.3.2 (Simon Hengel<EMAIL_ADDRESS>@sol) is out of bounds for:
- [ ] lentil-<IP_ADDRESS> (==2.2.*). Luke Murphy<EMAIL_ADDRESS>@lwm.. Used by: test-suite

pipes-4.3.2 (Gabriel Gonzalez<EMAIL_ADDRESS>@Gabriel439) is out of bounds for:
- [ ] lentil-<IP_ADDRESS> (==4.2.*). Luke Murphy<EMAIL_ADDRESS>@lwm.. Used by: executable, test-suite

Hi @DanBurton, that fix is in (see changes.txt)!

Looks good, thanks!

The build server tried to run lentil's test suite, and reported an error.
Failures:

  test/Lentil/Parse/RunSpec.hs:63:
  1) Lentil.Parse.Run, commentParser - languages, parses a plain text source
       expected: [Issue {iFile = "test/test-files/lang-comm/text.txt", iRow = 1, iDesc = Just "single comment", iTags = []},Issue {iFile = "test/test-files/lang-comm/text.txt", iRow = 3, iDesc = Just "single2", iTags = []},Issue {iFile = "test/test-files/lang-comm/text.txt", iRow = 8, iDesc = Just "block1", iTags = []},Issue {iFile = "test/test-files/lang-comm/text.txt", iRow = 9, iDesc = Just "block2", iTags = [Tag {tagString = "tog"}]}]
        but got: []

Randomized with seed<PHONE_NUMBER>

Finished in 0.0235 seconds
130 examples, 1 failure

I'll mark the test suite as expected failure for now.


EOFError: Ran out of input

Can you help me?

It seems like your input file is corrupted. If you try other images, does it work?


Horizontal scrollbar doesn't disappear after no longer needed until switching tabs

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.69.2
OS Version: macOS 12.5

Steps to Reproduce:

Have some text that extends past the horizontal viewport and see the horizontal scrollbar
Delete the text, the horizontal scrollbar remains

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

Not a feature request, but a bug. I don't know why it has to be voted on like it's some feature, it's a bug.

hi everyone, I was investigating this bug and found that the issue happens because the maxLineWidth is only allowed to increase when there are lines of code beyond the viewport.
A simple fix is to allow maxLineWidth to increase and decrease, but this makes the scrollbar visible only when a line of code in the visible range overflows.
A simple fix will look like this:
screen-recorder-thu-jul-28-2022-11-31-44.webm

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Unexpected colored icons in toolbar

System Details

OS: macOS 14.4.1
Thorium Version 123.0.6312.133 (Official Build) (arm64)

Problem
After upgrading to the latest version of Thorium, some icons such as Extensions and Reload,  are still colored even set chrome://flags/#disable-thorium-icons to Enabled.
I need them to be monochrome, thanks!
Screenshots

Compared to ungoogled-chromium 124.0.6367.91 (Official Build, ungoogled-chromium) (arm64):

This is intentional and this is a duplicate issue.

@gz83
Can you explain why this is intentional and give me a reference of that duplicate issue? Thanks.

Seems like this is the one
https://github.com/Alex313031/thorium/issues/476