Timeout when waiting for file: /var/snap/maas/common/maas/secret

Running the playbook on a preinstalled MAAS to upgrade it causes the playbook to hang at maas_region_controller:Wait For MAAS To Create Secret File

#53


VS Code Insiders - Memory Issue?

VSCode Version: 1.8-0-insider
OS Version: Windows 10

Steps to Reproduce:
Hey guys, any ideas?
Is there a way for me to debug this error down?

Here is a checklist to find out more about the freeze/slow/crash

[ ] it reproduces with extensions disabled (code --disable-extensions from the command line - NOT the integrated terminal of Code)

if it does not reproduce with extensions disabled, you can stop testing and report this!

[ ] it was not happening in the previous stable release
[ ] it reproduces in insiders builds (get it from here)
[ ] there is no suspicious output when running from the command line (code --verbose)
[ ] there is no suspicious output in the window itself (Help | Toggle Developer Tools | Console)
[ ] it reproduces on Windows, Linux and Mac
[ ] it reproduces after deleting <appdata>/User/keybindings.json and <appdata>/User/settings.json (backup first! see below for paths)
[ ] it reproduces when opening empty (code -n from the command line)
[ ] it reproduces opening any folder
[ ] it reproduces opening any file
[ ] it reproduces when only having a single window open
[ ] it reproduces by just using Code without external tools running on the same folder
[ ] it reproduces from a workspace that is not under Git version control
[ ] it reproduces independently if a file is opened or not after startup
[ ] it reproduces when running with GPU disabled (code --disable-gpu)
[ ] it reproduces when being offline
[ ] it reproduces when disabling the file watching (set files.watcherExclude to "**/**": true)
[ ] it reproduces after uninstalling and reinstalling
[ ] it reproduces after deleting the application data directory (backup first! see below for paths)
[ ] I have not played around with permissions or ran Code as administrator
[ ] I am seeing a single CPU process spin high (please share the full command line arguments)
[ ] I am seeing Code consuming lots of memory in a short time

Application Data Directory for VS Code:

Windows: C:\Users\<user>\AppData\Roaming\Code
Mac: /Users/<user>/Library/Application Support/Code
Linux: /home/<user>/.config/Code

Application Data Directory for VS Code Insiders:

Windows: C:\Users\<user>\AppData\Roaming\Code - Insiders
Mac: /Users/<user>/Library/Application Support/Code - Insiders
Linux: /home/<user>/.config/Code - Insiders

Danke :-)
I'll try this.

There is absolutely no way that I can reproduce this error.
When it happens again, I'll report back. I close this issue for now.
BTW @bpasero, You guys really do an awesome job with VS Code, the first editor who really replaced every other editor I've ever used. Thanks.

Thanks 👍


Moving Hapi Plugin to Instrumentation

Which problem is this PR solving?

Fixes #255

Short description of the changes

Convert hapi plugin to instrumentation

I just attempted to run the hapi example locally and had trouble resolving @opentelemetry/instrumentation-hapi. Does this need to switch back to @opentelemetry/hapi-instrumentation?

@opentelemetry/instrumentation-hapi hasn't been released yet

@nmiddendorff see https://github.com/open-telemetry/opentelemetry-js-contrib/pull/409


Added materials property to cube-env-map

The materials property allows the user to specify that the env map should only be applied to certain named materials. Optionally, each named material can be followed by a number indicating a specific reflectivity for that material.

Hm I think this feels like too narrow a use case... I'm happy with having the materials list, but I don't think reflectivity should be part of it. If overriding reflectivity on a per-material basis is important, then it would be better to add the multiple: true flag to the component and do something like this:
<a-entity cube-env-map__a="path: ...; materials: mat1, mat2; reflectivity: 1.0"
          cube-env-map__b="path: ...; materials: mat3; reflectivity: 0.5"></a-entity>

Fair enough, I've refactored the component to work like that now, although the code could probably benefit from some optimizations for multiple instances.


Text models, uint8 for number of classes?

I don't know that much at the moment about ML so pardon me if this is ignorant. Is there a reason that the number of classes for text classification is limited to 255 via uint8? Would it be possible to increase this?

It's definitely possible to increase it, but it's questionable (not necessarily a bad idea) as to whether this would be a good idea in practice.
A Bag of Words Naive Bayes Classifier (exactly the same as in the library), for example, only uses word frequencies in a document to influence the class choice. This means to have a high accuracy/precision/recall classifier on a text data set with even 256 classes you would need just the words in each class to describe accurately which of the 256 classes each data point is in.
This might be reasonable for classes that are basically asking about the words, such as includes_words_about_sky and includes_words_about_color_blue, but when you're trying to classify any more abstract concepts like sentiment_is_positive, sentiment_is_slightly_less_positive, sentiment_is_a_little_more_less_positive, you can see how this might get tricky.
As a practical example of higher numbers of classes being used in a Naive Bayes classifier, look at one of the 2014 winners of the Yelp Dataset Challenge in classifying the stars of restaurant reviews. Looking at their confusion matrix of the best model even for five classes this gets cloudy. It's easy to differentiate between 5 star and 1 star reviews, but differentiating between 5 star and 4 star reviews using all length 2 sequences of words ('bigrams' - "I love dogs" -> "I love", "love dogs" | 'unigrams' - "I love dogs" -> "I", "love", "dogs") is pretty hard without knowing more latent information about word position, etc.. I've done a very similar experiment as this team with a more recent version of the data set and got similar results using sci-py.

To answer your question, I'm wondering as to whether you have a use case with text data in >255 classes that would potentially have not-too-bad accuracy with a position-agnostic model? I'm not saying it isn't possible but I'm curious as to whether there is a use case with this many classes for such a model?

Yep, you're right. I was able to break it down into multiple bayes models and it worked great. :)


Pasting into a "Replace Preview" after dismissing "Save As..." causes a temporary freeze

Type: Performance Issue
To reproduce (for me at least):

