Switch to multi-stage build

Dockerfile updated to use multi-stage builds.
Unnecessary commands in Dockerfile removed.
NodeGoat image size reduced from 951 MB to 97.4 MB by using node:4-alpine

If the image is affecting the project let me know so i can revert it to node:4.4 as the version of node:4-alpine currently is 4.9.1 and the version of node:4.4 is 4.4.7 however i did not consider it a problem as the documentation says: requires Node v4.4 or above

Removed links from docker-compose.yml as by default the 2 services will be linked with the network that will be created when you run docker-compose up

Looks ok to me.
Do we have a reason not to use alpine, such as any demos this might impact?

Generally speaking, using alpine based or debian/centos based most of time it was related to npm install process (the packages that needs to be built during the installation)  but as we have it in a separate stage it wont be a problem.
Regarding NodeGoat in specific, it does not mention any specific distribution to use, so i assume that using alpine or debian based wont be an issue unless you have a certain demo you want to test to make sure of the stability of the project then let me know which one so i can take a look at it.

Hi @mostafahussein
Can you copy->past the file ownership and permissions please? Does the file ownership and permissions still look like the second example here?
The:
RUN ls -liah
RUN ls ../ -liah

Is to demonstrate the ownership and permissions changes.
In the docker-compose.yml the:
    expose:
      - "27017"

Is essentially documentation. Is there a reason to remove it?
links expresses the dependency. mongo needs to be running first.

I also don't see any reason why we shouldn't use apline if using multi-stage builds

Hi @binarymist ,

Regarding the output of:

RUN ls -liah
RUN ls ../ -liah

The result will showing that app directory is owned by nodegoat_docker also i suggest to rename it nodegoat only for readability because it will displayed as nodegoad only so to avoid confusion naming it to nodegoat might be a better option
Here is the output:
Step 14/18 : RUN ls -liah
 ---> Running in a60cb9fd5731
total 508
3813706 drwxr-sr-x    1 nodegoat nodegoat    4.0K Mar 22 21:41 .
3813705 drwxr-sr-x    1 nodegoat nodegoat    4.0K Mar 22 14:28 ..
3813707 drwxr-xr-x    1 nodegoat nodegoat    4.0K Mar 22 15:03 .git
3813778 -rw-r--r--    1 nodegoat nodegoat     178 Mar 22 14:10 .gitignore
3813779 -rw-r--r--    1 nodegoat nodegoat    1.9K Mar 22 14:10 .jshintrc
3813780 -rw-r--r--    1 nodegoat nodegoat      55 Mar 22 14:10 .nodemonignore
3813781 -rw-r--r--    1 nodegoat nodegoat     667 Mar 22 21:41 Dockerfile
3813782 -rw-r--r--    1 nodegoat nodegoat    6.6K Mar 22 14:10 Gruntfile.js
3813783 -rw-r--r--    1 nodegoat nodegoat   10.0K Mar 22 14:10 LICENSE
3813784 -rw-r--r--    1 nodegoat nodegoat      48 Mar 22 14:10 Procfile
3813785 -rw-r--r--    1 nodegoat nodegoat    5.5K Mar 22 14:10 README.md
3813786 drwxr-xr-x    1 nodegoat nodegoat    4.0K Mar 22 14:10 app
3813787 -rw-r--r--    1 nodegoat nodegoat     527 Mar 22 14:10 app.json
3947501 drwxr-xr-x    1 nodegoat nodegoat    4.0K Mar 22 14:10 artifacts
3947506 drwxr-xr-x    1 nodegoat nodegoat    4.0K Mar 22 14:10 config
3813805 -rw-r--r--    1 nodegoat nodegoat     192 Mar 22 14:45 docker-compose.yml
3947513 drwxr-sr-x    1 nodegoat nodegoat    4.0K Mar 22 21:41 node_modules
3813806 -rw-r--r--    1 nodegoat nodegoat  404.5K Mar 22 14:10 package-lock.json
3813807 -rw-r--r--    1 nodegoat nodegoat    1.6K Mar 22 14:10 package.json
3813808 -rw-r--r--    1 nodegoat nodegoat    4.6K Mar 22 14:10 server.js
3813809 drwxr-xr-x    1 nodegoat nodegoat    4.0K Mar 22 14:10 test
Removing intermediate container a60cb9fd5731
 ---> 6101db444b69
Step 15/18 : RUN ls ../ -liah
 ---> Running in 5e8b3631a290
total 12
3813705 drwxr-sr-x    1 nodegoat nodegoat    4.0K Mar 22 14:28 .
3813704 drwxr-xr-x    1 root     root        4.0K Mar 22 14:28 ..
3813706 drwxr-sr-x    1 nodegoat nodegoat    4.0K Mar 22 21:41 app
Removing intermediate container 5e8b3631a290

I just removed it to make lower the total of the image layers.

expose existence is not affecting the application functionality because both of web and mongo are inside the same network. so web  will access the mongodb's port normally in this case.

lastly the links indeed represent the dependency and the order as you said however it does not grantee that the mongodb is ready for connections. if that's what you mean then can add a script like wait-for which wont run any commands from web unless mongo is ready for connections, what do you think ?

We probably don't need the application files to be world readable, hence the existing RUN chmod --recursive o-wrx $workdir, it'd be good to re-include this or something similar that has the same effect.

I just removed it to make lower the total of the image layers, other than that i didn't know the reason behind adding it so i have removed it.

Removed what (what is "it")?
I think it makes sense to have self documenting code, please leave the expose command intact.

lastly the links indeed represent the dependency and the order as you said however it does not guarantee that the mongodb is ready for connections. if that's what you mean then can add a script like wait-for which wont run any commands from web unless mongo is ready for connections, what do you think ?

Sounds good, a wait-for script is a good idea.
Thanks.

I have added wait-for and the other modifications requested, also i have updated my previous comment regarding it to make it clearer.

May want to make the user you're creating a system user (-S). I use this option here for example.
I'm not sure how you're getting nodegoat as the user, group listing when USER is still defined as nodegoat_docker?
Have you tested it?
Thanks.

