feat(pci): add @ovh-ux/manager-pci package

feat(pci): add @ovh-ux/manager-pci package
Description of the Change
git-subtree-dir: packages/manager/modules/pci/src
git-subtree-split: b94545f0e23323ef0f54e93163a5560c928140db
see #commits
ref: OM-39
Details
In ovh-manager-cloud#develop
git subtree split --prefix=client/app/cloud --branch=split-pci/om

In this branch
git subtree add --prefix=packages/manager/modules/pci/src git@github.com:ovh-ux/ovh-manager-cloud.git split-pci/om --squash

Updated with
git subtree pull --prefix=packages/manager/modules/pci/src git@github.com:ovh-ux/ovh-manager-cloud.git split-pci/om --squash

Related PR :

[ ] https://github.com/ovh-ux/ng-ovh-jsplumb/pull/8

To Do :

[ ] import URLS and REDIRECT_URLS constants
[ ] broadcast event for sidebar
[ ] fix atInternetDecorators
[ ] update subtree
[ ] define dependencies by module
[ ] add lazyload
[x] fix translations
[ ] fix missing translations (cf https://github.com/ovh-ux/manager/pull/230#issuecomment-473962293)

/cc @jleveugle @frenautvh @antleblanc

CDS Report installation#910.0 ✘

Stage 1

Install ✘

CDS Report installation#932.0 ■

Stage 1

Install ■

CDS Report installation#943.0 ■

Stage 1

Install ■

CDS Report installation#975.0 ■

Stage 1

Install ■

@antleblanc This is a draft Pull Request, modules dependencies aren't correct yet (for example oclazyload is imported but not used...); All dependencies are currently defined/imported in the main module (https://github.com/ovh-ux/manager/blob/feat%2Fpci/packages/manager/modules/pci/src/index.js)
Thank you for reporting issues related to @ngInject.

GitHub offer the possibility to comment even if it's in a Draft mode and that's why I was giving some feedback at this point.
Since the diff isn't quite comfortable to review due to the amount of file it's also one of the reason that I tried to give you as fast as possible some comments.
Hope its help you.

CDS Report installation#1136.0 ✘

Stage 1

Install ✘

Translations check
npx @cbourgois/simonsays check ./packages/manager/modules/pci/src
✔ Check translations for ./packages/manager/modules/pci/src
┌────────┬──────┬──────────┬─────────┐
│ Module │ Used │ Missings │ Results │
├────────┼──────┼──────────┼─────────┤
│ ./     │ 984  │ 12       │ 1556    │
└────────┴──────┴──────────┴─────────┘

Missing translations
In ./packages/manager/modules/pci/src/components/runabove/promise-task-state:

storage_promise_task_progress_done
storage_promise_task_progress_error
storage_promise_task_progress_error_description
storage_promise_task_progress_error_reason
storage_promise_task_progress_todo

In ./packages/manager/modules/pci/src/project/compute:

cloud_message_pci_no_link

In ./packages/manager/modules/pci/src/project/compute/infrastructure/ip:

loc

In ./packages/manager/modules/pci/src/project/compute/infrastructure/privateNetwork:

cpci_private_network_list_context_error
cpcipnd_poll_error

In ./packages/manager/modules/pci/src/project/compute/infrastructure/virtualMachine/addEdit:

cloud_common_unlimited

In ./packages/manager/modules/pci/src/project/storage/details:

storage_delete_loading

CDS Report installation#1143.0 ✘

Stage 1

Install ✘

CDS Report installation#1146.0 ✘

Stage 1

Install ✘

CDS Report test-manager#1183.0 ✘

Stage 1

e2e ✔
lint ✘

CDS Report installation#1201.0 ■

Stage 1

Install ■

CDS Report manager-layout-ovh#1241.0 ■

Stage 1

Build ■

CDS Report manager-telecom-dashboard#1241.0 ■

Stage 1

Build ■

CDS Report manager-public-cloud#1241.0 ■

Stage 1

Build ■

CDS Report test-manager#1241.0 ■

Stage 1

e2e ■
lint ■

CDS Report manager-vrack-app#1241.0 ■

Stage 1

Build ■

CDS Report manager-overthebox-app#1241.0 ■

Stage 1

Build ■

CDS Report manager-telecom-task#1241.0 ■

Stage 1

Build ■

CDS Report manager-sms-app#1241.0 ■

Stage 1

Build ■

git subtree pull done.


Will this work for regular php files?

The view() helper can also be used to reach for plain vanilla (non-blade) .php files. Is there a way to do this with folio as well?
In the case where there may be any reason you want to preserve paths and/or don't need the extra compile step in some views.
EDIT:
I see where '.blade.php' is hard coded in the Match pipeline. Any plans to allow customizing or extending the pipeline, or any interest in a PR to that effect? In fact if the Pipeline and renderer could be extended, I can foresee a wide variety of use cases for other file types as well, including markdown and html.

Right now this does not work with vanilla PHP. But I'll bring this up internally. Can't provide guarantees however that we'll pursue this sorry. Thanks for your request!


Joppla patch 2

Is this the right way?

Thanks for the PR, @Joppla! I'll review it when I get some time, but I don't know when that will be. Unfortunately, I'm not using this plugin (or webtrees for that matter) much right now, so it's not a big priority for me.

Ok, thanks for your reaction. Does this mean that the module won't be developed much further?

Forget the whole PR, I will make an better one.

I will probably develop it further, especially when I start doing some more genealogy research, but I'm not doing much right now.

I don't mind to do some work for the Module. But if there is nothing done with it, then it is maybe better to start my own project with it.


Add option to change global display name

Summary
Added the ability to change the global display name (the name that shows up for everybody that takes precedence over your actual @username) for the discord.ClientUser class.
General Info
A very simple addition to the base library. There is no need for a captcha/password when changing your display name. I did my best to keep the style of this pull request consistent with the style of the rest of the library.
There are two commits instead of one for this pull request since the original commit was made to the PyPi version of this library. The second and most recent commit uses the code presently found in the main branch.

I was not aware of that feature, so thank you for bringing that to my attention. I updated the documentation and did my best to keep it consistent with the rest of the user.py file.


[WIP] dynamic debounce backoff

Experimental PR for https://github.com/istio/istio/issues/24021

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@howardjohn I was experimenting this over the weekend and made the debounce logic configurable so that we can experiment. This is still not complete - but if this is what you have in mind, I can cleanup comments. PTAL.  Do you have a test case to test which one works better?

/test all

@ramaraochavali: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test unit-tests_istio

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

@ramaraochavali: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test unit-tests_istio

integ-local-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-local-tests_istio

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

@ramaraochavali: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test unit-tests_istio

integ-local-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-local-tests_istio

integ-mixer-k8s-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-mixer-k8s-tests_istio

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

@ramaraochavali: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test unit-tests_istio

integ-local-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-local-tests_istio

integ-mixer-k8s-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-mixer-k8s-tests_istio

integ-multicluster-k8s-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-multicluster-k8s-tests_istio

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

@ramaraochavali: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test unit-tests_istio

integ-local-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-local-tests_istio

integ-mixer-k8s-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-mixer-k8s-tests_istio

integ-multicluster-k8s-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-multicluster-k8s-tests_istio

integ-pilot-k8s-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-pilot-k8s-tests_istio

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

@ramaraochavali: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test unit-tests_istio

integ-local-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-local-tests_istio

integ-mixer-k8s-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-mixer-k8s-tests_istio

integ-multicluster-k8s-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-multicluster-k8s-tests_istio

integ-pilot-k8s-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-pilot-k8s-tests_istio

integ-security-k8s-tests_istio
cab454c2b342e9fcf710182222af9f0af44cdd0e
link
/test integ-security-k8s-tests_istio

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

This is not correct. Closing this


Improve logs download: adding query parameters

Fixes #320.
Changes proposed in this PR:

adds filter inputs for downloading the logs

Can you pull the latest changes from origin develop to fix the issue with the test?

Can you pull the latest changes from origin develop to fix the issue with the test?

I made a sync on both of them now. Thanks!

Hey @jamiehewitt15  is download logs functionality working on your end? i always end up with a 403 with invalid signature error.

Thanks for testing this @bogdanfazakas. The expiry timestamp in your request is<PHONE_NUMBER>844 = Tuesday, 16 April 2024 so it's already expired. It should ask you for another signature in this situation, so I'll look into why that's not happening.

@bogdanfazakas I've introduced some improvements that should solve your issue:

signature and expiry timestamp are only stored in local storage if they are still valid
they are only used, when retrieved from local storage if they are still valid
if the signature is from a different account to the one currently connected, they are removed.
Better error responses on the auth function.

Could you test it again from the same browser? It should recognise that your expiryTimestamp is in the past and show you the unlock button so that you sign another message.

@bogdanfazakas I've introduced some improvements that should solve your issue:

signature and expiry timestamp are only stored in local storage if they are still valid
they are only used, when retrieved from local storage if they are still valid
if the signature is from a different account to the one currently connected, they are removed.
Better error responses on the auth function.

Could you test it again from the same browser? It should recognise that your expiryTimestamp is in the past and show you the unlock button so that you sign another message.

Nice fix, immediately asked me to unlock the admin features with that came the sign again operation, then download logs worked fine. 👍

Nice fix, immediately asked me to unlock the admin features with that came the sign again operation, then download logs worked fine. 👍

Excellent, thanks for testing


Apply input checker also for neuronx export

In this PR #33, the input checker was only applied on INF1's export. Here I add it also for INF2

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


docs: add ecosystems/tracing.md to guide

in case it's helpful, I wrote what I know about tapping into tracing data from Python in a new guide page. it describes two crates that take different approaches:

pyo3-tracing-subscriber, which exposes configuration options for 3 specific tracing_subscriber::layer::Layer implementations to Python
pyo3-python-tracing-subscriber, which implements a shim that forwards tracing data to a Python object that implements the tracing_subscriber::layer::Layer trait

disclaimer: I am the author of this crate

I haven't actually used pyo3-tracing-subscriber myself and the repo appears to be private but it recently published a new version on crates.io so I think it's still working/maintained.
let me know if you have any feedback, and no worries if this page is not wanted right now!

Thanks for sharing! I think this is worth exploring though the repo being private does make it hard to recommend to users. Perhaps we can reach out to the owners and ask for it to be made public?

attempted to reach out in an issue on a repository that has bindings generated by pyo3-tracing-subscriber: https://github.com/rigetti/qcs-sdk-rust/issues/512
note: you can grab the source from crates.io still (curl -L 'https://crates.io/api/v1/crates/pyo3-tracing-subscriber/0.1.4/download' | tar -zxf -)


Open source

rename

@nkapolcs @gomorizsolt any naming proposals? :)

