Fix how validation displays in UI

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

Expected Result:
Front-end validation should catch obviously invalid phone numbers, and display the error message "Please enter a phone number including the country code e.g +447814266907" instead of a clickable OptionRow. Like this:

Actual Result:
No visual feedback given to user when OptionRow with invalid phone number is clicked, only an error is shown in the console:

Action Performed:

Click search icon
Enter an invalid phone number (example: 7777)
Click on the OptionRow that shows up:

Workaround:
No workaround (other than making sure you enter valid phone numbers), but not a deploy-blocking issue.
Platform:
Where is this issue occurring?

[x] Web
[x] iOS
[x] Android
[x] Desktop App
[x] Mobile Web

Version Number: <IP_ADDRESS>
Notes/Photos/Videos:
Enhancements that can we worked on concurrently by the assigned engineer of this issue or worked on a week after this closes by someone else https://github.com/Expensify/Expensify.cash/issues/2936
Expensify/Expensify Issue URL: https://github.com/Expensify/Expensify/issues/159892
View all open jobs on Upwork

Triggered auto assignment to @alexpensify (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Triggered auto assignment to @mallenexpensify (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

Unassigning @alexpensify , I don't believe triage is needed :D

Posted to Upwork https://www.upwork.com/jobs/~0175575d61566ad5ee
@Beamanator assigning back to you

Triggered auto assignment to @beamanator (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Hello Client!
It's one day job for me. I can add the validation function and display error message like you want instead of clickable option row. I will catch the onChangeText event with the correct Debounce value, so that I can validate the phone number each input.
Then error message will be shown if any error has occurred. This can be done in each component or customized component.
It will not affect to the redux action, so it will not require to change the busines logic.
That's all.
I am looking forward your message. I can start to work right now.
Best.
Athur.

Proposal 📄
Front-end validation should catch obviously invalid phone numbers, and display the error message "Please enter a phone number including the country code e.g +447814266907" instead of a clickable OptionRow. Like this:
Approach 👨🏼💻
File of concern : /src/components/OptionsSelector.js

We need to validate each input from the user.
This will increase the number of call to the BE, to fix this we need to debounce the user input which will help in reducing the number of calls.
The error state of the input can be handled easily by showing a relevant message to the user as provided in the issue description.

Testing Strategy🧪
We can mock the call and purposely fail / invalidate the input and then check for the relevant error message text to have been rendered.
Expected Delivery Time
Approx 1-2 Days.
Previous Experience

https://github.com/Expensify/Expensify.cash/issues/2811

@alev374 Thanks for your proposal!
Although I believe I understand where you're going with your proposal, I can't quite tell how you plan to solve this issue. Next time, please clarify exactly how you plan to implement the fix. More specifically, "This can be done in each component or customized component" is not clear enough.
Additionally, "It will not affect to the redux action, so it will not require to change the business logic" makes me wonder if you've looked through our code much, as we currently don't use the redux library. Instead, we use the home-grown https://github.com/Expensify/react-native-onyx.
Next time, please try to be more specific with your approach, and maybe think about formatting your thoughts in an easily-consumable format like Pranshu.

@pranshuchittora Thanks for your proposal as well!
Thanks for clearly defining the file(s) you plan to change, and the steps you'll take. As you may have noticed, we split the debouncing enhancement into a new issue (found here: https://github.com/Expensify/Expensify.cash/issues/2936) so if you could please adjust your proposal to remove that plan.
Additionally, if an invalid phone number is entered, see in the original post that we want to see the error message "Please enter a phone number including the country code e.g +447814266907", even though the API returns a slightly different error message.
Please let me know when you have adjusted your proposal :)

Thanks for the feedback @Beamanator. I have updated my proposal.
Good Day:)

Thanks for the quick update @pranshuchittora ! Your proposal looks great, please make sure you also submitted a proposal in Upwork so @mallenexpensify can assign you the job, then please submit a PR when you have time :)

Hi, @Beamanator thanks a lot. I have applied to work on this ticket via UpWork. I will try to push a draft PR by tomorrow 👍🏼

@pranshuchittora , hired you in Upwork 🎉
@Beamanator will be reviewing your PR once it's ready.

@pranshuchittora would you mind giving us an update on your progress with this one? I haven't seen a PR yet :)

@pranshuchittora would you mind giving us an update on your progress with this one? I haven't seen a PR yet :)

Hi, @Beamanator I forgot to raise the PR 😅 . Just raised #3124

Awesome, thanks!

@Beamanator have you reviewed the PR? Can you and/or @pranshuchittora give an update on status for this issue?

@mallenexpensify waiting for this to be resolved -> https://github.com/Expensify/Expensify.cash/issues/2936#issuecomment-850636244

Thanks @pranshuchittora , I realized after I posted then went to #2936 that that might be the case

I'll post in the other issue too, but I believe Shawn gave the thumbs-up to push forward with the latest plan

@Beamanator @pranshuchittora , can I get an update on this? Want to post in the parent issue where we're at.  Thanks

Waiting on @pranshuchittora to respond to my comments or work on requested changes

Unassigned @pranshuchittora for lack of updates.

Posted new job in Upwork and raised price to $500
https://www.upwork.com/jobs/~018f3274b947f5d7b2

Hi @Beamanator
I saw that we were making an API request to the IsValidPhoneNumber endpoint in the other PR. Is there any reason we can't use our Str.isValidPhone to validate? If we can, I think we could do something like:

While the value of our OptionsSelector is composed of digits (and +) only, validate it against Str.isValidPhone
If it's a valid phone number, render the OptionsList below the input
If it isn't, render an error message

I can do this JOB according to provided plan.
Thanks

Proposal
Just add a valid in OptionsListUtils.js in below shown method.

This is to show the message alone if number is invalid if we don't need show the list, we can do that here
https://github.com/Expensify/App/blob/286b8ea195c445487950e8d8a2cbe86d83bcd997/src/components/OptionsList.js#L215-L228
if headerMessage is available we can hide the list.

I am sending a proposal for this if it is related to the validation message.  I got a little lost looking at all the discussion points and PR comments.
Proposal

My approach would be to have a client-side validation and fail early along with the debounce. Preferably Str.isValidPhone as used in the login
Updates will include: OptionListUtils.
My other recommendation was if we would want to stick to E164 format for the search at least. It basically matches 2 digit numbers too.
Add design for the relevant validation messages

@aliabbasmalik8
The link you provided is a plan for what will be the outcome, but next time please mention how you plan to accomplish the plan (which files you'll edit, etc)
@Santhosh-Sellavel
I love the amount of detail you added and even the demo, but your solution is a bit over-engineered. We don't yet need a new type of phone number validation (E.123). Keep up the fantastic proposals though 💯
@mananjadhav
Thanks for your proposal, but in order to be selected for the job I'd like to see more specifics about what you're proposing (ex: what exactly will you change in OptionListUtils?). Please include proposals for only this issue as well (note: debouncing is a requirement for a different issue).

@rdjuric
Good question, eventually we will want to call IsValidPhoneNumber because it connects to a Twilio api that validates a phone number exists, which is better validation than just a regular expression. However, we won't need to handle that to fix this PR.
Your solution is very simple and straightforward, I like it 👍 Please submit a PR when you have a moment and @mallenexpensify will assign you the job in Upwork!

Contrib linked PR, changing to Weekly

@Beamanator Pullerbear didn't assign you to review the PR and I think I might need some help/inputs from you there.
Can you take a look at it when you have time?

PR was merged but @rdjuric agreed there's one final fix needed, he said he'll open up a PR soon (see this comment)

Follow-up PR is ready for review 😃

Aaand merged 💪

Will pay onn 8/19 if no regressions

@rdjuric or @Beamanator  I'm still able to reproduce this issue.
https://user-images.githubusercontent.com/85645967/129308620-cc3752d2-cc0e-403b-a49c-83e92e38554d.mov
DIGITS_AND_PLUS: /^\+?[0-9]*$/,
In above expression still + is still optional.
E164_REGEX: /^\+?[1-9]\d{1,14}$/ which is used by Str.isValidPhone method,+is also optional here
Consider below expression  Str.isValidPhone(searchValue) will always be true by using ! over it makes the below expression always false, so no error message will be returned.

@Beamanator
Regex should be updated for DIGITS_AND_PLUS as /^\+(?:[0-9]*)$/
Validation expression should be like below,
if(searchValue && Str.isValidPhone(searchValue) && !CONST.REGEX. DIGITS_AND_PLUS.test(searchValue))
Similar to what I proposed earlier here https://github.com/Expensify/App/issues/2934#issuecomment-888664379, where I suggested ETU.123 standard regex, instead we could use this /^\+(?:[0-9]*)$/ for just phone number should have just one +

@Santhosh-Sellavel did you try clicking on the "new chat" option (+911223233) at the end of your video? If so, you should have seen the "I couldn't validate the phone number, please try again" error -> that's the main fix for this issue. Improving the regex is part of a different issue that I plan to write the requirements for early next week

Yes, I'm seeing that error on click,

Sorry, I am unaware of the requirement change here!
There were two PR's that caused me the confusion,  where one looks like solving validation message, the initial requirement.
Thanks for the clarity mate! @Beamanator

Yeah sorry for the confusion @Santhosh-Sellavel , technically both requirements were there from the beginning but

Wrong button 😅

Hi @mallenexpensify! Is there any job in Upwork for this issue? I wasn't hired yet and can't find one

@rdjuric lotta action in here, let's assume I messed something up.

The most recent job post is here https://www.upwork.com/jobs/~018f3274b947f5d7b2
Is this you? If so, confirm and I'll hire

@mallenexpensify That's me! Thanks.

Hired @rdjuric in Upwork!

Paid in Upwork!

Great! Looks like it's time to close this out :D


image generation?

if duration set to 1 - may be output PNG for testing t2v first frame?
just an idea
requiring  fixing seed of course

I think you might be better off using flux if you want to do text to image as it can't do video but might yield higher results on single frames.

The image generation capability of this model is from 100m+ images (and 10m video initial frames), with some knowledge inherited from SD3. We suggest using specialized image generation models instead.


"400 bad request" when open Discourse site

There is a “400 bad request” error when opening Discourse page from LIT component in my course that run within my Open edX site.
Version of Discourse: Open edx version: Ginkgo ,Discourse version: v1.9.0.beta14
3 relevant details are as following:
Detail 1/3: Screenshot of the error

Detail 2/3:  the code line where I think  the program stopped
Detail 3/3: The problematic request.params is printed as following
{"resource_link_id"=>"pd.lh4cs.org-acb63f37ee1945b3b32d5a8127696039"<EMAIL_ADDRESS> "user_id"=>"8c7c5a3defcc8df089b41bfd3ad1d695",  "roles"=>"Student",  "oauth_nonce"=>"88971414880083225381511140253",  "oauth_timestamp"=>"1511140253",  "lis_result_sourcedid"=>"course-v1%3AUVa%2Blh4cs01%2B2018_T1:pd.lh4cs.org-acb63f37ee1945b3b32d5a8127696039:8c7c5a3defcc8df089b41bfd3ad1d695",  "context_id"=>"course-v1:UVa+lh4cs01+2018_T1",  "oauth_consumer_key"=>"x123456-d87f-3838-cop.lh4cs.org",  "lti_version"=>"LTI-1p0",  "oauth_signature_method"=>"HMAC-SHA1",  "oauth_version"=>"1.0",  "launch_presentation_return_url"=>"",  "custom_["=>"https://cop.lh4cs.org/c/lighthouse-cc",  "oauth_signature"=>"o3eSM/f0+6BmFvcN/C5/SYpcrP0=",  "lis_person_sourcedid"=>"aihua",  "lti_message_type"=>"basic-lti-launch-request",  "oauth_callback"=>"about:blank"}
--End--

@aihuacville Thanks for opening!

Is there anything in the Course Author experience that's different for your instance?  I've never tried this on Open EdX (it should work the same) but that might be something to check first.

Did you configure the plugin in your Discourse instance at all?  The plugin requires a few site settings to be set, which you can do through the Discourse Admin UI at /admin/plugins and then clicking into settings.  If I left this out of the README that's my mistake and we should add it in :)

If you visit /logs in your Discourse site, do you see any additional information about why the request failed?  If not we could also update the line you called out to print some more helpful error info for debugging.

Also I'm excited about your course! :)

@kevinrobinson  Thanks for your quick reply.

There are the same regarding Course Author experience

I did.

I got "oauth request validation failed" from logs file.

@aihuacville Sure!
Could you say more about why you think lti_strategy.rb#L85 is the line that's raising the error?  Or if you could share the stack trace that you see in the /log that would help me understand more too.  I don't see "oauth request validation failed" in this repo's code, so am curious where that's coming from (maybe the LTI gem or maybe omniauth).
If you're sure the problem is in the valid_request? then it might help to check the call params.  In the request params you pasted above it looks like the consumer key and secret aren't there (which is good! :)) and I'm figuring you can check those on your end.