Copy some text so that you can paste it later.
Search for something in the code base.
Define replacement text for the search term.
Click on a match. It is opened in a "Replace Preview" window.
Decide to edit the code within the left-hand pane of the "Replace Preview" instead (or before) accepting the highlighted replacement. There are some other things you want to change too.
Out of habit after making changes, accidentally try to save your changes via CTRL-S while in the "Replace Preview". This doesn't work as expected! (I'm always getting tripped up by this. To save the changes, you have to close the "Replace Preview", switch to the original file - where those changes show up, and save the original file instead!) A "Save As..." dialog opens. (It is not visible or noticeable, because it opens behind the main VS Code window. This is probably a Linux annoyance. The main window becomes completely blocked, and you can't figure out why. Eventually, you realise that a "Save As" dialog is hidden behind.) Once you discover the "Save As..." window, you switch focus to it. Since you don't want to do a "Save As..." from the "Replace Preview", you cancel the dialog and do not save.
So you return to the "Replace Preview" and make some further edits in the left-hand pane without having saved.
As part of those edits, you paste the text from your buffer that you had previously copied.
VS Code then freezes and becomes unresponsive. Keep getting asked whether you want to kill VS Code or wait. If you wait long enough (minutes), VS Code comes back to life and the copied text is eventually pasted.

A freeze on paste only seems to occur after dismissing the "Save As" window, not in other circumstances, so something weird is going on there.
This bug is because my expectation is that the text from the copy-paste buffer should be pasted instantly.
Yes, saving of edits made in a replace preview should work much better from a user experience point of view, and yes, the "Save As" dialog should open in front of VS Code, not hidden behind it, but those are not the issues I am reporting here. Those annoyances are easy to ignore/avoid once you get used to them! An IDE freeze is not.
VS Code version: Code 1.83.1 (f1b07bd25dfad64b0167beb15359ae573aecd2cc, 2023-10-10T23:45:31.402Z)
OS version: Linux x64 5.15.0-86-generic
Modes:
Extensions (6)

Extension
Author (truncated)
Version

markdown-mermaid
bie
1.20.0

vscode-intelephense-client
bme
1.9.5

selected-lines-count
gur
1.4.0

csharp
ms-
2.7.25

vscode-dotnet-runtime
ms-
1.8.1

php-debug
xde
1.33.0

Ah, I see this. Here are some repro steps:

Open replace preview from find+replace.
Try to put something in the left ('before') pane and try to save it.
Esc out of the modal that asks to save.
The editor still shows something loading :bug:

I'll need to make the editor read-only to remove this pain point - there's no reason that I know of that it is editable.

My understanding is:

The left hand pane mirrors or is the source file. It represents the the state of the source file before replacements listed in the search results have been applied.
The right hand side shows what the source would become should you choose to apply the replacement(s) listed in the search results.

At present, the left hand pane is editable. Editing it and saving it is just like editing and saving the source file. The right hand side is not editable.
If you were to make the left hand pane read-only too, then while undertaking replacements, you would no longer be able to just edit the source in place if something else that needed to be changed were to be spotted. You would have to find the corresponding source file, find the corresponding place within that source file corresponding to the particular replacement you were working on, make the change (without also being able to see what replacements are planned), then switch back to the search results to bring up that particular replacement again so you could pick up where you left off. It will be far less convenient from a usability point of view.
I'm pretty sure that until very recently (not sure exactly when) saving from the replacement window and then deciding to abort the save used to work just fine. Therefore, this is most likely a regression.
If possible, my preference would be for that regression to be identified and rectified. It would be a shame to lose the ability to edit the source in place entirely because a bug associated with changing your mind about whether to save from the replacement window has been introduced or emerged.
Alternatively, if it has to be done by making the left hand pane read-only, perhaps double-clicking or similar on the left hand pane could be made to take you directly to the corresponding point in the source file, so as to lessen the inconvenience?

Ah okay, I see. I can look into why aborting isn't working.

Thanks.

This doesn't seem to repro anymore.
Closing the issue but feel free to reopen if you are still seeing the problem


Check that C++ samples/plugins compile

Checked on Windows, all plugins build and work correctly.

Can we still work on this issue, or is it closed?

Checked on Windows, all plugins build and work correctly.

Can we still work on this issue, or is it closed?

It's been closed on April 21, 2018.


Help and documentation updates.

Made displayHelp functions internal.
Updated dialog boxes to explicitly accept HTML markup.
Added hyperlinks to modes documentation.
Updated help sections on some funtions.
Added hyperlink to documentation in Menu -> About
Updated documentation.

If we're happy with some of the modified help functions, I'll remove the older commented out code before merging.

I just noticed that the File -> Filelist displays all files, but is not opening the file when double-clicked. @gamaanderson can you verify on your install after last merger?

I will verify this later today, when I get home.
For the future. Please, when you build the documentation, try to do that in a separated commit, so I can see the changes to the .py files in github. Otherwise the commit is so big that I can't see it. To do that: commit changes to .py files without the "-a" flag and instead list the files you want to add to the commit.

Yeah sorry about that, I realized this issue as I was pushing. I think all the code changes are at least listed in the top files displayed. The only one I notice isn't evident there is that I rolled rev to 1.2.1 in setup.py.

Well I have just rolled to version 1.2.0 in my last commit, but if you think we should roll to 1.2.1 that is ok.
Well, I'm not sure how comfortable I'm in putting link in the source code, but I also don't have an argumentation why not to.
Beside that, for me this is good for merging.

I went back and forth on whether to include the links. It can be viewed as a security risk for sure, but it's also only activated by clicking. @jjhelmus you are more  in tune with security stuff what do you think about including an active link in Help window?
If we had a true server to host the videos I wonder if that would be more safe?

I've been thinking about this more and I don't see an issue with the link (as long as it remains operable). I am okay removing this in the future if we come up with a "better" (or more official) way to host the videos.

ok, as I said I don't have real reasons against it.

Not sure if you are interested but typically the build documentation is not checked into the master branch (although I have done this in the past also...).  Rather these files are more often checked into a gh-pages branch which are then served up at user.github.io/project/.  Check out the gh-pages branch of nmrglue  for an example and the resulting site GitHub generates.

Wow, that looks nice!. I'll check this out and see if we can't figure out how to do this.
So this is what you do for Py-ART too then?

Thank you @jjhelmus, we (at least I, and I think I commented that somewhere) knew that. I try it once, but it didn't work and I have not retried it sense then. We will need two local copies of the repository to build the doc, don't we?

No, Py-ART's documentation is a bit more complicated, probably a bit much unless updating documentation is a big pain.  Py-ART has Travis CI build the doc on every commit.  When Travis build a non-pull request from the ARM-DOE repository, typically when a PR is merged, then it creates a single commit with the new documentation and force pushes it to the gh-pages branch of the [pyart-docs-travis] (https://github.com/ARM-DOE/pyart-docs-travis) repository.  I borrowed this setup from pandas is my memory is correct.
Another option for automatically keeping your online documentation up to date is https://readthedocs.org/, but that was not working with Py-ART's dependencies last I checked.

Thank you @jjhelmus, we (at least I, and I think I commented that somewhere) knew that. I try it once, but it didn't work and I have not retried it sense then. We will need two local copies of the repository to build the doc, don't we?

Two local copies make things much easier.  I have two local copies of the Py-ART repository on my machine, one of which always has the gh_pages branch checked out.
The other gh-pages hint is that you need to add a .nojekyll file in the root of the branch.  If you do not GitHub will use Jekyll to build the content


Added latency metrics to query/query range on top of PromQL.

Signed-off-by: Bartek Plotka<EMAIL_ADDRESS>

👍

Looks like some test is not using the constructor so the metrics are nil.


wpewebkit: add accessibility support

Is a11y supported in 2.24 actually?

I don't think it makes sense to enable this now, a11y won't be supported in wpewebkit until the 2.26 series.

Aham. I see, in my mind wpewebkit_trunk.bb was using the latest trunk revision. In this case, yes, this is not needed for until a new recipe for 2.26.

Aham. I see, in my mind wpewebkit_trunk.bb was using the latest trunk revision. In this case, yes, this is not needed for until a new recipe for 2.26.

I added it in the bbappend of  meta-perf-browser (https://gitlab.com/saavedra.pablo/meta-perf-browser/commit/3093e01b0881c5d8bebe5dbbf9881a2adcef4b0c)  . The one used to run the CI against trunk so not needed right now in this layer. We can way for:

A bump-up of the trunk recipe
The release of 2.26


How do I increase the maximum number of connected nodes

How do I increase the maximum number of connected nodes

I probably understand, I want to make the node that connects me bigger


Introduce System Controller v2.0

Supports #1136

Coverage decreased (-0.2%) to 85.403% when pulling b4e6b13faadacacab36ded3abf5736a49c8ecb83 on system-controller-v2 into 88781fe0bb8b2e0e6bede467b52909aec02dc1af on master.


Fix image name will be empty when use multi arch local image.

Describe what this PR does / why we need it
Does this pull request fix one issue?

Describe how you did it
Describe how to verify it
Special notes for reviews

Codecov Report
Patch coverage has no change and project coverage change: +0.06 :tada:

Comparison is base (8f38cb7) 18.82% compared to head (a572bc3) 18.89%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2153      +/-   ##
==========================================
+ Coverage   18.82%   18.89%   +0.06%
==========================================
  Files          96       96
  Lines        8950     8918      -32
==========================================
  Hits         1685     1685
+ Misses       7035     7003      -32
  Partials      230      230

Flag
Coverage Δ

unit-tests
18.89% <ø> (+0.06%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Use Blockwise in da.store

da.store is basically the main method for writing arrays out of dask; things like to_zarr use da.store internally, and downstream projects like xarray use it extensively. Currently, it produces low-level graphs. These graphs would be very simple to convert to Blockwise: https://github.com/dask/dask/blob/8b95f983c232c1bd628e9cba0695d3ef229d290b/dask/array/core.py#L4430-L4433
We're just mapping a function over every block, which is the simplest case for Blockwise.
This would make graph generation (if not submission, everything gets materialized right now anyway) a lot faster for large array-writing operations, and allow blockwise fusion onto input tasks.
cc @rjzamora @ian-r-rose

+1 -- nice suggestion @gjoseph92


fix PyInvokeTransactionV0 sender_address field

This change is

Codecov Report

Merging #975 (a6ebf90) into main (37b8b38) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main     #975   +/-   ##
=======================================
  Coverage   67.56%   67.56%
=======================================
  Files          48       48
  Lines        6107     6107
  Branches     6107     6107
=======================================
  Hits         4126     4126
  Misses       1606     1606
  Partials      375      375

Files
Coverage Δ

crates/native_blockifier/src/py_invoke_function.rs
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Please add freebsd support. Bazel works fine when installed using the package manager.

Hi!
I get this when running bazelisk on GhostBSD 20.08.04
2020/08/15 17:29:49 could not download Bazel: could not determine filename to use for Bazel binar: unsupported operating system "freebsd", must be Linux, macOS or Windows

Could you please add support for FreeBSD as well?

Actually, having tried to build multiple libraries on FreeBSD/OpenBSD, I'd highly recommend adding support for them because it's helped me catch several subtle errors that occur on those systems. Bazel support for these OS's would allow packages to adopt Bazel as a build system faster too.

Actually, having tried to build multiple libraries on FreeBSD/OpenBSD, I'd highly recommend adding support for them because it's helped me catch several subtle errors that occur on those systems. Bazel support for these OS's would allow packages to adopt Bazel as a build system faster too and would make porting software easier.

How did you install bazel on freebsd?

1 for FreeBSD support - can't get libtensorflow to run without it :/

I'm closing this issue since we cannot do anything here before Bazel publishes binaries for FreeBSD (which seems unlikely in the near future).


Scale issue

The follow code will throw an error: EEException: Can't convert a computed geometry to GeoJSON. Use getInfo() instead. However, if the scale is changed to a value larger than 30 (e.g., 60), it works fine.
import geedim as gd
image = ee.Image('LANDSAT/LC09/C02/T1_L2/LC09_023031_20220617')
region = image.geometry()
image = image.multiply(0.0000275).add(-0.2).set(image.toDictionary())
img = gd.download.BaseImage(image)
img.download('landsat.tif', region=region, scale=30)

Resolved with v1.5.1
BTW geedim supports automatic STAC scale and offset with the scale_offset parameter.  So you could replace your snippet with:
from geedim.download import BaseImage
gd_image = BaseImage(ee.Image('LANDSAT/LC09/C02/T1_L2/LC09_023031_20220617'))
gd_image.download('landsat.tif', scale_offset=True)


action: test build with more architectures

Relevant Issue (if applicable)
See https://github.com/dragonflyoss/nydus/actions/workflows/release.yml?query=event%3Aschedule
Details
To prevent build errors in different architectures, we should test build with more architectures in Smoke Test, but only use amd64 in the next jobs.
Types of changes
What types of changes does your PullRequest introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Go over all the following points, and put an x in all the boxes that apply.

[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

It looks like dbs-snapshot don't support riscv64 and ppc64le, So the Release failed.

Thanks for the PR, it seems we need to make dbs-snapshot also work on ppc64le and riscv64: https://github.com/kata-containers/dbs-snapshot/blob/098fca6c819fc3e3be4329e1cf8b09f98450b3be/src/lib.rs#L41, are you interested in submitting a PR for dbs-snapshot? It's a rust crate we maintained.

Thanks for the PR, it seems we need to make dbs-snapshot also work on ppc64le and riscv64: https://github.com/kata-containers/dbs-snapshot/blob/098fca6c819fc3e3be4329e1cf8b09f98450b3be/src/lib.rs#L41, are you interested in submitting a PR for dbs-snapshot? It's a rust crate we maintained.

I can try it later.

Try to fix it at https://github.com/kata-containers/dbs-snapshot/pull/5.


[WIP] Commutative Monad

Adding commutative monads (see #402 also).
First I've added the notion of RightStrength to Categories.Monad.Strong, then CommutativeMonad is defined as in nlab, i.e. a (left) strong monad on a symmetric monoidal category, where the left strength and the induced right strength commute.
I'm currently stuck on the proof that the induced strength is actually strong (Categories.Monad.Strong.Properties), any help would be much appreciated.

Happy to help - I think the easiest way for me to do so would be if you give me access to your fork.

Happy to help - I think the easiest way for me to do so would be if you give me access to your fork.

Ah I thought people could just add onto this PR, I've added you now.

Maybe if my git-fu was stronger? It clearly says above

Add more commits by pushing to the comm-monad branch on Reijix/agda-categories.

I know that one other way to deal with this is for me to merge your branch into a branch on here, instead of on master.

I've given it a try, and got stuck as well. I have a partial proof plan (i.e. I managed to get to where I could apply strength-assoc), but reshaping everything to get to the end goal escapes me. I have a hunch that I need to apply the hexagon laws a couple of times.  I will try again later.  Would you be fine if I asked for some help / references on the category theory Zulip?
I could also push my (very partial) attempt, but I'm not sure it is worthwhile.

Asking for help sounds good!
My feeling has also been that using the hexagon laws at appropriate places should solve it, but I can't figure out where.

There are 2 'clear' spots in my attempt where the hexagon laws can be applied. Unfortunately what comes out the other end does not feel "closer" to solving the problem, although it does uncover more opportunities for shuffling things around.
I've asked on Zulip.

Recording the help that I got:

Nathanael Arkor said "Perhaps a more abstract proof might be simpler to formalise. A right-strength with respect to a monoidal category $\mathcal{C}$ is equivalently a left-strength with respect to $\mathcal{C}^{\mathsf{rev}}$  (essentially by definition). A symmetric monoidal category satisfies $\mathcal{C} ≅\mathcal{C}^{\mathsf{rev}}$ , and this isomorphism is monoidal. Your statement should follow from the combination of these observations.
Mike Shulman added "I would expect it to simplify things, since at that point the monad and the strength wouldn't be part of the argument any more, only the monoidal structure.  If the same difficulty does pop up anywhere, I would expect it to be in the proof that strong monads transfer across monoidal isomorphisms."

With the hint that a right strength is a left strength in $\mathcal{C}^{\mathsf{rev}}$, I've managed to find a diagrammatic proof of strength-assoc'. That seems to be the blocker, right?
I don't have time to implement the proof in Agda right now, but I'm happy to share my drawings if someone else wants to give it a go. I'm afraid this will require a non-trivial amount of fiddling with isos to get the hexagon law into the right shape(s) for in the diagrams though. (This seems to be a recurring pain when working with monoidal categories. That half-finished monoid solver we have somewhere in a PR would have come handy here. 😉)

Yes, that is the missing part. Please do share your drawing!
There are a few more shapes of hexagon in the library, but I'd be happy to add more.

OK, here are the drawings:

The lower diagram is the core proof: it starts from associativity of the left strength (the central "pentagon") and then "reverses" the order of the monoidal products in the five corners using braiding. Then the strengths forming the top and bottom of the center are pushed out via naturality diagrams and the fact that the left and right strengths commute with braiding (this follows directly from the definition of the right strength and the fact that the braiding is self-inverse - you may want to factor it into a lemma or two).
To finish the proof, one has to show that the left and right edge of the lower diagram are (the inverse of) the associator. That's what the upper diagram proves via repeated use of the hexagon law. This is the bit that I expected to be most cumbersome to translate to Agda. It should certainly be made a lemma because it's used on both sides of the lower diagram.
I hope I didn't miss anything.

It seems there hasn't been any progress on this, so I'll giving it a go now.

Thanks. Do let us know of partial progress, as I have time this weekend to push on this.

OK, I managed to prove strength-assoc for the induced right strength now.
I refactored the module a bit to make the new proofs more readable but left most of the existing proofs as they were (modulo white space cleanup, etc.) I also left FIXME comments suggesting some further ways to clean things up.
There is still an open goal: RightStrength⇒Strength. We could probably prove this quite straight-forwardly (but tediously) now, since everything is symmetric. But it might be cleaner to use this symmetry explicitly: show that a right strength in $\mathcal{C}$ is a left strength in $\mathcal{C}^\mathsf{rev}$ and vice-versa, then use that to derive the that the right strength induces a left strength from the existing proof that a left strength induces a right strength.
I think that would be more fun and also more insightful. The only issue is that we'd need to mechanize $\mathcal{C}^\mathsf{rev}$ first, but that might be an interesting exercise. How far did you get with that @JacquesCarette?

Interesting observation: the proof that a left strength $\sigma$ for $T$ in $\mathcal{C}$ induces a right strength $\tau$ for $T$ in $\mathcal{C}$ seems to work even if $\mathcal{C}$ is merely braided (as opposed to symmetric), as long as one defines $\tau$ as $\tau = T B^{-1} \circ \sigma \circ B$.

@JacquesCarette, I have mechanized the definition of $\mathcal{C}^\mathsf{rev}$ now, including proofs that they preserve braidedness and symmetry. I guess I should open a separate PR for this, or is it OK to push it to this PR for now?

Wow, thanks! Adding those definitions to this PR is fine, they are sufficiently related.

OK, all goals solved and tests pass on my machine. 🥳
The PR definitely still needs some cleanup (see FIXMEs) but it's getting late here, so I'll stop for today.
I put the definition of reverse categories in a separate commit, so it could easily be cherry-picked or rebased into a separate branch, if you decide the PR is getting too big.

@Reijix, would you like me to wrap this up, or do you prefer to put on the finishing touches yourself?
@JacquesCarette, I think the PR is ready for review. Would you mind having a look to see if there's anything that needs fixing (beyond the small FIXMEs)?

It's on my pile. The week started out fine, and then kind of exploded on me.

Sure, no rush. Bon courage!

@sstucki, you can finish it, I'm happy with the state this PR is in now.
Thanks for finishing the proofs!

OK, I've cleaned up the remaining FIXMEs and I think the code is good to go.
But the PR now has quite a few commits, and I forgot what the policy is re. squashing/cleaning up the commit history. Do we usually merge PRs as they are or rebase the history into a few self-contained commits?
@JacquesCarette, any preferences?


Could we have the "blue eye" filter set for specific configurations all the time?

The way TW is built now, all eye filter options are already set and frozen solid in "Browse Nomenclature". Each time I change screen, the original preset gets back.
I, for one, would love to set my filters with the tag "Origin" ON all the time. It would make it much easier for me to see things at a glance.
Is there currently any way to lock the eye filter to always have "Origins" on for example?
Or if there isn't, is there a chance of implementing it as a toggle?

This is the proposal that will evolve in #1332, sorry I didn't add a good description there.  Closing this as duplicate and pointing it there.


Update ptsd

update ptsd to v0.2

The commit comment is wrong for last commit.
I removed unnecessary files from PTSD v0.2 from that commit.


SAK-29720 group filter can reveal identities for anonymous assignments on the instructor submission list UI

https://jira.sakaiproject.org/browse/SAK-29720
The submission list for an anonymous assignment can be filtered by group. This allows you to infer identities by controlling group membership. This filter should be hidden/not rendered for anonymous assignments.

CI failure unrelated (sitestats tests)


[bug] Importing a directory tried to import as file

@patcon nice catch! I'm preparing 1.1 now, so a fix to this will be in it

Shit. You're good.


Provide default hasher types to Vacant and Occupied entries

For code which may select to use the std HashMap or the hashbrown HashMap based on feature or cfg flags, being forced to provide an explicit hash argument to VacantEntry or OccupiedEntry structs requires jumping through some hoops. Specifically, the std hash_map::*Entry structs don't take a hasher type argument at all, making the downstream code change the type entirely when switching from std to hashbrown or back.
For simplicity, its nice to have the argument be optional on the hashbrown end, which would let the same code compile with either map.

@bors r+

:pushpin: Commit c6affc5730e75ac47b323f761f12f965f90e3645 has been approved by Amanieu
It is now in the queue for this repository.

:hourglass: Testing commit c6affc5730e75ac47b323f761f12f965f90e3645 with merge 7d01f51be911c656d3b6aa49624ddcc4644e1629...

:sunny: Test successful - checks-actions
Approved by: Amanieu
Pushing 7d01f51be911c656d3b6aa49624ddcc4644e1629 to master...


Is it possible to run W2NER on CPU?

I'm trying to run W2NER on CPU with frozen transformer weights. I've already frozen the layers and checked it on GPU and it works. But after changing to CPU and modifying all .cuda() to .cpu() or .to('cpu') in main.py I'm facing the problem - loss becomes nan after first epoch of training. Can you please explain how to modify your code to make it run on CPU?

I have no idea what causes the issue because I've run W2NER on CPU and it worked when I modified all .cuda() to .cpu().  You can try to run W2NER with a few data on CPU and look out which layer or instance produced nan.

Hello and thx a lot for sharing this awesome project!
I also faced problems after modifying .cuda() to .cpu():
2022-11-28 19:07:54 - INFO: Building Model
Some weights of the model checkpoint at bert-base-chinese were not used when initializing BertModel: ['cls.predictions.transform.LayerNorm.bias', 'cls.predictions.transform.dense.bias', 'cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.weight', 'cls.seq_relationship.weight', 'cls.predictions.bias', 'cls.seq_relationship.bias', 'cls.predictions.decoder.weight']

This IS expected if you are initializing BertModel from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
This IS NOT expected if you are initializing BertModel from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/transformers/optimization.py:310: FutureWarning: This implementation of AdamW is deprecated and will be removed in a future version. Use the PyTorch implementation torch.optim.AdamW instead, or set no_deprecation_warning=True to disable this warning
FutureWarning,
2022-11-28 19:08:01 - INFO: Epoch: 0
[W ParallelNative.cpp:229] Warning: Cannot set number of intraop threads after parallel work has started or after set_num_threads call when using native parallel backend (function set_num_threads)
[W ParallelNative.cpp:229] Warning: Cannot set number of intraop threads after parallel work has started or after set_num_threads call when using native parallel backend (function set_num_threads)
[W ParallelNative.cpp:229] Warning: Cannot set number of intraop threads after parallel work has started or after set_num_threads call when using native parallel backend (function set_num_threads)
[W ParallelNative.cpp:229] Warning: Cannot set number of intraop threads after parallel work has started or after set_num_threads call when using native parallel backend (function set_num_threads)


Detect when connection get lost under abnormal circumstances?

I am testing your example ./example/sse-server.js and all works fine under normal circumstances. For example calling  curl http://<IP_ADDRESS>:8080/sse  will start the events (new connection). Cancelling curl (Ctrl +c) will cancel the events (lost connection)
But the "res.on('close'...." does not work when the connection has been lost under abnormal circumstances for example when I switch off the computer (very simple to test with VirtualBox).
Is there any way on detecting this or this is a issue with SSE?

A keep-alive or heartbeat would be required to detect this.
If you control both sides you can implement it yourself outside this library.
Server (send heartbeat every x seconds) -> Client (if hearbeat isn't seen in x, force reconnect)

Can we close this?

@Tungsten78 the problem is on the server side because if the client goes dead (power off) the server does not get any disconnect message. It just continue sending messages to the void... I don't know if this is an implementation issue or a protocol issue.

@qlands - I didn't catch you were reporting against the example server.  My bad.
Writing to an abnormally interrupted socket should always trigger an exception.  Very odd what you're seeing.  I cannot speak to the example implementation itself.

Yes the issue happens with the example. If I run the server in Linux machine and the client in another Linux using VirtualBox and I switch off the VirtualBox abruptly the server will send messages to a void because it cannot detect that the client has gone.


ERROR: /app/.heroku/python/bin/pip: No such file or directory

I'm cloning the Heroku Python getting started (https://github.com/heroku/python-getting-started) and don't work, this is the console error:
❯ git push flynn master
Logon failed, use ctrl+c to cancel basic credential prompt.
Counting objects: 460, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (206/206), done.
Writing objects: 100% (460/460), 79.41 KiB | 9.93 MiB/s, done.
Total 460 (delta 226), reused 460 (delta 226)
-----> Building py-getting...
-----> Python app detected
-----> Installing python-3.7.6
-----> Installing pip
-----> Installing requirements with pip
       /builder/buildpacks/000006_heroku-buildpack-python/bin/steps/pip-install: line 7: /app/.heroku/python/bin/pip: No such file or directory
remote: ERROR: Build failed: exec: job exited with status 1

@scratchmex What version of Flynn are you using? Are you using the build in buildpacks? If so, trying adding the latest python buildpack using a .buildpacks file.

Latest version. What do you mean by buildpack build? How do I add a .buildpacks file?

Flynn is unmaintained and our infrastructure will shut down on June 1, 2021. See the README for details.


New Contribution.md and Updated Readme.md

I've updated the Readme file to give clear and detailed instructions for the users to run the site locally. Also, I've added some topics to the Contribution file, which I can fill at a later point of time. But Readme currently has adequate information about contributing to the site.
@swaathi : Can you please verify and close?

LGTM.


[SPARK-42911][PYTHON][3.4] Introduce more basic exceptions

What changes were proposed in this pull request?
Introduces more basic exceptions.

ArithmeticException
ArrayIndexOutOfBoundsException
DateTimeException
NumberFormatException
SparkRuntimeException

Why are the changes needed?
There are more exceptions that Spark throws but PySpark doesn't capture.
We should introduce more basic exceptions; otherwise we still see Py4JJavaError or SparkConnectGrpcException.
>>> spark.conf.set("spark.sql.ansi.enabled", True)
>>> spark.sql("select 1/0")
DataFrame[(1 / 0): double]
>>> spark.sql("select 1/0").show()
Traceback (most recent call last):
...
py4j.protocol.Py4JJavaError: An error occurred while calling o44.showString.
: org.apache.spark.SparkArithmeticException: [DIVIDE_BY_ZERO] Division by zero. Use `try_divide` to tolerate divisor being 0 and return NULL instead. If necessary set "spark.sql.ansi.enabled" to "false" to bypass this error.
== SQL(line 1, position 8) ==
select 1/0
       ^^^

	at org.apache.spark.sql.errors.QueryExecutionErrors$.divideByZeroError(QueryExecutionErrors.scala:225)
... JVM's stacktrace

>>> spark.sql("select 1/0").show()
Traceback (most recent call last):
...
pyspark.errors.exceptions.connect.SparkConnectGrpcException: (org.apache.spark.SparkArithmeticException) [DIVIDE_BY_ZERO] Division by zero. Use `try_divide` to tolerate divisor being 0 and return NULL instead. If necessary set "spark.sql.ansi.enabled" to "false" to bypass this error.
== SQL(line 1, position 8) ==
select 1/0
       ^^^

Does this PR introduce any user-facing change?
The error message is more readable.
>>> spark.sql("select 1/0").show()
Traceback (most recent call last):
...
pyspark.errors.exceptions.captured.ArithmeticException: [DIVIDE_BY_ZERO] Division by zero. Use `try_divide` to tolerate divisor being 0 and return NULL instead. If necessary set "spark.sql.ansi.enabled" to "false" to bypass this error.
== SQL(line 1, position 8) ==
select 1/0
       ^^^

or
>>> spark.sql("select 1/0").show()
Traceback (most recent call last):
...
pyspark.errors.exceptions.connect.ArithmeticException: [DIVIDE_BY_ZERO] Division by zero. Use `try_divide` to tolerate divisor being 0 and return NULL instead. If necessary set "spark.sql.ansi.enabled" to "false" to bypass this error.
== SQL(line 1, position 8) ==
select 1/0
       ^^^

How was this patch tested?
Added the related tests.

Merged to branch-3.4.


Dashrews/migration prob option 2

Description
We need to be able to not panic when a legacy migration is added as part of a patch release or for some other reason.  We can take advantage of the fact that if we determine that Postgres is the source database, we will pass nils to the migrations for both Bolt and Rocks.  If we determine we need to migrate from legacy we are ensured that Bolt and Rocks are not nil because we fail before calling the runner if they are.  So here we have annotated the migrations if they are a legacy to Postgres migration.  If they are and the legacy database are nil, we skip those migrations.
This solution is a quick and dirty one based on the state that we have saved currently for migrations.  A larger refactor and storing additional state is also an option, but that would take longer to release and would prove unnecessary in a couple of releases.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
Manual tests for now.  Spin up an environment from earlier in 3.73.  Upgrade to these images and note in the logs that migration 169 was skipped.  #4003 will have added this case to CI runs upon its completion.

/test gke-upgrade-tests

/test gke-qa-e2e-tests


[pipeline] include cypress & lighthouse ci

the problem:
We have no automatic feedback if a deploy produces bugs or impacts performance.
The solution

Cypress is an end to end testing tool that allows you to test the entire user flows seamlessly (and in multiple browsers!). It would run after the integration tests finish running in the pipeline
lighthouse ci automatically checks performance, SEO and accessibility on every deploy. This increases the chance that severe performance issues get spotted quickly and incentivizes best practices

should be taken care of by the new vercel analytics


How to use the ThemeProvider in a Gatsby app?

💬 Questions and Help
Not sure if this is currently supported at all, but it would be pretty great!

Ah, I think you can just wrap your layout component!


Inverse anything

Description
Would be very nice to be able to add some kind of modifier/shorthand to any elements to add ^(-1) after it.
Use Case
Anything inversable really

Try this:
#let inverse(it) = $it^(-1)$

$ 5 + inverse((x + 5)) $


Register package on packagist

https://packagist.org/about

A fork has been.  https://packagist.org/packages/course-hero/fuel-sdk-php


Prefix for paramstore cannot be empty

Type: Bug
Component:
Parameter Store
Describe the bug
According to the documentation, the prefix can be either a valid path or empty. This is great, because I want to only have the application name, no static prefix. But in reality, there is a validation that rejects null and empty strings.
Sample
Simply use aws.paramstore.prefix: "" in bootstrap.yml. The validation is also easy to find in the AwsParamStoreProperties.java, line 96.

Moved to https://github.com/awspring/spring-cloud-aws/issues/167


Chop down nexrad.py

nexrad.py has a lot of general data structures and utilities for binary I/O.

[x] Move out general utilties to promote re-use
[ ] Add unit tests

Utilities moved out as part of #34
Still need to add unit tests for these components.


Resizable columns

Warning!
The commit adds the ability to resize columns in the table without broking flex layout. Related issue https://github.com/lensapp/lens/issues/601
What is working:

flex layout on the initial state
resizing columns (excluding checkboxes)

Problems:

performance
columns state is not saved [Fixed]
sorting is broken [Fixed]
- small UI issues like double-scrollbars

@aleksfront @Nokel81
Could you please take a look?
Unfortunately, I'm not sure that I followed a good way by adding resizing elements to the existing implementation (it is the simplest way, but it has a lot of restrictions and cons)
Probably we should replace table implementation with something like react-table, what do you think about?

@pashevskii please resolve ItemListLayout conflicts so that we can move code reviews further.

@jakolehm done!

It is possible to resize the second last column weirdly:
There is a similar PR #2146, does it make sense to support two PR at the same time? Probably we should close this one?

Sounds good thanks for the initial PR though.


automatic screen resize no longer works after upgrading to nixos 22.05

Describe the bug
The vm no longer automatically resizes when the window containing it changes size.
Running nixos 22.05 in a vm under VMWare Fusion (Player Version 12.2.3 (19436697)) on mac OS Big Sur (11.6.6). Recently upgraded from nixos 21.05.
Steps To Reproduce
Steps to reproduce the behavior:

In your config somewhere is vmware.guest.enable = true;
Launch nixos vm in VMWare Fusion
Use the View menu dropdown to change  from Full Screen to Single Single Window
The vm will show black bars on the top and bottom (failed to resize)

Expected behavior
The desktop background should resize to fill the window, indicating that the window size change was detected by the vm.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Using awesomewm as desktop.
Notify maintainers
@infinisil @peterhoeg @Artturin .
Sorry for possible spam. I could not identify a clear maintainer for the vmware.guest.enable option.

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.43, NixOS, 22.05 (Quokka), 22.05.20220602.40e2b1a`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.8.1`
 - channels(root): `"nixos-21.05.4726.530a53dcbc9"`
 - nixpkgs: `/nix/store/vmsmfym5036s433m4k2n72wkj198k6za-source`

I'm experiencing the same bug.
It happens with both, stable.open-vm-tools (12.0.0) and unstable.open-vm-tools (12.0.5).
Maybe @joamaki can help?

What is your services.xserver.videoDrivers set to otherwise?

Adding the the following to my configuration.nix file fixed the issue.
services.xserver.videoDrivers = [ "vmware" ];

Found this via the comment above. A similar issue addressed here has the same suggestion.
The root cause appears to be this [commit]? (https://github.com/NixOS/nixpkgs/commit/5157246aa4fdcbef7796ef9914c3a7e630c838ef).


support pulseaudio via pipewire

Hi,
I just face the same issue as https://github.com/mviereck/x11docker/issues/238 after switching to pipewire via http://ppa.launchpad.net/pipewire-debian/pipewire-upstream/ubuntu.
I also found https://github.com/mviereck/x11docker/issues/380 were you stated that you do not see a reason for implementing pipewire support.
When running pipewire the pactl command cannot create its own socket.
A solution I found was to mount the existing pulseaudio socket created by pipewire into the container for /x11docker/pulseaudio.socket like this:
-v "$(LC_ALL=C pactl info | grep 'Server String' | cut -d' ' -f3):/x11docker/pulseaudio.socket"
Maybe it could be implemented as fallback when socket creation using pactl fails.
I tried adding the required code myself but haven't found the intended way to add a volume to the Backendcommand.
If you can give me a hint on that I'll create a pull request.
Regards,
Andrwe

When running pipewire the pactl command cannot create its own socket.

This is odd. Why/how could pipewire disallow this?
I had issues with pactl e.g. if running as root.

A solution I found was to mount the existing pulseaudio socket

I would not like to share the existing socket. This might cause security issues.
Could you please try to run with --pulseaudio=tcp? Maybe that works.

When I'm running in tcp-mode pulseaudio clients exit with timeout:
$ time pactl info
Connection failure: Connection refused

real    0m5.021s
user    0m0.005s
sys     0m0.012s

As far as I understand the Pipewire documentation about modules the module module-native-protocol-unix does not exist which is causing the error Failure: No such entity.
An alternative module seems to be libpipewire-module-protocol-native but I haven't got it working yet to generate a new socket to access audio.
The TCP module module-native-protocol-tcp exists but the created socket is not accessible within the container:

(check using x11docker/check)

Thank you for the details!
I was not aware that pipewire directly supports pulseaudio commands. that should make things easier.
I have removed pulseaudio and installed pipewire to reproduce your setup.
However, it does bot work well yet.
I have to manually start pipewire-pulse. Than pactl info works and shows pipewire in the Server Name.
But pavucontrol finds no devices.
Regarding the tcp issue:
Regardless which module I try to load, I get an error. Example:
$ pactl load-module module-native-protocol-tcp listen=<IP_ADDRESS>
Failure: No such entity

What do you get with this command?

Thanks for testing this setup.
Running the command on my host system works:
$ pactl load-module module-native-protocol-tcp listen=<IP_ADDRESS>
536870912

To run pavucontrol IIRC you have to start the following services as user (at least they are running on my system):
systemctl start --user pipewire-session-manager.service pipewire-media-session.service pipewire-pulse.service

When I stop pipewire-media-session I get the same error as you do.

Ok, after some attempts I finally got pipewire to work. Your hint with pipewire-media-session was useful. The version for debian bullseye was unusable, so I've installed some pipewire packages from debian testing, and after some systemd service setup I got it to work.
Now I can reproduce your issue.
Because on host everything else works as it should, I assume there is a bug in the tcp module of pipewire.
Not sure yet what to do, will think over it.
The command x11docker uses:
pactl load-module module-native-protocol-tcp port=55339 auth-ip-acl=<IP_ADDRESS>

(port and IP can differ)
The command seems to succeed and I get a module number. But access failes.
Note: For --pulseaudio=tcp x11docker also needs --network to allow network access.
I also tried
pactl load-module module-native-protocol-tcp listen=<IP_ADDRESS>

but failed, too.

Today the load-module command fails again. Don't know why.
I won't hunt pipewire bugs further.
As a workaround, I've introduced option --pulseaudio=host that allows to share the host pulseaudio socket.
This is basically the proposal you have made in your first post.
It is not implemented as a fallback because I think this should not be used automatically. But it can be specified manually.

The host mode works for me too.
After further debugging an researching I found https://bbs.archlinux.org/viewtopic.php?id=272200 which points to a pipewire-pulse bug https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1863.
According to that the TCP access control implementation of pipewire-pulse is broken and does not allow any connections resulting in the timeout we are seeing.
This can only be fixed by replacing pipewire-pulse with the successor project wireplumber.
Unfortunately I cannot test that ATM but the host mode solves this issue for now.
Thanks for debugging and implementing the workaround.

After further debugging an researching I found https://bbs.archlinux.org/viewtopic.php?id=272200 which points to a pipewire-pulse bug https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1863.

Good to know, thanks for investigation!
So at some point in future when the fix is available in general it should just work for x11docker. For now x11docker prints a message if it detects pipewire and gives a hint to use --pulseaudio=host.


[Backport1.x] Fixed CVEs

Description
[Describe what this change achieves]
Backporting manually #1001
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@mohitamg can you check CI failures?

can't trigger the CI, will try to close it and reopen


Remove deprecations before major release

[ECS] Remove deprecated config sets, make container configuraotr scoped
fixup! [ECS] Remove deprecated config sets, make container configuraotr scoped

yep, thats the way to go. good job :)

btw what is the replacement for the symfony sets? Doing it myself? 🤔

@shyim There is pretty simple and always-up-to-date solution :)
https://github.com/symplify/symplify/pull/4070#issuecomment-1135896943


Update / Complete test cases

To avoid bugs due to incomplete test data, this pull request completes the test cases with missing ("null") values. Before I process all other events, please give me your basic agreement.

Ok, but can we agree that the proof is per field not per field and file?

I guess in most (if not all) cases we can...

@mgross-ebner  we've migrated the repository over to GitLab.com.
Please see https://github.com/xanzy/go-gitlab/issues/2060#issuecomment-2532116371 for more context.


[FR] - make it possible to hide net-wireless when wired is connected

Ususally wired connection is the default one, so it might be desirable to hide wireless-network module to decrease the real estate occupied by network modules.
Additionally/alternatively, perhaps we could use a common network module that covers both? (eg for displaying up and down bandwidth metrics for selected network interfaces, ie wired+wireless)

You can already do this. Create modules for each interface. When an interface is down you can hide it.
There is a Polybar option that offers you to display the traffic for all interfaces:
accumulate-stats = true

When an interface is down you can hide it.

That'd be via format-disconnected right? Ye that'd work, but with external logic that disconnects wifi when wired. To be fair, it does sounds like something that shouldn't be in polybar anyways.

That'd be via format-disconnected right?

Correct, just set it to an empty string and the module will disappear.
If both interfaces are up and running polybar will of course display both modules, and I don't think that we should make polybar hide modules for interfaces that are still connected.

Additionally, would accumulate-stats also include loopback adapter?

Yes

Thinking a little more about this, I really don't think, different modules should influence each other this way


Could not connect to scanner

Hi! I am having the same issue, using a wireless Clarius C3, Ubuntu 18, software version 7.1.0 for listener API. I have the Listener API software license for the probe (though I don't recollect activating anything, just connected to the mobile app). All devices are on the probe's wifi, TCP connection established with the probe, but every time I get a message "could not connect to scanner". I was wondering what resolved the issue for @olim0. Thanks!
Originally posted by @lydiazoghbi in https://github.com/clariusdev/cast/issues/5#issuecomment-863454950

the listen api is now the cast api, we suggest using the latest app software (v8 now), though we still support v7 apk's via the mobile api repository.
if your device if licensed accordingly, you will see the ip and port displayed at the top of the screen, use those parameters to connect via the api.


fix: ambiguous_glob_reexports rustc lint

Motivation
new rustc lint dropped, warn level by default

Solution

PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Breaking changes

eip712 / live tests are changed in #2279, not going to change it here


2024 Podcasts not showing up

2024 podcasts aren't showing up on the proxy endpoints - latest ones are the last ones from December - is this a configuration or code issue?

I'm having the same issue, so I think it is a code issue.

Oddly enough, if you run this in Docker, you get a different list of shows than if you run it in Windows. As an example, Morning Wire in Docker only has episodes from 2022 and Shapiro has episodes through today, but if you run it in Windows, Morning Wire and Shapiro have episodes through 02 Jan 2024 but nothing after that. Not sure what the difference between running them is.


Update project dependencies

What: Update project dependencies.
There's also an issue with rails warnings with ruby 2.7. I added information to the README what to do with this while these are fixed in Rails. Here's information about this https://prathamesh.tech/2019/12/26/managing-warnings-emitted-by-ruby-2-7/
Why: To have the app with the latest security and performances fixes
How:

Merging renovate bot PRs
Upgrade to latest rails and ruby 2.7
Upgrade to stripe 5.x, this version has breaking changes.

@duranmla I'm going to merge this.


Python: Separate AsyncLogClient from the LogClient

There really is no reason for those separate classes to live in the same
package.

To be clear, there are no functional changes: I've simply moved the AsyncLogClient from log_client.py to a module of its own.

Done with this round of review.
There's now a fair bit of digging into log_client, including for some underscore-prefixed things... Might need a follow up sort of cleanup?

Thanks for the review, will submit shortly.
@pphaneuf re digging into the log_client, I agree, some clean-up may be in order, do you have a concrete suggestion on how to address that?
I could extract common constants/functions to log_client_base or something.

LGTM.
Yes, something along those lines? Maybe more log_client_common (or just common.py, as this is already in the ct/client/ directory, provides enough context, no "stuttering" on import), as I believe the blocking and non-blocking clients are quite independent (they don't derive from a common base class, say).


Different running results while executing the same wasm file with different runtime tools

Describe the bug
While executing the given testcase with wasm-micro-runtime and other runtime tools, the results are different.
Test Case
The given testcase was simply mutated a wasm file, which was obtained by compiling C program generated with Csmith using Emscripten Compiler(Emcc).
The original C program is c_file.c, the compilation results with Emscripten is wasm_file.wasm, and its wat format is wat_file.wat.
We mutated the wat file as follows:

change all the i32/i64.sub with i32/i64.add
change all the i32/i64.gt_u with i32/i64.le_s
change all the i32/i64.ge_s with i32/i64.le_u

The result after mutation is mutated_file.wat, and its wasm format is mutated_file.wasm.
Actual Results
While executing the given testcase with command iwasm mutated_file.wasm, wamr will output a very long garbled code and attach Exception: out of bounds memory access at the end of it.
Because the output result is too long, I won't show it here.
Expected Results
I use some other runtime tools. such as wasmer, wasmtime, wasmedge and wasmi, to execute the same testcase. All of their running results are the same: outputs nothing. Their running results are shown in the following figure.

I'm not sure which execution result is correct, but in terms of quantity comparison, wamr doesn't seem to have an advantage. The detail still needs you to confirm.
Versions and Environment
Tools version: iwasm 1.2.3
Operating system: Ubuntu 22.04.1
Architecture: x86_64

Hi, thanks for reporting the issue! It is due to the stdin fd is allowed to write by default, I submitted #2606 to fix it, please try again.


test

Coverage remained the same at 99.326% when pulling 9e7fa7cd871be8b570ffcdc7f0be116c37905572 on leetCodeProblem into a80703eecd159aa39293aca3ec95e596120cd006 on master.

Coverage remained the same at 99.326% when pulling 9eedb0433298964646fd235d85d40752653ae23e on leetCodeProblem into a80703eecd159aa39293aca3ec95e596120cd006 on master.

Coverage remained the same at 99.326% when pulling 9e0cc7583332d439048449bec0e382fa6455c1ef on leetCodeProblem into a80703eecd159aa39293aca3ec95e596120cd006 on master.

Coverage remained the same at 99.326% when pulling 9e0cc7583332d439048449bec0e382fa6455c1ef on leetCodeProblem into a80703eecd159aa39293aca3ec95e596120cd006 on master.


Bug in edittask: exception is thrown but no error is shown in feedback.

Try this input:
edittask 3 d/cs2100 finals pr/priority 3 on date 02/08/2018

Please copy and paste the input that I suggested. The command that you used is not the same and will be handled differently.

The format of the command you gave to me is not correct.
On Sun, Nov 12, 2017 at 9:13 AM, lancehaoh<EMAIL_ADDRESS>wrote:

Please copy and paste the input that I suggested. The command that you
used is not the same and will be handled differently.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/CS2103AUG2017-W11-B1/main/issues/214#issuecomment-343706409,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXjAyQa4OxxPaYxMRCUi1qrYvDlAaQKcks5s1kZUgaJpZM4QalyF
.

We can't assume that users will always enter the correct format right? Our application must be able to handle incorrect instances gracefully.

Please refer to the last issue you just created.

Hmm. That is for a separate problem. This problem is related to a parse error in the application.

Parsing string is not handled by me. The string is passed in AddressBookParser, which all arguments are processed in the same way. If this is an "error" then all task related commands the same problem, formatting.
And I don't think it is an error, but about how users are expected to use the application in the correct way. So what I can do is to document from a user's point of view as detailed as I can.

Alright then.


Navigation doesn't respect boundaries

Notice while being in the talk page, it is giving the next page to be the one from SHOWCASE page i.e RecyclerViewHelper.
Also on showcase page, "RecyclerViewHelper" is treated as a clickable link, so when I click on this link here in navigation page..it takes me to the page itself which obviously doesn't have anything in there.

The solution should be that the navigation should only cycle through a certain type i.e only talks or only posts or only showcases and not jump between the types.

You are right.
Should be fixed.
Thanks for the good issue 👍

It's fixed now.
Pagination not jumping types, sections anymore

Closing as this is fixed.
Thank you :tada:


[WIP] stream settings: Add dropdown menu to allow sorting of streams.

Fixes #8659
I have tried one possible way to implement the UI for sorting of streams. Once we finalize that, I would work on sorting the list based on the selected option.
Testing Plan:
Currently, manually tested.
GIFs or Screenshots:

I am unable to test the sorting of streams by average weekly traffic since all streams are New.

For the manual testing part of it, I think we should add some code to populate_db and create some RealmCount objects for a few of the populate_db streams to make the sorting work.  Can you do that in a separate commit (we'll probably merge that one first)?

@nkmishra1997 I'd also work on actually implementing the sorting piece.

@timabbott I have added the sorting functions list.add_sort_function('weekly_messages'.....
So, to populate the test DB, I created StreamCount Objects for the 'messages_in_stream:is_bot:day' property and it is leading to failure of tests in analytics/tests/test_counts.py for those tests where we have used self.assertTableState(StreamCount, [], [])
Shall I modify these tests? I don't find it right to do so as an analytics test should not depend on what happens in populate_db.
What would you suggest for creating non zero weekly traffic, if we don't follow this approach?

Closing as this was implemented last year.  Thanks for working on this @nkmishra1997!


Changelog needed

Non-minor version 0.12.0 released with quite a few new features. I believe CHANGELOG.md or some sort of release notes would be beneficial for the community. Otherwise how do we know we can upgrade and not break things?

Hey @egorFiNE, this repo is a monorepo.
You can find the changelog under each of the individual packages. The main one is the @nomicfoundation/hardhat-ignition changelog, you can find at:
https://github.com/NomicFoundation/hardhat-ignition/blob/main/packages/hardhat-plugin/CHANGELOG.md

@kanej indeed. Thank you very much!!


Partitions Metadata

Motivation
The file with the partitions should also save metadata regarding:
1 - Method used to define the partitions
* Partitioning algorithm and its parameters
* Similarity metric and its parameters
2- Cluster composition
Possible implementation
Refactor the code to generate the outputs with a dictionary style where there are two keys: partitions, metadata. Within metadata, there will be another dictionary with partitioning_algorithm, similarity_metric, and cluster_composition.
A problem with this approach is that the metadata might be quite heavy, particularly the cluster_composition. So, a flag will be created in the save_partitions method: include_clusters. If turn to True the cluster_composition value will be a list with the cluster to which each of the elements in the dataset belong (-1 will be used to designate sequences removed with GraphPart); if turn to False, it will contain a list of the clusters and their sizes.
This setup will increase the size of the partitions object, but I hope will increase is interpretability and reproducibility. Any user that wants to can read the file and then remove the information or manually save just the partitions list.
Alternatives
None so far.
Additional context
None

I've decided to change the logic of the include_clusters flag and it will generate either a key cluster_composition with the number of elements in each cluster or clusters with a list of to which cluster every entry belongs to.


oiiotool: control flow

How do you craft an oiiotool command that will examine a file and add
an alpha=1 channel if it's a 3-channel file, but leave the existing
alpha alone if it's already a 4 channel file?
This patch adds control flow, so you could express the above like this:
oiiotool in.exr --if "{TOP.nchannels < 4}" --ch R,G,B,A=1 --endif -o out.exr

The following slate of new fetures is added:

--set name value sets a "user variable".

Expression evaluation will expand identifiers that are the names of
user variables. For example, {i} is replaced by the value of user
variable i, and {i+3} returns 3 more than the current numerical
value of i.

Expression evaluation has been extended to support the following
numerical comparison operators: < > <= >= == != and
<=> (the last one being the 3-way comparison, like in C++20).
Note that the comprison operators have the same precedence as +
and -, so use parentheses liberally to disambiguate complex mixed
expressions.

--if condition commands... [--else commands...] --endif

--while condition commands... --endwhile

--for variable range commands... --endfor where the range may be,
like Python, any of end (implied begin=0, step=1), begin,end
(implied step=1), or begin,end,step.

Also needed to modify ArgParse so that it has the notion of whether
it's "running" -- actually calling the actions for each argument, or
if it's merely parsing but taking no action -- and to be able to set
and retrieve which command line argument index an action is responding
to.

There is a special notoriety, and a surprise gift from me, for the first person who posts the code for a working ray tracer implemented entirely as a single oiiotool command line.

Updated PR to add new expression functionality:

! for logical not, and also a functional synonym not(x) which may be handy if you're using a shell that thinks ! is special and hard to represent literally on the command line.
var(x) as another way to get the value held by user variable x (to use in cases where using the name directly could somehow be ambiguous).
eq(x,y) and neq(x,y) for string comparisons.


Question: How angular-local-storage works in IE10?

Hello,
I need to add local storage to my Angular app. I have read many posts to document myself before picking a module and angular-local-storage seems to be fairly well rated. But I wonder how it works in IE10, because, according to caniuse, that IE version does not support local storage:
http://caniuse.com/#feat=namevalue-storage
I know there is the cookie fall back alternative, but I'm curious what would happen if I use localStorageService.set or localStorageService.getmethods in IE10. Would that break the app?
Thanks

IE10 supports local storage. On caniuse.com click "Show All."
Also, even if it did not support local storage it will store the data in cookies using the same API. localStorageService setters and getters will store and get from whatever storage option is available. The whole idea is that it's seamless for you to develop.


hacs.json name property to match manifest.json?

What about to change (from hacs.json):
"name": "Solcast PV Solar"

to (which is in manifest.json):
"name": "Solcast PV Forecast"

So is the naming the same?
Also "PV Solar" is somewhat redundant term, imo. 😋
But I don't want to be pedantic or anything like that. 😆
Keep up and have fun guys!

As a fellow pedant, in principle I agree, but for the wider implications regarding an outstanding HACS PR I will defer to @BJReplay. (Assuming that PR is ever to be merged, given HACS.next...)

Yeah, not a bad tidy up, provided a) it doesn't break anything, including nearly 4,000 HACS installs, and b) the PR, though that's probably of secondary importance.

As a fellow pedant

🤝

Assuming that PR is ever to be merged, given HACS.next...

I'm wondering could you tell me more about that? As I too have PR there for davidrapan/ha-solarman

a) it doesn't break anything, including nearly 4,000 HACS installs

I was assuming that it's only display related thing and the crucial parts are repo and folder name, hm?

I'm wondering could you tell me more about that? As I have PR there too...

It looks highly likely that there's not going to be any more repos added to HACS current before HACS v2, which is coming sometime maybe. There are many PRs outstanding, some waiting for six months with much chirping crickets, despite being approved for merge as we are. The HACS Discord channel apparently has more.

I was assuming that it's only display related thing and the crucial parts are repo and folder name, hm?

That's my assumption, but I don't know enough to be sure.
I'd test this change in a pre-release just in case.  Having assumed something about updating the readme which demonstrated two things (one, with the benefit of hindsight, obvious, the other, not so much) I'm wary.

Also "PV Solar" is somewhat redundant term, imo

What, no thermal solar for you?  At this time of year, most of my heating is thermal solar, thank you very much 🤣.
Yes, agreed.
I think we'll include it in the next release as a beta, just in case.  I'll add it to the open PR, we'll release as a pre-release, and if OK, upgrade to latest release.


avoid crash when index not support on this server.

if user try to build a Gpu index on the cpu server, milvus will crash on the knowhere side now.

/assign @Presburger

@Presburger Is this still a problem?


Blog - Make responsive

closes with https://github.com/balqaasem/mydevportfolio/commit/c82b06f260c772fd42f1a8947a2485f7b0470ddc


Avoid granting Linux capabilities

My task was to run your Helm chart on K8s cluster with restrictive pod security policy. The worst problem I encountered was that you grant Linux capabilities in order to bind 80 port inside of container. As a result I was not able to run these images in any way without rebuilding them reverting this operation. That's why I propose you to use other port inside of containers and map it externally to 80 during running a container.

@Ottovsky can you please review this?

@Ottovsky can you please review this?
Sure, will do it later this week. Can you rebase this PR onto upstream master?

Coverage remained the same at 71.958% when pulling 85dbac4f36baef7544001ac04c653a2d7b78d931 on nokia:nokia into 9582b1738d8a877a84df4e477666847ebb922b48 on microservices-demo:master.

Merged, thank you for the contribution!


Merge pull request #43 from AnotherStranger/dev

Upcoming release

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


DateTime isn't passed to the debuggee side

When opening the debugging visualizer on an expression typed as DateTime:
var dte = DateTime.UtcNow;

the target in the TransferData method on the VisualizerObjectSource is passed in as null.
This doesn't happen if the visualizer is opened against a boxed DateTime:
object o = dte;

which is presumably why it doesn't happen when testing with the visualizer test host:
var visualizerHost = new Microsoft.VisualStudio.DebuggerVisualizers.VisualizerDevelopmentHost(DateTime.Now, typeof(Visualizer), typeof(VisualizerObjectSource));
visualizerHost.ShowVisualizer();

because the first parameter is typed as object, and there's an implicit boxing when passing in a DateTime expression to object.

I've reported the problem.

Similar behavior can be seen here:


Add functions to take/release just producer or consumer

This implements:

BBBuffer::try_take_producer: split-off just the producer
BBBuffer::try_take_consumer: split-off just the consumer
BBBuffer::try_release_producer: release (give back) just the producer
BBBuffer::try_release_consumer: release (give back) just the consumer

I choose to use an AtomicU8 for the already_split state with a bit for the producer and consumer parts which are defined in BIT_PRODUCER and BIT_CONSUMER respectively. I thought this would be the right approach as updating the state for both the producer and consumer can still be done in a single atomic operation. That wouldn't be the case when using two separate AtomicBool's.
Things to resolve before merge:

[x] Do we still need to zero the buffer when taking just the producer or consumer, like try_split? (currently commented-out)
[x] Do we still need to reinitialize the buffer when releasing just the producer or consumer, like try_release?
[x] This uses fetch_or and fetch_add, do we need to implement this for thumbv6?

The above things I'm currently uncertain about. My knowledge is lacking on this, thus I'd like to ask to make sure the implementation is sound. The PR branch is open, so feel free to make an edit.
Fixes https://github.com/jamesmunns/bbqueue/issues/40
Related https://github.com/jamesmunns/bbqueue/issues/67

Ping @jamesmunns (due to draft PR)

CI seems to give back some errors. Investigating this now. Probably an implementation error.

This uses fetch_or and fetch_add, do we need to implement this for thumbv6?

Apparently, yes: https://github.com/jamesmunns/bbqueue/pull/78/checks?check_run_id=1390049078

Do we still need to zero the buffer when taking just the producer or consumer, like try_split? (currently commented-out)

Yes, I would suggest doing either on the first one that is taken, or doing it for the consumer alone is probably enough. Otherwise it is undefined behavior.

Do we still need to reinitialize the buffer when releasing just the producer or consumer, like try_release?

This is optional. It's generally not safe to do unless BOTH halves have been released. When in doubt, skip it.

Do we still need to zero the buffer when taking just the producer or consumer, like try_split? (currently commented-out)

Yes, I would suggest doing either on the first one that is taken, or doing it for the consumer alone is probably enough. Otherwise it is undefined behavior.

Do we still need to reinitialize the buffer when releasing just the producer or consumer, like try_release?

This is optional. It's generally not safe to do unless BOTH halves have been released. When in doubt, skip it.

This has been implemented in de43a301adc7eaae872f782a5c0ca686b07b8da0

Hey @timvisee, I'll plan on reviewing this PR this weekend, but I realized that I was wrong - you'll need to zero-init the buffer when the PRODUCER (not consumer) is taken - as the producer will be the one to "see" the contents of the data first (e.g. if a producer is taken, then a grant is requested, the grant will be able to "see" uninitialized data if no consumer has been taken). Sorry for the wrong guidance before.

@jamesmunns missed your message, just noticed it now. Thanks for the follow up. I'll attempt to fix this tomorrow.

@jamesmunns It now zeroes when the producer is taken. I amended this change to the last commit (03b97746e5af06c82f6a10841c54e2601a14ab5d).

Will conflict with #103

These conflicts should be resolvable though.
@timvisee If you still want this merged, you can rebase this on top of #103. Once #103 is merged, we could merge this too.

@Sympatron Thanks!
I'll rebase and reevaluate this PR later today. I did not keep track of all the recent changes and so this may very well not be valid anymore.

Some changes will be necessary, because #103 uses portable-atomic for cross platform atomics, but those should be minor and the overall goal of this PR should still be applicable.

Some changes will be necessary, because #103 uses portable-atomic for cross platform atomics, but those should be minor and the overall goal of this PR should still be applicable.

Just rebasing turned out to be more difficult than I had anticipated. I think it'd be better to implement this from scratch.
Sadly, I currently don't have the resources available to do so. If someone else wants to make the effort, please feel free!
I consider this PR stale and will therefore close it now.


Need a way to tell StateDownloader.run() to exit

What is wrong?
That method returns only once its scheduler has run out of requests to make, but we need a way to tell it to stop anyway (e.g. when we get a SIGINT)
How can it be fixed
Add something like LightChain._should_stop, to StateDownloader, and have run() exit when it is set.
If we fix #280 first, this should be really straightforward

Fixed by #345


[Event Request] table 21 "Cust. Ledger Entry" - OnValidateMaxPaymentToleranceBeforeFieldError

Describe the request
Hello, can you please add a new Event OnValidateMaxPaymentToleranceBeforeFieldError in table 21 "Cust. Ledger Entry"?
        field(79; "Max. Payment Tolerance"; Decimal)
        {
            AutoFormatExpression = Rec."Currency Code";
            AutoFormatType = 1;
            Caption = 'Max. Payment Tolerance';

            trigger OnValidate()
            begin
                TestField(Open, true);
                CalcFields(Amount, "Remaining Amount");
                OnValidateMaxPaymentToleranceBeforeFieldError(Rec);

                if "Max. Payment Tolerance" * Amount < 0 then
                    FieldError("Max. Payment Tolerance", StrSubstNo(Text000, FieldCaption(Amount)));

                if Abs("Max. Payment Tolerance") > Abs("Remaining Amount") then
                    FieldError("Max. Payment Tolerance", StrSubstNo(Text001, FieldCaption("Remaining Amount")));
            end;
        }

    [IntegrationEvent(false, false)]
    local procedure OnValidateMaxPaymentToleranceBeforeFieldError(var CustLedgerEntry: Record "Cust. Ledger Entry")
    begin
    end;

Additional context
We have additional values to calculate the Remaining Amount and need to recalculate it to prevent the field error from been thrown falsely.
Internal work item: AB#547365

Availability update: We will publish a fix for this issue in the next update for release 25.
Build ID to track: 26614.


how can I edit colors?

between your documentation and IBM's I can't figure out how I add new regex/s or change colors..
if I want to change colors, does that not mean I basically have to create my own extension, like yours?
confused..

Hey all!
So I ran into this plugin and a similar problem with the output window not having any color support.  I have a fork where I added the ability for a user to add their own regexes and semantics to the output stream.
In a few days, I'll see about adding a PR after adding testing.  If anyone would like to try it out, the README is updated with instructions here:
https://github.com/hanseltime/vscode-log-output-colorizer

@kymikoloco Thanks for that! Do you know if it's possible to restrict the tweak to the log window only?
Because for example, if I use your trick to change string.quoted (instead of invalid.deprecated </string>  ) it will change the color on ALL windows, everywhere in vscode.


Use numeric versioning for Ubuntu images?

The non-micromamba Ubuntu 22.04 image is ubuntu:22.04. The micromamba Ubuntu 22.04 image is jammy. How about we add an additional tag ubuntu-22.04 or similar?

Yes. I can also add numeric version for the Debian images.  It will require some new code in the CD pipeline, so I'm not sure how quickly I'll get this done.

This is done in fda4370c047207032fb4db9020ebb1a993bdeacb. The images with the new tags are not yet populating the container repositories, but should be shortly once I fix a bit of the CD pipeline. See https://github.com/mamba-org/micromamba-docker/issues/526


Update MD file on new branch 2017-23-22_03-11-30

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:white_check_mark:Succeeded

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


issue of keep ratio = True

class alignCollate(object):

    def __init__(self, imgH=32, imgW=100, keep_ratio=False, min_ratio=1):
        self.imgH = imgH
        self.imgW = imgW
        self.keep_ratio = keep_ratio
        self.min_ratio = min_ratio

    def __call__(self, batch):
        images, labels = zip(*batch)

        imgH = self.imgH
        imgW = self.imgW
        if self.keep_ratio:
            ratios = []
            for image in images:
                w, h = image.size
                ratios.append(w / float(h))
            ratios.sort()
            max_ratio = ratios[-1]
            imgW = int(np.floor(max_ratio * imgH))
            imgW = max(imgH * self.min_ratio, imgW)  # assure imgH >= imgW

        transform = resizeNormalize((imgW, imgH))
        images = [transform(image) for image in images]
        images = torch.cat([t.unsqueeze(0) for t in images], 0)

        return images, labels

based on the above code, even we set keep_ratio = True, we cannot make the original aspect ratio of each image unchanged. Actually only aspect ratio of image with max w/h ratio is unchanged.
so generally how to keep ratio unchanged for all the images? by zero padding?
I'm very curious about the statement in https://github.com/meijieru/crnn.pytorch
see below:

Construct dataset following origin guide. If you want to train with variable length images (keep the origin ratio for example), please modify the tool/create_dataset.py and sort the image according to the text length.

Hi,
Because the images are resized according to the imgW = max(imgH * self.min_ratio, imgW) in one batch.
So, if your images are sorted according to the text length, the images having the same width will be in the same batch.

Great. you are so smart!!!
But if we set  shuffle=True in train_loader. Then what you mentioned will not work?
Thank you so much.

So we can set shuffle=False

Setting shuffle=False in the data-loader will cause batches to have same set of samples in every epoch right. I think it might cause over fitting. Ideally we must shuffle data every epoch. But if you shuffle, sorting by length makes no sense as well :)


webdav-server: How to handle errors while reading dir

          Please don't unwrap error returned by OpenDAL, return en error instead.

Since FsStream requires to return Box<dyn DavDirEntry>, maybe we return a bad entry instead.
This change can be done in following PRs.
Originally posted by @Xuanwo in https://github.com/apache/incubator-opendal/pull/3119#discussion_r1333070402

Has been implemented.


AOP Alliance support for Hystrix-Javanica.

Right now, javanica supports only aspectj based aop. It would be great if javanica can support AOP Alliance  as it is endorsed by most of the Dependency Injection tools like Spring, HK2, Guice etc. I have had some success in bringing in AOP Alliance support to javanica even though it involves a good deal of refactoring.  Let me know your thoughts.

AOP Alliance is a bit clunky code-wise IMHO. Be aware that you can use Aspectj just as well with spring and usually it is easier too

AspectJ is great with Spring. But, if you are locked with other DI frameworks like HK2, Guice etc they don't have out of the box integrations with aspectj. For eg: In our application, we use Jersey and decided to go with their default DI which is HK2 and HK2 doesn't support aspectJ. On the other hand AOP Alliance is supported by all major DI frameworks.
Even if javanica does not provide support for other aop libraries out of the box, it would be great if the available apis can be extended so that third party integrations can be done by interested parties without much hassles. But, the current design is very much limited to AspectJ.

@dmgcodevil Any thoughts on if this is something you are interested in reviewing a PR for/writing yourself?

Hi @justinjose28, I know that the current implementation is far from perfect . Since that moment I learned many things and tried different approaches in software development. Those days I was possessed by infamous software patterns in java: builder, factory , builder factory and such like. Now, I hate it and have been considering the idea of rewriting javanica from scratch for a long while. I'm not adept of refactoring projects with broken design: it's hard, expensive and time consuming. I'd to collaborate with people, share my experience and build solid product which everyone will be happy to contribute.
Regarding your question: yes, it would be better to support all possible variations of AOP frameworks and tools. Do you have any ideas of how it can be accomplished in general ?  I'm wondering if there are such libraries already.

Hi @dmgcodevil, Thanks for your reply!
I think current implementation is very solid except that it is not very extendable because of the builder, static methods etc. If there is a plan to rewrite javanica, I am also interested to contribute.
Now, coming to AOP Alliance support, even though I initially thought it requires a major refactoring, it looks like this can be implemented without much change in existing setup. Basically, in aspectJ everything is driven by ProceedingJoinPoint and in AopAlliance it is driven by MethodInvocation and fortunately most of the parameters expected from ProceedingJoinPoint is present in MethodInvocation as well. So,  only change required is to make HystrixCommandAspect.MetaHolderFactory generic enough to accept both MethodInvocation and ProceedingJoinPoint to generate an appropriate MetaHolder and also move reusable code in HystrixCommandAspect and HystrixCacheAspect to a super class so that AopAlliance proxys can use them.
I have made these changes already and updated test cases. Does it make sense to submit a PR now OR wait till the javanica rewrite?

Go ahead, I don't know when exactly I will have a time to start global refactoring. Also it would be nice if we can extract aop specific code into separate modules , e.g. javanica-aspectj, javanica-aop-alliance and etc, otherwise people will have unnecessary dependencies in classpath . Does it make sense ?

@dmgcodevil  My original plan was to create separate projects. Then I thought such a major change may not be appreciated. However, things have now turned in such a way that separate modules are inevitable. Initially, I tested my AOP alliance code with Spring and it passed all tests. But, when I tried other implementations(Guice & HK2), they failed. It looks like there is a difference in how aop alliance interception is achieved between Spring and others. As per AOP Alliance specification, MethodInvocation provides details like intercepted method, arguments, target object etc. While Spring gives the actual target object via MethodInvocation.getThis(), other implementations return decorated or proxy object. As a result, method.invoke(obj, args) in MethodExecutionAction again goes back to the aspect method because it is invoked on proxy object and this causes infinite cycles. Only option I could find was to use MethodHandle to invoke the original method(super class method from proxy object perspective). After this, AOP alliance is working with three implementations Spring,HK2 & Guice and it passed all tests that were present in the current project. I have created three projects

hystrix-javanica
hystrix-javanica-aspectj
hystrix-javanica-aop-alliance

Now, I have following questions

MethodHandle was introduced in Java 7. The entire Hystrix project is comapatible with Java 6. But, hystrix-javanica-aop-alliance require Java 7. Is this fine? Can you think of any alternatives for MethodHandle?

where should the test code be placed? Right now, I have placed common test code in hystrix-javanica and it is added as a test dependency to hystrix-javanica-aspectj and hystrix-javanica-aop-alliance.

It would be great if you can take a look at https://github.com/justinjose28/Hystrix/tree/master/hystrix-contrib and give your feedback. If it  makes sense, I will submit PR.

Hi, thanks for working on this, very appreciated. Sure, create PR so that other people can review. Regarding your questions:

It depends on which library is used to create proxies, if it's CGLIB then you can try to get original object from InvocationHandler, if you don't have access to InvocationHandler then you can try to use
getTargetSource method as suggested here
If there is no way to do that we can go with MethodHandle but it should be documented. I think that upgrading java will make beneficial effect on javanica because MethodHandles is faster than common java reflection API since it's using new invokedynamic instructions. However it will happen only after hystrix core upgraded to use java 8.

Ideally we should have one root project which is hystrix-javanica that contains other modules like hystrix-javanica-core, hystrix-javanica-test and etc.

Hi @dmgcodevil, Thanks for your quick feedback. I have submitted PR for this one. As you suggested, I have made hystrix-javanica a root project and created sub modules hystrix-javanica-core, hystrix-javanica-aspectj and hystrix-javanica-aop-alliance. For now, I have kept common tests under hystrix-javanica-core itself because I think it is easy to maintain. If creating a separate project for test is the standard, we can do that.
Now, coming to getting access to original object, I couldn't find a way that is supported by all aop alliance implementations and feel MethodHandle is one of the easiest solution available right now and this can work even if other hystrix modules are Java 6. Only constraint here is if you are using hystrix-javanica-aop-alliance, you need Java 7 or higher. hystrix-javanica-aspectj and other modules can still work on Java 6 and there is no need for a whole project upgade to Java 7 or higher. I have also updated the README with the details.

@justinjose28 nice ! Will review it by the end of the week. Thanks.


Error Webhook config unable to be retrieved

Error Webhook config unable to be retrieved
Getting an error as outlined above when i click on Manage Webhooks. i am not sure what that implies. Permission of the config. json file set to 777 error still persists. How can i solve ths issue.
The json respone seen in the cli indicates Error: Code 32 Message: Could not authenticate you. I am sure the Apps Access permission and Keys, secret keys and access tokens are right and properly set in the config.json aswell as the TWITTER_WEBHOOK_ENV and Callback URLs.
Do those different Error messages point to the same Problem?
How do i start solving this facer? Where should i start what should i do next?
Any help appreciated. Many thanks in advance.
PS: i feel like it is unsettling that the "Dev environment label" in the documentation is referred to as "envoirment name".  Maybe that should be changed for a clearer naming consistency.

Did you figure out what was causing this error message?

I have a similar problem, but a different error.  I have tried everything I can think of, and am hoping someone has a suggestion.  I am confident that my keys/tokens are correct, but when I use the dashboard to create the webhook, I get this message:
Webhook URL does not meet the requirements. Invalid CRC token or json response format.
I was thinking that it was just the format of the response, but I have tried a whole bunch of things, based on the python example, and so far, no luck.  My server is node.js, and here's the code.  The request is definitely getting there (I can see it in the logs) but the return is apparently bad.
I'm using the crypto library to create the hmac (again, as in the example provided here.)
function twitterWebhook(req, res, next)
{
my.logger.verbose('Entered the Twitter Webhook');
my.logger.verbose('Here is the url:  ' + JSON.stringify(req.url));
my.logger.verbose('Here is the query:  ' + JSON.stringify(req.query));
var crc_token = req.query.crc_token;

my.logger.verbose('crc_token is:  ' + crc_token);
my.logger.verbose('secret is   :  ' + conf.T_consumer_secret);

var hmac = crypto.createHmac('sha256', conf.T_consumer_secret).update(crc_token).digest('base64');
my.logger.verbose('hmac is     :  ' + hmac);

if (req.method.toLowerCase() == 'get'){
    var aResponse = {response_token:hmac};
    var aResponseString = JSON.stringify(aResponse);
    my.logger.verbose('Responding with   :  ' + aResponseString);
    res.json(aResponseString);
    //res.json(hmac);
}

return;

I have had a similar issue. From what i can understand, it could be possible that your node server is taking more than 3 secs to return the sha256 token for crc verification. It is written in the requirements of setting up a webhook. Do verify if its true


Create container instance seems to be out of date....

I just recently installed Azure Powershell module and have been trying to run New-AzContainerGroup, which seems to no longer have the -Image parameter that is mentioned on the page. It has a -Container parameter, which you can create an object for, which takes a ImageRegistryCredential which you can also create an object of, although I've not successfully gotten any of this working because my ServicePrincipal used to create a registry credential seems to have an empty Identity field and the command says properties.imageRegistryCredentials[0].identity is invalid. Everything works fine using the Azure CLI using the same service principal though, but that's not helping my Azure Powershell scripting unfortunately.

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

ID: ab030f18-c377-42e4-02ab-f9fda73253ad
Version Independent ID: 2ac64eb4-0de4-6538-d97d-40ddb5ac5060
Content: Quickstart - Deploy Docker container to container instance - PowerShell - Azure Container Instances
Content Source: articles/container-instances/container-instances-quickstart-powershell.md
Service: container-instances
GitHub Login: @macolso
Microsoft Alias: macolso

It seems the reason why New-AzContainerGroup doesn't work is because I was using New-AzContainerGroupImageRegistryCredentialObject for creating my credential object. If I use a Hash Table instead everything works fine. Probably a bug there of some sort, maybe something related to the SecureString data type it takes in for the password.

@jhastingsiii Thank you for bringing this to our attention!  We're reviewing the command and will get back to you shortly.

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. Though the scope of our feedback channel here on GitHub covers specific documentation fixes, we can help redirect you to the right support channel to get an answer to your question: [reference to alternative product/service or community endpoint]. Because this issue does not relate to documentation, we are closing this issue. #please-close