look for and remove personal settings/config
provide actual working config example in readme

we could use our own data for extra exposure. @nkapolcs @gomorizsolt are you ok with having your GH/GL user names in the readme?

Prerequisites: https://github.com/c-hive/dotdev/issues/91, https://github.com/c-hive/dotdev/issues/102

Done


Use relative link, which works only in production

Fixes #144
I tried looking into MkDocs-Macros, but unfortunately it doesn't play well with the mkdocs-jupyter plugin. Or rather, it doesn't actually go into the markdown sections of the Jupyter Notebook.

Codecov Report

Merging #145 (c5fc43e) into main (3067113) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #145   +/-   ##
=======================================
  Coverage   76.19%   76.19%
=======================================
  Files          15       15
  Lines         605      605
=======================================
  Hits          461      461
  Misses        144      144

Flag
Coverage Δ

linux
76.19% <ø> (ø)

windows
?

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


Update on-pull-request.yml

updating ci workflow to trigger on new commits made on open pr's

@Robel-003 Hey, what happened to the proposed changes for this one? New info?

Hey @Robel-003, what happened to the proposed changes for this one? New info?

@taylorpapke What I added in the pull-request.yml file didn't trigger the workflow. I changed some styling in one of the pages and committed the changes, but it didn't trigger the workflow. Researching right now to find another fix

This pr has been resolved by a recent pr push to main.


Calling wifi.get_ip throws

Seems like the API doesn't quite line up somewhere. This is after confirming that wifi.isconnected() returns true (which is weird because I'm very unsure how the badge would connect to our wifi, I would expect it to return false)
  File "/home/hugh/Development/github.com/emfcamp/badge-2024-software/modules/wifi.py", line 191, in ifconfig
    return _STA_IF.ifconfig()
AttributeError: 'WLAN' object has no attribute 'ifconfig'. Did you mean: 'config'?

works right now (with current firmware, in the actual field). If not connected, None is returned.

I think this can now be closed?

I think this can now be closed? (happy to support issue triage/labelling if the team would like help on that)

I just started doing that @andypiper - please feel free to as well though!

This no longer throws, if the issue recurs we can open a new issue.


Incorrect statement about linearity of networks with ReLU activations?

Hi! There is a statement in your paper:

In our toy problem, the output scales linearly with the input, (aX)w = a(Xw). This property actually generalizes to common networks with linear layers and ReLU-like activation functions;

Doesn't seem true to me. Common networks have biases in linear layers, and even with ReLU activations successfully model non-linear functions.

Right, we also considered this. We mentioned this as a detail in the appendix.
The question is that if the bias term can introduce scale-invariance? Most likely not, because the bias term is completely external to the input. Especially if you imagine, if you multiply the input by 1e4, can some external bias terms resolve it? This bias terms will end up adding some offsets to your processed features, rather than scaling them.


Firefox 42 will require extension signing

Firefox 42 will no longer allow unsigned extensions, except for the developer and nightly versions. This means that users will not be able to pull the extension and compile it from git anymore.
Since there is no other channel that I am aware of to get an up-to-date Pentadactyl xpi, this means I will no longer have access to the extension when 42 releases using a mainline Firefox release.
This is not yet an issue, but I'm probably not the only person who will be affected, so I think it's worth reporting. Firefox 42 is scheduled to release in November.
https://wiki.mozilla.org/Addons/Extension_Signing
https://wiki.mozilla.org/RapidRelease/Calendar
https://news.ycombinator.com/item?id=10038999

Could there maybe be a solution where pentadactyl gets a continuous integration service that could build the xpi, submit it for signing and then put it up for download (like it used to be in the olden days)? As far as I understand the extensions only need to be signed, not hosted on Mozilla's add on platform. Some CI solution could also solve #26

Just a short an afterthought: This is a relevant problem, as probably no major distribution will disable the signature checking [1] and seeing how many people used to be unable to fix the MaxVersion string in install.rdf, when that came a day or two late, and build pentadactyl from sources I don't see them going through the hassle Mozilla has planned for privately used add ons (making an account, submitting an extension for signing themselves, etc), I think this could be a serious blow to the userbase.
[1] not even Arch Linux will go that direction https://bugs.archlinux.org/task/45900

Nevermind, although someone has already built some CI [1] an API for signing, that one could hook into is yet non-existant [2]:

Will there be an upload and signing API so I don't have to manually upload each new version of the add-on?

This isn't currently part of the plan for the first version of this project. However, we have received enough requests for this feature that we're looking into ways to make this happen.

[1] https://github.com/ffledgling/dactyl-build
[2] https://wiki.mozilla.org/Addons/Extension_Signing

Yes, I have tried to bring this issue up several times over the past five or six months, including opening issue #26 and posting several times on the mailing list and a couple on IRC. I have never seen any word from the developers about this though. The best solution in my opinion would be to actually push releases to AMO when a Firefox update breaks Pentadactyl. If the frequency of updates is too great for full AMO review, the AMO Beta release channel could be used.

I don't think that is a sensible solution, for one it is rather
hostile. Secondly, I do think the devs are very aware of the problem, since
@kmaglione works for/with the AMO team and actively on the validation problem,
as can be seen from [1].
Thirdly, it is not practically possible, I think to just take over an extension
on AMO against the developers wishes und push new releases. This first and
foremost is a point for my first one, though, it is hostile and therefore bad.
It is though, a point that @kmaglione and @dkearns are a rare sight in any of
the discussions here. It would be tremendously helpful if one could any pointers
to where the project is (supposed to be) going and how one cal help.
[1] https://github.com/kmaglione/amo-validator

Please read my post again. I am aware that @kmaglione works for Mozilla and is one of the primary reviewers of add-ons AMO. I also used to review add-ons for AMO myself when I had more free time. I didn't say anyone should "take over an extension on AMO." I said the best solution would be to push releases to AMO. Only the developers have access to the AMO account to do this. The review process (which involves a manual review as well as the automatic review from the AMO validator) is time consuming for such a large add-on like Pentadactyl. This is why I suggested the possibility of using the Beta channel (only available to add-ons that have been fully reviewed, which Pentadactyl, as submitted by its developers, has been). I and several other people have offered to help with this in any way possible but the developers have not responded to these offers. See for example:
Issue #26
https://groups.google.com/forum/#!topic/pentadactyl/-XpPCeH_GqY
https://groups.google.com/forum/#!topic/pentadactyl/fMr4S-oRKYc
https://github.com/ffledgling/dactyl-build/issues/1#issuecomment-76165523

Just an FYI: I'm the package maintainer for pentadactyl-git on ArchLinux. I've subscribed to this thread and am hoping there will be a workable solution in the end.
Looking more into it, I think the Beta channel proposal sounds good. The Mozilla document even specifies it can be used for nightlies, and the review will be automatic, taking a few seconds. So it seems to me that building nightlies, submitting them to the review, getting them signed and uploading the signed version to the Beta channel could be fully automated. Surely someone should be able to write and host that as a Python/cron script? Heck, I could do it.

@asmunder Have you looked into automating the extension signing process? My understanding is that there is no API, so it might be necessary to do something like browser automation to upload the xpi via the javascript upload UI.

@willsALMANAJ Yeah, I saw there was no API. I've automated logins, downloads, uploads etc before using urllib2 in Python. If there's actually javascript you need to parse you need to use Selenium instead and it can be more complicated. And sure, you can say it's a form of browser automation, but it's easier to debug, make it work consistently, and then run it as a cron job, as compared to automation plugins for an actual browser.

Okay, cool. Just making sure you were aware of the complications. I guess the plan for the AUR would be for pentadactyl-git to become pentadactyl-nightly or pentadactyl-beta and pull down a signed version of Pentadactyl from somewhere (addons.mozilla.org or 5digits.org most likely) since pulling from GitHub will no longer work. If there's no word from the developers, you could set up the automated signing process and have it post to the releases section of a GitHub repo as is done here https://github.com/ffledgling/dactyl-build and then have the PKGBUILD pull the XPI from there.