@kevinrobinson Sorry I should not use the quotation marks.
I saw "Invalid LTI request" in the log and "400 Bad Request".  I think request.params is the only info it printed for debugging, which I have provided in the earlier message.
I've tried to look in to IMS::LTI::ToolProvider.valid_request(). The document at http://www.imsglobal.org/wiki/step-2-valid-lti-launch-request tells it basically checks the three things: 1. recent-date, 2. one-time-nonce, 2. certificate-signature. I have double-checked and didn't find any problem with the date or the nonce.  The consumer key and secret are also consistent on OpenEdx and Discourse.

@aihuacville Got it, thanks for explaining!
So to clarify: you can verify that the consumer key and secret are correct, and that a particular request object has the parameters it should (based in the LTI docs, including the time stamp).  BUt the call to ToolProvider#valid_request returns false?  hmm, I’m not sure how else to debug further.
To recap my understanding, the configuration pieces involved here are:

EdX settings for launch LTI button
EdX LTI consumer key and secret settings
Discourse plug-in settings

If all of those look correct to you, and you are still getting a failure on the call to #valid_request, I don’t have any other good ideas beyond that.  You could dig in further into the IMS LTI source code to see what's happening, but I'd triple-check the config before diving in.
One thing that was helpful for me in developing the plugin was that you can iterate on it locally with the Discourse Vagrant setup (link). And in production you could fork this repo and set your Discourse instance to use the fork - you can then commit to master on your repo and then update the plugin in the Discourse admin UI in about a minute, so that you can iterate quickly to add more logging, debug, etc.
Let me know if there's anything else I can help with as you're investigating!

@kevinrobinson  FINALLY I make it work!!!
Tried thousands of times in different ways. BUT finally found  in "Custom Parameters", I only need to add: url=https://example.com , no "", no [ ].

@aihuacville Awesome, nice work!  I'll close this issue then and update the docs to include a note about this for other folks as well.  Thank you!


fix(step): move classes to component-classes + cleanup of unused classes

I saw there are also some f-step and 'step-line-h-l' classes in step.tsx. Should those be looked at, too?

The current classes here e.g. grid-cols-[1fr_20px] replaces f-step and step-line-h-l. So I've updated the components as well, but I'm waiting for these changes first before I can add it there:)


Scatter plot sometimes does not render points

In bioinsight it occasionally happens that single points in scattervis wont get rendered, while the data seems to be correct.
Also the scale adapts accordingly and the tooltip is present.
This especially happens when we filter in categories with single data points.
It is very likely a scattervis problem, as everything works fine in the bar chart using the exact same logic.
https://github.com/datavisyn/visyn_core/assets/101096478/060e20a9-7f1f-496b-ad9d-33c3f25572fa

@dvmartinweigl Could you please test this again with the new scatter plot implementation to see if this is still valid?


Monospace font is not fixed-width

I have a problem now where the monospace font looks superficially like it is fixed-width but in reality it is not and so alignment of my text is off.
View code:
gtMCodeFor: aView
	<gtView>
	^aView textEditor
		title: 'MCode';
		priority: 10;
		look: BrGlamorousCodeEditorLook new;
		text: [ (self mcodeDump) asRopedText ].

Wonky misaligned result:

Any tip on how to make this align neatly?
Here is a sample of the text: https://gist.github.com/6e5a4dd245a344c52cfdb72f514e85ed

Thanks for pointing it out. I do not know the exact cause but it might be due to how we treat spaces in the editor.

Pasting this text in the Playground should show the problem. The two 0s should appear horizontally aligned.
'
1234567890
         0
'

looks better now

@lukego it works now as expected.

That's great news! What was the fix?

Beautiful 😄

Glad to hear!


pipeline: Add GitHub status updates

So that the pipelines report back to the Pull Requests in GitHub...

I configured also the check as required to be able to merge PRs


[VS Code] Starting collaboration session: Zero root directories specifiedParameter name: RootDirectories

Error:
Starting collaboration session: Zero root directories specified
Parameter name: RootDirectories
Steps to Reproduce:
1.
2.

Version Data

extensionName
VSLS

extensionVersion
1.0.905

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.38.1

platformName
Windows

platformVersion
10.0.17134

Thanks for reporting the issue @NathanVSC . Can you explain the scenario when you saw this error? Also can you provide the logs in order to investigate the issue? You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue.

Dupe of #2898


feat: port zify

Initial port of zify. The tests are not really good, this is due to the fact that the relevant norm_cast lemmas do not exist yet.

I added the attributes needed to make the tests all work, but only in the test file. We should move these to appropriate homes.

Please in future make PRs (possibly even remaking this one) from a branch of this repo, so that CI can run.

Okay, so we need to import Mathlib.Init.Data.Int.Basic, in order to get the Preorder ℤ instance. However as soon as the CommRing ℤ instance, which is currently defined in Mathlib.Algebra.Ring.Basic, the tests start failing again.
In
example (a b c x y z : ℕ) (h : ¬ x*y*z < 0) (h2 : (c : ℤ) < a + 3 * b) : a + 3*b > c := by
  zify at h ⊢
  push_cast at h
  guard_hyp h : ¬↑x * ↑y * ↑z < (0 : ℤ)
  guard_target =ₐ ↑c < (↑a : ℤ) + 3 * ↑b
  exact h2

which right now succeeds in this branch, after add the import (and hence the CommRing ℤ instance), we get
hypothesis h has type ¬↑x * ↑y * ↑z < 0, not ¬↑x * ↑y * ↑z < 0

On the LHS ↑x is Int.ofNat x : ℤ, while on the RHS ↑x is @Nat.cast ℤ NonUnitalNonAssocSemiring.toAddMonoidWithOne x : ℤ.

bors merge

bors merge

bors merge


Resource watch in pkg/kube to update use watchtools.UntilWithSync

What this PR does / why we need it:
Long running hook watch (watch > 60 min) to K8s with HAProxy 10 min timeout will get a chance failed to get the job completion event trigger, causing the chart install timeout, but the job actually completed.
Please refer to https://godoc.org/k8s.io/client-go/tools/watch#UntilWithSync as a much better function to use
Special notes for your reviewer:
If applicable:

[ ] this PR contains documentation
[ ] this PR contains unit tests
[x] this PR has been tested for backwards compatibility

We are no longer accepting features or bug fixes to the Helm 2 development branch. Because of this, I'm going ahead and closing this as something we do not intend to merge.
See https://helm.sh/blog/helm-v2-deprecation-timeline/ for more information.

https://github.com/helm/helm/pull/8507 implemented this fix for Helm 3, FYI.


Refs #24121 -- Added repr() to AdminSite, DefaultAdminSite, and ModelAdmin.

@Edald123 Thanks :+1: Please fix flake8 and isort errors.

I will fix the in a minute, thanks!

@Edald123 Thanks :+1: Welcome aboard :boat:


update purescript-foldable-traversable-0.2.1

Hi!
Purescript-foldable-traversable-0.2.1 has scanl, so it conflict with Data.List.Lazy.
I removed scanl from Data.List.Lazy to fix it.
Regards.

Thanks!

Unfortunately we should have updated the dependencies for purescript-lazy and bumped that at the same time before releasing this as v0.4.0 - see https://github.com/purescript/purescript-foldable-traversable/pull/15#issuecomment-67421333
I guess we should re-release this as v0.5.0 once lazy is bumped also.


#504 implement crossword

Took a crack at doing Crosswords. Logic somewhat similar to Lever although it has a slightly janky choice interface. Might be worth somebody more experienced making it prettier, I wasn't sure how to nicely represent that you had, say, 2 1s left to draw, 1 8 left, ...functional, but perhaps confusing?

Went back in and added comments to resolve auto-resolving.
One bug right now: 11 can't be displayed as an age marker in chooseValue, which means all values will be chosen, then things will auto-end with the 11. Either this can be merged in now, and this bug can be resolved later once this logic is added,  or the MR can stay open for a bit until this is added.

Feel free to add TODO(ECHOES) for the outstanding work item.
Also, it's nice to automate choices, but sometimes it can add a lot of complexity to cards. As a general rule, it's better to generalize the automation as much as possible. For example, it would be better if we added generic logic which automatically chooses a value if there's only one value to choose from (similar to how we introduced auto-selection for clicking on cards). What do you think?

