Request to change jade/pug line comment to //-

VSCode Version: 1.0.0
OS Version: OSX 10.11.4

Steps to Reproduce:

Open a jade file
Press cmd+/

In the language config, a jade line comment is currently defined as //:
https://github.com/Microsoft/vscode/blob/master/src/vs/editor/standalone-languages/jade.ts#L17
This is certainly valid jade, but it gets compiled to an HTML comment, e.g.
index.jade
// my comment

...becomes
index.html
<!-- my comment -->

I think it would be preferable to choose the true jade comment syntax //- as these are not included in the compiled markup
I cannot speak for all editors, but Sublime Text uses //- when you use cmd+/, for example.
If you are happy to allow this change, I will gladly submit a PR for it

I can make the change, thanks for the suggestion, I think you are correct.

Great, thanks!


feat: handle api error

TISNEW-4207
BE error response/structure/codes isn't defined yet but this is a first phase of FE handling an api error for trainees list page

added GetTraineesSuccess, GetTraineesError actions and event methods
added error slice to trainees state
addd MatChipsModule to MaterialModule and leveraged material chips to show error on ui

TISNEW-4207
BE error response/structure/codes isn't defined yet but this is a first phase of FE handling an api error for trainees list page

added GetTraineesSuccess, GetTraineesError actions and event methods
added error slice to trainees state
addd MatChipsModule to MaterialModule and leveraged material chips to show error on ui

Love the feed-back UX given to users. I think we can leverage an error module / class at some point where we give uniform user friendly errors. E.g. for http status 404 "a network error occurred, please check your internet connection" . I.e without technical language.

yea good shout on the error module / class and handling the errors in a user friendly way @ojemuyiwa


Appstudio update test-custom-default-branch-zuek

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-ufgi-on-pull-request-
creating pipelinerun test-simple-build-ufgi-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nwtb-on-pull-request-
creating pipelinerun test-simple-build-nwtb-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-wadk-on-pull-request-
creating pipelinerun test-simple-build-wadk-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-ufgi-on-pull-request-
creating pipelinerun test-simple-build-ufgi-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-dtnt-on-pull-request-
creating pipelinerun test-annotations-dtnt-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-gcoj-on-pull-request-
creating pipelinerun test-annotations-gcoj-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-yrqk-on-pull-request-
creating pipelinerun test-annotations-yrqk-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-vchz-on-pull-request-
creating pipelinerun test-annotations-vchz-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-ntht-on-pull-request-
creating pipelinerun test-annotations-ntht-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-mcmm-on-pull-request-
creating pipelinerun test-simple-build-mcmm-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-vchz-on-pull-request-
creating pipelinerun test-annotations-vchz-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nyrh-on-pull-request-
creating pipelinerun test-simple-build-nyrh-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nyrh-on-pull-request-
creating pipelinerun test-simple-build-nyrh-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-custom-default-branch-zuek-on-pull-request-
creating pipelinerun test-custom-default-branch-zuek-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-uqzm-on-pull-request-
creating pipelinerun test-simple-build-uqzm-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-yrqk-on-pull-request-
creating pipelinerun test-annotations-yrqk-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-dtnt-on-pull-request-
creating pipelinerun test-annotations-dtnt-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-lqle-on-pull-request-
creating pipelinerun test-simple-build-lqle-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-imul-on-pull-request-
creating pipelinerun test-simple-build-imul-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-imul-on-pull-request-
creating pipelinerun test-simple-build-imul-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-uqzm-on-pull-request-
creating pipelinerun test-simple-build-uqzm-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nwtb-on-pull-request-
creating pipelinerun test-simple-build-nwtb-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-wadk-on-pull-request-
creating pipelinerun test-simple-build-wadk-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-mijr-on-pull-request-
creating pipelinerun test-annotations-mijr-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-lqle-on-pull-request-
creating pipelinerun test-simple-build-lqle-on-pull-request- in namespace build-e2e-ngkv-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-mcmm-on-pull-request-
creating pipelinerun test-simple-build-mcmm-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-gcoj-on-pull-request-
creating pipelinerun test-annotations-gcoj-on-pull-request- in namespace build-e2e-pqzl-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request


recompile libyuv for Linux x86_64