Even if the developers address the signing issue, a substantial amount of refactoring will be required to keep Pentadactyl functional in upcoming versions of Firefox (or somewhat functional; I'm not sure that it will be possible to recreate all of its functionality once all of the proposed changes are enacted):
https://blog.mozilla.org/addons/2015/08/21/the-future-of-developing-firefox-add-ons
Perhaps the developers' recent apparent lack of interest in promoting Pentadactyl is a sign that they were aware of these changes and aren't planning on trying to keep Pentadactyl working through them?

@willsALMANJ that should be a new thread. The scope of the problem is much larger.
I'm looking forward to a proper response to the "new news".

Mozilla really needs an api for this. It is even affecting their own projects:
mozilla/shumway#2329
mozilla/pdf.js#6137

@asmunder

I've automated logins, downloads, uploads etc before using urllib2 in Python.

Please don't use urllib2. It does not do HTTPS verification and I'd really like to ensure that the uploads are actually secure.

Will you update, the Pentadactyl nightly so it works with the Firefox 42 betas? I wanna try it out :+1: and have to use the latest Firefox Beta as i do the Swedish L10n for Mozilla Firefox and such :D

@bittin, this issue is specifically for extension signing. You should open another issue.

So PD doesn't work with FF 42, confirmed. Any plan to resolve this soon? Thanks!

That is not a problem of FF though (since signing has been postponed by
two versions I think), but the MaxVersion in the install.rdf being set
to 41.*
You can change this and rebuild pentadactyl.

@behrmann so firefox 44? source? (also it may be possible to use 'unbranded' versions of firefox regardless)

@vyp Here is the current plan: https://wiki.mozilla.org/Addons/Extension_Signing
So Pentadactyl will have to be signed to run in the next beta. Release has two more versions before it must be signed.

@willsALMANJ Thanks again.
Looks like you were right, only one commit in the last few months and no developer responses here, future does not look good for pentadactyl.

Seems sadly grim news for this extension. Especially with no Dev concerns visible yet.

"Especially with no Dev concerns visible yet."

It's a bit worrying. Pentadactyl is the main thing that makes web browsing tolerable. The new Firefox user interface is a disaster and Pentadactyl (plus about:config) is the best way around it. There would be a huge Pentadactyl community if it were only released on the official add-on site. The current barrier to entry is too high for most people.

Required extension signing also unfortunately hinders the chances of a maintained fork from coming up.

plus about:config

In fact, it's possible to change these values in the .pentadactylrc itself by using set! commands.

Fwiw Vimperator is at least maintained, and has signed releases.
@vyp, yeah, it's great :) Helps when maintaining multiple profiles/installations

Required extension signing also unfortunately hinders the chances of a maintained fork from coming up.

If the original developers abandon the project, why couldn't a fork be signed under a different name?

Fwiw Vimperator is at least maintained, and has signed releases.

I tried it, and I don't like it as much.

In fact, it's possible to change these values in the .pentadactylrc itself by using set! commands.

I currently have a user.js file in my profile for that. I'll look into the .pentadactylrc idea though.

Ah I didn't know about user.js, thanks.

why couldn't a fork be signed under a different name?

It can, but that's the point, it has to be done, hence hinders. (because I really don't think requiring extension signing is worth the supposed security benefits, but that's another issue altogether)

I really don't think requiring extension signing is worth the supposed security benefits

It's a terrible idea, because it makes Mozilla the gatekeeper for what software can be installed on your computer. That means that if you create a Firefox extension and Mozilla doesn't approve of it for some reason, there is no way to distribute it...

Exactly. But yes, the bigger threat is probably a new deficient plugin api regardless.

Yes... I don't think that Mozilla understands why Firefox is losing market share. It's because they don't cater to developers, not because Chrome extensions don't run on Firefox.* What they should do is fund Pentadactyl development and use it to rally developers around how amazing the current FF add-on system is.

An example: every JavaScript tutorial uses the Chrome dev console as an example. That means every new web developer is going to use Chrome. Developers are thought leaders, so people tend to follow them.

Chrome is actually much slower than Firefox from a users' perspective, because the auto-completion is optimized to send people to Google Search instead of directly to the destination website. Users then click on the disguised Google ads, which gives Google an extra $2-5 (or whatever) for each search done with their browser. Mozilla is trying to compete with Chrome by copying the look and the more limiting APIs, when really what they should be doing is letting users know why Firefox is faster for users and better for developers.
Sorry to go off on a tangent, but I'm a long-time user (since Mozilla Application Suite) who is hoping that the community will rally around better ideas before it's too late.
Maybe some of the Pentadactyl users could put together a community site to teach people about the plugin and let people know why Firefox is good for development? It could be like the old days of SpreadFirefox.com where the community was extremely enthusiastic about getting people to use Firefox. I think that Firefox needs community support like that if it's going to survive at all.

I know Pentadactyl is a fork of Vimperator, but I have never tried it out. What are the main differences?
I had been planning to try to get a version of Pentadactyl signed as an unlisted add-on for my own use (just change the add-on id to something else and upload it myself) once extension signing is mandatory, but I'm not too optimistic about that. There are already complaints about mission creep with the extension signing program. See the thread created by "Josh" -- maybe that's you -- on the addons.user-experience list where a Zotero developer is complaining about Zotero always getting flagged for manual review and being hassled repeatedly about issues that have already been approved in previous manual reviews. The extension signing program was pitched as preventing malware but is now turning into a detailed code quality review of every extension. Pentadactyl is comparable to Zotero in terms of size and the amount of Firefox internals it touches, so it would likely also have an arduous review process for each update.
All of that is to say that it might be easier to contribute patches to Vimperator to bring it closer to Pentadactyl than to try to maintain a working, signed version of Pentadactyl since Vimperator already has at least one developer willing to help it get through the signing process. Strong developer support will also be needed to deal with the other upcoming changes to the Firefox extension API. I haven't tested it myself, but I have seen others say that Pentadactyl does not work well with Electrolysis which will become the default at some point. Also, Pentadactyl currently uses a lot of functionality not available in the Chrome WebExtensions API, so it will not be possible to maintain it once XUL is phased out unless there is a strong developer voice advocating for Mozilla to implement the missing functionality into Firefox's WebExtensions.

With the risk of propagating the things I'm complaining about:
How about you guys take these discussions that are not related to the issue at hand to somewhere else?

Hmm, I'd say all of the posts (except yours) are related to the issue at hand, though they do not concretely move towards a resolution of the issue. I'll open a new issue any way. However, if you're expecting more than discussion about extension signing out of this issue, you're likely to be disappointed.

See the thread created by "Josh" -- maybe that's you

That's me. I'll write more over in issue #99.

It appears that there is now an API for extension signing: https://olympia.readthedocs.org/en/latest/topics/api/signing.html. Hopefully someone can look into this.

https://github.com/mozilla/pdf.js/issues/6137#issuecomment-156743676 by @timvandermeij

So is there a way to hack Pentadactyl to work with FF42? I'd like to keep updating my version of FF (even after 42) so would be useful to know how I can make Pentadactyl follow along.

Buried somewhere in the comments above is the fact that mandatory signing
has been postponed to FF 44. You need to manually increase the MaxVersion
string in the install.rdf file though.
On 30 Nov 2015 07:16, "B M Corser"<EMAIL_ADDRESS>wrote:

So is there a way to hack Pentadactyl to work with FF42? I'd like to keep
updating my version of FF (even after 42) so would be useful to know how I
can make Pentadactyl follow along.
—
Reply to this email directly or view it on GitHub
https://github.com/5digits/dactyl/issues/79#issuecomment-160528320.

Also, for Firefox 43 (released later this month) you will have to enable xpinstall.signatures.required in about:config (this option will be removed in FF 44 as @asmunder indicated).
There was some good news announced today regarding getting Pentadactyl signed for use in FF 44 and beyond. There is now a signing API and it will be fully automated sonn. With the previous (and current for the time being) system, Pentadactyl would have triggered a manual review making it difficult to get it signed. With this change, even if the developers don't feel like signing Pentadactyl themselves, we now have the option of changing the Pentadactyl's addon id (since it must be unique and<EMAIL_ADDRESS>already is taken on addons.mozilla.com) and submitting it for signing ourselves, perhaps as part of automated build process like https://github.com/ffledgling/dactyl-build

Also: if you're using iceweasel and the package is installed into /usr/share/firefox, it will work because of a debian patch to stop requiring signing of addons in there.

Since Firefox 44 is coming out soon, I put together some scripts to sign Pentadactyl using Mozilla's API and upload the signed xpi file to GitHub for distribution. The xpi files are at https://github.com/willsALMANJ/pentadactyl-signed/releases. The scripts are also in the repo if you want to use them to sign to set up automated signing/updating of Pentadactyl for yourself rather than trust my xpi's (you'd have to edit the files to change the addon id to something else unique and change the GitHub repo url to your own).

Looks like the title needs an update since we're well past 42 :p

@willsALMANJ, does that run automatically on every commit/night or manually?

I run it manually when there are new commits (I subscribe to the feed). I wrote a systemd timer to run it nightly but it's not running and I haven't had a chance to debug it.


submit button with reference to new button

Prerequisites

[ ] I have read the documentation;
[ ] In the case of a bug report, I understand that providing a SSCCE example is tremendously useful to the maintainers.

Description
[Description of the bug or feature]
Steps to Reproduce

[First Step]
[Second Step]
[and so on...]

Ideally, I'm providing a sample JSFiddle or a shared playground link demonstrating the issue.
Expected behavior
[What you expected to happen]
Actual behavior
[What actually happened]
Version
You can usually get this information in your package.json or in the file URL if you're using the unpkg one.

@praveen747 It appears that you have submitted an issue without adding any information to it other than the issue title. Could you please either update the issue to include details or close this issue.


Refactor Timeline JS

As part of learning the code base, go over and refactor Eli's javascript JS.

Just to clarify. By timeline JS do you mean the .js files in app/assets/javascripts/timeline? @andymeneely

Yep. And anything else related to it you feel the need to.

going to treat this as a duplicate of #92 and work on them as one issue

This is happening gradually while working on user stories.


Fixes rank and epsilon arguments for LR-GW (see issue #21)

Fixes rank and epsilon arguments for LR-GW (see issue #21)

Thanks Laetitia! LGTM


Added Safe-list usage to readme

Updated Readme to include instructions for adding files to the org-auto-tangle-babel-safelist.

Thanks @RampedIndent. The safelist is an awesome addition.


[Bug]: eth_call return error

Describe the bug
a eth_call request  for simulate
in ethereum or other op chain like optimism , arb, it work can return data
but in scroll not working
To Reproduce
{
"jsonrpc": "2.0",
"method": "eth_call",
"params": [
{
"from": "0x0000000000000000000000000000000000000000",
"to": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
"data": "0xd6383f940000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000ffdb071c2b58ccc10ad386f9bb4e8d3d664ce73c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000054fa000000000000000000000000000000000000000000000000000000000005fa35000000000000000000000000000000000000000000000000000000000000ae64000000000000000000000000000000000000000000000000000000005968606e0000000000000000000000000000000000000000000000000000000059682f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000589406cc6185a346906296840746125a0e449764545fbfb9cf000000000000000000000000b6bcf9517d193f551d0e3d6860103972dd13de7b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4b61d27f60000000000000000000000001c7d4b196cb0c7b01d743fbc6116a902379c7238000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044095ea7b30000000000000000000000000000000000325602a77416a16136fdafd04b299fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d50fa9ee28202f8602e9a4c99af799c75c29afbc89000000000000000000000000000000000000000000000000000000006c7bacd00000000000000000000000000000000000000000000000000000000065ed35500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030834e50943434af33947ba6de358766961c7b89ae4b496a11d2b53771479e45220a8caa0024b81a2ed649b26a292c5f5b2870da090e3cc4490688a4874869721c00000000000000000000000000000000000000000000000000000000000000000000000000000000000041aa846693598194980f3bf50486be854704534c1622d0c2ee895a5a1ebe1508221909a27cc7971d9f522c8df13b9d8a6ee446d09ea7635f31c59d77d35d1281421c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
"latest"
],
"id": 1
}
here is the request
request to Ethereum. sepolia

but call. scroll sepolia return errror

URLs
not link just rpc call error
Expected behavior
should return like ethereum call response ,it is  EVM compatible chain right ?
Additional context
No response

Please open an issue on https://github.com/scroll-tech/go-ethereum.


Fix Spanish translation grammar and style improvements

More fixes as I stumble with them and I get more familiar with UI

@sunnygoyal ping

@sunnygoyal anything else needed here?


Update vue js component link

Hi, @chmln
The current vue js component have some issues, i solved them and created a new package.
Advantage of new package over vue-blue:

can be installed as standalone through npm; while vue-blu force you to download unwanted components along with flatpickr
does not force you to have bulma
does not force zn  locale, en by default
is smaller in size (less html)
is upto date with flatpickr v4
can be used in non webpack environment (browser)
value is reactive
config options are reactive
supports wrap mode
supports vee-validate
support plugins
has examples in same repo
has test cases

I would like you to check new component and let me know if i need to tweak something there.
Demo at jsfiddle
Thanks

Coverage remained the same at 83.948% when pulling b3852548d142a3d28de7bcaae4fea801f83eb64b on ankurk91:patch/vue-js-component into 1dadfb9f561700183b0b14d6b78457437779c731 on chmln:master.

ping @chmln

just noticed the ping @ankurk91
Re-submit the PR  if you'd like.


In memory geohash based search

I have downloaded your software and I have started to compute geohashes.
https://github.com/yinqiwen/ardb/wiki/Spatial-Index
Is it possible to do a in memory geohash based indexer ?
I can create a HashMap of the 18 pairs (geohash number,geohash number+1) and it's eight neighbors.  Supposing I want to search for coordinates within 5 kms what should be my precision value ? Also I do not understand why I must leftshift to 52 bits.
What data structure would be best to store this so I can do fast searches in memory(without external database) ?
Quadtree, R-tree ? HashMap ?
What I thought was store all the 18 members in  HashMap and do look ups.

this spartial-index have been ported to redis since 3.2, it's all in memory.
52 bits geohash value represented a box in map which length/height is less than 0.6 meters, and u can do a range search from 0.6 meters.
since all data encoded by geohash must be stored in a sorted data structure,  tree/skiplist seems better.

It looks like you are right on the data structure. I extended your code by using https://en.wikipedia.org/wiki/Cython so that I can use your code via Python. Here is a test example you can run as well and I can provide the Cython interface for calling this -
``from geo import GeoHash
from collections import OrderedDict
import numpy as np
import sys
minLat = 27.401436
maxLat = 62.54858
minLo = -180.0
maxLo =<PHONE_NUMBER>0000002
latGrid = np.arange(minLat,maxLat,0.05)
lonGrid = np.arange(minLo,maxLo,0.05)
geoHash = GeoHash()
geoHashTable = OrderedDict()
geohash1 = {}
for lon,lat in zip(lonGrid,latGrid):
geohash = geoHash.encode(lon,lat,24)
bitsOriginal = geohash["bits"]
bits = bitsOriginal << 52
geoHashTable[bits] = np.c_[lon,lat]
neighbors = geoHash.get_neighbors(geohash)
for k,v in neighbors.items():
if isinstance(v,dict):
for k1,v1 in v.items():
bits1 = v["bits"]
bits = bits1 << 52
geoHashTable[bits] = np.c_[lon,lat]
bitsOriginal1 = bitsOriginal+1
geohash1["bits"] = bitsOriginal1
geohash1["step"] = 24
neighbors1 = geoHash.get_neighbors(geohash1)
bits1 = bitsOriginal1 << 52
geoHashTable[bits1] = np.c_[lon,lat]
for k,v in neighbors1.items():
if isinstance(v,dict):
for k1,v1 in v.items():
bits = v["bits"]
bits = bits << 52
geoHashTable[bits] = np.c_[lon,lat]
lonTest = 172.76843
latTest = 61.560745
geohashTest = geoHash.encode(lonTest,latTest,24)
bitsTest =    geohashTest["bits"]
finalBits = bitsTest << 52
if finalBits in geoHashTable:
print("Yes")
else:
print("No")

It looks you are right on the choice of data structure. I extended your code to use Cython so that I can call your encode API and getneighbors in Python( I can give you the Cython extension). Then I created a lat lon grid  and I populated the geoHash ,geoHash+1 and the 16 neighbors by encoding and get_neighors call . Then I bit shifted all of them by 52.
Then I encoded a test value to check to see if it is present in the HashMap. And I got a NO. So I will have to use a OrderedSet to do range queries.
`from geo import GeoHash
from collections import OrderedDict
import numpy as np
import sys
minLat = 27.401436
maxLat = 62.54858
minLo = -180.0
maxLo =<PHONE_NUMBER>0000002
latGrid = np.arange(minLat,maxLat,0.05)
lonGrid = np.arange(minLo,maxLo,0.05)
geoHash = GeoHash()
geoHashTable = OrderedDict()
geohash1 = {}
for lon,lat in zip(lonGrid,latGrid):
geohash = geoHash.encode(lon,lat,24)
bitsOriginal = geohash["bits"]
bits = bitsOriginal << 52
geoHashTable[bits] = np.c_[lon,lat]
neighbors = geoHash.get_neighbors(geohash)
for k,v in neighbors.items():
if isinstance(v,dict):
for k1,v1 in v.items():
bits1 = v["bits"]
bits = bits1 << 52
geoHashTable[bits] = np.c_[lon,lat]
bitsOriginal1 = bitsOriginal+1
geohash1["bits"] = bitsOriginal1
geohash1["step"] = 24
neighbors1 = geoHash.get_neighbors(geohash1)
bits1 = bitsOriginal1 << 52
geoHashTable[bits1] = np.c_[lon,lat]
for k,v in neighbors1.items():
if isinstance(v,dict):
for k1,v1 in v.items():
bits = v["bits"]`
bits = bits << 52
geoHashTable[bits] = np.c_[lon,lat]
lonTest = 172.76843
latTest = 61.560745
geohashTest = geoHash.encode(lonTest,latTest,24)
bitsTest =    geohashTest["bits"]
finalBits = bitsTest << 52
if finalBits in geoHashTable:
print("Yes")
else:
print("No")

1. this spartial-index have been ported to redis since 3.2, it's all in memory.

2. 52 bits geohash value represented a box in map which length/height is less than 0.6 meters, and u can do a range search from 0.6 meters.

3. since all data encoded by geohash must be stored in a sorted data structure,  tree/skiplist seems better.

I think I have a way to do this using a HashTable. The idea is the same i.e. approximate nearest neighbors.
What one can do is create a geohash using a very low precision(to be identified).
Then points within a given radius will all probably give the same geohash.
Then one can create a hash table and create a key(what determines a key is to be determined) and store the values as the approximate nearest neighbors.
Then given a query point whose geohash is also to be calculated at the same low precision then one can do a O(1) lookup.
This is the same idea that is expressed in Locality Sensitive  Hashing. Does that make sense or is it not possible ?

store all points into a skiplist/tree can be used to search by any given radius value.
IMO, store points into hash + vectors what u described can only be used to search by a given radius value.

I agree with what you are saying but if you look at this article - https://arxiv.org/pdf/1408.2927.pdf each one of those given radius values can be stored as a hash + vectors. So there will be more memory that is consumed but comes with a benefit in the form of O(1) lookup. In my original example I gave for a given radius value but you can replicate the hash + vectors for all radius values and do O(1) lookup.
Also have you looked at http://blog.christianperone.com/2015/08/googles-s2-geometry-on-the-sphere-cells-and-hilbert-curve/ S2 cells have the advantage that they are indeed space filling curves ?

IMO. most cpu usage is spent on calculate the distances between given lat/lon and points in the founded areas.  Use an O(1) lookup to find the areas did not help a lot on performance.
hilbert space filling curve is actually a better algorithm than current geohash value which would reduce search range.


[Algo] Shell Sort [C]

https://en.wikipedia.org/wiki/Shellsort

@gitmate-bot

Shall I start on this one?

Sure. Please go through the commit guidelines before opening PR.

Thank you. Can you please assign this to me?


[Polish programtv.onet.pl] Some channels have totally different EPG than the website.

Some (not all) channels currently have totally different EPG in the XML than the website
Some sample ones which are currently incorrect:
Canal+ Domo
Kino Polska
TVN
The timestamps in the xml file indicate the current date and time for the incorrect programs.
Searching the website for the programs doesn't net any results. For example:
<programme start="20220116093500 +0000" stop="20220116103000 +0000" channel="CanalPlusDomo.pl"><title lang="pl">Ucieczka na wieś 19, odc. 5</title><desc lang="pl">...</desc><category lang="pl">serial dokumentalny</category></programme>
Searching for "Ucieczka na wieś 19, odc. 5" only finds "Ucieczka na wieś 19, odc. 25" which is not the same programme.
The programmes seem to be from the correct channel, just from different day perhaps?
Another thing, perhaps connected: EPG data is missing for TVN Style, but it's back tomorrow at 3 AM.

The problematic channels seem to have yesterday's EPG as today.

Fixed in #399

Hi freearhey, unfortunately the issue is not fixed. Today the EPG for TVN is again from yesterday. There must be a more complicated underlying problem which simply taking next day's EPG didn't fix...

Please check again.


MeshLibrary scene import: recurse 4 nodes deep

before we only recursed 2 nodes deep, now we just do 4 nodes deep - this should be sufficient until there is a new system for exporting nodes with more control.
Fixes importing certain Kenney assets, like described in #85085 or shown in https://dev.to/robpc/why-godot-drops-objects-when-creating-a-meshlibrary-14bg
We still only pick at most 1 MeshInstance3D from every node of only the immediate scene children.
Only tested this locally on my specific use-case where it fixed the issue (with Kenney's assets, different pack but same root issue as in the link)

Superseded by #87923.
Thanks for the contribution nevertheless!


Loaders are being expected in every folder where require is pointing to.

I'm submitting a bug report
Webpack version:
1.10.x/2.x
Please tell us about your environment:
OSX 10.x
Current behavior:
while require is pointing to a file which is in sibling project, It is not able to resolve loaders.
Error message:
ERROR in ../common-code/directives/datasetSelector/datasetSelectorCtrl.js
Module not found: Error: Cannot resolve module 'raw-loader' in /Users/sultanm/Projects/MSF_OCA/common-code/directives/datasetSelector
@ ../common-code/directives/datasetSelector/datasetSelectorCtrl.js 4:18-55

Current folder structure
common-code
directives
dataSetSelector
datasetSelectorCtrl.js
app
js
myfile.js
From myfile.js if I require  datasetSelectorCtrl.js from sibling project, I am getting the above error. After doing a npm install raw-loader in the sibling project(common-code), it worked( I have raw loader installed in app folder already).
Expected/desired behavior:
It should not throw this error, instead it should resolve the loaders from the working directory.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem along with a gist/jsbin of your webpack configuration.
Prepare the above folder structure and make sure that the js that you are trying to require has a loader dependency and run webpack.

Webpack version:
1.10.x/2.x

have you really tested it with webpack 2?

Sorry, I missed that version part. It was the default template coming up. I did not test it with v2.x but with 1.13.1 its happening.

This is fixed in webpack 2. Loaders resolve relative to configuration file.


Fix child tables are included when only parent table is specified

Currently even if we specify only a parent table, child tables are included in planning phase.
Example:
$ gcsb load -p ${PROJECT} -i ${INSTANCE} -d ${DATABASE} -t Singers -o 10
2022/03/16 19:45:18 Loading configuration
...
2022/03/16 19:45:26 Executing load phase
2022/03/16 19:45:26 +---------+------------+------+-------+---------+
2022/03/16 19:45:26 |  TABLE  | OPERATIONS | READ | WRITE | CONTEXT |
2022/03/16 19:45:26 +---------+------------+------+-------+---------+
2022/03/16 19:45:26 | Singers |         10 | N/A  | N/A   | LOAD    |
2022/03/16 19:45:26 | Albums  |         50 | N/A  | N/A   | LOAD    |
2022/03/16 19:45:26 | Songs   |        250 | N/A  | N/A   | LOAD    |
2022/03/16 19:45:26 +---------+------------+------+-------+---------+
...

Note that even though only Singers table is provided, Albums and Songs tables are included in the generated plan. (Singers is the parent table, Albums and Songs are interleaved child tables.)
This PR fixes this issue and only specified parent table will be executed.
After fix:
$ gcsb load -p ${PROJECT} -i ${INSTANCE} -d ${DATABASE} -t Singers -o 10
2022/03/16 19:47:24 Loading configuration
...
2022/03/16 19:47:32 Executing load phase
2022/03/16 19:47:32 +---------+------------+------+-------+---------+
2022/03/16 19:47:32 |  TABLE  | OPERATIONS | READ | WRITE | CONTEXT |
2022/03/16 19:47:32 +---------+------------+------+-------+---------+
2022/03/16 19:47:32 | Singers |         10 | N/A  | N/A   | LOAD    |
2022/03/16 19:47:32 +---------+------------+------+-------+---------+
...

@snehashah16 Hi Sneha, could you take a look at this? I think once this fix is merged, we can use this tool for the use case where only parent tables are supposed to be load generated.

@snehashah16 Thanks for your review! I just modified README to note that interleaved tables are not supported yet: https://github.com/cloudspannerecosystem/gcsb/pull/5/commits/6c682a699f4fca888a53377d55b42b4ce1b86a70


When objc_binary depends on cc_library, the latter is built for the wrong architecture

bazel build of the binary target yields:

ld: warning: ignoring file bazel-out/local_darwin-fastbuild/bin/.../libgrpc_unsecure.a, file was built for archive which is not the architecture being linked (i386): bazel-out/local_darwin-fastbuild/bin/.../libgrpc_unsecure.a

and lipo -info bazel-out/local_darwin-fastbuild/bin/.../libgrpc_unsecure.a:

input file bazel-out/local_darwin-fastbuild/bin/.../libgrpc_unsecure.a is not a fat file
Non-fat file: bazel-out/local_darwin-fastbuild/bin/.../libgrpc_unsecure.a is architecture: x86_64

So it seems it's compiling the cc_library for OS X.

objc -> cc dependencies are a super experimental feature at this point in time, so expect them to be broken for a bit longer.
That said, if you have a crosstool that supports the architecture you're trying to build (I'll try to get one into bazel for the iOS architectures eventually) you can use the following flags to make things work:
blaze build --cpu=<your crosstool cpu, e.g. ios_i386> --crosstool_top=<your crosstool path, e.g. //tools/osx/crosstool:crosstool> --host_crosstool_top=//tools/objc/crosstool:crosstool

This was unsassigned when we moved to github. After re-reading actually it is not P1.

Any progress on this? I can have objc_library's depend on cc_libraries, but when putting that obj_library as a dependency of an obc_binary I get "ld: symbol(s) not found for architecture i386".

Any ETA on this?

We're currently reworking how objc compilation works to use a CcToolchainProvider / CROSSTOOL file similarly to how C++ compilation works; either this will be fixed as part of the refactor or the refactor will make it much easier to fix.
Does the workaround posted by aragos above work?

You should be able to use apple_binary now, with appropriate flags and crosstool, provided you want to build targeting ios.
This is related to https://github.com/bazelbuild/bazel/issues/1279, as getting a crosstool targeting iOS is a bit of a pain without a working example.
You should be able to specify
bazel build  //package:my_target
--experimental_enable_objc_cc_deps --ios_multi_cpus=i386,x86_64
--crosstool_top=tools/osx/crosstool:crosstool
to build apple_binary "my_target" as a fat binary for both i386 and x86_64 architectures, even with cc deps.


Multiple precompiled assemblies with the same name Newtonsoft.Json.dll

(Assets/Acoustics/Editor/Plugins/Windows/Newtonsoft.Json.dll)
<EMAIL_ADDRESS>empty initial unity project merely, play mode can't be entered, compile errors
it is as in unity.plugin so is in wwise.beta.
Is there a short temporary way to solve this to explore PA?

Hi @AndyPipe. We are aware of this issue but don't have a fix yet. I believe a common workaround for this is to simply delete one of the conflicting .dlls.

What Unity version are you using? It's concerning that you're seeing this in a blank project. We've seen this issue pop up when combining PA with other plugin packages, but not in a blank project.

To add some information to this thread:
I'm having the same issue, because other packages (i.e. https://github.com/siccity/gltfutility.git, com.unity.collab-proxy) define their dependency in packages-lock.json:
      "dependencies": {
        "com.unity.nuget.newtonsoft-json": "2.0.0"
      },

If I simply don't import the dll from the Acoustics package, the errors like the following show up in its place:
Assembly 'Assets/Acoustics/Editor/Plugins/Windows/Microsoft.Azure.Batch.dll' will not be loaded due to errors:
Microsoft.Azure.Batch references strong named Newtonsoft.Json Assembly references: <IP_ADDRESS> Found in project: <IP_ADDRESS>.
Assembly Version Validation can be disabled in Player Settings "Assembly Version Validation"

I'm not sure if disabling the Assembly Version Validation may do the trick as a quick work around for some people. It doesn't seem the way to go long term.
I believe collab is activated by default from some unity version onward - which may explain why people are reporting it in blank projects, too?

Facing same issues...

I am also having the same issue...I tried removing the redundant Newtonsoft.Json.dll and I also get the same issue as Glokta0 when doing this. I have also tried deleting the dll's corresponding to Azure and I get further errors when doing this. I am using 2021.2.11f1

@Larzone24 Try renaming the Newtonsoft,json.dll in the plugin folder (under "Assets\Acoustics\Editor\Plugins\Windows")  to something like "PA.Newtonsoft.Json.dll" which should address the issue. Unity should still find and load the assembly correctly (thanks to strong name binding) so shouldn't affect any functionality either.

With the PA3.0 release, this Newtonsoft collision should be addressed now.  Please let us know if you are still experiencing issues.

Unity 2022.1.1f.

@V0odo0 Thank you for the feedback.  It looks like you are hitting something that we more or less worked around in the sample scene and you'll need to make a similar change in your project in order to avoid this issue.  If you modify the Player settings for "Assembly Version Validation" to off, you should no longer see this issue.  We didn't notice any other drawbacks to disabling this validation, but there might be issues lurking that we are not aware of.

@V0odo0 Thank you for the feedback. It looks like you are hitting something that we more or less worked around in the sample scene and you'll need to make a similar change in your project in order to avoid this issue. If you modify the Player settings for "Assembly Version Validation" to off, you should no longer see this issue. We didn't notice any other drawbacks to disabling this validation, but there might be issues lurking that we are not aware of.

I just reopened my test project and noticed that the error magically disappeared. That is with Assembly Version Validation checked in Player Settings and Auto Reference unchecked for PA.Newtonsoft.Json. The project has nothing but Acoustics package imported.
Prior to this, the error still persisted even with Auto Reference unchecked for PA.Newtonsoft.Json. As far as I remember Editor restart didn't help either.
Kinda strange but rebooting might was the problem solver in my case.


add more chaos examples for web-show

What problem does this PR solve?
add pod-kill and pod-failure examples for web-show
What is changed and how does it work?
Check List
Tests

Unit test
E2E test
Manual test (add detailed scripts or steps below)
No code

Code changes

Has Go code change
Has CI related scripts change
Has Terraform scripts change

Side effects

Breaking backward compatibility

Related changes

Need to update the documentation

Does this PR introduce a user-facing change?:

NONE

/merge

Codecov Report

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

@@           Coverage Diff           @@
##           master     #315   +/-   ##
=======================================
  Coverage   59.46%   59.46%
=======================================
  Files          44       44
  Lines        2805     2805
=======================================
  Hits         1668     1668
  Misses       1021     1021
  Partials      116      116

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 517f694...545d7b7. Read the comment docs.


[BUG] Service Bus SDK hangs processing multiple sessions

Describe the bug
While using com.azure:azure-messaging-servicebus on version 7.15.0-beta.3 and 7.14.4 to process messages from 2 or more concurrent
sessions, the threads processing work on other non-idle sessions are interrupted when a session idles out.
Under some circumstances that interrupt appears to break the non-idle receiving session causing it to no longer process messages.
This is evidenced by the log of the example showing that it is producing but not consuming messages. 7.14.4 does appear
to recover eventually but still interrupts unrelated work.
Exception or Stack Trace
Complete log for this trace can be found here
11:02:18.092 [receiver-1-2] ERROR c.t.a.s.bug.TriggerWorkInterrupt - Got Error: USER_CALLBACK thrive-jgoodwin-test.servicebus.windows.net test-topic-1/subscriptions/Jon-Goodwins-MacBook-Pro-LOCAL
com.azure.messaging.servicebus.ServiceBusException: java.lang.InterruptedException
	at com.azure.messaging.servicebus.ServiceBusProcessorClient$1.onNext(ServiceBusProcessorClient.java:424)
	at com.azure.messaging.servicebus.ServiceBusProcessorClient$1.onNext(ServiceBusProcessorClient.java:398)
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.runAsync(FluxPublishOn.java:440)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.run(FluxPublishOn.java:527)
	at reactor.core.scheduler.ImmediateScheduler$ImmediateSchedulerWorker.schedule(ImmediateScheduler.java:84)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.trySchedule(FluxPublishOn.java:312)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.onNext(FluxPublishOn.java:237)
	at com.azure.messaging.servicebus.FluxTrace$TracingSubscriber.hookOnNext(FluxTrace.java:62)
	at com.azure.messaging.servicebus.FluxTrace$TracingSubscriber.hookOnNext(FluxTrace.java:35)
	at reactor.core.publisher.BaseSubscriber.onNext(BaseSubscriber.java:160)
	at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmit(FluxFlatMap.java:544)
	at reactor.core.publisher.FluxFlatMap$FlatMapInner.onNext(FluxFlatMap.java:985)
	at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onNext(MonoFlatMapMany.java:250)
	at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onNext(FluxDoFinally.java:113)
	at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200)
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
	at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)
	at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99)
	at reactor.core.publisher.FluxTakeUntilOther$TakeUntilMainSubscriber.onNext(FluxTakeUntilOther.java:243)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.runAsync(FluxPublishOn.java:440)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.run(FluxPublishOn.java:527)
	at reactor.core.scheduler.ImmediateScheduler$ImmediateSchedulerWorker.schedule(ImmediateScheduler.java:84)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.trySchedule(FluxPublishOn.java:312)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.onNext(FluxPublishOn.java:237)
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210)
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.runAsync(FluxPublishOn.java:440)
	at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.run(FluxPublishOn.java:527)
	at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
	at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
	at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: reactor.core.Exceptions$ReactiveException: java.lang.InterruptedException
	at reactor.core.Exceptions.propagate(Exceptions.java:396)
	at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:91)
	at reactor.core.publisher.Mono.block(Mono.java:1742)
	at com.azure.messaging.servicebus.ServiceBusReceivedMessageContext.complete(ServiceBusReceivedMessageContext.java:104)
	at com.thrive.azure.servicebus.bug.TriggerWorkInterrupt.processMessage(TriggerWorkInterrupt.java:28)
	at com.azure.messaging.servicebus.ServiceBusProcessorClient$1.onNext(ServiceBusProcessorClient.java:422)
	... 36 common frames omitted