Also we don't want to add that generic automation to main-echoes. It would be better to add the generic automation to main-dev so that we can release it publicly on the earlier side.

Is this still being worked on?  Should someone else finish this up?

These changes were copied into https://github.com/micahstairs/bga-innovation/pull/653 since we haven't heard from Nathan in a long time


Repo's own support file invalid in 1.2.1 beta

Running synpress run doesn't work with error
Your supportFile is missing or invalid<EMAIL_ADDRESS>
The supportFile must be a .js, .ts, .coffee file or be supported by your preprocessor plugin (if configured).

Fix your support file, or set supportFile to false if a support file is not necessary for your project.

If you have just renamed the extension of your supportFile, restart Cypress.

https://on.cypress.io/support-file-missing-or-invalid

How can your own support file be invalid ?

Hey @marko911,
It has been fixed now, please try with latest version which is<EMAIL_ADDRESS>Thanks,
Jakub.


Revert "check by mac or interface-name; top level check for configured"

This reverts commit ef360ae6d1fc11562c074a1c270766edfe7f5fe1.
Signed-off-by: Enrique Llorente<EMAIL_ADDRESS>

The commit is not working well with NNCP setup. We will bring it back once we figure out what part of this makes it fail


Docs are out of date

What happened?
The docs are not being updated anymore. It looks like RTD hasn't been building in the past 3 months. Looks like it's due to a change in how they receive webhooks: https://blog.readthedocs.com/webhook-deprecations/
We'll need to update the webhooks in the repo settings to the new URL.

I don't have access to update the webhook, so in the meantime, I've deployed the latest version here: https://cookiecutter-django-mirror.readthedocs.io/en/latest/index.html

Fixed by @luzfcb


New Recipe:- Automate a multi-step test with scripting

Using this users can run tests on multiple step actions (for example, logging into a site or sending an e-mail message).

https://github.com/WebPageTest/WebPageTest-API-Recipes/pull/14


Pin manylinux for py27.

Before contributing, please read our contributing guidelines and code of conduct.
Overview

Changes py27 wheel builds to use forked manylinux wheel build action.

Related Github Issue
Include a link to the related GitHub issue, if applicable
Testing
The agent includes a suite of tests which should be used to
verify your changes don't break existing functionality. These tests will run with
Github Actions when a pull request is made. More details on running the tests locally can be found
here,
For most contributions it is strongly recommended to add additional tests which
exercise your changes.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.4 out of 5 committers have signed the CLA.:white_check_mark: umaannamalai:white_check_mark: a-feld:white_check_mark: TimPansino:white_check_mark: carrieedwards:x: newrelic-opensourceYou have signed the CLA already but the status is still pending? Let us recheck it.


Tests fail on Python 3.8 and 3.9

ctypesgen builds fine on py3.8 and py3.9, but the tests fail:
OK

python3_8: running distutils-r1_run_phase python_test
....................................../var/tmp/portage/dev-python/ctypesgen-1.0.2/work/ctypesgen-ctypesgen-1.0.2/ctypesgen/test/../../temp.py:2861: SyntaxWarning: 'NoneType' object is not callable; perhaps you missed a comma?
return (None (ord_if_char((((__FDS_BITS (set)) [(__FD_ELT (d))]) | (__FD_MASK (d)))))).value
/var/tmp/portage/dev-python/ctypesgen-1.0.2/work/ctypesgen-ctypesgen-1.0.2/ctypesgen/test/../../temp.py:2865: SyntaxWarning: 'NoneType' object is not callable; perhaps you missed a comma?
return (None (ord_if_char((((__FDS_BITS (set)) [(__FD_ELT (d))]) & (~(__FD_MASK (d))))))).value
./var/tmp/portage/dev-python/ctypesgen-1.0.2/work/ctypesgen-ctypesgen-1.0.2/ctypesgen/test/../../temp.py:2861: SyntaxWarning: 'NoneType' object is not callable; perhaps you missed a comma?
return (None (ord_if_char((((__FDS_BITS (set)) [(__FD_ELT (d))]) | (__FD_MASK (d)))))).value
/var/tmp/portage/dev-python/ctypesgen-1.0.2/work/ctypesgen-ctypesgen-1.0.2/ctypesgen/test/../../temp.py:2865: SyntaxWarning: 'NoneType' object is not callable; perhaps you missed a comma?
return (None (ord_if_char((((__FDS_BITS (set)) [(__FD_ELT (d))]) & (~(__FD_MASK (d))))))).value
.......

Ran 46 tests in 7.567s
[same for 3.9]

c

The version in source control currently passes tests on 2.7, 3.7, 3.8 and 3.9.  Please check that version and reopen this if it is still failing for you.


ChatGPT failed to refresh auth token. Error: 403 Forbidden

OpenAI added Cloudflare protections to their API. For this reason get http 403 error while sending pr to review.
Need to add "cf_clearance" and "user_agent" to request header

OpenAI added Cloudflare protections to their API. For this reason get http 403 error while sending pr to review. Need to add "cf_clearance" and "user_agent" to request header

I don't think this will work unless you are using your own computer as a self hosted runner. The cf_clearance token you get on your personal computer won't work in GitHub actions because the IP is different.


[Device Support Request] Trying getting the IKEA 5 button remotes (IKEA E1524/E1810) to work with color / TC control

Is your feature request related to a problem? Please describe.
Very mutch posted all around but no have getting it working !!
Describe the solution you'd like
IKEA is using some undocumented commands for changing / walking thru color scenes in their bulbs that is working if doing one firmware upgrade of bulbs but is deleted then resetting the bulbs :-((
Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be sure to add the entire content of the log panel after pairing the device to a code block below this line.
Additional context
I have reading logs and testing in deCONZ and the firmware is loading 3 scenes (0,1 and 2 with groupe 0xff09) in the bulbs then doing firmware upgrade. deCONZ is very tricky and many times deleting them and not adding the groupe stored in the bulb then initiating it. Some time its configuring one light groupe 0xff09 without controlling device but oft not.
Then having the groupe 0xff09 or making on in the DB and restarting it its is possible adding scenes to groupe 0xff09 in the bulb and its working selecting / walking thru them with the remot.
The tricky thing is that the remote is bounded to one  normal light group that that cant being changed (in deCONZ) and its not the same as the 0xff09 one and its can being conflicts if having more sending command to the same groupe. If adding the scenes with the "normal" light groupe the scenes is stored in the bulb but dot reacting on the remotes command being sended.
IKEA is very likely setting up the "0XFF09" group with touchlink that wireshark is not so good decoding. If can finding the commands send to the remote for setting up the "0XFF09" group bindings its open for using normal group binding and adding normal scenes that is individual configured on group basis  with multiple remotes in the system.
One user have doing very good sniffs from different scenarios and mutch info is in them like how the GW is setting up on normal groupe and adding the scenes but i cant getting how the GW is configuring the "0XFF09" group in the remote (can being its made with touch link only).https://github.com/Koenkk/zigbee2mqtt/issues/4414#issue-705096988
I have posted some of  my findings of how adding more the scenes in the bulbs there.
I have trying sniffing paring one remote with the GW but its normally dont like paring with the GW then i have the sniffer setted up :-(((
I have using deCONZ for working with scenes (with buggy problems and limitations) then it have it  implanted in the GUI then I have not working with Z2M then its have luck of support for EZSP and ZHA have not yet implanted the "upper layer" for scenes.
Then I knowing Adminiuga (and some more here around) have learning how to use his IQ very well for solving problems i kindly asking for help looking in the posted logs and trying finding the hidden secrets how IKEA is doing there magick with the remote then pairing it.
I still trying doing more sniffs from remote pairing with the GW and also trying then touch linking remote to remote if its can helping.
Thanks in advance for spending time and offers for doing ZHA being one great system for our zigbee devices around the world !!!

Findings for @Adminiuga
Have finding one interesting writing about group Addressing in ZLL. UG103.9: ZLL Fundamentals UG103.9: ZLL Fundamentals.
The group identifiers need to be unique in the network and their range is (0x0001…0xFEFF).
Group identifier 0x0000 is reserved for the default group in the ZCL scene cluster,
and group identifiers in the range (0xFF00…0xFFFF) are reserved.

So the groupe 0x0000 is reserved so sould not being used as default binding groupe for the coordinator then its reserved as default group for scenes in the ZCL.
I think its for the moment no problems then ZHA is not using scenes but deCONZ have silent changing there default binding groupe from 0x0000 to 0xfff0.
My finding in this case is that IKEA is using 0xff09 for their scenes stored in the bulbs (after firmware update) and the controlling devices have it as the default allocated group then not being setted up with touchlink (classical paired controlling devices).
Only for info if getting problems later on the road :-)))

Group 0x0000 is reserved for the scenes commands. Coordinator is assigned to it, not bound only because Ikea remotes send commands to that group if not bound to any other group

That is awaring way its possible binding the remotes to one group without unbinding it from the coordinator as was the thinking with the Philips HUE dimmer switch :-)))
deCONZ is for the moment binding to the 0xfff0 then adding one device to it and i think its because problem if not getting the group binding working then pairing one remote its steering all the devices then most devices having 0x0000 as default groupe after being reseted.
It was only for info ;-)

I doing the sniffing analyce in 2 parts for not messing all things up.
The first easy part is paring one GU10 WS with one remote that is already paired with the IKEA GW and the network key is known (sniffed then doing one classical pairing pf one bulb to the GW).
Its use little of IKEA specific commands and touchlink commands for transferring network information then joining the network but its looks that its possible doing the same in deCONZ after one normal joining.
I have only looking how IKEA is adding the scenes to the bulb so the other setup is skipped.
ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x01)
    Sequence Number: 32
    Command: Remove all Groups (0x04)

ZigBee Cluster Library Frame, Command: Default Response, Seq: 32
    Frame Control Field: Profile-wide (0x08)
    Sequence Number: 32
    Command: Default Response (0x0b)
    Response to Command: 0x04
    Status: Success (0x00)

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x01)
    Sequence Number: 33
    Command: Add Group (0x00)
    Payload, String: default
        Group ID: 0x002a
        Length: 7
        String: default

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x19)
    Sequence Number: 33
    Command: Add Group Response (0x00)
    Payload
        Group Status: Success (0x00)
        Group ID: 0x002a

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x11)
    Sequence Number: 33
    Command: Get Group Membership (0x02)
    Payload
        Group Count: 0

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x19)
    Sequence Number: 33
    Command: Get Group Membership Response (0x02)
    Payload
        Group Capacity: 255
        Group Count: 1
        Group List
            Group ID: 0x002a

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x11)
    Sequence Number: 34
    Command: Get Scene Membership (0x06)
    Payload
        Group ID: 0x002a

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x19)
    Sequence Number: 34
    Command: Get Scene Membership Response (0x06)
    Payload
        Scenes Status: Success (0x00)
        Scene Capacity: 61
        Group ID: 0x002a
        Scene Count: 0