I have modified the Dockerfile to create system user/group (I haven't pushed the changes yet). Regarding the name in ls output i am not sure also why it appears like this but maybe something related with the name length as the image is works as expected and yes i have tested it by running the application and log in, I have checked /etc/passwd and the user is there as expected. What about renaming it to nodegoat instead ?

I found that there is s permission for group - as you will notice in the output in my previous comment - added in the second stage i have added: chmod -R g-s /home/$USER to remove this extra permission.

I have added .dockerignore file and added the following content to it in order to avoid having these files in the final image:

Dockerfile
docker-compose.yml
.dockerignore
.git
.gitignore

The current output as below:
Step 16/19 : RUN ls -liah
 ---> Running in 11108f861422
total 492
10362009 drwxr-x---    1 nodegoat nodegoat    4.0K Mar 23 11:29 .
10362008 drwxr-xr-x    1 nodegoat nodegoat    4.0K Mar 23 09:13 ..
10362010 -rw-r-----    1 nodegoat nodegoat    1.9K Mar 22 14:10 .jshintrc
10362011 -rw-r-----    1 nodegoat nodegoat      55 Mar 22 14:10 .nodemonignore
10362012 -rw-r-----    1 nodegoat nodegoat    6.6K Mar 22 14:10 Gruntfile.js
10362013 -rw-r-----    1 nodegoat nodegoat   10.0K Mar 22 14:10 LICENSE
10362014 -rw-r-----    1 nodegoat nodegoat      48 Mar 22 14:10 Procfile
10362015 -rw-r-----    1 nodegoat nodegoat    5.5K Mar 22 14:10 README.md
10362016 drwxr-x---    1 nodegoat nodegoat    4.0K Mar 22 14:10 app
10362017 -rw-r-----    1 nodegoat nodegoat     527 Mar 22 14:10 app.json
10362094 drwxr-x---    1 nodegoat nodegoat    4.0K Mar 22 14:10 artifacts
10362099 drwxr-x---    1 nodegoat nodegoat    4.0K Mar 22 14:10 config
10362106 drwxr-x---    1 nodegoat nodegoat    4.0K Mar 23 11:29 node_modules
10362242 -rw-r-----    1 nodegoat nodegoat  404.5K Mar 22 14:10 package-lock.json
10362243 -rw-r-----    1 nodegoat nodegoat    1.6K Mar 22 14:10 package.json
10362244 -rw-r-----    1 nodegoat nodegoat    4.6K Mar 22 14:10 server.js
10362245 drwxr-x---    1 nodegoat nodegoat    4.0K Mar 22 14:10 test
Removing intermediate container 11108f861422
 ---> 9b4474464ed1
Step 17/19 : RUN ls ../ -liah
 ---> Running in fea7bf92c662
total 12
10362008 drwxr-xr-x    1 nodegoat nodegoat    4.0K Mar 23 09:13 .
10362007 drwxr-xr-x    1 root     root        4.0K Mar 23 09:13 ..
10362009 drwxr-x---    1 nodegoat nodegoat    4.0K Mar 23 11:29 app
Removing intermediate container fea7bf92c662

@mostafahussein @lirantal @binarymist thanks for collaborating on it.  I believe the only open item is whether to rename owner nodegoat_docker to nodegoat. @binarymist please suggest if you have any preferences on that? If we are all set, I will be happy to test it once before we merge it. Cheers!

I have no strong preference over nodegoat_docker vs nodegoat.

In order to take advantage of Docker caching, it might be an idea to move the COPY . $WORKDIR to as late as practical, probably after the following:
ADD https://raw.githubusercontent.com/eficode/wait-for/master/wait-for /usr/local/bin/wait-for

Any other tweaks we should be able to submit another PR if required.
Thanks.

For the username I will change it to nodegoat for simplicity.
For Docker caching i don't see the difference if we changed the place of COPY . $WORKDIR. The current is showing as below as you can see the cache is working:

Step 11/17 : WORKDIR $WORKDIR
 ---> Using cache
 ---> 94142953f6e2
Step 12/17 : COPY . $WORKDIR
 ---> Using cache
 ---> c2ffcaa47b1c
Step 13/17 : COPY --from=0 /usr/src/app/node_modules node_modules
 ---> Using cache
 ---> c6e5a8ce1b8c
Step 14/17 : ADD https://raw.githubusercontent.com/eficode/wait-for/master/wait-for /usr/local/bin/wait-for
Downloading  1.378kB
 ---> Using cache
 ---> 339b3e249996
Step 15/17 : RUN chown -R $USER:$USER /home/$USER && chmod -R g-s /home/$USER && chmod -R o-wrx $WORKDIR && chmod o+rx /usr/local/bin/wait-for
 ---> Using cache
 ---> 5d26266f7dbb
Step 16/17 : USER $USER
 ---> Using cache
 ---> 93771cb45e5d
Step 17/17 : EXPOSE 4000
 ---> Using cache
 ---> 882d4e83840c

Yes the cache is working, but when someone makes a change to a source code file, then everything after that (the COPY of node_modules for example) will need to be rebuilt, taking additional time that would not happen if the commands were around the other way. Unless the first-stage build gets around this somehow? Easiest way is to just try making a change in one of the source files and see if the steps after COPY . $WORKDIR are being re-built.

If the code changed then the first stage will be triggered again (with new npm installation) and then the whole cache will be invalidated.

Good to go :+1:

Looking good @mostafahussein

@lirantal @ckarande : thoughts about trusting that the script at https://raw.githubusercontent.com/eficode/wait-for/master/wait-for will remain trust-worthy forever?

Take this into consideration:
If we cannot trust the script in long term, we can add it to nodegoat repository in a folder called docker. Currently the script has not been updated since 2017 and yes it might be updated in the feature but the basic functionality that we only need at the current moment is enough which makes us able to have a copy of it without worrying about feature updates unless there is a must.

@binarymist @ckarande @mostafahussein added some comments

Tested locally, including shelling into the container. Thanks for your hard work on this @mostafahussein!


Make regression_org install beta without FLS changes

This PR revises the regression_org flow to install the managed beta last, with PUSH install semantics - meaning no FLS changes upon install.
NOTE: this will significantly change the behavior of regression orgs. You will not have FLS to any new fields or sObjects introduced since the previous production release. While this makes it possible to catch specific classes of user-facing FLS issues, it also means that your manual and Robot regressions may fail until FLS is granted.
Critical Changes
Changes
Issues Closed
Community Ideas Delivered
New Metadata
Deleted Metadata

@rponti-sforg It can be tested in this branch.


Is there any invalid mask for ground-truth depth and surface normal?

Hi, thanks for your great work and dataset! I would like to use it as an awesome training and testing dataset, but I have some questions about it:

Is there any invalid mask for GT depth and surface normal? I visualize the depth map and find that the depth value of the sky is not 655.35m, and it is much closer than the farest depth value in the depth image, which may mislead the training process.
The same problem exists in the surface normal. Theoretically, the surface normal of the sky area is invalid, but I cannot distinguish them during training.

Hoping for your reply~

Why the depth value of sky should be 655.35m?
The normal vectors of the sky area are (0, 0, 0) as visualized in our teaser, which are directly read from the exr file without normalization. Other part are not (0, 0, 0). You can distinguish the sky area based on this.

Thanks! I checked the depth value of the sky region, it is the maximum value of an uint16 image. The 655.35m just represents the maximum depth value for unit16 with a depth scale of 100.


Getting metadata of the dataset owned by Kaggle

I am trying to get the metadata of this dataset: [(https://www.kaggle.com/c/titanic/data)]
So I want to run kaggle datasets metadata -p /path/to/download <owner>/titanic. I am not sure what should be in place of <owner>. I have tried 'Kaggle', 'KAGGLE' & 'kaggle'

kaggle competitions download titanic


HTTP Error 429: Too Many Requests

Hi, I tried to install the bot on a new VPS, but each time it try to load the auto-playlist or any youtube Link there's this message in the server logs, I know what it means but is there any way to unblock that situation ?
> ERROR: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by <HTTPError 429: 'Too Many Requests'>)
> <class 'musicbot.exceptions.CommandError'>: ERROR: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by <HTTPError 429: 'Too Many Requests'>)
>

My VPS is on debian 8 (if it can help)
Thanks in advance for the help

If you are getting this error every single time, so even after a day, then try changing the ip of your vps.
This error usually pops up when the bot made many requests in a short time period, although is pretty rare to come across with the bot, so like I said, if you get it always, try changing ip

Thanks for the answer !
So, do you know a quick way to change the IP on debian 8 ? (I'm not really used to linux)


datacarpentry/OpenRefine-ecology-lesson

tracking issue for https://github.com/datacarpentry/OpenRefine-ecology-lesson
Preview: https://fishtree-attempt.github.io/OpenRefine-ecology-lesson/

[x] missing file setup.md
[x] missing file guide/index.html
[x] missing block quote character in Episode 3 (to be fixed by https://github.com/datacarpentry/OpenRefine-ecology-lesson/pull/290)

index.md:27 [missing file]: [Setup](setup.html)
index.md:44 [missing file]: [Instructor notes](guide/index.html)
learners/setup.md:65 [uninformative link text]: [here](https://github.com/OpenRefine/OpenRefine/issues/2191)

fixed in c83b6f4b3a2df174ec57cedada3a558976bec0dd


Champions page: add NMFS FAQs

[ ] add from this Apr 18 2022 doc, make responses more concise @jules32

Contractors? Yes!
Does Open mean public? No “Open” does not mean public! “Open” means open within the team, center, and/or agency. It’s intentional team collaboration, helps break down silos, and used in banks and private industries too.

not sure it fits


EDC - Control Plane Improvements (ext: CXAR-1029)

+Benefit Hypothesis+

Subsumption of negotiated constraints
Additional runtime properties
Alignment of Agent Federated Catalog and EDC Fed. Catalogue

+Beneficiaries+
< Who will benefit for that feature>

Components: EDC
Sprints: N/A
Fix Versions: N/A
StoryPoints: N/A
Attachments: N/A

@ndr-brt any update regarding the runtime properties?

@stefan-ettl already implemented upstream within https://github.com/eclipse-edc/Connector/pull/3277/files
timeouts on the http client can be configured with:

edc.http.client.timeout.connect
edc.http.client.timeout.read

@gerbigf will contact Marc Gerstner about further information/ better ticket description


metsHdr/agent/note

For the mandatory agent this is a must

I added a description that for the mandatory agent occurrence it is a MUST, yet the cardinality has to remain 0..1 (for other occurrences)


Add Avax Vaults

Pangolin PNG-UST
Vault:    0xC43e5065c28Dcf85f9a5D31feAC658c6EB7F23D6
Strategy: 0x4C6c2Aa430617f72e32B3f9db89B8e7c8cb4517d
Want:     0x2a0f65C76008EcBC469b0850454E57310E770557
Pool ID:  101

Joe YETI-AVAX
Vault:    0xDb054F4978a485bC5D9ae144B487340B141E41db
Strategy: 0x50C3de1c25828Fa5b1010D672870ed712b889108
Want:     0xbdc7EF37283BC67D50886c4afb64877E3e83f869
PoolId:   69

Picks up changes from multiple updates:

Add Pangolin PNG-USTw vault https://github.com/beefyfinance/beefy-api/pull/748
Add TraderJoe YETI-AVAX vault https://github.com/beefyfinance/beefy-api/pull/750
Fix TraderJoe USDT-AVAX creationdate https://github.com/beefyfinance/beefy-app/pull/1174

Closing due to bad rebase and replacing with new branch.


N804 disagrees with pylint on new first argument's name for metaclass

Here's an example:
class Alpha(type):
    def __new__(mcs, *args, **kwargs):
        return super().__new__(mcs, *args, **kwargs)

class Beta(type):
    def __new__(cls, *args, **kwargs):
        return super().__new__(cls, *args, **kwargs)

$ pylint meta.py
meta.py:7:4: C0204: Metaclass class method __new__ should have 'mcs' as first argument (bad-mcs-classmethod-argument)

$ ruff --select N meta.py
meta.py:2:17: N804 First argument of a class method should be named `cls`

To be fair I'm not sure if it's an issue with ruff or pylint, but they seem to both disagree on what to name the first argument of __new__ in a metaclass. Who's right ?

cls seems significantly more popular based on GitHub Code Search (37.2k files vs. 273 files), so I'd prefer to stick with what we have (though I know it's slightly inconvenient to have a difference across linters).

cls seems significantly more popular based on GitHub Code Search

How did you differentiate code concerning metaclasses and classes ? pylint has https://pylint.readthedocs.io/en/stable/user_guide/messages/convention/bad-mcs-classmethod-argument.html (for metaclasses) but also https://pylint.readthedocs.io/en/stable/user_guide/messages/convention/bad-classmethod-argument.html (for classes). I think metaclasses methods are used way less frequently than class methods.

@charliermarsh This is not accurate. In metaclasses, cls should only be used for the metaclass-equivalent of "instance methods" (i.e. methods that get passed, as their first argument, the class using the metaclass). For the metaclass-equivalent of "class methods" (like __new__ and __prepare__), the first argument passed to the method is the metaclass itself. In this case, pylint recommends mcs, and flake8-bugbear recommends metacls but also accepts mcs. flake8-bugbear implements this check via B902, which, in #3758, someone said is "Implemented as N804 and N805" in ruff, but that's not accurate because N804 incorrectly says you should use cls for __new__.

I Completely agree with @jnrbsn. I always interpreted a class as an instance of a metaclass (are there even actual mechanical differences between classes and metaclasses except  the ones due to subclassing type instead of object?). So logically, the (self, cls) from class context should be translated to (cls, mcs) in metaclass context, right?
However, I should point out something I find very strange from PEP 3115:
# The metaclass
class OrderedClass(type):

    # The prepare function
    @classmethod
    def __prepare__(metacls, name, bases): # No keywords in this case
        return member_table()

    # The metaclass invocation
    def __new__(cls, name, bases, classdict):
        # Note that we replace the classdict with a regular
        # dict before passing it to the superclass, so that we
        # don't continue to record member names after the class
        # has been created.
        result = type.__new__(cls, name, bases, dict(classdict))
        result.member_names = classdict.member_names
        return result

You can see that the author used different metacls and cls for __prepare__ and __new__ respectively, even though "cls.__new__() is a static method (special-cased so you need not declare it as such) that takes the class of which an instance was requested as its first argument"... I've not yet understood why (and by the way they mention a "static" method, not a "class" method, I also don't understand why.


[Event Request] Database::"Prod. Order Line" - Function Quantity - OnValidate - OnBeforeQuantityValidate

We like to request the following Event:
Object: Database::"Prod. Order Line"
Function: Quantity - OnValidate
Publisher Event: OnBeforeQuantityValidate
Reason: To implement custom business logic
Where is the event placed:
trigger OnValidate()
var
IsHandled: Boolean;
begin
OnBeforeQuantityValidate(Rec, xRec, CurrFieldNo, IsHandled);
if IsHandled then
exit;
"Quantity (Base)" := Quantity * "Qty. per Unit of Measure";
"Remaining Quantity" := Quantity - "Finished Quantity";
Event Code:
[IntegrationEvent(false, false)]
local procedure OnBeforeQuantityValidate(var Rec: Record "Prod. Order Line"; var xRec: Record "Prod. Order Line"; CurrFieldNo: Integer; var IsHandled: Boolean);
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


codestyle

Do we use 4 spaces or tabs? I think 4 spaces may be better.

We are using the code guidelines found here: https://github.com/FabricMC/fabric-docs

Tabs. You can download an IDEA or Eclipse code formatter here.


Please backport MailGun EU support to current Laravel LTS version

As described in https://github.com/laravel/framework/issues/25410 , MailGun EU region is not supported in the current LTS-version . The org i work with uses Laravel LTS and don't want to start using a non-LTS-version, while we would like to use the MailGun EU region. Could support for MailGun EU please be backported to the latest LTS-version as well?

Heya, yeah sorry 5.5 is bugfix only atm.

Actually come to think of it. If this would really break the MailGun EU region atm this could be considered a bug. We could attempt to backport yeah. Feel free to send in a PR before I get to this.


Make vim-cellmode compatible with Spyder style cell delimiters

This is a proposal for an enhancement consisting of making vim-cellmode compatible with Spyder style cell delimiters '#%%' and '# %%' (https://pythonhosted.org/spyder/editor.html#how-to-define-a-code-cell).

I like it. I'll put that on my TODO list. Or you can do a PR if you feel like it :)

I just pushed a change to master that should fix this.
This adds a g:cellmode_cell_delimiter configuration variable that allow you to customize the cell delimiter to use. By default, I configured it to match ##, #%% and # %% so it should work with spyder cells.
Can you test and let me know if this solves your problem ? Thanks


Merge two PDF pages into one bigger

Hello,
I just wonder if it is possible to add method mentioned in title? For example it could be used to merge two A4 pdf pages into one A3 page. What do you think?

PDFKit cannot edit existing PDFs, and it is out of scope for the project.


How to edit form information？

I built a form with FormBuilder and I‘ve filled out this form, How can I load this form information when I open the edit page?
Please guide me and thanks

You can set the form as an attribute on the formbuilder component. See https://github.com/formio/react-formio#formbuilder-class where form is set.


Keyboard manager - run script/exe on shortcut

📝 Keyboard manager - run script/exe on shortcut
It would be great if I could somehow link a PowerShell script or maybe any kind of executable to a shortcut in the keyboard manager. I think it would even simplify PowerToys itself since a number of feature requests then could be implemented with this feature.
Example use-case
I would like to change to my second virtual desktop with the shortcut Win+2
the script which would be called would be:  Move-ActiveWindow (Get-Desktop 0) | out-null
(the module in use there: https://www.powershellgallery.com/packages/VirtualDesktop/1.3.0)
I would like this execution be silent, no powershell window to open, just execute the script.
I have tried Autohotkey, it was...., not ideal....

If you'd like to see this feature implemented, add a 👍 reaction to this post.

This functionalities doesn't belong to KBM and it's already covered by https://github.com/microsoft/PowerToys/issues/3600

This functionalities doesn't belong to KBM and it's already covered by https://github.com/microsoft/PowerToys/issues/3600


Stylized the score text label

I'd be great to put some style on the text of the score, maybe import a special font to the game.
Add a small image next to the score maybe.
And put the text at the top-left.

Hi @Sidahmed-ben, of course ! Thank you 👍🏻

@Sidahmed-ben Hi are you still working on it ? Need any help ?? Let me know please.

@Sidahmed-ben Hi are you still working on it ? Need any help ?? Let me know please.
Hello @jvondermarck , sorry I stopped working for the project because i haven't enough time.

Hi @jvondermarck can you assign this to me

Hi @brianreville i assign this issue to you! Thank you! ☺

Hi, I am new to github, want to contribute, Could you please assign this. Thanks

Hii yeah of course @shivam98 , go ahead :)


eslint_d is getting confused about which .eslintrc to use?

I have one sublime project which has a custom eslint rule (no-connect). I pass the rules directory to this linter via project file settings.
I have another project that just uses the built-in rules.
I just installed eslint_d and I'm getting this:
SublimeLinter: eslint_d: Chart.js ['/usr/local/bin/eslint_d', '--no-ignore', '--format', 'compact', '@', '--config', '/Users/esmith/regular_project/.eslintrc']
SublimeLinter: eslint_d output:
/private/var/folders/vb/9rl8lsgx2fz8k3hc3dr_jw_h0000gn/T/SublimeLinter3-esmith/Chart.js: line 1, col 1, Error - Definition for rule 'no-connect' was not found (no-connect)

... that is, the no-connect rule is somehow being referenced by the linter, even though that rule and any reference to it does not exist in this tree (in fact, the string 'no-connect' is nowhere in this project).
I do not have this issue with eslint, which I've used happily up until now.
Please let me know if there is any other information I can collect to diagnose this issue.

Do you mean there is no no-connect rule in /Users/esmith/regular_project/.eslintrc ? Try to run eslint_d in console, like eslint_d Chart.js --config /Users/esmith/regular_project/.eslintrc, what is output?

I'm having a similar problem, I think it's eslint_d's problem as it's reading the wrong config files even when running from the console.


Add sample code of Http data Collector API

Adding sample code of Http data Collector API

Closing this & opened a new PR #831


Issue in position

If my array size is 3 then the adapter picks the last position instead of the 0 position

@manisha026
Thanks for your suggestions for improvements.
We have published a new version of this library with reported issue fixes.


pwm: Don't try to change pwm polarity if polarity is already correct

Trying to change polarity in a chip that doesn't support polarity
changes will abort soletta and that is not needed when the current
polarity is equal the wanted polarity.
Soletta will still abort if the wanted polarity is different from
current polarity.
Signed-off-by: Otavio Pontes<EMAIL_ADDRESS>

I'm thinking a bit more about polarity on PWM. It isn't supported on RIOT and on Linux it depends on hardware support. Maybe it's the case of doing it in software (sol-pwm) to guarantee it always work (hopefully it's doable) or even dropping it completely.
Anyway, I'm ok with this patch while we discuss about it.

Polarity on RIOT is supported differently, and only if the hardware supports it. In fact, everything I saw about polarity of a PWM is on the Linux API only, because everyone else refers to it as RIOT does. RIOT, if the hardware supports it, will let you open a PWM as left-phase or right-phase, which is, I think, what the inverted polarity would do, but on Linux we have no way to set a center-phase, which RIOT allows, again, if the hardware works that way. It gets more complicated when you consider that these phases don't just change when the duty cycle will be active, but it can change the how the period is counted too.


Unresolved Variable Warning on Linebreak

a="something_something_something_something_something_something_something_something_something_"\
"something_"
b="$a" # Unresolved warning here...

When a variable assignment is broken into mulitiple lines, the IDE throws the "Unresolved Variable" warning.

@benmarten Thanks, I'll have a look.

Fixed for the next update.


When replacing the record, don't try to edit it

This bug is caused by the following scenario:

Create two members, each with a name like test1 and test2.
Rename it so that test1 is now test2, and test2 is now test1
Now, after zeronsd updates, each record will have two ip addresses,
both the same list.

This was caused by the rename causing it being added to a whitelist
where it was edited, not replaced, therefore appending to the list. This
was a design mistake in general and some additional work will be done to
correct this in a refactoring pass.
The new behavior is to replace the recordset entirely, which is probably
much more correct in DNS terms anyway.
closes #94 (thanks @laduke for the report!)
Signed-off-by: Erik Hollensbe<EMAIL_ADDRESS>

this bugged out something in the hosts files support so i am working on that.

ok, tested on my end, it passes all tests and validates the issue present in the ticket is no longer present


(c++) Added merge sort

Added merge sort code in cpp

@nishchay17 keep it up!

@all-contributors please add @nishchay17 for code

@nishchay17 you have been added to contributors table! 👍

@nishchay17  do Star the repo!


MySqlMutex, PgsqlMutex and OracleMutex now use useMaster()

to ensure lock is aquired on the same DB server.
fixes #14206

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues
#14206

Merged. Thank you!


Connect with MAMP

I can't not connect to my sql server. Below is my information :
GOGS -> Latest
MySQL Server (install with MAMP )

Host	 localhost
Port	3306
User	root
Password	root
Socket	/Applications/MAMP/tmp/mysql/mysql.sock

OS : macOS Sierra
Error : Database setting is not correct: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused
Database : already created with root permission

I think this is a deployment issue rather than Gogs bug. Based on the error message, I think either your MySQL server is not running, or the connect string is wrong.


upgrade to selenium-java 3.6.0

Discard: already done in https://github.com/codeborne/selenide/pull/611


added batching to the fact checking application

Hi @anakin87,
As promised I created a batching functionality. Not sure if we want to allow for additional run_batch because this might not be the best solution when doing fact-checking across multiple queries and using only a single document per query. Let me know what you think :)

Hey, @davidberenstein1957!
These days, I am very busy :slightly_frowning_face:.
When I find a moment, I'll take a look at your contribution... Thanks! :raised_hands:

@davidberenstein1957 I finally took the time to look at your PR and
LGTM!!!
BTW, I plan to separate the demo from the code of the node,
so people that want to use my node in Haystack will have an easier life...
Anyway, if I move the EntailmentChecker to another repository, I won't forget to mention your contribution...

Lovely, thanks. If I can help somewhere, let me know:)El 23 jun 2023, a las 17:43, Stefano Fiorucci @.***> escribió:
Merged #1 into main.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Adding a tag to a resource is unacceptably slow

Describe the bug
Running 'az resource tag --id ID --tags KEY=VALUE' or running the equivalent update operation (e.g. 'az network public-ip update --tags') consistently takes just over 30 seconds
To Reproduce
Run 'az resource tag --id ID --tags KEY=VALUE' and time the command. It will take just over 30 seconds.
Expected behavior
Adding a tag to a resource through the Azure portal takes a few seconds. The Azure CLI shouldn't be significantly (10x) slower.
Environment summary
Azure CLI 2.0.33 on both Windows and Linux
Additional context
Running with the '--debug' operation suggests the following. First, the CLI issues several GET and POSTS requests to Azure to tell Azure to update the resource's tags. Then the CLI waits for 30 seconds (I assume waiting for Azure to complete the operation). Then the CLI issues several GET requests to Azure (I assume to see if the tag operation was performed successfully). Is there a way to configure the 30 second wait because it seems like it could be shortened significantly?

Is there any work-around?

Yeah this is appalling, I can add a single tag in seconds on the portal but via the CLI running with --debug I see about; command ran in 94.441 seconds.
Also looking for a workaround if possible.

Has there been any updates or workarounds to this?

Still a problem in 2023. The tag is applied within seconds after running the command, but it can take several minutes before the CLI finishes the operation.

Just ran into this problem myself.  Is this github issue tracker even being monitored?

When I did have this issue, it was behind a HTTP proxy. That might or might not have been relevant.


chore(docs): refactored div to p for hint text in input, text area and select

I just requested the preview page to be recategorized on https://sitereview.bluecoat.com/, so we're able to see how it looks on v7.


[Fix-10909] Returns executionStatus for each process instance status and access token module support.

Purpose of the pull request
1.Returns executionStatus for each process instance status.
2.Add accessToken resource module.
replace #10910
There is a lot of check style processing in the pr of 10910, replace this pr with 10910.
Brief change log
close #10909
Verify this pull request
Manually verified the change by testing locally.

@WangJPLeo please close the old pr.

@ruanwenjun it is related about permission so I change to version 3.1.0

@ruanwenjun it is related about permission so I change to version 3.1.0

OK, this PR also fixes a bug, I will submit a PR to 3.0.0-prepare to fix.

@ruanwenjun it is related about permission so I change to version 3.1.0

OK, this PR also fixes a bug, I will submit a PR to 3.0.0-prepare to fix.

Already been fiexd at 3.0.0-prepare


feat(cta)!: href

Closes #1607
What I did

add href attr to cta
adjust css to work with shadow anchors
rewrite analytics demo to better represent actual usage and ensure that shadow link works as expected
remove deprecated apis

Testing Instructions

unit tests
thoroughly review deploy preview demos, ensure they work as expected

Notes to Reviewers
NOTE WELL that this PR removes the already-deprecated color-palette attr, and marks the cta property as deprecated.

@paceaux brings up potential problems with web scraping
@OneEightyFirst was also interested

@heyMP can you take a look at the analytics demo (source) and let me know if I'm headed in the right direction? Does this comport with the current practice?

Leo Zavala says:

The changes for rh-cta are aligned with the new approach we are taking with EDDL; using data-analytics-* attributes. For anyone who is using the new approach for analytics the update [to href] would be seamless.
One thing to note is we are providing a fallback for those that have not implemented the new approach. The fallback would not work w/the new way of using the href attribute on rh-cta. It seems like a minor change to this function in the C2EDDL script will allow for the fallback to continue working. (Though it may be unnecessary if teams are adopting the new approach as they update)

[ ]  The default video variant is missing the little play icon at the end.

[ ]  Should the brick icon version have an icon in the demos?

Slightly off-topic for this PR, but I'm seeing this for the dark palette CTAs in the no javascript demo. Is it what I'm supposed to see?

i saw this in another job. it's the wrong icon name.

I want to update the docs to use href attr for ctas, but i would rather do that after making sure ssr works for cta.
and that seems out of scope for this PR so let's push it off to next cycle.

Slightly off-topic for this PR, but I'm seeing this for the dark palette CTAs in the no javascript demo. Is it what I'm supposed to see?

same on main https://ux.redhat.com/elements/call-to-action/demo/no-javascript-customization/

https://github.com/RedHat-UX/red-hat-design-system/pull/1654


[codegen] Overriding options from arguments while still using the config file

Is your feature request related to a problem? Please describe.
If I have .flutter_rust_bridge.yml and write any argument during the codegen, the .flutter_rust_bridge.yml won't be used. What I want is to define a separate option for different platforms while keeping my original configurations. So if I wrote flutter_rust_bridge_codegen --llvm-path "X:\SDK\LLVM", all my configurations will be ignored.

Describe the solution you'd like
Only overrides the value provided from the command line, rather than ignoring the whole configuration when it has input.
Describe alternatives you've considered
Supporting configurations based on platforms would be good too.

That sounds pretty reasonable! This can be (easily) implemented in v2 (especially given the refactored clearer codebase ;) ), but IIRC, are you still using v1?