For some reason I get the following error when building openpilot. I'm using Ubuntu 22.04
$ scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
clang++ -o selfdrive/camerad/camerad -Wl,--as-needed -Wl,--no-undefined -Wl,-rpath=/home/incognitojam/openpilot/third_party/acados/x86_64/lib -Wl,-rpath=/home/incognitojam/openpilot/third_party/snpe/x86_64-linux-clang -Wl,-rpath=/home/incognitojam/openpilot/cereal -Wl,-rpath=/home/incognitojam/openpilot/selfdrive/common selfdrive/camerad/main.o selfdrive/camerad/cameras/camera_common.o selfdrive/camerad/transforms/rgb_to_yuv.o selfdrive/camerad/imgproc/utils.o selfdrive/camerad/cameras/camera_replay.o selfdrive/camerad/camera-util.o selfdrive/camerad/camera-framereader.o selfdrive/camerad/camera-filereader.o -Lthird_party/acados/x86_64/lib -Lthird_party/snpe/x86_64-linux-clang -Lthird_party/libyuv/x64/lib -Lthird_party/mapbox-gl-native-qt/x86_64 -Lcereal -Lselfdrive/common -L/usr/lib -L/usr/local/lib -Lcereal -Lthird_party -Lopendbc/can -Lselfdrive/boardd -Lselfdrive/common -lm -lpthread selfdrive/common/libcommon.a -ljson11 -ljpeg -lOpenCL -lyuv cereal/libcereal.a cereal/libmessaging.a -lzmq -lcapnp -lkj cereal/libvisionipc.a selfdrive/common/libgpucommon.a -lGL -lavutil -lavcodec -lavformat -lbz2 -lssl -lcurl -lcrypto
/usr/bin/ld: third_party/libyuv/x64/lib/libyuv.a(convert.cc.o): relocation R_X86_64_32S against symbol `CopyRow_C' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: failed to set dynamic section sizes: bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
scons: *** [selfdrive/camerad/camerad] Error 1
scons: building terminated because of errors.

I can solve it by recompiling libyuv like so (same instructions as in third_party/libyuv/build.txt...)
cd third_party
git clone https://chromium.googlesource.com/libyuv/libyuv libyuv.src
cd libyuv.src
git reset --hard 4a14cb2e81235ecd656e799aecaaf139db8ce4a2
cmake .
make
cp libyuv.a ../libyuv/x64/lib

I suspect you'll want to recompile it yourself, but I'm just opening a PR to see whether this would break anything on Ubuntu 20.04
EDIT: it didn't break the docker image/build...

Can you try this out? https://github.com/commaai/openpilot/commit/5dfb21656fdc9cbde1934968321eb1fd602eb59e

@adeebshihadeh That works! :)

Please backport this to commatwo_master too :)


add support for appconfiguration

Fixes #41976
Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Provisioning


Update tzdata to 2022a version

I think we can remove test/requires and python <3.10 https://github.com/AnacondaRecipes/tzdata-feedstock/blob/8c53aecbbc088b2dab03c34b08270ac0c5252314/recipe/meta.yaml#L31-L32


How to skip animation?

for example when i run:
ollama run mistral
>>> some prompt

... very slow letter by letter output ... <-- how to make this faster?

hi @kokizzu it's like that when there is not enough available memory. If you are on a Mac with 8GB of RAM, try to restart and only launch Ollama and Terminal. It could be faster, buy 8GB is not enough for Mistral.

@kokizzu what are the specs for your system? If you have a limited amount of GPU memory this would be expected behaviour.

32 core Ryzen 9 , 128GB '__') but no nvidia GPU, just old AMD RX 6600 XT

Unfortunately you are running on the CPU and it's just not very fast. The AMD support is just about to go in, but I'm not sure if that card is supported in ROCm 6. You can try it w/ PR #1146 or wait until that gets merged (hopefully later today or tomorrow).
If you are using the API (either /api/generate or /api/chat) you can set stream=false which will return everything as one response instead of token by token, but there isn't a way to do that in the REPL (i.e. the CLI).
Barring that, you can either try by renting an instance in the cloud (like on Fly.io or from Paperspace), or upgrade to a faster system. I'm going to go ahead and close the issue, but feel free to re-open it (or better, just ask on the discord) if you want to follow up.


Add Option Support to Dialogs

Summary
At this PR we added option support so select/option boxes will be supported by opstool.

Ticket Link
Fixes: #19

ideally we need somehow this options to be dynamic later instead of static config.

Mattermost has data_source field which can be users and channels. We can add one more  option script.  If script is specified opstool can execute script and that script will return json array. Similar to commands.


Remove custom inspect functions

After hearing out @safareli's arguments about custom inspect for concurrify, I went along and checked if the standard inspect provides useful output, and I would argue that it does:
> Future.after(1, 1).map(x => x + 1).chain(x => Future.of(x)).toString()
'Future.after(1, 1).map(x => x + 1).chain(x => Future.of(x))'

> Future.after(1, 1).map(x => x + 1).chain(x => Future.of(x))
Future {
  _parent: Future { _parent: Future { _time: 1, _value: 1 }, _mapper: [Function] },
  _chainer: [Function] }

Reasons for removing custom inspect:

Default inspect lies within the expectation of a developer
Default inspect may improve in the future
toString might overflow the stack, potentially giving developers a very bad REPL experience
Why provide one way to inspect a Future if we can provide two?

Should this be considered a breaking change? I would say "no" because m.inspect is still Future ab ~> () -> String and the string it returns is undocumented and should not be built upon.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@ffd07a9).

Continue to review full report at Codecov.

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

Should this be considered a breaking change? I would say "no" because m.inspect is still Future ab ~> () -> String and the string it returns is undocumented and should not be built upon.

I agree.

just saw this: http://code.visualstudio.com/updates/v1_9#_better-object-display-in-the-console-node2

Oh. So we made a good choice? :)

yap 🥇


Linux: font size issues in v1.92.x

Pull comments from #224496 per @deepak1556's suggestion:

this issue is specific to macOS, can you open a separate issue for your case. Thanks!

Relevant comments regarding font issues in various flavors of Linux:

https://github.com/microsoft/vscode/issues/224496#issuecomment-2265166136
https://github.com/microsoft/vscode/issues/224496#issuecomment-2266184744
https://github.com/microsoft/vscode/issues/224496#issuecomment-2267595270
https://github.com/microsoft/vscode/issues/224496#issuecomment-2282641562
https://github.com/microsoft/vscode/issues/224496#issuecomment-2284604782

Filing this mostly to stem the tide of comments on the macOS issue and to give folks a space to discuss the Linux issues. I'll be immediately unsubscribing so… have at it. 😄

Relevant screenshots (where menu items looks bigger):
Top menu items: https://prnt.sc/Twi3ckgzi0YA
Context menu items: https://prnt.sc/-qD51jp8JpMK
Could be font issue or zooming, I don't know

I am not on my main laptop (which is 1366x768) I am on my 1920x1080 laptop, but I have changed the desktop scaling to show what the menus look like. I used to be able to close the editor from the menu without having to scroll. This happens for the right-click menu also. My specs are in the screenshot below:

Thanks @jgarber623 for taking the time to create the issue.
Based on the screenshots this is different from the macOS editor font issue and is specific to menu fonts which is a known upstream issue, tracked in https://github.com/microsoft/vscode/issues/224515. Please follow the issue for updates.


question: layout panel + tabs + form +grid.  Grid sometimes don't show on tab change.

I haye a layout and in its main panel I defined two tabs. The panel has as sole content a div where, after creating the layout, I add the form corresponding the default tab, using the content command. On render I add the grid and add its records. That allows me to display initially.
I added a onClick event to the tabs where, every time a tab is selected its corresponding form is created and since inside each form there is a grid, I also add the grid. Since the grid was not showing, I add it using a setTimeout of 50. I'm tempted to make the time even greater because some times the grid does not display at all. Nertheless I thinks that there may be a simple and nicer way. Thanks a lot

Please submit only bugs here. All questions to comments on w2ui.com or stackoverflow.com


Improve the wording of position examination messages

Change "You see floor" to "it is lying on the floor", if an item was mentioned earlier or "he/she/it is standing on the floor", if not item, but actor was mentioned. Also "he is standing over a blowtorch that is lying on the dirt floor" if both actor and item present. Etc. Take into account pronouns (each actor has one) and singular/plural.
Also make the texts more obvious: not "there is" for items, actors and terrain, but, e.g., "the terrain here is floor" if there is no item and actor. Merge this with the already implemented verbs depending on whether the position is seen, etc.

I think while "Red robot is standing over a blowtorch that is lying on the dirt floor" is nifty and would read well in a book, separate sentences, with different colour and the ability to filter some of them out are better for a game, where the information repeats for many tiles. It's better if the textural representation of the information repeats too, even if with small variations. At least the count of sentences and the colour should match whenever there are or are not actors and items on the inspected tile.
However, using more specific verbs and pronouns would make the texts easier to consume for newbies, while not introducing too distracting variety.


SystemD support should be added -

SystemD support should be added, there is a problem with starting/stopping MySQL
 Could not Shutdown MySQL!
 Refer to MySQL Error log file
 Redirecting to /bin/systemctl stop  mysql.service
 Failed to issue method call: Unit mysql.service not loaded.


Unsupported static monitor file type

Currently autokuma fails to create monitors if there is anything else besides .json or .toml files in the directory, if autokuma would explicitly look only for .json and .toml files it should not break anything, but it would fix at least one scenario where we are running autokuma in kubernetes and mounting configmaps as volumes which creates  links in the directory:
root@autokuma-58fb5b9fdf-b97mc:/autokuma/static-monitors# ls
example.json

root@autokuma-58fb5b9fdf-b97mc:/autokuma/static-monitors# ls -lah
total 12K
drwxrwxrwx 3 root root 4.0K Aug 26 08:07 .
drwxr-xr-x 3 root root 4.0K Aug 26 08:07 ..
drwxr-xr-x 2 root root 4.0K Aug 26 08:07 ..2024_08_26_08_07_18.3501614066
lrwxrwxrwx 1 root root   32 Aug 26 08:07 ..data -> ..2024_08_26_08_07_18.3501614066
lrwxrwxrwx 1 root root   19 Aug 26 08:07 example.json -> ..data/example.json

results in:

WARN [autokuma::sync] Encountered error during sync: Unable to deserialize: Unsupported static monitor file type: /autokuma/static-monitors/..2024_08_26_08_07_18.3501614066, supported: .json, .toml

This has been fixed on master, please note that the master currently contains some breaking change so make sure to read the CHANGELOG if you want to test the feature.


Is this project in active development?

We are trying to integrate this with Sonata Media Bundle and CKEditor 4. Is this project still active? Once Sonata Media Bundle is compatible with Symfony 5, is there going to be an update?

Hey @cgb37
The short answer is "probably not", however, we currently use this bundle in few of our old clients projects, therefor it might see an update if we would upgrade these projects, beside, i can't promise you any further development as we don't use it on our newer projects ( this applies to all sonata bundles under @coopTilleuls organization ).

thanks so much for the quick response. Do you have any suggestions for integrating CKEditor 4 with the sonata media bundle?

This should be relatively easy to update this bundle to use CKEditor 4. PR welcome :)


Adding backup storage redundancy parameters to 2020-02-02-preview ManagedInstance swagger

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Please follow the link to find more details on PR review process.

/azp run automation - sdk

/azp run automation - sdk

Can one of the admins verify this patch?

/azp run automation - sdk

@qianwens Hi, could you take a look at this changes, since they are urgent for GA of the feature? I see that there are some failing checks that detect BreakingChange due to addition to new parameter. This is optional parameter in PUT request. However, since this is API in preview version, and documentation is not yet public, I wonder how we proceed this cases when Breaking change is detected?

/azp run automation - sdk

/azp run automation - sdk

Breaking change approved due to it is preview version.


Investigate why stub generation fails on build but works on test

Found this when bumping template. I think it must be ordering issue that I didn't notice before

fixed in #162

This is still broken because we actually don't have any of the dependencies when building. So while we are now able to import our module we need it's dependecies...

this is now fixed in #171. We can't use python to generate stubs during build due to environment isolation.


[Domestic Sound Event Detection- DCASE TASK4]

Readme with instructions to reproduce
Best performing model recipe
Results added to Readme
Commiting Applied ML Projects Course project code

Hi @vishalghor ,
Thanks for this PR. I can try to review this, this weekend.
We can also take the opinions of @popcornell and @mravanelli .
But first of all, can you try to enable pre-commit hooks so that the formatting tests do not fail?
Thanks!
Cem

Hi @ycemsubakan ,
I enabled pre-commit hooks by making the .git/hooks/ files as executable. Linters checks are failing as per the CI. Is there any tool we can use to correct lint errors.

You can run the linter tests locally by running the the main speechbrain folder:
tests/.run-linters.sh
black issues can be fixed just by installing black an typing "black file_name.py". After this fix all tests should pass.

Hi @ycemsubakan , @mravanelli I was able to check-in the code after clearing all lint errors and yaml errors. thank you

Great, I will take a look today. Thanks @vishalghor !

Hi @vishalghor, thanks a lot for this PR. Code looks great in my opinion. Here are some minor comments before we can merge:

Currently, we are using Dataset --> task convention for the recipes. So, following this, I think we can call the recipe DCASE, and call the task Domestic-Sound-Event-Detection. We can then put all the relevant files for domestic sound event detection such as train.py, and the yaml files inside the folder Domestic-Sound-Event-Detection.  You can take a look at the other recipes on the current develop branch to take inspiration.

Normally in the recipes we do not include metadata such as .tsv or .csv. Can we make it so that these files could be downloaded from a link? You can use a publically available option such as a dropbox link. Also, it seems like the download option only downloads the audio files, and requires the .tsv files to be present. Is it possible so that the .tsv files can be downloaded automatically also when we call train.py?

Would it be possible to make it so that the code would run even if some of the files specified in the .tsv files are not present? As you write in the README, the youtube downloads can fail, but we still would want to be able to run the script nevertheless.

In the other recipes we typically call the .yaml files after the model that is used. I would suggest to create a folder called hparams as we do in the other recipes, and put all the .yaml files under that folder. If I understand correctly you already have a folder called yaml_bank, so you could simply remove train.yaml file and rename the yaml_bank folder to be hparams.

We usually put the models under the lobes folder. So, I suggest you put the models in a file under the path speechbrain/lobes/models/dcase_models.py.

Hi @ycemsubakan ,
Thank you for the review.
I will make the edits as per the suggestion and commit the code.
-> Would it be possible to make it so that the code would run even if some of the files specified in the .tsv files are not present? As you write in the README, the youtube downloads can fail, but we still would want to be able to run the script nevertheless.

We had tried earlier but it seems tsv files are needed to run the script. We had generated .json file acceptable by speechbrain but as a large part of data is from youtube download the json file would change from one user to other depending on which files didnt download.
I will put the tsv in a dropbox or drive location and add it to download script .

Hi @vishalghor ,
I think the most important point is that we should be able to run train.py even if there are some missing files. In my case, there were some missing files, and for that reason I couldn't run the script. So, when we generate json files for the dataloaders, can we make it so that we only include the files that have been successfully downloaded?
Thanks,
Cem

Hi @ycemsubakan ,
Above is the commit with all the changes incorporated.
For running the trianing if few files are missing due to the download process, we have made the json creation script to take files only which are downloaded. It uses the missing_files folder to decide which file did not get downloaded and exclude it in json.
Also for now I have kept the model folder but the yaml file is updated with the models being placed at the location specified by you.
After this review will remove the model folder from the DCASE folder.
Kindly review the same.

Hi @vishalghor , I will give this a review, thank you very much for the updates!

@ycemsubakan @vishalghor, any update on this. It looks like some tests are failing..

Hi @mravanelli , yes I will take a look into this, hopefully this weekend.

Dear @vishalghor,
Thank you for your contribution to our project through this pull request. Unfortunately, we have decided to close this pull request due to its staleness.
Since the initial submission, our project has undergone significant updates, and we've released several new versions. As a result, we kindly request you to create a new pull request with the latest commits to ensure compatibility and integration with the current codebase.
Please sync your fork with the latest changes from the main repository and address any potential conflicts that may arise during this process. We appreciate your understanding and continued interest in contributing to our project.
If you have any questions or encounter difficulties while creating the new pull request, feel free to reach out. We value your contributions and look forward to seeing an updated pull request from you.
Best regards,
Adel


Demo link broken

Duplicate of #366

Here is the demo for you guys:
https://crm.citvy.com/
Credentials:
email<EMAIL_ADDRESS>password: q363602qwE
Feel free to explore user functionality. Admin is not available for you :) Sign in works, no signup though for now. We will add registration for you via https://citvy.com so signup is going to be working in several hours. 🤟


Implement webapp i18n translations

Summary
This PR adds tooling to the webapp to extract translations, and converts most of the strings in the components files.
There are a few places where translations are not applied, because the functions run in a context separate from a component in the React tree:

webapp/src/hooks/index.ts - slashCommandWillBePostedHook for instance
webapp/src/actions/index.ts
webapp/src/utils/jira_issue_metadata.tsx

Ticket Link
Fixes https://github.com/mattermost/mattermost-plugin-jira/issues/827

@m1lt0n @asatkinson I'm thinking of closing this PR, since it hasn't been worked on in some time and isn't prioritized. I'm thinking that localization of plugins can be another aggregate plugin task we can assign to Brightscout.

Closing due to inactivity.


blender: 2.83.0 -> 2.83.1

Can't reopen #91902, so this is a resubmit

Closing in favor of #91902 (re-opened later)


Provide HTTP (or WS) API to support browser extensions

As per https://github.com/dat-land/dat-desktop/issues/518
The IPFS daemon provides an HTTP API which has enabled them to build a Chrome/Firefox extension, ipfs-companion, which allows users to view ipfs:// urls directly in their preferred browser and provides a window.ipfs global to allow web apps to access the local IPFS node instead of bootstrapping one within the browser.
Having an HTTP API for dat will allow us to do the same thing with the goal of providing the features in the beaker browser as an extension one can add to Chrome or Firefox (redirectng dat urls, DatArchive API).

Hi!
If I understand correctly, this has nothing to do with "serving dat over HTTP" but is rather about "enabling an HTTP API on top of dat"?
I wouldn't see why we could not add an http daemon on top of the current tcp one :). It should be fairly easy to reuse the code as the tcp one only has 50 lines.

Yes, the goal is to be able to make a client that connects over HTTP which provides the browser with the same interface as the dat JS API.
Would a PR using websockets be welcome?

Okay I get it.
Do you think that we can force end-users (ie API consumers) to use protocol-buffers instead of JSON?
I mean currently the tcp daemon does:
function onconnection (socket) {
  socket.pipe(
    new Transform({
      async transform (chunk, enc, cb) {
        try {
          this.push(await onmessage(chunk))
          cb()
        } catch (err) {
          cb(err)
        }
      }
    })
  ).pipe(socket)
}

And this code can remain unchanged by using WebSockets and slightly modified for HTTP by using req.pipe(transform).pipe(res) if we can use protocol buffers (not sure about HTTP and the Accept header there haha).
Then, last point before getting in the code is to choose to do:

A daemon that can launch HTTP, TCP, WS (one or many)
One daemon per protocol

WDYT?

Do you think that we can force end-users (ie API consumers) to use protocol-buffers instead of JSON?

Since this library already has the protobuf serialization / deserialization logic in JS, I think it would be very easy to publish that as an NPM package so that both the daemon and potential client implementations can rely on it.
If using protobufs for this is really easy, then I doubt anybody would complain about it.

slightly modified for HTTP
I think that just having websockets will be enough to support any environments that can use HTTP.

A daemon that can launch HTTP, TCP, WS / one daemon per protocol
Personally, I think having a single daemon that allows you to configure protocols would be ideal.

Alternately, why not get rid of TCP and just have WS? It behaves very similarly with the added benefit of working in browsers.

Yes why not just use WS it'd allow every sort of use case (cli, desktop, browser stuff etc.).
We need to add one configuration hook to determine the listen argument which can be one of:

port
socket

I want to keep the socket as default because it allows us to not check if a port is available.
If you want to propose a patch, feel free to do so!

Oh I almost forgot, we need to expose lib/proto.js somehow so that clients can use the encode/decode functions.

I'd suggest publishing a new module called dat-daemon-protocol which just has the proto.js content as it's export.
Will the cli need to be changed to support WS?
I could do PRs, but I'll have to wait until this weekend to be able to do a proper job with tests since I'm kinda busy during the week. :D

Np then I'll do it!

Will the cli need to be changed to support WS?

A bit but not much in fact.

I'd suggest publishing a new module called dat-daemon-protocol which just has the proto.js content as it's export.

Why not but it's easier to maintain here especially since the daemon is in its early states :p.

easier to maintain here

True, I think it'll be safe to just have module authors require the proto.js file directly from this project for now.
Really excited for this! I've been crazy about IPFS the past while because they had pubsub and first class browser support, but the more I think about it the more I appreciate how Dat has a few but very powerful features instead of being super low level.

Mhh one more though, because websockets would need a new dependency, I'll:

keep tcp as default
allow wss through configuration

I'm not sure if HTTP has any added value but we can still add it later!

Fair enough. How will people enable websockets? Will it be a configuration change and an global install of ws?

Mhh I don't like global modules... I'm thinking about a dat-daemon-ws module that'd reuse the code here but just add websockets on top!

Yeah, that's pretty elegant.


Question: locale changing for jvm source set

Hello @comahe-de !
I'm looking for i18n library for Kotlin Multiplatform and I have jvm and js source set only(Ktor and React).
My question is about locale changing - it's totally clear that changing locale atomic ref in I18n4kConfig is ok for the frontend(js or mobile app) as you have separate application instance per client, but what about backend? You have only one backend instance for many clients and each client can have different locale.
For example we have 2 clients with different locale(client_1 - en, client_2 - de). Each client makes many parallel http requests with different locale. Each request contains many steps for generation some localized text documents, and the response time can be, for example, from 500ms to 20sec.
That's means that for each request I will change locale atomic ref in I18n4kConfig and it could happen that client_1 request is not finished yet, but client_2 request is already begun. What would happen in this case? Would client_1 receive part of the response in en and part in de?

Hi,
you could set the required locale when getting the String:
e.g. you could replace this:
    label1.text = MyMessages.title()
    label2.text = MyMessages.sayHello(textField.text)

with that:
    val myLocale : Locale = ...
    label1.text = MyMessages.title.toString(myLocale)
    label2.text = MyMessages.sayHello[textField.text].toString(myLocale)

Thank you for this advise, this could help me.
What do you think, is it possible to have jvm specific implementetion of MessageBundle with Locale stored in scope of request(something like https://kotlinlang.org/docs/coroutine-context-and-dispatchers.html#thread-local-data)?

Normally you store the locale in the session or request and then pass it down the function you call.
If you don't want to do this, you could write your own implementation of I18n4kConfig where you store the request locale in a thread local member variable. Then you create a global instance (Kotlin object) of this new class and assign the reference also to the global i18n4k variable. Then, at the beginning of the request processing, you store the locale in your global instance. But this will only work, if the entire processing is done in this single thread.

Another alternative is to use LocalizedString instead of Sting in the results of your processing. And only at the end, when you build the response for the request, you call the toString method with the locale of the request.

Thank you very much, it's clear for me, we can close this issue!


Don't reload the agent if the reload policy is set to never.

This requires the change made in https://github.com/RLBot/RLBot/pull/490

To be merged after rlbot>=1.36.2 is deployed.


Translate CardinalKit to Spanish [Useful for developers in Spain & Latam]

Translate CardinalKit in multiples languages.
Starting a test by Spanish.
1.- Save time and money to developers. Improve time to implementation.
2.- Translate recognized medical surveys for use with CardinalKit.
3.- Extend Translates to Partner Projects.
CardinalKit
Useful for hispanic or latino population in US [For Example: Florida State]
Useful for hispanic or latino population Spain & LatAm.
More Studies: Track- Surveys - FollowUp
https://www.miscaminatas.com/index.html
Goals
1.- WHO Global action plan on physical activity 2018–2030 "More active people for a healthier world"
2.- Non-communicable disease (NCD) https://www.cdc.gov/globalhealth/healthprotection/ncd/about.html

Thank you for the suggestion, @miscaminatas, we would love to do this! Our new CardinalKit framework, launching in Early 2023, will have enhanced capabilities for localization. cc: @PSchmiedmayer


Allow key skipping in big model inference

This PR adds an option to skip keys when moving inputs/outputs during the big model inference. The main motivation is #1394

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Node v8.0 support

Node v8.0 has been released.
I think we should also drop Node v4.0 support / CI completely.

@syxolk Looking at this roadmap, maybe it's reasonable to drop both 4 and 5 and move 7 to allow_failure?

Yeah, Node 5 has been dead for a long time already.

Ok, then let's prune it off.


db.go: use log.Println instead of fmt.Println

This causes logging from the gosnowflake driver to actually successfully
bubble up to the master terraform process console log.
As a major side benefit, this was the fix for large terraform plans
hanging forever after refreshing a couple dozen schema_grant resources.
For more information see #69.
Fixes #69.

CI on this PR is going to fail until https://github.com/chanzuckerberg/terraform-provider-snowflake/pull/71 gets merged, which includes CI infra fixes.


Firefox appearance

I've add support to -moz-appearance
and -webkit-appearance once firefox shows in console a message about not supporting appearance
Version info
latest

Milligram doesn't need to support browsers specific rules, that's webpack job.

sorry about that but i didn't find any related abuot it on the contributing guide

@promatik thank you for helping @schirrel
For now, I will close this issue.
Please, if you need help feel free to reopen or open a new!


Updated developer docs to include Kind

What this PR does / why we need it:
Adding Kind as an alternative in getting setup with local Kubernetes.
Which issue(s) this PR fixes (optional, in Fixes #<issue number>, #<issue number>, ... format, will close the issue(s) when PR gets merged):
Fixes #
Checklist:

[x] Docs included if any changes are user facing

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4379

Relevant Lines:
12399

💛  - Coveralls

@franciscojavierarceo Could you resolve DCO issues follow this guideline?

@tenzen-y done


Added restuarant website

Description 📜
It's an web development project where the customers can view the restaurant details, staffs, foods available, menu details , contact details and different services provided by the restaurant
Fixes #1163

Type of change 📝
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] Add a new project

Domain of Contribution 📊
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] Project using HTML, CSS & JS

Checklist ✅
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] I have performed a self-review of my own code or work.
[x] I have commented on my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.
[x] I'm GSSoC'22 contributor

Screenshots / Gif (Recommended) 📸

Attach screenshots @jyothi-k-g

I have added the screenshots in the Readme file

@jyothi-k-g my lappy lagged here because of so many files


Create re-theming demo page

Create a demo page containing core picker components from the design system to demonstrate new theming functionality

Retheming tokens were created to allow for us to demo the functionality of the design system


Adopt go.work, rename modules to prep for monorepo

This PR:

renames the modules to their final destination name in the monorepo
splits the packages into modules: op-node, op-proposer, op-batcher, op-e2e
moves ops to ops-bedrock, to prepare for monorepo
Many Makefile and Dockerfile updates to make the above work
updates CI (including getting coverage for all the separate modules)

Didn't test this 100% yet, work in progress.

Stuck on a go issue:
../../../go/pkg/mod/github.com/btcsuite/btcd@v0.22.0-beta/chaincfg/genesis.go:10:2: ambiguous import: found package github.com/btcsuite/btcd/chaincfg/chainhash in multiple modules:
        github.com/btcsuite/btcd v0.22.0-beta<EMAIL_ADDRESS>        github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0<EMAIL_ADDRESS>
Which I think causes a build issue which the linting tooling can't handle (but go itself can somehow...):
golangci-lint run -E asciicheck,goimports,misspell --fix
WARN [runner] Can't run linter goanalysis_metalinter: buildir: failed to load package : could not load export data: no export data for "github.com/btcsuite/btcd/chaincfg/chainhash"
ERRO Running error: 1 error occurred:
        * can't run linter goanalysis_metalinter: buildir: failed to load package : could not load export data: no export data for "github.com/btcsuite/btcd/chaincfg/chainhash"

Codecov Report

Merging #414 (0d78160) into main (ec11032) will decrease coverage by 23.52%.
The diff coverage is 50.00%.

:exclamation: Current head 0d78160 differs from pull request most recent head f762ce0. Consider uploading reports for the commit f762ce0 to get more accurate results

@@             Coverage Diff             @@
##             main     #414       +/-   ##
===========================================
- Coverage   51.50%   27.97%   -23.53%
===========================================
  Files          57       57
  Lines        5763     5763
===========================================
- Hits         2968     1612     -1356
- Misses       2424     3990     +1566
+ Partials      371      161      -210

Flag
Coverage Δ

unittests
27.97% <50.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

op-batcher/batch_submitter.go
0.00% <0.00%> (ø)

op-batcher/cmd/main.go
0.00% <0.00%> (ø)

op-batcher/config.go
0.00% <ø> (ø)

op-batcher/db/history_db.go
51.94% <ø> (ø)

op-batcher/flags/flags.go
100.00% <ø> (ø)

op-batcher/sequencer/driver.go
0.00% <ø> (ø)

op-e2e/geth.go
63.93% <ø> (ø)

op-node/backoff/operation.go
88.88% <ø> (ø)

op-node/backoff/strategies.go
86.36% <ø> (ø)

op-node/cmd/main.go
8.45% <0.00%> (ø)

... and 75 more

Continue to review full report at Codecov.

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

Rebased to resolve merge conflicts

Deleted code cov comment since it wasn't updating anymore. Coverage is stable, no changes to actual code, and we merge all the coverage reports of different modules by pushing them all to codecov. You can find the coverage diff here: https://app.codecov.io/gh/ethereum-optimism/optimistic-specs/compare/main...go-work (some renames, basically 0 coverage difference)

I can help fix this merge conflict with a rebase in 4 hours from now. Basically need to rebase on main, drop all the old file moves + import rewrites, and redo those, then fix up some go imports, while preserving the docker and ci config fixes.


refactor: Update dependencies in java maven module and cleanup code

Update maven-plugins in pom.xml
Update dependency versions in pom.xml
Remove model-assert (test) dependency to avoid using libraries with knwon CVEs
Replaced model-assert with assertj+gson
Removed unused imports
Made pointer field in ExtismCurrentPlugin private final
Made handle field in CancelHandle private final and exposed the cancel method (since it is a public type)

@bhelx I gave this another round of refactoring:
refactor: Revise PluginTests and used API

Instead of manually writing to memory, we now use plugin.returnString(...) in the host function tests
Removed warnings from the tests
Moved called instance-field in HostFunction to local variable
Made fields un HostFunction private and prefer exposing read-only data
Aling visibility of operatons in HostFunction

@bhelx I think the API could be improve quite a bit.
Currently the naming of ExtismFunction and HostFunction. It seems that "HostFunction" is in fact a wrapper/container for the actual host function which is then expressed as  ExtismFunction.
How about changing the names in the following way:
ExtismFunction -> HostFunctionCallback
HostFunction -> HostFunction
Another problem I see with HostFunction is that it (currently) transports a lot of baggage that's publicly accessible. In my refactoring I made the fields private and moved the callback as a local variable. However, the passed in userdata is still part of the HostFunction but that feels wrong to me. I think Userdata should be remove from the HostFunction and should rather be passed when calling the plugin, e.g.  plugin.call(functionName, "someInput", myUserData);
In general the whole interface seems to be a bit too low-level, passing around pointers and LibExtism.ExtismValType's is quite cumbersome and error-prone. Perhaps a better abstraction could hide this internals.
Another thing that's still unclear to me is how users would initialize the plugin in their applications:
        try (var plugin = new Plugin(manifest, true, null)) {
            var output = plugin.call(functionName, "someInput");
		   processOutput(output);
        }

Would they really create a new `Plugin instance per call, or would you rather create an instance per call?
If the later is the case, then I think that the manifest will be parsed over and over again for each call, which can take some time. I think this could be improved a bit, since the wasm code will probably not change, in most applications, across plugin calls. So perhaps something like a PluginManager could load / instance plugins once and (or on request) and use a "cached" and "prepared" plugin for the actual call.
What do you think?