Caused by: java.lang.InterruptedException: null
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1048)
	at java.base/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:230)
	at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:87)
	... 40 common frames omitted

To Reproduce
The entire example application used to reproduce this bug can be found here

Construct a processor with a handle method that takes a long time to process some messages.
In this case messages from the constant session, for maximum reproducibility it should be roughly the idle timeout or longer.
Then in a loop:
Send a message with a session constant
Send a message with a session intermittent
Wait 30s or so

You'll be able to observe the intermittent session time out; and then the work on the constant session be interrupted.
If done for long enough eventually you'll see that messages are sent but no longer processed on either session.
Code Snippet
A full example application that triggers this bug can be found at this repository.
The processor configuration is:
new ServiceBusClientBuilder()
  .fullyQualifiedNamespace(Config.FULLY_QUALIFIED_NAMESPACE)
  .credential(Config.CREDENTIAL)
  .sessionProcessor()
  .topicName(Config.TOPIC)
  .subscriptionName(Config.SUBSCRIPTION)
  .disableAutoComplete()
  .processMessage(TriggerWorkInterrupt::processMessage)
  .processError(TriggerWorkInterrupt::processError)
  .receiveMode(ServiceBusReceiveMode.PEEK_LOCK)
  .subQueue(SubQueue.NONE)
  .maxConcurrentSessions(2)
  .maxConcurrentCalls(1)
  .prefetchCount(0)
  .sessionIdleTimeout(SESSION_IDLE_TIMEOUT) // 5 seconds
  .buildProcessorClient();