but IIRC, are you still using v1?

Exactly. :)

This is not a bug, thus the probability of porting it to v1 may not be very high. However, feel free to PR if you want!

This is not a bug, thus the probability of porting it to v1 may not be very high :/ However, feel free to PR (for v1) if you want!

Sure, feel free to assign this to me if you're able to, I'll keep tracking my assignments periodically.

Btw, I created a branch from v1.82.6 -> https://github.com/fzyzcjy/flutter_rust_bridge/tree/v1-master (name may subject to change), which may be used for future development for v1.


Fill FGColor

Excuse me, when reading FGcolor, only solid colors are read, but some colors have tint, for example:

Excuse me, when reading FGcolor, only solid colors are read, but some colors have tint, for example:

Excuse me, when reading FGcolor, only solid colors are read, but some colors have tint, for example:


Remove RSpec warning for expectation on nil

Removes the following warning when running the specs:

WARNING: An expectation of :present? was set on nil. To allow expectations on nil and suppress this message, set config.allow_message_expectations_on_nil to true. To disallow expectations on nil, set config.allow_message_expectations_on_nil to false. Called from /Users/czimmer/Development/RGSoC/sounddrop/spec/helpers/application_helper_spec.rb:40:in `block (4 levels) in <top (required)>'.


Bulk import environment variables

Is your feature request related to a problem? Please describe.
It is common for env vars to be specified in a 1 per line format, something like:
NAME=value
ANOTHER_NAME='another value with a space'

There is currently no easy way to import a lot of these vars into Lagoon.
Describe the solution you'd like
I would love a way to ingest env vars in this format. Trying to create the YAML format required by the import command at the moment is very time consuming.
Describe alternatives you've considered
This script is super hacky, but gets the job done.
#!/usr/bin/env php
<?php

foreach(file("/tmp/vars.txt") as $line) {
  $output = [];
  $parts = explode('=', $line, 2);
  $name = strtoupper($parts[0]);

  // Skip comments.
  if (preg_match('/^#/', $name)) {
    continue;
  }

  $value = trim($parts[1]);

  exec("lagoon -l amazeeio add variable -p $PROJECT -e $BRANCH -N {$name} -V '{$value}' -S runtime 2>&1", $output);
  print_r($output);
}

echo "\n\n DONE\n";

I don't know if this belongs in lagoon-cli.. it seems like it might be better off as documentation.
The problem is that there are going to be lots of edge cases in the formatting and logic (are the names or values quoted or escaped? are they all from the same project/environment? are they all the same scope?). Also there is no efficiency gain because there is no "bulk envvariable" API, so it will be a single request per variable exactly as if you called lagoon once per variable.
I came up with this, maybe it could go into the documentation? The advantage is that you can remove the | sh at the end and get a preview of the script.
(echo set -xeu; awk -F= '{print "lagoon -l local add variable -p myproject -e mybranch -S global -N " $1 " -V " $2}' /tmp/vars.txt) | sh

Yeah, docs could be a good answer to this. One thing with your script, env vars can have = in the value, so you don't want to split on that. The PHP script limits the splitting to the first= only.

Ah, good point. Amended snippet:
(echo set -xeu; awk -F= '/^[^#]/ {sep=index($0,"="); print "lagoon -l local add variable -p myproject -e mybranch -S global -N " $1 " -V " substr($0,sep+1)}' /tmp/vars.txt) | sh


Forwarded declared C struct shared the same memory address in cgo

Workaround wanted, any sugguestion?
source code repository: https://github.com/sammyne/playground-go/tree/master/forwarded-declared-c-struct
Environment

OS: ubuntu: 18.04
CMake: >=3.10
Compiler: g++-7.4
Go: 1.12.7

This environment can be reproduced by the docker/Dockerfile

Reproduction
mkdir cpp/build && cd cpp/build
cmake ..
make

cd -
go run world.go

Expect

Different address for x and y
Different address for a and b

Something likes
x: 0x777280
y: 0x777284

a: 0xc00001a080
b: 0xc00001a084

Got

Same address for x and y
Different address for a and b

x: 0x777280
y: 0x777280

a: 0xc00001a080
b: 0xc00001a084

unsafe.Sizeof(x) == 0，I think this is the root cause, so any workaround?

The language spec says that two distinct zero-size variables may have the same address in memory (https://golang.org/ref/spec#Size_and_alignment_guarantees).
The only workaround is to not use zero-size variables.


about removal of +++

Can you tell why deprecate +++ operator? It doesn't mess with ++ right, must be the same precendence with ++, so could be "recovered" easily? Any story about it maybe :]
my "projected" use-case:
# inside of object constructor function...
# ...
	@item = item = {} # all
	@list = list = [root] # all ordered
	####
	list +++ (querySelectorChildren box, '.item')
	a = -1
	while ++a < list.length
		if b = querySelectorChild list[a], '.section'
			list +++ (querySelectorChildren b, '.item')
# ...
# end of example

It's just been renamed to  ++  (note the spaces; unspaced ++ is increment). Your example works if you replace all the +++ with ++= (you need the = because  ++  doesn't mutate the lists, it only returns their concatenation).

ye, i figured only ++ won't go, so thanks, didn't know about ++=, will check

one more thing about it:
      while (++a < list.length) {
        if (b = querySelectorChild(list[a], '.section')) {
          list = list.concat(querySelectorChildren(b, '.item'));
        }

the assignment is not needed, right, should be only list.concat(..)

No, that's what I was trying to say at the end of my comment:

The concat() method is used to merge two or more arrays. This method does not change the existing arrays, but instead returns a new array.

oh, my, i've missed the bug then..
any chance to resurrect +++ from the imperative hell?

+++ did exactly the same as ++ does

+++ did exactly the same as ++ does

maybe let's tweak it to Array.splice ? so it will mutate the left operand?

Why? just use ++=

because +++ is a sister of <<<
with ++= i have to follow this path:
# ...
	item = {} # all
	list = [root] # all ordered
	####
	list ++= (querySelectorChildren box, '.item')
	a = -1
	while ++a < list.length
		if b = querySelectorChild list[a], '.section'
			list ++= (querySelectorChildren b, '.item')
	# assign one more time :(
	@item = item
	@list = list
# ...

see, i could assign it one-line at the top, have to add 2 more lines.
with the .splice as +++ it would be
# ...
	@item = item = {} # all
	@list = list = [root] # all ordered
	####
	list +++ (querySelectorChildren box, '.item')
	a = -1
	while ++a < list.length
		if b = querySelectorChild list[a], '.section'
			list +++ (querySelectorChildren b, '.item')
# ...

makes sense?

@determin1st Why can't you use @list and @item during the operations?
# ...
	@item = {} # all
	@list = [root] # all ordered
	####
	@list ++= (querySelectorChildren box, '.item')
	a = -1
	while ++a < @list.length
		if b = querySelectorChild list[a], '.section'
			@list ++= (querySelectorChildren b, '.item')
# ...

What is wrong with above code?

IMO, if you want to mutate an array by appending new elements, you should just call .push on it. This is subjective, but based on experience with similarly-spelled operators I wouldn't expect an expression spelled a +++ b to mutate a, or even treat a and b fundamentally differently.¹  a <<< b is at least visually asymmetric enough to hint at the side effect. I know LiveScript has a whole mess of operators, but I don't think more operators need to be introduced just as aliases to methods. a.push ...b is much clearer about what's going on, is already familiar to every JavaScript programmer, and is, what, 9 characters instead of 5? Not exactly a huge downside. It doesn't look as mathematical, but since what's happening isn't a mathematical concatenation but rather an impure mutation, I think that's a positive.

In Haskell, which is the only language I know with a +++ operator in the core library, +++ is a way to combine functions²; f +++ g is a function that can take a value tagged Left and apply f to it, or a value tagged Right and apply g to it. Haskell's ++ operator means the same thing as in LiveScript.
Well, arrows, but anyone who needs this explanation probably doesn't need to worry about the difference.

@ceremcem well ye, i only wanted a bit of perfectionism, that can be done in multiple ways, but somehow +++ appeared as a natural thing when i wrote the initializer's code.
@rhendric 9 characters but engine implementation dependent, can't say how much arguments allowed to push(...b), i mean just a loop would be more solid and maybe faster

Which implementations don't support push with multiple arguments? It's in the ES3 spec, which is the version of JS that LiveScript nominally targets as a baseline when not using features that more or less explicitly require more modern engines, like generators and promises.

i mean here, the "Merging two arrays" section:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
says:

Do not use this method if the second array (moreVegs in the example) is very large because the maximum number of parameters that one function can take is limited in practice. See apply() for more details.

i checked the limit was 65535 for the second array in Chromium. Sure, it's hard to reach but still..

.splice is presumably subject to the same limitation, right? So if this matters to you, the only viable approach would be to use (either manually, or have some syntax compile into) a loop. But I'm guessing that for such large arrays, .concat would be faster than a loop, so the best thing for large arrays would be ++= and the best thing for small arrays would be .push .... Since PureScript can't know how big your arrays are, the programmer has to select the best approach. So I think you would need to make the case that whatever +++ would compile to is better than .push ... for small arrays, or better than ++= for large arrays. What do you think about that?

i thought that .splice takes array as an argument first, it doesn't, so it doesn't fit.
i've made some tests:
http://jsbench.github.io/#482b62ecdddfeffcea89d30ded47adb6
so, by the number of elements (in the second array):
20: loop is 18% faster
200: push is 38% faster
2000: push is 36% faster
20000: push is 50% faster
200000: push is dead, maximum call stack exceeded
.push is becoming faster starting from 60 elements in the second array
.concat is becoming faster starting from 50 elements in the second array
so, for small arrays <60 elements and also for super huge arrays the loop is better


Update project to use only Podman

Try to update all the project references of docker to podman. In theory it should be as easy as find and replace

I think this issue can now be closed. It seems I can't do that...


Improvements of file handling

Two things:

Check the value of the filename argument: Normalize such that the argument can be given with and without a file extension (which means that command line tab completion works).
replace system-specific paths with File.join: Path joins should be system agnostic.

So is the File.join function essentially making sure the path will work on a non Unix machine as well?

That's the idea. To be honest, it is not tested as I don't have a Windows box here.

Ok, we'll I just reinstall and things seems to be working great. We'll let a real windows user tell us if there is a problem :)


Discover and load function-based tests

@itziakos pointed out that there is a facility in unittest to generate a test-case based on a top-level function using unittest.FunctionTestCase(callable).
This is something that could easily be added to the haas test discovery system. This will probably start by matching functions names to the regex ^test_.*.

Related documentation link


GetPositionPercent?

If I'm using percent based positioning YGNodeStyleGetPosition is not giving any result. I assume it's because this function will only return pixel positions.
So, how can I get the percent position? Or do I have to calc it myself?

After the layout calculation is done , you can obtain position values by using YGNodeLayoutGetLeft, YGNodeLayoutGetRight, YGNodeLayoutGetTop, YGNodeLayoutGetBottom apis.

Closing this.


Removed RegexInterpreter as a Default when NLU Interpreter Created

Proposed changes:

Removed use of RegexInterpreter as the default interpreter when endpoint config is None
Closes #9319

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

@wochinge Yes for sure, still need to fix the currently failing test cases as well 😅

Huh I think it auto-requested a review, my bad it's not close to ready yet


Added CK-BL602-SWP1-01(182) by coolkit but in HA Hacs Sonoff shows as Unavailable

Hi.
Added 2 new sonoff devices CK-BL602-SWP1-01(182) by coolkit but in HA Hacs Sonoff shows as Unavailable
All my others Sonoff are working. In Ewelink they are working fine.
Thanks

https://github.com/AlexxIT/SonoffLAN#issues


[Feature Request]: Overload HbaseIO with KV<RowKey, RowMutations>

What would you like to happen?
We want to add HbaseIO support for writing KV<RowKey, RowMutations> to Hbase. We anticipate using this in Dataflow for writing Bigtable change streams to Hbase. Support for the KV signature will allow atomic, in-order mutations to be applied to Hbase most of the time.
Issue Priority
Priority: 2 (default / most feature requests should be filed as P2)
Issue Components

[ ] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[X] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[X] Component: Google Cloud Dataflow Runner

.take-issue


Return the app to the desktop, then switch to Wi Fi in the system. After switching to Wi Fi, click on the desktop app icon to enter the app. At this point, there is an exception when sending network requests. This is highly likely to occur on Ios

Package
dio
Version
5.5.0+1
Operating-System
iOS
Adapter
Default Dio
Output of flutter doctor -v
No response
Dart Version
3.3.4
Steps to Reproduce

enter into app
Return the app to the desktop
switch to Wi Fi in the system
click on the desktop app icon to enter the app
tap button to request api, then dio return error

Expected Result
should be Successful
Actual Result
Error: HttpException: Operation timed out, uri = https://binding/check,
stackTrace: #0      DioMixin.fetch. (package:dio/src/dio_mixin.dart:507)
#1      _FutureListener.handleError (dart:async/future_impl.dart:180)
#2      Future._propagateToListeners.handleError (dart:async/future_impl.dart:850)
#3      Future._propagateToListeners (dart:async/future_impl.dart:871)
#4      Future._completeError (dart:async/future_impl.dart:651)
#5      _SyncCompleter._completeError (dart:async/future_impl.dart:63)
#6      _Completer.completeError (dart:async/future_impl.dart:27)
#7      Future.any.onError (dart:async/future.dart:613)
#8      _RootZone.runBinary (dart:async/zone.dart:1666)
#9      _FutureListener.handleError (dart:async/future_impl.dart:177)
#10     Future._propagateToListeners.handleError (dart:async/future_impl.dart:850)
#11     Future._propagateToListeners (dart:async/future_impl.dart:871)
#12     Future._completeError (dart:async/future_impl.dart:651)
#13     Future._chainForeignFuture. (dart:async/future_impl.dart:556)
#14     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#15     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)

Please verify if the issue exists when using the HttpClient alone or the package:http. There is a good chance that it's a dart:io issue.

我遇到同样的情况，
https://github.com/dart-lang/sdk/issues/53040
请问dio是否支持网络更改

这是来自QQ邮箱的假期自动回复邮件。

您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。

Please verify if the issue exists when using the HttpClient alone or the package:http. There is a good chance that it's a dart:io issue.
我遇到同样的情况，
https://github.com/dart-lang/sdk/issues/53040
请问dio是否支持网络更改

If cupertino_http supports network switching, using native_dio_adapter in dio will also gain the ability.


Infinite Ammo Bug

If you have Infinite Ammo ON you can't sell treasures and ammo. I think its because the game always keep the itens and thats how infinite ammo works but still is a bug because you can sell and get money. I don't know if is something relevant but i found that and i'm just reporting. Thank You for you guys attention.
I'm using this build who Emoose upload.
dinput8-emListParamExtension-initFixTest.zip

I've reproduced this issue and can confirm it does indeed exist.
Though I did notice that for the infinite ammo to work, it just freezes the current value of whatever gun you're currently using. Would it be easier to apply the infinite ammo status that both the Chicago Typewriter and Infinite Launcher use?


Custom Blender Template Files

There is now a new dialog, that allows the user to specify an empty blender project that will be used when showing the cell tracking data in 3d. A user can save the default template. Make modifications to it, for example: change render settings, add light sources. And then define it to be used a template during executions of "Add Interactive Blender Window" or "Open CSV in Blnder".

@stefanhahmann It would be very nice, if you could test this.


Fix class path in spring.factories

class path in spring.factories is incorrect , so fix it

Thank you bro!

Thank you bro!

this library also help me a lot，thx


fix: scrollbar added to the approval tabs

PR Type

[ X] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] CI-related changes
[ ] Documentation content changes
[ ] Application / infrastructure changes
[ ] Other:
What Is the Current Behavior?
On the phone view, the tabs have long names in the approval section. The complete page gets a horizontal scrollbar.
Issue Number: Closes #988
What Is the New Behavior?
The horizontal scrollbar is only usable for the tabs. The rest of the content is fixed.
Does this PR Introduce a Breaking Change?

[ ] Yes
[X ] No
Other Information
AB#82472

Please test the scrolling behavior on your phone too. On my phone the tabs move up and down when scrolling.

We won't fix this, it is a minor issue only occurring on iphones.


[Screengrab] "No screenshots were detected" while screenshots are getting succefully created and copied

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
Since I switched the api level of the emulator I am using from 23 to 27 I've got some problems.
Screengrab is creating all the screenshots I want but has an error when retreiving them from the device.  The screenshots do get copied from the device to the computer but still, there is an error due to permissions and the error message 'No screenshots were detected' is thrown.
The screenshots are in the folder fastlane/en-US/images/phoneScreenshots. In the screengrabfile I set the output folder to fastlane/screengrab so would expect them to be in fastlane/screengrab/en-US/images/phoneScreenshots as they were with an emulator on api 23.
I think the reason for screengrab to think the screenshots were unsuccesful is the missing permission to read from /data/data/.... But I don't know how I can give screengrab this permission.
Complete output when running fastlane, including the stack trace and command used

 (...)
[13:45:13]: ▸ OK (7 tests)
[13:45:13]: Pulling captured screenshots from the device
[13:45:13]: $ adb -s emulator-5554 pull /sdcard/my.app/screengrab /var/folders/0l/mvk3rshn3wb_lv10mc33kx7c0000gp/T/d20180326-17009-58757h
ls: /data/data/my.app/app_screengrab: Permission denied
[13:45:15]: Exit status: 1
[13:45:16]: Screenshots copied to fastlane/en-US/images/phoneScreenshots
[13:45:16]: Make sure you've used Screengrab.screenshot() in your tests and that your expected tests are being run.
[!] No screenshots were detected 📷❌

Environment

[14:04:58]: Generating fastlane environment output, this might t                                                                                ake a few seconds...
✅ fastlane environment ✅
Stack

Key
Value

OS
10.13.3

Ruby
2.5.0

Bundler?
false

Git
git version 2.16.3

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.13.3 (17D102)

Ruby Lib Dir
/usr/local/Cellar/ruby/2.5.0_2/l                                                                                ib

OpenSSL Version
OpenSSL 1.0.2n  7 Dec 2017

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents                                                                                /Developer/

Xcode Version
9.2

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.87.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.2.0

atomos
0.1.2

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.4

xcodeproj
1.5.7

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

unicode-display_width
1.3.0

terminal-table
1.8.0

plist
3.4.0

addressable
2.5.2

multipart-post
2.0.0

word_wrap
1.0.0

public_suffix
2.0.5

tty-screen
0.6.4

tty-cursor
0.5.0

tty-spinner
0.8.0

babosa
1.0.2

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.1

json
2.1.0

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.2.1

bundler
1.16.1

faraday_middleware
0.12.2

naturally
2.1.0

simctl
1.6.2

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.1

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

logging
2.2.2

jwt
2.1.0

memoist
0.16.0

os
0.9.6

signet
0.8.1

googleauth
0.6.2

httpclient
2.8.3

google-api-client
0.13.6

slack-notifier
2.3.2

CFPropertyList
3.0.0

excon
0.61.0

faraday
0.14.0

unf_ext
<IP_ADDRESS>

gh_inspector
1.1.3

multi_json
1.13.1

openssl
2.1.0

date
1.0.0

fileutils
1.0.2

ipaddr
1.2.0

generated on: 2018-03-26

As a side effect: The html file with an overview of all the screenshots isn't getting created.

@henningBunk It sounds like your new device might not have been created properly. Did you try anything suggested here by rooting the emulator? https://stackoverflow.com/questions/7399028/android-adb-permission-denied

I checked and you are right, the emulator wasn't rooted. So I tried the following:

Start the emulator
type adb root
start fastlane screengrab

Now instead of
ls: /data/data/my.app/app_screengrab: Permission denied
I am getting
ls: /data/data/my.app/app_screengrab: No such file or directory
When I check manually the directory /data/data/my.app/app_screenrab doesn't exist while the screenshots can be found succesfully in /sdcard/my.app/screengrab/en-US/images/phoneScreenshots/

Does somebody has an idea how to fix the no such file or directory error? Or can hint me to the source of the problem. Thanks!


Build failure: pykeepass

Steps To Reproduce
Steps to reproduce the behavior:

build pykeepass on nixos-unstable

Build log
error: builder for '/nix/store/1w0f9sx43mwjzi25v0f29vjlcqw7k04k-source.drv' failed with exit code 1;
       last 10 log lines:
       > sourcing setup hook '/nix/store/aazf105snicrlvyzzbdj85sx4179rpfp-set-source-date-epoch-to-latest.sh'
       > sourcing setup hook '/nix/store/gps9qrh99j7g02840wv5x78ykmz30byp-strip.sh'
       >
       > trying https://github.com/libkeepass/pykeepass/archive/refs/tags/v4.1.0-post1.tar.gz
       >   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
       >                                  Dload  Upload   Total   Spent    Left  Speed
       >   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
       >   0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
       > curl: (22) The requested URL returned error: 404
       > error: cannot download source from any mirror
       For full logs, run 'nix log /nix/store/1w0f9sx43mwjzi25v0f29vjlcqw7k04k-source.drv'.
error: 1 dependencies of derivation '/nix/store/jscd98zw883yy47rkamf0y3rgqwkzfk7-python3.12-pykeepass-4.1.0-post1.drv' failed to build

Additional context
I don't know why but the tag on github suddenly became unavailable for download from the URL that nixos generates.
Notify maintainers
@dotlambda

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix run nixpkgs#nix-info -- -m
 - system: `"x86_64-linux"`
 - host os: `Linux 6.10.2, NixOS, 24.11 (Vicuna), 24.11.20240728.52ec9ac`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.5`
 - nixpkgs: `/nix/store/bcghcr9qwqmanpds017w75mcqda4fgab-source`

