Tooltip refactoring - use one type tooltip to create consistency in VM portal

Fixes #1094 .
This PR includes changes according to Tooltips Document.
I found that the document is not up to date, there are few components which not included, I changed them too but I ceparated them from the document's changes those changes included in 6a3c1cd.
After consultation with Sharon we decided to use <OverlayTooltip /> component instead PF4 <Tooltip /> component.
WDYT?

Hello contributor, thanks for submitting a PR for this project!
I am the bot who triggers "standard-CI" builds for this project.
As a security measure, I will not run automated tests on PRs that are not from white-listed contributors.
In order to allow automated tests to run, please ask one of the project maintainers to review the code and then do one of the following:

Type ci test please on this PR to trigger automated tests for it.
Type ci add to whitelist on this PR to trigger automated tests for it and also add you to the contributor white-list so that your future PRs will be tested automatically. ( keep in mind this list might be overwritten if the job XML is refreshed, for permanent whitelisting, please follow #3 option )
If you are planning to contribute to more than one project, maybe it's better to ask them to add you to the project organization, so you'll be able to run tests for all the organization's projects.

@sgratch can you confirm that (hopefully temporarily) lost functionality is not a problem for us?

@bamsalem @rszwajko @hstastna  Are we using PF4 Tooltip functionality on ui-extensions? it seems that this functionality (keyboard & accessibility support) is used only on Dashboard and not working on other PF4 dialogs.
I guess we can wait with that here til it will be replaced to PF4, but I do agree that making our wrapper easy to be replaced by PF4 component in the future will be better. How complicated is to change the wrapper to be more easily replaced?

@bamsalem Few comments (a long list but easy to fix :):

details card "ip adresss" tooltip:  why we added this tooltip? I'm not sure it's correct. In addiiton, the tooltip info icon alignment is wrong since it makes the field title to split into 2 lines.
details card "Total Virtual CPUs" information icon - the tooltip info icon is not alligned with field title (should be like for "boot order" field).
details card "Data Center"  information icon - the tooltip info icon is not alligned with field title.
details card "Threads per Core"  information icon - the tooltip info icon is not alligned with field title.
details card "Cluster" information icon - should be next to the text field and not next to the value field
details card "Change CD" information icon - should be next to the text field and not next to the value field. in addition, the tooltip text is missing a dot at the end of the sentence.
Utilization card: donut Chart tooltips are ok as it is now, I would just replace the dash within the text with a colon (:). e.g. "used - 50%"  replaced to  "used: 50%"
pool entity card: the tooltip for the pool name should be removed (has a wrong  BoxShadow shape anyway)
create vm-> networking step - create a new nic: tooltips for the "select vnic profile" and for "device type" fields should be removed and anyway have a wrong BoxShadow shape.
create vm-> networking step - Edit a NIC ("nic actions") tooltip has a wrong  BoxShadow shape
create vm->storage step - create a new disk - tooltips for the "select storage domain" and for "disk type" fields should be removed and anyway have a wrong BoxShadow shap.
create vm->storage step -Edit a disk ("disk actions") tooltip has a wrong  BoxShadow shape

Are we using PF4 Tooltip functionality on ui-extensions?

@sgratch  Yes. Check VM Migrate dialog: you can tab into the tooltip (it's focusable and opens automatically).
We also still use PF3 tooltips i.e. Cluster Upgrade dialog (upgrade options).

details card "ip adresss" tooltip:  why we added this tooltip? I'm not sure it's correct. In addiiton, the tooltip info icon alignment is wrong since it makes the field title to split into 2 lines.

The tooltip have been there, the only thing that I added is the icon I thought that it will be more consistent with all the other info tooltips, but I'll remove the icon and it will look as it looks before the changes.

details card "Total Virtual CPUs" information icon - the tooltip info icon is not alligned with field title (should be like for "boot order" field).

Done.

details card "Data Center"  information icon - the tooltip info icon is not alligned with field title.
details card "Threads per Core"  information icon - the tooltip info icon is not alligned with field title.

I'm not sure if I understood you but if the meaning is like section 2 so it's done.

details card "Cluster" information icon - should be next to the text field and not next to the value field

I'm assuming that you meant to "Data Center" and if so, so it's done.

details card "Change CD" information icon - should be next to the text field and not next to the value field. in addition, the tooltip text is missing a dot at the end of the sentence.

That's how it was in the document, if you want me to change it I will.
Please let me know what you decided.

Utilization card: donut Chart tooltips are ok as it is now, I would just replace the dash within the text with a colon (:). e.g. "used - 50%"  replaced to  "used: 50%"

Done.

pool entity card: the tooltip for the pool name should be removed (has a wrong  BoxShadow shape anyway)

Done.

create vm-> networking step - create a new nic: tooltips for the "select vnic profile" and for "device type" fields should be removed and anyway have a wrong BoxShadow shape.
create vm-> networking step - Edit a NIC ("nic actions") tooltip has a wrong  BoxShadow shape
create vm->storage step - create a new disk - tooltips for the "select storage domain" and for "disk type" fields should be removed and anyway have a wrong BoxShadow shap.
create vm->storage step -Edit a disk ("disk actions") tooltip has a wrong  BoxShadow shape

Done.
@sgratch did I understood you correctly in sections 3-5?
And please let me know what you decided to do regarding section 6?

Are we using PF4 Tooltip functionality on ui-extensions?

@sgratch Yes. Check VM Migrate dialog: you can tab into the tooltip (it's focusable and opens automatically).
We also still use PF3 tooltips i.e. Cluster Upgrade dialog (upgrade options).

it works for me on Chrome but on FF (ESR) the tab into tooltips for PF4 dialogs (like migrate VM) is not working.

@bamsalem
... I do agree that making our wrapper easy to be replaced by PF4 component in the future will be better. How complicated is to change the wrapper to be more easily replaced?
?

The wrapper use all PF4 <Tooltip /> props and can be replaced easily:
https://github.com/oVirt/ovirt-web-ui/blob/26bb1bf7b9d80dd355f6372932757d96d4996e24/src/components/OverlayTooltip/InfoTooltip/index.js#L8-L17
IMO it can be easily replaced.

details card "ip adresss" tooltip:  why we added this tooltip? I'm not sure it's correct. In addiiton, the tooltip info icon alignment is wrong since it makes the field title to split into 2 lines.

The tooltip have been there, the only thing that I added is the icon I thought that it will be more consistent with all the other info tooltips, but I'll remove the icon and it will look as it looks before the changes.

+1 Right, because this tooltip should appear only when ip value is N/A and in previous fix it always appear regardless to field value.

details card "Total Virtual CPUs" information icon - the tooltip info icon is not alligned with field title (should be like for "boot order" field).

Done.

+1

details card "Data Center"  information icon - the tooltip info icon is not alligned with field title.

+1

details card "Threads per Core"  information icon - the tooltip info icon is not alligned with field title.

I'm not sure if I understood you but if the meaning is like section 2 so it's done.

+1

details card "Cluster" information icon - should be next to the text field and not next to the value field

I'm assuming that you meant to "Data Center" and if so, so it's done.

No, I meant cluster (for a running VM a tooltip appears).

details card "Change CD" information icon - should be next to the text field and not next to the value field. in addition, the tooltip text is missing a dot at the end of the sentence.

That's how it was in the document, if you want me to change it I will.
Please let me know what you decided.

Yes please. We decided that there will be no tooltips next to values (mentioned on issue) and a dot is required as well.

Utilization card: donut Chart tooltips are ok as it is now, I would just replace the dash within the text with a colon (:). e.g. "used - 50%"  replaced to  "used: 50%"

Done.

+1

pool entity card: the tooltip for the pool name should be removed (has a wrong  BoxShadow shape anyway)

Done.

+1

create vm-> networking step - create a new nic: tooltips for the "select vnic profile" and for "device type" fields should be removed and anyway have a wrong BoxShadow shape.

+1

create vm-> networking step - Edit a NIC ("nic actions") tooltip has a wrong  BoxShadow shape

-1 (wasn't fixed)

create vm->storage step - create a new disk - tooltips for the "select storage domain" and for "disk type" fields should be removed and anyway have a wrong BoxShadow shap.

+1

create vm->storage step -Edit a disk ("disk actions") tooltip has a wrong  BoxShadow shape

-1 (wasn't fixed)

Done.
@sgratch did I understood you correctly in sections 3-5?
And please let me know what you decided to do regarding section 6?

@bamsalem please see inline comments above.

it works for me on Chrome but on FF (ESR) the tab into tooltips for PF4 dialogs (like migrate VM) is not working.

@sgratch  yep. The icon is not focusable on FF (even 80.0). We probably should fix that.

@bamsalem
Regarding "Change CD" label: it's now split into 2 lines which looks strange
@sgratch
why we change the label "CD" -> "Change CD"?  If a "Name " field becomes editable we are not changing it to "Change name".
IMHO this could be confusing for the user.

@bamsalem please resolve conflicts

it works for me on Chrome but on FF (ESR) the tab into tooltips for PF4 dialogs (like migrate VM) is not working.

@sgratch yep. The icon is not focusable on FF (even 80.0). We probably should fix that.

A bug was opened for this issue: https://bugzilla.redhat.com/show_bug.cgi?id=1889817

@bamsalem

create vm-> networking step - Edit a NIC ("nic actions") tooltip has a wrong  BoxShadow shape

-1 (wasn't fixed)

Why did you remove the  createVmNetEditActions instead of changiing the BoxShadow shape?

create vm->storage step -Edit a disk ("disk actions") tooltip has a wrong  BoxShadow shape

-1 (wasn't fixed)

Same here?

@bamsalem @rszwajko

Regarding "Change CD" label: it's now split into 2 lines which looks strange

It is still reproduced for me.

why we change the label "CD" -> "Change CD"? If a "Name " field becomes editable we are not changing it to "Change name".
IMHO this could be confusing for the user.

I don't know why it was like that and I totally agree. Changing that to "CD" on both view/edit modes will look better and will solve the split lines problem

@sgratch

@bamsalem

create vm-> networking step - Edit a NIC ("nic actions") tooltip has a wrong  BoxShadow shape

-1 (wasn't fixed)

Why did you totally remove the createVmNetEditActions tooltip instead of just changing the BoxShadow shape?

create vm->storage step -Edit a disk ("disk actions") tooltip has a wrong  BoxShadow shape

-1 (wasn't fixed)

Same here?

It wasn't appear in the documents and it seems to me like byproduct, so I removed it, if you want I can move it back

WDYT?

@hstastna @sgratch
I changed the message from "Change CD" to CD like @rszwajko suggested.
Regarding the issue @hstastna found I have a question how to fix it.
WDYT will be better solution?
The first option is:
Align to the same position but then long messages will wrap.

The second option:
Using white-space: nowrap attributes, then long messages will wrap.

The third and the last (that I thought about) is:
Align the icons to the right

If you have any other suggestions feel free to share with me :)

I am for the third option because:

the labels look nice and same as originally (Total Virtual CPUs is on two lines - same as originally, for example),
the icons are nicely aligned so I can find the relevant icon with the info I need very easily (see the pictures above)
the whole Details card looks nice (labels, fields nicely aligned)

Why I am NOT for the 2nd option:

icons are not nicely aligned, and they could be
Total Virtual CPUs label looks like it does not have enough space to breathe

Why I am NOT for the 1st option:

long labels can take even three lines and it creates unnecessary unused extra space which does not look good

@sgratch

@bamsalem

create vm-> networking step - Edit a NIC ("nic actions") tooltip has a wrong  BoxShadow shape

-1 (wasn't fixed)

Why did you totally remove the createVmNetEditActions tooltip instead of just changing the BoxShadow shape?

create vm->storage step -Edit a disk ("disk actions") tooltip has a wrong  BoxShadow shape

-1 (wasn't fixed)

Same here?

It wasn't appear in the documents and it seems to me like byproduct, so I removed it, if you want I can move it back

@bamsalem I was referring on both for the "nic actions" and "disk actions" tooltips:

"Change CD" changed to "CD" 👍🏽

BTW, I'm not sure if this tooltip info text and appearance are correct at all.
I think that "CD can only be changed when the VM is running" should be replaced with "CD can only be changed when the VM is not running" and should be displayed for running vms only. Since changing a bootable CD can be applied only on a non running VM. For running VMs a restart is required.
@sjd78 any reason that you can remember for having it like this?

Regarding another question/issue:
I am for the third option

I don't like this third option since the tooltips are closer to the field value instead of being located next to the field title and it looks strange. Usually the tooltip icon should be tie to the field label.
BTW, which one of those options looks better after windows resizing and zooming in/out? Is the layout kept?

@sgratch
Regarding this comment:
I didn't understood you correctly, now I changed it and it's consist with the other tooltips.

"Change CD" changed to "CD" 👍🏽

BTW, I'm not sure if this tooltip info text and appearance are correct at all.
I think that "CD can only be changed when the VM is running" should be replaced with "CD can only be changed when the VM is not running" and should be displayed for running vms only. Since changing a bootable CD can be applied only on a non running VM. For running VMs a restart is required.
@sjd78 any reason that you can remember for having it like this?

From what I saw in the code and in the documentation users can change only for running VMs:
https://github.com/oVirt/ovirt-web-ui/blob/master/src/vm-status.js#L29-L31

Regarding another question/issue:
I am for the third option

I don't like this third option since the tooltips are closer to the field value instead of being located next to the field title and it looks strange. Usually the tooltip icon should be tie to the field label.
BTW, which one of those options looks better after windows resizing and zooming in/out? Is the layout kept?

I agree with that but options one and three have advantages and disadvantages and we need to decide what we are willing to give up in the appearance of the card, @hstastna summed it up great in her comment.
IMO the 1st option is the best one.
Regarding the zoom in, when resizing the window the first and the third options keep their layout more than the second option which the label covers the value:
Second option:

Third option:

@bamsalem

Regarding this comment:

I didn't understood you correctly, now I changed it and it's consist with the other tooltips.

LGTM
Another thing: Based on what we discussed offline, we should still change all current existed select menu tooltips :

to use the same box shadow shape. We decided not to remove them, just update the shadow shape to PF4 style:

From what I saw in the code and in the documentation users can change only for running VMs:
https://github.com/oVirt/ovirt-web-ui/blob/master/src/vm-status.js#L29-L31

Where did you find this on docs?

IMO the 1st option is the best one.
Regarding the zoom in, when resizing the window the first and the third options keep their layout more than the second option which the label covers the value.

Since we need to be consistent with other dialogs tooltips layout (e.g. create disk), let's stay with option 1 for now.
We can open a separate issue for tooltips layout and discuss that with UX experts.
Anyway, due to this PR changes, fields layout is not aligned anymore when sizing is changed - so this needed to be fixed.

Another thing: Based on what we discussed offline, we should still change all current existed select menu tooltips :

to use the same box shadow shape. We decided not to remove them, just update the shadow shape to PF4 style:

Anyway, due to this PR changes, fields layout is not aligned anymore when sizing is changed - so this needed to be fixed.

Fixed.
Now SelectBox tooltip is consistent with the other tooltips.
Regarding the misaligned fields, I wanted to discuss with you how to fix it, now it's aligned.
Screenshot:

@bamsalem LGTM except two remaining issues to handle:

"The VM is down" tooltip box shadow should be updated:

The "threads per core" new tooltip on basic details step should be updated to PF4 style:

I fixed those 2 issues:

The same issue was occurred in the VM list:

It's changed as well.

@bamsalem - I think you forgot to push your last set of changes.

@bamsalem - I think you forgot to push your last set of changes.

@sjd78 You are right, I forgot to push, please take a look now.

LGTM


feature request

Hi James.  Garry/Dean/Phil shared your github repo with me this morning for the TOPAS project.
There are a couple of INP file highlightings in jEdit that it would be useful to replicate eventually:

For big files I normally have autofolds which are closed by default on opening.  They look like:
'{{{ a description of what's in next section
...
'}}}
In template INP files (see e.g. https://topas.awh.durham.ac.uk/doku.php?id=templates).  I use the symbol below to mark somewhere user has to put in information and colour it purple:
-> text to replace.

Hi John, thanks for getting in touch. Sorry for the delayed reply, I had some time off and have been working on the site keyword since. To address those features:

Currently these would be highlighted as two individual line comments. I'm not sure how they appear in jEdit, but I could make the description text a different colour if that'd be useful?
As for auto-folding, Tree-sitter can be used to provide folding (in Neovim at least), but it's not something I've had a chance to look into. I suspect it'd be rather tricky to implement with the autofold blocks, as it would mean treating everything inside them separately to the rest of the input file, which would likely cause problems if the block contains keywords that the parser is expecting to appear.

These may be challenging to highlight, depending on how they work - are they treated like comments, with the user having to remove the arrow before running the file? Or does the arrow effectively just cause the line to change colour, but still requires it be valid TOPAS code?

Having the '{{{ highlighted as two comments is fine.  This is how they appeared in jEdit.  jEdit used just the {{{ as one of it's folding triggers so it was easy to switch between the two views in the image below.  It may be easiest just to do this with a vs-code extension.

The arrow is just to change the colour of the following text to purple.  The text doesn't have to be valid topas code.  It's just there to flag to the user that they have to change that line of text.

Understood, thanks. In that case I think that, for now at least, I'll implement both features as comments. I'll add a query tag to allow users to highlight the arrow comments differently to other comments, but since highlight colours are controlled locally, I can't set them to be purple automatically, unfortunately. If I get a chance though, I'll upload a config file that matches the jEdit scheme.

Just a thought on the folding... is it imperative @johnsoevans that this {{{}}} syntax specifically is supported, or that folding itself is supported?
@JamesDoingStuff since the treesitter can understand the syntax, can we define grammatical concepts which can be folded such as macro definitions or str blocks etc? If possible, this solution would be nicer I think, because the folding would then follow standard patterns in the editor of choice; and would not introduce new syntax specifically to accommodate this.

I agree that folding automatically on major things like xdd, str, etc would be great. The ‘{{{ would just be nice to have for legacy reasons as I have 100s of files that use it. It also lets a user put in their own arbitrary folds for thing treesitter wouldn’t be able to recognise.
It’s not a big deal for treesitter as I think we can just do it in a vscode extension.

since the treesitter can understand the syntax, can we define grammatical concepts which can be folded such as macro definitions or str blocks etc?

Neovim certainly supports this type of folding, not sure for other editors. It works using the same query language as highlighting, so a folds.scm file containing a query
(macro_body) @fold

would collapse all the contents of macro definitions. Most keywords are still lacking structure at this time, but eventually the same method could be used with them.
As for the '{{{ method, this parser will mostly just ignore them as it stands. I don't think any folding capability can/should be added to those via Tree-sitter.


1227-dos4-supplier-affected-by-our-data-retention-policy

Stop contact_information from being populated with invalid email address placeholder.
Add migration to replace existing '' with<EMAIL_ADDRESS>format used on user object

https://trello.com/c/iTOqAYUT/1227-dos4-supplier-affected-by-our-data-retention-policy

@katstevens  Yeah will do on all stages. Ran some tests locally already so happy with it to go to preview.


feat: copies repeated start condition from stm32g0xx_hal crate

Hey @emilhoeiriis, thank you for this PR, and sorry for the long wait!
Can you tell me a bit more about this PR, why it is necessary and how you have tested it? You seem to replace some code with identical code, but with worse formatting. Plus, this doesn't compile. That doesn't inspire much confidence :smiley:, so I'll need some additional information before I can consider merging this PR.

I saw that the repeated start condition was not being set when probing the
bus, so I just copied code from the stm32g0xx-hal and it behaves as
expected. If you can tell me the compile error I'll find the time to
address the issue.
On Sat, 20 Feb 2021 at 10:38, Hanno Braun @.***> wrote:

Hey @emilhoeiriis https://github.com/emilhoeiriis, thank you for this
PR, and sorry for the long wait!
Can you tell me a bit more about this PR, why it is necessary and how you
have tested it? You seem to replace some code with identical code, but with
worse formatting. Plus, this doesn't compile. That doesn't inspire much
confidence 😃, so I'll need some additional information before I can
consider merging this PR.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stm32-rs/stm32l0xx-hal/pull/138#issuecomment-782595810,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AO4JKVODE557FBK4J7L65U3S757IFANCNFSM4UVAOIGQ
.

The CI build is failing. This is linked near the bottom of this page, above the comment text field. Here's a direct link: https://travis-ci.com/github/stm32-rs/stm32l0xx-hal/builds/208711004
All builds are failing. I haven't checked all of them, but here's one example of an error: https://travis-ci.com/github/stm32-rs/stm32l0xx-hal/jobs/459954101#L229
I've also noticed that this PR removes error checking code, as far as I can tell. I think the best approach is starting over: Identify the changes that are actually required to fix the issue you're seeing, and apply those in our codebase. Blindly copying another implementations seems like it would cause just as many problems as it might solve.
And in addition, this PR would need to be rebased on the latest master branch. There have been changes to the CI setup since this PR was opened, and I'd like to see this run with the latest configuration before I can consider merging it.

Closing due to inactivity.
@emilhoeiriis Feel free to update and re-open this pull request, to address the outstanding concerns.


Deploy complete generation workflow on a server

… where the server would run a cronjob, which would periodically …

pull from some git repository using a special user account with sufficient permissions
run the HTML generation machinery (see #6)
push the generated HTML to the gh-pages branch

(2) and (3) are already covered by make .sync.
What do we do with error messages if we encounter any? Email them to someone, or output them to a “hidden” file in gh-pages?

done by https://github.com/mobivoc/vocol/blob/master/vocolJob.sh


Add stellar.org.lv

stellar.org.lv is a phishing site conducting a staking scam to collect stellar secret keys

stellar.org.lv
Fake Stellar site phishing for secrets with POST /post.php
https://urlscan.io/result/5e486429-a0a3-40e0-8513-13d7e7528c21/
https://urlscan.io/result/573c094a-3ebd-49e3-a1fc-ef08296fb0e5/

Thanks for the PR jcooter!


Verify compute patch methods correctly set fields empty in order to delete them

When converting protobuf to json, make sure compute is handling empty fields correctly and not omitting them as seen in: https://github.com/googleapis/google-cloud-go/issues/8059

This issue looks specific to Go and its omitempty feature. Attempts to recreate this behavior with the C++ library have been unsuccessful.


Can Posh-SSH be used instead of plink to build a tunnel?

Can Posh-SSH be used to build a tunnel?
I use plink -R <port>:<IP_ADDRESS>:80<EMAIL_ADDRESS>-i private_ssh.ppk to create a tunnel and would like to try Posh-SSH instead.

it can do port forwarding but I dont see in the library how to build a tunnel like that


Update firmware to a single datacenter server using OMEVVP APIs

Requirement Breakdown
Details

Objective

Authentication/Authorization

List of the tasks in the workflow (in   order)

Module type: Library and/or executable

Input and format

Expected output and format   Export required

Concurrency requirement.

Execution model: synchronous or   asynchronous

Applicable timeouts and retries

Expected error handing

Expected domain specific validation

https://github.com/dell/omivv/pull/50


Issues with restore to original firmware

Do I need to do something special to flash the original firmware back?
I have a device powered by an TYWE1S, did the full tuya-convert process successfully and got tasmota running on it. But tasmota was not understanding the second MCU device is not supported so I wanted to flash the original dump back.
I hooked up an RPI and flashed it back.. it is outputting stuff on serial so something is working but I'm not able to start the pairing by pressing the button for 5+5sec, led is not even flashing.
Unfortunatly I did not dump it via the serial before I started..
VTRUST-FLASH 1.5
(c) VTRUST GMBH https://www.vtrust.de/35c3/
READ FLASH: http://<IP_ADDRESS>/backup
ChipID: bbb045
MAC: 98:F4:AB:BB:B0:45
BootVersion: 7
BootMode: normal
FlashMode: 1M QIO @ 40MHz
FlashChipId: 1540c8
FlashChipRealSize: 2048K
Active Userspace: user2 0x81000
``

Connect to vtrust-recovery and browse to http://<IP_ADDRESS>/undo

Is that served by the esp? Where should that ssid be?

vtrust-recovery is served by the ESP once you flash the backup to the device.
upgrade.bin is the intermediate firmware that is first uploaded to the device in order to create the backup and flash custom firmware.

I don't see that network. It is not there as a hidden ssid either. Do I need to do anything else for it to show up?


Apply for non-profit status on Slack

https://hackedu.slack.com/help/requests/577173

Was this done?


Updated composer.json for Laravel 5.6 support

Thanks, tagged a new release https://github.com/Crinsane/LaravelShoppingcart/releases/tag/2.5.0


inactionable warning

WARNING @eslint-plugin-graphql-fragment-import/example: Skip publish (package is private)

I understand the cases where this warning provides value, but for me this warning is telling me "WARNING: doing the thing you asked" which is not actionable.
Is there a good way to silence this warning?  It seems my best option right now is to duplicate my list of workspaces by specifying them in both package.json:.workspaces as well as package.json:.release-it.plugins.release-it-yarn-workspaces.workspaces but this seems potentially error-prone to me.
Thoughts on a config to opt-out of this warning?

It seems my best option right now is to duplicate my list of workspaces by specifying them in both package.json:.workspaces as well as package.json:.release-it.plugins.release-it-yarn-workspaces.workspaces but this seems potentially error-prone to me.

Ya, there are cases where you need to duplicate the config (that is why I added those options), but IMHO this case should not need it.
I think we should remove the warning (and move it to a debugging log instead), but I do think we need to work a bit more on progress indicators (https://github.com/rwjblue/release-it-yarn-workspaces/issues/31).


Upgrading app version number results in a refreshed FCM token that does not work

To begin with, my app is working fine and notifications are received in foreground, background and killed states.
Changing the code and restaring, including upgrading the build number causes no change in behaviour. Let's say that the FCM token the app receives is Token A. The token value remains constant while I make changes to the app.
Upgrading the version number of the app, e.g. from 2.4.1 to 2.4.2 causes a big problem in the app: When the app asks for the FCM token, the app now receives Token B. There is a change in the token. Normally, I would say that this is OK, just inform the backend of the new token. But the new token does not work.
Sending push notifications to the app using Token B has no effect in the app.
Sending push notifications to the app using Token A works fine like before.
React Native version: 0.57.8
react-native-fcm version: 16.1.0
iPhone 7 Plus running iOS 12.1.4.

I've been this issue happening when I install the app in my android device with ENVFILE=.env react-native run-android --variant=debug  for debugging purposes. The only way I can get the PN to work is by installing the app with export ENVFILE=.env && ./gradlew assembleReleaseStaging within the android folder.

Token issue found in our project also in iOS.  The token is changed after changed our APP version. And push notification is not working.
"react-native-fcm": "^14.1.3",
"react-native": "0.57.8",

Is there any solution? It's very urgent because our APP not working in the production version.

This sounds like it could be related to https://github.com/firebase/firebase-ios-sdk/issues/2365 and https://github.com/firebase/firebase-ios-sdk/issues/2438

In your Podfile try with these versions
  pod 'Firebase/Core', '~> 5.15.0'   pod 'Firebase/Messaging', '~> 5.15.0'

Not using cocoapods, but I tried with Firebase SDKs 5.16.0 with no change.
Now I've switched over to react-native-firebase.


DateTime form element weird DateInterval step!?

Can someone explain what is the reason behind setting the DateInterval step to a minute instead of a second or even a millisecond in https://github.com/zendframework/zf2/blob/master/library/Zend/Form/Element/DateTime.php#L172 ?
Better, can someone explain why the DateTime element should have a DateStep validator at all?
My problem here, is that with minimal setup, one can never submit a datetime value with seconds != 0, because the step is set to a minute. It just goes into an infinite validation loop.

The problem with the validation is not infinite, but the validator starts at the base date (which is 1/1/1970 if no min attribute is set) and increments by the step until it reaches or passes the submitted datetime which takes enough time that the script times out. I've created a pull request to help improve this here: [https://github.com/zendframework/zf2/pull/7110]
To get round the step validation entirely you can set a step attribute of 'any' to prevent the DateStep validator being added.
The default step is 60 seconds for a datetime element WHATWG Spec (There is no datetime element in the W3C spec anymore but time also matches this W3C Time Spec. This suggests that the default should really by a DateStep with a DateInterval('PT60S').
There is an unfortunate side affect of changing the default date interval in that it will no longer be caught by the quicker check that only applies when there is a single interval unit with value 1, so will start to use the longer validation.

Handled in #7110


Neutronics array Parameters need setter

A user recently tried to do a restart calculation that used depletion and calculating DPA. He ran into the following:
File "\\[removed]\armi\physics\neutronics\globalFlux\globalFluxInterface.py", line 859, in updateFluenceAndDpa
    b.p.pointsCornerDpa + b.p.pointsCornerDpaRate * stepTimeInSeconds
TypeError: can't multiply sequence by non-int of type 'float'

This error suggests that pointsCornerDpaRate is a Python list, not a numpy array. This is likely occurring because the setter for this parameter in parameters.py is not set up to convert from a Python list to a numpy array. Such a setter is used with other parameters like linPowByPin.
https://github.com/terrapower/armi/blob/02d3d2b9b58bbb27b6d2f5c4b270fa98ea6c30f0/armi/physics/neutronics/parameters.py#L273-L282
This issue exists for pointsCornerDpa, pointsCornerDpaRate, pointsEdgeDpa, and pointsEdgeDpaRate.

Is there any way to avoid having to manually type out this setter for each numpy parameter, @john-science? We're copying pasting the same function definition with slight renaming in order to define the setter.

to showcase, there are already 7 instances of this copy pasted code in parameter modules of the framework alone

there is probably a corner case where its not a list of ints or floats where it does need to be a list but try/except would probably be fine

Well, I think this is easy enough to solve. And maybe easy enough to refactor a little, so we are duplicating less code.
But in any other language than Python, it would be the user's job to make sure their input data is the right type.  Type coercion is never perfect, and though I can definitely do this thing, there will always be a loss of fidelity going from a "list of python floats" to a "numpy array of numpy floats".

Talked with @albeanth and confirmed through testing that PR1292 solves the original data type issue I encountered.

the setter seems to work OK for most instances, but when you have a fresh reactor  the initial state can be a bit weird were its

Which, fine its None, easy to test. just thought i would call out this observation. probably no action needed if thats the expection
i will use
if b.p.linPowByPin is None:
rather than
if b.p.linPowByPin:
(this cannot be used due to ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all(), but all or any cannot be called on None to my knowledge..)
SO suggests .size, but that also fails on None: https://stackoverflow.com/questions/11295609/how-can-i-check-whether-a-numpy-array-is-empty-or-not
Let me know if you have any suggestions @john-science  or if i am missing something. I will let you decide if it makes sense to re-open or if the
if b.p.linPowByPin is None:
solution is good enough


Update voice-input.md

OPS Build status updates of commit b9b7c74:
:clock10: Preparing: average preparing time is 50 sec(s)

OPS Build status updates of commit b9b7c74:
:clock10: Incremental building: average incremental building time is 25 sec(s)

OPS Build status updates of commit b9b7c74:
:warning: Validation status: warnings

File
Status
Preview URL
Details

mixed-reality-docs/voice-input.md
:warning:Warning
View
Details

mixed-reality-docs/voice-input.md

Line 38: [Warning] Illegal link: coming soon -- missing bookmark. The file index.md doesn't contain a bookmark named news-and-notes.

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


May cause incorrect version of npm to be called

Because this node has a dependency on a specific version of npm, it may cause issues because it doesn't match the version of node.js being used on the host system or the internals of npm may change without warning.
Please see https://stackoverflow.com/a/15957574/1309986

Thanks for opening these issues. I will have to think and research on how I want to address it. It might take a while as I try to find some free time. I would welcome a pull request if anyone else has a different way to address the issue.

Pushed out a new version, removed dependency on local npm module.


Kalman filter example yields non PSD covariances

In the Kalman filter example the matrices Q and R encode the covariance of the white noise process associated with the state and observation process respectively. Unless I am missing something in the code (which seems a direct translation of the reference), these matrices should be PSD by virtue of being the covariance matrices of white noise processes.
In the optimisation we learn a Q matrix that is asymmetric, and therefore not PSD.
In particular, we learn Q= [[-0.44275677  1.3142775 ], [-1.1867669   0.9120258 ]].
The state process learnt does not make sense: although the filter can be run the state process covariance is not well defined.
An easy way of fixing this is to work with the matrix square root (e.g. store/learn Q^(1/2) and R^(1/2) then construct Q and R when running the filter).
In this way we can constrain Q and R to be PSD whilst using an unconstrained optimisation scheme.
This should probably also be done with P0 as well for completeness.
This should be a small change (a few lines and renaming variables).

I second this, well spotted!

Good catch! Would you be willing and able to send a PR? (I'll be honest that I don't work with Kalman filters that often, which is probably how this mistake snuck through in the first place... ;) So I'd appreciate another set of eyes on the fix.) The example is here:
https://github.com/patrick-kidger/diffrax/blob/main/examples/kalman_filter.ipynb


static content for paypay lab

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Mismatch number of devices returned from goadb

I have 4 devices plugged in, and can successfully retrieve with adb CLI
cpu12454@cpu12454-B360M-AORUS-Gaming-3:~$ adb devices -l
List of devices attached
330055a244c72319       device usb:1-5 product:a5xeltexx model:SM_A510F device:a5xelte transport_id:2
3300b0e061f593e9       device usb:1-1 product:on7xeltedd model:SM_G610F device:on7xelte transport_id:1
52004c98eea95419       device usb:1-2 product:j7y17ltedx model:SM_J730G device:j7y17lte transport_id:3
c9acd3c9               device usb:1-6 product:j6primeltedd model:SM_J610F device:j6primelte transport_id:4

But goadb only return 3 of them:
Nov 23 18:40:15 cpu12454-B360M-AORUS-Gaming-3 device-manager[2040320]: {"Serial":"330055a244c72319","Product":"a5xeltexx","Model":"SM_A510F","DeviceInfo":"a5xelte","Usb":"1-5"}
Nov 23 18:40:15 cpu12454-B360M-AORUS-Gaming-3 device-manager[2040320]: {"Serial":"3300b0e061f593e9","Product":"on7xeltedd","Model":"SM_G610F","DeviceInfo":"on7xelte","Usb":"1-1"}
Nov 23 18:40:15 cpu12454-B360M-AORUS-Gaming-3 device-manager[2040320]: {"Serial":"52004c98eea95419","Product":"j7y17","Model":"","DeviceInfo":"","Usb":"1-2"}

I have 2 machines, each has 4 devices plugged in. Both of them have the same problem. It seems that they are ignoring the last device returned from adb.
Any idea how to resolve this problem?

It seems that the full message is trimmed to fixed in 255 bytes length
330055a244c72319       device usb:338964480X product:a5xeltexx model:SM_A510F device:a5xelte transport_id:16
3300b0e061f593e9       device usb:338960384X product:on7xeltedd model:SM_G610F device:on7xelte transport_id:17
52004c98eea95419       device usb:3


Dependency checker is not checking versions correctly

Description
The dependency checker (that checks deps configured in repository_locations.bzl and opens github tickets) opens a new ticket when there is a newer version
It seems however that the versions are not checked correctly, for example with #19106
The suggested version is both less than the ticket that it closed and the current version used in the repo

cc @ME-ON1

I would like to work on this :)

i guess the priority is just to fix the version issue, but i would just flag that there are possibly some other issues with this script around handling of release dates <> last commit dates
my longer term thought had been to move this to github.com/envoyproxy/pytooling and to add unit tests and type checking to it

maintainer released a new version  1.6.2 yesterday and 1.8.2 was version released in October. So i think tool is working fine and maintainer did a mistake in naming the release version
here -> https://github.com/edenhill/librdkafka/releases xd

im thinking it should respect the version rather than release date tho - its valid to release 1.6.3 after 1.8.2 for example

yes it can but what if like for example 1.6.2 is the latest package released and 1.8.2 being older as in this case. And we look for latest release version by this tool.
Also is 1.6.2 is the version we want to updating.

we want to update to the latest (ie highest version number) which in this case 1.8.x

sure then just have to compare the release version number and it will work

i think this was fixed in #19111


Add url textures for render.setTexture.

Useful for making your own games or whatever.
(Note: the texture will be white until it finishes loading)
Example,
if not CLIENT then return end

hook.add("render","test",function()

    render.setTexture("http://i.imgur.com/sLRBCAy.jpg")
    render.drawTexturedRect(100,100,600,600)
end)

@thegrb93 Looks nice, we've been using HTTP Get within Starfall since we added additional RT's. Not keen on the use of DHTML panels, but it might be neccessary as speed is a concern, and grabbing the entire thing vs pixel-by-pixel should be faster.
However, if you're going to re-use some of your code from egp, please screen it more carefully prior to adding a PR.
Yet again, I stress, Codestyle must be adhered to for PR's to be accepted.


Detach from https://github.com/compressed/mongo_session_store

I contacted Github support to detach this fork from https://github.com/mongoid/mongo_session_store.

Great! Looks like it's done already :)


1.4.1 is not on nuget

https://www.nuget.org/packages/jQuery.MaskedInput/
Displays old version

Ping @stimms?

Oh hey, I was not paying attention at all to new releases of this. I'll put it on my list for this week.

Updated. I don't seem to have right to mark this as complete.

Thanks @stimms!


feat: Add api key role in UI

Thanks for submitting a PR! Please check the boxes below:

[x] I have run pre-commit to check linting
[x] I have filled in the "Changes" section below?
[x] I have filled in the "How did you test this code" section below?
[x] I have used a Conventional Commit title for this Pull Request

Changes

Add the ability in the frontend to create role API keys

How did you test this code?

Go to manage -> Keys
Click the "Create API Key" button
Disable the "Is admin" switch and add roles

Codecov Report
Attention: 8 lines in your changes are missing coverage. Please review.

Comparison is base (83285f0) 95.78% compared to head (5585433) 95.71%.
Report is 7 commits behind head on main.

Files
Patch %
Lines

api/api_keys/models.py
50.00%
4 Missing :warning:

api/api_keys/serializers.py
76.47%
4 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3042      +/-   ##
==========================================
- Coverage   95.78%   95.71%   -0.08%
==========================================
  Files        1048     1046       -2
  Lines       30671    30883     +212
==========================================
+ Hits        29379    29560     +181
- Misses       1292     1323      +31

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

@novakzaballa I've just tested this but it seems as though the roles aren't getting applied to the keys correctly.
https://github.com/Flagsmith/flagsmith/assets/14089968/82ca8c8a-c75e-4aef-8235-279d7299382e

@novakzaballa I've just tested this but it seems as though the roles aren't getting applied to the keys correctly.

@matthewelwell I found the issue, and now is solved

Yep, seems like it works now which is great! A couple of minor things:

This shouldn't say 'Terraform API Keys' any more.

Can we add an item to the table indicating whether a key is an admin or not?

We should probably add an information dialog stating that "Terraform API Keys have become API Keys which can be used for all purposes"

Yep, seems like it works now which is great! A couple of minor things:

This shouldn't say 'Terraform API Keys' any more.

Can we add an item to the table indicating whether a key is an admin or not?

We need to add / update the docs. Currently they're linking to the Terraform documentation which is not correct. Perhaps we should create a separate PR for the docs?

Hey @matthewelwell, I changed the title and added a field in the API keys table to see if it is an admin API key or not.
I will create an issue for the API keys documentation.


Needs revision: Command = az network public-ip create

The datacenter needs to be explicitly included here as it does not default to eastus which is what is explicitly stated in the other commands:
az network public-ip create
--resource-group myResourceGroupAG
--name myAGPublicIPAddress
--allocation-method Static
--sku Standard
So the creation of the AppGW eventually fails because the PIP exists in a datacenter where the AppGW is not being created.
Ensure there's datacenter parity for all commands.

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

ID: 0c673aeb-a45a-a6a3-390c-899a35050bf1
Version Independent ID: 44f0b776-de4b-aa34-0e3a-ce4941532337
Content: TLS termination using CLI - Azure Application Gateway
Content Source: articles/application-gateway/tutorial-ssl-cli.md
Service: application-gateway
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

Hello @MarcosMMartinez, Thank you for your feedback. I have made a PR to address this issue, the suggested change will be reflected when Microsoft Build is over. We will now proceed to close this issue out. Please let me know if you have any questions. Thank you!


Add publication generation date

Ready for review

This needs to be done by DMDS.

"Page last published" date now present on the beta version.


support help in Blazor cli

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <RunCommand>dotnet</RunCommand>
    <RunArguments>blazor serve</RunArguments>
    <LangVersion>7.3</LangVersion>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Blazor.Browser" Version="0.6.0" />
    <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="0.6.0" PrivateAssets="all" />

    <DotNetCliToolReference Include="Microsoft.AspNetCore.Blazor.Cli" Version="0.6.0" />
  </ItemGroup>

</Project>

using blazor 0.6.0
after running dotnet new blazor and then dotnet blazor -h
an InvalidOperationException is thrown.
is there any reason why blazor does not use the CommandLineApplication?

is there any reason why blazor does not use the CommandLineApplication?

The blazor CLI was one of the very first parts of the system we built, and is mostly intended to be an internal implementation detail. There aren't currently any reasons why developers need to run it manually, since it only has one feature, "serve", and that's done for you automatically when you execute dotnet run. So, adding a help system has never been a high priority.
If this is something you feel strongly about, we'd certainly consider a PR for this if it followed the same patterns as the other Microsoft.Extensions.CommandLineUtils-based tools in the repo, e.g., Microsoft.AspNetCore.Blazor.BuildTools. Thanks!


Deploy gh-pages branch from within the main repo

See this repo.
Already have a subfolder for html in the main repo, just need to include the css already in the gh-pges branch.

working


Can't share uploaded file with expiration shared link

Hiya!
Congrats about awesome package that you made. Can I ask you how to share uploaded file and get temporary shared link with expiration?
Thanks in advanced!

Seems like you can only share a folder from the pcloud api: https://docs.pcloud.com/methods/sharing/
This hasn't been implemented yet in pycloud api: https://github.com/tomgross/pycloud/blob/master/src/pcloud/api.py#L442

Unfortunately generating a public link is restricted.
This method can't be used from web applications. Referrer is restricted to pcloud.com.  (see
https://docs.pcloud.com/methods/public_links/getfilepublink.html)

New version 1.2 of pcloud released on pypi: https://pypi.org/project/pcloud/

Strange that public link for file is restricted but folder is not (or doesn't say it atleast): https://docs.pcloud.com/methods/public_links/getfolderpublink.html


[Editor] Allow choosing "no tonemapping"

Description
Modelviewer is pervasive on the web for 3D models, which is great!
But also, the default ACES transform has done quite some harm: I've seen numerous pipelines now tuned to "look right in model-viewer" which means that art departments are tuning colors and textures to kind of counter the effect of ACES, making it hard or impossible to switch to a better tonemapping (e.g. Commerce) after the fact.
One small step towards making that easier could be to allow choosing "no tonemapping" in the editor, to at least see the base colors of everything without ACES applied.

Since there is no such thing as "no tonemapping" (the closest is clamped, which also has strange hue skews), I went ahead and added the new Commerce tone mapper as an option in the editor already:

Does that suffice?

I saw that, but I mean „colors as-is without additional curves“ which would be LinearToneMapping in three, and just clamping. This would ensure people have _some _ way of seeing the same thing in their DCC and model-viewer.

What is DCC? I'm working on making an OCIO profile for commerce which should allow it to be applied in artist tools. Clamping is an extreme non-linear "additional curve" - a point I'm trying to help people understand the importance of. The purpose of the commerce tone mapper is exactly to create a minimally-invasive tone mapping function, one which is closer to base color than either ACES or clamped.
If you think the ACES hue skews are problematic, take a look at what clamped can do (clamped exposure sweep on the top, ACES on the bottom):

DCC = Digital Content Creation, e.g. 3ds Max, Blender, Maya, Unity, ... anything where glTF can come from in this case. Could also be called "artist tools", yeah.
Usually people are working either with settings that are hard/impossible to replicate elsewhere (e.g. Filmic in Blender) or "no tonemapping" which at least allows them to see if the same model looks the same elsewhere (verifying their exports actually worked).
OCIO is not supported everywhere. Currently people mostly work "without tonemapping" in their DCC and then move the data out of it. Not being able to see the same thing is a problem :) I'm doing a lot of explaining that no, they shouldn't judge their glTF models in model-viewer because then they're desinging against ACES.

You and I are trying to solve the same problem for the industry, so this is great. I hear what you're saying, though I may not have every nuance yet. I'm concerned with this approach because if I add a "no tonemapping" / "clamped" option to MV (and expose it in the editor), I'm afraid that will encourage people to use that in production (many already are, assuming incorrectly that it preserves base color better). I'm not sure how useful replicatable results are if they don't match the desired production result. Artists need to be able to work with the same tone mapping as production, but production needs tone mapping that preserves color better than "clamped". My proposal is Commerce tone mapping with an OCIO profile, all the way from DCC to MV. What workflow do you envision for the end-to-end? And what steps along the way?

I would note that preventing users from disabling tone mapping ("clamping") may have at least one negative side effect – unlit scenes cannot properly use model-viewer-effects. I know model-viewer disables tone mapping for unlit materials, but this doesn't work in a post-processed pipeline.
On the three.js side I think we should aim to help users feel comfortable defining their own tone mappers, there isn't just one best tone mapper. Whether custom tone mapping fits well into MV I am not sure. Several DCCs already support AgX so I'm interested in making that available – it's a better default than ACES, though I can't compare to the proposed Commerce tone mapper.

My personal end-to-end-flow is

trying to get people to understand that they need matching tonemapping everywhere
and that they also understand that the fallback – for the sadly still 90% of cases where matching end-to-end tonemapping is impossible – is ensuring that they are using "no tonemapping" everywhere
use exposure sliders to judge things going over one.
test often in the target platform, no matter which of the above they're using, if they actually care about the result.

Little bit unrelated, but I've got Commerce, a three.js AgX implementation and ACES in our still-experimental viewer: https://viewer.needle.tools/; happy to upload that AgX code somewhere.

I personally like AgX a lot – like Commerce, it requires somewhat stronger environment lighting, for AgX even stronger I think.
From my initial testing "commerce people" are likely not going to be happy with AgX when they just look at a comparison instead of reviewing the image they see as a picture. Most scenes "feel" better and more realistic with AgX, but in comparison under the same IBL they are somewhat dull. This matches Blender 4.x AgX implementation by the way.

I'm going to call this fixed by #4615, since we now have AgX support as well. While it avoids some of the weirdest problems with ACES, the dullness is a real problem for commerce - way too many colors are unreachable. I've also updated my commerce tone mapper, which has improved both its contrast and color accuracy. I think that's still the way to go for e-commerce, but it'll take some effort to make it smooth in the artist workflows.

If you still like "no tonemapping", take a look at my Glitch, where you can drag and drop your own GLBs and HDRs and pick all the tone mappers. Check out the crazy color shifts you get with Linear/clamped/none on the metallic highlights especially. It's even weirder and worse than ACES.

Personally I still think it's important to be able to "see the data" without application-specific tonemapping on top, but I understand your rationale for not adding it. Tonemapping implementations never match 1:1 between applications, AgX is no exception.


how to get the unaligned version to work?

Hey,
Is there a simple way to get an unaligned codec? I see you have a usimdbitpacking.cpp/h, but doesnt seem like its easy to make a codec out of it..
By manually sed-ding load and store to _mm_loadu_si128 _mm_storeu_si128, I verified that on recent haswell architecture there is very little difference in performance (YMMV), and it makes sense to use unaligned access in my case.
Thanks for this really awesome library,
Shlomi

@vadali
Yes, I agree that alignment should not matter much as far as performance is concerned. If someone has a machine where unaligned accesses are much slower, they should probably upgrade at this point.
Would you be willing to issue a PR? It is a simple matter of replacing all the load by loadu (or _mm_lddqu_si128) and store by storeu. One can do it with search and replace in seconds... the hard part is checking the everything still makes sense (and there are places where we might check for alignments, these checks need to be removed).

@lemire
Sure, I already made the change you mentioned and tested it using testcodecs, which seemed to work just fine.
Before I issue a PR Ill turn this change into a macro, so it could be reverted by a simple #define, unless you think its unneeded.

@vadali  A macro would be fine.


How to find more wonderful effects?

This is a very great repo. And how can we get more brilliant video filters?

I will build a web application , you can make your own wanderful effects and output the shader for this filter~

maybe this week~
my friend , can u give me a star~

I have make a web application, you can make your wonderful shaders with https://www.zzsin.com/shaderplus.html


Simple dart script triggers a large number of GCs when fetching from bbc.co.uk with HttpClient.get() and not consuming the response stream

I opened the Logging page in DevTools to test something and was greeted by a huge number of apparent GC events per second:

The script was mostly idle (it does a HTTP request and then sleeps for 30s). I can reproduce from the terminal by running the script with dart --observe run bin/foo.dart, clicking the DevTools link and then going to the Logging page. Occurs in 3.2.2 stable and a recent bleeding-edge build.
The code I'm using to test is:
import 'dart:io';

Future<void> main(List<String> arguments) async {
  var client = HttpClient();
  while (true) {
    var request = await client.getUrl(Uri.parse('https://www.bbc.co.uk/'));
    var response = await request.close();
    print('Status code: ${response.statusCode}!');
    await Future.delayed(const Duration(seconds: 30));
  }
}

It's not clear why the GC events are being recording with such high frequency. A number of changes to the code prevent it from occurring, including:

Fetching https://example.org instead of the BBC page
Calling await response.drain()
Calling response.listen() (for example response.listen((event) {}, onDone: () => print('Done!'));)

(cc @bkonyi @brianquinlan )

The generational hypothesis is holding extremely well in this program, so the heap never grows from its starting size and there are frequent, fast scavenges.
The units on that page are incorrect. It should say microseconds, not milliseconds. (Compare to the timeline events.)

the heap never grows from its starting size and there are frequent, fast scavenges.

Does that mean this is working as expected? (any guesses why the behaviour is different for other pages or if I consume the stream?).

The units on that page are incorrect. It should say microseconds, not milliseconds.

Thanks - I'll file an issue in DevTools about that.

Does that mean this is working as expected? (any guesses why the behaviour is different for other pages or if I consume the stream?).

Yes. Though it is unusual for the working setting of a program to be small enough for this to happen to this degree. Probably without actually consuming the data, the incoming data gets dropped pretty quickly and this server happens to send in smaller chunks. Normally a big chunk arriving or concatenating smaller chunks for consumption would be enough to encourage the heap to grow and GC to become less frequent.

The code I'm using to test is:
import 'dart:io';

Future<void> main(List<String> arguments) async {
  var client = HttpClient();
  while (true) {
    var request = await client.getUrl(Uri.parse('https://www.bbc.co.uk/'));
    var response = await request.close();
    print('Status code: ${response.statusCode}!');
    await Future.delayed(const Duration(seconds: 30));
  }
}

It's not clear why the GC events are being recording with such high frequency. A number of changes to the code prevent it from occurring, including:

Fetching https://example.org instead of the BBC page
Calling await response.drain()

Forgetting about the GC question, not consuming the response of the HTTP request will potentially keep the HTTP connection alive until the server decides to disconnect you due to timeout.

not consuming the response of the HTTP request will potentially keep the HTTP connection alive until the server decides to disconnect you due to timeout.

Yeah, this code wasn't real I was just testing something on the logging/network pages and needed something that would cause a small amount of data to show up there (and apparently I just happened to hit a magic combination that caused quite a lot of data to turn up 😄)


fix: copy lang management command - include PageUrl

Description
Add PageUrl handling to CopyLangCommand
Currently using copy lang command breaks the site.
TODO add tests
Checklist

[x] I have opened this pull request against develop-4
[ ] I have added or modified the tests when changing logic
[x] I have followed the conventional commits guidelines to add meaningful information into the changelog
[x] I have read the contribution guidelines  and I have joined #workgroup-pr-review on Slack to find a “pr review buddy” who is going to review my pull request.

@vasekch Thanks for this PR. Is there anything I can do to move it forward?


Respect contentfiles nodes if present in nuget packages

Per https://docs.nuget.org/create/nuspec-reference#contentfiles-with-visual-studio-2015-update-1-and-later, there is a new 'contentFiles' node in the nupkg that is used to signal language-dependent, immutable content files in a known order.  We should support this.

Hi Everyone,
Is this still in planning to be implemented?
Just stumbled upon a package which only installs its content using the 'contentFiles' node and paket does not add any content (regardless of the content: true setting).
Regular files using the 'content' node work flawlessly.
Kind Regards,
Florian


Add missing level_override instance variable to logger #initialize

Adds compatibility for most recent, included in ruby 3.3.3 logger. https://github.com/ruby/logger/commit/7aabb0b4aaabea3e3a226092bdf92b60bf1c9d60
Issue
I've got 3.3.3 ruby with bundled Logger 1.6.0
eval error: undefined method `[]' for nil
  /Users/dev/.asdf/installs/ruby/3.3.3/lib/ruby/3.3.0/logger.rb:384:in `level'
  /Users/dev/.asdf/installs/ruby/3.3.3/lib/ruby/3.3.0/logger.rb:653:in `add'
  /Users/dev/.asdf/installs/ruby/3.3.3/lib/ruby/3.3.0/logger.rb:697:in `info'
  /Users/dev/.asdf/installs/ruby/3.3.3/lib/ruby/3.3.0/forwardable.rb:240:in `info'

there is missing empty hash in initialize.
Description of changes:
It should be compatible with previous versions of Ruby.
Target (OCI, Managed Runtime, both):
ruby 3.3.3 or most recent logger version.
I run lambda in self hosted ruby container in general, but it is not required to test within docker, as code breaks on specs when applying LoggerPatch.

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

@trivenay  Can you look at it ?

or @briensea ?

logger 1.6.1 started to be compatible :)
https://github.com/aws/aws-lambda-ruby-runtime-interface-client/issues/33#issuecomment-2324938107
if you want to be with bundled logger gem with 3.3 ruby please merge it, to not force for workarounds


feat: better markdown support

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[x] Feature
[x] Refactoring

Context

[x] Closes #5361 support auto link in markdown content
[x] unify useRedirectModal
[x] Markdown common component

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

@Jarsen136 please resolve conflicts 🥺

@Jarsen136 please resolve conflicts 🥺

✅ DONE

pay 25 usd

😍 Perfect, I’ve sent the payout
💵 $25 @ 33.14 USD/KSM ~ 0.754 $KSM
🧗 Caiv9TbPz68q5dC8EcHu5xKYPRnremimGzqmEejDFNpWWLG
🔗 0xb67216b97f9efa093910c3518f36004290585e5a0e1716c74d29281028a31c21
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Scene add sensors

🎉 New feature
Summary
This adds some sensor information to the scene broadcaster. Web sensor data visualization needs this information.
Test it
You should see sensors appear in the scene/graph and scene/info service results.
Checklist

[X] Signed all commits for DCO
[X] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[X] codecheck passed (See contributing)
[X] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge

should this be targeted to the ign-gazebo3 branch?

should this be targeted to the ign-gazebo3 branch?

Changed.


Enable Fedora 38 support to OAI test case

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:
/kind bug
/kind cleanup
/kind design
/kind documentation
/kind failing-test

/kind feature

/kind flake

What this PR does / why we need it:
Until now, the creation of the sandbox has been tested with three OS releases, used for testing four different scenarios. This change offers the option to validate the Sandbox creation with fedora38, covering OAI test case.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/retest

/approve

/retest

/retest

@electrocucaracha Thanks Victor for this. Though is there any specific reason to choose Fedora 38? We can use 39, right?

@electrocucaracha Thank you for this MR. Though is there any specific reason to choose Fedora 38? We can use 39, right?
I think that the Fedora39 image is not available in GCP, but I could be wrong

@electrocucaracha Thank you for this MR. Though is there any specific reason to choose Fedora 38? We can use 39, right?
I think that the Fedora39 image is not available in GCP, but I could be wrong

There is 39_Beta_39-20230912.0

@electrocucaracha Should we merge this MR as it is once the test passes?

@electrocucaracha Should we merge this MR as it is once the test passes?

Let me give it another try
/test e2e-oai-fedora-38

/retest

/approve

/test e2e-oai-fedora-38

/test e2e-oai-fedora-38

@arora-sagar , @radoslawc , should we bump this to fedora 41 instead?

@arora-sagar , @radoslawc , should we bump this to fedora 41 instead?

Yeah I totally agree we should upgrade to fedora 41

Ok, let me rebase it and find the fedora images (last time that I checked GCP didn't have all of them available)

Ok, let me rebase it and find the fedora images (last time that I checked GCP didn't have all of them available)

We tried 41 here but like you say it's not available.
https://github.com/nephio-project/test-infra/pull/318

Ok, let me rebase it and find the fedora images (last time that I checked GCP didn't have all of them available)

We tried 41 here but like you say it's not available. #318

Got it, so in that case let's close this PR to avoid duplication

/test e2e-daily-fedora-38-kubeadm

/test e2e-oai-fedora-38

/test presubmit-test-infra-inrepoconfig-validation


No module named 'bot4'

When trying to use timesearch on latest source and up-to-date pip packages, I get the error in the title:
  File "timesearch.py", line 11, in <module>
    status_code = timesearch_modules.main(sys.argv[1:])
  File "C:\ProgramData\Anaconda3\envs\py36\lib\site-packages\voussoirkit\betterhelp.py", line 124, in wrapped
    return main(argv)
  File "D:\timesearch\timesearch_modules\__init__.py", line 423, in main
    args.func(args)
  File "D:\timesearch\timesearch_modules\__init__.py", line 342, in get_submissions_gateway
    from . import get_submissions
  File "D:\timesearch\timesearch_modules\get_submissions.py", line 4, in <module>
    from . import common
  File "D:\timesearch\timesearch_modules\common.py", line 22, in <module>
    import bot4
ModuleNotFoundError: No module named 'bot4'

Any way to fix this? I'm using Anaconda for env management.

Hi, the bot.py file is meant to contain your reddit credentials. There is a part of the main readme that says this:
https://github.com/voussoir/timesearch#make-sure-you-have

Downloaded a copy of this file and saved it as bot.py. Fill out the variables using your OAuth information, and read the instructions to see where to put it. The Useragent is a description of your API usage. Typically "/u/username's praw client" is sufficient.

You can name it bot.py or bot4.py according to this logic.
The instructions inside bot.py describe the use of the PYTHONPATH env variable, but since you're using anaconda you may have to find a more specific directory to provide libs to your env. As always, placing the file in the same place as builtin modules like os or sys is guaranteed to work in a pinch.

Seems to work, I actually deleted that file when upgrading to latest source, because I thought it was extraneous and unnecessary due to it utilizing timesearch. Too bad I didn't remember that it uses Reddit to check for the most up-to-date posts and comments.
Wasn't too hard to add back, though. Thanks!


[Feat]: Toggle script with multiple data-categories

Description
It might be useful to be able to apply simple OR or AND in data-category so It's loaded when either or both categories are granted. I know about onChange and onConsent but solution like this provides extra flexibility with some CMS solutions.
Proposed solution
Example OR:
<script type="text/plain" data-category="analytics|marketing">
// gets loaded when analytics or marketing consent is granted
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
</script>

Example AND:
<script type="text/plain" data-category="analytics&marketing">
// gets loaded when both analytics and marketing consent is granted
gtag('consent', 'update', {
  'analytics_storage': 'granted',
  'ad_user_data': 'granted',
  'ad_personalization': 'granted',
  'ad_storage': 'granted',
});
</script>

Additional details
No response

Yes, could be useful!


Could not make RSA decryption work

Hi,
Trying to encrypt/decrypt data using the OpenSSL API, we had to decrypt data using the EVP_PKEY_decrypt() API with data that was:

encrypted by the OpenSSL default provider,
encrypted by the Trust M one.

In both case the decrypt fails and we can see the following traces from the provider:
Enc scheme : 11
Private OID : e0fd
inlen : 256
Error decrypting message with RSA.
Error code : 0403

Since you do not seem to use the OpenSSL API, maybe you will be able reproduce it using the openssl rsautl command with -encrypt/decrypt options ?
BR,

Hi @reds71 The implementation of using Trust M provider for RSA decryption is still in progress. We will notify you once it is completed. In the meantime, we would like to share the script RSA_openssl_enc_Trust_M_dec.sh with you. This script includes the OpenSSL pkeyutl command for RSA encryption and using Trust M CLI for RSA decryption function. Thank you very much.

Hi @reds71, This issue has been resolved by the latest commit. Please refer to the test script: RSA Encryption/Decryption using Trust M provider for testing. Thanks a lot.


Customers must be a model in the database

In order to have a better structure for the database, visual statistics, future plans we need to save each user (phone number) in the database and connect each order to it's own customer.
This also helps to have a better notification system (which is currently pending due to this task).

Note that this task will also require some refactoring in analytics queries.

It is done on #184


Auto Advance Carries on once on another card

if you set an auto advance it will not be cancelled once redirected onto another card.

:+1: Thanks for the bug report, really clear description.
I'll take a look later this week. ;-)

OK... I fixed it with the change in 70ac6bb.


Issue building jax from scratch without CUDA on macOS Mojave

I am pretty sure this is not a duplicate of #132, and also not a duplicate of #171, I think.
The output of the build commands is below, folded in a <details> tab so as to not clutter up the post.

     _   _  __  __
    | | / \ \ \/ /
 _  | |/ _ \ \  /
| |_| / ___ \/  \
 \___/_/   \/_/\_\
Bazel binary path: ./bazel-0.19.2-darwin-x86_64
Python binary path: /Users/ericmjl/anaconda/envs/mpnn/bin/python
MKL-DNN enabled: yes
-march=native: no
CUDA enabled: no
Building XLA and installing it in the jaxlib source tree...
INFO: Analysed target //build:install_xla_in_source_tree (0 packages loaded, 0 targets configured).
INFO: Found 1 target...

One thing I am not sure of is why /usr/local/cuda still shows up in the output, especially when I'm using a tiny computer without a GPU ;).

I think this issue is resolved. Please reopen if there's something to follow up on here!


Cap Sphinx to avoid docs build failure

The recent sphinx 3.3.0 release today has started causing doc build
failures in CI. This is being caused by an issue with the m2r2 extension
used to render the README in the docs builds (see CrossNox/m2r2#13).
This commit caps the sphinx version until there is a new m2r2 release
fixing compatibility with sphinx >=3.3.0.

Pull Request Test Coverage Report for Build 341898663

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.625%

Totals

Change from base Build 341653426:
0.0%

Covered Lines:
2335

Relevant Lines:
2494

💛  - Coveralls


Added OfferFull for reading Price-History from amazon-ECS

Hi,
i hardcoded OfferFull into search and lookup. Please make the ResponsiveGroups more dynamic, so that we can set the ResponsiveGroups in our application.
thx

Thanks for your efforts - this PR seems to contain a lot of files I don't want included, one typo (that I've seen). But I'd be happy to add OfferAll in the next release.

thanks

No problem, thanks for raising this.
I'll be looking to add an option to the amazon.php config file that will allow you to specify what you'd like included in the response group as an array.
So there will be a new option named something like "response_groups" then you can just add or remove anything from the array in the config.
/**
 * amazon.php
 */
'response_groups' => [
	'Images',
	'ItemAttributes',
	'OfferFull'
]

Hi Joe,
I already coded a function yesterday for adding ResponseGroups.
If you want, i can make a PR in the evening.
Best wishes
Joe Dawson<EMAIL_ADDRESS>schrieb am Mi., 17. Feb. 2016 13:24:

No problem, thanks for raising this.
I'll be looking to add an option to the amazon.php config file that will
allow you to specify what you'd like included in the response group as an
array.
So there will be a new option named something like "response_groups" then
you can just add or remove anything from the array in the config.
/** * amazon.php */'response_groups' => [    'Images',    'ItemAttributes',    'OfferFull']
—
Reply to this email directly or view it on GitHub
https://github.com/JoeDawson/amazon-ecs/pull/1#issuecomment-185176803.


How to log to GCP Stackdriver?

I tried both log.Println and fmt.Println, neither appeared in the cloud function's log

I am aware of the problem and working on a solution. This is listed as a limitation in the README.

Sorry missed that

Manage to get the logs appear in Global resource
client, err := logging.NewClient(ctx, os.Getenv("GCLOUD_PROJECT"))
if err != nil {
  http.Error(w, err.Error(), http.StatusInternalServerError)
}
defer client.Close()
logger := client.Logger(os.Getenv("FUNCTION_NAME"))
logger.Log(logging.Entry{
  Labels: map[string]string{
    "function_name": os.Getenv("FUNCTION_NAME"),
    "project_id":    os.Getenv("GCP_PROJECT"),
  },
  Payload: "hello world"})

But when I try to specify the fields (to make it show up under the corresponding Cloud Function "view logs"), the log entries disappeared

entry := logging.Entry{
	HTTPRequest: &logging.HTTPRequest{
		Request: r,
	},
	Timestamp: time.Now(),
	Severity:  logging.Debug,
	// Trace:     r.Header.Get("X-Cloud-Trace-Context"),
	Resource: &mrpb.MonitoredResource{
		Labels: map[string]string{
			"function_name": os.Getenv("FUNCTION_NAME"),
			"project_id":    os.Getenv("GCP_PROJECT"),
			"region":        "us-central1",
		},
		Type: "cloud_function",
	},
	Labels: map[string]string{
		"execution_id": r.Header.Get("Function-Execution-Id"),
	},
	LogName: "projects/cartactivity-go/logs/cloudfunctions.googleapis.com%2Fcloud-functions",
	Payload: "hello logger.Log world 1 2 131c3582ebc537cd44383f9e84f3b8f4b9af3adc",
}
logger.Log(entry)

Wonderinf if you know the details I'm missing to make this work? If possible, I'd like to make it a middleware for easy inclusion into this project

cloud logging clients would use gRPC to insert those calls and that would work fine.  The otherway is to see if simple stdout can be used (which i suspect is what @iangudger  is investigating).
The cloud logging  would work just fine and would allow you to retarget the destination where the logs get written (i.,e to gcf logs, the the 'global' logs, etc).  I'm not sure how logs 'disappeared'...but if it helps here is a sample that shows how to use the logging api and create a 'hierarchy' of logs (i.,e consolidate all log events under one parent request).  Pls take a look at screenshot and the git link cited in the code (it shows the very specific sequence that allows for this; i just happened to use gae for the log target..)...we'll get that documented under cloud logging docs...
https://gist.github.com/salrashid123/310c03da383f0ac6560509045d5850fe

Thanks @salrashid123 that gist was helpful.
There were several problems with my earlier attempts

LogName must not be specified in the logging.Entry struct, it will be an error. That's why I couldn't find my payload in GCP, i.e. "disappeared"
logger := client.Logger(os.Getenv("FUNCTION_NAME")) is wrong, that's why even when my log entries did appear in GCP, they were parked under Global (and on inspection, it ignored my mrpb.MonitoredResource definition)

and this is actually where i needed to specify the values that will eventually become LogName

The fix
logger := client.Logger(
  "cloudfunctions.googleapis.com/cloud-functions",
  logging.CommonResource(&mrpb.MonitoredResource{
    Labels: map[string]string{
      "function_name": os.Getenv("FUNCTION_NAME"),
      "project_id":    os.Getenv("GCP_PROJECT"), // GCLOUD_PROJECT has same value ¯\_(ツ)_/¯
      "region":        "us-central1", // TODO: how do I derive this?
    },
    Type: "cloud_function",
  }),
  logging.CommonLabels(map[string]string{
    "execution_id": r.Header.Get("Function-Execution-Id"),
  }),
)

So the only pending issue is

to get rid of that hardcoded "us-central1"

It appears that "us-central1" is the only supported region, so hard coding that might not be a problem.
As far as I know, GCF currently uses a different logging method that what was described by @choonkeat. I have spent some time looking into it as well as another mechanism which would be better than either.

So I saw some graphs appear on my Google Cloud homepage (under "APIs"). So I experimented to replace the Golang cloud function with a node js version (incoming traffic remains the same)

Hmm

When using Golang with cloud.google.com/go/logging solution above, the logger.Log are counted as API calls in the Google Cloud homepage
When replaced with out of the box nodejs app using console.log, the logging don't seem to count to anything

This means logging is free in nodejs, but cost money in golang, right?

This is expected. As I mentioned previously, Node.js on GCF uses a different logging mechanism. To learn more about how GCF works, I suggest you extract the worker.js file that loads your function from your instance.

To learn more about how GCF works, I suggest you extract the worker.js file that loads your function from your instance.

Would love to do that, but could you point me to where I can find worker.js ?
You're not talking about the index.js and node_modules/execer/index.js in my function.zip, right?

ok found it 🙇

seems like only TextPayload is accepted? Would you know of how to make supervisor receive json payload instead?

Sorry, I don't. Why do you need that?

@choonkeat, is there any chance you could write some instructions for others on how to extract worker.js?

write some instructions for others on how to extract worker.js

Will this suffice? https://gist.github.com/choonkeat/9476909becf29608844cba328cc5e3a3 or do you want me to issue a PR to add a .md file in this repo?

how to make supervisor receive json payload instead?
Why do you need that?

GCP log viewer allows for pretty powerful JSON querying. Will be good if I can choose to log regular string or richer data types

Here's the code I'm using for logging https://gist.github.com/choonkeat/dbb040845214ad21eaabfc45590e84cb
To log, I pass r *http.Request and a payload interface{}
gcpsupervisor.Log(r, payload)

If the logging via supervisor server somehow fails, it will use the Logging API to send logs of the error
Unlike worker.js which tries to accumulate log entries, checks for max number of entries, check for maximum length of payload and perform timely flush, gcpsupervisor.Log simply makes 1x HTTP POST to supervisor server every time

A temporary workaround until log will be fixed  will be create a nodejs function that only write logs (standard away) and  invoke this nodejs function from go functions with payload.
I do not know what will be more expensive thinking in economy or performance use Log API vs function logger on nodejs-

@choonkeat, thanks for the worker.js instructions! A PR would be great if you can.
@albertog, the advantage of this project over alternatives such as kelseyhightower/google-cloud-functions-go is that you eliminate the Node process.


Security impact of URL support for  and  parameters

EDIT: Please ignore for now, checking if this is related to our custom NACM configuration.
Currently the server comes with default enabled (ENABLE_URL=ON) support for URLs as <source> and <target> parameters in the config manipulation RPCs (https://datatracker.ietf.org/doc/html/rfc6241#section-8.8).
Unfortunately, it seems that currently there is no sanitization of the provided URLs (including the use of the "file://" protocol), nor any NACM rights mitigation. As a result, the external client can copy / overwrite, etc. files with the rights of the user under which the server is executed (which would be root on many real-world deployments).
For example, copy-config --target url:file:///test.conf --source running will create a copy  of the running datastore in the root of the FS. One can even copy any source file and overwrite any destination file within the rights of the user running the server.
Mitigation of the above problem might involve a combination of:

Disabling URL support by default (ENABLE_URL=OFF)
Disabling of the file:// protocol when initializing libcurl (https://github.com/curl/curl/blob/master/docs/CURL-DISABLE.md#curl_disable_file)
Constraining the local folders that can be used as <source> or <target> parameters (e.g similarly to confD https://discuss.tail-f.com/t/url-capability-examples/1533)
Making sure that libcurl is executed in the context of the current client user instead of the netopeer2-server

You are right and by default it all works as you described, every authenticated user can do this.  If not, you can customize their access rights using NACM (you can forbid executing copy-config).

This sounds like a security issue because user foo that's connecting over NETCONF can create files in the local filesystem as root. That is a bug on its own, even if some custom config was needed to trigger this operation.
How is copy-config currently implemented? Does the user  need a special NACM rule for that RPC? Is the NACM filtering (that would limit the scope of the content of the config payload that's copied to whatever is NACM-visible to the current user) in place?
Anyway, disabling the file: scheme sounds like a reasonable minimum to do. In fact, I suggest limiting the URLs to https: (and maybe http: as well if you think that having a cleartext, "insecure" upload/download is worth the convenience).

This sounds like a security issue because user foo that's connecting over NETCONF can create files in the local filesystem as root. That is a bug on its own, even if some custom config was needed to trigger this operation.

Well, like I said, the use foo may not even exist on the system, what should the owner then be?

Does the user need a special NACM rule for that RPC?

No.

Is the NACM filtering (that would limit the scope of the content of the config payload that's copied to whatever is NACM-visible to the current user) in place?

Yes.

Anyway, disabling the file: scheme sounds like a reasonable minimum to do.

I am not sure about this, why shouldn't the users be allowed to work (backup/load) with configurations stored on the system? I think there may be a use-case for this.

I still think this is a significant issue. In my view trusting an external user to run copy-config is completely different with trusting this user to do any read / write as root (owner of netopeer2-server) on the local FS (at the moment one can even use "file:///" for both source and destination in single call, so one can copy / overwrite at will).

Okay, but a reasonable solution needs to be found. So what about adding a new compile-time variable ENABLE_URL_FILE that will be OFF by default, will that make everyone happy?

That sounds like a good pragmatic solution!
Down the road, ideally some kind of file path jail system or allow/deny lists that can be controlled via NACM might enable more safe use of the file URLs.

a new compile-time variable ENABLE_URL_FILE that will be OFF by default, will that make everyone happy?

If it has some documentation which explains that in the context of a NETCONF server, this allows all authenticated users to overwrite arbitrary files as root, and therefore it has vast security implications, then OK, I'll be happy :). Bonus points if Netopeer2-server checks for this at build time as well and issues a warning about a config that's insecure.

if ENABLE_URL=ON then one can enable / disable URLs only via model features

What do you mean, some new features? There is only one feature right now, url.
I have pushed a change for this, was more difficult than I thought and I still need to add support for older libcurl...

Okay, is there any point to such a change? It was never the idea to manually change supported YANG features of ietf-netconf but rather let netopeer2 set them according to its compile-time options.


Create Default HostConfig in UWP renderer instantiation

Fixes #533

@riarenas,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Feature/add strategy prop

Related request https://github.com/valgeirb/vue3-popper/issues/74

Tested in dev mode, works like a charm ✅
Prop is properly reactive ✅

would be glad to see it merged soon and shipped in a release

This would be really useful @valgeirb

Could you merge it??

Useful for sure.
Any plans for merging this?


Reset misspelled state after changing spelling language

Before submitting, please confirm you've

[x] read and understood our Contributing Guidelines
[x] completed Mattermost Contributor Agreement
[x] executed npm run lint:js for proper code formatting

Please provide the following information:
Summary
Reset misspelled state after changing spelling language.
Issue link
#524
Test Cases
See #524. After the step 7, the highlight should be updated a moment later.
Additional Notes
https://circleci.com/gh/yuya-oc/desktop/241#artifacts

@yuya-oc It looks like the build succeeded but I don't see any download links in the artifacts

Please expand circle-artifacts.4SF1sfI/ below "Test Summary". It seems CircleCI behavior was changed.

Tested on Windows 10

spellchecker on/off
different languages
#524 fixed

All looks good, thanks @yuya-oc!

Thanks for testing!


chore: session replay

:bulb: Motivation and Context
iOS session recording - very first alpha version, probably rough edges.

Wireframe approach
Includes mouse clicks
Network telemetry (no headers and payloads yet)
No console logs, it's not possible to monkey patch, we'd need a logger wrapper.

:green_heart: How did you test it?
:pencil: Checklist

[X] I reviewed the submitted code.
[ ] I added tests to verify the changes.
[ ] I updated the docs if needed.
[ ] No breaking change or entry added to the changelog.

Honestly, I am not familiar with Swift. Is the solution to take a full snapshot every 0.5 seconds to achieve the effect of session replay?


Bot not avoiding lava

The bot is repeatedly killing itself
 Direct link to gif https://dscgg.net/uploads/515061247c32b5482258.gif

This appears to be an issue with your pathfinder plugin setup.
The collectBlock plugin internally uses the pathfinder plugin for navigation.

Well it works fine when I code the pathfinder goal

Added lava avoidance in #84


Added aria-live='polite' to results table.

Issue: #5617

This PR contains many unrelated changes and cannot be used.

@Hrittik20 you should have create a new branch from main after updating your local main. See Write code for guidance.