[$1000] Chat - A line break is resulted from pasting quote message

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

Action Performed:

Go to staging.new.expensify.com
Go to any chat with quote message
Copy the quote message
Paste the quote message in the composer

Expected Result:
There is no extra space or line break from pasting the quote message
Actual Result:
A line break is resulted from pasting the quote message
Workaround:
Unknown
Platforms:

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

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/e89b0099-cae8-4f07-b479-5b7199c2d699
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~018cc9d1380c77d6b3
Upwork Job ID:<PHONE_NUMBER>244857856
Last Price Increase: 2023-06-14

Proposal
Please re-state the problem that we are trying to solve in this issue.
A line break is resulted from pasting quote message.
What is the root cause of that problem?
For pasting HTML, we use expensify-common -
https://github.com/Expensify/App/blob/d7c45a2e8e776f345f566f0cf1ae6d08f7c2e8a0/src/components/Composer/index.js#L280-L283
In expensify-common quote rule for htmlToMarkdown, we add new line at the beginning and end of the return value here -
https://github.com/Expensify/expensify-common/blob/9dfabe1de4213b0fd60ae3aa6a57012dd6545c72/lib/ExpensiMark.js#L289-L299
return `\n${resultString}\n`;

What changes do you think we should make in order to solve the problem?
Remove \n from beginning and end of return value to make line 299 in expensify-common -
return `${resultString}`;

What alternative solutions did you explore? (Optional)
NA

Proposal
Please re-state the problem that we are trying to solve in this issue.
A line break is resulted from pasting quote message.
What is the root cause of that problem?
Copying a quote comment, like
> test

save following html
<meta charset='utf-8'>

<comment>
test
</comment>

to clipboard, see
https://github.com/Expensify/App/blob/0a471b016d9b36c986a81680ef2518d2ae749937/src/components/CopySelectionHelper.js#L40
Pasting into composer converts the above html to following markdown
> test

See quote-html-to-markdown rule translates html piece

test

to text
> test

And the ending line break is removed in method replaceBlockElementWithNewLine when stripping
 tags. That's in the composer we get
> test

Instead of
> test

What changes do you think we should make in order to solve the problem?
As changing the quote-html-to-markdown rule will break exiting unit test cases of Expensify-common, so I think we can fix this issue in App codebase.
To fix this issue, I think we can just trim the result of parser.htmlToMarkdown(html) in method handlePastedHTML
https://github.com/Expensify/App/blob/0a471b016d9b36c986a81680ef2518d2ae749937/src/components/Composer/index.js#L279-L284
What alternative solutions did you explore? (Optional)
N/A

Weird, I wonder if this is a regression.
I see this happening and so it's reproducible:

After sending the message though, it doesn't show the line breaks:

@conorpendergrast I don't think it is a regression because the code I  have specified as root cause in my proposal is from 2 years ago but I am also skeptical as to why it went unnoticed for such a long time (if it really isn't a regression).

@Nikhil-Vats @eh2077 Hey guys! The issue exists inside expensify-common and should be fixed inside it, we should avoid workarounds here. BTW i checked out some old branch and saw the same issue with empty line above and below. The last changes were done for quotes around 2 weeks ago. But it's not really influence on this bug - still see the same on old branches.

@narefyev91 my change is only in Expensify commons not in this repo and it is not a workaround.

@conorpendergrast let's assign @Nikhil-Vats to this ticket

Nice!  If that's wrong, please let me know

Thanks for assigning me this job. I will have the PR ready for review within 24 hours.

Proposal looks good to me

PROPOSAL
I solved this problem using the onPaste event, so when this event is called I do event.preventDefault() and then I take the pasted value and delete the first and last newline, so I solve the problem if it is copied from quote and it is additionally solved if it is copied from another place.
onPaste={(event) => {                             event.preventDefault();                             const pastedText = event.clipboardData.getData('text').trim();                             event.target.value += ${pastedText}.trim();                            }}

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0192324f7a1802b375

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~012d06c83909c7f4a9

@Nikhil-Vats I saw this one lie change as well. But when you posted the comment so I refrain to reiterate the same but doesn't mean I have to do everywhere.

@Nikhil-Vats Hey! Any updates for initial PR?

@narefyev91 It is taking more time than expected because the solution I proposed has regressions. Here's the detailed behaviour of what happens -

the extra line is added in composer before message only when message starts with a quote. eg -

> a quote message
a text message
_italics message_
> another quote
> empty line quote below
>
this doesn't end with a quote

the extra line is added in composer after message only when message ends with a quote. eg -

this starts with a text message
_italics message_
> another quote
> empty line quote below
>
> ends with a quote

So, when message starts and ends with a quote (or it is just a single line message which is a quote) then we have new lines in start and end. eg -

> start quote
you can also try this behaviour with just 1 line which is a quote
> end quote

My current solution has regressions because the new lines are needed when quotes are anywhere between the message like -
any message in any markdown like heading, etc. new line below

> quote

ending message after newline above

https://github.com/Expensify/expensify-common/blob/9dfabe1de4213b0fd60ae3aa6a57012dd6545c72/lib/ExpensiMark.js#L289-L299
return `\n${resultString}\n`;

So, if we simply remove the \n in the beginning and end it is going to trim some new lines that are needed. I am trying an alternate solution without any regression now but you can unassign me for the moment to get other contributors' inputs if you want.

@narefyev91 It is taking more time than expected because the solution I proposed has regressions. Here's the detailed behaviour of what happens -

the extra line is added in composer before message only when message starts with a quote. eg -

> a quote message
a text message
_italics message_
> another quote
> empty line quote below
>
this doesn't end with a quote

the extra line is added in composer after message only when message ends with a quote. eg -

this starts with a text message
_italics message_
> another quote
> empty line quote below
>
> ends with a quote

So, when message starts and ends with a quote (or it is just a single line message which is a quote) then we have new lines in start and end. eg -

> start quote
you can also try this behaviour with just 1 line which is a quote
> end quote

My current solution has regressions because the new lines are needed when quotes are anywhere between the message like -
any message in any markdown like heading, etc. new line below

> quote

ending message after newline above

https://github.com/Expensify/expensify-common/blob/9dfabe1de4213b0fd60ae3aa6a57012dd6545c72/lib/ExpensiMark.js#L289-L299
return `\n${resultString}\n`;

So, if we simply remove the \n in the beginning and end it is going to trim some new lines that are needed. I am trying an alternate solution without any regression now but you can unassign me for the moment to get other contributors' inputs if you want.

no worries - let's get it fix correctly and find solution which will work

Should it only be fixed if a quote  is copied?

I think that it should work in the same way for any html which we may copy and paste - no new lines should be added above and below

This will work only on Input that have this event

onChangeText={(text) => {
let newValue = text.replace(term, '');
// If newValue is > 1 then its pasted value, then replace that value with trim()
if (newValue.length > 1) {
text = text.replace(newValue, newValue.trim());
console.log(text);
}
onChange(text);
}}

@Nikhil-Vats @narefyev91 Are we still making progress on the solution here? Can I help with anything?

@Nikhil-Vats @narefyev91 Are we still making progress on the solution here? Can I help with anything?

@conorpendergrast - we need to get some information from @Nikhil-Vats - are there any working fix, if not - we can open this again for proposals - but the root case was found correctly - only needs to get correct solution for this one

@conorpendergrast @narefyev91 Apologies for the delay, I haven't been able to find a solution that fixes the root cause. I think you should open this for proposals again and meanwhile, I will continue to find a solution for this and put a new proposal if I do find one.

Proposal
Updated proposal to let method replaceBlockElementWithNewLine handle line break for
 tag, like what we do for
 tag, see here.

Ok, two more proposals: https://github.com/Expensify/App/issues/20725#issuecomment-1602774224 and https://github.com/Expensify/App/issues/20725#issuecomment-1590344432

@eh2077 can you please provide a video how it's working now with your changes?

@narefyev91 Sure! Here's the demo video FYI
https://github.com/Expensify/App/assets/117511920/eb881d21-e8f5-4bf3-8bb1-e6686e525c10
I verified that the solution to use method replaceBlockElementWithNewLine won't break existing unit test cases of expensify-common repo. We only need to correct a few unit test cases by removing unwanted line breaks added by
return `\n${resultString}\n`;

@narefyev91 Sure! Here's the demo video FYI
Screen.Recording.2023-06-23.at.2.50.13.PM.mov
I verified that the solution to use method replaceBlockElementWithNewLine won't break existing unit test cases of expensify-common repo. We only need to correct a few unit test cases by removing unwanted line breaks added by
return `\n${resultString}\n`;

can you please make tests for all items listed here https://github.com/Expensify/App/issues/20725#issuecomment-1594542611 and post a video

Proposal of @eh2077 https://github.com/Expensify/App/issues/20725#issuecomment-1590344432 looks good to me, it's fixed root case of the issue and based on the test - working as expected
🎀 👀 🎀 C+ reviewed

@narefyev91 Can I request you to review my alternate solution.
I know it's inspired from his solution but his solution isn't complete for all test cases.

Yes i saw that most of the changes is the same as proposed @eh2077 - the only difference that you change regExp - if you are saying that his solution isn't complete for all test cases. - can you maybe show on a video what do you mean, please.

I think the minor issue will be able to be solved in the PR preparing or reviewing stage.

But I spent my time to find the issue and my solution does cover it.
The original issue itself minor then. If we consider line break removal as minor

I don't think it's your solution as it's literally same as my proposal. It'll be easy to fix the minor issue when preparing the PR as the issue is about copy and pasting quotes. Thanks for the discussion and I think you can have a look at other open issues.

@deetergp please check this conversation for decision https://expensify.slack.com/archives/C02NK2DQWUX/p1687781331427029

This was double-assigned to an engineer, so unassigning @deetergp in favour of @iwiznia (who was already assigned). Ionatan will also check in on the thread and we'll come back to this issue with a decision. Thanks for holding, all

PR will be ready by the end of today.

No? We only pay to the contributor we hire.

@eh2077 @narefyev91 Could you take a look at this somewhat similar issue and see if the fix here would resolve that too?
https://github.com/Expensify/App/issues/21903

@conorpendergrast yes it's the same issue and should be fixed based on opened PR

Thanks for confirming!

Oh, the PR is under review. Marking as such!

Ah, I withdrew the initial contract and re-sent to @eh2077

Payment made to @eh2077. Final step is the checklist for @narefyev91 to complete, please!

The PR that introduced the bug has been identified - it was fully new requirements and fixes to make it working during pasting - i can say that those code changes fix any regression from someone - it was fully missed implementation
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 - no comments
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 - no discussions
Determine if we should create a regression test for this bug - in case that it's not a regression - we are good to not have any steps here


[python] Add common.h to MANIFEST.in

