Fix ScalingCanvas scaling issue

This PR fix https://github.com/dotnet/Microsoft.Maui.Graphics/issues/109
Scale method in ScalingCanvas, should not scale a original canvas, because ScalingCanvas will scale a path in each method.
Test code
canvas.SaveState();

canvas.StrokeColor = Colors.Black;
canvas.DrawRectangle(new Rectangle(10, 10, 20, 20));

var normalScale = new ScalingCanvas(canvas);

var scaledCanvas = new ScalingCanvas(normalScale);
scaledCanvas.Scale(2, 2);

scaledCanvas.StrokeColor = Colors.Black;
scaledCanvas.DrawRectangle(new Rectangle(10, 10, 20, 20));

scaledCanvas.Translate(10, 10);

scaledCanvas.StrokeColor = Colors.Red;
scaledCanvas.DrawRectangle(new Rectangle(10, 10, 20, 20));

canvas.RestoreState();

@jonlipsky was going to look at this a bit, I'm not sure it's exactly what we want to do as it will break some other things.

@Redth @myroot @jsuarezruiz. I'm still thinking through this issue; however, I think the real fix should be that a scaling canvas should never be able to wrap a scaling canvas.
Additionally, perhaps this class needs to be renamed, and potentially be changed to internal.   It's not a general purpose scaling canvas, it's a scaling canvas specifically implemented for use with Android and Skia so that paths/shapes aren't scaled after after their bitmaps are rendered to the graphics context, which causing blurring/pixelation.

@jonlipsky
I do nested ScalingCanvas to help understand my issue.
My real issue related with ScallingCanvas is https://github.com/dotnet/Microsoft.Maui.Graphics/issues/105
Translate method not scaled in ScallingCanvas, so I try to fix it. but I got another issue, it caused by scalling original canvas, so I made this patch

@jonlipsky is right, this changes invalid. Acutally I got issue when i use SkiaGraphicsView.Translate with scale. I will more inspect it.


Vagrant configuration

I ran the vagrant machine, but when invoked, the python command throws an ImportError type stating than there is no django module installed.

This was fixed on https://github.com/djangocali/portal/pull/7
I added django-taggit to requirements, it was missing and preventing the startup.
Migrations are not running on provisioning, can that be added back or is there something that would cause an error when trying?
The idea is that the users don't have to run anything else than "python manage.py runserver <IP_ADDRESS>:8000"
Thanks for the fixes.

It shouldn't be a problem now with the fixes.

I solved it with the last inclusions on #8 but please, validate it, we never know.

I merged #8 today, so it should be fixed now.


How to bind the value of radio buttons