ZigBee Cluster Library Frame, Mfr: Ikea of Sweden (0x117c)
    Frame Control Field: Cluster-specific (0x15)
    Manufacturer Code: Ikea of Sweden (0x117c)
    Sequence Number: 35
    Command: Unknown (0x00)

ZigBee Cluster Library Frame, Mfr: Ikea of Sweden (0x117c), Command: Default Response, Seq: 35
    Frame Control Field: Profile-wide (0x0c)
    Manufacturer Code: Ikea of Sweden (0x117c)
    Sequence Number: 35
    Command: Default Response (0x0b)
    Response to Command: 0x00
    Status: Unknown (0x70)

[Comment: All groupes is deleted and one new have being added and verified that is configured.
Its also verified that the scenes have getting the new groupe.
I can being one spesial command for deleting all other scenes that is previous stored in the device
or some magic that with binding the groupe and scenes together.
Is no problem if needed its possible sending the same from the coordinator]

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x11)
    Sequence Number: 37
    Command: Add Scene (0x00)
    Payload, String:
        Group ID: 0x002a
        Scene ID: 0x00
        Transition Time: 1 seconds
        Length: 0
        String:
        Extension field set 1
            Cluster: On/Off (0x0006)
            On/Off: 1
        Extension field set 2
            Cluster: Color Control (0x0300)
            Color X: 0,4580
            Color Y: 0,4100
        Extension field set 3
            Cluster: Level Control (0x0008)
            Level: 203
        Extension field set 4
            Cluster: Unknown (0x0102)
            Current Position Lift Percentage: 0
            Current Position Tilt Percentage: 0

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x09)
    Sequence Number: 37
    Command: Add Scene Response (0x00)
    Payload
        Scenes Status: Success (0x00)
        Group ID: 0x002a
        Scene ID: 0x00

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x11)
    Sequence Number: 38
    Command: Add Scene (0x00)
    Payload, String:
        Group ID: 0x002a
        Scene ID: 0x01
        Transition Time: 1 seconds
        Length: 0
        String:
        Extension field set 1
            Cluster: On/Off (0x0006)
            On/Off: 1
        Extension field set 2
            Cluster: Color Control (0x0300)
            Color X: 0,5018
            Color Y: 0,4153
        Extension field set 3
            Cluster: Level Control (0x0008)
            Level: 25
        Extension field set 4
            Cluster: Unknown (0x0102)
            Current Position Lift Percentage: 0
            Current Position Tilt Percentage: 0

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x09)
    Sequence Number: 38
    Command: Add Scene Response (0x00)
    Payload
        Scenes Status: Success (0x00)
        Group ID: 0x002a
        Scene ID: 0x01

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x11)
    Sequence Number: 39
    Command: Add Scene (0x00)
    Payload, String:
        Group ID: 0x002a
        Scene ID: 0x02
        Transition Time: 1 seconds
        Length: 0
        String:
        Extension field set 1
            Cluster: On/Off (0x0006)
            On/Off: 1
        Extension field set 2
            Cluster: Color Control (0x0300)
            Color X: 0,3818
            Color Y: 0,3797
        Extension field set 3
            Cluster: Level Control (0x0008)
            Level: 254
        Extension field set 4
            Cluster: Unknown (0x0102)
            Current Position Lift Percentage: 0
            Current Position Tilt Percentage: 0

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x09)
    Sequence Number: 39
    Command: Add Scene Response (0x00)
    Payload
        Scenes Status: Success (0x00)
        Group ID: 0x002a
        Scene ID: 0x02

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x11)
    Sequence Number: 41
    Command: View Scene (0x01)
    Payload
        Group ID: 0x002a
        Scene ID: 0x00

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x19)
    Sequence Number: 41
    Command: View Scene Response (0x01)
    Payload, String:
        Scenes Status: Success (0x00)
        Group ID: 0x002a
        Scene ID: 0x00
        Transition Time: 1 seconds
        Length: 0
        String:
        Extension field set 1
            Cluster: On/Off (0x0006)
            On/Off: 1
        Extension field set 2
            Cluster: Level Control (0x0008)
            Level: 203
        Extension field set 3
            Cluster: Color Control (0x0300)
            Color X: 0,4580
            Color Y: 0,4100
--  The same is done for scenes 0x01 and 0x02

[ Commnet: Its looks all scenes is added and have getting response from the bulb]

ZigBee Cluster Library Frame, Mfr: Ikea of Sweden (0x117c)
    Frame Control Field: Cluster-specific (0x05)
    Manufacturer Code: Ikea of Sweden (0x117c)
    Sequence Number: 54
    Command: Unknown (0x07)

Data (4 bytes)
    Data: 01010d00
    [Length: 4]

[Comment: This is the same command that the IKEA remote is sending for Next scene command]

Next adding one "MOOD" (its one normal zigbee scene) from the GW. Its looks same as adding the 3 default ones only one new scene id (0x03) so no strange things here.
ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x11)
    Sequence Number: 66
    Command: Add Scene (0x00)
    Payload, String:
        Group ID: 0x002a
        Scene ID: 0x03
        Transition Time: 1 seconds
        Length: 0
        String:
        Extension field set 1
            Cluster: On/Off (0x0006)
            On/Off: 1
        Extension field set 2
            Cluster: Color Control (0x0300)
            Color X: 0,3790
            Color Y: 0,3753
        Extension field set 3
            Cluster: Level Control (0x0008)
            Level: 132
        Extension field set 4
            Cluster: Unknown (0x0102)
            Current Position Lift Percentage: 0
            Current Position Tilt Percentage: 0

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x09)
    Sequence Number: 66
    Command: Add Scene Response (0x00)
    Payload
        Scenes Status: Success (0x00)
        Group ID: 0x002a
        Scene ID: 0x03

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x11)
    Sequence Number: 68
    Command: View Scene (0x01)
    Payload
        Group ID: 0x002a
        Scene ID: 0x03

ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x19)
    Sequence Number: 68
    Command: View Scene Response (0x01)
    Payload, String:
        Scenes Status: Success (0x00)
        Group ID: 0x002a
        Scene ID: 0x03
        Transition Time: 1 seconds
        Length: 0
        String:
        Extension field set 1
            Cluster: On/Off (0x0006)
            On/Off: 1
        Extension field set 2
            Cluster: Level Control (0x0008)
            Level: 132
        Extension field set 3
            Cluster: Color Control (0x0300)
            Color X: 0,3790
            Color Y: 0,3753

That was the easy part if the remote is sending the "previous and next scene" command to the group that was configured to the scene . For the moment i can only getting the remote sending this commands to groupe =0xff09 but its working very well in deCONZ.

One thing is then looking how the scenes is added is it with colour, On/Off and level configured.
Some magic is here because changing the default scene with the remote its only doing the colour and not the other setted attributes of the scene. Then manual adding scenes in deCONZ its using all attributes so also the brightness is being forced then changing scene.

Now to the tricky thing:
The IKEA GW is tecnikely one "Control Bridge" and not one coordinator:
2.3.5 Control Bridge
The Control Bridge device is typically used in nodes that relay ZLL control commands
issued from another network, e.g. an Internet router with a ZLL interface.
Its Device ID is 0x0840.
The clusters supported by this device are as follows:
Server (Input) Side Clusters Client (Output) Side Clusters

Basic S
Identify C
Groups C
Scenes C
On/Off C
Level Control C
Colour Control C
ZLL Commissioning S  ZLL Commissioning C
Table 15: Clusters for Control Bridge Device

The remote is one "Non-Colour Controller":
2.3.3 Non-Colour Controller
The Non-Colour Controller device is typically used in nodes that issue ZLL control
commands that are not related to colour, e.g. a remote control unit for monochrome
lamps.
Its Device ID is 0x0820.
The clusters supported by this device are as follows:
Server (Input) Side Clusters Client (Output) Side Clusters

Basic S
Identify C
Groups C
On/Off C
Level Control C
ZLL Commissioning ZLL S  Commissioning C
Table 13: Clusters for Non-Colour Controller Device

But its soul being one " Non-Colour Scene Controller":
2.3.4 Non-Colour Scene Controller
The Non-Colour Scene Controller device is typically used in nodes that issue ZLL
control commands that are not related to colour and that support ‘scenes’, e.g. a
remote control unit for monochrome lamps.
Its Device ID is 0x0830.
The clusters supported by this device are as follows:
Server (Input) Side Clusters Client (Output) Side Clusters

Basic S
Identify C
Groups C
Scenes C
On/Off C
Level Control C
ZLL Commissioning S  ZLL Commissioning C
Table 14: Clusters for Non-Colour Scene Controller Device

(from NXP JN-UG-3091.pdf)
In TL and also in ZB3 with touch link its the inistator of the network giving all neseerly network parameters to the new device. Then forming the network its the GW that is doing that for the first controlling device. Its also giving the controller device one address and one unique group plus one address range for giving new joined devices. Then one devices is touch link joined its getting one address from the controller device (in the range of its address range) and the group its having. Controller devices can't normally not changing grupes (in the IKEA world) but lights can.
The good thing its very easy cloning one controller device with touchlink. Reset the "new" device and touchlink it with one aktive device and its getting the network parameters and one new address plus the group from the aktive device. Then both is controlling the same groupe and have different address that the GW is sniffing and allocating it in the system.
Now we is having 2 devices that is working good in touchlink joined but having problem then being joined to one TC in classical joining mode.
The first is the one is the TRADFRI signal repeater.
The problem is that is having basic, identity, alarm, diagnostic, touchlink, IKEA, OTA and pull control cluster but no grope or window closing cluster.
The being touchlinked its getting one group that is bonded to the device and is working like one realty for commands from the open/close switch to the blinds that is bonded to the group.
The doing one clasicat joining its not possible binding the window closing cluster then its dont haven it but both the on/off switch and the blinds is having it. Also its not having any grope cluster for binding and configuring the device. I think its not working as intended in one TC network as is doing in the IKEA network then its having the group from the touchlink pairing.
The signal repeater is more or less "floating around" in the network.
The second device is the remote control.
The problem its not having any scene cluster and its sending scene command to its grope.
Then touchlinking paring its getting the group and its sending the scene commands to the groupe and also on/off and light level commands. Then being classical paired its falling back to its default group its having it being reseted (0xff09). If adding one group and bonding the clusters its sending on/off and light level to the "new" group but scene commands its sent to the 0xff09 group.
I have testing adding scenes to IKEA GU10 WS bulbs with groupe 0xff09 in deCONZ and i can controlling / sending scenes changing commands to them with deCONZ and the remote without problems. The problem is then having more remotes in the system then all lights is changing the scene then all scenes is in the same scene group. If having more groups for the lights its possible steering the on/off and light level for the binded group but the scenes is controlled for al remotes then all have the same group bounded for scenes commands.
I have not finding any solution for this problem but more deep diving in sniffs can giving more input.
For the moment its gets 2 alternatives.
1: Kindly asking IKEA implanting scene cluster on the remote so its possible bonding it to one groupe or doing it with the first groupe storad (after delete all group command) and not the "default" groupe and the same with the signal repeater with window closing cluster (and implanting group cluster).
2: Configuring the groupe thru touchlink (joining / configuring the device thru touchlink in zb3 mode that is possible but many saying its not).
Next is coming more touchlink sniffing :-)))