ProcessMessage just needs to sleep for a bit to emulate some IO operation etc.
static void processMessage(ServiceBusReceivedMessageContext msg) {
    try {
        LOG.info("Started handling message for session: {} message: {}", msg.getMessage().getSessionId(), msg.getMessage().getMessageId());
        if (msg.getMessage().getSessionId().equals("constant")) {
            LOG.info("message on constant session sleeping");
            Thread.sleep(SESSION_IDLE_TIMEOUT.toMillis());
        }
        msg.complete();
        LOG.info("Finished handling message for session: {} message: {}", msg.getMessage().getSessionId(), msg.getMessage().getMessageId());
    } catch (InterruptedException e) {
        throw new RuntimeException(e);
    }
}

Expected behavior
The lifecycle of a given session's receiver should not impact other sessions. The processor should not get into
a state where it is running but not processing work.

Setup (please complete the following information):

OS: MacOs Monterey 12.6.3 (M1 Mac pro)

IDE: Intellij

Library/Libraries: [e.g. com.azure:azure-core:1.16.0 (groupId:artifactId:version)]

com.azure:azure-messaging-servicebus:7.15.0-beta.3 or 7.14.4
com.azure:azure-core-amqp:jar:2.9.0-beta.5 (transitive from the above)
com.azure:azure-identity:1.10.1