I also just tried the java host function example from the documentation, but it seems to be broken / outdated:
https://extism.org/docs/integrate-into-your-codebase/java-host-sdk
The following example would work (based on the current refactorings):
import org.extism.sdk.ExtismFunction;
import org.extism.sdk.HostFunction;
import org.extism.sdk.HostUserData;
import org.extism.sdk.LibExtism.ExtismValType;
import org.extism.sdk.Plugin;
import org.extism.sdk.manifest.Manifest;
import org.extism.sdk.wasm.WasmSourceResolver;

import java.nio.file.Path;
import java.util.Optional;

public class App
{

  // we can create a custom type to pass complex, or compound, data
  // through a host function. You could imagine this may hold a reference
  // to a database client or some other Java objects needed by the host functions
  public static class MyUserData extends HostUserData {

    private final String data1;

    private final int data2;

    public MyUserData(String data1, int data2) {
      this.data1 = data1;
      this.data2 = data2;
    }
  }

  // To create the host function we need a callback in Java world
  // and an ExtismFunction that references it
  public static HostFunction<?>[] getHostFunctions() {

    ExtismFunction<MyUserData> callbackFunc = (plugin, params, returns, data) -> {

      System.out.println("Hello from Java Host Function!");

      String wasmOutput = plugin.inputString(params[0]);
      System.out.printf("Input string received from plugin, %s%n", wasmOutput);

      data.ifPresent(d -> {
        System.out.printf("Host user data, %s, %d%n", d.data1, d.data2);

        // here you could deserialize the json into a java object again and process
        // with the help of the supplied user data

        plugin.returnString(returns[0], "{ \"output\": " + wasmOutput + "}");
      });
    };

    var parametersTypes = new ExtismValType[]{ExtismValType.I64};
    var resultsTypes = new ExtismValType[]{ExtismValType.I64};

    var helloWorld = new HostFunction<>(
            "hello_world",
            parametersTypes,
            resultsTypes,
            callbackFunc,
            Optional.of(new MyUserData("test", 2))
    );

    return new HostFunction[]{helloWorld};
  }

