[$250] Workspace chat - Unable to remove member from workspace chat

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.78-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to staging.new.expensify.com
Go to Account Settings > Workspace > click on a workspace > Invite Member > Invite a test account as a member
Go to workspace chat
Click on the chat header
Go to Members
Remove the new users - verify you see the "removed" notification in the chat
Notice the list of members is greater than the number of members (as if the removed member wasn't removed)

Expected Result:
User should be able to remove a member from the workspace
The member count should match the number of members
Actual Result:
When refreshing the browser the user isn't removed from the Members list
The member count isn't accurate
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/906149cf-779d-4b36-941e-fc57936a01f7
https://github.com/Expensify/App/assets/51066321/efab0564-171d-4456-ba8d-135b82650f4c
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01008c963ec6d29d78
Upwork Job ID:<PHONE_NUMBER>400459776
Last Price Increase: 2024-06-05

Issue OwnerCurrent Issue Owner: @techievivek

@Christinadobrzyn  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #vip-vsp

Proposal
Please re-state the problem that we are trying to solve in this issue.
Unable to remove<EMAIL_ADDRESS>from workspace chat members.
What is the root cause of that problem?
The BE gives us a successful response when removing it, but shows again after refresh.
What changes do you think we should make in order to solve the problem?

I think we should either disable it or not show the<EMAIL_ADDRESS>at all like on the workspace members page,
https://github.com/Expensify/App/blob/0cb2dc052f01b6a024ac872ad8bf628159fe7873/src/pages/workspace/WorkspaceMembersPage.tsx#L325-L332
but with an additional check of the owner of the report.
if (!PolicyUtils.isExpensifyTeam(reportOwner) && !PolicyUtils.isExpensifyTeam(policyOwner) && !PolicyUtils.isExpensifyTeam(currentUserPersonalDetails.login)) {

If we want to disable it, we can use the condition and apply it here
https://github.com/Expensify/App/blob/0cb2dc052f01b6a024ac872ad8bf628159fe7873/src/pages/RoomMembersPage.tsx#L214
If we don't want to show it, we need to use the condition in ReportUtils.getVisibleChatMemberAccountIDs.
so it will affect the member count too.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Unable to remove<EMAIL_ADDRESS>from members list in a workspace. The same is the case with removing myself from my workspace.
What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?

disable
What alternative solutions did you explore? (Optional)

Hum, what I'm able to reproduce is slightly different - the member doesn't always appear again in the chat but the member count is off. Asking QA to confirm what they see.

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

Tester is seeing the same result as in the OP.
https://github.com/Expensify/App/assets/43996225/e9073000-aee4-4b88-b4a9-9be396c607f3

I think this might need to be internal but we'll start with external

I think for the consistency we can go with what @bernhardoj suggest Of not to display the user if it consist Expensify Team's email domain, just like how we did on the workspace members page, but let's see what Internal engineer thinks
@bernhardoj 's Proposal looks good here
🎀 👀 🎀 C+ reviewed

@jayeshmangwani / @Christinadobrzyn : as mentioned in my proposal, this is not limited to<EMAIL_ADDRESS>I see this behaviour for all users. The issue is coming from backend as I have explained.
@jayeshmangwani : i am not sure if your conclusion is final. But the selected solution will not solve this issue.

I see this behaviour for all users

I am not getting this behavior with any other users except the Expensify domain's users, can you add test steps/video of the reproduction for all users ?

i am not sure if your conclusion is final. But the selected solution will not solve this issue.

No, final call will be of @techievivek, And How selected solution will not solve this ? We have added same logic to WorkspaceMembersPage And that's working

Quick question regarding the bug: Are we unable to remove only the team Expensify users and the owner, or can we not remove anyone from the workspace?
You can't actually remove team Expensify users since they are usually assigned for customer support. Similarly, owners can't be removed since they own the policy. If the bug is for these 2 categories of users, then we can just hide them in the front end.

Are we unable to remove only the team Expensify users and the owner, or can we not remove anyone from the workspace?

@techievivek For me, the first one is happening, I am not able to remove the Expensify users.
But @kpadmanabhan mentioned here that I see this behaviour for all users., but that is not happening for me, @kpadmanabhan can you add a video of the all users that you can not remove ?

@techievivek Now I am able to reproduce this issue for all the other users too, we are passing the targetAccountIDs to RemoveFromRoom API and it gives 200 response, then again when we are calling the OpenRoomMembersPage API, then removed account id still there, First we need to Fix the Issue from BE where OpenRoomMembersPage should not return the deleted account id then we can go with the hiding the Expensify users from the FE

@tienifr can you address this comment on the PR https://github.com/Expensify/App/pull/42380#issuecomment-2152149097, its waiting for your action

This is a dupe of https://github.com/Expensify/App/issues/42140, that issue deals with the qa.guide email showing up in various places and the fact that we should hide it.

@techievivek We can move on with this issue, as other issue was for the #announce room and thats not the reproducible right now so that issue was closed and This issue is with workspace chat and #admins room, IMO we should proceed with the selected proposal, what your opinion on this ?

@techievivek what's your suggestion for moving forward with this issue? Should we go with the above proposal, or should we open other issue and close this one ?

Just a heads up - I'm going to be ooo until June 24th so going to assign a teammate to watch this while I'm away.
@strepanier03 - we are working on this decision - https://github.com/Expensify/App/issues/42928#issuecomment-2159173365

The root cause and solution are the same, this issue is only another place where the root cause causes problems.

Based on this comment: https://github.com/Expensify/App/issues/42928#issuecomment-2151882601, I think we can see this as a new issue where removing any user from the workspace is not working as expected. The concern with the<EMAIL_ADDRESS>and other team Expensify users can be tackled in the other GH that @tienifr has pointed out since it was first reported there.

Issue seems BE and will be handled internally

@techievivek can you prove an update for us? TY!

I don't think we can allow admins to remove users from workspace chat since it is tied to the workspace and each users on the workspace needs to have a workspace chat.

Backend handles this correctly.

So we can probably hide the remove button in the frontend? what do you think @jayeshmangwani?

Hmm, but even workspace chats have the type set to chat.

So based on above I think we should allow removing user members from the workspace chat.

I looked into it further and realized we have a special case for handling the removal of the owner from their workspace chat, as seen in this GitHub PR. However, we don't disable the select box for the owner. Additionally, in the backend, since the command supports removing multiple users from the report, we don't throw an error but instead return a 200 status.
To address this, I suggest disabling the option to remove users from workspace chats in the frontend. In the backend, we already prevent the removal of the workspace chat owner, admin, and auditor. So, let's implement the same restriction in the frontend. Since users in this chat can be either the owner, admin, or auditor, we should altogether disable the remove button for this chat.
CC @jasperhuangg since you worked on the backend changes for this.
@bernhardoj @kpadmanabhan @tienifr Can you please add an updated proposal based on above comments, thanks.

I see that we already enable removing the policy admin here.

That is for preventing the removal no?

Ah yes, sorry, I mean we already disable the removal of policy admin.

Ok, thanks, but we will need to also disable the remove of the workspace chat owner(the user for whom the workspace chat was created).

@techievivek You can still invite people to the workspace chat who weren't in it by default (i.e. you can invite people other than the owner, admins, and auditors). So we still want the ability to remove the people who weren't in the workspace chat by default.

I think @tienifr's proposal to disable the option if we see the accountID matching the workspace chat's owner should suffice.

@techievivek Although I think this is technically a regression from working on https://github.com/Expensify/App/issues/35391, I think we should allow the original PR's author to handle it.
cc @brunovjk

You're right @jasperhuangg, here I added (isPolicyExpenseChat && isAdmin), but I missed checking for owner and auditors, I assumed that all of these had an admin role.
(isPolicyExpenseChat && ( isAdmin || isOwner || isAuditor )) should solve it. I'll investigate further, but do you have an idea how we intend isAuditor?

@techievivek You can still invite people to the workspace chat who weren't in it by default (i.e. you can invite people other than the owner, admins, and auditors). So we still want the ability to remove the people who weren't in the workspace chat by default.

Oh, nice, I wasn't aware of this; thanks for clarifying it.

@brunovjk thanks for clarifying.
We currently don't have auditors in NewDot yet (AFAIK), but I think you'd just check if their policy role is auditor.
In any case I do think @tienifr's proposal should solve this issue so I'm gonna move forward with assigning them.

Thanks for assigning them @techievivek 🙌

Update for Melvin - working on PR - https://github.com/Expensify/App/pull/44595

PR is merged to staging - almost there!

preparing for payment
Payouts due:

[ ] Contributor: $250 @tienifr (payment through New Expensify)
[ ] Contributor+: $250 @jayeshmangwani (payment through New Expensify)

Any payment for @bernhardoj? I see they started on this and then it looks like we transitioned in another direction?
Let us know about a regression test @jayeshmangwani

[x]  [@jayeshmangwani] The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/App/pull/43065
[x]  [@jayeshmangwani] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: https://github.com/Expensify/App/pull/43065#discussion_r1681596906
[x]  [@jayeshmangwani] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N/A
[x]  [@jayeshmangwani] Determine if we should create a regression test for this bug. Yes
[x]  [@jayeshmangwani] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Regression Test Proposal

Add a new member to a workspace
Go to the workspace chat created for that member
Press report details -> Members
Verify you cannot remove that member from the workspace chat

Do we agree 👍 or 👎

@Christinadobrzyn - I didn't realize we were both assigned to this until I'd already done the the reg test so that parts is finished 😂.

Update for Melvin- This is in a holding pattern until the payment date

It doesn't look like @bernhardoj is due payment so I think we can just post the payment summary for this.

Payment Summary

Contributor: $250 @tienifr (payment through New Expensify)
Contributor+: $250 @jayeshmangwani (payment through New Expensify)

@JmillsExpensify - Two requests incoming via New Expensify.

I think we can close this since payment will be through New Expensify-
NewDot Payment summary - https://github.com/Expensify/App/issues/42928#issuecomment-2239839946
Regression test - https://github.com/Expensify/Expensify/issues/413575

Requested $250

$250 approved for @jayeshmangwani

$250 approved for @tienifr


vscode restore windows failed when it closed and open a new file by vscode

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
版本: 1.71.2 (user setup)
提交: 74b1f979648cc44d385a2286793c226e611f59e7
日期: 2022-09-14T21:03:37.738Z
Electron: 19.0.12
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19044
沙盒化: No
OS Version:

版本	Windows 10 家庭中文版
版本号	21H2
安装日期	2021/3/15
操作系统内部版本	19044.2006
体验	Windows Feature Experience Pack 120.2212.4180.0
Steps to Reproduce:
I have three files: 1.txt 、2.txt、open.txt

open vscode, open file 1.txt and 2.txt .
close vscode.
reopen vsocde , the 1.txt and 2.txt window  restore  ok.
close vscode again.
right-click  the anoter file 'open.txt' ,open it by vscode, the 1.txt and 2.txt window are not restore.

How can I restore the history window when I right-click open a file with vscode closed.
In my [Restore Windows] Setting,  The value has been set to 'ALL'.

Set: window.restoreWindows: preserve in settings.

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


Create the kyverno policies to the community that use generate

The Kyverno generate policies are a unique set of policies that can
fill gaps around NetworkPolicy, quotas and syncing secrets in a
unique and valuable way.  We would like these policies to become
stable, but first, let's add them to the community.
Note: my previous pr was accidentally wiped out when I deleted my fork.
See the details in that PR:

https://github.com/stolostron/policy-collection/pull/228

Signed-off-by: Gus Parvin<EMAIL_ADDRESS>

@dhaiducek Thanks for taking a look.  I addressed your comments and also added comments to the top of each policy.  Please take another look when you have a chance.


Custom naming scheme

Custom naming scheme
The following flags can modify the default naming scheme:

--dir-naming-scheme or -D
--file-naming-scheme or -F
--chapter-naming-scheme

Each flag takes a string as argument. If the string contains a variable defined in the script (eg. artist, title, chapter, narrator...), the corresponding value is used.
The default options correspond to the following flags:

--dir-naming-scheme '$genre/$artist/$title'
--file-naming-scheme '$title'
--chapter-naming-scheme '$title-$(printf %0${#chaptercount}d $chapternum) $chapter'

I will wait for the merge of the other pull request (#148 and #150 for now) , then fix conflicts and flag this as ready for review.
Is a more complete solution to #149


AsyncDataOptions type in docs is incorrect

Environment
N/A
Reproduction
N/A
Describe the bug
AsyncDataOptions type snippet in docs doesn't match the actual type from the code. Old type doesn't seem to have correct transform definition, instead making it a weird function that takes value in and then returns the same value back, which is not true, and not how transform is actually used.
Additional context
This has already led to confusion in johannschopplich/nuxt-api-party#49.
I wonder if it is even worth including type signatures in docs. After all, it's a hassle to extract and keep them up-to-date, and probably doesn't provide a lot of value to the reader. If they need to, they can just access the code. It's also possible to include GitHub search links instead, like this: view AsyncDataOptions on GitHub.
Logs
No response

Related: #18637

Should be correct by now 👍🏻

It still doesn't seem to be correct.
transform?: (input: DataT) => DataT means no type transformations can be be performed, which is wildly different from the actual property definition: transform?: _Transform<ResT, DataT>, which takes in raw response type and returns a type to be used in useAsyncData data ref.

@brawaru Fair point. Not sure if this was meant as simplification though 🤔


Is this an undergraduate or postgraduate class?

Hi, is this an undergraduate or postgraduate class? Thanks.

This is an undergraduate class, mainly for junior and senior students.

Got it, thanks :)


Deprecation of Service Bus Processor Stop API

Today Service Bus Processor exposes two APIs that complete the message pumping - stop and close.
The mainline use case is - the application wants the Processor to pump the message forever. When/If the application shuts down, it calls close API to dispose of the Processor.
As the engineering team recently reevaluated the past design choices, we identified that the stop API involves quite a complexity; supporting it correctly involves a reasonable (allocation, coordination) overhead and contributes to engineering costs. Additionally, the above mainline use case (that does not use stop) pays the price of this overhead.
The engineering team came to the conclusion that the mainline use case will greatly benefit from deprecating and removing stop , and saves engineering and maintenance costs.
Going forward, starting Processor that was stopped before is not recommended and this feature may be deprecated in future. Recommendation is to close the Processor instance and create a new one to restart processing.

The April 2023 version (v7.13.4) of Service Bus SDK includes a log message in the warning level to communicate this upcoming change; this is the pr.

We run a async "short-lived" client for receving messages and has tested recreating clients with the use of close(). But this does not behave in a gracefull way today. This is a list of my top values from the logs when we call close() after a few days in production with version 7.13.4 of the java lib (I guess some of the messages could be ignored, but still...)

The receiver didn't receive the disposition acknowledgment due to receive link closure.
java.lang.InterruptedException
Cannot subscribe. Processor is already terminated
Cannot perform operations on a disposed set.
Delivery not on receive link.
Cannot perform operation 'renewMessageLock' on a disposed receiver

Maybe a combination of first calling stop(), and the close() a short while later could be good choice?

We definitely need a way for in-process messages to complete just before close, otherwise it's very easy to run into edge cases where the work completes around processing a message, but the complete call then fails because the processor was stopped/closed.


Join analysis UI revamp

This PR implements #10850.

I found something in the acceptance, the label of the right-source is not being rendered.

Hey @saleiva, what would you do it in this case (using different nodes from same layer)?

Would you like something like that?
option 1

option 2

2nd!
El jue., 25 may. 2017 a las 15:16, Javier Álvarez Medina (<
<EMAIL_ADDRESS>escribió:

Hey @saleiva https://github.com/saleiva, what would you do it in this
case (using different nodes from same layer)?
[image: screen shot 2017-05-25 at 15 09 02]
https://cloud.githubusercontent.com/assets/132146/26451376/26e79b20-415c-11e7-9626-2b28d793a873.png
Would you like something like that?
option 1
[image: screen shot 2017-05-25 at 15 12 26]
https://cloud.githubusercontent.com/assets/132146/26451551/d33786f6-415c-11e7-92fd-9880e3e5a52a.png
option 2
[image: screen shot 2017-05-25 at 15 14 02]
https://cloud.githubusercontent.com/assets/132146/26451553/d50e89de-415c-11e7-8ec6-2e3642074a05.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CartoDB/cartodb/pull/12194#issuecomment-304007095,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIENbcGu5O9WRxz6WaWhrT13ryHSck2ks5r9X66gaJpZM4NlGKF
.

Oido cocina, gracias


Executor ITF: common command permission test

Signed-off-by: Mikhail Boldyrev<EMAIL_ADDRESS>

Description of the Change
This adds an implementation of common base fixture - a parametric test class for command permission testing on the new shiny Executor ITF.

Benefits
More exhaustive and error-prone command permission testing. Now tests for all permission-actor combinations are generated automatically, given only a common testcase and permission settings. The concept is similar to query permission common test.

Possible Drawbacks

Usage Examples or Tests [optional]

Alternate Designs [optional]

Do we really need all this now?

old Ametsuchi tests are only suitable for postgres backend, and we expect new backend to come. also there is a task to rework big itf tests with more specific tests, but it is not at high priority.


Data Science with Python : Social Distancing Detection using Yolo4

Description
Welcome to the 'DSWP' Team, good to see you here.
With this issue, the readers will know on how to work on social distancing detection using Yolo4.
To get assigned to this issue, add your serial numbers mentioned in the spreadsheet of "Data Science with Python", the approach one would follow and the choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
If you had referred any resources, add them up in "DS Resources". Similarly, if you had used datasets, include them in "DS Datasets".
Domain: Deep Learning
Mentors Assigned : Jivitesh Jain | Nithin
Points to Note :
The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title" should be the same. Include issue number along with it.
Changes should be made inside the Datascience_With_Python/ directory & Datascience_With_Python branch.
Follow Contributing Guidelines & Code of Conduct before start Contributing.
This issue is only for 'GWOC' contributors of 'DSWP' domain.
All the best. Enjoy your journey ahead. 😎
Domain
Data Science with Python
Type of Contribution
Audio, Video, Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

I would like to contribute to this issue.
Name- Nayanika Mishra
Batch- 9
Contribution type- Audio

Issue assigned to @Nay907 for audio contribution

I would like to contribute on this issue.
Name - Srijan
Batch - 2
Contribution Type - Documentation

Issue assigned to @Srijan221 for documentation

Please review the PR - #8748 and close this issue if everything looks good to you @prathimacode-hub


drivers: can: extend support for automatic sample point location

Extend support for automatic sample point location to also cover can_calc_timing() and can_calc_timing_data(). Previously, automatic sample point location was only supported by can_set_bitrate() and can_set_bitrate_data().

Rebased to resolve merge conflict in doc/releases/migration-guide-3.7.rst.

Rebased to resolve merge conflict caused by https://github.com/zephyrproject-rtos/zephyr/pull/69756.


[Bug]: error: linker cc not found   |   = note: No such file or directory (os error 2)

Issue description

Relevant log output
No response
Priority this issue should have
Low (slightly annoying)

If this is on Linux or Windows Subsystem Linux (WSL) try installing the build-essential dependency.
sudo apt install build-essential

@ChippuArt did my suggestion resolve this issue for you?

Yes it worked well. Just doint it right now. Thank you for your help ✌


#86dt89kf4 - Refactor BoaCliTest on cli_tests to use BoaConstructor

Summary or solution description
Refactored tests/cli_tests files to use BoaTestCase in place of BoaTest for unit testing.

Task linked: CU-86dt89kf4 Refactor BoaCliTest on cli_tests to use BoaConstructor

coverage: 91.942%. remained the same
when pulling 69722055cb8f4d88af8131ca52faf14d71d3ff64 on CU-86dt89kf4
into aa848c1d3ccbde4ae7ff5f1e099f05272799f2d3 on development.


Make Travis CI to report failures on Node.js 4.0

@mzgol  I pushed up the change thanks for your feedback

:+1:

Thanks @gdi2290 and @mzgol. We'll merge this when we ship Node.js 4 support


Modify and improve get bucket stat

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


Support basic authentication for Metrics API scaler

Use-Case
Support basic authentication for Metrics API scaler
Reference
https://github.com/kedacore/keda/issues/929

Hi @tomkerkhove, I would like to pick this issue. Based on this thread, I believe no one is doing any development on this. Just wanted to check if I can start.

Nope, that is correct. Thanks for picking this up!

Great! I'm starting with this. Thanks!

@tomkerkhove this is done. can we please close this issue.

Thanks!


Noob error most likely

I am trying to run the bot on pythonanywhere. Have installed and configured (mostly default settings)
On start I get following trace:
Traceback (most recent call last):
File "/home/shimoda94/poloniexlendingbot/lendingbot.py", line 54, in
analysis = MarketAnalysis(Config, api)
File "/home/shimoda94/poloniexlendingbot/modules/MarketAnalysis.py", line 24, in init
self.currencies_to_analyse = config.get_currencies_list('analyseCurrencies')
File "/home/shimoda94/poloniexlendingbot/modules/Configuration.py", line 121, in get_currencies_list
cur_list += Data.get_lending_currencies()
File "/home/shimoda94/poloniexlendingbot/modules/Data.py", line 126, in get_lending_currencies
total_lended = get_total_lended()[0]
File "/home/shimoda94/poloniexlendingbot/modules/Data.py", line 45, in get_total_lended
crypto_lended = api.return_active_loans()
File "/home/shimoda94/poloniexlendingbot/modules/Poloniex.py", line 159, in return_active_loans
return self.api_query('returnActiveLoans')
File "/home/shimoda94/poloniexlendingbot/modules/Poloniex.py", line 104, in api_query
ret = urllib2.urlopen(urllib2.Request('https://poloniex.com/tradingApi', post_data, headers))
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 422:
Can not see any error in config file. Any help appreciated

I'm guessing it's an issue with the Key/Secret but... can you try disabling MarketAnalysis in the config?

Yes, I was reusing an other API key. Ok now. Thanks for fast reply


Add options for RibbonCommand to use separate thread pools for hystrix

Background
When zuul creates RibbonCommand, it assigns "RibbonCommand" as a HystrixCommandGroupKey for hystrix. When using semaphore isolation, it's not a big deal. But in case of using THREAD isolation strategy, it will make all RibbonCommands to be executed in a single thread pool for hystrix. In some environments or by  an architectural decision, users might want to use separate thread pool for each service id. This PR is about providing options for this.
Implementation
I've added two properties of Zuul for thread isolation strategy.
zuul.threadPool.useSeparateThreadPools : boolean (false as default)
zuul.threadPool.threadPoolKeyPrefix : String ("" as default)

If setting useSeparateThreadPools to true, RibbonCommands will have HystrixThreadPoolKey whose value is same with commandKey. As a result, each RibbonCommand will be executed in a single thread pool that it is associated with based on commandKey (namely service ID).
Additionally, this PR provides threadPoolKeyPrefix property for the convenience. If setting to a string, the string will be used as prefix for HystrixThreadPoolKey and it would be useful for the management purpose.

Codecov Report

Merging #2074 into master will decrease coverage by <.01%.
The diff coverage is 58.33%.

@@            Coverage Diff             @@
##           master    #2074      +/-   ##
==========================================
- Coverage   76.38%   76.37%   -0.01%
==========================================
  Files         212      212
  Lines        6407     6417      +10
  Branches      801      803       +2
==========================================
+ Hits         4894     4901       +7
- Misses       1171     1174       +3
  Partials      342      342

Impacted Files
Coverage Δ

...l/filters/route/support/AbstractRibbonCommand.java
69.23% <50%> (-5.06%)
:arrow_down:

...ork/cloud/netflix/zuul/filters/ZuulProperties.java
85.95% <66.66%> (-1.01%)
:arrow_down:

...a/server/EurekaServerInitializerConfiguration.java
79.31% <0%> (+6.89%)
:arrow_up:

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 e2954d0...7fe7059. Read the comment docs.

@ryanjbaxter I've removed lombok annotation and added doc about this properties.

@ryanjbaxter I've added test cases to verify thread pool key according to properties.

@spencergibb I've fixed it. :-)


custom serializer not used

I am serializing an object containing various fields and one of them is an object for which I defined a special serializer but it is not called, is it expected ?
Here is the class of the object I serialize:
  public class Message
  {
    public string Type;
    public Int32 Id;
    public string ServiceName;
    public string MethodName;
    public object[] Arguments;
  }

Arguments can contains various types, one of them is an object with a special serializer, if I serialize it directly the serializer is correctly, if I my object class instead of object[] it also works but in my case I can't do that, Arguments may contains [0, "one"] and it is perfectly valid.
Can I make the library look the real class and not stop at the defined container type ?

I tried using the ResolveSerializer event but it raises an error if I return a serializer for my specific class while it tries to pack an object :(

Sorry for delayed response. Did you set the serializer instance to the SerializationContext instance via its Register method as following?
var context = /* your serialization context or SerializationContext.Default */;
context.Serializers.Register<Message>(new YourCustomSerializer());

I ended up using another library.


token-2022: GetAccountDataSize instruction now accepts user-provided extension types

When the user wants to allocate a token account with optional extensions, there's no convenient method to figure the size required for those extensions.  This is in contrast to mandatory extensions, where GetAccountDataSize can be used to compute the size.
Extend GetAccountDataSize to allow the caller to pass in a list of additional ExtensionTypes they intend to initialize on the account.
Context: this'll be used by the ATA program to add an extension in a future PR to ATA accounts to prevent ownership transfers (cc: #2640)

withdraw_withheld_tokens_from_mint() fails at the HEAD of master.  It ain't this PR!

withdraw_withheld_tokens_from_mint() fails at the HEAD of master. It ain't this PR!

Naw: https://github.com/solana-labs/solana-program-library/pull/2851

Ah, cool!


Rename plugin => app

As discussed in https://github.com/probot/probot/issues/207#issuecomment-323522926, this changes the terminology:

plugins => apps - Akin to "react apps" or "rails apps", Probot apps are just node apps that have a dependency on probot and use features of the framework. They can be run standalone or combined with other apps with the probot run command.
helper => extension - Probot extensions are reusable modules that extend Probot itself.
probot-scheduler is currently the only example, but there are a few others I can imagine, such as probot-command which would do slash command handling similar to what @jbjonesjr's snooze app does.

TODO:

[x] docs
[x] helper => extension in http://github.com/probot/scheduler
[x] create-probot-plugin => create-probot-app (https://github.com/probot/create-probot-plugin/pull/6)
[ ] Figure out what to do with lib/plugin.js
[x] #probot-plugin => #probot-app topic on all repos

[ ] Figure out what to do with lib/plugin.js

I think lib/plugin.js needs refactored quite a bit. For now, all public-facing references to "plugin" have been replaced, so I'd like to leave further changes to a future pull request.


Can I use it with my php app?

For example: I copy some js file from this repo to my web server, make configuration changes in it (point link to my elastic APM server), client browser go to my app link and with all site content download js too. Js work on client side by sending browser metrics and http errors and so on to APM server. Is it possible? Which js should I deploy to my web?

Thanks for reaching out @dmpopoff ,
In short you need to add the following snippet to the top level html template:
<script src="elastic-apm-js-base/dist/bundles/elastic-apm-js-base.umd.min.js"></script>
<script>
  elasticApm.init({
    serviceName: '<service-name>',
    serverUrl: 'http://localhost:8200',
  })
elasticApm.setInitialPageLoadName('<page-name>');
</script>

See our documentation for more information on how to configure the agent.

I'm closing this, feel free to reopen if needed!


Update to the final version

Hi @jedisct1 , we already have #15 addressing this, and it will be merged soon.

Oh, great!
Sorry for the noise.

No worries. Just a FYI, the new crate has been uploaded.


Revert "SOCIALPLAT-386: adding userId to PocketCloudWatchSynthetics"

Reverts Pocket/terraform-modules#1089

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Suggestion] Use environment variables for configuration

We are using git to version our modpack. Mainly for the convenience of git pull-ing updates. Repo contains both server and client configurations. But I don't want bot tokens (and maybe channel ids) to be widely available in configs.  But even with git stash it is somewhat tidious.
It would be great to have an ability of specifying sensitive information through env variables like DC_BOT_TOKEN. This way it is a lot easier to provision updates to the server. Or even manage multiple instances of different servers running
Sorry if this feature already exists. But i didn't found such possibility in quick start guide

Add the config of the mod to an .gitignore file

Yep, I guess that is a solution. It would be nice to have a common config, and custom sensitive info. But that's no biggie.


[Feature] Should --num-cpu be based on CPU requests instead of limits?

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Opening this issue to gather feedback on whether --num-cpus set on Ray workers should be based on requests instead of limits. From my personal experience, there are few reasons to ever set CPU limits and setting CPU requests is often good enough. Today it's possible to exclude limits but it requires also setting startParams["num-cpu"] to match the CPU requests.
Would it be beneifical for KubeRay to set num-cpu based on requests instead of limits? Would this be considered a breaking change or would it be no-op in most cases since most people configure requests == limits?
Use case
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Hey @andrewsykim, funny enough I was just debugging major perf degradation running a Ray workload on Kubernetes and it seems like having a CPU limit is the problem (due to throttling), started googling and came across this issue.
I tried starting a cluster without CPU limits but pods do not show up. My feedback is that it would make much more sense to use CPU requests as num-cpus.
Also is there a documented behaviour with regards of using KubeRay without CPU limits (you mentioned setting startParams["num-cpu"])?

I'm deploying via ray-cluster helm chart and tried setting num-cpus in values file like this
worker:
  rayStartParams:
    num-cpus: 6

and removed resources.limits.cpu. The worker pod does not show up. What am I doing wrong?
I use KubeRay 1.1.1

I'm not sure it matters, but the value needs to be string:
num-cpus: "6"

I tried starting a cluster without CPU limits but pods do not show up. My feedback is that it would make much more sense to use CPU requests as num-cpus.

I generally agree with this feedback, but I'm worried it's a breaking change. Maybe it's not if we assume requests == limits?

Also is there a documented behaviour with regards of using KubeRay without CPU limits (you mentioned setting startParams["num-cpu"])?

See https://docs.ray.io/en/latest/cluster/kubernetes/user-guides/config.html#resources

I tried starting a cluster without CPU limits but pods do not show up. My feedback is that it would make much more sense to use CPU requests as num-cpus.

I generally agree with this feedback, but I'm worried it's a breaking change. Maybe it's not if we assume requests == limits?

Yes, it can be a breaking change, given I'm now trying to simply get rid of limits and it just does not create pods.
What can be done: if users sets limits, we use limits as num-cpus (default behaviour), if no limits - fallback to requests. In both cases we can add a warning/update docs stating that setting CPU limits on a pod most likely is not a good idea.

I'm not sure it matters, but the value needs to be string:
num-cpus: "6"

I tried setting it as a string, does not help. I checked kuberay-operator logs, it throws an error
Invalid value: \"6\": must be less than or equal to cpu limit of 1
Full trace:
{"level":"error","ts":"2024-09-08T04:43:59.528Z","logger":"controllers.RayCluster","msg":"Error reconcile resources","RayCluster":{"name":"ray-cluster-kuberay","namespace":"ray-system"},"reconcileID":"e280cb05-f017-49bc-a4ce-a4eaf5dbde19","function name":"github.com/ray-project/kuberay/ray-operator/controllers/ray.(*RayClusterReconciler).reconcilePods-fm","error":"FailedCreateWorkerPod\nPod \"ray-cluster-kuberay-test-group-worker-g2p9j\" is invalid: spec.containers[0].resources.requests: Invalid value: \"6\": must be less than or equal to cpu limit of 1","stacktrace":"github.com/ray-project/kuberay/ray-operator/controllers/ray.(*RayClusterReconciler).rayClusterReconcile\n\t/home/runner/work/kuberay/kuberay/ray-operator/controllers/ray/raycluster_controller.go:320\ngithub.com/ray-project/kuberay/ray-operator/controllers/ray.(*RayClusterReconciler).Reconcile\n\t/home/runner/work/kuberay/kuberay/ray-operator/controllers/ray/raycluster_controller.go:171\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.5/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.5/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.5/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.5/pkg/internal/controller/controller.go:227"}
I believe the operator sets a default value of 1 cpu if limits are not present, so essentially it enforces setting limits. @andrewsykim can you confirm?

Another thing: when setting CPU requests for a cloud-based VM (say AWS) oftentimes it is needed to have them slightly less then the actual VM capacity (otherwise Kubernetes won't have enough resources) and due to this we won't be able to have num-cpus on Ray equal to actual number of cpu cores on VM.
So let's say we have a VM with 4 CPUs and we want to have a 1 Ray pod with 4 num-cpus there. This is not achievable at the moment: to schedule the pod we would need to specify requests smaller (not equal) then 4 (say 3900m), but num-cpus will have to be an int smaller then this, meaning we will have num-cpus=3 when we have 4 physical cpus available.
I think removing the constraint num-cpus must be less than or equal to cpu limit of ... would also make sense.

I believe the operator sets a default value of 1 cpu if limits are not present

I don't think the operator does this. Would you happen to have a LimitRange or other admission policy in your cluster that might be defaulting CPU limits in your cluste?

From my personal experience, there are few reasons to ever set CPU limits and setting CPU requests is often good enough.

Yeah I always thought it was weird that I have to set CPU limits in kuberay (and head pod), which can end up throttling the deployment.
I general I have followed past Google GKE recommendations I have read to not set a CPU limit, and to always match memory requests and limits.
https://www.numeratorengineering.com/requests-are-all-you-need-cpu-limits-and-throttling-in-kubernetes/

I think there's a way to add this without introducing breaking changes, by only defaulting to requests if the limit is not specified. I started a PR here: https://github.com/ray-project/kuberay/pull/2365

Any mutating webhooks in your cluster that may be defaulting limits?

Any mutating webhooks in your cluster that may be defaulting limits?

None that I'm aware of. I'm running on minikube, can it be the reason somehow?

@anovv mind opening a new issue on it?


Request did not validate Invalid bearer token: Auth expired

Hi @Minishlink !
The library is great, but i found myself stuck with a problem, suddenly the endpoint (Firefox) keeps on responding me with this:
[content] => {"errno": 109, "message": "Request did not validate Invalid bearer token: Auth expired", "code": 401, "more_info": "http://autopush.readthedocs.io/en/latest/http.html#error-codes", "error": "Unauthorized"}
[expired] =>
I don't really know what is going on (as this is my first time with VAPID auth logics), i've updated your library to the latest version, the VAPID pair is correctly implemented  both on client and server side, and i really can't wrap my head around this issue. I've tried to change client and refresh the key pair, but nothing.
Please note that it's just the VAPID auth header that it's causing the issue, a normal tickle with no payload (and no need for VAPID) it's absolutely fine.
Do you have any suggestions on what could cause this issue?

Hi,
It seems that either your server's time is misconfigured, or Mozilla's one is. Please check yours :)

Yup, ok i'm dumb. It was actually a strange hwclock misconfiguration on my virtual centos server. Thank you very much, the library works just great.


Standardize modular documentation

📚 Documentation
Similar to the work done in this PR:
https://github.com/Lightning-AI/metrics/pull/1360
We want to standardize the way documentation is organised for modular metrics. This includes:

update and compute are excluded from docs as the docstrings are often not meaningful to begin with. Instead information about input/output tensors should be included in the class docstring
references are moved to the links.rst file
Sections are organised as

Introduction to metric
Input/output format
Args
Raises
examples

shape information is formatted as ``(N, d)`` (normal brackets and double ticks)
math if formatted using the :math: directive

Some of the points also apply to the functional backend, but the modular backend is of most importance because it has the largest variance in how information is organised currently.
Following domains needs to be taken care of

[ ] Aggregation
[x] Audio -> #1360
[ ] Classification
[ ] Image
[ ] Detection
[ ] Regression
[ ] Retrieval
[ ] Text

Any contributions are welcome :]

Hi, Please assign Detection task to me. A bit of grooming will be helpful to deliver asap.

All the docs should have been addressed now, let me know if there's anything else


Any document about how to use OAuth in client side?

I read the document about OAuth in parse server. But could not find the corresponding document how to use OAuth in client side. Any idea? Thanks.

I also ask for some doc without success.
This article looks outdated https://parse.com/tutorials/adding-third-party-authentication-to-your-web-app
I use the js client SDK.
For all I can understand, you have to use a third party lib, like redux-auth (in my case) or hello.js and get a token, then you pass that token to parse-server (with the name of the provider), whose job is to return a Parse User.

Looks like the client SDKs (at least javascript) support passing in your own authentication provider... Here's the simplest example from a test scenario: https://github.com/ParsePlatform/Parse-SDK-JS/blob/bb78dfb4248afcb457acbebb24f2dc583d7c14bd/src/tests/ParseUser-test.js#L576 The authenticate method would be your third party code to get the proper token, and it returns the authData object for that provider..

Thx
With this and the source of ParseUser (https://github.com/ParsePlatform/Parse-SDK-JS/blob/master/src/ParseUser.js) , we can manage something.

@oallouch Any sample code? Thanks.

Nope, not for now. I postponed this part to end of my project :)

Closing here as you opened on ParsePlatform/Parse-SDK-JS#246

@flovilmart @oallouch Any one can provide client side i.e jQuery example for FB or Twitter? How can i get this Auth setup from server? An example will be greatly appreciated.
Thanks

The Rest guide has full examples for cUrl that should be trivial to port to jQuery http://parseplatform.github.io/docs/rest/guide/


Multi goal environment

OpenAI has a multi-goal environments, those environments aren't yet supported in RLGraph. Goal-based tasks are popular in robotics and for hierarchical learning algorithms.
The blockers in implementing multi-goal environment:

The code that translate the openAI environment to RLGraph supported one tries to access the dtype of a dictionary, speifically this line. The fix is in the pull-request

self.state_space = self.translate_space(self.gym_env.observation_space, dtype=self.reset().dtype,
                                                force_float32=force_float32)

I am still new to RLGraph, to allow for proper support for multi-goal environment there are few design decision I am not sure of:

Should a user pass a custom calculate reward function? this function can be used to provide a reward incase the agent was able to perform a goal but wasn't the intended goal, such as the case in hindesight experience replay.
I wanted to test a multi-goal environment using ppo, and was faced with number of errors in calculating the actions probabilities. rlgraph/graphs/graph_builder.py (line 555) attempts to split the continous action space into two halves, and then attempt to retrieve the normal distribution of each half in rlgraph/policies/policy.py", line 361, I am not exactly sure why the decorator is doing that, do you mind taking a look?

Hey Sami, thanks for this, we will take a look soon.
On your questions:

Where do you want to pass this custom reward function? It is generally the task of the environment to provide the reward per step as part of the environment implementation, so the agent would not concern itself with that.
PPO right now only supports single actions - the change for multiple actions is actually trivial (as already implemented in DQN, DQDF etc) but changes are blocked due to https://github.com/rlgraph/rlgraph/tree/ppo_multi_gpu (which refactors a lot on PPO), which should be merged within the next few days.


Web interface update request

Hi,
Im using luckperms for 2 days now and it works like a charm (at least, after i fixed the prefixes with some help). Anyway, i like the editor function and it might be cool to let the administrators / people who have access to the editor see the groups in a kind of list.
Example: https://bootsnipp.com/snippets/featured/todo-example
And with an extra permission allow them to delete (certain) groups and restrict groups to certain servers on that same page.
Keep up the good work and have a nice day,
Ruben

There's /lp editor which lets you edit all groups (and users afaik) in the same editor...
Here's a example:

Yes but you can't remove it fron there.  It would be much nicer if that kind of function was added.
-Ruben

I've moved the suggestion to the appropriate repo
https://github.com/lucko/LuckPermsWeb/issues/41


Update Dependency to ndarray-fill

NPM have raised an issue with one of your dependencies, I have fixed it here;
https://github.com/DarrenMack-OD/pixelsmith

What's the reason for the ndarray-fill upgrade? Is something deprecated?

Ah, word. Would you mind submitting this as a PR?
On Fri, Dec 7, 2018, 1:29 AM Darren Mackintosh<EMAIL_ADDRESS>wrote:

Yeah it would seem it has a minor security issue that NPM is moaning
about...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/twolfson/pixelsmith/issues/14#issuecomment-445173873,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3FWMud1eVKiXzL3fPQsaN1Akrnz7w8ks5u2jTmgaJpZM4ZG7XO
.

After seeing the PR, it seems that this upgrade is for a patch update -- we don't need to do anything for this. npm will use the latest patch version automatically


Suggestion: export AutosuggestContainer.defaultTheme

As a TypeScript user (we're all over the place) implementing an Autosuggest element, I'd like an easy way to use or duplicate the defaultTheme constant so I have a stable starting-point before changing fields.
Say I want to provide a className for only the input field. If I do this:
<Autosuggest
  suggestions={this.state.suggestions}
  onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}
  onSuggestionsClearRequested={this.onSuggestionsClearRequested}
  getSuggestionValue={getSuggestionValue}
  renderSuggestion={renderSuggestion}
  inputProps={inputProps}
  theme={{ input: 'form-input' }}
/>

I run into an error because the type definition defines the theme interface in such a way that all values are required:
interface Theme {
  container: string;
  containerOpen: string;
  input: string;
  sectionContainer: string;
  sectionSuggestionsContainer: string;
  sectionTitle: string;
  suggestion: string;
  suggestionFocused: string;
  suggestionsContainer: string;
}

An easy way to fix this is to just bring the defaultTheme constant into the code and use Object.assign to duplicate and replace keys.
const defaultTheme = {
  container: 'react-autosuggest__container',
  containerOpen: 'react-autosuggest__container--open',
  input: 'react-autosuggest__input',
  suggestionsContainer: 'react-autosuggest__suggestions-container',
  suggestionsList: 'react-autosuggest__suggestions-list',
  suggestion: 'react-autosuggest__suggestion',
  suggestionFocused: 'react-autosuggest__suggestion--focused',
  sectionContainer: 'react-autosuggest__section-container',
  sectionTitle: 'react-autosuggest__section-title'
};

and later on:
theme={Object.assign({}, defaultTheme, { input: 'form-input' })}

I'd rather not duplicate your code, though. If the constant was exposed, I could import by name and all would be right with the world. :-) Alternatively, if your code checks that object and inserts defaults when keys are missing, the type definition could be modified to mark each of those as optional. I am open to whichever. I'm hoping to do a PR against the type defs on DefinitelyTyped soon, they're a little out of date and don't work with 7.0.0.

It sounds reasonable to merge the provided theme with defaultTheme. Happy to accept a PR, but it will have to go in react-autowhatever first.


new install failed to run after setup

Checkboxes
File "/home/jay/.fsociety/fsociety.py", line 1194
print "-------------------------"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
┌──(jay㉿kali)-[~/Documents/Scripts/fsociety]
Expected Result

Actual Result

            print "  [ + ] Found Directory:  " + str(url + dir) + " [ + ]"  is the problem line and dont know what to do to make it work! you need to make this python3 compliant and reupload the files dude!

SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
same here!!

Please do not use this version, this repo has been EOL (End-of-life) for many years. Update to the new repo -> society


Fix asyncHook callback interceptor for ProfilingPlugin

While writing a custom profiler I ran into the issue that TerserPlugin never called it’s end trace. Eventually I tracked it down to the callback function. Instead of being overwritten it was being appended to the end of the function arguments. The callback has to be popped first because the added argument is a wrapper for the original callback.

What kind of change does this PR introduce?
bugfix.

Did you add tests for your changes?
I can investigate adding a test if needed.

Does this PR introduce a breaking change?
No.

What needs to be documented once your changes are merged?
No changes to documentation needed.

OLD

NEW

Thanks

Happy to help 💯


global state changes

Description
Fixes # (issue) || User story it applies to
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Change Status

[ ] Complete, tested, ready to review and merge
[x] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

Has This Been Tested?

[x] Yes

[ ] What was tested?

[ ] No

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My code has been reviewed and commented by at least two peers
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] There are no merge conflicts

please add a description to this PR


Port NixOS tests to python

Motivation for this change
#72828
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @tfc

@GrahamcOfBorg test systemd-timesyncd
@GrahamcOfBorg test switch-test
@GrahamcOfBorg test sonarr
@GrahamcOfBorg test quagga
@GrahamcOfBorg test postgis
@GrahamcOfBorg test php-pcre
@GrahamcOfBorg test pgmanage
@GrahamcOfBorg test peerflix
@GrahamcOfBorg test pdns-recursor
@GrahamcOfBorg test paperless

@GrahamcOfBorg test switchTest

@veprbl @tfc Thanks for reviewing :+1:


Calls to toPrimitve is not getting passed to pointer target

toPrimitive is being returned. The problem is actually that the function is receiving the pointer object and not the pointer target.


UI api_key Bug fix

added api_key argument in get_currency function call in currency_ui.py
added Indian INR currency

@iam-shanmukha majority of the changes you made here have been fixed and/or changed by myself, due to this you could just git pull from the newest changes and just add in the INR currency and recreate a pull request.


[Python] a segfault on import pyarrow on MacOS 11.6 after pip update to pyarrow version 16.1.0

Describe the bug, including details regarding any error messages, version, and platform.
Hi,
I running into an issue with a newly released 16.1.0 version. The 16.0.0 works without issues, but updating to 16.1.0 causes a segfault. Any help is greatly appreciated. Thanks!

Python 3.11.5
Clang 14.0.6
MacOS 11.6 (x86_64)

 % conda list
# packages in environment at /Users/yana/anaconda3/envs/pyarrow-test:
#
# Name                    Version                   Build  Channel
blas                      1.0                         mkl
bottleneck                1.3.7           py311hb3a5e46_0
bzip2                     1.0.8                h6c40b1e_6
ca-certificates           2024.3.11            hecd8cb5_0
intel-openmp              2023.1.0         ha357a0b_43548
libcxx                    14.0.6               h9765a3e_0
libffi                    3.4.4                hecd8cb5_1
mkl                       2023.1.0         h8e150cf_43560
mkl-service               2.4.0           py311h6c40b1e_1
mkl_fft                   1.3.8           py311h6c40b1e_0
mkl_random                1.2.4           py311ha357a0b_0
ncurses                   6.4                  hcec6c5f_0
numexpr                   2.8.7           py311h728a8a3_0
numpy                     1.26.4          py311h728a8a3_0
numpy-base                1.26.4          py311h53bf9ac_0
openssl                   3.0.13               hca72f7f_1
pandas                    2.2.1           py311hdb55bb0_0
pip                       24.0            py311hecd8cb5_0
pyarrow                   16.1.0                   pypi_0    pypi
python                    3.11.5               hf27a42d_0
python-dateutil           2.9.0post0      py311hecd8cb5_0
python-tzdata             2023.3             pyhd3eb1b0_0
pytz                      2024.1          py311hecd8cb5_0
readline                  8.2                  hca72f7f_0
setuptools                69.5.1          py311hecd8cb5_0
six                       1.16.0             pyhd3eb1b0_1
sqlite                    3.45.3               h6c40b1e_0
tbb                       2021.8.0             ha357a0b_0
tk                        8.6.14               h4d00af3_0
tzdata                    2024a                h04d1e81_0
wheel                     0.43.0          py311hecd8cb5_0
xz                        5.4.6                h6c40b1e_1
zlib                      1.2.13               h4b97444_1

% python
Python 3.11.5 (main, Sep 11 2023, 08:19:27) [Clang 14.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyarrow
zsh: segmentation fault  python

The test_pyarrow.py  has only one line: import pyarrow:
% lldb python test_pyarrow.py
(lldb) target create "python"
Current executable set to '/Users/yana/anaconda3/bin/python' (x86_64).
(lldb) settings set -- target.run-args  "test_pyarrow.py"
(lldb) run
Process 35199 launched: '/Users/yana/anaconda3/bin/python' (x86_64)
Process 35199 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
    frame #0: 0x0000000129c8685e libarrow.1601.dylib`malloc_conf_init_helper + 302
libarrow.1601.dylib`malloc_conf_init_helper:
->  0x129c8685e <+302>: movzbl (%rbx), %eax
    0x129c86861 <+305>: testb  %al, %al
    0x129c86863 <+307>: je     0x129c8936e               ; <+11326>
    0x129c86869 <+313>: movq   %rbx, %rcx
(lldb) exit

Component(s)
Python, Release

@ianna thanks for the report!
The crash seems to be related to jemalloc. Not a solution, but just curious: could you set ARROW_DEFAULT_MEMORY_POOL=system env variable before importing pyarrow?

I have the same EXC_BAD_ACCESS issue and lldb backtrace on MacOS 11.7.4 (x86_64) with python 3.11.0.
pip install pyarrow==16.0.0 does not have the issue.

The diff between 16.0.0 and 16.1.0 is here: https://github.com/apache/arrow/compare/apache-arrow-16.0.0...apache-arrow-16.1.0.
The only change that seems somewhat related is https://github.com/apache/arrow/pull/41567 (unless the fixes for scalar scratch space for some reason caused this), although this is also strange because in the past this macos-latest should also have defaulted to macos-13 at some point, I assume?
cc @raulcd

I can reproduce on MacOS x86_64

@paleolimbot with which version of macOS could you reproduce this?
The OP reported macOS 11, and for example also duckdb observed segfaults on import specifically for macOS 11 with x86_64 (https://github.com/duckdb/duckdb/issues/12199#issuecomment-2126992958). They decided to bump the their released wheels to target macOS 12+.

@paleolimbot one more question: could you test with the latest nightly wheel (I assume nothing changed or fixed it, but just to be sure, because if it is still failing we should mark this as a blocker for the release I think)
pip install --extra-index-url https://pypi.fury.io/arrow-nightlies/ \
    --prefer-binary --pre pyarrow

From seeing similar segfaults in other projects with a complex C++ dependency (https://github.com/duckdb/duckdb/issues/12199#issuecomment-2126992958, https://github.com/geopandas/pyogrio/pull/417#issuecomment-2155856289 building with GDAL), my general assumption is that this is something on the macOS side, and with macOS 11 no longer being supported, probably the only thing we can do is bump the deployment target for our wheels to macOS 12.
That will mean that someone trying to install pyarrow on macOS 11 (as done in this issue) will no longer have a wheel available and then pip will try to install from source. That will typically fail at installation time, but at least not segfault at runtime ..

Should we bump the deployment target to macOS 12 before the 17.0.0 release? @jorisvandenbossche @pitrou

Should we bump the deployment target to macOS 12 before the 17.0.0 release? @jorisvandenbossche @pitrou

FYI, The message from github actions is that "The macOS-11 environment is deprecated and will be removed on June 28th, 2024."

Since MacOS 11 is no longer supported by the manufacturer, I think it would be fine to bump to MacOS 12. Sounds like GH actions will force us to drop it anyways.

I don't think this is a release blocker, as this is already an issue, and I am facing some issues when building and linking Arrow with MACOSX_DEPLOYMENT_TARGET=12. I'll move it to 18.0.0 and will keep working on it for the next release.

Issue resolved by pull request 43137
https://github.com/apache/arrow/pull/43137


Enhanced anndata contains only NaN values for gene expression

I followed the tutorial using in-house 10X Visium data. I used filtered_feature_bc_matrix.h5, tissue_positions.csv and  tissue_hires_image.png as input for Tesla. Countour detection works well using cnt=tesla.cv2_detect_contour(img, apertureSize=5,L2gradient = True) .
I proceed to the imputation
enhanced_exp_adata=tesla.imputation(img=img, raw=counts, cnt=cnt, genes=counts.var.index.tolist(), shape="none", res=res, s=1, k=2, num_nbs=10)
and when I check the enhanced_exp_adata.X all values are nan
Any idea how to solve this ?
Thank you

Thanks for your interest in TESLA.
I would recommend you double-check if you are using the correct image, which matches the pixel_x and pixel_y coordinates. If the coordinates do not match, you will get "nan" for the colour values, and the enhanced expression becomes "nan".
I have helped other people solve the same problem on GitHub:
https://github.com/jianhuupenn/SpaGCN/issues/7#issuecomment-962761985

Thank you for your prompt reply.
It was indeed an issue with the matching between pixel_x, y and array_x, y. I had to use the scalefactor provided by 10X spaceranger to have good match for pixels. Nevertheless will TESLA work smoothly with the tissue_hires_image.png generated by 10X spaceranger ( a downsampling image of the input file given to spaceranger).
Thank you

hello! Could u tell me how to use 10X spaceranger to match pixels and arrays?I meet the NAN issue too when i use the tissue_hires_image.png to do this.
Thanks


UIA fallback completion mechanism does not work well on mobile devices

https://matrix.org/docs/spec/client_server/r0.6.1#fallback describes a mechanism by which an application can be notified when a UIA step completes:

This allows the client to either arrange for the global function onAuthDone to be defined in an embedded browser, or to use the HTML5 cross-document messaging API, to receive a notification that the authentication stage has been completed.

However, modern best-practice discourages the use of embedded browsers (ie, webviews) and indeed some identity providers refuse any requests made from such browsers. For example Google says:

This user-agent is not permitted to make an OAuth authorization request to Google as it is classified as an embedded user-agent (also known as a web-view). Per our policy, only browsers are permitted to make authorization requests to Google.

This means that mobile apps have to use a regular browser to complete the auth step, so have no way of knowing when the step completes.

A suggested solution is to allow applications to specify a redirectUrl as a query-parameter, which the server will redirect to instead of displaying the completion page. The application can then set this to a uri which it will intercept.

A suggested solution is to allow applications to specify a redirectUrl as a query-parameter, which the server will redirect to instead of displaying the completion page. The application can then set this to a uri which it will intercept.


MAINT: Delete unused operators for profiler class

Description
This PR deletes the copy and copy-assignment operators for the profiler class, in order to clear warnings from static code analyzers.

PR should start as a draft, then move to ready for review state after CI is passed and all applicable checkboxes are closed.
This approach ensures that reviewers don't spend extra time asking for regular requirements.
You can remove a checkbox as not applicable only if it doesn't relate to this PR in any way.
For example, PR with docs update doesn't require checkboxes for performance while PR with any change in actual code should have checkboxes and justify how this code change is expected to affect performance (or justification should be self-evident).
Checklist to comply with before moving PR from draft:
PR completeness and readability

[x] I have reviewed my changes thoroughly before submitting this pull request.
[x] Git commit message contains an appropriate signed-off-by string (see CONTRIBUTING.md for details).
[x] I have added a respective label(s) to PR if I have a permission for that.
[x] I have resolved any merge conflicts that might occur with the base branch.

Testing

[ ] All CI jobs are green or I have provided justification why they aren't.

Performance
Not applicable.

/intelci: run


[Bing] Very often "Null response" in version <IP_ADDRESS>-release

Hi,
I´ve been using translate-shell for quite a while now and has worked perfectly. Now that I´m using the latest version <IP_ADDRESS>-release I get frequent problems.
Every once in a while I get the response
[ERROR] Null response.
[ERROR] Oops! Something went wrong and I can't translate it for you :(

But not always.
Example: ./trans -shell de:en gives me an interactive prompt. When typing "Danke" it replies amongst other output "thank you", which is o.k.
But that doesn´t happen every time. Very often I get the aforementioned error-message.
BTW: It´s the same with
gawk -f (curl -Ls git.io/translate | psub) -- -shell
(I use fish).
What might be the problem there?
Greetings
Rosika
P.S.:
System: Linux/Lubuntu 16.04.3 LTS, 64 bit

That often happens when Google has banned your IP address due to too many requests. It could last hours to a day.
Unfortunately there's nothing much I can do. Don't abuse the service, give it a rest, and wait another 24 hours before Google unbans your IP.

Hello soimort,
thank you very much for your reply.
I understand. Although it seems a bit odd that I get the same problem when invoking another translation machine like
./trans -shell -e bing de:en .
Furthermore the old version <IP_ADDRESS>-release seemed not to provoke a Google ban.
Nevertheless thanks again for the clarification.
Greetings.
Rosika

Furthermore the old version <IP_ADDRESS>-release seemed not to provoke a Google ban.

I don't think the ban is related to versions, though. Same API , same set of HTTP requests. It's just Google started blocking automated requests more proactively than in the old days.
If you have the same problem with Bing, please append -debug to the command and post the output  here.

@soimort:
Thanks.

It's just Google started blocking automated requests more proactively than in the old days.

That´s probably it. Thanks for pointing that out.
As far as Bing is concerned I appended -debug and got the following result:
Command: ./trans -shell -e bing -debug de:en
Interactive input: "Das ist schön."
Deutsch> Das ist schön.
  16 bytes > HTTP/1.1 200 OK
  23 bytes > Cache-Control: private
  20 bytes > Content-Length: 103
  46 bytes > Content-Type: application/json; charset=utf-8
  62 bytes > P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND"
  93 bytes > Set-Cookie: SRCHD=AF=NOFORM; domain=.bing.com; expires=Sun, 20-Sep-2020 14:10:02 GMT; path=/
 136 bytes > Set-Cookie: SRCHUID=V=2&GUID=5597E88A41B74B29BD981346A5D8DAAB&dmnchg=1; domain=.bing.com; expires=Sun, 20-Sep-2020 14:10:02 GMT; path=/
  98 bytes > Set-Cookie: SRCHUSR=DOB=20190827; domain=.bing.com; expires=Sun, 20-Sep-2020 14:10:02 GMT; path=/
  79 bytes > Set-Cookie: _SS=SID=13013C876E7D6951367131426F0C6807; domain=.bing.com; path=/
 101 bytes > X-MSEdge-Ref: Ref A: 3DFD457B5680491B9A159EF40589B320 Ref B: FRAEDGE0913 Ref C: 2019-08-27T14:10:02Z
  96 bytes > Set-Cookie: _EDGE_S=F=1&SID=13013C876E7D6951367131426F0C6807; path=/; httponly; domain=bing.com
  96 bytes > Set-Cookie: _EDGE_V=1; path=/; httponly; expires=Sun, 20-Sep-2020 14:10:02 GMT; domain=bing.com
 114 bytes > Set-Cookie: MUID=03A88931252B6950328F84F4245A685B; path=/; expires=Sun, 20-Sep-2020 14:10:02 GMT; domain=bing.com
 108 bytes > Set-Cookie: MUIDB=03A88931252B6950328F84F4245A685B; path=/; httponly; expires=Sun, 20-Sep-2020 14:10:02 GMT
  36 bytes > Date: Tue, 27 Aug 2019 14:10:02 GMT
  18 bytes > Connection: close
   1 bytes >
 103 bytes > [{"detectedLanguage":{"language":"de","score":1.0},"translations":[{"text":"That's nice.","to":"en"}]}]
content = '''
[{"detectedLanguage":{"language":"de","score":1.0},"translations":[{"text":"That's nice.","to":"en"}]}]
'''
tokens = ["[", "{", "\"detectedLanguage\"", ":", "{", "\"language\"", ":", "\"de\"", ",", "\"score\"", ":", "1.0", "}", ",", "\"translations\"", ":", "[", "{", "\"text\"", ":", "\"That's nice.\"", ",", "\"to\"", ":", "\"en\"", "}", "]", "}", "]"]
ast = {
"0,0,detectedLanguage,language"	"\"de\""
"0,0,detectedLanguage,score"	"1.0"
"0,0,translations,0,text"	"\"That's nice.\""
"0,0,translations,0,to"	"\"en\""
}
  16 bytes > HTTP/1.1 200 OK
  23 bytes > Cache-Control: private
  20 bytes > Content-Length: 106
  46 bytes > Content-Type: application/json; charset=utf-8
  62 bytes > P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND"
  93 bytes > Set-Cookie: SRCHD=AF=NOFORM; domain=.bing.com; expires=Sun, 20-Sep-2020 14:10:03 GMT; path=/
 136 bytes > Set-Cookie: SRCHUID=V=2&GUID=D7026AF42B2D4064B88E4513DA64F56D&dmnchg=1; domain=.bing.com; expires=Sun, 20-Sep-2020 14:10:03 GMT; path=/
  98 bytes > Set-Cookie: SRCHUSR=DOB=20190827; domain=.bing.com; expires=Sun, 20-Sep-2020 14:10:03 GMT; path=/
  79 bytes > Set-Cookie: _SS=SID=2F73E9D9735D697C0AF6E41C72E86830; domain=.bing.com; path=/
 101 bytes > X-MSEdge-Ref: Ref A: 6A2B4ACD10CE468394553AF64B1C929B Ref B: FRAEDGE0306 Ref C: 2019-08-27T14:10:03Z
  96 bytes > Set-Cookie: _EDGE_S=F=1&SID=2F73E9D9735D697C0AF6E41C72E86830; path=/; httponly; domain=bing.com
  96 bytes > Set-Cookie: _EDGE_V=1; path=/; httponly; expires=Sun, 20-Sep-2020 14:10:03 GMT; domain=bing.com
 114 bytes > Set-Cookie: MUID=307AAD3A7F0F610E3377A0FF7EBA6029; path=/; expires=Sun, 20-Sep-2020 14:10:03 GMT; domain=bing.com
 108 bytes > Set-Cookie: MUIDB=307AAD3A7F0F610E3377A0FF7EBA6029; path=/; httponly; expires=Sun, 20-Sep-2020 14:10:03 GMT
  36 bytes > Date: Tue, 27 Aug 2019 14:10:02 GMT
  18 bytes > Connection: close
   1 bytes >
 105 bytes > [{"detectedLanguage":{"language":"de","score":1.0},"translations":[{"text":"Das ist schön.","to":"de"}]}]
  16 bytes > HTTP/1.1 200 OK
  23 bytes > Cache-Control: private
  19 bytes > Content-Length: 92
  46 bytes > Content-Type: application/json; charset=utf-8
  62 bytes > P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND"
  93 bytes > Set-Cookie: SRCHD=AF=NOFORM; domain=.bing.com; expires=Sun, 20-Sep-2020 14:10:04 GMT; path=/
 136 bytes > Set-Cookie: SRCHUID=V=2&GUID=BA083E0D1FE84D8186A43D36FFC47E03&dmnchg=1; domain=.bing.com; expires=Sun, 20-Sep-2020 14:10:04 GMT; path=/
  98 bytes > Set-Cookie: SRCHUSR=DOB=20190827; domain=.bing.com; expires=Sun, 20-Sep-2020 14:10:04 GMT; path=/
  79 bytes > Set-Cookie: _SS=SID=11490E4F2DB264FE07FD038A2C0765B5; domain=.bing.com; path=/
 101 bytes > X-MSEdge-Ref: Ref A: 69463CAE3A6D4043ACEB9B4C82618C5F Ref B: FRAEDGE0509 Ref C: 2019-08-27T14:10:04Z
  96 bytes > Set-Cookie: _EDGE_S=F=1&SID=11490E4F2DB264FE07FD038A2C0765B5; path=/; httponly; domain=bing.com
  96 bytes > Set-Cookie: _EDGE_V=1; path=/; httponly; expires=Sun, 20-Sep-2020 14:10:04 GMT; domain=bing.com
 114 bytes > Set-Cookie: MUID=1EF1F9ADF1B46D1433D3F468F0016CA7; path=/; expires=Sun, 20-Sep-2020 14:10:04 GMT; domain=bing.com
 108 bytes > Set-Cookie: MUIDB=1EF1F9ADF1B46D1433D3F468F0016CA7; path=/; httponly; expires=Sun, 20-Sep-2020 14:10:04 GMT
  36 bytes > Date: Tue, 27 Aug 2019 14:10:03 GMT
  18 bytes > Connection: close
   1 bytes >
  90 bytes > [{"normalizedSource":"Das ist schön.","displaySource":"Das ist schön.","translations":[]}]
dicContent = '''
[{"normalizedSource":"Das ist schön.","displaySource":"Das ist schön.","translations":[]}]
'''
dicTokens = ["[", "{", "\"normalizedSource\"", ":", "\"Das ist schön.\"", ",", "\"displaySource\"", ":", "\"Das ist schön.\"", ",", "\"translations\"", ":", "[", "]", "}", "]"]
dicAst = {
"0,0,displaySource"	"\"Das ist schön.\""
"0,0,normalizedSource"	"\"Das ist schön.\""
}
-- display original text
Das ist schön.

-- display major translation
That's nice.

-- display source language -> target language
[ Deutsch -> English ]
-- display dictionary entries

Deutsch> schönes Wetter
  31 bytes > HTTP/1.1 301 Moved Permanently
  53 bytes > Location: http://www.bing.com/ttranslatev3?mkt=zh-CN
  27 bytes > Server: Microsoft-IIS/10.0
 101 bytes > X-MSEdge-Ref: Ref A: 6A99AE2B4478445389C6319A0F48C911 Ref B: FRAEDGE0819 Ref C: 2019-08-27T14:10:24Z
  36 bytes > Date: Tue, 27 Aug 2019 14:10:24 GMT
  18 bytes > Connection: close
  18 bytes > Content-Length: 0
   1 bytes >
content = '''

'''
tokens =
ast =
[ERROR] Oops! Something went wrong and I can't translate it for you :(

Deutsch>

Greetings
Rosika

Hi,
I am running to the same problem with Google limitation. Does Bing have limitation as well? Do you have any suggestion? Such as how many requests I can send with a time window? I got banned after about 100 requests (by machine)?
Any suggestion will be appreciated! Thank you in advance!

@ChrisLuNlm:
Hi,
I just wanted to run a direct comparison of standard and bing ("trans -shell -e bing de:ru").
It sems odd but at present I won´t get kicked out by either google or bing. I tried a lot .   :)
But that isn´t representative  at all. In the past I tried out google as well as bing and got kicked out by both of them.
Sorry I can´t tell you anything more positive.
Greetings.
Rosika

Hello again,
I think in the meantime I´ve worked out why I rather often get
[ERROR] Null response.
[ERROR] Oops! Something went wrong and I can't translate it for you :(

That inadvertently happens whenever I use my umts-stick for internet connection instead of wlan.
The thing is:
I type my request for translation into the terminal and then hit the return-key. But it´s the time that the stick takes to push out the send request which is crucial.
It takes 2 -3 seconds which seems to be too much. I get the error-message.
To prove it: When sending the exact same request for translation right afterwards (a 2nd time) I immediately get the correct translation as an answer. That´s because my umts-stick i still in some sort of "connected" mode.
The LED  is light blue (instead of dark blue) which gives it away.
So to sum up: Traslate_shell should give more time (say a few seconds more) for query response before it times out with the error-message.
Can something be done about it? Is there a config for changing the respective value?
Greetings
Rosika

Thanks for the information -- Yes, I agree that there should be some option to set a timeout value.(currently it's hardcoded and can't be configured for)

@soimort:
Thanks for the info and adding the matter to encancement.

Is there a recommended timeout/wait setting that we can avoid being 'blocked'? I don't mind waiting for 1-2 mins between paragraphs but that sure if that will resolve the issue. It might be good to find out what are the google's criteria to block ip address for using translation...

Is there a recommended timeout/wait setting that we can avoid being 'blocked'?

hard to find out where google's bar is. One request /sec can easily lead to IP restriction; one request /min is most likely fine, based on my everyday normal usage.
Having an option for setting the time gap between requests sounds a reasonable idea.


Path parameters as function positional arguments

OpenAPI Specification indicates that if parameter location is path the required property is REQUIRED and its value MUST be true
Ref: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameter-object
With this in mind, this PR:

Tighten the parsing by throwing an error for path parameters with required=false
Update the templates to pass the path parameters to the function as positional arguments instead of kwargs
to improve usability

The lint is failing:
openapi_python_client/parser/openapi.py:283: error: Argument "data" to "ParseError" has incompatible type "List[Property]"; expected "Optional[BaseModel]"  [arg-type]

I guess I am forced to pass endpoint instead of endpoint.path_parameters to ParseError.data as the type is incompatible.

That field is intended to take and then display the part of the schema that's wrong. I think we can just omit it and include the path in the error message.

Sorry for the delay on this @tsotnikov, I've created a branch in-repo and a PR at #464 so I can update this and finish it off. Thanks for all the hard work!


[BUG] CANNOT INSTALL ON ARCH LINUX

Describe the bug
CANNOT INSTALL THE AUR PACKAGE ( TPLAY-GIT )
To Reproduce
USING PARU OR MAKEPKG PRODUCES THE SAME ERROR
Expected behavior
BEING ABLE TO INSTALL THE PACKAGE
Screenshots
LOGS  FROM "paru -S tplay-git" https://hastebin.com/share/yonidagada.yaml
Desktop

OS: ARCH LINUX,
tplay  --version: N/A
yt-dlp --version: 2024.10.22
mpv --version: 0.39.0
rustc --version: 1.82.0
pkg-config --modversion opencv4: <4.10.0
ffmpeg -version: n7.0.2

Additional context
SAME ISSUE AS https://aur.archlinux.org/packages/tplay-git#comment-951678

FFMPEG 7 is not currently supported.
For now only FFmpeg versions: 3.4.x through 4.4.x will work.
I'll update the various dependencies as soon as I can, but it won't be as straightforward as changing a number in cargo.toml so it may take me some time.

Describe the bug CANNOT INSTALL THE AUR PACKAGE ( TPLAY-GIT )
To Reproduce USING PARU OR MAKEPKG PRODUCES THE SAME ERROR
Expected behavior BEING ABLE TO INSTALL THE PACKAGE
Screenshots LOGS FROM "paru -S tplay-git" https://hastebin.com/share/yonidagada.yaml
Desktop

OS: ARCH LINUX,
tplay  --version: N/A
yt-dlp --version: 2024.10.22
mpv --version: 0.39.0
rustc --version: 1.82.0
pkg-config --modversion opencv4: <4.10.0
ffmpeg -version: n7.0.2

Additional context SAME ISSUE AS https://aur.archlinux.org/packages/tplay-git#comment-951678

I think I can provide a temporary fix for this maybe. Right now I am not on my main system. Once I am, I will check this out and rollout a fix as soon as possible. So I would suggest for now you can try installing it manually by following the readme instructions. :slightly_smiling_face: .

@maxcurzi @lunar-Crawler
(Sorry for the pings)
I wanted to inform that I have provided a temporary fix for this issue for now. So you should now be able to install tplay as usual using the aur. But if you face any issues the I would suggest still feel free to reopen this issue and update us on the issue. 🙂

Ah so you updated the package's Cargo.toml in AUR only, I didn't know you could do that!


Add powershell scripts for running the backend on windows

Added powershell scripts for running the backend components on windows.
Also fixed some minor bugs and added support for a new "url" column in the database which refer to the source wiki page.
Closes #2

Looks great! There's just some small clarification between file names I think could make the repo easier to read.
Other than that it looks very good and is ready for merge 🥇


Release jobs are triggered for renovate bot PRs

Example PR: chore(deps): update actions/checkout action to v4.2.2
Release job: https://github.com/kubewarden/helm-charts/actions/runs/11551186609
E2E tests: https://github.com/kubewarden/helm-charts/actions/runs/11551207278

There's 2 issues in play.

chart-releaser is configured with env var CR_SKIP_EXISTING to true, which is the best we can do. This means chart-releaser doesn't publish the built releases, but still creates them under .cr-release-packages.
chart-releaser seems to always update chart metadata that sits on index.yaml. But weirdly, this only happens for RCs or alphas and betas.

See: https://github.com/kubewarden/helm-charts/blob/gh-pages/index.yaml#L51-L330

We look if there's new charts under .cr-release-packages/ and if there are, we create provenance and push the provenance. This happens regardless of chart-releaser configuration on pushing the releases.

Examples
For example, the following PR: https://github.com/kubewarden/helm-charts/pull/542

Was merged after having released kubewarden-defaults-2.4.0-rc3.
The release job from main says that it updated the index.yaml on the gh-pages branch, https://github.com/kubewarden/helm-charts/actions/runs/10989803081/job/30508724279#step:11:97, overwriting the kubewarden-defaults-2.4.0-rc3 GH release with a new chart that would have contained the PR fix. But actually it didn't.
the fix is correctly shipped in the next release kubewarden-defaults-2.4.0-rc4.

Same for the following PR: https://github.com/kubewarden/helm-charts/pull/567

Was merged after having released [kubewarden-controller-3.1.0-beta1](https://github.com/kubewarden/helm-charts/releases/tag/kubewarden-controller-3.1.0-beta1).
The release job from main says that it updated the index.yaml on the gh-pages branch,
https://github.com/kubewarden/helm-charts/actions/runs/11514993120/job/32054746937#step:10:98
, overwriting the kubewarden-controller-3.1.0-beta1 GH release with a new chart that would have contained the PR fix. But actually it didn't.
On the workflow run, we see the new bogus .cr-release-packages/kubewarden-controller-3.1.0-beta1.tgz  file, and incorrectly sign it, push to the OCI registry, create provenance, and push that too.


Implement traffic splitting

Add support for configuring traffic splitting by using a Service Mesh
Description
Traffic splitting support depends on Service Mesh. When a Service Mesh is enabled, VirtualServices are created to route traffic to ModelMesh and OpenShift Routes are no longer created.
It is possible to do infer requests to specific InferenceServices, like before/currently. Annotations and Labels are used to group more than one InferenceService to create a logical group where traffic splitting would be done, and to configure how much traffic should be routed to each service in the group.
How Has This Been Tested?

TODO
Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

Please node that this PR is against a feature branch; not main.

@israel-hdez You're creating a new VS resource for the splitting part, right? Considered reconfiguring the 'other' one instead? I'm not sure if we'll have an issue with this as of now, but while you can split the configuration into multiple resources and they will get merged into one when read by istio, the order of matches etc are taken into account but they become random if split.

@aslakknutsen Yes, this is creating a new VS for the splitting part.

but while you can split the configuration into multiple resources and they will get merged into one when read by istio, the order of matches etc are taken into account but they become random if split

I indeed had some issues related to this while testing. I solved by making the match more strict/specific.
Thinking a little bit. A VS is already created per InferenceService. For traffic splitting, at least two InferenceServices are need which would create two VS for the regular case. Then, another VS groups together both InferenceServices. So this confuses me a little bit, because there isn't a singe "other one". There are "many other ones".
So, should we merge everything together and have a single VS for the namespace? Or do we keep many VSs with very specific match rules?


Multi instance monitoring

Hello :)
Any chance to get multi instances monitored?

I am a bit unsure what you mean - monitoring multiple mailcow instances with the same instance of mailcow-exporter should be possible by adding multiple targets for it in the prometheus configuration:
scrape_configs:
  - job_name: 'mailcow-server-2'
    static_configs:
      - targets: [ 'mailcow_exporter:9099' ]
    params:
      host: [ 'mailcow-server-1.com' ]
      apiKey: [ 'YOUR-APIKEY-HERE' ]

  - job_name: 'mailcow-server-1'
    static_configs:
      - targets: [ 'mailcow_exporter:9099' ]
    params:
      host: [ 'mailcow-server-2.com' ]
      apiKey: [ 'YOUR-APIKEY-HERE' ]

I suspect however, that multi-instances refers to something else, that I am not familiar with. Could you provide a bit of additional information so I can read up on it?

That would work, but it would mix the result of your grafana dashboard. For example rspamd scanning, rspamd action...
I think that only the dashboard needs to be tweaked a bit. Similar to the dashboard of the node exporter.

I'm not a developer, but if I can figure it out, I'll let you know.

With multiple scrape configs you should be able to differentiate metrics by their job label, which should be the same as job_name in the prometheus config


I18n for numbers (voicemail counts, dates, etc)

It appears that the Voicemail I18n file lacks the entries necessary for reading back numeric items.

[ ] Verify that the I18n version of Voicemail has all necessary translation hooks for numeric readback
[ ] Add missing entries to en.yml

I notice that this gem does not implement the adhearsion-i18n gem's advice about interpolation and goes ahead an interpolates message counts as well as dates.
Is this what you're referring to, Ben? I still don't feel like I understand your intentions behind this issue.

I notice that this gem does not implement the adhearsion-i18n gem's advice about interpolation and goes ahead an interpolates message counts as well as dates.

Yes this is what I am referring to.

Also, that to have i18n provide translation for numbers, we'll need to add enough prompts to cover a reasonable range of numbers, probably at least 1 through 999.

Also, that to have i18n provide translation for numbers, we'll need to add enough prompts to cover a reasonable range of numbers, probably at least 1 through 999.

And this is because recordings of single digits don't compose cleanly for larger integers. Is that the point of this issue?

And this is because recordings of single digits don't compose cleanly for larger integers. Is that the point of this issue?

Yes


Add docker compose set up guide for Protobuf

[ ] Breaking change? (if so, please describe the impact and migration path for existing application instances)
No

What changes did you make? (Give an overview)
Added documentation on how to setup docker-compose to configure Kafkaui to deserialise proto messages.
Is there anything you'd like reviewers to focus on?
Nothing specific. An overall review if the documentation makes sense.
How Has This Been Tested? (put an "x" (case-sensitive!) next to an item)

[X] No need to
[ ] Manually (please, describe, if necessary)
[ ] Unit checks
[ ] Integration checks
[ ] Covered by existing automation

Checklist (put an "x" (case-sensitive!) next to all the items, otherwise the build will fail)

[X] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation (e.g. ENVIRONMENT VARIABLES)
[X] My changes generate no new warnings (e.g. Sonar is happy)
[ ] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged

Check out Contributing and Code of Conduct
A picture of a cute animal (not mandatory but encouraged)
Photo by Richard Brutyo

@Sam-sad-Sajid hey! We had done some changes to both proto-related code and docs, also we had huge docs refactoring going on, that's why I couldn't merge your PR.
Could you please check this article on proto? It should contain all the related & up-to-date information. If that's not the case, please let me know (or even raise a PR, every page has a "edit on github" button).
Thanks for the contribution!


php format has bug via phpcs

vim config
let g:formatdef_php = '"/usr/local/bin/php-cs-fixer fix --level=psr2 -n"'
let g:formatters_php = ['php']

terminal command
usr/local/bin/php-cs-fixer fix --level=psr2 -n  [filename]

origin
class ComposerServiceProvider extends ServiceProvider
{
    /**
     * Indicates if loading of the provider is deferred.
     *
     * @var bool
     */
    protected $defer = true;
        private $foobar;

    public function __construct($name){
        $this->foobar = $name;
    }

    public function sayHello()
    {
        echo $this->foobar;
    }
}

do format in vim
class ComposerServiceProvider extends ServiceProvider
{
    /**
     * Indicates if loading of the provider is deferred.
     *
     * @var bool
     */
    protected $defer = true;
    private $foobar;

    public function __construct($name){
        $this->foobar = $name;
    }

    public function sayHello()
    {
        echo $this->foobar;
    }
}

do format in terminal
class ComposerServiceProvider extends ServiceProvider
{
    /**
     * Indicates if loading of the provider is deferred.
     *
     * @var bool
     */
    protected $defer = true;
    private $foobar;

    public function __construct($name)
    {
        $this->foobar = $name;
    }

    public function sayHello()
    {
        echo $this->foobar;
    }
}

Please :set verbose=1, execute the formatting command again and post the output from :PutMessages.
That way we'll know more about what's going on.

I got it now, but how to define it right ?
Formatter php has errors: b'\n                                                                                \n  [LogicExcepti
on]                                                               \n  You must call one of in() or append() methods before itera
ting over a Finder.  \n                                                                                \n\nfix [--config CONFIG
] [--config-file [CONFIG-FILE]] [--dry-run] [--level LEVEL] [--fixers FIXERS] [--diff] [--format FORMAT] [--] [<path>]\n\n' Skip
ping.
Failing config: '/usr/local/bin/php-cs-fixer fix --level=psr2 -n'
Definition in 'g:formatdef_php' was unsuccessful.
No format definitions were successful.
Removing trailing whitespace...
Retabbing...
29 lines indented

Vim-autoformat passes the file contents on stdin. You must first find a way to do that on the command line,
like
$ cat myfile.php | /usr/local/bin/php-cs-fixer -

or something like that.
See also https://github.com/Chiel92/vim-autoformat/issues/8 and https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/199.
If you get it to work properly, you could provide a PR with a sane default definition.

well, I try like
php-cs-fixer --dry-run [filename]

php-cs-fixer --diff [filename] | patch

it still get unhappy.
so i try to resolve this problem like this
let g:format_tempfile = '/tmp/0b16e08f-4729-44c5-8f36-70e1ece363b7'
let g:formatdef_php_cs_fixer = printf('"cp  " . %s . " %s | php-cs-fixer fix --level=psr2 -q -n %s | cat %s"', 'expand("%:p")', g:format_tempfile, g:format_tempfile, g:format_tempfile)
let g:formatters_php = ['php_cs_fixer']

I get the feeling you don't understand what I'm saying.
Vim-autoformat passes the file contents to php-cs-fixer via stdin.
None of the commands
php-cs-fixer --dry-run [filename]
php-cs-fixer --diff [filename] | patch

are doing that.
Instead do
$ cat myfile.php | /usr/local/bin/php-cs-fixer -

on the command line. Does that work?

ok, I see it now.
I also look into the source file, more clear.

Actually, There is a compromise way to get it right.

step 1: create a shell script file like

#!/bin/bash
# Brief: This is a php-cs-fixer patch.
# Perpose: Print the results of applying the fix without actually changing file.
# Filename: /home/hanson/CodeHub/SHELL/phpcspatch

INPUT=$(cat)

TEMPFILE='/tmp/0b16e08f-4729-44c5-8f36-70e1ece363b7'
echo "$INPUT" > "$TEMPFILE"
php-cs-fixer fix --level=psr2 -n "$TEMPFILE" &>/dev/null
cat "$TEMPFILE"

step 2. vim config

let g:formatdef_php_cs_fixer = '"/home/hanson/CodeHub/SHELL/phpcspatch"'
let g:formatters_php = ['php_cs_fixer']

php-cs-fixer of recent version should be like this.
php-cs-fixer fix --rules=@PSR2 -n "$TEMPFILE" &>/dev/null


Fix release tar content of manifests

What this PR does / why we need it:
When releasing v1.2.0-alpha.0 we found a few file names had a bad name. This PR fixes the output for the static manifests which was caused in the cleanup of the legacy release.
Release note:

NONE

/kind cleanup


FOP fails when glyph not found

Converted from SourceForge issue 3402716
It appears that when the code that generates FO encounters a symbol that is not in the current font family that it nullifies the physical font. This action causes FOP 1.0 to crash because it does not handle a null physical font. The processing should be changed to substitute a font that should be on all systems, Arial for example, that contains the glyph. I've attached a build failure and can supply a topic.fo that demonstrate the error.

Closing as obsolete.


Add page search bar

When searching for titles sometimes the search bar can be scrolled out of view but can't be scrolled back.

Upon investigation it was found that the ion-content tag was including the search bar, where as it should only have been a header tag so that is was not included in the scrollable element of the page.


Issue 1657: enrich document with inline styles and js

https://github.com/jdi-testing/jdn-ai/issues/1657

It's ok


STO Release Notes for Week of 2024-07-21

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66a38012017fbe11351e68ab--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66a486427b4de5bacd415200--harness-developer.netlify.app


Files are not being added/deleted from DotNetCoreWeb projects

We need to find a performant way to ensure add/remove multiple files from Core Web Projects.

I'm pretty sure this works... our integration tests use a Core project.


updated 1,3,4,and 5

Nice! You passed all 4 code challenges!

Hi Ruben, 4 challenges passed! Each challenge is 1.25 points.


Knex 0.9 support

Change summary

Reusing the 0.8 knex client for 0.9, since the knex site indicates that upgrading doesn't require clients do anything.
Miscellaneous fix in the test suite.
Add knex 0.9 as a supported peerDependency.

Issues:
I did notice the same leak reported by the test runner, before and after this change:

The following leaks were detected:Intl, Set, Map

Otherwise, all the tests passed.

@bosgood thank you for the pull request :+1:

@jbrumwell Thanks for merging :)