Wireshark Zigbee sniffing problems.
Then pairing one IKEA remotes with touchlink its requesting one "Get Group Identifiers Request (0x41)" in the beginning for getting the network parameters and getting one Get Group Identifiers Request (0x41). Then its getting the endpoints and cluster config / binding and reporting.
For the remote its its then requesting one more time "Get Group Identifiers Request (0x41)" for getting the groupe from the initiator and getting one response and doing the rest of the confing.
Frame 176: 113 bytes on wire (904 bits), 113 bytes captured (904 bits) on interface \Device\NPF_Loopback, id 0
Null/Loopback
Internet Protocol Version 4, Src: <IP_ADDRESS>, Dst: <IP_ADDRESS>
User Datagram Protocol, Src Port: 17754, Dst Port: 17754
ZigBee Encapsulation Protocol, Channel: 20, Length: 49
    Protocol ID String: EX
    Protocol Version: 2
    Type: Data (1)
    Channel ID: 20
    Device ID: 38048
    LQI/CRC Mode: LQI
    Link Quality Indication: 244
    Timestamp: Nov  3, 2020 13:49:43.165999999 W. Europe Standard Time
    Sequence Number: 251
    .011 0001 = Length: 49 bytes
IEEE 802.15.4 Data, Dst: 0x0304, Src: 0x9bd1
    Frame Control Field: 0x8861, Frame Type: Data, Acknowledge Request, PAN ID Compression, Destination Addressing Mode: Short/16-bit, Frame Version: IEEE Std 802.15.4-2003, Source Addressing Mode: Short/16-bit
    Sequence Number: 43
    Destination PAN: 0xe758
    Destination: 0x0304
    Source: 0x9bd1
    [Extended Source: Ember_ff:fe:51:43:5c (00:0d:6f:ff:fe:51:43:5c)]
    [Origin: 145]
    TI CC24xx-format metadata: FCS OK
ZigBee Network Layer Data, Dst: 0x0304, Src: 0x9bd1
    Frame Control Field: 0x2248, Frame Type: Data, Discover Route: Enable, Security, End Device Initiator Data
    Destination: 0x0304
    Source: 0x9bd1
    Radius: 30
    Sequence Number: 125
    [Extended Source: Ember_ff:fe:51:43:5c (00:0d:6f:ff:fe:51:43:5c)]
    [Origin: 145]
    ZigBee Security Header
ZigBee Application Support Layer Data, Dst Endpt: 1, Src Endpt: 1
    Frame Control Field: Data (0x40)
        .... ..00 = Frame Type: Data (0x0)
        .... 00.. = Delivery Mode: Unicast (0x0)
        ..0. .... = Security: False
        .1.. .... = Acknowledgement Request: True
        0... .... = Extended Header: False
    Destination Endpoint: 1
    Cluster: ZLL Commissioning (0x1000)
    Profile: Home Automation (0x0104)
    Source Endpoint: 1
    Counter: 241
ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x01)
        .... ..01 = Frame Type: Cluster-specific (0x1)
        .... .0.. = Manufacturer Specific: False
        .... 0... = Direction: Client to Server
        ...0 .... = Disable Default Response: False
    Sequence Number: 0
    Command: Get Group Identifiers Request (0x41)
[Malformed Packet: ZCL Touchlink]
    [Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
        [Malformed Packet (Exception occurred)]
        [Severity level: Error]
        [Group: Malformed]

Request.
Frame 186: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface \Device\NPF_Loopback, id 0
Null/Loopback
Internet Protocol Version 4, Src: <IP_ADDRESS>, Dst: <IP_ADDRESS>
User Datagram Protocol, Src Port: 17754, Dst Port: 17754
ZigBee Encapsulation Protocol, Channel: 20, Length: 54
    Protocol ID String: EX
    Protocol Version: 2
    Type: Data (1)
    Channel ID: 20
    Device ID: 38048
    LQI/CRC Mode: LQI
    Link Quality Indication: 255
    Timestamp: Nov  3, 2020 13:49:44.228999999 W. Europe Standard Time
    Sequence Number: 261
    .011 0110 = Length: 54 bytes
IEEE 802.15.4 Data, Dst: 0x9bd1, Src: 0x0304
    Frame Control Field: 0x8861, Frame Type: Data, Acknowledge Request, PAN ID Compression, Destination Addressing Mode: Short/16-bit, Frame Version: IEEE Std 802.15.4-2003, Source Addressing Mode: Short/16-bit
    Sequence Number: 155
    Destination PAN: 0xe758
    Destination: 0x9bd1
    Source: 0x0304
    [Extended Source: EnergyMi_ff:fe:1f:f5:b6 (d0:cf:5e:ff:fe:1f:f5:b6)]
    [Origin: 4]
    TI CC24xx-format metadata: FCS OK
ZigBee Network Layer Data, Dst: 0x9bd1, Src: 0x0304
    Frame Control Field: 0x0248, Frame Type: Data, Discover Route: Enable, Security Data
    Destination: 0x9bd1
    Source: 0x0304
    Radius: 30
    Sequence Number: 59
    [Extended Source: EnergyMi_ff:fe:1f:f5:b6 (d0:cf:5e:ff:fe:1f:f5:b6)]
    [Origin: 4]
    ZigBee Security Header
ZigBee Application Support Layer Data, Dst Endpt: 1, Src Endpt: 1
    Frame Control Field: Data (0x40)
        .... ..00 = Frame Type: Data (0x0)
        .... 00.. = Delivery Mode: Unicast (0x0)
        ..0. .... = Security: False
        .1.. .... = Acknowledgement Request: True
        0... .... = Extended Header: False
    Destination Endpoint: 1
    Cluster: ZLL Commissioning (0x1000)
    Profile: Home Automation (0x0104)
    Source Endpoint: 1
    Counter: 31
ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x19)
        .... ..01 = Frame Type: Cluster-specific (0x1)
        .... .0.. = Manufacturer Specific: False
        .... 1... = Direction: Server to Client
        ...1 .... = Disable Default Response: True
    Sequence Number: 0
    Command: Get Group Identifiers Response (0x41)
    Transaction ID: 0x2a010001
    Total Group Identifiers: 0
    Start index: 0