Java version: 17.0.6

App Server/Environment: Ran via intellij

Frameworks: None

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

Hello @Jw0x47 thanks! I'll take a look.

Thank you for sharing the complete source code for testing this. I had a look at the code. I’ve the following observations

Note that the delivery of messages to processor callback happens in demon threads. The start() API is non-blocking, so it returns immediately and allow the main (non-demon) thread to continue. If the main program exits, then it will cause JVM to exit as well. So, there needs to be some way to avoid the application termination that stops JVM from exiting. I’ve slightly changed the while loop so it keeps the main thread (non-demon) running.
The behavior of sessionIdleTimeout is (JavaDoc)-

"After the processor delivers a message to the processMessage(Consumer) handler, if the processor is unable to receive the next message from the session because there is no next message in the session or processing the current message takes longer than the sessionIdleTimeout then the session will time out. To avoid inadvertently losing sessions, choose a sessionIdleTimeout greater than the processing time of a message"

This explains why you’re seeing interruption when the sleep is longer than sessionIdleTimeout

To own a session, the library needs to keep renewing the lock on the session. If time since acquiring a session elapses the auto renewal duration specified in the builder (the maxAutoLockRenewDuration(Duration) API) or default, then client will loose the session. This is the service error "The session lock has expired on the MessageSession" you’re seeing in the log.

Hey @anuchandy thanks so much for the time, responding to each of your sections below:
1
I'm a bit confused; this while loop keeps this running locally for me, until the shutdown hook changes the value of RUNNING.
2
My apologies, this is a mistake on my part. I oversimplified the setup in test app to get a consistent reproduction rate. I have pushed a new version of the example with the sleep time for each message at 1/10th of the idle timeout. I am still able to reproduce the issue in this new configuration. I believe I understand what's going on, more below.
3
The default value for the auto-renewal timeout is five minutes. The previous version of the app was using the default; but I set it explicitly just in case. Given that all the timeouts are sub-minute and timeout is 5 minutes I'm not sure how this relates to the problem.
Log
I uploaded new logs to this file. I updated the message IDs for the constant messages to be sequential to simplify reading the log. After combing over these logs; I think there are 2 things going on:

There is some interaction between sessions when you have multiple sessions consuming messages. I have been unable to reproduce these behaviors for the app when consuming from a single session.
The client appears to be pre-fetching messages despite having prefetch set to 0.

So reading the log:

First run of messages does not repro the issue. The end-state is that both sessions time out.

On the second iteration of the main loop, we send, and process some messages here.
The receiver appears to be pre-fetching messages, despite that prefetch set to 0. This is what causes the constant session to time out at all. More on that in #7.

We begin processing constant session message 7.

We observe a timeout on the intermittent session.

Processing of a message 7 on the constant session is interrupted
I believe this is not the result of the constant session timing out for a few reasons:
i. The constant session does log a timeout about 900ms later here
ii. There is no log for constant timing out before the interrupt happens
iii. This behavior is not reproducible when consuming only from the constant session
This is the bug I was initially trying to report. I'm not sure why this occurs; but it seems incorrect to me.

We start processing constant session message 8 and 9 (Message 7 is retried later)
Why are messages 8 and 9 processed here? This means they get processed out of order, which is contrary to the documentation I've been following. Is there something else that that needs to be configured to prevent this? I would generally expect 7 to be retried before 8 is attempted.

After we begin processing message 9 the constant session times out. This is 5.006 seconds after the last constant session message was received here
This behavior appears to be correct, but very confusing. Since the session receiver got its last message a full 5 seconds before it could be processed, but the client is configured not to pre-fetch.
My primary question here is, why is the client pre-fetching these messages? I have confirmed with a debugger that the ServiceBusSessionReceiver class is constructed with a prefetch of 0.