Add a :+1: reaction to issues you find important.

Fixed by https://github.com/NixOS/nixpkgs/pull/331310 (not in unstable yet)

Congrats to this issue, which was the 31000th issue closed in nixpkgs!


Add revert reason to trace calls

PR description
Add revert reason to trace calls
Fixed Issue(s)
#695
Changelog

[X] I thought about the changelog and included a changelog update if required.

Do none of the current trace tests that test reverts (.../ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs) have a revert reason?

Looks like bloc 0x12 of the trace series does have a revert reason (search for 0x7d88c1856cc95352).  Is this where we would have expected it to show up?

Do none of the current trace tests that test reverts (.../ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs) have a revert reason?

The TraceReplayblockTransactions code does have tests but it was already completed and not changed by this PR. Are you saying you prefer the json tests to the the unit test I created?

Looks like block 0x12 of the trace series does have a revert reason (search for 0x7d88c1856cc95352). Is this where we would have expected it to show up?

I will add a contract test.


[BUG] Text added via ctx.fillText() moves on hover

Adding text via ctx.fillText() moves while hovering over the chart
Expected Behavior

The text should remain stationary
Current Behavior

Upon adding text using ctx.fillText(), the text initially shows up fine. However, on hovering, the text seems to move a bit from its previous position. Once hovering has ended, the text moves back to its original position
Steps to Reproduce (for bugs)