Issue and/or context:
#2032
Changes:
Add common.h to MANIFEST.in as C++ (source and) header files are not added by setuptools to the distribution by default.
Notes for Reviewer:
Proof of working: https://github.com/single-cell-data/TileDB-SOMA/actions/runs/7603111075

The latest release of scipy, released Jan 20, seems to be the culprit for CI failures. This PR fixes an unrelated issue having to do with wheel distros.

The latest release of scipy 1.12.0, released Jan 20, seems to be the culprit for CI failures. This PR fixes an unrelated issue having to do with wheel distros.

I've opened an issue for this https://github.com/single-cell-data/TileDB-SOMA/pull/2036 and will address it in a separate PR.


chore(fromEventPattern): convert fromEventPattern specs to run mode

Description:
This PR converts fromEventPattern unit tests to run mode.

Related issue (if exists):
None

thank you, @tmair


Update Pattern Lab PHP Core Minimum PHP Version to 7.0+

Updating the minimum PHP dependency in Pattern Lab PHP Core to PHP 7.0 to open the door for more concise ways to write out common PHP logic (ex. the Null coalescing operator - https://stackoverflow.com/a/36796941) in addition to the performance gains PHP 7 introduced.
Given that PHP 7.0 first came out nearly 2 years ago (December 3rd, 2015) I think it's about time we took the plunge...
Perhaps we could use this as a base for a major Pattern Lab PHP Core v3.0.0 release?

One thing to consider is that macOS Sierra (the current OS) comes with PHP 5.6 - so basically we're saying that every person who uses PL on their machine will need to update PHP. I'm not against this, but it's something we should consider and acknowledge early.

Closing this last PR out. Might end up revisiting this on the main Pattern Lab repo down the road but tabling this for now.


app-service functional testing configuration compatibility .

Hi @cloudxxx8 @cherrycl  , I am running the app-service using the following command,
**./app-service-configurable -p mqtt-export -cp=consul.http://<IP_ADDRESS>:8500 --registry --confdir=./res**
Do I need to change any configuration for app-service in TAF ?
Note: testing without docker.
Please let me know for any suggestions. Thanks.

Close this issue due to no activity. If you have further question, please file questions on Github Discussions (https://github.com/orgs/edgexfoundry/discussions). Thank you.


[Hyprbars] Border doesn't render correctly

A problem with bar_precedence_over_border when the border doesn't render correctly on active animation.

Distro: Arch Linux
Hyprland: latest git (aur)

https://github.com/user-attachments/assets/80fc8a13-247b-4c6d-85f4-4e26e898385c

#222


Model format incorrect in Object-Detection example

object_detection_app_1_0_0_armv7hf.zip
Issue description
We clone the most update acap3-examples and tried Object-detection example.
We compile the acap with command : ./build_acap.sh object_detection_acap:1.0 and
the acap is built successfully.
But then we got the following error messing when running in axis tpu camera
----- Contents of SYSTEM_LOG for 'object_detection' -----
2021-07-14T12:23:36.307+08:00 axis-b8a44f0ec925 [ INFO    ] object_detection[0]: starting object_detection
2021-07-14T12:23:36.342+08:00 axis-b8a44f0ec925 [ INFO    ] object_detection[15686]: Starting ...
2021-07-14T12:23:36.450+08:00 axis-b8a44f0ec925 [ INFO    ] object_detection[15686]: Creating VDO image provider and creating stream 480 x 300
2021-07-14T12:23:36.450+08:00 axis-b8a44f0ec925 [ INFO    ] object_detection[15686]: Dump of vdo stream settings map =====
2021-07-14T12:23:36.450+08:00 axis-b8a44f0ec925 [ INFO    ] object_detection[15686]: chooseStreamResolution: We select stream w/h=480 x 300 based on VDO channel info.
2021-07-14T12:23:36.553+08:00 axis-b8a44f0ec925 [ INFO    ] object_detection[716]: Last message 'Dump of vdo stream s' repeated 1 times, suppressed by syslog-ng on axis-b8a44f0ec925
2021-07-14T12:23:36.616+08:00 axis-b8a44f0ec925 [ INFO    ] object_detection[15686]: Setting up larod connection with chip 4 and model /usr/local/packages/object_detection/model/converted_model.tflite
2021-07-14T12:23:36.759+08:00 axis-b8a44f0ec925 [ ERR     ] object_detection[15686]: setupLarod: Unable to load model: Could not load model: Failed model format type check, expected a TFLite model converted to .larod format
System setup

Device:
Device Firmware version: 10.5.2
SDK version :3.4

Logs
Jul 14 12:37:36 axis-b8a44f0ec925 object_detection[17200]: Starting ...
Jul 14 12:37:36 axis-b8a44f0ec925 object_detection[17200]: chooseStreamResolution: We select stream w/h=480 x 300 based on VDO channel info.
Jul 14 12:37:36 axis-b8a44f0ec925 object_detection[17200]: Creating VDO image provider and creating stream 480 x 300
Jul 14 12:37:36 axis-b8a44f0ec925 object_detection[17200]: Dump of vdo stream settings map =====
Jul 14 12:37:36 axis-b8a44f0ec925 object_detection[17200]: Dump of vdo stream settings map =====
Jul 14 12:37:36 axis-b8a44f0ec925 object_detection[17200]: Setting up larod connection with chip 4 and model /usr/local/packages/object_detection/model/converted_model.tflite
Jul 14 12:37:36 axis-b8a44f0ec925 larod[1998]: Created a new session ID: 7, client: :1.476
Jul 14 12:37:36 axis-b8a44f0ec925 larod[1998]: Session 7: Failed model format type check, expected a TFLite model converted to .larod format
Jul 14 12:37:36 axis-b8a44f0ec925 object_detection[17200]: setupLarod: Unable to load model: Could not load model: Failed model format type check, expected a TFLite model converted to .larod format
Jul 14 12:37:36 axis-b8a44f0ec925 larod[1998]: Session 7 killed since client's (:1.476) connection has been lost
Jul 14 12:37:39 axis-b8a44f0ec925 dbus-daemon[340]: [system] Activating via systemd: service name='com.axis.BasicDeviceInfo1' unit='basic-device-info.service' requested by ':1.478' (uid=155 pid=17236 comm="basicdeviceinfo.cgi ")
Jul 14 12:37:39 axis-b8a44f0ec925 systemd[1]: Starting Basic device information...
Jul 14 12:37:39 axis-b8a44f0ec925 dbus-daemon[340]: [system] Successfully activated service 'com.axis.BasicDeviceInfo1'
Jul 14 12:37:39 axis-b8a44f0ec925 systemd[1]: Started Basic device information.
Jul 14 12:37:39 axis-b8a44f0ec925 dbus-daemon[340]: [system] Activating via systemd: service name='com.axis.ApiDiscovery1' unit='dbus-com.axis.ApiDiscovery1.service' requested by ':1.481' (uid=155 pid=17245 comm="apidiscovery.cgi ")
Jul 14 12:37:39 axis-b8a44f0ec925 systemd[1]: Starting API Discovery service...
Jul 14 12:37:39 axis-b8a44f0ec925 dbus-daemon[340]: [system] Successfully activated service 'com.axis.ApiDiscovery1'
Jul 14 12:37:39 axis-b8a44f0ec925 systemd[1]: Started API Discovery service.
Jul 14 12:37:39 axis-b8a44f0ec925 dbus-daemon[340]: [system] Activating via systemd: service name='com.axis.FirmwareManager1' unit='dbus-com.axis.FirmwareManager1.service' requested by ':1.484' (uid=155 pid=17258 comm="firmwaremanagement.cgi ")

Hi @hampengit,
Have you solved this issue? Could you please tell me the solution for it ?
Thanks.
Anh Nguyen


Examples with 1337x.tw are not working

torrents = py1337x(proxy='1337x.tw', cache='py1337xCache', cacheTime=500)
the examples on the readme here and on the pypi page are not working, should change to 1337x.to, which does work

Thanks for pointing this out. I have updated the readme here and the pypi page will get update in the next release.


fix(hardware-ledger): delegate vote drep is a hash not key path

Context
Self drep Ledger.DRepParamsType.KEY_PATH was used when mapping VoteDelegation certificate.
That is wrong, we have to pass the drep key hash, otherwise the ledger device will always calculate the DRep as our own, instead of the target one.
Proposed Solution
VoteDelegation certificate should map drep to DRepParamsType.KEY_HASH.
Important Changes Introduced

Nice catch! Is it good in hardware-trezor?

We don't have conway era support in Trezor.


Proposed changes to sample QC for v4

See discussion here: https://docs.google.com/document/d/1XSYWoTlS_vXEoltKo-sUpwb-jsLGz5AL_I9XDLW0a-s/edit

Most of the issues in this Epic are quick fixes. The one that will take longer is the Revise sample QC outlier detection metrics to retain highly diverse samples in 1KG+HGDP. Related to https://app.zenhub.com/workspaces/gnomad-5f4d127ea61afc001d6be50b/issues/broadinstitute/gnomad_qc/148


Add missing fastapi_admin.site.Site import for init App example

While trying a first FastAPI-Admin example, I noticed that Site wasn't imported

Thanks! But don't think need that


Material Date-Picker

I don't see an option for date-picker. Your documentation have got no example for date-picker.

well you can create your own type, right now we only support the basic type but this will not prevent us to add more types.
Right I suggest you to create your own type as this will take some time to be implemented anyway I'll provide you an example!

@aitboudad It will be great if you can provide an example. I'll create mine. Thank you

see https://stackblitz.com/edit/angular-gkwj6z

@aitboudad Thank you very much

@aitboudad On a page where I have multiple forms (tasks) and a due date for each form (task), the date picker toggle doesn't work right. It actually attaches to the last date field. When I use the date picker to set the date, it only ever sets the last date on the page. The date field works if I don't use the date picker control.

@aitboudad Do you planify to implement it ?
Do you have an idea how to you manage the validation of the date when there is a wrong value in the field but the field is not empty ?
Because the datepicker of angular material return null when the date is not valid but it doesn't mean that the input is empty....
I would like to display an error message when the field is empty and when the field contain an invalid date but it seems it is not possible because the material datepicker always return a null value if the date is not valid....
My example : https://stackblitz.com/edit/angular-datepicker-custom-adapter?file=app/date-adapter.component.ts
You can specify a wrong format and you will always see the required error + the matDatepickerParse

@jogelin don't use required and instead define a custom validator for date type.

Do you planify to implement it ?

yeah but with a low priority now.

done, will be landed in v3.0:
import { FormlyMatDatepickerModule } from '@ngx-formly/material/datepicker';

@NgModule({
  imports: [
    ...
    FormlyMaterialModule,
    FormlyMatDatepickerModule
  ],
})
export class AppModule { }


Extend SequencingProcess._format_sample_sheet to handle more than two assay types

This issue is related to #513 Assay types are not fully centralized and #513 Relocate definition of assay types.
There are numerous places within SequencingProcess._format_sample_sheet that currently assume there are only two potential types of assays: either amplicon or metagenomics (shotgun), and thus decide which action to take just by looking at the boolean self.is_amplicon_assay:
https://github.com/jdereus/labman/blob/46241e448edd4fc615aeea914e8dd80bf88aad79/labcontrol/db/process.py#L3113-L3157
This must be changed before adding any new protocols to the software or they will incorrectly be treated as metagenomics assays regardless of what they really are.

Needed for support of MiniPCR. Assigned to full launch

+1 for needed for support of MiniPCR


Midea AC intermittedly becomes unavailable.

Goodday,
I have noticed that my midea ac becomes unavailable then available intermittedly. This is my first time installing the integration. This happens on two of my units.
Diagnostic log.
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2024.10.1",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.12.4",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Africa/Johannesburg",
    "os_name": "Linux",
    "os_version": "6.6.46-haos",
    "supervisor": "2024.10.0",
    "host_os": "Home Assistant OS 13.1",
    "docker_version": "26.1.4",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "documentation": "https://hacs.xyz/docs/configuration/start",
      "version": "2.0.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "midea_ac": {
      "documentation": "https://github.com/mill1000/midea-ac-py",
      "version": "2024.10.1",
      "requirements": [
        "msmart-ng>=2024.9.0"
      ]
    },
    "alexa_media": {
      "documentation": "https://github.com/alandtse/alexa_media_player/wiki",
      "version": "4.13.4",
      "requirements": [
        "alexapy==1.29.2",
        "packaging>=20.3",
        "wrapt>=1.14.0"
      ]
    },
    "sonoff": {
      "documentation": "https://github.com/AlexxIT/SonoffLAN",
      "version": "3.8.1",
      "requirements": [
        "pycryptodome>=3.6.6"
      ]
    }
  },
  "integration_manifest": {
    "domain": "midea_ac",
    "name": "Midea Smart AC",
    "codeowners": [
      "mill1000"
    ],
    "config_flow": true,
    "dependencies": [],
    "documentation": "https://github.com/mill1000/midea-ac-py",
    "iot_class": "local_polling",
    "issue_tracker": "https://github.com/mill1000/midea-ac-py/issues",
    "loggers": [
      "msmart"
    ],
    "requirements": [
      "msmart-ng>=2024.9.0"
    ],
    "version": "2024.10.1",
    "is_built_in": false
  },
  "setup_times": {
    "null": {
      "setup": 1.549581065773964e-05
    },
    "01JA5CHM2YVWTFG4TPNDWRSNC9": {
      "wait_import_platforms": -0.0020050639286637306,
      "config_entry_setup": 1.9061271317768842
    }
  },
  "data": {
    "config_entry": {
      "created_at": "2024-10-14T11:27:49.342264+00:00",
      "data": {
        "id":<PHONE_NUMBER>1843,
        "host": "<IP_ADDRESS>",
        "port": 6444,
        "token": "**REDACTED**",
        "k1": "**REDACTED**"
      },
      "discovery_keys": {},
      "disabled_by": null,
      "domain": "midea_ac",
      "entry_id": "01JA5CHM2YVWTFG4TPNDWRSNC9",
      "minor_version": 2,
      "modified_at": "2024-10-14T11:27:49.342267+00:00",
      "options": {
        "prompt_tone": true,
        "temp_step": 1.0,
        "fan_speed_step": 1,
        "use_fan_only_workaround": false,
        "show_all_presets": false,
        "additional_operation_modes": null,
        "max_connection_lifetime": null,
        "use_alternate_energy_format": false
      },
      "pref_disable_new_entities": false,
      "pref_disable_polling": false,
      "source": "user",
      "title": "midea_ac<PHONE_NUMBER>1843",
      "unique_id": "30786325851843",
      "version": 1
    },
    "device": {
      "ip": "<IP_ADDRESS>",
      "port": 6444,
      "id":<PHONE_NUMBER>1843,
      "online": true,
      "supported": true,
      "type": 172,
      "name": null,
      "sn": null,
      "key": "**REDACTED**",
      "token": "**REDACTED**",
      "supported_modes": [
        5,
        3,
        2,
        4,
        1
      ],
      "supported_swing_modes": [
        0,
        3,
        12,
        15
      ],
      "supported_fan_speeds": [
        20,
        40,
        60,
        80,
        102,
        100
      ],
      "supports_custom_fan_speed": true,
      "supported_rate_selects": [
        100
      ],
      "supports_eco": true,
      "supports_ieco": false,
      "supports_turbo": true,
      "supports_freeze_protection": true,
      "supports_display_control": false,
      "supports_filter_reminder": false,
      "supports_self_clean": true,
      "supports_purifier": true,
      "supports_humidity": false,
      "supports_target_humidity": false,
      "supports_vertical_swing_angle": true,
      "supports_horizontal_swing_angle": true,
      "supports_breezeless": false,
      "supports_breeze_mild": false,
      "supports_breeze_away": true,
      "enable_energy_usage_requests": true,
      "use_alternate_energy_format": false,
      "_supported_properties": [
        9,
        10,
        66,
        57
      ]
    }
  }
}