  public static void main(String[] args) {
    var resolver = new WasmSourceResolver();
    var manifest = new Manifest(resolver.resolve(Path.of("code-functions.wasm")));
    var functions = getHostFunctions();

    // we must pass any host functions we created to the plugin constructor.
    // it will import these functions so the plugin can call them.
    try (var plugin = new Plugin(manifest, true, functions)) {
      var output = plugin.call("count_vowels", "Hello World");
      System.out.println(output);
    }
  }
}

This all looks great! I'm going to have to read it all and review on Monday, but overall I'm supportive of these changes.

Closing this outdated PR for now.


Polish

This PR includes:

Use Pattern Matching
Use Collections.emptyMap() instead.

I think Collections.emptyMap() return immutable value so we dont need use Collections#unmodifiableMap for wrapping purpose

Thanks for the PR @ngocnhan-tran1996. This is now merged.


Web User Bug Reports

Please select which platform you are using:-
Web Version
Feedback Type
Bug Reports
What went wrong?
Antar word missing before aatme...pls check screenshot
What should have happened instead?
How can the issue be recreated by our team?
pls check screenshot
Which web browser are using?
Chrome
Operating System
Microsoft Windows
Name
Amanpreet Singh

I already submitted this change in BaniDB CP


don't commit changes from black or isort