Hi @Jw0x47, you’re right that the loop sending message will keep the main (non-demon) thread from exiting (hence blocks the JVM exit) until for example Ctr + C signal is sent. Sorry, I overlooked the loop condition. :(
I’ll take a look at the new logs and try reproducing what you’re observing for me to debug. Thanks for the code, logs and detailed analysis on logs.

Hello @Jw0x47, I looked into this, and I can repro all 3 issues you're seeing - 1. undesired prefetch, 2. session timeout and 3. interrupted exception.
The good news is that with on-going rework of AMQP libraries (aka, v2 stack), these three issues will be addressed. Related code is already completed in the PR (linking to track from this issue), it's currently being finalized, and stress tested. I’ve tested the project you’ve shared using the SDK build from this PR to confirm the fixes.
I’ve cloned your project and updated the README with instructions to build and run against the v2 stack (also made necessary changes in the code to use the v2 stack), in case you would like to see it in action.  The clone is here. Let me know if you have any questions.

Glad to hear it is already being worked on. Is there an ETA for a beta4 / release of 7.15?
Trying to plan our usages of this internally and if we can hold off on session usage until 7.15 is available or if we need to run off the beta for some time.

Let me get back to you on this.

Hello @Jw0x47, we’ve published 7.15.0-beta.4to maven. I’ve also updated your sample project’s clone https://github.com/anuchandy/azure-service-bus-bug  (README update, dependency update and code update to opt-in v2 stack)
Note: Earlier we discussed about conditions under which the session idle timeout can be triggered -

After the processor delivers a message to the processMessage(Consumer) handler, if "the processor is unable to receive the next message" from the session because there is no next message in the session or processing the current message takes longer than the sessionIdleTimeout then the session will time out. To avoid inadvertently losing sessions, choose a sessionIdleTimeout greater than the processing time of a message.

A variation of this condition is – Thread-1 completed running handler then scheduled the next message request to broker and proceeded with processing it’s work queue. The message m arrived and pushed to Thread-2’s work queue. But Thread-2 in charge of invoking the processor handler by popping m from its work queue is unable to do so within the timeout, because Thread-2 is blocked or busy.
I have not seen this in testing, but it is theoretically possible, as the thread pools have no fairness guarantee. Things should be fine, provided the idle-timeout is tuned w.r.t to the servicing time (in handler) and host has enough resources to meet the application requested concurrency (concurrent-sesisons X concurrency-per-session) for the expected through put.

Thanks @anuchandy,
I was able to confirm that things look correct on beta 4. Are there any rough edges or known issues we should be aware of when running the beta v2 stack?

Hello @Jw0x47, thanks for testing the beta.4 and happy to hear the new implementation is passing your tests.
As of today, per our testing, there are no known issues in the beta.4 Session or Non-Session Processor based receiving. So go ahead and use it :)
Sharing some thoughts in general - overall concurrency in theory is "max-concurrent-sessions X max-concurrent-calls-per-session". Often this is overlooked, where there may be few cores in the host to support the desired level of concurrency (in the world of micro services, low core is norm). It's the queueing and switching of work to deliver message to the handler takes its toll, along with no fairness guarantees by the thread pool. It's not always clear, because the CPU doesn't get spiked up unless part of the application's processing is CPU-intensive. So, with low capacity, we’ll see some session processing moving along in what looks like a natural pattern while others can appear to stall, timeout. In such cases, usually heap dumps show a long queue of works waiting due to low capacity.
So, I would suggest putting an upper limit, say, ~20 for max-concurrent-sessions in one ProcessorClient instance. If needed, scale session processing by scaling ProcessorClient instances across pods.

Hello @Jw0x47, just want to check. IIUC, it’s been a ~month since you started using beta.4. How is the session processor reliability in the long run so far?
(also, JFYI, we released beta.5 last week).

Hey @anuchandy I encountered these issues while building out a stress-test / proof of concept for Service Bus at my company/
When we encountered these issues we deprioritized the work that would require sessions; and we have not looped back around to deploying a session based consumers yet.
In my testing on the prototype on beta 4 things did look good though.

Resolving this. Refer https://learn.microsoft.com/en-us/azure/developer/java/sdk/troubleshooting-messaging-service-bus-overview#upgrade-to-715x for details about version 7.15.x and how to opting-in new session rework.

Hey @anuchandy, following up on this we're now on version 7.15.1, same code as the original reproducer and now opting into the v2 stack. While processing no longer hangs, we're seeing the following errors intermittently and were hoping you could shed some light on what's going on:
Error occurred. Ending session session-0.
The link 'G21:369649463:session-_ee1b19_1709567420257' is force detached. Code: consumer(link58783073). Details: InnerMessageReceiver was closed. TrackingId:d1fbcfb7000800400380f56165e5edbc_G21_B18, SystemTracker:G21:369649463:session-_ee1b19_1709567420257, Timestamp:2024-03-04T16:00:30, errorContext[NAMESPACE: sb-thrive-main-001-staging.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: thrive-servicebus-example-topic/subscriptions/azure-service-bus, REFERENCE_ID: session-_ee1b19_1709567420257, LINK_CREDIT: 0]

Receiver emitted terminal completion.

Cannot process the disposition request to set the state as 'Modified{deliveryFailed=null, undeliverableHere=null, messageAnnotations=null}' for the delivery with delivery tag (id) '3e4eae99-01ae-4921-a50b-2a1a44212e7a'. Reason: Unable to look up the delivery for the delivery tag as the link is closed.

Uncaught error; abandoning message it will be retried or automatically sent to a DLQ
com.azure.core.amqp.implementation.handler.DeliveryNotOnLinkException: Cannot process the disposition request to set the state as 'Accepted{}' for the delivery with delivery tag (id) '3e4eae99-01ae-4921-a50b-2a1a44212e7a'. Reason: Unable to look up the delivery for the delivery tag as the link is closed.

Cannot process the disposition request to set the state as 'Modified{deliveryFailed=null, undeliverableHere=null, messageAnnotations=null}' for the delivery with delivery tag (id) '3e4eae99-01ae-4921-a50b-2a1a44212e7a'. Reason: Unable to look up the delivery for the delivery tag as the link is closed.

Got Error for USER_CALLBACK sb-thrive-main-001-staging.servicebus.windows.net thrive-servicebus-example-topic/subscriptions/azure-service-bus
com.azure.messaging.servicebus.ServiceBusException: Cannot process the disposition request to set the state as 'Modified{deliveryFailed=null, undeliverableHere=null, messageAnnotations=null}' for the delivery with delivery tag (id) '3e4eae99-01ae-4921-a50b-2a1a44212e7a'. Reason: Unable to look up the delivery for the delivery tag as the link is closed.

Hello @rileymichael, looking at the logs, what is happening here is –

SDK opened a link to the broker to consume messages from a session.
When the application requests message disposition (e.g. calls complete()), that request is required to be sent to the broker using the exact link on which the message was delivered.
In your case, it looks like the broker closed (disconnected) the session (link) due to transient issues.
When the application calls complete(), since the original link no longer exists, the SDK won’t be able to send the request. The error indicates this. It’s a requirement from the broker that the same link must be used for disposition.

SDK will roll to the next available session when a previous session gets disconnected for any reason. This next session can be the same as earlier or a different session, if it happens to be the same session, then the message that was unable to complete|abandon will be redelivered by the broker via new link owing to that session.

Hey @anuchandy thanks for the detailed response! Is it expected for the broker to close sessions / run into transient issues roughly ~20x a day (error rate we're seeing for a single instance of the original reproducer, which processes ~20msgs/minute)?

Hi @rileymichael, Unfortunately, I don’t have insight into broker internals to comment on all runtime conditions that lead to force-detach. From the SDK side, the client listens to such detach (and other transient errors) and reacts to it as mentioned earlier.
One possible factor is the Service Bus namespace's throttling, meaning that "other" entities (queue, topic etc...) on the shared namespace will contribute to the total load on the namespace. As a note, the max-concurrent-calls (times concurrent-sessions) implicitly affect the number of calls made to the service concurrently. IIUC, it's set to 1 for this specific topic? But similar load adds up over other entities that use the same or higher settings.

Appreciate the help, that should be enough info for us to dig around!

sure @rileymichael - another point that might help with digging - The SDK has a timers to send a heartbeat signal to the broker periodically, to keep the links (each backing a session) live as long as possible, this is the best effort. If the host (AKS pod here) cannot allocate the CPU slice for these timers within the grace period occasionally, it can lead to drop in signaling attempt.
We’ve seen low cores in AKS causing stall and affecting other time sensitive operations, so the allocated core is something worth evaluating. While the core-allocation mainly depends on the nature of the workload, anything less than one core (e.g., 100ms, 500ms etc.) likely leads to random issues. For your information, the recommendation from "Microsoft OpenJDK Team" based on user-study of many of use cases is -allocate at least 1 core per pod for common Java workloads Containerize your Java applications - Java on Azure | Microsoft Learn

Hey @anuchandy,

Haven't seen this since.

We did identify 1 root cause which was crossplane modifying ServiceBus resources which was causing connection drops. Since fixing that and increasing the resources of our pods, we've been seeing this ~5 times a day.

Thanks @Jw0x47 for the response! Great findings.
Yes, changing entity property (e.g. TTL, lock duration) using admin APIs or Azure portal will cause the broker to disconnect the links to that entity with transient error.
Good to hear those intermittent errors rate reduced from ~25 to ~5. We’ve seen Memory + CPU pressure generally impacting the timers, for example, Event Hubs (EH) SDK has load balancer running using timers, and, when users encounter receive halt for certain EH partitions, it often root caused as the resource pressure causing load balancer timers to miss or stall its cycles.
In the next couple of weeks we’ll make v2 stack default, thanks for helping validating the new stack and sharing the feedback.

V2 stack for session processor is on by default as of 7.17.0. Resolving this.


Fix refresh cache issue for hudi table

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] others

Which issues of this PR fixes ：
Closes #5370
Problem Summary(Required) ：
pass parameter of table type to clear cache method