Try setting the maximum connection lifetime.
https://github.com/mill1000/midea-ac-py?tab=readme-ov-file#resolving-connectivity-issues

Try setting the maximum connection lifetime. https://github.com/mill1000/midea-ac-py?tab=readme-ov-file#resolving-connectivity-issues

I made the change you mentioned. Still getting the intermittent unavailable. Sometimes it stays unavailable then I have to restart the integration a couple of times.
This is in the HA log file:
This error originated from a custom integration.
Logger: msmart.base_device
Source: custom_components/midea_ac/coordinator.py:39
integration: Midea Smart AC (documentation, issues)
First occurred: 08:08:20 (155 occurrences)
Last logged: 08:56:21
Network timeout <IP_ADDRESS>:6444: No response from host.
No response from <IP_ADDRESS>:6444 in 6.000000 seconds.
No response from <IP_ADDRESS>:6444 in 10.140000 seconds.
No response from <IP_ADDRESS>:6444 in 6.010000 seconds.
Network error <IP_ADDRESS>:6444: Unsupported packet: 3a6ad7c470391fea94b834a1a0325cc47c97eddde77f87a1405b883966e679fd77b651ea711fb167869f07cda31c33f035e9454b9dafbac4fe0e6c2f2c823a13
This error originated from a custom integration.
Logger: msmart.lan
Source: custom_components/midea_ac/coordinator.py:39
integration: Midea Smart AC (documentation, issues)
First occurred: 08:43:58 (1 occurrences)
Last logged: 08:43:58
Read cancelled. Disconnecting.
Logger: msmart.lan
Source: runner.py:189
First occurred: 08:27:31 (1 occurrences)
Last logged: 08:27:31
Connection to <IP_ADDRESS>:6444 lost. Error: [Errno 104] Connection reset by peer
This error originated from a custom integration.
Logger: msmart.device.AC.device
Source: custom_components/midea_ac/init.py:71
integration: Midea Smart AC (documentation, issues)
First occurred: 08:08:20 (1 occurrences)
Last logged: 08:08:20
Failed to query capabilities from <IP_ADDRESS>:6444.
I have also included a debug file that I recorded when the integration become unavaialble.
home-assistant_midea_ac_freezing-2024-10-15T06-46-00.354Z.log

Can you keep debugging enabled and restart HA? I can't quite follow what happened to your device but it appears to be rejecting the authentication process.

Thanks. Some disconnects are occurring on a 60s interval. Try reducing your connection lifetime to 45 seconds.

I will try that and monitor. I will keep you posted

How's it going? I'm assuming no news might be good news?

Well if you can grab a debug log of a long session e.g. 1 hour+ I could take another look.


fix: bad unicode in UI

│ -> |. Notice the difference?
#672.

Ty for the PR @liangxianzhe, but I don’t think it makes sense to workaround this issue by changing the Unicode chars, if fzf has an issue with these characters we should find the exact issue and it should be fixed upstream.
More so, this doesn’t explain why this happens in buffers which doesn’t use the pipe character.

Hi, I cannot repro this in fzf. I think the issue is more likely due to unicode doesn't pass through the pipes very well between lua and fzf, so more like a neovim issue. If file names contain weird unicode, it could still occur for buffers, but it is hard to get a consistent repro. This PR at least improves current situation.

FYI here is a smaller repro, press the key and enter a few "a" then delete them. There are some randomness where the issue occurs though.
map("n", "fp", function()
  require('fzf-lua').fzf_exec({ [[
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
aaa │ aaa
  ]] })
end, { desc = "Test" })

Passing the same string to fzf cli works fine.

Actually sounds like https://github.com/neovim/neovim/issues/16245
Even so, I would suggest to get this PR in, to avoid future mistakes parsing this.

Actually sounds like neovim/neovim#16245
Even so, I would suggest to get this PR in, to avoid future mistakes parsing this.

Great find @liangxianzhe! this does seem like the issue.
I’m not still not sure if this PR is the right choice, it’s gonna look a bit different for users as the pipe won’t connect in between lines and is the main reason the character was chosen.
I’m also unsure if this solves it completely, I don’t have any pipe chars on filenames and still experienced it with buffers so this may not cover everything, it’s just a workaround.

@ibhagwan The neovim issue applies to a few other unicode too. I suspect the nbsp could cause the issue for buffer.
Not sure when the neovim issue will be fixed. Before that, it is up to you to choose between bad unicode vs less nicer bar. I'm fine either way since I use my local fzf-lua.

@ibhagwan The neovim issue applies to a few other unicode too. I suspect the nbsp could cause the issue for buffer.

Nbsp night be an issue too, given the issue (I suspect anything past 0x2000) it used to be A0 but some users had filenames with it which created issues, you can configure it via setup (from the README):
require'fzf-lua'.setup {
  -- uncomment if your terminal/font does not support unicode character
  -- 'EN SPACE' (U+2002), the below sets it to 'NBSP' (U+00A0) instead
  nbsp = '\xc2\xa0',
}

Not sure when the neovim issue will be fixed. Before that, it is up to you to choose between bad unicode vs less nicer bar. I'm fine either way since I use my local fzf-lua.

It does seem to be a long running issue, I’m not sure what to do about this yet, I’m also unsure why the issue stopped occurring on my system, perhaps there’s a better way to avoid this, needs some more research.

I’m also unsure if this solves it completely, I don’t have any pipe chars on filenames and still experienced it with buffers so this may not cover everything, it’s just a workaround.

I also don't have the pipe chars(proposed in this PR) in my case :FzfLua tabs:

I found that changing the terminal font doesn't help (I have tried four fonts locally, all with nerd-font patched)

It's NOT something that randomly appears, it always happens if it can happen (see my scrolling demo below).