[Malformed Packet: ZCL Touchlink]
    [Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
        [Malformed Packet (Exception occurred)]
        [Severity level: Error]
        [Group: Malformed]

Response.
The interesting thing is the "Transaction ID: 0x2a010001" in the response then the group that is configured is 0x002a.
Looking thru the sniffing from Z2M and in the remote pairing its one "Transaction ID: 0x03010001"
Later the remote is configuration the groupe in one light:
ZigBee Cluster Library Frame
    Frame Control Field: Cluster-specific (0x19)
    Sequence Number: 59
    Command: Get Group Membership Response (0x02)
    Payload
        Group Capacity: 255
        Group Count: 1
        Group List
            Group ID: 0x0003

So the group is 0x0003 and the group id is 0x01 then its only one 0x01 or 0x0001 that is missing.
The the groupe information is in the message then the decryption must being OK but the message wrongly parsed because of bug or some have paying for not doing it right,
I know that the touchlink part is not complete implanted in wireshark and its can also being bugs in the sniffer firmware. I have using one EZSP with <IP_ADDRESS> for the sniffing.
@Adminiuga  Do you have one clue ??
Do you knowing some other program that can do the zigbee decrypting  and message decoding of the touchlink frames ?
I have all the normal keys also the network key for my IKEA GW.
With my mathematics knowledge its not so good that i doing it by hand :-(((
Can it being sniffer hardware problem ?
I have 2 CC-2531 that i can flashing with sniffing firmware but i think its useless if the problem is in wireshark.
For the remote problem this sniff analyse verifying that configuring the groupe of IKEA controlling devices thru touchlink is doing the "hidden" scene cluster" binding working. Then is the large question if its possible doing the same with EZSP with one coordinator with TC.
Senario: ZHA_customcomponent Touchlink paring. Adding the group ID and clicking execute. Touchlink joining the device is the network and have getting the network config and the groupe then continuing doing the "normal" pairing so the reporting and bindings its being OK.

deCONZ / HA is working
If adding groupe 0xff09 to deCONZ (old web app) and then adding scenes to the group for one IKEA GU10 WS its possible controlling them thru the remote and HA.

(the TRADFRI remote control scenes is the normal and cant being controlled from the remote)
The new scenes is absolute = its saved states of the bulbs status with all attribute.
The "factory" one is only saved with colour attributes so only changing color with the remote for those scenes. I have not finding how configuring enchanted scenes with only some of the attributes (normal scenes dont have transition time engaged have that).

Have sending one long  e-mail  in swedish to the head of the technical office of tradfri products at IKEA with kindly request of implanting work around for  ZB3 without touchlink configuration off default group for the remote and the signal repeater that is not working as expected then being paired thru classical joining.
Hoping getting some creative response from him :-))


is there any ability to add my own custom icon ?

i had to play with the jsx a bit to add an icon with the button but im not comfortable with it, some of the button doesnt work when you click it cause its not part of the real add-to-calendar button, is there any ability ?

Also very interested in the ability to customize the button with my own icons (or more generally, my own components for the button).


Application Exception: Index was outside the bounds of the array.

This is an issue created automatically by GrammarNazi when an exception was captured.
Date (UTC): 12/19/2020 14:10:27
Exception:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at System.Array.Clear(Array array, Int32 index, Int32 length)
at GrammarNazi.Core.Services.BaseGrammarService.SetWhiteListWords(IEnumerable`1 whiteListWords) in /src/GrammarNazi.Core/Services/GrammarServices/BaseGrammarService.cs:line 28
at GrammarNazi.App.HostedServices.TelegramBotHostedService.GetConfiguredGrammarService(ChatConfiguration chatConfig) in /src/GrammarNazi.App/HostedServices/TelegramBotHostedService.cs:line 149
at GrammarNazi.App.HostedServices.TelegramBotHostedService.OnMessageReceived(Object sender, MessageEventArgs messageEvent) in /src/GrammarNazi.App/HostedServices/TelegramBotHostedService.cs:line 98
at GrammarNazi.App.HostedServices.TelegramBotHostedService.b__8_0(Object obj, MessageEventArgs eventArgs) in /src/GrammarNazi.App/HostedServices/TelegramBotHostedService.cs:line 72

This System.IndexOutOfRangeException was thrown on this line:
https://github.com/nminaya/grammar-nazi-bot/blob/c42c0ab9f3b6daba5ab270298a58e158bd7f929d/GrammarNazi.Core/Services/GrammarServices/BaseGrammarService.cs#L28
Currently I don't see a way to reproduce this. It could be something related to concurrency, or maybe a bug with Array class.


Occluded Reid数据集代码

大佬您好，感谢您的工作！
我想知道您那边是否fix好了Occluded Reid的数据集代码呢？能否公布出来呢？谢谢！

I don't know what are you talking about？

我也想知道 请问现在能公布了吗？谢谢！


[GRO-734- WIP dont merge] use graphql query for artwork to render artwork rail

PR is still a WIP, but also I need to clean up the commit history because its pulling commits from my other PR in. Still figuring out how to split PRs from branches that are created from another branch with separate code from the same file. Thanks for being so confusing, git!

I know the commit history is a mess and some of the commits are duplicated from my other PR... I have to look at it again in the morning.

okay, all ready to merge once the tests pass!

detect-secrets is hating me today... it thinks the artwork ids I passed in shouldn't be merged.


remove margin left collapsed nav

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #2217   👈

This comment was auto-generated by Graphite.


[Suggestion]: dual language subtitle support

Describe your suggested feature
I've read that it is possible to extract subtitles from episodes as it is standarized for them to be "soft-coded" rather than "hard-coded". This suggestion is to support people like me who like to learn language through content, this would involve many things like finding a source for translation, like google, and a settings panel where you can configure basic things, for example, in the subtitles, which language is above and which one is below.
Another suggestion, which is related, is to be able to quickly select text on the subtitles, just like you do with any other text, so you can copy it and stuff, a plus would be to be able to quickly look up that word in a dictionary window.
please take the LingoTube app as an example of this suggestion, the whole app is dedicated to this, it is a video player which has all of the features I mentioned and more, but for youtube, they even have different modes for subtitles, depending on your language level, whether the translation is hidden until you pause the video, or even the whole subtitles, in that case, you would only see the original subtitle if you pause.
I would love this features so please take me into account, the power of aniyomi and its extensions, together with LingoTube-like subtitle powers, would make it a really useful.
sorry for my bad english.
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an official extension, I should be opening an issue in the extensions repository.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I will fill out all of the requested information in this form.

Extracting subtitles from hard-subbed videos with OCR is not happening, not even close to feasible on a smartphone and way out of scope of this app.
I don't think making the subtitles is a good idea, it would require a lot of work for a feature not many people would use. If you still want it though, feel free to open a new issue.


Using the move constructor of small::vector fails to build on FreeBSD

The problem
If the move constructor of small::vector is used, the program will fail to build on FreeBSD.
It could be a problem with the llvm headers, I'm not sure yet.
Steps to Reproduce

CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(small_ftbfs)

set(CMAKE_CXX_STANDARD 17)

include(FetchContent)

FetchContent_Declare(small
        GIT_REPOSITORY https://github.com/alandefreitas/small
        GIT_TAG origin/master
)

FetchContent_GetProperties(small)
if(NOT small_POPULATED)
    FetchContent_Populate(small)
    add_subdirectory(${small_SOURCE_DIR} ${small_BINARY_DIR} EXCLUDE_FROM_ALL)
endif()

add_executable(small_ftbfs main.cpp)
target_link_libraries(small_ftbfs PUBLIC small::small)

#include <iostream>
#include <utility>

#include <small/vector.h>

using Vec = small::max_size_vector<std::pair<int, int>>;

Vec create()
{
    auto ret = Vec{};
    ret.emplace_back(1, 2);
    ret.emplace_back(3, 4);
    return ret;
}

int main()
{
    auto vec = Vec{};
    vec = create();

    for (auto [lhs, rhs] : vec)
    {
        std::cout << lhs << ' ' << rhs << std::endl;
    }

    return 0;
}

Note: You need to patch vector.hpp with #30 first, or else this problem will get masked by it.
Output

In file included from /root/small-ftbfs/main.cpp:1:
In file included from /usr/include/c++/v1/iostream:37:
In file included from /usr/include/c++/v1/ios:214:
In file included from /usr/include/c++/v1/__locale:18:
In file included from /usr/include/c++/v1/memory:819:
In file included from /usr/include/c++/v1/__memory/ranges_uninitialized_algorithms.h:22:
/usr/include/c++/v1/__memory/uninitialized_algorithms.h:45:41: error: use of overloaded operator '!=' is ambiguous (with operand types 'small::pointer_wrapper<std::pair<int, int> *>' and 'std::__unreachable_sentinel')
    for (; __ifirst != __ilast && __idx != __olast; ++__ifirst, (void)++__idx)
                                  ~~~~~ ^  ~~~~~~~
/usr/include/c++/v1/__memory/uninitialized_algorithms.h:61:26: note: in instantiation of function template specialization 'std::__uninitialized_copy<std::pair<int, int>, std::move_iterator<small::pointer_wrapper<std::pair<int, int> *>>, std::move_iterator<small::pointer_wrapper<std::pair<int, int> *>>, small::pointer_wrapper<std::pair<int, int> *>, std::__unreachable_sentinel>' requested here
  auto __result = _VSTD::__uninitialized_copy<_ValueType>(_VSTD::move(__ifirst), _VSTD::move(__ilast),
                         ^
/root/small-ftbfs/build_deb/_deps/small-src/source/small/vector.h:241:30: note: in instantiation of function template specialization 'std::uninitialized_copy<std::move_iterator<small::pointer_wrapper<std::pair<int, int> *>>, small::pointer_wrapper<std::pair<int, int> *>>' requested here
                        std::uninitialized_copy(std::make_move_iterator(rhs.begin()),
                             ^
/root/small-ftbfs/main.cpp:13:12: note: in instantiation of member function 'small::vector<std::pair<int, int>, 6, std::allocator<std::pair<int, int>>, std::integral_constant<bool, false>>::vector' requested here
    return ret;
           ^
/usr/include/c++/v1/__memory/uninitialized_algorithms.h:30:55: note: candidate function [with _Iter = small::pointer_wrapper<std::pair<int, int> *>]
  _LIBCPP_HIDE_FROM_ABI friend _LIBCPP_CONSTEXPR bool operator!=(const _Iter&, __unreachable_sentinel) _NOEXCEPT {
                                                      ^
/root/small-ftbfs/build_deb/_deps/small-src/source/small/detail/iterator/pointer_wrapper.h:182:27: note: candidate function [with Iter = std::pair<int, int> *, BaseIter = std::__unreachable_sentinel]
    inline constexpr bool operator!=(const pointer_wrapper<Iter> &x, const BaseIter &y) noexcept {

Platform

[ ] cross-platform issue - linux
[ ] cross-platform issue - windows
[ ] cross-platform issue - macos
[x] other: FreeBSD 13.2

Environment Details

OS: FreeBSD
OS Version: 13.2-RELEASE
Compiler: clang included with FreeBSD
Compiler version: 14.0.5

Proposed solution
Alternatives I've considered
Additional context

Raised upstream issue at https://github.com/llvm/llvm-project/issues/69334.

Hmm, I wonder why I got vector.h instead of vector.hpp... I just followed the "Fetch content" CMakeLists.txt example on the README...
Anyway, here's the output using vector.hpp instead.
In file included from /root/small-ftbfs/main.cpp:1:
In file included from /usr/include/c++/v1/iostream:37:
In file included from /usr/include/c++/v1/ios:214:
In file included from /usr/include/c++/v1/__locale:18:
In file included from /usr/include/c++/v1/memory:819:
In file included from /usr/include/c++/v1/__memory/ranges_uninitialized_algorithms.h:22:
/usr/include/c++/v1/__memory/uninitialized_algorithms.h:45:41: error: use of overloaded operator '!=' is ambiguous (with operand types 'small::detail::pointer_wrapper<std::pair<int, int> *>' and 'std::__unreachable_sentinel')
    for (; __ifirst != __ilast && __idx != __olast; ++__ifirst, (void)++__idx)
                                  ~~~~~ ^  ~~~~~~~
/usr/include/c++/v1/__memory/uninitialized_algorithms.h:61:26: note: in instantiation of function template specialization 'std::__uninitialized_copy<std::pair<int, int>, std::move_iterator<small::detail::pointer_wrapper<std::pair<int, int> *>>, std::move_iterator<small::detail::pointer_wrapper<std::pair<int, int> *>>, small::detail::pointer_wrapper<std::pair<int, int> *>, std::__unreachable_sentinel>' requested here
  auto __result = _VSTD::__uninitialized_copy<_ValueType>(_VSTD::move(__ifirst), _VSTD::move(__ilast),
                         ^
/root/small-ftbfs/small/include/small/vector.hpp:292:30: note: in instantiation of function template specialization 'std::uninitialized_copy<std::move_iterator<small::detail::pointer_wrapper<std::pair<int, int> *>>, small::detail::pointer_wrapper<std::pair<int, int> *>>' requested here
                        std::uninitialized_copy(
                             ^
/root/small-ftbfs/main.cpp:13:12: note: in instantiation of member function 'small::vector<std::pair<int, int>, 6, std::allocator<std::pair<int, int>>, std::integral_constant<bool, false>>::vector' requested here
    return ret;
           ^
/usr/include/c++/v1/__memory/uninitialized_algorithms.h:30:55: note: candidate function [with _Iter = small::detail::pointer_wrapper<std::pair<int, int> *>]
  _LIBCPP_HIDE_FROM_ABI friend _LIBCPP_CONSTEXPR bool operator!=(const _Iter&, __unreachable_sentinel) _NOEXCEPT {
                                                      ^
/root/small-ftbfs/small/include/small/detail/iterator/pointer_wrapper.hpp:263:9: note: candidate function [with Iter = std::pair<int, int> *, BaseIter = std::__unreachable_sentinel]
        operator!=(const pointer_wrapper<Iter> &x, const BaseIter &y) noexcept {
        ^
1 error generated.

Sweet! Makes sense to me.


WIP: TimeSeriesSequence in preprocessing/sequence to generate time series data

Not added tests, putting this up for review so you guys can take a look at where I am heading.
Reference doc: https://docs.google.com/document/d/1GcMWE4sEf205Fbklt3w1l3HL1URSYc7lJIZ3AGh3EA0

Opened this one since PR 9450 had a messy commit history. But closing this one now, since the other is getting reviewed. Sorry about the confusion :-/


Support for proxying connections

Support for SOCKS5 or similar, like node-minecraft-protocol does. This is useful for various reasons, such as routing behind a firewall or application-specific use-cases.

open for PR


Automate source code formatting with clang-format

Hi,
To automate the source code formatting and to keep it consistent throughout, clang-format can be configured for zsv:

https://clang.llvm.org/docs/ClangFormat.html
https://clang.llvm.org/docs/ClangFormatStyleOptions.html

https://zed0.co.uk/clang-format-configurator/ may be used to generate the .clang-format file.
Once .clang-format is added, the users can configure their editors, e.g. VS Code, to format source files automatically (on demand or on save).
The same can be integrated in the CI pipeline as well to enforce a consistent style.
The CI may fail if code is not formatted or it can reformat and commit the formatted files back to repo.
LMK what would be the preferred workflow. I'll update the CI accordingly.
Thanks!

Will review and comment shortly

Is it possible to start with CI failing if changed code does not conform-- but only for changed code? If so, let's do that.
If not, can we start with having the CI fail if code does not conform, but only for certain specified files? If so, let's do that, starting with src/*.*. We can broaden the scope later.
If none of the above is feasible, will review further and get back to you.

Both are feasible.
However, I'll recommend to create one single PR first with formatted source code in one go excluding externals libs.
After that, it'll just be the conformance of the new code only.

UPDATE
For future changes, https://clang-format-configurator.site/ should be used instead of https://zed0.co.uk/clang-format-configurator.
It supports newer versions and includes other bug fixes.
See its README for a detailed overview.

UPDATE: By default, clang-format-15 is being used in CI.
It includes the pointer alignment bug fix for struct observed with clang-format-14.


terraform-providers.{dome9,ncloud}: remove

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

cc @Mic92 @zimbatm
Just removing these outright rather than mucking around with skipping them in the update script, if people want them back they can get them fixed upstream first.

Never heard of those providers. Chances are that no one cares.


query regarding usage of TPU

hi @Spijkervet similar to official version of Simclr does your repo need access to google cloud storage bucket to procure dataset and save model checkpoints. please let me know.

Also when I use your code on colab for tpu, the session crashes possibly because of RAM overusage and gets stuck after 1st epoch.

Hi @Spijkervet can you please look into this


Potential improvements to AdvancedBuild/cibuildwheel

A couple of requests that would make working with the new AdvancedBuild/cibuildwheel a little easier.

When cibuildwheel fails, the build stage of the pipeline should fail. Currently if cibuildwheel fails, the build stage passes, and the pipeline moves on to test phases. If the build stage is for whatever reason not able to produce the expected package list, it really should fail to indicate to us and the rest of the pipeline that something is not right. Currently I believe the test phases will fail if the build fails, preventing the whole pipeline from passing, but we shouldn't rely on that to know to check the build.

If cibuildwheel fails, the build phase will still produce one wheel file (I think it's the wheel for the Python version/platform of the build machine) which can also be a bit misleading.

It would be nice if the logs from cibuildwheel bubbled up into the pipeline output on ADO. Currently you have to download the log file to see any output from cibuildwheel.

Along similar lines, maybe we could bubble up warnings from cibuildwheel as pipeline warnings that show up on the main page for the pipeline run.

This may be less about AdvancedBuild and more specific to C extension packages but for azure-storage-extensions we ignore a ton of tox envs. Each one we ignore generates a warning on the pipeline run. Since this will be the case for ALL Storage pipeline runs going forward, it would be nice if we could suppress those warnings somehow. Perhaps suppress per package or something.

is already resolved in feature/storage-extensions branch that you're working on. I'll resolve 1) and 3) in a follow-up PR.


[FEATURE] pass in attention mask and input ids for calibration dataset on huggingface's GPTQconfig

When using my own dataset for calibration with the GPTQ integrated in Hugging Face, especially when dealing with a chat model, how should I pass in the attention mask?

specifically, for hf GPTQConfig, i don't know how to pass in attention masks, cuz str only:
dataset (Union[List[str]], optional) — The dataset used for quantization. You can provide your own dataset in a list of string or just use the original datasets used in GPTQ paper [‘wikitext2’,‘c4’,‘c4-new’,‘ptb’,‘ptb-new’]


How to add a url?

Hello,
Sorry, I'll be back with a new problem. There is no button to add a hypertext link, whereas we can see that there is a tool for this, when we copy/paste a link.

I thought it might have been an option to check in the administration panel, but it is impossible to access the page /admin/plugins/composer-quill

I wish you can help me.

That's a little odd, about the admin page not showing up. Can you try ./nodebb build tpl and see if the page becomes accessible then?

I wait for my administrator to come home and I see that. What about the button for hyperlinks?


knative eventing

move discord app to knative eventing

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#313  👈
#312
#306
#286 : 1 other dependent PR (#292 )
#273
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @chrisaddy and the rest of your teammates on  Graphite


WIP: Working on latest jupyterlab

Closes #26 closes #20

Blocked on https://github.com/vega/voyager/issues/767

Now I am getting very odd errors... Possibly relating to a react version mismatch somewhere?

Closing this since work has gone in other branches.


fix: avoid satori/go.uuid dep due to vulnerability

PR summary
This PR contains changes to avoid the use of the github.com/satori/go.uuid dependency because it has been found to contain a vulnerability: https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMSATORIGOUUID-72488?utm_medium=Partner&utm_source=IBM-Cloud&utm_campaign=DevOps-Code-Risk-Analyzer-Integrates-Snyk-Intel
Instead, the code now uses the github.com/google/uuid package.
PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

Current vs new behavior

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

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


Update package.json for packaging as application

In the blog post, you have a section on creating a packaged application.  I'm having some trouble getting it to work, however.  Did you make any modifications to the package.json file?  i.e. did you add an extraResources section to the build instructions so that electron-packager knows to include it?  Thanks!

Hi all, I am sorry that I haven't maintained the repo for some dates.
unable to package zeromq
(https://github.com/fyears/electron-python-example/issues/22 is the same issue I think. @asakiasako)
@lzkelley have you solved the issue yet? The point is, I had NOT updated the package.json but the method began to failed since some time... :-(
I wrote this in package.json:
  "devDependencies": {
    "electron": "^1.7.6",
    "electron-packager": "^9.0.1"
  }

I only tested on the exact versions at that time. Maybe it's possible to reproduce the successful packaging using the exact versions? Have you tried that?
I will look into the issue and try to update if possible in near future.
py error
On the other hand, @ChrisCruze's issue seemed to happen on python part instead of something about packaging. Can you successfully run the core functions only on python part by reading this? If not, maybe you want to reinstall the python library again.


Unintended default "Include" config changes for Rails/CreateTableWithTimestamps with 2.20.0?

I think https://github.com/rubocop/rubocop-rails/pull/1019 changed some defaults in a probably unintended way.
Rails/CreateTableWithTimestamps started to fail for us in db/schema.rb when updating from 2.19.1 to 2.20.0. We do have migrations where we disable Rails/CreateTableWithTimestamps. Since db/schema.rb is auto generated this leads to some questions about what the intentions are with changes in #1019.
In 2.19.1 the generated db/schema.rb was not considered for Rails/CreateTableWithTimestamps (the Include config changed from db/migrate/*.rb to db/**/*.rb, see https://github.com/rubocop/rubocop-rails/pull/1019/files#diff-3653213e3a153018a75cc7b2536b1d0217a6d8d75188d71cf45441812f789698L287-R291).
If the changes in #1019 were intentional, I'm wondering what the recommended action is. The only way I see right now is overwriting Include back to it's old value. I'm wondering if this is a good default behavior for the Rails/CreateTableWithTimestamps cop.

Expected behavior
Assuming a migration which violates Rails/CreateTableWithTimestamps and I've added a # rubocop:disable Rails/CreateTableWithTimestamps marker in that migration: I expect no Rails/CreateTableWithTimestamps warning (on db/schema.rb or anywhere else.
Actual behavior
Rails/CreateTableWithTimestamps gets reported in db/schema.rb.
Steps to reproduce the problem
With a migration like this:
# rubocop:disable Rails/CreateTableWithTimestamps
create_table :event_entries

The resulting db/schema.rb triggers now an offence.
RuboCop version
$ rubocop -V
1.53.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.29.0, running on ruby 3.2.2) [x86_64-linux]
  - rubocop-capybara 2.18.0
  - rubocop-factory_bot 2.23.1
  - rubocop-performance 1.18.0
  - rubocop-rails 2.20.0
  - rubocop-rspec 2.22.0

Had you changed the AllCops/Exclude in your project? See https://github.com/rubocop/rubocop-rails/blob/297e022591c7e7716753074b099e0f335028e1d7/config/default.yml#L13

🤦
Thank you @fatkodima! I have no idea why I haven't thought about that myself, sorry for the noise!


Number entry, tolerance and precision

If you set minimum and maximum accepted values to be the same in the marking section of a Number entry type question, then any Precision restriction is ignored (apart from when the number and its restriction are the same) - and any entry is marked as incorrect.  In order to make it work you have to set the min and max values to include the answer to the required precision. Better and more intuitive would be one of the following options, both of which separate setting tolerances and precision:

Have two modes of entry
a) Set precision - this would have one field to enter the number and other fields for Precision setting as now
b) Set tolerance as now with two fields- but no Precision setting.
As now but allow Precision to be set if min=max . If min not equal to max then Precision ignored.

The first is  cleaner as it clearly distinguishes between tolerance and precision.

This is a duplicate of numbas/Numbas#296


add bind-utils to the VM images

I was debugging some dns problems and had to install bind-utils in order to get dig/nslookup. It would be handy if it were installed by default.
According to dnf Installed size: 5.7 M so the size should not be that big of a deal to have it by default IMO.
It is not strictly required for tests at the moment but I think it could be at some point when we have to debug dns issues.

Should this go into both Fedora and Debian?  Is it okay if it only goes into the VM images and not the Fedora container image?

Should this go into both Fedora and Debian?

Yes if I have to debug debian specific issue  I would need it there.
But anyhow  it is not really important as I can always install by hand if it needed so I am fine closing this one as no tests depend on it.

okay I'll close then.  I also won't argue if you reconsider and want to add the package in the future.


Notebooks: Add Format Buttons to Markdown Cells

Add a toolbar to markdown cells with the ability to help users with common markdown actions, such as bolding/italicizing text and making headers.

Awesome, thank you for creating the item!

If I understand the requirement correctly, it seems that it is already implemented in version 1.22 of ADS.
However, I do not know the exact version in which the request was resolved.

Thanks for the follow up, @claudio-salvio! Let's close this now that we have a markdown toolbar.


chore: update where and when we display the iconic collections rail for an artist

The type of this PR is: Enhancement
This PR resolves FX-2725
Description

Only show the Iconic Collections rail on the artist artworks tab if there are no artist series to show.
Always show the Iconic Collections rail on the artist about tab.

PR Checklist (tick all before merging)

[ ] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[ ] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added an app state migration, or my changes do not require one. (What are migrations?)
[ ] I have added a CHANGELOG.yml entry or my changes do not require one.

I am closing this PR because this work is no longer needed at the moment. Please refer to the JIRA ticket for more discussion.


update dependencies

remove hamcrest
update mockito-core from 2.10.0 -> 2.12.0

Bye,
Sascha

ah yeah, i forget this :)


Integrations - Preferred exporter check-mark is missing before manual change

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: 9.0.15-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4785182
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Go to https://staging.new.expensify.com/
Create a new workspace
Go to workspace settings > "More Features" > Enable the "Accounting" toggle
Go to Accounting > Connect QBO
Add one more admin to Workspace
Go to Export
Observe there is an email displayed under Preferred exporter
Click Preferred exporter

Expected Result:
Preferred exporter email should have a checkmark
Actual Result:
Preferred exporter check-mark is missing until manually selected. However preferred email is displayed on Export page
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/user-attachments/assets/a87f4de3-e653-4546-946d-4dcc3b326669
View all open jobs on GitHub

@lschurr  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

Proposal
Please re-state the problem that we are trying to solve in this issue.
Preferred exporter check-mark is missing until manually selected. However preferred email is displayed on Export page
What is the root cause of that problem?
After we connect to QBO, exportConfiguration?.exporter is undefined so no option is selected here
https://github.com/Expensify/App/blob/4f16e2654ec1f1bd8db19fb52d4752e22e358c0d/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx#L48
But we fall back to the policy's owner here
https://github.com/Expensify/App/blob/4f16e2654ec1f1bd8db19fb52d4752e22e358c0d/src/pages/workspace/accounting/qbo/export/QuickbooksExportConfigurationPage.tsx#L42
What changes do you think we should make in order to solve the problem?
We should update the condition isSelected here to select the policy owner if exportConfiguration?.exporter is not available
isSelected: (exportConfiguration?.exporter ?? policy?.owner) === exporter.email,

https://github.com/Expensify/App/blob/4f16e2654ec1f1bd8db19fb52d4752e22e358c0d/src/pages/workspace/accounting/qbo/export/QuickbooksPreferredExporterConfigurationPage.tsx#L48
What alternative solutions did you explore? (Optional)

Updated proposal

Add the fix for other integrations

I can't seem to reproduce this issue 🤔
https://github.com/user-attachments/assets/5f0ae3c9-7939-41a7-8343-37c476e8f0ca

Ok, I can reproduce in latest main. Reviewing shortly 😄

Thanks for the proposals everyone. That's straightforward changes and minor improvements can be addressed during PR's review process. @ShridharGoel 's proposal looks good to me!
🎀 👀 🎀  C+ reviewed

@hungvu193 This condition from the selected proposal isn't correct which will make the policy owner always selected even though another exporter is selected.
isSelected: exportConfiguration?.exporter === exporter.email || exporter.email === policy?.owner,

@hungvu193 This condition from the selected proposal isn't correct which will make the policy owner always selected even though another exporter is selected.
isSelected: exportConfiguration?.exporter === exporter.email || exporter.email === policy?.owner,

@nkdengineer  My bad. Yeah, you're correct. Thanks for pointing it out.
@ShridharGoel Your updated proposal is now a dupe of @nkdengineer proposal.
I updated my review here. Sorry for this confusion.

@hungvu193 Can you please check again? My proposal is the first proposal that has the correct solution.

We can avoid showing policy owner on the export page.

We have already confirmed this while working on the QBO and Xero projects. (I worked on them). So I don't think need to confirm from the team.

Little bump @grgia

Still waiting for the assignment.

@grgia 👀 above plz

@hungvu193 let me know if you need anything else

@hungvu193 this PR is ready for review

Deployed to prod on the 19th, @mallenexpensify.

Contributor: @nkdengineer paid $250 via Upwork
Contributor+: @hungvu193 owed $250 via NewDot
@hungvu193 plz complete the BZ checklist.
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@] 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:
[ ] [@] 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:
[ ] [@] Determine if we should create a regression test for this bug.
[ ] [@] 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.
[ ] [@BZ] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

[x] The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/App/pull/39191
[x] 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/commit/d140a2a4d939cce101f43ed069aedf63607ffcd7#r146055805
[x] 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] Determine if we should create a regression test for this bug: Yes

Regression test:

Login with any account.
Go to workspace settings > "More Features" > Enable the "Accounting" toggle
Go to Accounting > Connect QBO
Add one more admin to Workspace
Go to Export => Preferred Exporter.
Verify that your email has a checkmark, and you are able to change Preferred Exporter successfully.

Do we 👍  or 👎  ?

$250 approved for @hungvu193

Added the regression test. Looks like the payment summary is complete.


Update: Please update the native plugins for light_compressor

Feature Request
Hey, please update the light_compressor android and iOS native plugins to the latest release, so that features such as setting min-width, height, bitrate are available.

And also the flutter plugin version. 'Please use Android embedding v2' error when building

Hello @codenameakshay  and @dstkdevhrp it is done and published.
Thank you and apologies for the late release.


Add get_list_measurements and drop_measurement

Dear maintainer,
Look likes we are missing the get list measurements and drop measurement feature for client.
pls accept this pr.

What does the tarvis-ci report mean?
doc building needs length check ?
pls, give me a prompt to fix this error

The docs tests seems unrelated. I have restarted  the job.

@aviau Test case done.
but the doc building failed, again.

According to https://github.com/sphinx-doc/sphinx/issues/3212
sphinx 1.5.1 fix this doc building problem

@sebito91 Thanks.
You are right, already deleted Sphinx version modification, and added docstring for tests.
Hope to receive your feedback.


Problems with adding operator

Add operator gc with setup function doesn't work for me.
My which-key settings are:
use { 'folke/which-key.nvim', as = 'which-key',
   config = require('which-key').setup {
      plugins = {
         presets = {
            operators = true,
         },
      },
      operators = {
         gc = "Comments"
      }
   }
}

But no description has appeared:

Try with:
require('which-key').register({
  c = {
    name = 'Comments',
  },
}, { prefix = 'g' })


Add support for partial IDs for exec and attach

Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

@adelton This should make crictl exec work with partial IDs.

@wking Yeah, I think at some point that function got changed from taking a request object to id. We can rename it.

LGTM, function name change would be nice, otherwise LGTM.

/test all

/test e2e_rhel

/test critest_fedora

/test integration_rhel

/test e2e_rhel

Lets rename the function and then we can merge.

Pushed update with function renamed.

/test all

/test all

/test integration

/test e2e

/test critest

/test all

@rhatdan @runcom This is ready.

All Green
Merging.


weird observation

amazing, im running vicuna 7b in the browser and getting pretty decent performance.  so, for comparison, i decided to spin up a p2 instance and see how a k80 runs vicuna 7b.   .... its slower.   what?   some expensive tesla is slower than my amd radeon?   yep, inference for vicuna 7b is about 3x faster on my laptop running webgpu.   double-checked im running the same quantized model.   double-checked that pytorch is really using the gpu (nvidia-smi utilization at 99%)
ok, lets compare to the geforce rtx accelerator on my gaming laptop.   convinced chrome to see it instead of my amd.   ... also slower inference.
why is my built-in cheapo amd radeon doing inference so much faster via webgpu?   should i run out and buy a beefier radeon?

well, i confirmed this with llama-cpp-python.   my build-in radeon is just better at inference.   also it has direct access to all the system ram (32GB) ... so it can load the whole model into ram.   unlike the nvidia, which runs out, and has to offload work to the cpu.


discovery on Marshmallow

hi,
I am experiencing issues while discovering devices using Android MArshmellow. It simply fails on discovery anything...I read about the permissions over location (coarse and fine) that should be put into the manifest and programmatically. However, I had no luck up to now.
Any advice about getting rid of this issues? is a version that deals with this problem on schedule? I'm currently using version 0.5.1.
sbk

Eventually I've found a sort of a workaround. I won't create a pull request as it would require the installation of the cordova plugin cordova-plugin-android-support-v4.
Basically the modification I did was merely this, in BCBluetooth.java:
public boolean execute(final String action, final JSONArray json,
			final CallbackContext callbackContext) throws JSONException {

                       /* ...omissis...*/

			if(action.equals("startClassicalScan")){
				Log.i(TAG,"startClassicalScan");
				if(bluetoothAdapter.isEnabled()){
					try{
						if(((android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP)) && //23 >=21 for zonta's tablet
						 (!cordova.hasPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION))){
							if (!cordova.getActivity().shouldShowRequestPermissionRationale(android.Manifest.permission.ACCESS_COARSE_LOCATION)) {
								cordova.requestPermissions(this,100,
										new String[]{android.Manifest.permission.ACCESS_COARSE_LOCATION});
							}
						}
					} catch (Exception e) {
						e.printStackTrace();
					}
					if(bluetoothAdapter.startDiscovery()){
						callbackContext.success();
					}else{
						callbackContext.error("start classical scan error!");
					}
				}else{
					callbackContext.error("your bluetooth is not open!");
				}
			}

                       /* ...omissis...*/
	}

hope it helps
sbk