[FE PR Coverage check]
:disappointed: fail : 6 / 26 (23.08%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/catalog/HudiTable.java
0
1
00.00%

:large_blue_circle:
com/starrocks/catalog/HiveTable.java
0
1
00.00%

:large_blue_circle:
com/starrocks/external/hive/events/DropPartitionEvent.java
0
3
00.00%

:large_blue_circle:
com/starrocks/external/hive/events/AddPartitionEvent.java
0
2
00.00%

:large_blue_circle:
com/starrocks/external/hive/events/InsertEvent.java
0
2
00.00%

:large_blue_circle:
com/starrocks/external/hive/events/AlterPartitionEvent.java
0
1
00.00%

:large_blue_circle:
com/starrocks/external/hive/events/MetastoreTableEvent.java
0
1
00.00%

:large_blue_circle:
com/starrocks/external/hive/HiveRepository.java
0
3
00.00%

:large_blue_circle:
com/starrocks/external/hive/HiveMetaCache.java
6
12
50.00%

@Mergifyio backport branch-2.2

@Mergifyio backport branch-2.2


Cannot read property 'openConfigFile' of undefined

VSCode Version: Code - Insiders 1.15.0-insider (ae73f8ee6f8ddb87b5e30d31655d9f55a53f4a95, 2017-07-26T07:47:53.848Z)
OS Version: Windows_NT x64 6.1.7601
Extensions:

Extension
Author (truncated)
Version

Bookmarks
ale
0.15.2

project-manager
ale
0.18.1

cpptools
ms-
0.12.1

Steps to Reproduce:
1.点击调试添加配置，提示Cannot read property 'openConfigFile' of undefined
2.

Reproduces without extensions: Yes

Dup of https://github.com/Microsoft/vscode/issues/31435

Is this a dupe? I am getting this error in the latest build when attempting Debug > Add Configuration... on a fresh project.

@Panoplos yes this is a dup, however there has not been a build in a couple of days so maybe the latest build did not yet pick up this fix.
It will definetely be included in the next one coming tomorrow

@isidorn Comfirmed fixed in:
Version 1.15.0-insider
Commit da83dff300d40d1d9ae292c72d113a74b2a07951


Windows support?

Hello!
Do you have any plans to support compilation for Windows?
As far as I know since Swift 5.3 windows will be supported officially 🙂
Would be really cool if you could describe how to compile an app for windows 🙏

Support is currently not possible because Swift on Windows does not yet ship swiftpm. I will add support as soon as swiftpm is available.


Improve Invariants for DiagnosticReport vs Composition  alignement

Based on https://github.com/hl7-eu/laboratory/issues/11 a set of invariants have been defined to assure that some Composition and DiagnosticReport elements will be "aligned".
For the time being only generic statements like "DiagnosticReport.identifier and Composition.identifier shall be aligned" have been specified

(1) Should we clarify - case by case - what is meant with "being aligned" ?

(2) Where feasible, should we add expressions to enable computable validation of the invariants ?

Implemented in https://github.com/hl7-eu/laboratory/commit/c074cc75e08ee88c89f9599631912389466dc301


2015 season

@Kaspi @cecomp64  Thanks for adding the new season. Will send out an annoucenment on the mailinglist later today.  Will also try to update the clubs listing using the "modern" format e.g. adding the web links and wikipedia pages, for example.  Thanks.  PS: If you don't mind added you to the mls editors team.  PPS: Might setup a gitter chat channel if anyone is interested (in using it)?


Periodically check for newly loaded libraries

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?  In order to motivate your point, it may be valuable to explain why this change is useful or what problem is being solved.
Additional Notes
This is the section to put technical guidance/constraints, call out potential regressions, cite sources, and in general offer some exposition on the how of the PR.  This section doesn't need to be incredibly detailed, but it makes life easier for reviewers!
How to test the change?
Describe here in detail how the change can be validated.  This is a great section to call out specific tests you've added or improved, or to acknowledge code sections which are particularly difficult to test.

Current dependencies on/for this PR:

main

PR #159

PR #160

PR #195   👈

This comment was auto-generated by Graphite.


QST: Is offline optimisation possible

[✔ ] I read the latest docs pertaining to my question here.

Dear Contributors,
Thanks for the amazing library.
Question about acnportal
Background: All the scheduling algorithms in the portal are online algoritms, they optimise and send a pilot signal to all EVs/EVSE based on the current known events.
Question: Is there a way to use an offline scheduling algorithm with your portal. For example, I wish to optimise the schedule for the previous day to guage if I could do better if I knew the exact arrivals and depature times. Do you think this is achievable through your portal?

closing because solution found in sister repository: adacharge, thanks!


Remove patches that are moved to Horizontal

Remove patches moved to Horizontal in order to avoid conflicrs.
Tracked-On: OAM-105795
Signed-off-by: Suresh, Prashanth<EMAIL_ADDRESS>

To be merged only after horizontal rebase.


GSLB_Domain remark statement doesn't update Wide-IP description field

Environment

Application Services Version: tested on 3.41.0 and 3.48.0
BIG-IP Version: <IP_ADDRESS>

Summary
"remark" key does not update GSLB_Domain description field as it does for other services like Service_TCP or Service_HTTPS...
Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

{
  "$schema": "https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/master/schema/latest/as3-schema.json",
  "class": "AS3",
  "action": "deploy",
  "declaration": {
    "class": "ADC",
    "schemaVersion": "3.41.0",
    "gslb_wide_ip_01_tenant": {
      "class": "Tenant",
      "gslb_wide_ip_01_app": {
        "class": "Application",
        "gslb_wide_ip_01_local_domain": {
          "class": "GSLB_Domain",
          "remark": "WIDE_IP DESCRIPTION",
          "domainName": "myexample.labs",
          "resourceRecordType": "A",
          "poolLbMode": "ratio",
          "pools": [
            {
              "use": "gslb_wide_ip_01_local_pool"
            }
          ],
          "iRules": [],
          "persistCidrIpv4": 24,
          "persistenceEnabled": false,
          "ttlPersistence": 3600
        },
        "gslb_wide_ip_01_local_pool": {
          "class": "GSLB_Pool",
          "members": [
            {
              "ratio": 10,
              "server": {
                "bigip": "/Common/dc1-bigip1"
              },
              "virtualServer": "/labs_labs_fqdn_sni_tenant/labs_labs_fqdn-sni_443_https_app/serviceMain",
              "enabled": true,
              "dependsOn": "none"
            }
          ],
          "resourceRecordType": "A",
          "enabled": true,
          "lbModePreferred": "topology",
          "lbModeAlternate": "round-robin",
          "lbModeFallback": "return-to-dns",
          "ttl": 30,
          "verifyMemberEnabled": true,
          "maxAnswersReturned": 1
        }
      }
    }
  }
}

Observe the following error response:

No error, response is correct:
{
    "id": "a6c1956d-39a0-465e-916f-b342a6e10c9e",
    "results": [
        {
            "code": 200,
            "message": "success",
            "lineCount": 18,
            "host": "localhost",
            "tenant": "gslb_wide_ip_01_tenant",
            "runTime": 1458
        }
    ],
    "declaration": {
        "gslb_wide_ip_01_tenant": {
            "class": "Tenant",
            "gslb_wide_ip_01_app": {
                "class": "Application",
                "gslb_wide_ip_01_local_domain": {
                    "class": "GSLB_Domain",
                    "remark": "WIDE_IP DESCRIPTION",
                    "domainName": "myexample.labs",
                    "resourceRecordType": "A",
                    "poolLbMode": "ratio",
                    "pools": [
                        {
                            "use": "gslb_wide_ip_01_local_pool"
                        }
                    ],
                    "iRules": [],
                    "persistCidrIpv4": 24,
                    "persistenceEnabled": false,
                    "ttlPersistence": 3600
                },
                "gslb_wide_ip_01_local_pool": {
                    "class": "GSLB_Pool",
                    "members": [
                        {
                            "ratio": 10,
                            "server": {
                                "bigip": "/Common/dc1-bigip1"
                            },
                            "virtualServer": "/labs_labs_fqdn_sni_tenant/labs_labs_fqdn-sni_443_https_app/serviceMain",
                            "enabled": true,
                            "dependsOn": "none"
                        }
                    ],
                    "resourceRecordType": "A",
                    "enabled": true,
                    "lbModePreferred": "topology",
                    "lbModeAlternate": "round-robin",
                    "lbModeFallback": "return-to-dns",
                    "ttl": 30,
                    "verifyMemberEnabled": true,
                    "maxAnswersReturned": 1
                }
            }
        },
        "class": "ADC",
        "schemaVersion": "3.41.0",
        "controls": {
            "class": "Controls",
            "userAgent": "vscode-f5/3.15.1",
            "archiveTimestamp": "2023-12-18T18:58:11.059Z"
        },
        "id": "autogen_bfcc3bbb-e85f-48f5-9bbc-95f232c6c057",
        "updateMode": "selective"
    }
}

Expected Behavior
root@(dc1-gtm01)(cfg-sync In Sync)(Active)(/Common)(tmos)# list gtm wideip a /gslb_wide_ip_01_tenant/gslb_wide_ip_01_app/myexample.labs description
gtm wideip a /gslb_wide_ip_01_tenant/gslb_wide_ip_01_app/myexample.labs {
    description WIDE_IP DESCRIPTION
}

Actual Behavior
root@(dc1-gtm01)(cfg-sync In Sync)(Active)(/Common)(tmos)# list gtm wideip a /gslb_wide_ip_01_tenant/gslb_wide_ip_01_app/myexample.labs description
gtm wideip a /gslb_wide_ip_01_tenant/gslb_wide_ip_01_app/myexample.labs {
    description none
}

This has entered our system as AUTOTOOL-4128 but I suspect this has already been fixed for 3.49 (to be released in January) as part of AUTOTOOL-4056 adding support for the NAPTR record resource type in the GSLB_Domain class.

This has been fixed in AS3 3.49


Help Needed to convert the frozen graph to Tensorflow lite model

Hi @victordibia,
I am currently trying to convert the frozen inference graph in the repo to .tflite for integrating with an android application. However, I am trying to do that I am facing errors.
Below is the script that I am using to convert the frozen graph to tflite and the error log is also reference below. It would be great if you can share some insights.
Thanks,
Suraj
Code
`
import tensorflow as tf
localpb = 'frozen_inference_graph.pb'
tflite_file = 'hand_detector.lite'
print("{} -> {}".format(localpb, tflite_file))
converter = tf.lite.TFLiteConverter.from_frozen_graph(
#converter =tf.contrib.lite.TocoConverter.from_frozen_graph(
localpb,
['Const'],
['num_detections'])
tflite_model = converter.convert()
`
Error Log
`frozen_inference_graph.pb -> hand_detector.lite
2019-07-18 14:50:50.053195: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-07-18 14:50:50.077006: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2019-07-18 14:50:50.077666: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x4b47c90 executing computations on platform Host. Devices:
2019-07-18 14:50:50.077680: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): ,
2019-07-18 14:50:50.515219: I tensorflow/core/grappler/devices.cc:60] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 0 (Note: TensorFlow was not compiled with CUDA support)
2019-07-18 14:50:50.515312: I tensorflow/core/grappler/clusters/single_machine.cc:356] Starting new session
2019-07-18 14:50:50.782857: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:716] Optimization results for grappler item: graph_to_optimize
2019-07-18 14:50:50.782885: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:718]   constant folding: Graph size after: 978 nodes (-1201), 1257 edges (-1368), time = 192.627ms.
2019-07-18 14:50:50.782890: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:718]   constant folding: Graph size after: 978 nodes (0), 1257 edges (0), time = 33.785ms.
 Were you able to find any solution?
I use the following command:
toco   --output_file=trained_model.tflite  --graph_def_file=./hand_inference_graph/frozen_inference_graph.pb --input_format=TENSORFLOW_GRAPHDEF --input_arrays=image_tensor --output_arrays=num_detections --input_shapes=1,224,224,3

@Suraj520  @srishtigoelroposo I am facing the same problem. Did you guys have any luck?

same issue..! any alternative solution ?

sad! same issue