https://github.com/ibhagwan/fzf-lua/assets/24765272/ad9994dc-72fa-41da-b602-61e092803eef

Ty @nyngwang, that’s very helpful, does seem to match https://github.com/neovim/neovim/issues/16245 exactly, also reinforces my thinking that this PR won’t help.
Unfortunately I don’t think we can so much here other than wait for https://github.com/neovim/neovim/issues/16245 to be fixed.
@liangxianzhe, closing this PR, ty for clearly identifying the issue.

@nyngwang Your promp character for tabs are unicode. Try change it back to ">" and it might fix your issue. Using less unicode consistently fix the repro on my side.

Actually all the file icons are unicodes, which could cause the issue too.

Does Neovim/fzf(I'm not sure who controls this) provide some API to "refresh" the terminal buffer every time a user scrolls it (and when it first starts)?

@nyngwang, I don’t know of anything like that, its possible that :redraw will “fix” this (try to resize the neovim window and see if that removes the number characters) but that would require triggering a redraw with every scroll/preview which is a bit heavy handed and far from a solution.
I genuinely think our efforts should be focused in expediting the neovim issue rather than trying to force fzf-lua to work around what is clearly a neovim bug.

@liangxianzhe I have removed all icons and got this:


Component props height and width not working

Hi, I am trying to implement this component in my screen but it doesn't apply the height and width I'm passing, so the component takes a large portion of the screen....
Even when I put ridiculous small values, it shows a pretty big stepper.
Here's my code:
<UIStepper
              imageWidth={20}
              imageHeight={10}
              width={94}
              height={29}
              displayValue={true}
              initialValue={0}
              steps={1}
              borderColor={'transparent'}
              tintColor={'#444'}
              minimumValue={0}
              textColor={'#38B4B7'}
              incrementImage={require('../../utils/images/common/stepper_plus.png')}
              decrementImage={require('../../utils/images/common/stepper_minus.png')}
              onValueChange={(value) => {this._onStepperValueChanged(value)}}
            />

Hey @jgutierrez11 - thanks for submitting the issue.
I will take a look at this later today and push out a potential fix.
Sorry for any inconveniences that this issue has caused.

 Fix measurement props

@jgutierrez11 a fix has been pushed to version 1.2.1.


[Feature request]: Optimize all the delta tables in schema using a function.

Create a function that can take the name of specific tables as input or only the database name and optimize each & every table in the schema one by one. For Example:
"""
def optimize_delta_table(table_name):
try:
delta_table_metadata = spark.sql(f"DESCRIBE EXTENDED {table_name}").toPandas()
delta_table_path = delta_table_metadata[delta_table_metadata["col_name"] == "Location"].iloc[0]["data_type"]
spark.sql(f'OPTIMIZE delta.{delta_table_path}')
except Exception as e:
    error_message = f" Error while optimising the delta table: {delta_table_path} : {e}"
    print(error_message)
    dbutils.notebook.exit(error_message)

"""

@puneetsharma04 I think this feature should be rather part of mack than quinn since this repository focuses on vanilla pyspark enhancements.

Yep, feel free to create an issue on the mack repo if you'd like to discuss this proposal in more detail with the mack community.


Add feature

I suggest instead of showing an error message when makepackage is invoked without any arguments, showing a help message indicating how to use the package will be quite appropriate.

I am not sure about that. An exception suggests that this is an error indeed. Showing a message does not suggest that.
Having said that, I agree that the traditional full traceback in this case does not make much sense. The user does not need traceback at all. So, I'd vote for raising an exception but instead of showing the corresponding traceback, show just the exception (like below) plus a meaning message:
makepackage.makepackage.NoPackageNameError: Provide package name as the first CLI arguments

What do you think?

I think this is also okay.


New workflow

update the tests workflow version to mitigate warnings
test fixing for the merging workflow

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


As an LA I want to enter an approximate planned date

As an LA I want to enter an approximate planned date.
Acceptance criteria

Dates can be entered in the update milestones page without a specified day (just Month and Year)

Authority feedback:

Why do dates need days? this is spurious precision - month / year should be enough


Output more helpful error messages for pipeline runtime errors

Pull request
Description
If we have an error that is locatable within the pipeline source, we are going do display an error message, showing the error within the pipeline source.
Also:

Added integration tests for hygienic runtime error messages
Added possibility to add environment variables in command based tests (turns out it wasnt needed)
Put error messages to stderr when using tremor run.

Related

Related Issues:
fixes #588
fixes #127

Checklist

[x] The RFC, if required, has been submitted and approved
[x] Any user-facing impact of the changes is reflected in docs.tremor.rs
[x] The code is tested
[x] Use of unsafe code is reasoned about in a comment
[x] Update CHANGELOG.md appropriately, recording any changes, bug fixes or other observable changes in behavior

Looks like -0.1% Coverage :(

adding some tests tomorrow morning.

Let me switch the state to draft so we know it's pre-review :)

+0.06% take this codecov! ⚔

Ehrensache! ❤

All tests pass and codecov status is reported, will merge since codecov is still broken :/


Incorrect brace style behavior for JSON and JavaScript

Description
Latest update changes the brace style behavior for JSON and JavaScript. I was use the default config for both JSON and JavaScript. After the update, the formatted file looks different than the one before update.
Input Before Beautification
This is what the code looked like before:
[
    {
        "id": 1,
        "Merge": true,
        "Crane": 650,
        "Crane": 963,
        "LD": 326,
        "Non": 781
    },
    {
        "id": 2,
        "Merge": true,
        "Crane": 444,
        "Crane": 240,
        "LD": 705,
        "Non": 691
    }
]

Expected Output
The beautified code should have looked like this:
[{
    "id": 1,
    "Merge": true,
    "Crane": 650,
    "Crane": 963,
    "LD": 326,
    "Non": 781
}, {
    "id": 2,
    "Merge": true,
    "Crane": 444,
    "Crane": 240,
    "LD": 705,
    "Non": 691
}]

Actual Output
The beautified code actually looked like this:
[{
        "id": 1,
        "Merge": true,
        "Crane": 650,
        "Crane": 963,
        "LD": 326,
        "Non": 781
    },
    {
        "id": 2,
        "Merge": true,
        "Crane": 444,
        "Crane": 240,
        "LD": 705,
        "Non": 691
    }
]

Steps to Reproduce

Add code to Atom editor
Run command Atom Beautify: Beautify Editor
This beautified code does not look right!

Debug
Here is a link to the debug.md Gist: https://gist.github.com/joshuaavalon/842487de88885f84c10c6d62361fa404
Checklist
I have:

[x] Tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[x] Reloaded (or restarted) Atom to ensure it is not a caching issue
[x] Searched through existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues
so I know this is not a duplicate issue
[x] Filled out the Input, Expected, and Actual sections above or have edited/removed them in a way that fully describes the issue.
[x] Generated debugging information and added link for debug.md Gist to this issue

The final options passed to JS Beautify are
{
    "indent_size": 4,
    "indent_char": " ",
    "indent_with_tabs": false,
    "space_before_conditional": true,
    "indent_level": 0,
    "preserve_newlines": true,
    "max_preserve_newlines": 10,
    "space_in_paren": false,
    "jslint_happy": false,
    "space_after_anon_function": false,
    "brace_style": "collapse",
    "break_chained_methods": false,
    "keep_array_indentation": false,
    "keep_function_indentation": false,
    "eval_code": false,
    "unescape_strings": false,
    "wrap_line_length": 0,
    "end_with_newline": false,
    "end_with_comma": false,
    "disabled": false,
    "default_beautifier": "JS Beautify",
    "beautify_on_save": false
}

It looks like a JS Beautify issue you could forward to https://github.com/beautify-web/js-beautify/issues
Also, you could try changing the beautifier to Pretty Diff and seeing if it helps at all.


[Feature] Add Docker Support for Easy Local Setup

Hello,
I'd like to propose a feature that will simplify the local development setup for this project by using Docker. This feature would containerize essential services like our web application and database, making it easier for developers to get started with the project locally.
Proposed Solution:

Create a docker-compose.yml file that will spin up the necessary services (Database, and any other dependencies).
Ensure seamless integration of the services with the existing codebase.
Update the project documentation to include clear instructions on how to use Docker for local development setup.

Benefits:

Developers will no longer need to install and configure these services manually.
It will create a more consistent development environment across different machines.
Faster and easier onboarding for new contributors.

I'm happy to take on this task and get started if you approve this feature!

This issue has already been opened and assigned to someone, kindly look out for other issues.


Delete seft collection instrument

What and why?
This PR updates SEFT collection instruments to call the delete end point in the collection instrument service rather than unlink
How to test?
Deploy this PR to your environment and add and remove seft collection instruments. The other PR has more detailed instructions
Trello

/deploy harrisonj


average_reviews_per_pull into QoS

Let's add average_reviews_per_pull metric to the quality-of-service.rb script. It should calculate the average number of reviews per a pull request.
Maybe relevant to #192

@yegor256 may I take this one?

@Yegorov sure, please go ahead

@rultor release, tag is 0.0.52

@rultor release, tag is 0.0.52

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.0.52

@yegor256 Done! FYI, the full log is here (took me 31min)


Update config for NCBI ALFA release 2

For e105
See related PR: https://github.com/Ensembl/ensembl-variation/pull/749

Tagging @dglemos as per SOP


[enhancement - docs - README.md] - improve grammar and syntax

Enhancement - Documentation - README.md
Purpose: Improve grammar and syntax
Description:
This task involves enhancing the grammar and syntax in the README.md file to ensure clarity and coherence in the documentation. The focus is on refining the language used throughout the document for an improved user experience and understanding.

@gottfriedbasinky thanks a lot for your awesome PR it's really appreciated. A couple of notes:

can you please create the PR against the branch release/1.0.0 ?
can you please add something like: " if you using dcx-react-library let us know... we never gonna charge you but will help us motivating to continue implement new features and new components
if you look in release/1.0.0 for some component already in storybook there's an extra folder called "design system" that is based on tokens... can you document that as well?

Aside that can I know if you part of Capgemini or somewhere else and how did you find us?


Added --safe flag for skipping aliased deployments

When deploying from a release branch, we'd like to automate the process of removing some of the older ones. Currently we are listing the deployments and removing all the ones which aren't being actively pointed to with an alias.
Propose adding a --safe flag to take this process down to a single step. When passing a deployment name all instances will be deleted except for ones that have an active alias. Same goes for explicitly passing an instance ID that happens to be live.
Aside from the convenience for bulk deletions, it will be nice to have the peace of mind with using this flag that we don't accidentally delete a production instance with an overzealous automation script.

@Ignigena
Great proposal and addition to the project, many thanks! 💯


Yield TICK blocks instead of same-operation blocks

The iterators for the circuit blocks should yield TICK blocks (i.e. layers of gate in which each gate is has a maximum of one operation, without including noise channels), not a same-operation block.
This will become useful when having to merge different logical operations.

The logical operations have also been converted to iterators of TICK blocks.


Add faq

The initial draft for FAQ. Should we add a link to it to the README file?

This looks great :+1:
IMO it would be great to have a Read The Docs shield / badge at the top of the README on the repo - I know it's one of the first places that I look for RTD on Python projects, so I guess others do too.

Thank you @jamescooke ! :)
Very good point - added to the master branch in a separate pull request :)