we only want a failure of the workflow if things are not right

Thanks!


Consumer stuck at high cpu when reconnecting to broker fails by AuthenticationException

Affects Version(s): 2.6.10 (also observed in 2.6.9, possibly more)
Stacktraces below reference 2.6.10
Setup and preface:
We're running Spring Boot 2.4.8, kafka-clients 2.6.2 in Kubernetes with 2 service instances (let's call them A and B) sharing the same consumer group.
Due to a scheduled maintenance, authentication to our broker failed for a short time.
When service instance A went down, a consumer rebalance was triggered. a new instance C was created instead, tried to connect to the broker and failed in the expected way.
The issue:
This occurs on (the surviving) instance B, which got stuck at max CPU.
The client logged the following errors:

[Consumer clientId=my-client-5, groupId=my-group-id] Connection to node 14 (broker-14./ip:port) failed authentication due to: Authentication failed: Invalid username or password

and

java.lang.IllegalStateException: This error handler cannot process 'org.apache.kafka.common.errors.SaslAuthenticationException's; no record information is available
at org.springframework.kafka.listener.SeekUtils.seekOrRecover(SeekUtils.java:151)
at org.springframework.kafka.listener.SeekToCurrentErrorHandler.handle(SeekToCurrentErrorHandler.java:113)
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.handleConsumerException(KafkaMessageListenerContainer.java:1439)
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1136)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.kafka.common.errors.SaslAuthenticationException: Authentication failed: Invalid username or password

After that, CPU usage raised from moderate 5% to 700% and did not go down - even hours later.
When authentication against our broker worked again, instance C connected in a regular fashion.
Instance A remained stuck at max CPU and did not recover.
Instance A is dead now, but I managed to pull a thread dump, if that's of any help:

java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)

locked <0x00000000d4bee1d0> (a sun.nio.ch.Util$3)
locked <0x00000000d4bee1c0> (a java.util.Collections$UnmodifiableSet)
locked <0x00000000d4ba1820> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.selectNow(SelectorImpl.java:105)
at org.apache.kafka.common.network.Selector.select(Selector.java:871)
at org.apache.kafka.common.network.Selector.poll(Selector.java:469)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:547)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:265)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:236)
at org.apache.kafka.clients.consumer.KafkaConsumer.pollForFetches(KafkaConsumer.java:1296)
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1237)
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1165)
at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy245.poll(Unknown Source)
at brave.kafka.clients.TracingConsumer.poll(TracingConsumer.java:89)
at brave.kafka.clients.TracingConsumer.poll(TracingConsumer.java:83)
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doPoll(KafkaMessageListenerContainer.java:1283)
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1174)
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1087)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

Starting with version 2.7.4, you can configure a ConditionalDelegatingErrorHandler and when a SaslAuthenticationException is thrown, you can invoke the ContainerStoppingErrorHandler.

The way the ConditionalDelegatingErrorHandler uses the default implementation of isAckAfterHandle() { return true; } , it is not able to propagate the info that an error was not recovered from to the container, so the only option left is to stop the container or perform a similiar action that terminates the consumer.
Are there plans to delegate isAckAfterHandle() to either its defaultErrorHandler or even the errorHandler that actually handled the error?

Yes; this is a bug; in 2.8, we have a new implementation that does exactly that...
https://github.com/spring-projects/spring-kafka/blob/d8cfee6c36e866a73317db83c667d55bb8a53920/spring-kafka/src/main/java/org/springframework/kafka/listener/CommonDelegatingErrorHandler.java#L79-L82
and
https://github.com/spring-projects/spring-kafka/blob/d8cfee6c36e866a73317db83c667d55bb8a53920/spring-kafka/src/main/java/org/springframework/kafka/listener/CommonDelegatingErrorHandler.java#L99-L108

Will 2.8 contain any other changes that resolve the issue with the high cpu usage problem?
After all, custom error handlers are only a workaround.

Hi @thimmwork , how did you resolve the issue? I'm getting the same issue at the moment. Thanks.

Hi @neorayer ,
which version are you running? From Kafka client 2.9.7 / 3.0.5 on there's the possibility to configure restartAfterAuthException: true that restarts the internal container. We haven't re-encountered this issue after upgrading and configuring this. So you should try that first.

Thank you @thimmwork ! I'm still using version 2.7. I'll upgrade it and try it out. Cheers.


Visualizing attention: magic line

Hi,
Thank you for making the code so complete and for including the attention visualization mechanism!
2 questions and 1 small issue 😃
Issue first:
There is a small typo in this resize. It should use (mw, mh) in order to keep the original ratio of the image. PR for such a small thing is unnecessary, right ?

Q1:
I was trying to understand why for some of the last letters I don't get an attention map, and I came across this "magic" line:
attention_orig = np.convolve(attention_orig, [0.199547, 0.200226, 0.200454, 0.200226, 0.199547], mode='same')

I think its purpose is to keep only the most relevant columns of the attention map. Is that correct ?
I'm curious how you chose those numbers :).

Q2:
Also, for me, the attention maps usually come after the letter. Here are the maps for 1 and 5:

It this normal? Is it because the LSTM can only decide "at the end" of the digit which one it saw ?

Thanks for noticing the resizing issue! Fixed. :)
The numbers are copied from the original model, and to be honest, I'm not entirely sure how the authors came up with them. While most parts of that model (and all the tooling around it) have been reworked, some are left as is, including the numbers. :) Feel free to ask the authors or just tweak it yourself.
Yes, the attention maps always come after the characters in this model. I'm not 100% sure that it's the accurate output and not a shift that has to be corrected, but if the machine tells me that's how it is, then who am I to argue. ¯_(ツ)_/¯
Feel free to propose changes to visualizations! They could use some work.
Closing, because the original issue has been fixed, but feel free to just use it as a comment thread. :)

I don't believe the attentions should generally be offset. I've worked extensively to update the attention visualizations in my own fork, and found that the current method doesn't properly account for how images are resized. See the expected behavior below in predicting the output 1078. I'll submit a pull request with my changes as time permits. In the meantime, keep up the good work!


No Language File found error

If config translate_uri is false, but using_language_template is true, errors ensue.

Resolved in v1.0


Add Lenovo carbon models

Add https://github.com/rarecoil/laptop-co2e to https://github.com/tmrowco/tmrowapp-contrib/blob/master/co2eq/purchase/footprints.yml

I added the lenovo data in #256
I omitted the data on Lenovo's Thinkpad X395 b/c there is no data on the carbon footprint of using it. Therefore, it is not really comparable to the other data.
Should the data for the Dell laptops be added as well? Also, the data for the 12-inch MacBook could be added.

there is another PR with Dell products! Feel free to add the Macbook :-)

In #257 I added the 12-inch MacBook, as well as the new 16-inch MacBook Pro.


[BUG]: PVC provisioning on SRDF Metro Storage Class suddenly stopped working

Bug Description
Suddenly it is impossible to provision new PVCs as Metro/RDF Devices. We use this StorageClass:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: powermax-x
provisioner: csi-powermax.dellemc.com
parameters:
  csi.storage.k8s.io/fstype: xfs
  SYMID: <symid-1>
  replication.storage.dell.com/RemoteSRP: SRP_1
  replication.storage.dell.com/isReplicationEnabled: 'true'
  ServiceLevel: Diamond
  SRP: SRP_1
  replication.storage.dell.com/RdfGroup: '150'
  replication.storage.dell.com/RdfMode: METRO
  replication.storage.dell.com/RemoteSYMID: <symid-2>
  replication.storage.dell.com/RemoteRDFGroup: '150'
  replication.storage.dell.com/RemoteServiceLevel: Diamond
  replication.storage.dell.com/Bias: 'true'
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediate

Following Error appears in the controller log:
{"level":"info","msg":"/csi.v1.Controller/CreateVolume: REP 0824: rpc error: code = Internal desc = Could not create storage group replica for (csi-rep-sg-150-METRO) - Error (A problem occurred creating the Storage Group SRDF Group resource: The operation is not allowed for a device in an active RDF/Metro session)","time":"2023-04-06T15:02:51.238954202Z"}