Current Behavior
I can't find any way to do this, even in the docs.
Expected Behavior
i can bind:checked or something like that (doesn't work).
Steps To Reproduce

Set up a new project
Install the radio buttons
try to get their value into a variable

Link to Reproduction / Stackblitz
No response
More Information
No response

@huntabyte the radio buttons are practically useless without the ability to get info about if they're check etc. Fix pls

Have you tried bind:value on the RadioGroup?

@mschuepbach Could you please provide an example, where i can log the value on every change, as this doesnt work with my current code:

{#if form?.accounts}

                                <RadioGroup value={form?.accounts[0].accountName.toLowerCase()} bind:group={accountSelected}>
                                    {#each (form?.accounts ?? []) as account, index}

                                            <RadioGroupItem value={account.accountName.toLowerCase()} id="r-{index}" name={index}/>
                                            {account.accountName}
                                            <Badge variant="secondary">{account.balance.balance} {account.currency}</Badge>
                                            {#if account.preferred}
                                                <Badge variant="secondary" class="border-green-400 bg-green-300">preferred</Badge>
                                            {/if}

                                    {/each}
                                </RadioGroup>

                        {/if}

This currently doesn't work for me, maybe i'm just using it wrong.

I can cofirm that there's no bug, as the component works.


[BUG] Right mouse button only zooms

Describe the bug
The right mouse button only zooms the image in and out and doesn't allow for the drawing of nucleus/cell outlines. No combination with [CTRL|SHIFT|ALT] will change this behavior. I've also tried the middle mouse button.
Installation of cellpose was straightforward with the current instructions.
To Reproduce
Steps to reproduce the behavior:

Load a grayscale image.
Select 'gray' from the dropdown menu.
Select 'nuclei' from the model zoo.
Wait for the classification to complete.
Right-click on the image, move the mouse up and down.
Notice how the image is zoomed-in and -out, respectively.

Run log
(cellpose) C:\Users\Christian Rickert>cellpose
2023-05-18 16:24:58,674 [INFO] WRITING LOG OUTPUT TO C:\Users\Christian Rickert\.cellpose\run.log
2023-05-18 16:24:58,675 [INFO]
cellpose version:       2.2.1
platform:               win32
python version:         3.8.16
torch version:          2.0.1+cpu
2023-05-18 16:24:59,066 [INFO] TORCH CUDA version not installed/working.
GUI_INFO: loading image: C:/Users/Christian Rickert/Desktop/dsDNA.tif
(5143, 5568, 4)
GUI_INFO: auto-adjust enabled, computing saturation levels
2023-05-18 16:25:33,684 [INFO] >> nuclei << model set to be used
2023-05-18 16:25:33,685 [INFO] >>>> using CPU
2023-05-18 16:25:33,833 [INFO] >>>> model diam_mean =  17.000 (ROIs rescaled to this size during training)
2023-05-18 16:30:25,770 [INFO] 10169 cells found with model in 292.220 sec
GUI_INFO: 10169 masks found
GUI_INFO: creating cellcolors and drawing masks

 conda packages
# packages in environment at C:\ProgramData\Miniconda3\envs\cellpose:
#
# Name                    Version                   Build  Channel
ca-certificates           2023.01.10           haa95532_0
cachetools                5.3.0                    pypi_0    pypi
cellpose                  2.2.1                    pypi_0    pypi
certifi                   2023.5.7                 pypi_0    pypi
charset-normalizer        3.1.0                    pypi_0    pypi
colorama                  0.4.6                    pypi_0    pypi
fastremap                 1.13.5                   pypi_0    pypi
filelock                  3.12.0                   pypi_0    pypi
google-api-core           2.11.0                   pypi_0    pypi
google-auth               2.18.1                   pypi_0    pypi
google-cloud-core         2.3.2                    pypi_0    pypi
google-cloud-storage      2.9.0                    pypi_0    pypi
google-crc32c             1.5.0                    pypi_0    pypi
google-resumable-media    2.5.0                    pypi_0    pypi
googleapis-common-protos  1.59.0                   pypi_0    pypi
idna                      3.4                      pypi_0    pypi
imagecodecs               2023.3.16                pypi_0    pypi
importlib-metadata        6.6.0                    pypi_0    pypi
jinja2                    3.1.2                    pypi_0    pypi
libffi                    3.4.4                hd77b12b_0
llvmlite                  0.40.0                   pypi_0    pypi
markupsafe                2.1.2                    pypi_0    pypi
mpmath                    1.3.0                    pypi_0    pypi
natsort                   8.3.1                    pypi_0    pypi
networkx                  3.1                      pypi_0    pypi
numba                     0.57.0                   pypi_0    pypi
numpy                     1.24.3                   pypi_0    pypi
opencv-python-headless    <IP_ADDRESS>                 pypi_0    pypi
openssl                   1.1.1t               h2bbff1b_0
packaging                 23.1                     pypi_0    pypi
pip                       23.0.1           py38haa95532_0
protobuf                  4.23.1                   pypi_0    pypi
pyasn1                    0.5.0                    pypi_0    pypi
pyasn1-modules            0.3.0                    pypi_0    pypi
pygments                  2.15.1                   pypi_0    pypi
pyqt5                     5.15.9                   pypi_0    pypi
pyqt5-qt5                 5.15.2                   pypi_0    pypi
pyqt5-sip                 12.12.1                  pypi_0    pypi
pyqtgraph                 0.13.3                   pypi_0    pypi
python                    3.8.16               h6244533_3
qtpy                      2.3.1                    pypi_0    pypi
requests                  2.30.0                   pypi_0    pypi
rsa                       4.9                      pypi_0    pypi
scipy                     1.10.1                   pypi_0    pypi
setuptools                66.0.0           py38haa95532_0
six                       1.16.0                   pypi_0    pypi
sqlite                    3.41.2               h2bbff1b_0
superqt                   0.4.1                    pypi_0    pypi
sympy                     1.12                     pypi_0    pypi
tifffile                  2023.4.12                pypi_0    pypi
torch                     2.0.1                    pypi_0    pypi
tqdm                      4.65.0                   pypi_0    pypi
typing-extensions         4.5.0                    pypi_0    pypi
urllib3                   1.26.15                  pypi_0    pypi
vc                        14.2                 h21ff451_1
vs2015_runtime            14.27.29016          h5e58377_2
wheel                     0.38.4           py38haa95532_0
zipp                      3.15.0                   pypi_0    pypi

I'm running on Windows 10 (recent) without a dedicated GPU.
There is a similar issue #701, but @mrariden's suggestion didn't resolve the issue.
Chris

Does clicking without moving the mouse work?

Interesting! Clicking with the right mouse button and waiting two seconds draws a red circle with a purple square. Moving the cursor then produces more squares along the track:

Some 15 attempts later to draw circles on the screen:

I don't see this being workable unfortunately.
Any ideas on how to increase the GUI's responsiveness?

do you right-click then hover and draw? you cannot right-click then drag to draw. we cannot reproduce this error. also drawing will be slow if you have a really large image and a slow CPU

do you right-click then hover and draw? you cannot right-click then drag to draw. we cannot reproduce this error. also drawing will be slow if you have a really large image and a slow CPU

Right-click, then moving the cursor. - The image is 5000x5000 pixels, the CPU sufficiently fast.
Screencast
I've noticed that zooming in and out is very smooth, but drawing the outlines seems to be very computing-intensive: surprisingly, a single CPU core is maxed out while cellpose is tracing the mouse movement.

I have the same problem with an M1 mac with GPU.
I installed Cellpose as below and the GPU seemed to work.
https://forum.image.sc/t/cellpose-on-macos-m1-pro-apple-silicon-arm64/68018/17
Right-clicking and then moving a mouse leads to purple dotted tracks (as in christianrickert's picture) and I cannot correct masks. The first mask after right-clicking might be working, though I am not sure (the track looks closed, but disappears?). After that the track becomes dotted. I cannot find the way I quit drawing tracks. Esc key doesn't work.
The image size is 4000x3000 pixels. Any help?


Dependency update and replace libphonenumber with libphonenumber-android

libphonenumber-android is faster compared to libphonenumber and is optimised for use in Android

Thanks for your contribution :)


Logo change?

Why did we change the logo for Podsheets?

I had it changed on the branch I was working early on. You want it reverted back to the original?

Yea I like the original logo.
On Fri, Jul 19, 2019 at 1:11 PM Mo<EMAIL_ADDRESS>wrote:

I had it changed on the branch I was working early on. You want it
reverted back to the original?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/crablar/podsheets/issues/28?email_source=notifications&email_token=AAJZIEVCYYONS5FCMHLW55TQAINWRA5CNFSM4IFLOS3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2MURQQ#issuecomment-513362114,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJZIEXC6CAZSZPENQGY6VLQAINWRANCNFSM4IFLOS3A
.

--
Thanks,
Jeff Meyerson
Host of Software Engineering Daily
http://www.softwareengineeringdaily.com/
@the_prion on Twitter
512-217-0273

https://github.com/crablar/podsheets/pull/34


Fixed empty homebrew list when using VitaDB option

Error 403 appeared when trying to download JSON from VitaDB.
This is fixed by adding "User-Agent: Other" header to HTTP client.

These changes fix only the issue with homebrew list load, game download is still broken.


Disposing Scoped Container Disposes Shared Singletons

Scoped containers get singletons from the main container. So, if you dispose, you will also dispose the singletons. Fix coming for this in V1 soon.

In V1, scoped containers don't inherit singletons from the main container by default so they won't dispose


user_search error

HTTP500 returned when searching for HUM ldap members (e.g. when specifying other researchers) Specifically fails on page2 part of the request.
Find out if there was a change in the ldap that causes this.

Caused by certificate change on LDAP server. Resolved by restarting the VM.


Can you tell me which version of torch you used? ?

Can you tell me which version of torch you used? ?

The results are produced by Pytorch=0.2.0


Full screen map visualisation

This is now an issue

Please update the public view to include a full screen map based visualisation, per the wireframes attached.
SSEMMI Wireframes.pdf


Organization Page - Show X / Y numbers when displaying a subset of orgs

Overview
Currently we show total number of orgs in parentheses. We want to show that only when displaying all results.
Action Items
When displaying the Index Contributors filter or when displaying search results, we should show the number of results and the total number, such as Code for Africa (2/75). See Figma for detailed design.
Resources/Instructions
https://www.figma.com/file/EFoSuj1b9G4aZ7bN8OX8tf/CivicTechIndex---Master-Design-File?node-id=12086%3A64245

This was fixed by Bruce's PR

@baagundi is this closed?

@bruceplai can you please confirm that your PR was merged?

I am still working on this issue. Actually I am unable to get the first count of the child, Everytime the filtering is done, the length assigns to the filtered results length either when index contributor is checked or for search.

Refactoring the code as per review , since the total child count keeps changing in the current code base

@bruceplai please let us know if you can review the PR otherwise we can ask someone else to review it


CVE Score re-evaluation request

Hi @christophetd ,
While reviewing the CVE score of GHSA-78m5-jpmf-ch7v, I noticed the Attack complexity is set to High (AC:H), but the attacker could reliably perform the attack by hosting a crafted malicious tarball and knowing that there are no special requirements like knowing a user ID or something the attack is dependant on, I believe the Attack complexity should be Low in here.
According to GitLab CVSS Calculator (e.g)

AC:L Attacker can exploit the vulnerability at any time, always.

More, the Integrity metric which measures the consequence of data modification by an unauthorized user is set to Low. However, the attack is an Arbitrary file write which could overwrite any victim's file.
I suggest the following CVSS CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L .
Could you please consider re-evaluating the CVE score of the vulnerability?
I am really interested in your feedback.
Regards,
@Sim4n6

Indeed, I see now for AT:H.
How about the integrity metric, please?
No fame-related stuff in here, after submitting the same vulnerability for multiple maintainers they set the severity to High. Maybe the conditions are a bit different here. But CVSS scoring was set to High.
Could you please consider the score re-evaluation? and trust me no fame related thinking involved.

the attacker needs to have the victim actively download a malicious package.

User Interaction is already set to required.
Your feedback is much important @christophetd


[Skeleton] Allow children to influence height

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡
I am new to the Skeleton component, and like that it accepts width and height props. However it is surprising that it both a) renders children and b) doesn't let them influence the height.
There's a nice workaround for Typography, but if you're swapping an avatar, or something in material-ui with an initial size (icon buttons, avatars, checkboxes, etc), you'll have to figure out their height ahead of time and use the values there. Similarly, if you know your width or height ahead of time, you have to put them in both places.

Examples 🌈
https://codesandbox.io/s/material-demo-mc67n?file=/demo.tsx
Motivation 🔦
In the example above, all I am doing is adding height=auto to Skeleton and adding a new child with visiblity: hidden. Note how on the left, things stop lining up. While on the right, things line up perfectly (without having to find the initial height of material-ui's internal components).

@mikew What do you think of warning when the children prop is used with the Skeleton? Do you have a specific use case for providing a children?

What do you think of warning when the children prop is used with the Skeleton?

I'm suggesting going the opposite route, letting children influence the height of a Skeleton.

Do you have a specific use case for providing a children

That's what I was trying to explain above: if a developer intends to swap out an Skeleton with an Avatar, they will need to know the height of Avatar ahead of time, and if material-ui changes its spacing, will need to keep it updated.
The demo was supposed to show that without setting the height of a Skeleton that will be swapped out with a component from material-ui which has an implied height, things won't line up very well. Where as on the right, things line up.
This is more feedback than anything. I am new to the Skeleton component and was mostly wondering if this was intentionally avoided, as it seems like good functionality. With the current Skeleton, users can still build this functionality if they want. Plus, I solved my issue that sent me down this path in a different manor (trying to get a Skeleton to match the height of Typography).

they will need to know the height of Avatar ahead of time

@mikew Thanks, this is very clear. I have tried to POC a bit with a solution to the problem. A few observations:

it seems to work well with the typography, the only missing part is a .MuiSkeleton > * { visibility: hidden; } CSS rule.
we could remove the height CSS prop and add [max-width: fit-content]https://caniuse.com/#feat=intrinsic-width if a children is provided.

What do you think? Would it be enough? Do you want to work on a pull request?

Yep those work really well. I'll get to work on a PR.


add analysis scope #638

closes #638

add analysis scope
add relations:

study covers some analysis scope
scenario is about some analysis scope
analysis scope is about study region

We don't have  class horizon yet. I commented in #474.
Regarding sector: Relating analysis scope to sector or sector divison, or both? I'll have to move the respective class to oeo-shared. Any objections or better ideas?

I would relate the analysis scope to some sectors. A scenario study analyses some sectors, e.g. the evolution of energy consumption or CO2 emissions in these sectors. But it usually does not analyse the sector divisions themselves.

I agree. analysis scope should be connected to sector. The connection to sector division is then realized by axioms like KSG sector energy industry is defined by KSG sector division.


Bug: issues with reordering of footnotes

Describe the Bug
When using Linter to re-index and consolidate footnotes at the end of a document, I commonly see the consolidated footnotes listed out of order and associated with the incorrect label. This occurs when inserting new footnotes between existing ones. See repro steps.
How to Reproduce
Create a file containing the following.
This simulates creating references to A and B in order, with corresponding footnotes consolidated at the end of the note, then inserting reference C between them.
reference A [^1]

reference C [^2]
[^2]: footnote C (inserted between A and B)

reference B [^3]

[^1]: footnote A (first in document)
[^2]: footnote B (last in document)

When linted this results in the following. Note that C is listed first, and all references are incorrect:
reference A [^1]

reference C [^2]
reference B [^3]

[^1]: footnote C (inserted between A and B)
[^2]: footnote A (first in document)
[^3]: footnote B (last in document)

Rules are attached: data.json.zip
Software, plugins, and theme (shimmering focus) are current (version and installer 0.15.8).
Expected Behavior
Footnotes should be listed in correct order with corresponding references.
Expected output if applicable:
reference A [^1]

reference C [^2]
reference B [^3]

[^1]: footnote A (first in document)
[^2]: footnote C (inserted between A and B)
[^3]: footnote B (last in document)

Screenshots

Device

[X] Desktop
[ ] Mobile

Additional Context
N/A

Thanks for reporting this. This definitely seems odd. Hopefully it will not be too odd when it comes to how this is being caused in the code.

@olearydj, to make sure I understand what the issue is, you are saying that the footnotes should be positioned based on the order found in the document not based on the footnote character (i.e. [^1] not based on the 1), right?
If that is the case, the above reproducible example is slightly incorrect in that it assumes the linter will correct the double usage of footnote characters (i.e there are two instances of references to [^1] with different values). The linter can be responsible for correct ordering based on position in the file, but adding automatic ordering would be a feature request from my understanding.

Do you mind adding a little explanation on why a duplicate footnote reference would actually result in the correct order for footnotes at the end of the file?

Here are a couple ideas that I have had for how to properly create the footer order at the end of the file when footer references are missing:

First match those that have references

If more than 1 matches a reference, then determine position in ending list based on the character index of the first footnote reference prior to the footnote contents that has not already been used by another footnote

If a footnote is missing a reference

Use the order of the character index where the footnote is pulled from to determine where it falls in comparison with the other footnotes
If there are both unmatched footnote references and unmatched footnotes, match them based on the order they show up in the document (earliest instance with earliest instance)

The above methods can be quite unreliable and inaccurate if the assumptions that the orders of unmatched footnote references and unmatched footnotes is incorrect.
Do the two methods listed above for missing footnote reference matches make sense? And do you have a preference on which to use first or if I should not use one?

If we do not want to try to fix orphaned references, I believe I have a fix for this.

Yeah, I see this is tricky. I was imagining that the combination of re-index and consolidate options would be smart enough to deal with insertion "automagically," but did not consider that inserting a reference requires you to reconcile the duplicated numbering it creates.
I believe that the methods you described make sense. I'm not sure I can answer re: preferences because it is hard for me to imagine how they might interact.
If I'm overlooking the "right way" to use this functionality I'm happy to call it user error if you prefer. Otherwise, I'll test and feedback on any adjustments made.
Thank you.

Thanks for the feedback. If by saying you expect that re-index and consolidate being able to properly deal with the following scenario, then I have a fix that should work:
reference A [^1]

reference C [^2]
[^2]: footnote C (inserted between A and B)

reference B [^2]

[^1]: footnote A (first in document)
[^2]: footnote B (last in document)

becomes the following after moving to the end of the document:
reference A [^1]

reference C [^2]
reference B [^2]

[^1]: footnote A (first in document)
[^2]: footnote C (inserted between A and B)
[^2]: footnote B (last in document)

Then it should become the following after the re-index:
reference A [^1]

reference C [^2]
reference B [^3]

[^1]: footnote A (first in document)
[^2]: footnote C (inserted between A and B)
[^3]: footnote B (last in document)

Is this what you were looking for @olearydj ?

If you would like to check the latest release and see if it address what you were looking for with this bug report, that would be great! It should now handle the scenario I listed above, but it still cannot and will error out on missing footnote references.

I haven't had the opportunity to rigorously test it but this seems to be mostly fixed.
I did notice yesterday that, if I concatenate two MD docs, both with sequentially numbered refs and footnotes at the end of the document, and lint the result, the numbering doesn't change. I'm going to add this as a comment now and come back to provide additional details next week, after I finish my PhD proposal.

Hey @olearydj , I am not sure if you have noticed any of the issues that you had mentioned potentially seeing. If you did, please let us know. Otherwise, I plan to close this issue out at the end of next week if I do not hear a response back by then.

I have not heard back on this, so I am going to close it. If the issues still exist please let us know.


AC: add 3d human pose estimation accuracy checking

Jenkins please retry a build

Jenkins ok to test

There are some warings, will fix it.

@Daniil-Osokin , after end transition model from intel to public, please do not forget update path in the AC config.

Thanks, updated.

@vladimir-dudnik Can this be merged?

@Daniil-Osokin, only after #485 , otherway this PR merge breaks validation system

You have a merge conflict; please rebase.

Ok, I've already rebased. Need to wait merge #485 before.

@Daniil-Osokin, I agree to merge this PR right now, but only if you move AC config and changes in definitions in PR where model will be added in OMZ (#485)

Thanks for the update! I'm ok to rebase it later, after #485. Just don't want to update it every time it has conflicts :).

Jenkins please retry a build

@eaidova Don't know how to fix this properly:
20:56:47  accuracy_checker/serialize_parameters.py:24: in <module> 20:56:47      from .annotation_converters import * 20:56:47  E   AttributeError: module 'accuracy_checker.annotation_converters' has no attribute 'CmuPanopticKeypointsConverterActionRecognitionConverter'
In this branch as a separate commit?

Jenkins please retry a build

@Daniil-Osokin please rebase to the latest state
Conflicting files
tools/accuracy_checker/dataset_definitions.

Ok, but please, merge before #508, #485.

@eaidova Thank you for the update!


Improve support for common Foundation macros

Previously code like the following would break this grammar:
- (void)sceneWillDeactivate:(NSNotification *)notification API_AVAILABLE(ios(13.0)) {
  ...
}

Since the API_AVAILABLE( would be treated actually as a return type
instead of a macro/function call. This was fixed with a lookbehind
assertion for the return-type tokens.
In addition, I've tried to improve support for common macros that can
contain arguments (supporting C constructs as parameters, Xcode
does something similar as well), but not sure how properly this works,
especially inside of VS Code. @jeff-hykin Do you think you can take this over and finish it up? I can't tell if VS Code has weird behavior with $base or if I'm doing things wrong... Ideally we would accept C constructs inside of the macro (as macro arguments), but not sure the best way to do that here and for ObjC++.

Friendly ping

@jeff-hykin Do you think you can mirror this to the objcpp grammar as well?


Improve Introduction to C#

Improvement to Introduction
Some introduction missing in Introduction.md
Expected Behaviour
C# (pronounced "See Sharp") is a modern,general purpose, object-oriented programming language
The C# programming language allows you to build many types of applications, like:
Student Ambassador

@curriee11 Good feedback. We have some new requirements (restrictions?) with introductions so will be updating them all I think,  I will add a backlog item for the content owner.  Thanks


Restruct 52 open

PR types

New features
PR changes

Others
Description

5.2

 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.wufeisheng seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Permissions are not clear

You have an example about running an rbac script but it doesn't really explain what is happening and I can't deploy a volume to AKS, which I suspect is a permission issue. I have made the deployment user an AKS cluster admin and have run the script mentioned above but the storage is not created and the deployment job times out. It works fine if I do not include the volume.
Does the rbac script above use built-in names or might I have to change it to work with my deployment and the names I am using?

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

ID: a57e48b4-dc33-0b9d-b773-42ce7d2bffd0
Version Independent ID: e912ac2d-cf6a-0b54-4697-1940b1270874
Content: Dynamically create a Files volume for multiple pods in Azure Kubernetes Service (AKS)
Content Source: articles/aks/azure-files-dynamic-pv.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

Thanks for the feedback! We are currently investigating and will update you shortly.

@lukos I ran through the document on a new cluster and did not hit any issues.
I started with the AKS quickstart guide to get a new AKS cluster.
https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough
After that, I ran through this entire document and was able to create the disk. Here are my inputs/ outputs:
mimckitt@Azure:~$ az group create --name myResourceGroup --location eastus
{
  "id": "/subscriptions/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX/resourceGroups/myResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

mimckitt@Azure:~$ az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys
The behavior of this command has been altered by the following extension: aks-preview
 - Running ..
 - Running ..
 - Running ..
 - Running ..
{
  "aadProfile": null,
  "addonProfiles": {
    "omsagent": {
      "config": {
        "logAnalyticsWorkspaceResourceID": "/subscriptions/XXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-XXXXXXX-XXXX-XXXX-XXXX-99594b03fe66-eus"
      },
      "enabled": true
    }
  },
  "agentPoolProfiles": [
    {
      "availabilityZones": null,
      "count": 1,
      "enableAutoScaling": null,
      "enableNodePublicIp": null,
      "maxCount": null,
      "maxPods": 110,
      "minCount": null,
      "name": "nodepool1",
      "nodeTaints": null,
      "orchestratorVersion": "1.13.10",
      "osDiskSizeGb": 100,
      "osType": "Linux",
      "provisioningState": "Succeeded",
      "scaleSetEvictionPolicy": null,
      "scaleSetPriority": null,
      "type": "AvailabilitySet",
      "vmSize": "Standard_DS2_v2",
      "vnetSubnetId": null
    }
  ],
  "apiServerAccessProfile": null,
  "dnsPrefix": "myAKSClust-myResourceGroup-f919aa",
  "enablePodSecurityPolicy": false,
  "enableRbac": true,
  "fqdn": "myaksclust-myresourcegroup-XXXXXX-XXXXXXXX.hcp.eastus.azmk8s.io",
  "id": "/subscriptions/XXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
  "identity": null,
  "kubernetesVersion": "1.13.10",
  "linuxProfile": {
    "adminUsername": "azureuser",
    "ssh": {
      "publicKeys": [
        {
          "keyData": "ssh-rsa XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        }
      ]
    }
  },
  "location": "eastus",
  "maxAgentPools": 1,
  "name": "myAKSCluster",
  "networkProfile": {
    "dnsServiceIp": "<IP_ADDRESS>",
    "dockerBridgeCidr": "<IP_ADDRESS>/16",
    "loadBalancerProfile": null,
    "loadBalancerSku": "Basic",
    "networkPlugin": "kubenet",
    "networkPolicy": null,
    "podCidr": "<IP_ADDRESS>/16",
    "serviceCidr": "<IP_ADDRESS>/16"
  },
  "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_eastus",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "servicePrincipalProfile": {
    "clientId": "XXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX",
    "secret": null
  },
  "tags": null,
  "type": "Microsoft.ContainerService/ManagedClusters",
  "windowsProfile": null
}

mimckitt@Azure:~$ az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Merged "myAKSCluster" as current context in /home/mimckitt/.kube/config

mimckitt@Azure:~$ kubectl get nodes
NAME                       STATUS   ROLES   AGE     VERSION
aks-nodepool1-38541020-0   Ready    agent   2m47s   v1.13.10
mimckitt@Azure:~$ kubectl apply -f azure-vote.yaml
deployment.apps/azure-vote-back created
service/azure-vote-back created
deployment.apps/azure-vote-front created
service/azure-vote-front created

^Cmimckitt@Azure:~$ kubectl get service azure-vote-front --watch
NAME               TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE
azure-vote-front   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   80:32131/TCP   5m5s

mimckitt@Azure:~$ nano
mimckitt@Azure:~$ kubectl apply -f azure-file-sc.yaml
storageclass.storage.k8s.io/azurefile created

mimckitt@Azure:~$ nano
mimckitt@Azure:~$ kubectl apply -f azure-pvc-roles.yaml
clusterrole.rbac.authorization.k8s.io/system:azure-cloud-provider created
clusterrolebinding.rbac.authorization.k8s.io/system:azure-cloud-provider created

mimckitt@Azure:~$ nano
mimckitt@Azure:~$ kubectl apply -f azure-file-pvc.yaml
persistentvolumeclaim/azurefile created

mimckitt@Azure:~$ kubectl get pvc azurefile
NAME        STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
azurefile   Bound    pvc-a288b002-e474-11e9-879b-2ae9e20d8556   5Gi        RWX            azurefile      2m3s

mimckitt@Azure:~$ nano
mimckitt@Azure:~$ kubectl apply -f azure-pvc-files.yaml
pod/mypod created

mimckitt@Azure:~$ kubectl describe pod mypod
Name:         mypod
Namespace:    default
Priority:     0
Node:         aks-nodepool1-38541020-0/<IP_ADDRESS>
Start Time:   Tue, 01 Oct 2019 17:57:49 +0000
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"v1","kind":"Pod","metadata":{"annotations":{},"name":"mypod","namespace":"default"},"spec":{"containers":[{"image":"nginx:1...
Status:       Running
IP:           <IP_ADDRESS>
IPs:          <none>
Containers:
  mypod:
    Container ID:   docker://b44648810facf34a912f32d871f42d6119f22c41a3878399bf11001d2b1e2214
    Image:          nginx:1.15.5
    Image ID:       docker-pullable://nginx@sha256:b73f527d86e3461fd652f62cf47e7b375196063bbbd503e853af5be16597cb2e
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Tue, 01 Oct 2019 17:57:57 +0000
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     250m
      memory:  256Mi
    Requests:
      cpu:        100m
      memory:     128Mi
    Environment:  <none>
    Mounts:
      /mnt/azure from volume (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-9874b (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  volume:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  azurefile
    ReadOnly:   false
  default-token-9874b:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-9874b
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age    From                               Message
  ----    ------     ----   ----                               -------
  Normal  Scheduled  2m31s  default-scheduler                  Successfully assigned default/mypod to aks-nodepool1-38541020-0
  Normal  Pulling    2m30s  kubelet, aks-nodepool1-38541020-0  pulling image "nginx:1.15.5"
  Normal  Pulled     2m27s  kubelet, aks-nodepool1-38541020-0  Successfully pulled image "nginx:1.15.5"
  Normal  Created    2m24s  kubelet, aks-nodepool1-38541020-0  Created container
  Normal  Started    2m23s  kubelet, aks-nodepool1-38541020-0  Started container

It's not that I think the article doesn't work but when I am attempting to create storage using a PVC, it just seems to hang. I have extracted the deployment yaml from Octopus deploy and am running locally so it should be fine since I have admin permissions on the cluster.
I will read through what you did and see if I can spot something that is wrong.

OK, the original problem was that some of the content in my storage class and claim was invalid, which was partly because the articles on Azure are not completely clear about the distinction between files and disks and what modes are supported. I think it would be better to have a single page with comments about the differences since they are largely the same...anyway
The other issue is that the deployment silently fails if the disk can't provision. I eventually found that calling kubectl describe pvc shows the details of the provisioning, which pointed me to what I had got wrong in my sc and pvc although now I have fixed those, it is still failing to provision storage with the following error (not sure if this is AKS or K8S related):
Time:2019-10-02T09:35:46.8320925Z, RequestInitiated=Wed, 02 Oct 2019 09:35:46 GMT, RequestId=f883e456-e01a-0068-0f04-795370000000, API Version=2016-05-31, QueryParameterName=, QueryParameterValue=
  Warning  ProvisioningFailed  61s  persistentvolume-controller  Failed to provision volume with StorageClass "managed-premium-shared-retain": failed to create share kubernetes-dynamic-pvc-be825c9e-e4f7-11e9-9e4b-46da0f26f479 in account fbe8e5edae4f711e9b494ae: failed to create file share, err: storage: service returned error: StatusCode=400, ErrorCode=InvalidHeaderValue, ErrorMessage=The value for one of the HTTP headers is not in the correct format.
RequestId:f883e48c-e01a-0068-1a04-795370000000

The content of the storage class is like this:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: managed-premium-shared-retain
  labels:
    release: "production"
provisioner: kubernetes.io/azure-file
mountOptions:
  - dir_mode=0777
  - file_mode=0777
  - uid=1000
  - gid=1000
  - mfsymlinks
  - nobrl
  - cache=none
reclaimPolicy: Retain
allowVolumeExpansion: true
parameters:
  skuName: Premium_LRS

OK. I found the final problem here: https://github.com/Azure/AKS/issues/1114 apparently, you need to create a minimum of 100GB of premium storage otherwise you get the weird error!


No valid exports main found for merge-anything

Environment
System:

OS: macOS 10.15.1
CPU: (4) x64 Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
Memory: 5.57 GB / 24.00 GB
Shell: 5.7.1 - /bin/zsh

Binaries:

Node: 13.2.0 - /usr/local/opt/node/bin/node
Yarn: 1.19.2 - /usr/local/bin/yarn
npm: 6.11.3 - /usr/local/opt/node@10/bin/npm

Reproduction
An issue from back 2016 has been re-surfaced with Node 13. The issue is caused by merge-anything dependency with the following error:
Error: No valid exports main found for './node_modules/merge-anything'

Unfortunately, I can't seem to reproduce the issue without using Next.js. So it is possible that the issue is caused by their Babel or Webpack configuration. But I thought to post this bug here to see if someone here have any workaround.
The related issue in Next.js
Steps to reproduce
TBC
Expected Behavior
Actual Behavior

Try blowing away your node modules, it’s definitely fine.
On Mon, Dec 2, 2019 at 9:49 PM Baqer Mamouri<EMAIL_ADDRESS>wrote:

Environment System:

OS: macOS 10.15.1
CPU: (4) x64 Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
Memory: 5.57 GB / 24.00 GB
Shell: 5.7.1 - /bin/zsh

Binaries:

Node: 13.2.0 - /usr/local/opt/node/bin/node
Yarn: 1.19.2 - /usr/local/bin/yarn
npm: 6.11.3 - /usr/local/opt/node@10/bin/npm

Reproduction
An issue
https://github.com/styled-components/styled-components/issues/115 from
back 2016 has been re-surfaced with Node 13. The issue is caused by
merge-anything dependency with the following error:
Error: No valid exports main found for './node_modules/merge-anything'
Unfortunately, I can't seem to reproduce the issue without using Next.js.
So it is possible that the issue is caused by their Babel or Webpack
configuration. But I thought to post this bug here to see if someone here
have any workaround.
The related issue in Next.js https://github.com/zeit/next.js/issues/9582
Steps to reproduce
TBC
Expected Behavior Actual Behavior
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/styled-components/styled-components/issues/2907?email_source=notifications&email_token=AAELFVS3NV2F5KVOE2J6NR3QWXCNDA5CNFSM4JUQ4XW2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H5QXVPQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAELFVS2ZVW666WVR7BIO7TQWXCNDANCNFSM4JUQ4XWQ
.

I've tried that several times @probablyup. Unfortunately, I still get the same error!

It must be something to do with your build system then... it definitely
works fine. Make sure you’re on an updated version etc
On Mon, Dec 2, 2019 at 10:03 PM Baqer Mamouri<EMAIL_ADDRESS>wrote:

I've tried that several times @probablyup https://github.com/probablyup.
Unfortunately, I still get the same error!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/styled-components/styled-components/issues/2907?email_source=notifications&email_token=AAELFVQJ43ECQLYMF6EILG3QWXD7NA5CNFSM4JUQ4XW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFX5K3Y#issuecomment-560977263,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAELFVRRPK2WQLANUD6CS5LQWXD7NANCNFSM4JUQ4XWQ
.

@bmamouri look here https://github.com/mesqueeb/merge-anything/issues/2
Actually the  more simple thing you can do is to upgrade styled-components to the next version
yarn add styled-component@beta

Closing since it's a downstream issue


Changed GIF size

Description 📜
Changing the size of GIFs used in Readme.md File
Fixes #1470

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Frontend Dev HTML/CSS/JS

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

@Knighthawk-Leo Sir, please review these changes.


Move away from glog logger

glog is overly verbose and always prints a timestamp. The logger should detect if it runs under journald and not log the timestamp in that case.

@jonboulle we are using github.com/coreos/pkg/capnslog everywhere else, right?

@philips not everywhere yet but  that is the idea

@mischief pointed out that we are using https://godoc.org/github.com/Sirupsen/logrus in recent projects.

Glog is still widely used elsewhere (e.g. in kubernetes) so I don't see a compelling need to move away from it. Given that this issue has been open for >18 months without much interest I think it can be closed.
If people have strong feelings about moving away from glog then please write here and I can reopen the issue.


fixed nonce and transaction receipt

Description
After running a number of load tests I found a number of issues that is fixed in this PR
related to #68 #18
Issues fixed

If a nonce gets skipped from chain perspective then all the nonces after that are in wait state in transaction pool on chain and never gets included in a block. This is fixed by modifying the way we are handling nonces and came of with a self-healing process that will always reset back the nonce in case this situation happens
The transaction receipt was using the an incorrect event to check for success
The transaction receipt retries was not working as expected

Verification video
https://github.com/AmplicaLabs/content-publishing-service/assets/9152501/b71d2123-c03b-42d5-b8c2-9036a8c3241c

Few comments overall looks cool


Added slides and extra code in comments

Added security best practices slides.
Added simple locking code in comments.
Added try/catch code in comments to answer Moritz's question if this would catch the panic. You can run this and notice it doesn't catch the panic as it only catches issues related to inter canister calls (async contexts). Try/catch docs on internetcomputer.org

Thank you! The lecture was a great addition


[Docs] Add instructions for golangci-lint

Current State:
CONTRIBUTING.md does not specify requiring golangci-lint to be installed separately. It just mentions the make golangci-run command to be run.
MacOS and Linux users have to install the tool separately prior to running the command.
Desired State:
Add golangci-lint as a prerequisite for testing Go code, in the docs(CONTRIBUTING.md).

Contributor Resources

Meshery documentation site
Meshery documentation source
Instructions for contributing to documentation

Thanks for getting this filed, @metonymic-smokey

I would like to take up this issue.

Sounds great, @sakshi3537 👍

Hey @sakshi3537 any update over this?

Hey @sakshi3537 any update over this?

Actually I got busy somewhere and didn't do it yet, but I will complete it in 2-3 days.

I think the PR for this was merged right @sakshi3537 ?
Next time, just mention the issue number according to the PR template, makes it easier to keep track :)

@metonymic-smokey Yes it has been merged. and yeah I will keep it in mind for the next time.

@leecalcote this issue can be closed.


Mouse scroll is not working on this swiper

<swiper ref="mySwiper" class="swiper" :options="swiperOption"> </swiper>

data() {
    return {
      swiperOption: {
        direction: "vertical",
        slidesPerView: 1,
        mousewheel: true
      }
    };
  },

I set as this but when I scroll mouse on this Swiper, scroll is working only once and stop working
Can you update me with this?
Thank you

Can you reproduce this problem on platforms like jsfiddle ?

Thank you for your fast response.

https://github.surmon.me/vue-awesome-swiper/
First of all. in this element, I cannot scroll down with once...
Sometimes, I cannot go through to next element with one scroll - trying few more times to do that
I am uploading my site to live so I can show you more clearly at that time
Hope you to solve this issue
Thanks again

https://co-create-ambassador.netlify.app/ambassador
This is the link of live site and you can check challenge swiper and it's not working well with mouse scroll..
I can only scroll down once and cannot do that after one time
Thank you

@AceBerry924 Page Not Found.

https://co-create-ambassador.netlify.app/
Go to this link and

Click this button then you will see swiper

My test results are normal, there is no reproducible problem of sliding only once.

Oh, that's weird...

@surmon-china
https://drive.google.com/open?id=1MnSZCRer0ofh1hlpHvfb-WoT7XIdWtYE
This is the video on my side
I cannot scroll down with one mouse scroll, you can see swiper is stuck when I scroll down...
What will be the issue?

<swiper ref="mySwiper" class="swiper" :options="swiperOption"> </swiper>

data() {
    return {
      swiperOption: {
        direction: "vertical",
        slidesPerView: 1,
        mousewheel: true
      }
    };
  },

I set as this but when I scroll mouse on this Swiper, scroll is working only once and stop working
Can you update me with this?
Thank you

i also have this problem

Yep same issue, look at my post, and temporary fix
https://github.com/surmon-china/vue-awesome-swiper/issues/647#issuecomment-630188174

Has this problem been solved?

I solved the problem this way
import Vue from 'vue'
// Swiper 6.x
import {Swiper as SwiperClass, Mousewheel} from 'swiper/core';
import getAwesomeSwiper from 'vue-awesome-swiper/dist/exporter';
import 'swiper/swiper-bundle.css';

// Swiper modules
SwiperClass.use([Mousewheel]);
// Global use
Vue.use (getAwesomeSwiper(SwiperClass));

swiper version
    "swiper": "^6.4.1",
    "vue-awesome-swiper": "^4.1.1",


fix: Update npm outdated packages and audit fixes

Description:
This PR updates all npm oudated packages and audit fixes. Majority of the changes are due to the default prettier rule for brackets around single arguments passed to function. This PR also fixed a few Component governance libs marked as vulnerable
Some Component governance High vulnerable libs could not be updated because of no support for selective resolutions without yarn.
Current High vulnerable Dependancies that could not be upgraded
<EMAIL_ADDRESS><EMAIL_ADDRESS>- Transitive dependency of latest lerna
<EMAIL_ADDRESS>- This can be ignored as lodash creator does not intend on fixing this for now
<EMAIL_ADDRESS>- Cannot be updated as latest webpack references a vulnerable version of it as a transitive dependency

Coverage increased (+22.4%) to 90.371% when pulling 49a8f4415348e5026b607353f3e9fd4e8e7d70ff on srravich/component-governance into a5be79615b566f1936f997d1c322212c9ae8689e on master.


Feature Group in workspace: Feature List View is missing

Feature List View option in the green action bar is needed for feature group

This is critical oversite.
From the workspoace feature group list, there is no link to the feature group overview page. It needs to be added in the toolbar.
When I double click on a feature group, it takes to the list of members, the old page that was implemented in the production workspace. Instead it should go to feature list overview page!
We need similar action when multiple feature groups are selected.
-Maulik

Fixed and made a pull request


vkQuake 1.20.0 shader does not compile

See issue here: https://github.com/Novum/vkQuake/issues/491
Compiler reports
[mvk-error] VK_ERROR_INITIALIZATION_FAILED: Shader library compile failed (Error code 3):
program_source:106:16: error: use of undeclared identifier '_349'; did you mean '_363'?
        _363 = _349;
               ^~~~
               _363
program_source:45:12: note: '_363' declared here
    float4 _363;
           ^

The shader is validation error free and I believe correct.

This is a SPIRV-Cross bug.

Thanks, I'll check if I can reproduce it with the standalone, that makes it easier!


[wip] nix: local fuzzy searching of nixpkgs

This is an experimental change that implements Nix package fuzzy search directly in devbox. It currently supports the following features:

Searching a specific commit hash of nixpkgs.
Indexing and caching of available packages. After the first search, subsequent searches take around ~400ms.
Only shows packages that successfully evaluate on the user's system. Packages that aren't supported by the user's OS or architecture don't show up.

This is an early iteration and there are still some improvements to be made. Namely:

Ask Nix for each derivation's hash so we can group results better (e.g., python3 and python310 should be grouped).
Cache the Go index structures instead of just the Nix JSON for faster search time.
Perform indexing in the background. If packages for the current nixpkgs commit aren't indexed yet, use the index from the closest commit. This will ensure results are always fast, although less accurate on the first run.
There's all sorts of tweaks we can try with the fuzzy matching to improve search results and speed.
Documentation and benchmarks.

Example
These are the search results for python in nixpkgs commit 017fd895276dc0e45e9a596b1aa1ad199bfc7c4d:
AttrPath = python310:
Name     = python3-3.10.8
Pname    = python3
Version  = 3.10.8
Tokens   = [python 310]

AttrPath = python3:
Name     = python3-3.10.8
Pname    = python3
Version  = 3.10.8
Tokens   = [python 3]

AttrPath = python310Full:
Name     = python3-3.10.8
Pname    = python3
Version  = 3.10.8
Tokens   = [python 310 Full]

AttrPath = python37:
Name     = python3-3.7.15
Pname    = python3
Version  = 3.7.15
Tokens   = [python 37]

AttrPath = python311:
Name     = python3-3.11.0
Pname    = python3
Version  = 3.11.0
Tokens   = [python 311]

AttrPath = python38:
Name     = python3-3.8.15
Pname    = python3
Version  = 3.8.15
Tokens   = [python 38]

AttrPath = python37Full:
Name     = python3-3.7.15
Pname    = python3
Version  = 3.7.15
Tokens   = [python 37 Full]

AttrPath = python38Full:
Name     = python3-3.8.15
Pname    = python3
Version  = 3.8.15
Tokens   = [python 38 Full]

AttrPath = python39:
Name     = python3-3.9.15
Pname    = python3
Version  = 3.9.15
Tokens   = [python 39]

AttrPath = python39Full:
Name     = python3-3.9.15
Pname    = python3
Version  = 3.9.15
Tokens   = [python 39 Full]

AttrPath = python3Full:
Name     = python3-3.10.8
Pname    = python3
Version  = 3.10.8
Tokens   = [python 3 Full]

AttrPath = python2:
Name     = python-2.7.18
Pname    = python
Version  = 2.7.18
Tokens   = [python 2]

AttrPath = python:
Name     = python-2.7.18
Pname    = python
Version  = 2.7.18
Tokens   = [python]

AttrPath = python27:
Name     = python-2.7.18
Pname    = python
Version  = 2.7.18
Tokens   = [python 27]

AttrPath = python2Full:
Name     = python-2.7.18
Pname    = python
Version  = 2.7.18
Tokens   = [python 2 Full]

AttrPath = python27Full:
Name     = python-2.7.18
Pname    = python
Version  = 2.7.18
Tokens   = [python 27 Full]

AttrPath = pythonFull:
Name     = python-2.7.18
Pname    = python
Version  = 2.7.18
Tokens   = [python Full]

AttrPath = pythia:
Name     = pythia-8.307
Pname    = pythia
Version  = 8.307
Tokens   = [pythia]

AttrPath = sourcehut.python:
Name     = python3-3.10.8
Pname    = python3
Version  = 3.10.8
Tokens   = [sourcehut python]

AttrPath = mod_python:
Name     = mod_python-3.5.0
Pname    = mod_python
Version  = 3.5.0
Tokens   = [mod python]

This was only a prototype, so I'm closing the PR out but keeping the branch around.


Add non-zero exit code for invalid JS

Fixes #82
This is on top of the previous PR for #83 -- however, I don't know how to make GitHub show only that delta for this PR.

Oops, I already merged https://github.com/jlongster/prettier/pull/86. Let's move the discussion to #83.

@jlongster what is the blessed way to identify if formatting took place?
run the formatter and then check git seems like a brute force approach.


PPS dynamic voltage support

Does this firmware support PPS with dynamic voltages, or can support for that be added?
A Google search for the chip component number (FUSB302BMPX) brought me to another repo that claims PPS would be supported by the chip, at least.
Looking at the source code of this firmware, II found code in pd_sink.cpp that looks like it could be supported:
        } else if (type == pd_supply_type::pps) {
            if ((capability & (3 << 28)) != 0)
                continue;

            max_current = (capability & 0x007f) * 50;
            min_voltage = ((capability >> 8) & 0x00ff) * 100;
            voltage = ((capability >> 17) & 0x00ff) * 100;
        }

but then, down below in the same file, there seems to be code that excludes all PPS modes when requesting voltage:
void pd_sink::request_power(int voltage, int max_current)
{
    // Lookup object position by voltage
    int obj_pos = -1;
    for (int i = 0; i < num_source_caps; i++) {
        auto cap = source_caps + i;
        if (cap->supply_type != pd_supply_type::pps && voltage <= cap->voltage && voltage >= cap->min_voltage) {
            obj_pos = cap->obj_pos;
            if (max_current == 0)
                max_current = source_caps[i].max_current;
        }
    }

    if (obj_pos == -1) {
        DEBUG_LOG("Unsupported voltage requested", 0);
        return; // no match
    }

Is PPS only partially implemented and is not going to work? Or is it supposed to work and I'm mis-reading the code?

PPS is not fully implemented. There probably isn't a lot that's missing. But I can't tell when I will find time implement and test it.

I've added support for PPS:

pd_sink::request_power(int, int) requests power from a matching fixed supply or PPS capability.
For special cases, pd_sink::request_power_from_capability(int, int, in) can request power from a specific capability.
If a PPS capability is active, it is automatically re-requested every 8s. This is required by the standard as the power supply will otherwise reset (after 10 - 20s).

With a ZY12PDN trigger board, the firmware behavior does not change. The single button switches between the fixed supply capabilities.
To use PPS capabilities, a modified user interface is needed. A single button is likely insufficient to select voltage and current from a PPS capability in 20mV and 50mA steps, respectively.

Oh, cool, didn't expect this to be implemented so fast. Thanks!
I'm going to try to flash that to the module and see if it works.

There is now a wiki page with simple example for modifying the firmware.


Set up GitHub Actions to automate CI/CD

https://github.com/cedx/setup-dart
https://www.bradcypert.com/dart-packages-with-github-actions/

Well, I guess Docker is still broken for Windows 👎
Container operations are only supported on Linux runners

Gonna try https://github.com/marketplace/actions/setup-dart-vm

Well, I guess Docker is still broken for Windows 👎
Container operations are only supported on Linux runners

Gonna try https://github.com/marketplace/actions/setup-dart-vm

Success! Builds now running for Windows on each major Dart release.

Success! Builds now running for Windows on each major Dart release.


Local repo

Does this support indexing local repositories?
The example config has a url key, but can I use, say path and set the value to a folder on my machine?

Use a file uri as the url, for example:
file:////home/kgodwin/Projects/dash

Aha! Thanks @kgodwin that works.

Ya, it is basically a git clone command so just use the same URL/SSH text you'd normally use.


db2 luw DML operation not work

from the trace log
i can see that dbeaver called the execute() return false!

cannot reproduce it for now.
If issue is still actual for you - feel free to reopen the ticket


Code reports errors in removed source files

On my OS X Yosemite machine running Code, I was adding/removing code in a solution.  One of the files I removed had a C# build error.  The interesting thing was the the error persisted in my Code session even after deleting the file (control - click - delete).  The error only went away once I closed the folder and reopened.

Not clear whether this is Omnisharp or the Code marker infrastructure. The fact that the error count drops to 0 indicates that the marker is properly removed when the file is deleted.

Since the error counts drops to zero I suspect this being a problem in OmniSharp land

Omnisharp doesn't really support delete...

This issue was moved to OmniSharp/omnisharp-vscode#87


Error in Installation

Failed to fetch packages from: http://jenkins.terasology.org/job/Terasology/api/json?tree=builds[actions[causes[upstreamBuild]]{0},number,result,artifacts[fileName,relativePath],url,changeSet[items[msg]]],upstreamProjects[name]
and
Exception in thread "JavaFX Application Thread" java.lang.IndexOutOfBoundsEx
ception: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at com.sun.javafx.collections.ObservableListWrapper.get(ObservableLi
stWrapper.java:89)
and
Initial heap size cannot be greater than max heap size
Host
Manjaro Linux
launcher v4
java -version 13.x

Hi @rathod-sahaab, thank you for the report!
This is the combination of a bug and our infrastructure (Jenkins) not being available. Related to this post in the forum: https://forum.terasology.org/threads/terasology-dont-starting.2312/#post-16582
We need to safeguard against the NPE for sure, but also fetching game releases from GitHub would also help a lot.
We already check for new launcher version via Github API (see #195)...


LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20240415154236578 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20240415154236578 to main with localized lcls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.005%) to 41.734%

Files with Coverage Reduction
New Missed Lines
%

extensions/sql-database-projects/src/common/httpClient.ts
1
66.18%

extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts
2
52.03%

Totals

Change from base Build<PHONE_NUMBER>:
-0.005%

Covered Lines:
30718

Relevant Lines:
68888

💛  - Coveralls


[WIP] Relax the version pins again

This is a test to see if removing the version pin on orjson breaks things (also testing the others added in #1794).

[X] I have added the tests to cover my changes.
[X] I have updated the documentation and CHANGELOG accordingly.
[X] I have read the CONTRIBUTING document.

@kessler-frost: Looks like this passed. I'm going to update the CHANGELOG. Feel free to propose any changes from here.

@kessler-frost: Thanks! I agree about the CHANGELOG category change. All fixed!


(vscode) - outdated; cannot update vscode.install due to missing vscode pkg of same version

Checklist

[X] I have checked the moderation queue that no new version has been submitted (only visible when logged in), or the submitted package version has failed the automated checks.

Please navigate to the following link to view the moderation queue.

[X] I have verified that the new version is a stable release.
[X] I have looked to see if there are any Bug reports that prevents a new version being submitted and that no existing Outdated Reports have been created.
[X] I have verified the new version has a Windows binary (EXE or MSI installer, Zip or other archive, etc).

New Software Version
1.74.1
Download location
https://az764295.vo.msecnd.net/stable/1ad8d514439d5077d2b0b7ee64d2ce82a9308e5a/VSCodeSetup-x64-1.74.1.exe
Package Page
https://community.chocolatey.org/packages/vscode

vscode.install package was updated to 1.74.1 and is available for install/upgrade.
But it cannot be upgraded due to no available/existing 1.74.1 version for the "vscode" virtual package.

Version 1.74.1 of the vscode package was submitted about 6 hours ago and is now approved about 4 hours ago.

This is happening again, now with version 1.75.

@1EDExg0ffyXfTEqdIUAYNZGnCeajIxMWd2vaQeP Please have some patience. If the issue persists then please raise another issue as this one is closed.


nvs_flash_init crashes when disturbed by ISR (IDFGH-9088)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
release 5.0 branch
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
TTGO T8
Power Supply used.
USB
What is the expected behavior?
The app runs without crashes.
What is the actual behavior?
NVS init crashed at one of the interrupts.
What really puzzles me is that everything works if I substitute
-    if (rtc_dev.initialized) {
+    if (1) {
         attach_rtc_sqw_handler(pin_gpio_in, read_sensor_task_handle);
     }  else {
         int divider = 5;

or remove the else loop. Essentially, the condition rtc_dev.initialized is always true because DS3231 is always initialized correctly. Really weird behavior. This is the first time I'm experiencing the subtlety of conditional branching.
Also, of course, the code works fine if I remove xTaskNotifyFromISR(...) in the interrupt callback.
Steps to reproduce.
/* WiFi station Example

   This example code is in the Public Domain (or CC0 licensed, at your option.)

   Unless required by applicable law or agreed to in writing, this
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, either express or implied.
*/
#include <string.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "esp_system.h"
#include "esp_log.h"
#include "nvs_flash.h"
#include "esp_task_wdt.h"
#include "ds3231.h"

#include "driver/gpio.h"
#include "driver/gptimer.h"

static const char *TAG = "main";

static const int pin_gpio_in = 34;

TaskHandle_t read_sensor_task_handle;

typedef struct {
    i2c_dev_t i2c_dev;                /*!< I2C thread-safe handle  */
    bool initialized;
} rtc_dev_t;

static rtc_dev_t rtc_dev = { 0 };

/**
 * RTC DS3231 initialization and setup
 *
 * @param i2c_port  I2C port number
 * @param sda_gpio  I2C SDA GPIO
 * @param scl_gpio  I2C SCL GPIO
 * @return          error code
 */
static esp_err_t rtc_ds3231_init(i2c_port_t i2c_port, int sda_gpio, int scl_gpio) {
    ESP_LOGI(TAG, "Initializing RTC SDA %d SCL %d", sda_gpio, scl_gpio);
    rtc_dev_t *prtc_dev = &rtc_dev;
    if (sda_gpio == 0 || scl_gpio == 0) {
        return ESP_ERR_INVALID_ARG;
    }

    memset(&prtc_dev->i2c_dev, 0, sizeof(i2c_dev_t));

    ESP_ERROR_CHECK(ds3231_init_desc(&prtc_dev->i2c_dev, i2c_port, sda_gpio, scl_gpio));
    prtc_dev->i2c_dev.cfg.master.clk_speed = 400000;
    prtc_dev->i2c_dev.cfg.sda_pullup_en = GPIO_PULLUP_ENABLE;
    prtc_dev->i2c_dev.cfg.scl_pullup_en = GPIO_PULLUP_ENABLE;

    ESP_ERROR_CHECK(ds3231_enable_squarewave(&prtc_dev->i2c_dev));
    ESP_ERROR_CHECK(ds3231_set_squarewave_freq(&prtc_dev->i2c_dev, DS3231_SQWAVE_1024HZ));

    prtc_dev->initialized = true;

    int8_t age_offset;
    if (ds3231_get_aging_offset(&prtc_dev->i2c_dev, &age_offset) == ESP_OK) {
        ESP_LOGI(TAG, "DS3231 age offset %d", age_offset);
    } else {
        ESP_LOGW(TAG, "ds3231_get_aging_offset failed");
    }

    return ESP_OK;
}

static BaseType_t inline sdptimer_callback(void *args) {
    static uint32_t timer_counter = 0;
    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
    TaskHandle_t task_handle = (TaskHandle_t) args;
    xTaskNotifyFromISR(task_handle, timer_counter++, eSetValueWithOverwrite, &xHigherPriorityTaskWoken);
    return xHigherPriorityTaskWoken;
}

static void IRAM_ATTR rtc_sqw_callback(void *args) {
    portYIELD_FROM_ISR(sdptimer_callback(args));
}

static bool IRAM_ATTR gptimer_callback(gptimer_handle_t timer, const gptimer_alarm_event_data_t *edata, void *args) {
    return sdptimer_callback(args) == pdTRUE;
}

static void attach_rtc_sqw_handler(gpio_num_t irq_gpio, void* args) {
    gpio_config_t irq_io_conf = {
            .pin_bit_mask = 1ULL << irq_gpio,
            .mode = GPIO_MODE_INPUT,
            .pull_up_en = GPIO_PULLUP_ENABLE,
            .pull_down_en = GPIO_PULLDOWN_DISABLE,
            .intr_type = GPIO_INTR_NEGEDGE
    };
    ESP_ERROR_CHECK(gpio_config(&irq_io_conf));
    // hook an ISR handler for the specific GPIO pin
    ESP_ERROR_CHECK(gpio_isr_handler_add(irq_gpio, rtc_sqw_callback, args));
    ESP_LOGI(TAG, "Attached RTC SQW handler at GPIO %d", irq_gpio);
}

static esp_err_t nvs_flash_init_check() {
    esp_err_t err = nvs_flash_init();
    if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
        // NVS partition was truncated and needs to be erased
        // Retry nvs_flash_init
        ESP_ERROR_CHECK(nvs_flash_erase());
        err = nvs_flash_init();
    }
    ESP_ERROR_CHECK(err);
    return err;
}

static void record_gptimer_start(gptimer_alarm_cb_t cb, uint32_t resolution_hz, uint64_t alarm_count, void *args) {
    gptimer_handle_t gptimer = NULL;
    gptimer_config_t timer_config = {
        .clk_src = GPTIMER_CLK_SRC_APB,
        .direction = GPTIMER_COUNT_UP,
        .resolution_hz = resolution_hz  // must be divisible by 80MHz and in the [80MHz/2^16, 40MHz] range
    };
    ESP_ERROR_CHECK(gptimer_new_timer(&timer_config, &gptimer));

    gptimer_event_callbacks_t cbs = {
        .on_alarm = cb,
    };
    ESP_ERROR_CHECK(gptimer_register_event_callbacks(gptimer, &cbs, args));

    gptimer_alarm_config_t alarm_config = {
        .reload_count = 0,
        .alarm_count = alarm_count,
        .flags.auto_reload_on_alarm = true,
    };
    ESP_ERROR_CHECK(gptimer_set_alarm_action(gptimer, &alarm_config));
    ESP_ERROR_CHECK(gptimer_enable(gptimer));
    ESP_ERROR_CHECK(gptimer_start(gptimer));

    ESP_LOGI(TAG, "Started a periodic gptimer at %.2f freq", ((float) resolution_hz) / alarm_count);
}

static void sdprecord_read_sensor_task(void* args) {
    esp_task_wdt_add(NULL);

    if (rtc_dev.initialized) {
        attach_rtc_sqw_handler(pin_gpio_in, read_sensor_task_handle);
    }  else {
        int divider = 5;
        record_gptimer_start(gptimer_callback, 1024 * divider, divider, NULL);
    }

    while (1) {
        esp_task_wdt_reset();
        ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
    }
}

void app_main(void) {
    ESP_ERROR_CHECK(gpio_install_isr_service(ESP_INTR_FLAG_IRAM | ESP_INTR_FLAG_LEVEL3));
    esp_task_wdt_add(NULL);

    ESP_ERROR_CHECK(i2cdev_init());
    rtc_ds3231_init(0, 25, 26);

    xTaskCreatePinnedToCore(sdprecord_read_sensor_task, "sdp_read", 4096, NULL, configMAX_PRIORITIES - 1, &read_sensor_task_handle, APP_CPU_NUM);

    while (1) {
        esp_task_wdt_reset();
        nvs_flash_init_check();
        vTaskDelay(1);
    }
}

CmakeList.txt:
list(APPEND EXTRA_COMPONENT_DIRS  "esp-idf-lib/components")  # https://github.com/UncleRus/esp-idf-lib
set(COMPONENTS esp32 esp_rom freertos log main nvs_flash soc driver ds3231)

As you can digest from the code, I'm using a DS3231 RTC timer with 1024Hz SQW interrupts at pin 34 (the pin number does not matter). Alternatively, if the RTC periphery is not found/working, I'm ticking the interrupt handler at the very same frequency but with GPtimer. In favor of this experiment, DS3231 is set up to work correctly and reliably.
Debug Logs.
I (00:00:00.469) main: Initializing RTC SDA 25 SCL 26
I (00:00:00.477) main: DS3231 age offset 0
I (00:00:00.479) gpio: GPIO[34]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:2
I (00:00:00.489) main: Attached RTC SQW handler at GPIO 34
Guru Meditation Error: Core  0 panic'ed (Cache disabled but cached memory region accessed).

Core  0 register dump:
PC      : 0x400d3fd8  PS      : 0x00060035  A0      : 0x800831e0  A1      : 0x3ffb0c50
0x400d3fd8: sdptimer_callback at /home/dizcza/Projects/Embedded/eclipse-workspace/nvs_isr_bug/main/nvs_isr_bug.c:73

A2      : 0x3ffb79f8  A3      : 0x00000000  A4      : 0x00000022  A5      : 0x00060b20
A6      : 0x00000003  A7      : 0x00060b23  A8      : 0x800832e8  A9      : 0x00000000
A10     : 0x3ffb79f8  A11     : 0x3ffb15dc  A12     : 0x00000001  A13     : 0x3ffb50e0
A14     : 0x3ffb2678  A15     : 0x3ffb2678  SAR     : 0x0000001e  EXCCAUSE: 0x00000007
EXCVADDR: 0x00000000  LBEG    : 0x40083d5c  LEND    : 0x40083d6f  LCOUNT  : 0x00000000
0x40083d5c: spi_flash_mmap_pages at /home/dizcza/tools/esp-idf/components/spi_flash/flash_mmap.c:167

0x40083d6f: spi_flash_mmap_pages at /home/dizcza/tools/esp-idf/components/spi_flash/flash_mmap.c:171

Backtrace: 0x400d3fd5:0x3ffb0c50 0x400831dd:0x3ffb0c70 0x400832a9:0x3ffb0ca0 0x400829f5:0x3ffb0cd0 0x40083c42:0x3ffb5170 0x40083d81:0x3ffb5190 0x40083fb2:0x3ffb51f0 0x400d80a1:0x3ffb5220 0x400d829d:0x3ffb52c0 0x400d82ff:0x3ffb52e0 0x400d7fe5:0x3ffb5300 0x400d708d:0x3ffb5320 0x400d6a58:0x3ffb5350 0x400d6a6e:0x3ffb5380 0x400d423c:0x3ffb53a0 0x400eb2be:0x3ffb53e0
0x400d3fd5: rtc_io_number_get at ??:?

0x400831dd: gpio_isr_loop at /home/dizcza/tools/esp-idf/components/driver/gpio/gpio.c:429

0x400832a9: gpio_intr_service at /home/dizcza/tools/esp-idf/components/driver/gpio/gpio.c:459

0x400829f5: _xt_medint3 at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S:1286

0x40083c42: spi_flash_mmap_init at /home/dizcza/tools/esp-idf/components/spi_flash/flash_mmap.c:102

0x40083d81: spi_flash_mmap_pages at /home/dizcza/tools/esp-idf/components/spi_flash/flash_mmap.c:178

0x40083fb2: spi_flash_mmap at /home/dizcza/tools/esp-idf/components/spi_flash/flash_mmap.c:148

0x400d80a1: load_partitions at /home/dizcza/tools/esp-idf/components/esp_partition/partition.c:95
 (inlined by) ensure_partitions_loaded at /home/dizcza/tools/esp-idf/components/esp_partition/partition.c:236

0x400d829d: ensure_partitions_loaded at /home/dizcza/tools/esp-idf/components/esp_partition/partition.c:283
 (inlined by) esp_partition_find at /home/dizcza/tools/esp-idf/components/esp_partition/partition.c:265

0x400d82ff: esp_partition_find_first at /home/dizcza/tools/esp-idf/components/esp_partition/partition.c:321

0x400d7fe5: nvs::partition_lookup::lookup_nvs_partition(char const*, nvs::NVSPartition**) at /home/dizcza/tools/esp-idf/components/nvs_flash/src/nvs_partition_lookup.cpp:14

0x400d708d: nvs::NVSPartitionManager::init_partition(char const*) at /home/dizcza/tools/esp-idf/components/nvs_flash/src/nvs_partition_manager.cpp:46 (discriminator 2)

0x400d6a58: nvs_flash_init_partition at /home/dizcza/tools/esp-idf/components/nvs_flash/src/nvs_api.cpp:128
 (inlined by) nvs_flash_init_partition at /home/dizcza/tools/esp-idf/components/nvs_flash/src/nvs_api.cpp:120

0x400d6a6e: nvs_flash_init at /home/dizcza/tools/esp-idf/components/nvs_flash/src/nvs_api.cpp:164

0x400d423c: nvs_flash_init_check at /home/dizcza/Projects/Embedded/eclipse-workspace/nvs_isr_bug/main/nvs_isr_bug.c:108 (discriminator 1)
 (inlined by) app_main at /home/dizcza/Projects/Embedded/eclipse-workspace/nvs_isr_bug/main/nvs_isr_bug.c:175 (discriminator 1)

0x400eb2be: main_task at /home/dizcza/tools/esp-idf/components/freertos/FreeRTOS-Kernel/portable/port_common.c:131 (discriminator 2)

More Information.
Today I've done bug hunting in the ESP-IDF framework but this one is exceptional. I was going crazy tracking down where the issue occurs. Who would have thought that a simple if-branching could cause such trouble!
Sdkconfig in case you need it: https://www.dropbox.com/s/r6z0cv0tlzr2ejz/sdkconfig?dl=0

0x400d3fd8: sdptimer_callback at /home/dizcza/Projects/Embedded/eclipse-workspace/nvs_isr_bug/main/nvs_isr_bug.c:73

The function sdptimer_callback is not placed in the IRAM, but in the flash. When the flash cache is disabled, CPU can't get the text of that function, so crashed.
You may want to add IRAM_ATTR for that function. Or remove the ESP_INTR_FLAG_IRAM flag when you install the GPIO interrupt. Or enable the CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y and CONFIG_SPIRAM_RODATA=y if your ESP32S3 has PSRAM.

Dear me, you're right! I thought it's inlined so I don't need to add the IRAM attribute. With your suggestion, the problem is gone.
Thanks.

But still... why does it work in the first place if I change
-    if (rtc_dev.initialized) {
+    if (1) {
         attach_rtc_sqw_handler(pin_gpio_in, read_sensor_task_handle);
     }  else {
         int divider = 5;

and place no IRAM attr to the timer callback?


Support for private repositories in restic http server functionality

What is your current rclone version (output from rclone version)?
rclone v1.47.0
- os/arch: linux/amd64
- go version: go1.11.6

What problem are you are trying to solve?
Use rclone serve restic as restic backend and limit users to their own repositories.
How do you think rclone should be changed to solve that?
It would be great if rclone serve restic supported the --private-repos flag like the original rest server from restic does:
      --private-repos       users can only access their private repo

This would limit users to a subpath of /<username>/

At the moment the restic server is almost entirely agnostic in terms of paths.

Do you want to work on this feature?

Yes

Do you want to work on this feature?

I'd like to but I have never written a line go in my life :)

I'm happy to help you or anyone else develop this :-)

Ok, I'll open a draft PR over the next days and try my best.

Ok, I'll open a draft PR over the next days and try my best.

That would be great.  Let me know if you need any help.

Ok, I started looking at the code and managed to add a new flag. I am currently wondering how I should pass the username from
https://github.com/ncw/rclone/blob/b7800e96d72d7daf559c6db69fc465bccec04c92/cmd/serve/httplib/httplib.go#L153
on to the restic handler without breaking all the other backends :)

Ok, I started looking at the code and managed to add a new flag. I am currently wondering how I should pass the username from
https://github.com/ncw/rclone/blob/b7800e96d72d7daf559c6db69fc465bccec04c92/cmd/serve/httplib/httplib.go#L153
on to the restic handler without breaking all the other backends :)

The easiest way would be to stick it in the http.Request, so r.Header.Set("X-Remote-User", username) or something like that.
The restic handler will have access to that.  There is probably a standard for the name of the header to use!

I have started #3249 -- it seems to work so far. How would I go about reading the common name out of the client certificates (if used)?

Actually I just realized that one could use htpasswd and client certs, not that it exactly makes sense…

I have started #3249 -- it seems to work so far. How would I go about reading the common name out of the client certificates (if used)?

Errm...  I did a bit of reading but I didn't find out how to :-( Does the original restic server do this?  Maybe we can look in there?

It does not support client certs at all :)

It does not support client certs at all :)

Might have to ask for help if that is a feature you want to support!

I think I'd be fine without for now. After all the foundation is there and it can be added later.
On Sun, Jun 9, 2019, at 16:33, Nick Craig-Wood wrote:

It does not support client certs at all :)

Might have to ask for help if that is a feature you want to support!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ncw/rclone/issues/3247?email_source=notifications&email_token=AAAT5C6RY5IEGQJ6RJ3LT3DPZUIDPA5CNFSM4HU5AWIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXILFYQ#issuecomment-500216546, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAT5CYOSMGTNIUM2RQ4FM3PZUIDPANCNFSM4HU5AWIA.


Unexpected GPIO interrupt

hello Frank,
Sorry that I write a new ticket, but I think I have found a new fault in the latest Erlang/ALE, surround GPIO interrupt handling. My observation is that an "unexpected" interrupt on the GPIO, at least my registered process has received a message from gpio driver if, I do NOT read GPIO value after register interrupt but before set interrupt. Below example I use GPIO-17 as an input, and wired to GROUND.
Here is how I mean this:
Unexpected interrupt occurred if I do the following steps
{ok, Gpio17} = gpio:start_link(17, input).
gpio:register_int(Gpio17,MY PROCESS PID).
gpio:set_int(Gpio17,rising).
No unexpected interrupt if I do this:
{ok, Gpio17} = gpio:start_link(17, input).
gpio:register_int(Gpio17,MY PROCESS PID).
gpio:read(Gpio17).
gpio:set_int(Gpio17,rising).
At the end of this ticket you can see the whole example module I wrote to test this GPIO interrupt, but please find its printout here:
First run when NO GPIO read has been done and unexpected interrupt occurred
1> ex_gpio_int:start_1().
{ok,<0.35.0>}
=INFO REPORT==== 27-Apr-2015::21:05:59 ===
	"Interrupt has been occured on GPIO."
	gpio: 17
	interrupt_condition: rising
2>

2nd run when read GPIO value before call gpio:set_int/2
1> ex_gpio_int:start_2().
{ok,<0.35.0>}
2>
Please let me know if I did something wrong, or confirm me if this is a fault in ALE.
Here comes the example module
%% @author ethrbh
%% @doc @todo Add description to ex_gpio_int.
-module(ex_gpio_int).
-behaviour(gen_server).
-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).

%% ====================================================================
%% API functions
%% ====================================================================
-export([start_1/0, start_2/0]).

%% ====================================================================
%% Defines
%% ====================================================================
-define(SERVER, ?MODULE).
-define(DO_NOT_READ_PIN_VALUE_BEFORE_SET_INT, do_not_read_pin_value).
-define(READ_PIN_VALUE_BEFORE_SET_INT, read_pin_value).
-define(INT_PIN, 17).

start_1() ->
	case whereis(?SERVER) of
		P when is_pid(P) ->
			{ok, P};
		_->
			gen_server:start({local, ?SERVER}, ?MODULE, [?DO_NOT_READ_PIN_VALUE_BEFORE_SET_INT], [{timeout, 1000}])
	end.

start_2() ->
	case whereis(?SERVER) of
		P when is_pid(P) ->
			{ok, P};
		_->
			gen_server:start({local, ?SERVER}, ?MODULE, [?READ_PIN_VALUE_BEFORE_SET_INT], [{timeout, 1000}])
	end.

%% ====================================================================
%% Behavioural functions
%% ====================================================================
-record(state, {}).

%% init/1
%% ====================================================================
%% @doc gen_server:init/1
-spec init(Args :: term()) -> Result when
	Result :: {ok, State}
			| {ok, State, Timeout}
			| {ok, State, hibernate}
			| {stop, Reason :: term()}
			| ignore,
	State :: term(),
	Timeout :: non_neg_integer() | infinity.
%% ====================================================================
init([DoReadPinValueBeforeSetInt]) ->
	{ok, Gpio17} = gpio:start_link(?INT_PIN, input),
	gpio:register_int(Gpio17,self()),
	case DoReadPinValueBeforeSetInt of
		?READ_PIN_VALUE_BEFORE_SET_INT ->
			gpio:read(Gpio17);
		_->	do_nothing
	end,

	gpio:set_int(Gpio17,rising),

	{ok, #state{}}.

%% handle_call/3
%% ====================================================================
%% @doc gen_server:handle_call/3
-spec handle_call(Request :: term(), From :: {pid(), Tag :: term()}, State :: term()) -> Result when
	Result :: {reply, Reply, NewState}
			| {reply, Reply, NewState, Timeout}
			| {reply, Reply, NewState, hibernate}
			| {noreply, NewState}
			| {noreply, NewState, Timeout}
			| {noreply, NewState, hibernate}
			| {stop, Reason, Reply, NewState}
			| {stop, Reason, NewState},
	Reply :: term(),
	NewState :: term(),
	Timeout :: non_neg_integer() | infinity,
	Reason :: term().
%% ====================================================================
handle_call(_Request, _From, State) ->
	Reply = ok,
	{reply, Reply, State}.

%% handle_cast/2
%% ====================================================================
%% @doc gen_server:handle_cast/2
-spec handle_cast(Request :: term(), State :: term()) -> Result when
	Result :: {noreply, NewState}
			| {noreply, NewState, Timeout}
			| {noreply, NewState, hibernate}
			| {stop, Reason :: term(), NewState},
	NewState :: term(),
	Timeout :: non_neg_integer() | infinity.
%% ====================================================================
handle_cast(_Msg, State) ->
	{noreply, State}.

%% handle_info/2
%% ====================================================================
%% @doc gen_server:handle_info/2
-spec handle_info(Info :: timeout | term(), State :: term()) -> Result when
	Result :: {noreply, NewState}
			| {noreply, NewState, Timeout}
			| {noreply, NewState, hibernate}
			| {stop, Reason :: term(), NewState},
	NewState :: term(),
	Timeout :: non_neg_integer() | infinity.
%% ====================================================================
handle_info({gpio_interrupt, Pin, Condition},State) ->
	error_logger:info_report(["Interrupt has been occured on GPIO.",
							   {gpio, Pin},
							   {interrupt_condition, Condition}]),
	{noreply, State};

handle_info(_Info, State) ->
	{noreply, State}.

%% terminate/2
%% ====================================================================
%% @doc gen_server:terminate/2
-spec terminate(Reason, State :: term()) -> Any :: term() when
	Reason :: normal
			| shutdown
			| {shutdown, term()}
			| term().
%% ====================================================================
terminate(_Reason, _State) ->
	ok.

%% code_change/3
%% ====================================================================
%% @doc gen_server:code_change/3
-spec code_change(OldVsn, State :: term(), Extra :: term()) -> Result when
	Result :: {ok, NewState :: term()} | {error, Reason :: term()},
	OldVsn :: Vsn | {down, Vsn},
	Vsn :: term().
%% ====================================================================
code_change(_OldVsn, State, _Extra) ->
	{ok, State}.

%% ====================================================================
%% Internal functions
%% ====================================================================

thanks for your help,
/Robi

What you're seeing are the semantics of how the Linux GPIO system works. Basically, a GPIO pin comes up in the "changed" state. Once you read it, it's no longer "changed". Erlang/ALE's interrupt mechanism just wraps this and sends an event whenever the GPIO is in the "changed" state.
In my code, I either only use interrupt events or only poll a GPIO. When I only use interrupts, the first interrupt initializes the state. In other systems, I'm used to there being a race condition between polling reads and interrupts where you can get an old interrupt after your read, and then your state is wrong. That's why I only do one or the other. Having said that, I think that the Linux GPIO system does the right thing and can't give delayed interrupts. It seems like queuing in the Erlang layer might be able to reorder an interrupt after a polled read, but I haven't thought it through.
It sounds like the documentation may need some clarification on this point. If there's some text that you think could be added to make this behavior less surprising, please send it over.

hello Frank,
Tanks for the clerification. I "come from PIC MCU world" where the interrupt flag should be cleared at the time when configure interrupt for RB change or Timer, ect.
I think GPIO behavior is fine, and as you has mentioned only the documentation should be update accordingly, what I can do of course.
Just FYI, in the "ale_handler" I wrote and what is under review this is fixed in "code level" but not in documentation. Do fix is very easy, I just made a read on the GPIO what is going to be used for interrupt before set the interrupt conditions. It working, at least for me and my application what uses MCP7940n RTC device does not get "dummy" interrupt at all.
thanks,
/Robi

is everyone comfortable marking this issue closed then?

hello,
This is fine for me. Please close it.
thanks,
/Robi


All Attributes at all Notifications should be IsReadOnly==1

Almost all attributes of all four Notifications are wrong.

UML and YANG have already been corrected.
Existing implementations are basing on the corrected YANG.
Proposal to the 5G-xhaul call on 28th of July 2021:
Just closing the issue

Decision made on the 5G-xhaul call on 28th of July 2021:
Issue just to be closed without further action.


Problems in type CompiledSierraCasm

Describe the bug
If you read a CASM file with
const contractCasm: CompiledSierraCasm = json.parse(fs.readFileSync("./compiledContracts/cairo210/hello.casm.json").toString("ascii"));

you will have no error.
But if you do not want to use the fs library (for a website for example), you will use such code :

a .ts file describing the CASM :

import { CompiledSierraCasm } from "starknet";
export const importedContractCasm: CompiledSierraCasm = {
  "prime": "0x800000000000011000000000000000000000000000000000000000000000001",
  "compiler_version": "2.1.0",
  "bytecode": [
    "0xa0680017fff8000",
    "0x7",
    ...

a script :

import { importedContractCasm } from "./hello.casm.json"; // Cairo v2.1.0
const importedCasmCH = hash.computeCompiledClassHash(importedContractCasm);

This code will generate errors due to non conformity to type CompiledSierraCasm :

Pythonic_hints is optional in the CASM file, but is mandatory in Starknet.js :

export type CairoAssembly = {
  prime: string;
  compiler_version: string;
  bytecode: ByteCode;
  hints: any[];
  pythonic_hints: PythonicHints;
  entry_points_by_type: EntryPointsByType;
};

The Casm file has entrypoints.offset as number type, by Starknet.js is expecting a string :

export type ContractEntryPointFields = {
  selector: string;
  offset: string ;
  builtins?: Builtins;
};

To Reproduce
https://github.com/PhilippeR26/starknet.js-workshop-typescript/blob/main/src/scripts/utils/1.testCairoCasm.ts
Expected behavior
Raw Casm file can be imported.
Screenshots
N/A
Desktop (please complete the following information):

Browser & version [e.g. chrome, safari, webworker] : N/A
Node version [e.g. 16.0.1] : N/A
Starknet.js version : 5.21.1
Network [devnet, testnet] : N/A

Additional context
There is a workaround, but it's not clean :
convert the formated json as a string file :
const contractCasm: CompiledSierraCasm = json.parse(fs.readFileSync("./compiledContracts/cairo210/hello.casm.json").toString("ascii"));
fs.writeFileSync("./test.json.ts", json.stringify(contractCasm));

Then in the file :
export const importedContractCasmString = '{"prime":"0x800000000000011000000000000000000000000000000000000000000000001","compi ....

and in the script :
import { importedContractCasmString } from "./test.json";
const afterImport:CompiledSierraCasm=json.parse(importedContractCasmString);
const importedCasmStringCH = hash.computeCompiledClassHash(afterImport);

It works, but it's dirty code...

I tested a solution in a new branch of Starknet.js :
with :
pythonic_hints?: PythonicHints;

and
offset: string | number;

It works, but to build, it's necessary to modify also this :
https://github.com/PhilippeR26/starknet.js/blob/3c3d6b6df0b43648fdd8d8d3d979a0573c707084/src/types/api/openrpc.ts#L302-L304

Yea, i have opened PR https://github.com/starkware-libs/starknet-specs/pull/152
To bring atention to this issue, it should be number or string to cover all cases.
You can create PR based on this, I refactored openrpc file into multiple so conflicts will be resolved on merge, and this modification will jump into rpc.ts, which is file for overriding official spec.

If you want fewer conflicts you can base PR on this one https://github.com/starknet-io/starknet.js/pull/798.
You can also test new Test setup :D

in PR #799

Resolved


CVE's CBL-Mariner

Hi,
According to https://github.com/microsoft/CBL-Mariner/releases/tag/1.0.20220307-1.0
there are quite some CVE's fixed.
Are these incorporated into the mcr.microsoft.com/openjdk/jdk:11-mariner image as well?

Answered in: https://github.com/microsoft/openjdk-docker/issues/24


Find status in underlying error

See https://github.com/senzing-garage/go-messaging/blob/e090bf15efde87f4e6b5f447f719cce6bb809bb8/messenger/messenger_basic.go#L438

Pull requests:

https://github.com/senzing-garage/go-messaging/pull/64


Adds copyToGlobals support information

This PR adds information on copyToGlobals support in debugger_info response.
Should wait for https://github.com/jupyter/enhancement-proposals/pull/93

Sweet!

Thanks @JohanMabille, I was trying to understand why the tests failed...

This PR is now ready, since https://github.com/jupyter/enhancement-proposals/pull/93 has been merged.


Wrong code in PrismJS website

On the PrismJS website, this page: https://prismjs.com/plugins/line-numbers/
has the code:

...

...

...

...

The part where it says
 I believe it's wrong because it did not work for me.
When I changed it to
 it did work.
So I think maybe the code on the website is wrong, or am I missing something here?
[PrismJs Version 1.20.0]

Thanks for reporting @sksar!


Use kubectl apply --record flag

Makes rollout history much nicer

(much has changed since this issue was logged, however:) I tried adding --record to where we call kubectl apply. The effect is that the command used is added as an annotation to the resource, and that annotation is reported when you run kubectl rollout history <whichever deployment it was>.
Because of the way we call kubectl apply, what's recorded ends up being pretty uninteresting -- all the arguments are about authentication, and the actual resource is supplied over stdin and doesn't appear even as a filename -- and all look the same.
If we use kubectl apply or other subcommands in more varying ways in the future, this will again be worth considering.


Add enforce rule to avoid extension depending on camel-quarkus-xml-io or camel-quarkus-xml-jaxb directly

As follow up of #1275, we should add an enforcer rule to to avoid extension depending on camel-quarkus-xml-io or camel-quarkus-xml-jaxb directly

This is not needed any more after https://github.com/apache/camel-quarkus/pull/1292

Not necessary after https://github.com/apache/camel-quarkus/pull/1292


feat(logger): introduce log key reordering functionality

Summary
By default, we can not change the log key positions. This PR gives the user the ability to change log key positions.
Changes

This is a WIP PR
Mostly followed the recommendations from the comment from the actual issue.
A new option  logRecordOrder is added for reordering.
Change formatAttributes function for the new option.
For now  logRecordOrder holds the keys of UnformattedAttributes type
But looking at the python powertools doc, i believe we should type the option for standard structured keys. As far as i understand  PowertoolsLog  holds the type to the structured keys mentioned in the doc. Please correct me if i am wrong.

Issue number: #1568

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Hi @arnabrahman, thank you for opening this PR!
I'll be reviewing it this morning and will get back to you, but overall I think we're going in the right direction.

i believe we should type the option for standard structured keys

I was under the same impression, but looking at the docs again I think we're mistaken, since the docs mention this:

You can change the order of standard Logger keys or any keys that will be appended later at runtime

Additionally, in the example they show usage of a key (request_id) that is not part of the standard keys and that is added at runtime.
With this in mind I think we should follow the same pattern, if possible.
I haven't tested this in the code, but at first glance if I remember correctly, I think we should be able to include all keys to the new logic by working with the additionalLogAttributes (of type LogAttributes) object.
Doing this will mean we probably remove this line, which I'm not sure if it'll have any impact on the log output.
https://github.com/aws-powertools/powertools-lambda-typescript/blob/d76eb1d3d1569bd4675f2ff74c909b5b3976e232/packages/logger/src/formatter/PowertoolsLogFormatter.ts#L39
If this is a viable option, we should also modify the types of the new logRecordOrder accordingly (maybe an union between the keys of UnformattedAttributes and LogAttributes?).

Let me know if I cleared your questions 😄

This summer felt like an eternity but good to be back.
I was looking at your suggestions @dreamorosi, on a high level it should be possible to include all the additional keys although I have to look a bit more to validate this. But first I have to merge the main branch but I cannot. I am getting pre-commit error for markdownlint-cli2 in packages/tracer/README.md. I ran setup-local & tried again but still got the same result. Is there anything that needs to be done?

@dreamorosi So i have progressed on this. But I have another question. Right now the logRecordOrder passes down to child logger. What if we want to override logRecordOrder to child instance?
Currently while creating child, logFormatter is passed to child instance. https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/packages/logger/src/Logger.ts#L308
And logFormatter is not reiniliazed if it's already set https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/packages/logger/src/Logger.ts#L1085
In this case, if we provide logRecordOrder to child, it will not be overridden. Correct me if I am wrong

In this case, if we provide logRecordOrder to child, it will not be overridden. Correct me if I am wrong

You are correct, we reuse the same log formatter from the parent because up until now it was reasonable to do so.
For the time being I would opt for keeping the logic as-is and prevent customers from overriding logRecordOrder when creating a child.
This means that child loggers will have the same log formatter and log record order as their parent. If there's demand for this feature we can easily add it in the future, but for now I'd simply go ahead as-is.

Hi @arnabrahman, thank you for the PR - I've started reviewing it and should be able to finish by tomorrow morning at the latest.