I've created a pen to highlight this problem

Create a chart
Add some text via ctx.fillText()
Hover over chart and watch the text move

Context

I'm trying to add annotations to the chart to describe various components of a  time series plot
Environment

Chart.js version: 2.7.2
Browser name and version: Chrome  66.0.3359.117
Link to your project: https://codepen.io/gurupras/pen/qYqEqP

@gurupras the issue is that we're not guaranteeing that the text baseline property is the same.
To solve this you can explicitly set the textBaseline property of the context. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textBaseline
ctx.textBaseline = 'middle';

@simonbrunel would you consider this a bug?

Closing since I don't think this is a bug as we've made no guarantees as to how the state of the canvas is when we are finished. The above answer has a simple solution to guarantee a robust experience


tuyq-mqtt hangs ...

After running tuya-mqtt for about 2 weeks, I've noticed that tuya-mqtt published "offline" to the "status" topic even though the "node tuya-mqtt.js" process was running.  The last message in the logfile (stdout) is:
(node:2422) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an
async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 126)
(node:2422) UnhandledPromiseRejectionWarning: Error: No connection has been made to the device.
    at TuyaDevice._send (/home/fhem/tuya-mqtt/node_modules/tuyapi/index.js:269:13)
    at Promise (/home/fhem/tuya-mqtt/node_modules/tuyapi/index.js:242:14)
    at new Promise (<anonymous>)
    at _setQueue.add (/home/fhem/tuya-mqtt/node_modules/tuyapi/index.js:238:46)
    at run (/home/fhem/tuya-mqtt/node_modules/p-queue/dist/index.js:153:104)
    at PQueue._tryToStartAnother (/home/fhem/tuya-mqtt/node_modules/p-queue/dist/index.js:101:38)
    at Promise (/home/fhem/tuya-mqtt/node_modules/p-queue/dist/index.js:167:18)
    at new Promise (<anonymous>)
    at PQueue.add (/home/fhem/tuya-mqtt/node_modules/p-queue/dist/index.js:148:16)
    at TuyaDevice.set (/home/fhem/tuya-mqtt/node_modules/tuyapi/index.js:238:27)