This happens in both of our clusters (Other Cluster uses 140 as SRDF Group).
Only way to fix this (in our Test Cluster) was to remove the SRDF Group (and all Volumes it contained) and recreate it. After that PVC creation worked again.
Logs
OpenShift Powermax Controller Log
{"level":"info","msg":"/csi.v1.Controller/CreateVolume: REQ 0824: Name=pmax-a97c233c4f, CapacityRange=required_bytes:8589934592 , VolumeCapabilities=[mount:\u003cfs_type:\"xfs\" \u003e access_mode:\u003cmode:SINGLE_NODE_MULTI_WRITER \u003e ], Parameters=map[SRP:SRP_1 SYMID:<symid-1> ServiceLevel:Diamond csi.storage.k8s.io/pv/name:pmax-a97c233c4f csi.storage.k8s.io/pvc/name:data-keycloak-postgresql-0 csi.storage.k8s.io/pvc/namespace:cms-et-app replication.storage.dell.com/Bias:true replication.storage.dell.com/RdfGroup:150 replication.storage.dell.com/RdfMode:METRO replication.storage.dell.com/RemoteRDFGroup:150 replication.storage.dell.com/RemoteSRP:SRP_1 replication.storage.dell.com/RemoteSYMID:<symid-2> replication.storage.dell.com/RemoteServiceLevel:Diamond replication.storage.dell.com/isReplicationEnabled:true], AccessibilityRequirements=requisite:\u003csegments:\u003ckey:\"csi-powermax.dellemc.com/<symid-1>\" value:\"csi-powermax.dellemc.com\" \u003e segments:\u003ckey:\"csi-powermax.dellemc....
{"level":"info","msg":"Failing over to the array: <symid-2>","time":"2023-04-06T15:02:46.777574577Z"}
{"level":"info","msg":"StoragePoolCapacities: \u0026v100.SrpCap{SubAllocCapInTB:61.93, SubTotInTB:131.03, SnapModInTB:0.06, SnapTotInTB:2.05, UsableUsedInTB:45.55, UsableTotInTB:95.78, EffectiveUsedCapacityPercent:46}","time":"2023-04-06T15:02:47.942450624Z"}
{"level":"info","msg":"totalSrcCapInGB 98078.720000 usedSrpCapInGB 46643.200000 remainingCapInGB 51435.520000 maxAvailBytes<PHONE_NUMBER>7440","time":"2023-04-06T15:02:47.942519063Z"}
{"level":"info","msg":"StoragePoolCapacities: \u0026v100.SrpCap{SubAllocCapInTB:66.82, SubTotInTB:136.24, SnapModInTB:0.06, SnapTotInTB:2.05, UsableUsedInTB:48.13, UsableTotInTB:95.77, EffectiveUsedCapacityPercent:49}","time":"2023-04-06T15:02:47.955536258Z"}
{"level":"info","msg":"totalSrcCapInGB 98068.480000 usedSrpCapInGB 49285.120000 remainingCapInGB 48783.360000 maxAvailBytes<PHONE_NUMBER>0192","time":"2023-04-06T15:02:47.955562758Z"}
{"Accessibility":{"requisite":[{"segments":{"csi-powermax.dellemc.com/<symid-1>":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-1>.fc":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-2>":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-2>.fc":"csi-powermax.dellemc.com"}}],"preferred":[{"segments":{"csi-powermax.dellemc.com/<symid-1>":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-1>.fc":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-2>":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-2>.fc":"csi-powermax.dellemc.com"}}]},"ApplicationPrefix":"","CSIRequestID":"824","LocalProtectionGroupID":"csi-rep-sg-150-METRO","LocalRDFGroup":"150","RemoteProtectionGroupID":"csi-rep-sg-150-METRO","RemoteRDFGroup":"150","RemoteSymmID":"<symid-2>","ReplicationEnabled":"true","SRDFMode":"METRO","SRP":"SRP_1","SymmetrixID":"<symid-1>","level":"info","msg":"Executing CreateVolume with following fields","requiredCylinders":43...
{"level":"debug","msg":"Requesting a lock for csi-rep-sg-150-METRO<symid-1> with requestID: 824 at: 2023-04-06 15:02:47.955619965 +0000 UTC m=+182230.008984404","time":"2023-04-06T15:02:47.955625335Z"}
{"level":"debug","msg":"Acquired - Lock Number:3443866, requestID: 824, resourceID: csi-rep-sg-150-METRO<symid-1> at: 2023-04-06 15:02:47.95563833 +0000 UTC m=+182230.009002769","time":"2023-04-06T15:02:47.955641015Z"}
{"level":"debug","msg":"Released - Lock Number: 3443866, requestID: 824, resourceID: csi-rep-sg-150-METRO<symid-1>","time":"2023-04-06T15:02:48.068646053Z"}
{"level":"debug","msg":"Calling GetVolumeIDList for idempotency test","time":"2023-04-06T15:02:48.179710359Z"}
{"Accessibility":{"requisite":[{"segments":{"csi-powermax.dellemc.com/<symid-1>":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-1>.fc":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-2>":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-2>.fc":"csi-powermax.dellemc.com"}}],"preferred":[{"segments":{"csi-powermax.dellemc.com/<symid-1>":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-1>.fc":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-2>":"csi-powermax.dellemc.com","csi-powermax.dellemc.com/<symid-2>.fc":"csi-powermax.dellemc.com"}}]},"ApplicationPrefix":"","CSIRequestID":"824","LocalProtectionGroupID":"csi-rep-sg-150-METRO","LocalRDFGroup":"150","RemoteProtectionGroupID":"csi-rep-sg-150-METRO","RemoteRDFGroup":"150","RemoteSymmID":"<symid-2>","ReplicationEnabled":"true","SRDFMode":"METRO","SRP":"SRP_1","SymmetrixID":"<symid-1>","level":"info","msg":"Calling GetVolumeByID for idempotence check","requiredCylinders":437...
{"level":"error","msg":"Failed to fetch rdf pair information for (00601) - Error (The device must be an RDF device for this function)","time":"2023-04-06T15:02:48.369410149Z"}
{"level":"debug","msg":"Local Volume already exist, skipping creation (00601)","time":"2023-04-06T15:02:48.369467597Z"}
{"level":"debug","msg":"Creating meta data for HTTP header","time":"2023-04-06T15:02:48.369476233Z"}
{"level":"debug","msg":"RDF: Found Rdf enabled","time":"2023-04-06T15:02:48.369496822Z"}
{"level":"debug","msg":"Requesting a lock for csi-rep-sg-150-METRO<symid-1> with requestID: 824 at: 2023-04-06 15:02:48.369504316 +0000 UTC m=+182230.422868755","time":"2023-04-06T15:02:48.369514806Z"}
{"level":"debug","msg":"Acquired - Lock Number:7352393, requestID: 824, resourceID: csi-rep-sg-150-METRO<symid-1> at: 2023-04-06 15:02:48.369539673 +0000 UTC m=+182230.422904112","time":"2023-04-06T15:02:48.369544612Z"}
{"level":"info","msg":"payload: {\"editStorageGroupActionParam\":{\"expandStorageGroupParam\":{\"addSpecificVolumeParam\":{\"volumeId\":[\"00601\"],\"remoteSymmSGInfoParam\":{\"remote_symmetrix_1_id\":\"<symid-2>\",\"remote_symmetrix_1_sgs\":[\"csi-rep-sg-150-METRO\"]}}}},\"executionOption\":\"SYNCHRONOUS\"}","time":"2023-04-06T15:02:48.369578265Z"}
{"level":"debug","msg":"volume (00601) added to protected SG (csi-rep-sg-150-METRO)","time":"2023-04-06T15:02:49.354686522Z"}
{"level":"debug","msg":"Released - Lock Number: 7352393, requestID: 824, resourceID: csi-rep-sg-150-METRO<symid-1>","time":"2023-04-06T15:02:49.354765551Z"}
{"level":"debug","msg":"Requesting a lock for csi-rep-sg-150-METRO<symid-1> with requestID: 824 at: 2023-04-06 15:02:49.354777514 +0000 UTC m=+182231.408141943","time":"2023-04-06T15:02:49.354790167Z"}
{"level":"debug","msg":"Acquired - Lock Number:9903394, requestID: 824, resourceID: csi-rep-sg-150-METRO<symid-1> at: 2023-04-06 15:02:49.354811187 +0000 UTC m=+182231.408175616","time":"2023-04-06T15:02:49.354815154Z"}
{"level":"debug","msg":"RDF: rdfg has 8 devices ! for vol(00601)","time":"2023-04-06T15:02:49.645068852Z"}
{"level":"debug","msg":"Can not found Remote storage group, proceed","time":"2023-04-06T15:02:49.655987338Z"}
{"level":"info","msg":"payload: {\"remoteSymmId\":\"<symid-2>\",\"replicationMode\":\"Active\",\"rdfgNumber\":150,\"forceNewRdfGroup\":\"\",\"establish\":true,\"metroBias\":true,\"remoteStorageGroupName\":\"csi-rep-sg-150-METRO\",\"thinPool\":\"\",\"fastPolicy\":\"\",\"remoteSLO\":\"\",\"noCompression\":false,\"executionOption\":\"SYNCHRONOUS\"}","time":"2023-04-06T15:02:49.656016854Z"}
{"level":"error","msg":"Could not create storage group replica for (csi-rep-sg-150-METRO)","time":"2023-04-06T15:02:50.706276099Z"}
{"level":"debug","msg":"Released - Lock Number: 9903394, requestID: 824, resourceID: csi-rep-sg-150-METRO<symid-1>","time":"2023-04-06T15:02:50.706327286Z"}
{"level":"error","msg":"Proceeding to remove volume from protected storage group as rollback","time":"2023-04-06T15:02:50.706337064Z"}
{"level":"info","msg":"payload: {\"editStorageGroupActionParam\":{\"removeVolumeParam\":{\"volumeId\":[\"00601\"],\"remoteSymmSGInfoParam\":{\"force\":true}}},\"executionOption\":\"SYNCHRONOUS\"}","time":"2023-04-06T15:02:50.706368263Z"}
{"level":"info","msg":"Successfully removed volumes: [00601] from SG: csi-rep-sg-150-METRO","time":"2023-04-06T15:02:51.238856327Z"}
{"level":"info","msg":"/csi.v1.Controller/CreateVolume: REP 0824: rpc error: code = Internal desc = Could not create storage group replica for (csi-rep-sg-150-METRO) - Error (A problem occurred creating the Storage Group SRDF Group resource: The operation is not allowed for a device in an active RDF/Metro session)","time":"2023-04-06T15:02:51.238954202Z"}

Unisphere - /usr/emc/API/symapi/log/symapi-20230406.log
04/06/2023 16:07:05.944   2809    217 EMC:UNIVMAX                emcStorGrpDevAdd     STARTING on csi-rep-sg-150-METRO(Storage group) 'ADD' operation. Symm=<symid-1> Flags=0x0
04/06/2023 16:07:05.948   2809    217 EMC:UNIVMAX                storgrp_audit_start  Devices: [ 0601 ]
04/06/2023 16:07:05.952   2809    217 EMC:UNIVMAX                grp_audit_exit       On Storage group csi-rep-sg-150-METRO operation 'ADD' SUCCESSFULLY COMPLETED
04/06/2023 16:07:07.918   2809    217 EMC:UNIVMAX                evaluate_dev_rdf_sta Cannot add devices to RDF group in active SRDF/Metro session unless format or exempt option is specified
04/06/2023 16:07:07.918   2809    217 EMC:UNIVMAX                SymDevListRdfControl grp: NA  ldev:  actionP: CREATEPAIR - The operation is not allowed for a device in an active RDF/Metro session (local sid/dskno <symid-1>/00601) (remote sid/dskno <symid-2>/00603)
04/06/2023 16:07:08.269   2809    217 EMC:UNIVMAX                emcStorGrpDevRemove  STARTING on csi-rep-sg-150-METRO(Storage group) 'REMOVE' operation. Symm=<symid-1> Flags=0x0
04/06/2023 16:07:08.273   2809    217 EMC:UNIVMAX                storgrp_audit_start  Devices: [ 0601 ]
04/06/2023 16:07:08.278   2809    217 EMC:UNIVMAX                grp_audit_exit       On Storage group csi-rep-sg-150-METRO operation 'REMOVE' SUCCESSFULLY COMPLETED

(don't mind the timestamps - it loops forever.)
Screenshots
No response
Additional Environment Information
We have 2 Unisphere Installations behind the CSI Reverse Proxy
Steps to Reproduce
It happened after some time.
Unknown how to reproduce.
Expected Behavior
PVC creation should be sucessfull
CSM Driver(s)
CSI Driver for Powermax v2.5.0
Installation Type
Dell CSI Operator v1.10.0 (from Redhat Certified Community)
Container Storage Modules Enabled
No response
Container Orchestrator
OpenShift 4.10.50
Operating System
RHCOS

Hi,
To investigate further, please share the following details:

What is the scale of your application, like how many volumes?
For how many volumes are you observing this?
Can you update the driver with X_CSI_POWERMAX_DEBUG, sets this to true, and then share the new logs?

Generally, these issue happens when the load on Unisphere is more than it can handle.
Thanks.

Hi,
Here are your answers:

We are currently in the process of migrating the applications from ovirt-csi to dell csi driver. At this time only one application (7 volumes per instance) needs dell storage. But - by the end of the year we want to go all in and migrate all of our RHV VMs to Openshift Virtualization - this would be > 500 volumes.
We just started evaluating dell csi driver two months ago an all went well.
As soon as the above Error is seen we are not able to provision any additional PVC on our RDF/Metro storage class. All in all we have 3 storage classes: powermax-a (no rdf, only on storage in datacenter a), powermax-b (same, datacenter b) and powermax-x. We still can provision PVCs on powermax-a/b even after powermax-x failed. But for availability reasons we want most of our PVCs to be mirrored.
Did this, see attached log file:
powermax-controller-d8466749-p8s6q-driver.log

Regarding load on Unisphere: We have two installations (one in each datacenter), we updated them to the latest 10.x.x.x version after the problem occured but that did not help. At least the unix load is < 0.1. In symapi*.log, only openshift driver logs from our 2 clusters are seen, so i would assume its mostly idle. Unisphere ist installed on baremetal 6 Core Intel CPU, 32 GB RAM
FYI: we also planned to upgrade the dell-csi-operator to the recently released v1.11 (powermax v2.6) but did not yet succeed as our OpenShift installation is air gapped and we had problems to mirror the content from docker.io.

Hi
Thanks for the logs, we will go through this,
Meanwhile, you can leverage the Auto-creation of RDF Group usage, to bypass the issue till we come back.
You can update your storage class to let CSI Driver create its own RDF Group for its use.
This new feature may help you with your issue.
Thanks.

Hi,
The SRDF Group 150 was created exclusively for our OpenShift Staging Cluster. All volumes in this group were created by the csi driver itself. Everything worked as expected until last Monday, so something broke and is preventing provisioning of future volumes.
Why would Auto-SRDF be different in this case? As far as I understand, just the group number would be different, counting down from 250.
I reexamined the controller log from the time the error first occured and I see another error shortly before first appearance of the SRDF problem:
{"PUT":"univmax/restapi/100/sloprovisioning/symmetrix/<symid-1>/volume/0060B-0060D","VolumeID":"0060B-0060D","level":"error","msg":"Error in DeleteVolume: A problem occurred deleting the volume resources: The requested operation cannot be performed on an enabled CG member","time":"2023-04-03T14:08:55.79993126Z"

I have attached the full log here: powermax-controller-c4bf9b79d-j7zzg-driver.log
I remember, we had some stuck _DEL volumes which we deleted manually after the driver gave up, maybe this is related?

First occurence of delete error: Line 3750
First occurence of srdf problem: Line 3845

Thanks for the logs, will go through them.
Auto-SRDF will automatically choose the next empty RDF Group, so your new provisioning will work.
Also, this is easy as no manual creation of SRDF group is required.


remove index type definitions from control module

also remove index type definitions from control module cfg
data cluster type definition.ctl from runtime
unlock classes in control module
control module runtime needs a way to set error handling


Fixed build issues

Fixed the gradle build issues
Fixed the issue with org.xmlpull.v1.XmlPullParserFactory in java 9
Added readme

Thanks for merging. Can you publish a new release 3.0.0?

Wouldn't it make sense to call it 2.5.0 -- there is no API change after all?
Am Mo., 14. Sept. 2020 um 06:26 Uhr schrieb Ashok Koyi <
<EMAIL_ADDRESS>
Thanks for merging. Can you publish a new release 3.0.0?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/stefanhaustein/kxml2/pull/13#issuecomment-691802504,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAVPT4BZUVAULXFZXO6YCLSFWLOVANCNFSM4RKKN6SQ
.

From the end user pouint of view, couple of things changed

This version does not bomb on java 9 & above (an enhancement)
Version of xmlpull in src/main/resources/META-INF/services/org.xmlpull.v1.XmlPullParserFactory changed from a format of <IP_ADDRESS> -> <IP_ADDRESS> (a bug fix)

Strictly speaking 2.5.0 is most appropropriate enough, but the reason why I proposed 3.0.0 is to ensure that people its easy for people to remember that a major change (aka support for java 9) than when they look at 2.5.0. I'm okay either ways. I will leave it upto your judgement.

If you want to keep it at 2.5.0, please update version within build.gradle to 2.5.0 before publishing

After few of mins of thinking 2.5.0 is the appropriate one as people will know there are no breaking changes from library's point of view. Which makes their lives much simper than moving to 3.0.0

Ok thanks! So the release tag will be "v2.5.0" for consistency with the others / following github suggestions. Should I include the "v" in build.gradle? Do we need to duplicate the version there at all? I don't seem to have it in any other project?

Sorry for delay in responding. I dont see any good reason for v prefix.

Can you publish the release in github so that people can refer to it by 2.5.0 instead of commit number?

Doesn't it need to be consistent with the release tag, which has the
leading v as per github recommendations...?
Am Mi., 30. Sept. 2020 um 11:36 Uhr schrieb Ashok Koyi <
<EMAIL_ADDRESS>
Sorry for delay in responding. I dont see any good reason for v prefix.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/stefanhaustein/kxml2/pull/13#issuecomment-701280064,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAVPT43Q5CMGXA6RVXBNXTSIL33NANCNFSM4RKKN6SQ
.

Released as version 2.5.0 with tag v2.5.0


Ubuntu example pipelines daily tests failing

Describe the issue
Also on various PRs
Just removing it from requirements for now
Steps to Reproduce
https://github.com/NeurodataWithoutBorders/nwb-guide/actions/runs/9351578611/job/25741538806
Operating System
Ubuntu
GUIDE Version
Dev
Code of Conduct
Yes
Did you confirm this issue was not already reported?
Yes

Somewhat stochastic
https://github.com/NeurodataWithoutBorders/nwb-guide/actions/runs/9467020002
but retrying from a failing workflow doesn't usually resolve it, so still unsure about the source
Maybe I'll just disable the ubuntu part of that matrix since this is primarily aimed at Windows/MacOS anyway


connect failed: ETIMEDOUT (Connection timed out)

Hello there,
This isn't a package error because the package is working in all devices except on a Xiaomi Redmi Note 7.
the 'onConnectionError' method catch this error:
message: An exception was thrown by the websocket
code: null
Exception: failed to connect to websockets.************.pt/2001:bc8:4700:2300::29:503 (port 443) from /:: (port 42860): connect failed: ETIMEDOUT (Connection timed out)

Anyone has faced the same problem? Any guess?

Bizarre!
for me i'm getting java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
You didn't face it ?

@DevTiago,
I solved the problem, still on it ?


List exports of an instance in linking error

Took a stab at https://github.com/bytecodealliance/wasmtime/issues/3388. The error message is now:
unknown import: instance `foo` exporting `bar` has not been defined

when module-linking is enabled. Hopefully that's clear for both de-sugared two-level imports and actual instance imports.

@alexcrichton I guess it makes sense for you to review because you put up the issue?

No problem, changed it to have foo::bar matching the error without linking.

Thanks again!


WIP: Code action for type wildcards

Follow on from https://github.com/digital-asset/daml/pull/2830
Not for merging now, I'm waiting for https://github.com/digital-asset/daml/pull/2809 to land first.
It makes it possible to fill in type signatures interactively by typing _ and then using the code action to fill in what GHC inferred.
It doesn't always produce a valid type signature as the one GHC mentions might use unavailable type variables or be missing constraints, but it at least gets the user started. It also always adds parentheses around the inserted signature as it's hard to know when they are really needed or not.
@ndmitchell and @cocreature: We might want to think about how to organise code actions, as I can imagine more appearing quite quickly.

Do we want the current fall through behaviour of suggestAction or to replace it with something that's more explicitly composed? For example my change will remove the existing code action that would add PartialTypeSignatures to the module. I think that's reasonable in this case as mostly people wouldn't want that, but there will likely be cases in future where we want both.

Should we organise all the ad-hoc text recognition better? I understand it'll be replaced by an ADT exposed from GHC at some point in the future.

Should we abstract the way we write code action test cases to reduce the boilerplate?

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

@hsenag - all the things you suggest are good ideas! The fall-through behaviour isn't right. Maybe we should write real parsers? Although those tend to be more brittle and have greater impacts from small changes or GHC version upgrades.

I was also wondering about writing a real parser and perhaps also having a proper ADT as an intermediate step between the error messages and the code actions. The biggest thing that stopped me considering it further was the code action for finding language extensions which is rather free form :-)
But I'm also not sure how much effort this is worth given the expected change in the GHC API itself to use an ADT, and what our migration strategy will be. Perhaps having our own ADT will help with that migration? I guess it'll require CPP for a while, and two different ways of recognising the messages.

Writing the ADT version is super simple, so I don't think we gain much by moving there first - other than by writing tests, which should confirm it still works.
The extension messages produced by GHC vary wildly based on where they are encountered. I wouldn't want to try and parse them all, but it is really the "correct" thing to do. At the moment if you name a data type RecordWildCards it will suggest that if you make an error.

The end state using the GHC ADT is very simple, but how will the transition be managed - won't there be a period where we support versions of GHC that include the ADT in the API and versions that don't?
Without a transition strategy for that period, we can't use the GHC ADT until we drop support for the older GHCs. So we'll either waste time writing new code actions with text processing, or we cut off older versions quickly which won't be great for users. I think it'd be reasonable for new code actions to only work with the newer GHCs at that point. But having new versions of ghcide cut off old users completely wouldn't be great given that other improvements are likely to be flowing at the same time.
If there is a transition period then I think it'll need CPP and having our own ADT might reduce the extent of that CPP.
I don't think we should try to improve the existing extension messages action until we do have the GHC ADT. That'd be a lot of work for not much gain.

I was imagining when the new ADT comes out we create CodeActionsOld.hs which is a copy and paste of whatever we have on that day, and then write CodeActionsNew.hs being a port of that to the ADT. We then freeze CodeActionsOld.hs and stop touching it. I think parsing the freeform strings to the ADT is going to be a lot of work.
Note that the current state of the ADT is that it doesn't even have a proposal yet. It's likely to be many years!

This ought to be ready to merge, once #40 lands.

This now ought to be ready to merge, once #40 lands.
I'll look into refactoring the structure+tests in a follow-up.

/azp run

CI is failing due to an HLint error. There is a fmt.sh script in this repo (which should be significantly easier to use than the one in the old repo) but I’m not sure it works on windows. Just running HLint manually in the repo root should probably do the trick as well.


Add minimal read only registry support

Proposed Changes

Adds a read-only docker image registry to the K3s server, this improves the experience for air-gapped K3s users and removes the need to pre-load containerd with images from the agent/images/ directory.
Types of Changes

New feature
Verification

Populate the /var/lib/rancher/k3s/server/registry/ directory with a container image and pull the container from the server.
and manually:
$ sudo mkdir -p /var/lib/rancher/k3s/server/registry/test/manifests
$ echo '{"mediaType":"Pass"}' | sudo tee /var/lib/rancher/k3s/server/registry/test/manifests/test
$ curl -kv https://<IP_ADDRESS>:6443/v2/test/manifests/test 2>&1 | grep -i "Content-Type: Pass" && echo OK || echo FAIL
< content-type: Pass
OK
$ echo HERE | sudo tee /var/lib/rancher/k3s/server/registry/blob
$ curl -kv https://<IP_ADDRESS>:6443/v2/blob -H "Accept: magic" 2>&1 | grep -i "Content-Type: magic" && echo OK || echo FAIL
< content-type: magic
OK

Testing

None
Linked Issues

User-Facing Change

NONE

Further Comments

This is designed to improve the experience bootstrapping an air gapped cluster, during both the initial install and reboots.
If the cluster is self hosted, you need to bootstrap a registry and the backing store, this solves that problem without having to load all of the artefacts at every K3s restart.
The registry is very simple, and was based of the /static/ path route. Each repo requires two directories: manifests and blobs, the manifests are JSON files with .mediaType specifying the Content-Type, so the patch reads the manifests and provides the correct Content-Type header. Otherwise it tries to respond with the Accept header.
Reading the entire manifest file could be a problem, however the cluster operator is responsible for the content of that directory.
This requires some documentation to be useful, and a helper script to populate the registry, I've created a stand alone example, documentation and a registry population script here: https://github.com/adrianmoye/minimal-registry/ I'm not sure what to do with this.

Thanks for the PR! This is an interesting way to wire up serving registry content. We can talk this over as a team.

Thanks @adrianmoye . @brandond, can you share some insights into the full registry requirements from the product team? I am interested in this feature and would be happy to contribute if the requirements are laid out and a design is agreed upon.
I am interested in the following use case

Airgap - as @adrianmoye proposes
Pull through cache - Proxy all cluster image downloads through the server(s).

@brandond would you be able to share the specs for the desired registry. I am keen on getting this feature. Happy to collaborate on it

I would love to see something like this embedded in K3s, but I suspect it's not lightweight enough:
https://github.com/XenitAB/spegel

Thank you for your contribution @adrianmoye ! Ultimately, we are choosing to move forward with our investigation into Spegel as an alternative registry, so I'm going to close this PR.


Update oid.rs

I found a few comment typos while reading through these OID functions and felt it was easy enough to raise a PR for. Feel free to pass!

Thank you for the PR! “Identifier” apparently is a difficult word to spell …


Vaadin 7 or 8 ?

Hello Alejandro,
https://www.useloom.com/share/00d0efd5f9a048d5a86bc4fb1629a432
I have spent the last week viewing your wonderful Vaadin 7 tutorial:
https://vaadin.com/docs7/-/part7/framework/tutorial.html
Is the information here on Github for Vaadin 7 or Vaadin 8?
As I was not able to get the beginning tutorial to work in Vaadin 7, so I am hoping to try again today, following the instructions that are given here on Github -- by downloading the source and hope I can successfully complete the beginners tutorial.
Thank you.
https://vaadin.com/forum#!/thread/15496153
Jon

Hi,
The example is available for both Vaadin 7 and 8. Master branch is for 8 and v7 branch is for 7.

Thank you!


feat: fetch status from sharepoint to help discover the correct project

Fix #374

:tada: This PR is included in version 6.19.0 :tada:
The release is available on:

GitHub release
v6.19.0

Your semantic-release bot :package::rocket:


Seg fault/double free or corruption

Hi Heng, I saw the arXiv preprint and and trying out bfc but I'm getting an odd error.  The input is adapter trimmed <125 HiSeq reads and for the same file, I will alternately get either a seq fault or ** Error in `bfc': double free or corruption (out).
command:
bfc -s 2.9g -k 55 -t 31 smaller.fq > test_corrected.fq
compiled with gcc version 4.8.2. 10,000 read test fq file is here: https://www.dropbox.com/s/67d24d9or15e5wj/smaller.fq?dl=0

If your genome is 2.9Gb, you would need hundreds of millions of reads to correct errors. I guess the large genome size and tiny input file triggers some unexpected behavior. This is still a bug. I will look into that. Thanks.

+1

Yes, of course my data set is more than 10k reads, that is just a test set. I can't get it to work on my full data set either though. bcf crashed after reading ~809K out of 147M on my 128GB server
bfc: malloc.c:2842: mremap_chunk: Assertion `((size + offset) & (_rtld_global_ro._dl_pagesize - 1)) == 0' failed.
Aborted (core dumped)
If it would be helpful, I could give you access to that file as well.  Thanks for looking into the problem!

I have just fixed it via 14dbe0f. This is an out-of-boundary bug only showing to read lengths smaller but close to 64bp, 128bp, 256bp, etc. My previous guess was wrong. Many thanks for this example.
I am closing the issue. You can reopen it if the latest master branch does not work.

I should add that bfc -s 2.9g -k 55 -t 31 smaller.fq should also work. The segfault is not caused by -s 2.9g.


Sandbox fails with "VK_ERROR_INITIALIZATION_FAILED"(Vulkan-Tools-1.1.121/vulkaninfo/vulkaninfo.c:1556)

I get this error in bubblewrap when I run vulkaninfo:
/build/vulkan-tools/src/Vulkan-Tools-1.1.121/vulkaninfo/vulkaninfo.c:1556: failed with VK_ERROR_INITIALIZATION_FAILED

But the code here doesn't seem to be the same. What could be the issue?

@karl-lunarg I got this with a custom build:
Surface type : VK_KHR_xlib_surface
/home/trialism/Workspace/Vulkan-Tools/vulkaninfo/vulkaninfo.c:1587: failed with VK_ERROR_INITIALIZATION_FAILED

which points to this line.
The firejail issue was an issue with the default configuration but bubblewrap doesn't have configuration files and I mounted the entire filesystem.

This is a problem introduced in bubblewrap-0.3.2, I reported it on the official repo here.


Add delete feature

Removed all hardcoded items from the tasks array.
Created a new JavaScript file for the new functionality.
Implemented a function for adding a new task (add a new element to the array).
Implemented a function for deleting a task (remove an element from the array).
Implemented a function for editing task descriptions.
By default new tasks have the property completed set to false and the property index set to the value of the new array length (i.e. if you're adding a 5th task to the list, the index of that task equals 5).
Deleting a task updates all remaining items' indexes, so they represent the current list order and are unique(i.e. if you're deleting the first task index 1 from the list, the index of the next task(2) sets to 1)
All changes to the To Do List should be saved in local storage.

Hi @Armynerh, you are yet to implement the changes required by the previous reviewer, please make the required changes 👍🏿


Documentation and fix parsing Double

When I tested it in my computer, it ended in error because of rounding mistakes building 4e-6. In this PR I try to minimize those.
Since I am new to Haskell, I needed to document the file to be more aware of what the different functions do; so I decided to push that documentation too.

The current test in my local does not parse 4e-6 correctly. I do get an ERROR executing main. Does it work for you @rexim ?

@dan323 ah, I see what you mean! Sorry, didn't read your description careful enough. :D Looks good to me! Thanks for fixing this!


Support for workflow summary

Encounter Error: HttpError: Resource not accessible by integration if pull requests from public forked repositories.
I tried to add permissions setting in yaml and add PAT in secrets, they didn't work due to the restrictions.
Maximum access for pull requests from public forked repositories is read-only
With the exception of GITHUB_TOKEN, secrets are not passed to the runner when a workflow is triggered from a forked repository
And output the report to workflow summary doesn't require write permission, so it will be great to have an option to support this.
Refer to: https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/

This is now available in v1.7.2-alpha. We will release v1.7.2 in the coming weeks.