Updated for release 0.17.2

Checklist

[x] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

I think if you add your github handle in the recipe-maintainers section you should automatically get write privileges to this repo once this PR is merged.
On an unrelated note there appears to now be a bot that automatically generates a PR whenever you push a new release to pypi (see e.g. #7).  For future releases on conda you can probably use this rather than opening a PR from the feedstock fork in the fermipy org.  If you only need to bump the version number then you should be able to merge the bot-generated PR without modification.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

There are 1 too many lines.  There should be one empty line at the end of the file.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Provide Column Name in Mismatched Type Error Message

When DataFrame.from_map  throws an error when there is a mismatched type, the error message  does not give the column name where the error was found. This is especially needed when the data is large and not easily printed. For example this does not tell me which column is throwing the error:
Explorer.DataFrame.from_map(%{a: [1, 1.0], b: ["a", "b"]})
> * (ArgumentError) Cannot make a series from mismatched types. Type of 1.0 does not match inferred dtype integer.

This is a very good point. That would be very helpful. I'm not sure at first glance what the best way of going at this is. My initial reaction would be either to pass the context down to Series.from_list/1 or to make Series.check_types/1 public and check the types in DataFrame.from_map/1. But the former seems like an unnecessary complication to the public API and the latter would require checking the types twice.


Remove {fragment} placeholder support

What this PR does / why we need it:
Removes {fragment} placeholder support since it shouldn't be sent to the server and is not something the server supports. Also removes references to fragment in the README.

@erbesharat to bring you up to speed. Usually the fragment of the url is never send to the server so there is not real reason to handle it on the server-side.
What are your thoughts? Have we missed something?


Nuget for Microsoft.PowerShell.Standard.Module.Template does not have recent changes

I noticed that the changes in #25 are not present in the template. It looks like the nuget hasn't been updated.

Updated template to preview.06 and just published to nuget


Transformed CE type can lead to unexpected trigger filters when using --source

If I use a JSON transformation to customise the value of the CE type using stored variables, as such:
context:
- operation: add
  paths:
  - key: type
    value: $region-$category
data:
- operation: store
  paths:
  - key: $region
    value: region
  - key: $category
    value: category

And create this component, where orders-source is a kafka source (not relevant):
tmctl create transformation --name transform-extract-region-category -f orders-add-region-category.yaml --source orders-source
This creates a component which in tmctl describe shows eventType as $region-$category which is actually cool because I know this is going to be a dynamic event type:
transform-extract-region-category     $region-$category                      online(http://localhost:56877)
BUT if I then use this transformation as a source, e.g. in a new transformation:
tmctl create transformation -f orders-eu-formatting.yaml --source transform-extract-region-category
Then this uses the variable expression as part of the filter in the Trigger, e.g. as shown here in the tmctl describe output and in the Trigger CRD:
order-router-trigger-e8079841     order-router-transformation           type is $region-$category
filters:
        - exact:
            type: $region-$category

This filter does not do what I'm expecting it to

Some rough solution ideas

using the actual source metadata attribute could help (again coming back to my metadata issue :sweat_smile: )
the tmctl create command could fail if it sees you're using --source with a component that has variables in its output event type, and could recommend explicitly creating a Trigger instead

Well, I'll elaborate on my slack message here.
You have following transformation:
context:
- operation: add
  paths:
  - key: type
    value: $region-$category
  - key: extensions.region
    value: $region
  - key: extensions.category
    value: $category
data:
- operation: store
  paths:
  - key: $region
    value: region
  - key: $category
    value: category

With this input event payload:
{"hello":"Jonathan"}

Resulting event type (after transformation) will be $region-$category which plays well with the generated trigger filter.
If incoming event payload would look like this:
{"region":"eu"}

The output event type will be eu-$category which, although does not "fit" the trigger filter expectation, also does not make it "not valid".
So there are two components that make this issue solution impossible:

Event types (or any attributes) defined in the transformation with the variables depend on the incoming events data, hence they are entirely unpredictable,
There is no way to figure out if the event type exported by the transformation ($region-$category) consists of variables or if it is just a plain type string (even having $ is not a requirement for the variable).

So, we cannot just disable the filter generation for transformations because we don't have the ability to define if the type is dynamic or not, and we cannot put the expected filter string because the result type depends on the incoming data.
The describe output with the dynamic transformation type ($region-$category) should be taken as a insight of what can be produced by the component, not the eventual result.


[Bot OAuth] Bot Permission Groups

Based off of discord.py permission groups

Includes:

none
all
all_channel
general
membership
text
voice
stage
stage_moderator
elevated
events
advanced

Removed

events

from the permission groups, as I could not find a sufficient amount of permissions to add to this group

Finished

Tested and fixed some issues


How to fix the problem ' fatal: Not a git repository: XXXX'

Hello,
I used the cmd "git submodule update --init --recursive" to update all submodules of px4 like this:

$ git submodule update --init --recursive
Submodule 'NuttX' () registered for path 'NuttX'
Submodule 'Tools/gencpp' () registered for path 'Tools/gencpp'
Submodule 'Tools/genmsg' () registered for path 'Tools/genmsg'
Submodule 'Tools/jMAVSim' () registered for path 'Tools/jMAVSim'
Submodule 'Tools/sitl_gazebo' () registered for path 'Tools/sitl_gazebo'
Submodule 'cmake/cmake_hexagon' () registered for path 'cmake/cmake_hexagon'
Submodule 'mavlink/include/mavlink/v1.0' () registered for path 'mavlink/include/mavlink/v1.0'
Submodule 'mavlink/include/mavlink/v2.0' () registered for path 'mavlink/include/mavlink/v2.0'
Submodule 'src/drivers/gps/devices' () registered for path 'src/drivers/gps/devices'
Submodule 'src/lib/DriverFramework' () registered for path 'src/lib/DriverFramework'
Submodule 'src/lib/ecl' () registered for path 'src/lib/ecl'
Submodule 'src/lib/matrix' () registered for path 'src/lib/matrix'
Submodule 'src/modules/uavcan/libuavcan' () registered for path 'src/modules/uavcan/libuavcan'
Submodule 'unittests/googletest' () registered for path 'unittests/googletest'
Submodule 'jMAVlib' (https://github.com/PX4/jMAVSim.git) registered for path 'jMAVlib'
Submodule 'external/OpticalFlow' (https://github.com/PX4/sitl_gazebo.git) registered for path 'external/OpticalFlow'
Submodule 'external/klt_feature_tracker' (https://github.com/PX4/OpticalFlow.git) registered for path 'external/klt_feature_tracker'
Submodule 'cmake_hexagon' (https://github.com/PX4/DriverFramework.git) registered for path 'cmake/cmake_hexagon'
Submodule 'dspal' (https://github.com/PX4/DriverFramework.git) registered for path 'dspal'
fatal: Not a git repository: j:/PX4_SRC/Firmware/.git/modules/src/lib/DriverFramework/modules/cmake/cmake_hexagon
Unable to find current revision in submodule path 'cmake/cmake_hexagon'
Submodule 'matrix' (https://github.com/PX4/ecl.git) registered for path 'matrix'
Submodule 'dsdl' (https://github.com/UAVCAN/libuavcan.git) registered for path 'dsdl'
Submodule 'libuavcan/dsdl_compiler/pyuavcan' (https://github.com/UAVCAN/libuavcan.git) registered for path 'libuavcan/dsdl_compiler/pyuavcan'
Submodule 'dsdl' (https://github.com/UAVCAN/pyuavcan) registered for path 'dsdl'
Failed to recurse into submodule path 'src/lib/DriverFramework'
I found the following error:
fatal: Not a git repository: j:/PX4_SRC/Firmware/.git/modules/src/lib/DriverFramework/modules/cmake/cmake_hexagon
Unable to find current revision in submodule path 'cmake/cmake_hexagon'
However,  the absolute path is "J:\PX4_SRC\Firmware\cmake\cmake_hexagon"
instead of "src/lib/DriverFramework/modules/cmake/cmake_hexagon"
How to fix it? Thank you in advance!
any help would be appreciated!

Try make submodulesclean

Looking at improving Windows 10 support here - https://github.com/PX4/Firmware/issues/6697


[FEATURE REQUEST] make uninstall

Hello,
It would be nice to have the option make uninstall.
Thank you!

This is usually managed by downstream package systems.  But if you need this, just add a "uninstall" target into the GNUmakefile, have it remove the two files it installs, and submit it as a pull request!


hdf4: remove bin/ncgen for compatibility with netcdf

[X] Have you followed the guidelines in our Contributing document?
[X] Have you checked to ensure there aren't other open Pull Requests for the same formula update/change?
[ ] Does your submission pass brew audit --strict --online <formula> (after doing brew install <formula>)? No; test is missing, but this is not a regression
[X] Does your submission adhere to Versions "Acceptable Formulae" guidelines?

Subsumes #1326 and addresses comments there. Includes a formula revision bump since this changes the set of installed files for the formula.

Thanks @apjanke and @hmjbarbosa!


Email not working in Safari [ only iPhone ]

Sharing through email doesn't seem to be working in safari on the iPhones (tested on iphone 5 and 4). It simply opens a new tab and stops instead of opening the mail app. Works fine on the iPads as well.

Found the fix for the issue --> Change the name attribute in the window.open function to "_self".
so change this :+1:
window.open(t+i,"targetwindow","toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,left="+n.left+",top="+n.top+",width="+n.width+",height="+n.height)
to this :
window.open(t+i,"_self","toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,left="+n.left+",top="+n.top+",width="+n.width+",height="+n.height)

confirmed bug, does your fix also work on desktop still and other browsers?

see #260


Prompt with Llama-2 stops after "Loading checkpoint shards:   0%"

Hi,
I'm trying to get the Llama-2 example working but I'm stuck with the following issue: the program stops with no message.
Any advice on what I can try ?
 Answer with detailed responses according to the entire instruction or question. \n<</SYS>>\n\n Summarize the following book: " --prompt example_inputs/Annette_et_le_criminel.txt  --suffix " [/INST]" --test_unlimiformer --fp16 --length 400 --layer_begin 16 --index_devices 1 --datastore_device 1 11/14/2023 12:56:00 - WARNING - __main__ - device: cpu, n_gpu: 0, 16-bits training: True Using pad_token, but it is not set yet. Loading checkpoint shards:   0%|                                                                                | 0/3 [00:00<?, ?it/s] PS C:\__noel\AAA\github\unlimiformer>

I've got only 16G RAM, I noticed that it is fully used and the disk is used 100% after some time.
Then the program stops.

Hi @XmasRock ,
Thank you for your interest in our work!
I am guessing that this is indeed a memory issue, and when the memory is full, the computer tries to offload data to the disk ("swap").
I think the only option is to use a machine with more RAM, or try a smaller model as the 7B version of llama.
Best,
Uri


[Compatibility] Added LPOS command

Adding LPOS command to garnet

[x] Add LPOS command
[x] Add Test cases
[x] Add documentation
[x] Optimize the array allocation
[x] Fix ACL test failure

Thanks for your continued contributions!
These PRs are very helpful in bridging the gap in Garnet.

@yrajas Fixed the review comments


[1.10.2-2.6.19]Map sometimes derps at certain zoom levels

So, here is what it looks like when at a zoom level where it renders correctly:

And here is when I zoom in one level:

The section that appeared there is my home area, which has a waypoint set at it, and it is where I spend most of my time.
I have yet to figure out exact steps to reproduce. Perhaps a way to force it to refresh itself would be the best solution.
EDIT: I've noticed that this issue seems to be more common when sprint-flying through the world.

at what setting is the texturesize in general options?

at what setting is the texturesize in general options?

Texturesize is 2048


fix fygar fire through moved rocks bug

The current fygar's fire behaviour doesn't work correctly if he's facing a rock that has been moved.
This happens because this object's fire only checks for the initial rock positions.
With this fix, we're updating the rocks positions within their designated place every frame - which, even though not efficient, it fixes the given problem.

Moved the logic to the fygar object.
Removed redundancy - such as the position property (didn't notice that it's parent already owned such a property).

Obrigado! 🎉


Supress Warning and other stuff

How can i supress this ? Also why is it necessary at all ?
===================================BUG REPORT===================================
Welcome to bitsandbytes. For bug reports, please submit your error trace to: https://github.com/TimDettmers/bitsandbytes/issues
================================================================================
CUDA SETUP: CUDA runtime path found: /opt/cuda/lib64/libcudart.so
CUDA SETUP: Highest compute capability among GPUs detected: 7.5
CUDA SETUP: Detected CUDA version 118

the env varialbe BITSANDBYTES_NOWELCOME=1 has to be set to supress it.


get_unvoted_blocks doesn't reflect changelog order

When the vote pipeline starts up, it calls get_unvoted_blocks to get blocks that it missed voting on. This has some issues:

The order of the blocks that is returned doesn't reflect changefeed order
This is alot of useless work for a node joining the federation, their votes won't count since they wont be part of block voters list

Possible solutions:

Remove this; if nodes miss out on changefeed events, they won't vote on blocks they missed
Have nodes walk existing votes to extrapolate correct changefeed order via previous_block.
Order by block timestamp; won't be 100% the same as changefeed order all the time but it'll be pretty good.

This is non critical really... It's incorrect but it shouldn't result in an invalid state.
cc @vrde @roderik @ttmc

Evey block comes with a list of the voters (nodes) it expects to vote upon it. Those nodes have a responsibility to vote.
Figuring out what order to vote in is not as easy. Currently there are edge cases which would make it impossible to determine the global block ordering based on the existing votes (assuming there are some, which there might not be, yet).
Maybe ordering the votes by block timestamp would be good enough. What about when there are two blocks with the same timestamp (which only has a one second precision)?
Maybe we can defer this question until we have the global, fully-replicated block-order table (which is in the medium-term roadmap).

Maybe ordering the votes by block timestamp would be good enough. What about when there are two blocks with the same timestamp (which only has a one second precision)?

They have to be dependency ordered in this case.

Rethinkdb won't vote on blocks they missed, Mongodb will vote by last_ts


Can I use sync ?

just it async?

localForage is an async-only API/library. Synchronous calls are incompatible with the underlying storage mechanisms (IndexedDB, WebSQL, etc.) used.


Terms that indicate that a record is an intervention (sampling action, catch)

Strings to look for in the "Actie" field:

vangst
nevenvangst
geschud
gevangen

check glob: (vang)
check glob: (schud)

aantal ?
for Vespa valutina:

Nest bestreden -> it was removed/killed
NOT: Nest verwijderd -> the nest was removed from the tree
NOT: Nest niet verwijderd

Planten

behandeld
if there is an action, it's always an intervention

For effort
The record always reflects the current situation, but if you want to know what has changed, you need to look at the previous record(s). So it doesn't show the history, it does show the current situation.
So if you want to know what traps were out when the animal was caught, you need to look at what material was out in the previous record.
If there is a catch in the first record, assume no material was used. (Or material was unknown)

If it is not an action, it's an observation. It could be an absence, but it's still an observation.

waarneming is only ever entered once per case, but is repeated per record in a case. So the first record is always an observation, but could also be an intervention.

The first record doesn't need to be the one where waarneming is filled in, but the first one where it is filled in, is the one that should count as casual observation
If there are records without waarneming, before one is entered, they are administrative steps before the first field visit from RATO.

For an observation, we need to look at the status field, it should be openstaand_veldwerker or opvolging

It's more complicated:
Status in {openstaand_veldwerker, opvolger}{

name of veldwerker different than the one of the previous record (including empty to non empty)
}
else {
if action field is one of (vang, schud aantal, nest bestreden, behandeld) {action}else{observation}

}else{skip the record}

We are not receiving this status field I suspect, so we can't use it in this decision tree

casual observation

I assume basisOfRecord should be set to casual observation if it's an observation, and to humanObservation if it's an intervention (??)

I do have Dossier_Status but not Planning_uitvoerders

In Dossier_Status I only have Opvolging or Verwerkt en afgesloten

For rats:
on private land, the owner can call that they saw a rat, this is an occurrence. But we don't get these records (dossier status Opvolging administratie or openstaand veldwerker), otherwise it's an intervention:
There should be a field Materiaal_consumptie -> then it's definitely a management interaction, unless it's bak buis, those are always a management intervention.
It's possible if you do a management interaction that you don't see a rat, it could be a trail or a mark. If the poison is not eaten, the status should change to afgewerkt en afgesloten. But it is really more complicated:
On private land, they only go once, explain what they have to do, startup with vermin, and then they have to do it themselves, so then we don't know what happened next.
If they see a rat or traces, they might (very rarely) put it in action or waarneming, but it's not a general thing.
So as a conclusion, for rats, we don't get any occurrence data really.


Unexpected behaviour of  $status and $pending

Summary
Calling query.start() multiple times leads to unexpected behaviour of  $status and $pending with TAKE_LATEST strategy.
Steps to reproduce

go to https://codesandbox.io/p/devbox/quizzical-bohr-xxl72n
open console
quickly press a few buttons

Expected behaviour
[Log] status – "pending"
[Log] pending – true
[Log] pending – false
[Log] status – "done"
[Log] data – {...}
Actual behaviour
[Log] status – "pending"
[Log] pending – true
[Log] status – "initial"
[Log] pending – false
[Log] status – "done"
[Log] data – {...}

Thanks for the report. It's fixed in 0.11.1


Design updates to the Expensify.cash login page

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

Deliverables:
Apply new design and copy updates on the login page at expensify.cash

Fonts and design assets are available in the code repository
Once hired, we will also share the Figma file directly to assist with font sizing
This project has a firm 7-day turnaround time

New (desired) design:

Current (old) design:

Platform:
✔ Web
✔iOS
✔Android
✔Desktop App
✔Mobile Web
Version Number: 1.0.45-0
Expensify/Expensify Issue URL:
https://github.com/Expensify/Expensify/issues/162030
View all open jobs on Upwork

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

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

This job has been posted to Upwork: https://www.upwork.com/jobs/~013f470ea624127142

Proposal 📄
Apply new design and copy updates on the login page at expensify.cash

Fonts and design assets are available in the code repository
Once hired, we will also share the Figma file directly to assist with font sizing
This project has a firm 7-day turnaround time

Approach 👨🏼💻
File of concern : /src/pages/signin/LoginForm.js

As we need to introduce changes to the web, we need to consider both the layouts (mobile and desktop)
SignInPageLayoutNarrow & SignInPageLayoutWide.
Styling should be done using the style helper already present in the code styles.p1, ...
Images should be optimised hence webp or png will be used (if approved). This will improve the performance and reduce the Time to First Meaningful Paint (FMP).
As this is the root/entry point of the app accessibility should be taken care of to improve UX.

Best Practices 💃🏼

No hard-coded string (will be using en.js)
No inline styling
Accessibility
Follow React Native best practices

Testing Strategy 🧪
Basic render tests
Expected Delivery Time 📦
Approx 1 week
Previous Experience 🙅🏼♂

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

@stephanieelliott looking forward to your feedback on the proposal ☝🏼
Good Day :)

Hi @pranshuchittora I had a couple of questions/concerns about your proposal.
It doesn't appear from the problem statement that using highly optimized assets is a concern yet. I think it would be best to plan to use whatever is provided and we can come back later and optimize it if we need to.
I don't think accessibility is part of this at all either, so you don't need to worry about that in your proposal.
I think if you remove both of those things, then the rest looks good to me! 👍

@pranshuchittora I extended the offer to you on Upwork!

@tgolen there are few props over here
https://github.com/Expensify/Expensify.cash/blob/main/src/pages/signin/SignInPageLayout/SignInPageLayoutNarrow.js#L23:L24
I am not sure how to deal with them because in the new narrow design there is not screenshot (context shouldShowWelcomeScreenshot)

If those aren't part of the new design, I think you can just remove them. I looked at them, and it doesn't look like those props are passed from anywhere either, so it should be fine to clean those up.

If those aren't part of the new design, I think you can just remove them. I looked at them, and it doesn't look like those props are passed from anywhere either, so it should be fine to clean those up.

https://github.com/Expensify/Expensify.cash/blob/dc0c8b74ac04e3fd22865a3229743f0d270f7b43/src/pages/signin/SignInPage.js#L88:L89

Well, they are being passed there as you point out, but SignInPageLayout doesn't pass them to either SignInPageLayoutWide or SignInPageLayoutNarrow, so I think they are totally useless.

Hey @pranshuchittora, any updates on when we can expect a PR?

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

Oops, sorry Tom, I didn't mean to assign this to you.

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

@timszot I am going to be going OOO for the next 10 days, so I reassigned this using the exported chore. Thanks for taking over for me!

Another bump @pranshuchittora, we're nearing a deadline on this -  can you please address the requested changes?

@stephanieelliott there's some issue with the refactored/migrated like opening component TextLink.
I tried migrating but facing some issue. It would be great If I get a response on this
https://github.com/Expensify/Expensify.cash/pull/3079#issuecomment-859872305
Can you pls amplify this, so that it gets addressed ASAP

Hi @pranshuchittora looks like we are waiting on you to address additional changes. If you are having trouble resolving, please ask for assistance in the #expensify-open-source Slack channel so that the team can help ASAP.

Blocker due to TermsWithLicenses component
Slack thread -> https://expensify.slack.com/archives/C01GTK53T8Q/p1623814030375300

Add'l changes requested, waiting on them to be addresses and then re-review.

Add'l changes requested, waiting on them to be addresses and then re-review.

I have updated the PR waiting for review

More changes applied, PR is awaiting internal review!

Reopening to keep track of payment


[old bug happen again] deletes funded offers thinking they are unfunded

I think this had been fixed by https://github.com/ripple/rippled/commit/2b91e62d5d9256c1d851807190cefd645276916e ,but it happened again.
transaction
"hash": "3A4C63FFFDAEA1D725F9901D325DE8DED8721A8D3018E183F20B391633D278A4",
as I checked, it caused to delete rCut663MvYAGVrYeRR1jdHtYjHLy5zwuy 's offer hash:1BF8FDD85FF3DB2F1E70F4D22952DD8BA0AE9FFB74AB993B473D44AE26187098
rKY5KrMxePseZnNjRFCNKPCB3tALaUrsM4's offer hash:C7623EF43B61B7A290B888ACDF98CFE975C7BB4FC798DAD4ACC3BC13E6FBD42F and 0A8D46406C38D2F52FA477C8D9B1F3CFC07363B25EC9C96068A8CC0D0746FA76 and 0C103C3A46C340291BF212F9283446F5F6BAE977EE1C2E62F8259E89F6241AEA.
I'm not check all the offers this tx had affected.
rKY5KrMxePseZnNjRFCNKPCB3tALaUrsM4 report this in RippleFox QQ group.
please check&fix.  @seelabs @nbougalis @vinniefalco

Thank you for the report.
This issue has been addressed in release as of 0.30.1-hf2 with commit 675cbb72a6704eaec9ccc7c3c3917bcb1ec4b110. The fix is also in develop as of 0.31.0-b11 with commit d8ee487c196bf5972ad2b0f153df56008e0b02ac.


Private registry push fails (S3): Error with Blob unknown to registry

Hi,
We are running with the latest Registry 2.4.0 and trying to use S3 as the backend.
When pushing an image to the registry, it keeps retrying until ultimately ending in "Image push failed". Once the image push has failed the following errors are available:
docker logs registry | grep -E '500 |error'

time="2016-04-15T06:11:36Z" level=error msg="response completed with error" err.code="blob unknown" err.detail=sha256:c807ad6f343636e38ac12b5cf4cc90529a8e26e295f9f5f5a746a269b64f9d74 err.message="blob unknown to registry" go.version=go1.6.1 http.request.host="docker.dev.ourown.net:5000" http.request.id=f2ba32b9-c0d8-43ae-aa76-4f8061bc4cc8 http.request.method=HEAD http.request.remoteaddr="<IP_ADDRESS>:56405" http.request.uri="/v2/webgateway/blobs/sha256:c807ad6f343636e38ac12b5cf4cc90529a8e26e295f9f5f5a746a269b64f9d74" http.request.useragent="docker/1.11.0 go/go1.5.4 git-commit/4dc5990 kernel/3.13.0-48-generic os/linux arch/amd64 UpstreamClient(Docker-Client/1.11.0 \\(linux\\))" http.response.contenttype="application/json; charset=utf-8" http.response.duration=14.143871ms http.response.status=404 http.response.written=157 instance.id=cf4d4f88-151e-4c73-82f5-f378294f2d76 vars.digest="sha256:c807ad6f343636e38ac12b5cf4cc90529a8e26e295f9f5f5a746a269b64f9d74" vars.name=webgateway version=v2.4.0

time="2016-04-15T06:11:36Z" level=error msg="response completed with error" err.code="blob unknown" err.detail=sha256:7a90e5079b15df521550cfa6ba5f2ae07a60f08fcb081560bafc6418a22c9faa err.message="blob unknown to registry" go.version=go1.6.1 http.request.host="docker.dev.ourown.net:5000" http.request.id=0d0c45d2-89d2-4580-8215-34fba6a0266a http.request.method=HEAD http.request.remoteaddr="<IP_ADDRESS>:56407" http.request.uri="/v2/webgateway/blobs/sha256:7a90e5079b15df521550cfa6ba5f2ae07a60f08fcb081560bafc6418a22c9faa" http.request.useragent="docker/1.11.0 go/go1.5.4 git-commit/4dc5990 kernel/3.13.0-48-generic os/linux arch/amd64 UpstreamClient(Docker-Client/1.11.0 \\(linux\\))" http.response.contenttype="application/json; charset=utf-8" http.response.duration=14.924243ms http.response.status=404 http.response.written=157 instance.id=cf4d4f88-151e-4c73-82f5-f378294f2d76 vars.digest="sha256:7a90e5079b15df521550cfa6ba5f2ae07a60f08fcb081560bafc6418a22c9faa" vars.name=webgateway version=v2.4.0

time="2016-04-15T06:11:36Z" level=error msg="response completed with error" err.code="blob unknown" err.detail=sha256:bfe199ea6ecf24ff769f2c9c0a65eba5f2816e6a11c7c8c2b36b7a6da0087e0d err.message="blob unknown to registry" go.version=go1.6.1 http.request.host="docker.dev.ourown.net:5000" http.request.id=6e4bad09-ce07-4811-bac6-176ed6192a54 http.request.method=HEAD http.request.remoteaddr="<IP_ADDRESS>:56409" http.request.uri="/v2/webgateway/blobs/sha256:bfe199ea6ecf24ff769f2c9c0a65eba5f2816e6a11c7c8c2b36b7a6da0087e0d" http.request.useragent="docker/1.11.0 go/go1.5.4 git-commit/4dc5990 kernel/3.13.0-48-generic os/linux arch/amd64 UpstreamClient(Docker-Client/1.11.0 \\(linux\\))" http.response.contenttype="application/json; charset=utf-8" http.response.duration=31.48559ms http.response.status=404 http.response.written=157 instance.id=cf4d4f88-151e-4c73-82f5-f378294f2d76 vars.digest="sha256:bfe199ea6ecf24ff769f2c9c0a65eba5f2816e6a11c7c8c2b36b7a6da0087e0d" vars.name=webgateway version=v2.4.0

time="2016-04-15T06:11:36Z" level=error msg="response completed with error" err.code="blob unknown" err.detail=sha256:9f8ccdfa573d9fe166cb9f20e1d05eec768f648879c519eabe686f1f75ab6cf6 err.message="blob unknown to registry" go.version=go1.6.1 http.request.host="docker.dev.ourown.net:5000" http.request.id=e3c04a84-ed10-433d-a579-95b6a4399b75 http.request.method=HEAD http.request.remoteaddr="<IP_ADDRESS>:56412" http.request.uri="/v2/webgateway/blobs/sha256:9f8ccdfa573d9fe166cb9f20e1d05eec768f648879c519eabe686f1f75ab6cf6" http.request.useragent="docker/1.11.0 go/go1.5.4 git-commit/4dc5990 kernel/3.13.0-48-generic os/linux arch/amd64 UpstreamClient(Docker-Client/1.11.0 \\(linux\\))" http.response.contenttype="application/json; charset=utf-8" http.response.duration=24.663973ms http.response.status=404 http.response.written=157 instance.id=cf4d4f88-151e-4c73-82f5-f378294f2d76 vars.digest="sha256:9f8ccdfa573d9fe166cb9f20e1d05eec768f648879c519eabe686f1f75ab6cf6" vars.name=webgateway version=v2.4.0

time="2016-04-15T06:11:36Z" level=error msg="response completed with error" err.code="blob unknown" err.detail=sha256:683680549799915daca7cd05676b1d96ad05e63423d074d5aefd7d9240dc9a83 err.message="blob unknown to registry" go.version=go1.6.1 http.request.host="docker.dev.ourown.net:5000" http.request.id=8c6e5366-a2d1-4294-bd03-67c98efb4674 http.request.method=HEAD http.request.remoteaddr="<IP_ADDRESS>:56416" http.request.uri="/v2/webgateway/blobs/sha256:683680549799915daca7cd05676b1d96ad05e63423d074d5aefd7d9240dc9a83" http.request.useragent="docker/1.11.0 go/go1.5.4 git-commit/4dc5990 kernel/3.13.0-48-generic os/linux arch/amd64 UpstreamClient(Docker-Client/1.11.0 \\(linux\\))" http.response.contenttype="application/json; charset=utf-8" http.response.duration=32.042124ms http.response.status=404 http.response.written=157 instance.id=cf4d4f88-151e-4c73-82f5-f378294f2d76 vars.digest="sha256:683680549799915daca7cd05676b1d96ad05e63423d074d5aefd7d9240dc9a83" vars.name=webgateway version=v2.4.0

I can see it creates buckets in S3, so it has connection to it - the configuration is as follows:
docker run \
         -v `pwd`/certs:/certs \
         -e "REGISTRY_STORAGE=s3" \
         -e "REGISTRY_STORAGE_S3_REGION=eu-west-1" \
         -e "REGISTRY_STORAGE_S3_BUCKET=docker-registry" \
         -e "REGISTRY_STORAGE_S3_ACCESSKEY=[OWNKEY]" \
         -e "REGISTRY_STORAGE_S3_SECRETKEY=[OWNKEY]" \
         -e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt" \
         -e "REGISTRY_HTTP_TLS_KEY=/certs/domain.key" \
         -d \
         -p 5000:5000 \
         registry:2.4.0

Blob missing errors are not necessarily an indication of error:  the daemon will issue Stat calls to the registry to determine if it needs to upload something and use 404 as an indication that it should.
Can you post the registry logs without filtering (up to the first failure should be sufficient).
Are you using an IAM for the registry?
Do the S3 logs indicate any errors?

I have attached the complete log from starting the registry to the client making the push failing.
I am trying to get the S3 logs, will post them here asap.
No IAM is used for the machine.
Thanks!
out.txt

I'm interested to see those logs.
Also, which docker engine are you using?  I see  UpstreamClient(Docker-Client..) in the user-agent string.  The logs from the engine (run in debug mode) may shed more light onto this.

Sorry for the late reply, took some time to get ahold of it. Attached is the S3 logs.
It is currently running Docker 1.11 on both sides.
logs.zip

I can't see anything amiss there.
Do you have the logs from the engine (run in debug mode)?

Attached are the logs from the registry engine running in debug mode
out.txt

@jlandersen There is no reference to a docker push in those logs.

@RichardScothern apologies, I thought you wanted it for the registry - here it is for the client making the push.
I am seeing some error messages in there related to a self-signed cert - is this not possible when using S3 as storage?
Attachment:
out.txt

There is an outstanding bug for this in the engine.  For more details:
https://github.com/docker/distribution/issues/426#issuecomment-95851710
The fix is to append your own ca.crt to a complete ca-certificates.crt and use the result as /etc/docker/certs.d/REGISTRY/ca.crt. assume ca-certificates.crt is some full CA-chain from your favorite OS
cat ca-certificates.crt ca.crt >> ca-full.crt
cp ca-full.crt /etc/docker/certs.d/REGISTRY/ca.crt

I am facing similiar issue , the image upload process ends normally on the client but there is no image in docker-hub repo , from the logs i see:
Aug 12 10:29:51 cmsbuild7-01 dockerd: time="2016-08-12T10:29:51.091865728+02:00" level=error msg="Upload failed, retrying: blob upload unknown"
Aug 12 10:29:57 cmsbuild7-01 kernel: XFS (dm-1): Mounting V4 Filesystem
Aug 12 10:29:57 cmsbuild7-01 kernel: XFS (dm-1): Ending clean mount
Aug 12 10:33:28 cmsbuild7-01 dockerd: time="2016-08-12T10:33:28.360053301+02:00" level=error msg="Not continuing with push after error: context canceled"

@iahmad-khan : i'm not sure how this is the same issue.  Your output says the upload was cancelled.  If you are seeing a bug with the registry please file a new issue with the relevant details:
https://github.com/docker/distribution/blob/master/CONTRIBUTING.md#reporting-an-issue-properly

I met the same issue with the harbor behind nginx ingress.  the registry service is registry:5000 and harbor nginx service is nginx:80,
I push image to registry:5000 and nginx:80 worked OK,  and got "blob unknown to registry" from nginx ingress.
So I think there have some thing like digest in header had bean erased by nginx ingress.

It worked OK when I removed the tls from ingress config.

@shenshouer I meet the same error. How do u resolve this probelm?

I encounter the same issue. Is there any solution but removing the tls from ingress config?

I encounter the same issue. Is there any solution but removing the tls from ingress config?

I was trying to deploy registry in  Kubernetes but got the same error.
I got it to work by removing forced redirects to SSL/TLS.
  annotations:
    kubernetes.io/ingress.class: nginx # use created nginx ingress
    cert-manager.io/cluster-issuer: "letsencrypt-issuer" # user created issuer
    # nginx.ingress.kubernetes.io/ssl-redirect: "true" # force all traffic to https < ---- comment out this line
    nginx.ingress.kubernetes.io/proxy-body-size: 1000m

Solved via:
proxy_set_header X-Forwarded-Proto "https";
in nginx config.

There is an outstanding bug for this in the engine.  For more details:
https://github.com/docker/distribution/issues/426#issuecomment-95851710
The fix is to append your own ca.crt to a complete ca-certificates.crt and use the result as /etc/docker/certs.d/REGISTRY/ca.crt. assume ca-certificates.crt is some full CA-chain from your favorite OS
cat ca-certificates.crt ca.crt >> ca-full.crt
cp ca-full.crt /etc/docker/certs.d/REGISTRY/ca.crt

Hi,
I suspect untrusted registry cert by docker client.
Work well without certificates. No proxy.
When I upgrade to TLS on port 5000, got "blob unknown to registry" (certificate signed by private PKI, ca.crt deployed on Debian). But pushing to Harbor with same docker client works well on https.
I switch registry to 443 and it works !

Can confirm. Tried everything under the sun including the proxy header options here. Nothing worked except changing the container registry to its own subdomain and going to 443 instead of 5050.

My current approach is to use the local site, store the data locally, and then I sync the data to the minio cluster every night
mc cp --recursive /home/dockerstore/ shandong/docker-registry

If you're using haproxy, http-request add-header X-Forwarded-Proto https if { ssl_fc } in the backend section works.


Django User object Anonymous on request during checks

I have a Django Rest Framework API and I am using Waffle.
I am using JWT authentication, and ModelViewSet classes with the mixin WaffleFlagMixin, and a custom Flag model very similar to the one given as an example in the docs.
The Flag has been having weird behaviours where, even if logged in, the user variable during Waffle checks was always set to an AnonymousUser.
After many trials and errors and debugging the code under different scenarios, I managed to fix it and it seems to me that the problem is the dispatch method of WaffleFlagMixin (https://github.com/django-waffle/django-waffle/blob/master/waffle/mixins.py#L29) doesn't call the self.initialize_request method (https://www.django-rest-framework.org/api-guide/views/#initialize_requestself-request-args-kwargs)
This is where it seems that the request.user variable is set, at least with JWT authentication.
Is this something that should be fixed? I am surprised nobody faced this error before, or maybe this is an edge case
For now I can monkey-path the Waffle Mixin and be fine.
Also wondering: How does this affect the other ways a view will use Waffle? What about using a Custom Flag model?
I can make a reproducible project to show the bug if there is interest in addressing this :man_shrugging:

I ended up writing an "Adapter Mixin" close to the following:
class WaffleAdapterMixin(WaffleFlagMixin):
    def dispatch(self, request, *args, **kwargs):
        request = self.initialize_request(request, *args, **kwargs)
        ...
        return super().dispatch(request._request, *args, **kwargs) # https://stackoverflow.com/a/35442073/4017403

I am realizing now that this issue is also due to the fatc that I am using Django REST framework, and that my above code could be part of a DRF sub-library.
If we can hear back from one of the contributors and some guidance, I could work on such a PR

Can you provide an example of a view that breaks?

@clintonb I'll try making a repository which reproduces all the above this week

Simple solution, just switch the order of classes would solve this problem:
class FooViewSet(ModelViewSet, WaffleFlagMixin):


Introduce InferContext

Summary
I'm currently on the fence about landing the #14760 PR because it's unclear how we'd support tracking used and unused suppression comments in a performant way:

Salsa adds an "untracked" dependency to every query reading accumulated values. This has the effect that the query re-runs on every revision. For example, a possible future query unused_suppression_comments(db, file) would re-run on every incremental change and for every file. I don't expect the operation itself to be expensive, but it all adds up in a project with 100k+ files
Salsa collects the accumulated values by traversing the entire query dependency graph. It can skip over sub-graphs if it is known that they contain no accumulated values. This makes accumulators a great tool for when they are rare; diagnostics are a good example. Unfortunately, suppressions are more common, and they often appear in many different files, making the "skip over subgraphs" optimization less effective.

Because of that, I want to wait to adopt salsa accumulators for type check diagnostics (we could start using them for other diagnostics) until we have very specific reasons that justify regressing incremental check performance.
This  PR does a "small" refactor that brings us closer to what I have in #14760 but without using accumulators. To emit a diagnostic, a method needs:

Access to the db
Access to the currently checked file

This PR introduces a new InferContext that holds on to the db, the current file, and the reported diagnostics. It replaces the TypeCheckDiagnosticsBuilder. We pass the InferContext instead of the db to methods that might emit diagnostics. This simplifies some of the Outcome methods, which can now be called with a context instead of a db and the diagnostics builder. Having the db and the file on a single type like this would also be useful when using accumulators.
This PR doesn't solve the issue that the Outcome types feel somewhat complicated nor that it can be annoying when you need to report a Diagnostic, but you don't have access to an InferContext (or the file). However, I also believe that accumulators won't solve these problems because:

Even with accumulators, it's necessary to have a reference to the file that's being checked. The struggle would be to get a reference to that file rather than getting a reference to InferContext.
Users of the HasTy trait (e.g., a linter) don't want to bother getting the File when calling Type::return_ty because they aren't interested in the created diagnostics. They just want to know what calling the current expression would return (and if it even is a callable). This is what the different methods of Outcome enable today. I can ask for the return type without needing extra data that's only relevant for emitting a diagnostic.

A shortcoming of this approach is that it is now a bit confusing when to pass db and when an InferContext. An option is that we'd make the file on InferContext optional (it won't collect any diagnostics if None) and change all methods on Type to take InferContext as the first argument instead of a db. I'm interested in your opinion on this.
Accumulators are definitely harder to use incorrectly because they remove the need to merge the diagnostics explicitly and there's no risk that we accidentally merge the diagnostics twice, resulting in duplicated diagnostics. I still value performance more over making our life slightly easier.

A shortcoming of this approach is that it is now a bit confusing when to pass db and when an InferContext. An option is that we'd make the file on InferContext optional (it won't collect any diagnostics if None) and change all methods on Type to take InferContext as the first argument instead of a db. I'm interested in your opinion on this.

I feel like the direction we were heading in the discussion this morning is to continue returning outcome/result types from Type operations, and keep nodes/locations in TypeInferenceBuilder (and sometimes passed into methods on those outcome/result types, which can then emit diagnostics.)
I think this direction makes sense. I don't want to be passing, or to require, nodes/locations  everywhere in Type methods. This means we can't emit diagnostics in arbitrary places in Type methods, either.
Given that approach, I don't think it's too hard to understand where to pass Db vs InferContext. Type methods should only require a Db. InferContext should only be used where we need to emit diagnostics, which will generally just be in a few methods on result/outcome types.


uv tool install omits data scripts

See: https://github.com/astral-sh/uv/issues/4688#issuecomment-2200016362

I think we have to parse the RECORD file to do this reliably. The .data directory is deleted during wheel install (per the spec) so there's no other connectivity between the installed environment and the scripts.


Add type 2 file uploads using p2sh scriptSig data space

As defined in the BFP spec, type 2 file uploads represent data storage using p2sh scriptSig.  Current network rules allow each input to contain up to 1650KB of data in scriptSig.  With the 25 transaction chain network policy, we should be able to use this to get files uploaded that are larger than 30KB in size.  This is also a more efficient way to store data, rather than using OP_RETURN space which is currently limited to 220 bytes.

Larger than 30MB in size?


update macos check template

[ ] read the CONTRIBUTING guidelines
[ ] raised a GitHub issue or discussed it on the projects chat beforehand
[ ] added unit tests
[ ] added integration tests
[ ] updated documentation if needed
[ ] updated CHANGELOG.md

fix #1085

great! thanks!


fix: export yjs to es2020 to support ssr

here is an example of vite setup to support ssr https://github.com/SebastianStehle/yjs-redux/issues/4
however I nuked the sample build. I think we could have a second vite config in the sample's folder. I don't know how you want to trigger it from package.json. also for the dev command, you might want to combine something like "vite build --watch && cd sample && vite"

Thanks. I have to dig into that later. I am not at my desk at the moment

Right now we do not even use vite for the build of the lib, why is your change needed? I don't really understand what you want to achieve exactly.

I used the only way I know to export correctly a lib with rollup and vite, but feel free not to use vite. goal is to be able to not get the library throw in a node context. the error was something like cannot find the module binder-hooks.ts

I could not find any good samples for libs plus samples so I was looking for a solution that works great for development. if you want to improve it, you should also try to handle the sample. A separate project would be fine for me.