(node:2422) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an
async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 129)

strace says this:
$ strace -p 2422
strace: Process 2422 attached
epoll_pwait(13, [], 1024, 2338, NULL, 8) = 0
epoll_pwait(13, [], 1024, 10000, NULL, 8) = 0
epoll_pwait(13, [], 1024, 10000, NULL, 8) = 0
epoll_pwait(13, [], 1024, 5814, NULL, 8) = 0
write(18, "\300\0", 2)                  = 2
epoll_ctl(13, EPOLL_CTL_MOD, 18, {EPOLLIN, {u32=18, u64=18}}) = 0
epoll_pwait(13, [{EPOLLIN, {u32=18, u64=18}}], 1024, 4184, NULL, 8) = 1
read(18, "\320\0", 65536)               = 2
epoll_pwait(13, [], 1024, 4181, NULL, 8) = 0
epoll_pwait(13, [], 1024, 10000, NULL, 8) = 0
epoll_pwait(13, [], 1024, 10000, NULL, 8) = 0
epoll_pwait(13, [], 1024, 10000, NULL, 8) = 0
epoll_pwait(13, [], 1024, 10000, NULL, 8) = 0
epoll_pwait(13, [], 1024, 10000, NULL, 8) = 0
epoll_pwait(13, ^Cstrace: Process 2422 detached
 <detached ...>

After restarting the "node tuya-mqtt.js" process, everything is good again.

Can you share the full log?  The last message isn't very useful since it clearly shows that TuyAPI did not have a connection to the device (notice that tuya-mqtt is not even mentioned in the stack trace, only TuyAPI), so tuya-mqtt reporting the status as "offline" for the device is expected.  There should be log messages regarding this disconnection and attempts to reconnect in the tuya-mqtt DEBUG output (assuming you were running with debug).  I've tested the reconnect logic pretty extensively, but there could certainly be a bug hiding in there somewhere, or some use case that's not covered.
My guess is the device received some type of command while it was offline that triggered the message above,, because I currently don't trap sets when the device is in offline state and I probably should.  However, that's more of a symptom vs cause thing as I wouldn't need to trap them if the device wasn't already offline for some reason so we need to find and determine the cause of the offline event.  The tuya-mqtt code is completely dependent on TuyAPI for this, it monitors heartbeat and online/offline status based on TuyAPI so I'll need full logs to understand the chain of events.

Sorry, the full log was overwritten after the restart. I'll restart it in DEBUG mode and wait until it happens again (might take quite some time) ... will post the full debug log then ...

Thanks.  I'll try to think about ways to reproduce the issue, but it's a tough one.

Hi
I have the same situation, but tuya-mqtt disconnects after dew hours. I checked with debug enabled and have a logs.
Please check.
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.338Z tuya-mqtt:state MQTT DPS18: tuya/smart_plug/dps/18/state ->  14
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.338Z tuya-mqtt:state MQTT DPS19: tuya/smart_plug/dps/19/state ->  17
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.338Z tuya-mqtt:state MQTT DPS20: tuya/smart_plug/dps/20/state ->  2368
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.338Z tuya-mqtt:tuyapi Received JSON data from device bf3b11111111111111t3er -> {"18":16,"19":20}
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.339Z tuya-mqtt:state MQTT DPS JSON: tuya/smart_plug/dps/state ->  {"18":16,"19":20}
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.339Z tuya-mqtt:state MQTT DPS18: tuya/smart_plug/dps/18/state ->  16
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.339Z tuya-mqtt:state MQTT DPS19: tuya/smart_plug/dps/19/state ->  20
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.339Z tuya-mqtt:error Device id bf3b11111111111111t3er has missed 1 heartbeat
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.396Z tuya-mqtt:tuyapi Disconnected from device smart_plug (bf3b11111111111111t3er, bafd22222222229f)

Hi
I have the same situation, but tuya-mqtt disconnects after dew hours. I checked with debug enabled and have a logs.
Please check.
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.338Z tuya-mqtt:state MQTT DPS18: tuya/smart_plug/dps/18/state ->  14
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.338Z tuya-mqtt:state MQTT DPS19: tuya/smart_plug/dps/19/state ->  17
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.338Z tuya-mqtt:state MQTT DPS20: tuya/smart_plug/dps/20/state ->  2368
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.338Z tuya-mqtt:tuyapi Received JSON data from device bf3b11111111111111t3er -> {"18":16,"19":20}
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.339Z tuya-mqtt:state MQTT DPS JSON: tuya/smart_plug/dps/state ->  {"18":16,"19":20}
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.339Z tuya-mqtt:state MQTT DPS18: tuya/smart_plug/dps/18/state ->  16
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.339Z tuya-mqtt:state MQTT DPS19: tuya/smart_plug/dps/19/state ->  20
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.339Z tuya-mqtt:error Device id bf3b11111111111111t3er has missed 1 heartbeat
Jan 04 12:47:39 notebook.local node[24731]: 2021-01-04T10:47:39.396Z tuya-mqtt:tuyapi Disconnected from device smart_plug (bf3b11111111111111t3er, bafd22222222229f)

I actually think the error in this original post was fixed by an update in TuyAPI (the API library on which tuya-mqtt is built) which was released very recently (just a couple of days ago).  I'm not sure that the behavior you are seeing is the same as I don't see any actual code errors, just a notification that a heartbeat was missed and that the device was disconnected.  This message came from TuyAPI, not from tuya-mqtt itself and, currently, there's no built in recovery from the scenario where the device itself closes the connection.
It is a little suspicious to me that the heartbeat fail and the disconnect happen basically simultaneously, but it's clear that it not tuya-mqtt itself that is performing the disconnect as it would have logged such an event.  Rather, it logs the loss of a single heartbeat and then immediately logs that tuyapi was disconnected.  That implies that the device closed the socket connection.  Probably the only way to "fix" this is to add some extra logic in the disconnect code to initiate a reconnect.
I have no idea why the device itself would close the connection, I've never seen that happen with any of my devices and I drive about a half dozen devices with this code with basically no issues at all, but of course there are a huge variety of devices out there, and there's quite a lot of variation in how they behave.  I still have a number of updates I need to do so I'll try to code up at least something that attempts to reconnect if the device disconnects.

I actually think the error in this original post was fixed by an update in TuyAPI (the API library on which tuya-mqtt is built) which was released very recently (just a couple of days ago).  I'm not sure that the behavior you are seeing is the same as I don't see any actual code errors, just a notification that a heartbeat was missed and that the device was disconnected.  This message came from TuyAPI, not from tuya-mqtt itself and, currently, there's no built in recovery from the scenario where the device itself closes the connection.
It is a little suspicious to me that the heartbeat fail and the disconnect happen basically simultaneously, but it's clear that it not tuya-mqtt itself that is performing the disconnect as it would have logged such an event.  Rather, it logs the loss of a single heartbeat and then immediately logs that tuyapi was disconnected.  That implies that the device closed the socket connection.  Probably the only way to "fix" this is to add some extra logic in the disconnect code to initiate a reconnect.
I have no idea why the device itself would close the connection, I've never seen that happen with any of my devices and I drive about a half dozen devices with this code with basically no issues at all, but of course there are a huge variety of devices out there, and there's quite a lot of variation in how they behave.  I still have a number of updates I need to do so I'll try to code up at least something that attempts to reconnect if the device disconnects.

For now I found workaround. Actually it is not clear, but works.
If you have better solution I will be very grateful.
diff --git a/devices/tuya-device.js b/devices/tuya-device.js
index c3a9d93..5c64ab6 100644
--- a/devices/tuya-device.js
+++ b/devices/tuya-device.js
@@ -606,14 +606,11 @@ class TuyaDevice {
     monitorHeartbeat() {
         setInterval(async () => {
             if (this.connected) {
-                if (this.heartbeatsMissed > 3) {
+                if (this.heartbeatsMissed > 0) {
                     debugError('Device id '+this.options.id+' not responding to heartbeats...disconnecting')
                     this.device.disconnect()
                     await utils.sleep(1)
                     this.connectDevice()
-                } else if (this.heartbeatsMissed > 0) {
-                    const errMessage = this.heartbeatsMissed > 1 ? " consecutive heartbeats" : " heartbeat"
-                    debugError('Device id '+this.options.id+' has missed '+this.heartbeatsMissed+errMessage)
                 }
                 this.heartbeatsMissed++
             }

For now I found workaround. Actually it is not clear, but works.
If you have better solution I will be very grateful.
diff --git a/devices/tuya-device.js b/devices/tuya-device.js
index c3a9d93..5c64ab6 100644
--- a/devices/tuya-device.js
+++ b/devices/tuya-device.js
@@ -606,14 +606,11 @@ class TuyaDevice {
     monitorHeartbeat() {
         setInterval(async () => {
             if (this.connected) {
-                if (this.heartbeatsMissed > 3) {
+                if (this.heartbeatsMissed > 0) {
                     debugError('Device id '+this.options.id+' not responding to heartbeats...disconnecting')
                     this.device.disconnect()
                     await utils.sleep(1)
                     this.connectDevice()
-                } else if (this.heartbeatsMissed > 0) {
-                    const errMessage = this.heartbeatsMissed > 1 ? " consecutive heartbeats" : " heartbeat"
-                    debugError('Device id '+this.options.id+' has missed '+this.heartbeatsMissed+errMessage)
                 }
                 this.heartbeatsMissed++
             }

Thanks for that, it at least tells me that a reconnect should work.  I had previously decided not to retry on disconnect since, theoretically, in the future we might want it to be possible to stop/disconnect from a device manually, but there's currently no method to do that in the code, and based on the fact that I have limited time to work on this project, I don't see adding any dynamic capabilities in the near future, so I'll probably just change the disconnect callback to automatically try a reconnect after a few seconds, which is basically what your change does as well.

Thanks for that, it at least tells me that a reconnect should work.  I had previously decided not to retry on disconnect since, theoretically, in the future we might want it to be possible to stop/disconnect from a device manually, but there's currently no method to do that in the code, and based on the fact that I have limited time to work on this project, I don't see adding any dynamic capabilities in the near future, so I'll probably just change the disconnect callback to automatically try a reconnect after a few seconds, which is basically what your change does as well.

I pushed 3.0.2 which updates the TuyAPI dependency to the latest version that includes a fix I believe will address the initial issue reported here.  It also implements reconnect on device disconnect.  Feedback on this update would be appreciated since I can't easily reproduce either of these issues.

I pushed 3.0.2 which updates the TuyAPI dependency to the latest version that includes a fix I believe will address the initial issue reported here.  It also implements reconnect on device disconnect.  Feedback on this update would be appreciated since I can't easily reproduce either of these issues.

Hi. My server working well more than 4 days. If device disconnected tuya-mqtt trying to reconnect to the device every 10 seconds. Shortly device connection established well and continue working.
Thank you for release 3.0.2!

Hi. My server working well more than 4 days. If device disconnected tuya-mqtt trying to reconnect to the device every 10 seconds. Shortly device connection established well and continue working.
Thank you for release 3.0.2!

I found at least one other case were a socket error would not trigger a reconnect which I think I've addressed in the 3.0.3 release.  I think, ideally, I need to refactor the reconnect logic which I'll keep in mind for the next maintenance release, but hopefully this will address the bulk of disconnect issues to this point.  I'm going to close this for now but feel free to reopen or open a new issue if failure still exist in the future.

I found at least one other case were a socket error would not trigger a reconnect which I think I've addressed in the 3.0.3 release.  I think, ideally, I need to refactor the reconnect logic which I'll keep in mind for the next maintenance release, but hopefully this will address the bulk of disconnect issues to this point.  I'm going to close this for now but feel free to reopen or open a new issue if failure still exist in the future.


Create simple triangle examples

Simple white tri in middle of screen
Textured tri in middle of screen
Rotating simple white tri in middle of screen
Rotating textured tri in middle of screen

Done as of c0922ff. They are both rotating. One with a texture and one without.


Carousel (Case Study)

Source: https://www.merative.com/clinical-development

Based on Testimonial design: https://www.figma.com/file/vw24IPXXt4vCh9BNumka9A/Web--Merative-Digital-Design-System-2.0?node-id=1402%3A10726&t=sWeanHc1Gu1iJdCJ-0


modify setup

Problem encountered on https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install
Operating System: windows
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.
hi
I have windows 10 Home on my computer.
When I download  .NET SDK ,  I get a modify setup which has three alternatives ; repair , close and something else.
I don´t know how to fix the problem.
kind regards nasim

That usually indicates you already have it installed. You can confirm by going to Add or remove programs.
Can you post the output of dotnet --info?

Hi and thank you for your comment.
I wonder if man can use  . Net without having visual studio.?
Kind regards nasim

You don't necessarily need Visual Studio. Here are some options:
https://dotnet.microsoft.com/platform/tools
It will depend the kind of app you're trying to build.

Thank you so much again
Kind regards nasim

Anything else we can assist you?

It is very nice of you to want to help me.
Nothing so far.
best regards Nasim

Hi, I found a page on internet about getting started with .NET  .
To create an application first you need to download   .NET SDK  and then open a termial like power shell and enter these commands.
dotnet new console -- output sample1
dotnet run-- project sample 1
The output should be hello world !
What  I got was that I had to rerun the command and pass -- force to accept and create. The resource file couldn´t be found.
I can not understand why I can not run the program?
I wonder if you could help me with this issue.
kind regards
Nasim

@NASIM537 can you please:

share output of dotnet --info
share exact instructions you have run
copy & paste error message or warning you are concerned about

I have written exakt instruction I have run and the output too. But unfortunately I don't know how to copy and paste the error message.

Hi ,  I have just succeded to copy and paste instructions I have run.
Could you please help me how to get the right output which is hello world!
kind regards nasim
soft Windows [Version 10.0.19041.1052]
(c) Microsoft Corporation. Med ensamrätt.
C:\Users\Nasim Khatibi>dotnet new console --force
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on C:\Users\Nasim Khatibi\Nasim Khatibi.csproj...
Determining projects to restore...
All projects are up-to-date for restore.
Restore succeeded.
C:\Users\Nasim Khatibi>run
'run' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\Nasim Khatibi>dotnet run
C:\Program Files\dotnet\sdk\5.0.301\Microsoft.Common.CurrentVersion.targets(3161,5): error MSB3552: Resource file "**/*.resx" cannot be found. [C:\Users\Nasim Khatibi\Nasim Khatibi.csproj]
The build failed. Fix the build errors and run again.

The SDK will usually tell you if you already have a project on the location you're trying to run dotnet new console. That's why it's telling you to run with the --force option. To avoid that, I'd run with the -o option like we show here: https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/create
If you already have a folder called myApp, give it a new name. I'd try to start over and have a clean project. Let us know how that goes.
If that doesn't work, please paste the contents of the .csproj file here.

I think I have succeeded .
Thank you so much for your help.
best regards nasim
Microsoft Windows [Version 10.0.19041.1052]
(c) Microsoft Corporation. Med ensamrätt.
C:\Users\Nasim Khatibi>dotnet new console -o myApp
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on myApp\myApp.csproj...
Determining projects to restore...
Restored C:\Users\Nasim Khatibi\myApp\myApp.csproj (in 102 ms).
Restore succeeded.
C:\Users\Nasim Khatibi>cd myApp
C:\Users\Nasim Khatibi\myApp>dotnet run
Hello World!

Yay! Yep, it looks good. I'll close the issue for now but let us know if you have more issues on your .NET learning journey.


Add filter loop and a membatch filter

Add a filter loop in trace.Append that gives all registered filters a chance to filter ops (and return one or more ops in its place).
Add a 'membatch' filter that just prints any memory accesses.

merged, thanks!


refactor(jest-config): change normalize to async function

Summary

Related to #11167
I would love to include support preset in ESM changes into one PR but it looks kind of a lot of changes because changing only normalize to async function already took quite some efforts to correct tests. Therefore this PR is to split up those changes.
Bonus: Also converted normalize.test.js to normalize.test.ts and fixed as many IDE complaints as possible.
Test plan

Green CI

Awesome stuff @ahnpnl!


Make retry logic use the request's context.

When polling, use the request's context object instead of the deprecated
Cancel object to see if polling should continue or not.
Thank you for your contribution to Go-AutoRest! We will triage and review it as soon as we can.
As part of submitting, please make sure you can make the following assertions:

[ ] I've tested my changes, adding unit tests if applicable.
[ ] I've added Apache 2.0 Headers to the top of any new source files.
[ ] I'm submitting this PR to the dev branch, except in the case of urgent bug fixes warranting their own release.
[ ] If I'm targeting master, I've updated CHANGELOG.md to address the changes I'm making.

Fixes https://github.com/Azure/azure-sdk-for-go/issues/1450

@devigned No worries (besides who likes breaking changes?  :p).  I'd be interested to know if this resolves the issue you were seeing.

@jhendrixMSFT I've verified that my test reacts as I would expect when the context is cancelled. Thank you for the fix!


Fix bug in hitlets time ordering

Before you submit this PR: make sure to put all operations-related information in a wiki-note, a PR should be about code and is publicly accessible
What does the code in this PR do / what does it improve?
In https://github.com/XENONnT/straxen/blob/b1a0884a84a9ec8cb4f3b0ad6a6ea27ec02991ec/straxen/plugins/peaklets/peaklets.py#L232-L234 hitlet_time_shift is calculated but in https://github.com/XENONnT/straxen/blob/b1a0884a84a9ec8cb4f3b0ad6a6ea27ec02991ec/straxen/plugins/peaklets/peaklets.py#L235 hitlets is sorted, so https://github.com/XENONnT/straxen/blob/b1a0884a84a9ec8cb4f3b0ad6a6ea27ec02991ec/straxen/plugins/peaklets/peaklets.py#L283-L287 will mix hitlets with different order in time into hit_max_times.
Additionally, https://github.com/XENONnT/straxen/blob/b1a0884a84a9ec8cb4f3b0ad6a6ea27ec02991ec/straxen/plugins/peaklets/peaklets.py#L292-L293 hit_max_times and hitlets['channel'] might not have the same time order.
Can you briefly describe how it works?
The new codes will not set the variable used in get_tight_coin in hitlets['time'] order.
Can you give a minimal working example (or illustrate with a figure)?
Please include the following if applicable:

[ ] Update the docstring(s)
[ ] Update the documentation
[ ] Tests to check the (new) code is working as desired.
[ ] Does it solve one of the open issues on github?

Notes on testing

Until the automated tests pass, please mark the PR as a draft.
On the XENONnT fork we test with database access, on private forks there is no database access for security considerations.

All italic comments can be removed from this template.

Looks good to me now. Thanks!

Coverage: 93.443% (+0.02%) from 93.418% when pulling 59ad229a980f08576568f27e15dd991246210334 on fix_tc_order into b1a0884a84a9ec8cb4f3b0ad6a6ea27ec02991ec on master.


KAFKA-18159:Remove onPartitionsRevoked and onPartitionsAssigned from SinkTask

Remove onPartitionsRevoked and onPartitionsAssigned from SinkTask
jira:https://issues.apache.org/jira/browse/KAFKA-18159
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@Rancho-7 Could you please add this changes to upgrade.html?

Sorry I forgot it. Thanks for review! I will add it.


More flexible code blocks.

Context
As You may be aware I'm trying to adopt the Myst AST in papyri, and I'm missing some flexibility in code blocks.
In particular before moving to Myst AST my code block were more structured, and I was able to have links for each token, so that say clicking on array  in a code block that contain np.array to open the relevant docs.
Proposal
Do you believe it would make send to have code-block be able to contain a list of children that are inline items instead of a value ? The other things this would allow it to potentially highlight individual token differently, like make some bold and/or and help the syntax highlighting by precomputing it for each token.
Tasks and updates
No response

Looking forward to talking more about this next week!


feat: adds anchors

Describe what changes this pull request brings
This pull request added anchors for Applications and Infrastructure.
Steps to test

Open the Applications and Infrastructure pages
Confirm that everything looks and works as expected

@prosazhin can you take this off of draft?


Try catch (error / typo) in node_modules\puppeteer\lib\cjs\puppeteer\common\Page.js:707

Ups :-)
node_modules\puppeteer\lib\cjs\puppeteer\common\Page.js:707

I met this trouble too.  you need upgrade your node, maybe node v12+ (in my case). GOOD LUCK

I met this trouble too.  you need upgrade your node, maybe node v12+ (in my case). GOOD LUCK

Bumping this as it is causing me problems as well

Up. This is so easy to fix. Please.

Same here. I have blocking problems to upgrade my node to 12+ immediatly.

As the README states:

Puppeteer follows the latest maintenance LTS version of Node.

I'd recommend upgrading to Node.js 12 at a minimum, since Node.js 12 is not even LTS anymore these days.


Create the parallel download semaphore/workers limit

Implement a maximum of parallel downloads per domain/subdomain.

Identify each different subdomain in all the URLs
create a fixed number of channels mapped to each one map[string]chan
spin a worker reading each of these channels
process the download in these workers

Wow! Looks awesome 💜

Awesome! This was done by https://github.com/cuducos/chunk/pull/27


AVROUtils "Unsupported data type" exception for converting non GenericContainer instances

Hi,
Currently I'm exploring migration from Confluent schema registry to GSR and noticed different data serialisation behaviour when wanted to use GSR AVRO serialisation for string keys and got "Unsupported data type" exception in AVROUtils. I'm wondering if in case of primitive objects for serialisation I must use custom encoder? (in order to archive similar behaviour like in Cofnluent avro utils to encode primitive)? Please let me know what is recommendation of primitive types serialisation if I use GSR. Sorry, I'm new to GSR.
UPD:
Code snippet (taken from AWS samples) enriched with messageKey to trigger exception:
package com.amazon.gsrkafka;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.common.serialization.StringDeserializer;
import com.amazonaws.services.schemaregistry.deserializers.avro.AWSKafkaAvroDeserializer;
import com.amazonaws.services.schemaregistry.deserializers.avro.AWSAvroDeserializer;
import com.amazonaws.services.schemaregistry.utils.AvroRecordType;
import com.amazonaws.services.schemaregistry.utils.AWSSchemaRegistryConstants;
import org.apache.kafka.common.errors.SerializationException;
import org.apache.avro.generic.GenericData;
import org.apache.avro.generic.GenericRecord;
import java.util.Collections;
import java.util.Properties;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.File;

public class gsrkafka {
private static final Properties properties = new Properties();
private static final String topic = "test";
public static void main(final String[] args) throws IOException {
        properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "<IP_ADDRESS>:9092");
        properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, AWSKafkaAvroSerializer.class.getName());
        properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, AWSKafkaAvroSerializer.class.getName());
        properties.put(AWSSchemaRegistryConstants.AWS_REGION, "eu-central-1");
        properties.put(AWSSchemaRegistryConstants.REGISTRY_NAME, "test-glue-schema-registry");
        properties.put(AWSSchemaRegistryConstants.SCHEMA_NAME, "customer");
        properties.put(AWSSchemaRegistryConstants.COMPATIBILITY_SETTING, Compatibility.FULL);
        properties.put(AWSSchemaRegistryConstants.SCHEMA_AUTO_REGISTRATION_SETTING, true);
        Schema schema_customer = new Schema.Parser().parse(new ClassPathResource("Customer.avsc").getFile());
        GenericRecord customer = new GenericData.Record(schema_customer);

        try (KafkaProducer<String, GenericRecord> producer = new KafkaProducer<String, GenericRecord>(properties)) {
            String messageKey = UUID.randomUUID().toString();
            final ProducerRecord<String, GenericRecord> record = new ProducerRecord<String, GenericRecord>(topic, messageKey, customer);
//          Without message key - works fine, since it is passing into serialiser as null
//          final ProducerRecord<String, GenericRecord> record = new ProducerRecord<String, GenericRecord>(topic, customer);
            customer.put("first_name", "Ada");
            customer.put("last_name", "Lovelace");
            customer.put("full_name", "Ada Lovelace");
            producer.send(record);
        } catch (final InterruptedException | SerializationException e) {
             e.printStackTrace();
        }
    }

}

Avro schema
{
  "namespace": "Customer.avro",
  "type": "record",
  "name": "Customer",
  "fields": [
    {"name": "first_name", "type": "string"},
    {"name": "last_name", "type": "string"},
    {"name": "full_name", "type": ["string", "null"], "default": "null"}
  ]
}

Exception in thread "main" com.amazonaws.services.schemaregistry.exception.AWSSchemaRegistryException: Unsupported Type of Record received
	at com.amazonaws.services.schemaregistry.utils.AVROUtils.getSchemaDefinition(AVROUtils.java:55)
	at com.amazonaws.services.schemaregistry.serializers.avro.AWSKafkaAvroSerializer.prepareInput(AWSKafkaAvroSerializer.java:159)
	at com.amazonaws.services.schemaregistry.serializers.avro.AWSKafkaAvroSerializer.serialize(AWSKafkaAvroSerializer.java:115)
	at org.apache.kafka.common.serialization.Serializer.serialize(Serializer.java:62)
	at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:902)
	at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:870)
	at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:758)
	at org.msk.AwsProducer.main(AwsProducer.java:46)

Thanks,
Valeriy

Can you please explain your use-case for using strings? As of now we only support serializing / deserializing valid GenericRecord / SpecificRecord (POJOs).

With confluent schema registry we were using same serialiser for key and value regardless if it was POJO or String or UUID.., e.g. AvroSerialiser was working with that types fine, in most of cases we are putting uuid as a message key which was serialised to avro format. Once I tried to use AWSKafkaAvroSerializer I've got exception mentioned above. So as I understood in case of uuids in kafka message keys I can't use AWSKafkaAvroSerializer but need to use StringSerialiser instead.

Can you please explain your use-case for using strings? As of now we only support serializing / deserializing valid GenericRecord / SpecificRecord (POJOs).

This is a common use case where Kafka keys are strings (or some other primitive type) and values are records. Confluent handles this transparently with a NonRecordContainer that it interposes between primitives and the registry. Would be convenient if GSR had a similar facility so users didn’t have to implement it themselves.


Chart.js 3.0 support

Chart.js 3.0 is out. It'd be nice to see this plugin support it

Is there any news about Chart 3.0 support?

I am getting this error while initialization, it is connected to this version issue?