Forward port from eth0 to tun0

First of all, nice script. Its working good here.
I  just have a question if iam doing this the right way:
I am running the openvpn server on a debian 9 vps with  one public ip "<IP_ADDRESS>" on eth0.
the vps is connected to my home network over tun0 "<IP_ADDRESS>/24".
the vps has ip "<IP_ADDRESS>" and home network client has "<IP_ADDRESS>". the vpn is connected and the machines can ping each other. So far so good.
Now i want to use the public ip of the VPN server on  eth0 for the client machine inside the tunnel network. The best way Ive found, is to forward the ports to the client machine.
so Iam using this way:
 iptables -t nat -A PREROUTING -p tcp --dport 80 -d <IP_ADDRESS> -j DNAT --to-destination <IP_ADDRESS>:80
iptables -t nat -A POSTROUTING -p tcp --dport 80 -j MASQUERADE
iptables -t nat -A OUTPUT -p tcp --dport 80 -d <IP_ADDRESS> -j DNAT --to-destination <IP_ADDRESS>:80
after this its possible to access the nginx webserver running on the client machine inside the tunnel network over  the dns http://dns-of-vps.com pointing to the public ip of the VPS.
and to get the rules on boot, I changed the add-openvpn-rules.sh to
#!/bin/sh
iptables -t nat -I POSTROUTING 1 -s <IP_ADDRESS>/24 -o eth0 -j MASQUERADE
**iptables -t nat -A PREROUTING -p tcp --dport 80 -d <IP_ADDRESS> -j DNAT --to-destination <IP_ADDRESS>:80
iptables -t nat -A POSTROUTING -p tcp --dport 80 -j MASQUERADE
iptables -t nat -A OUTPUT -p tcp --dport 80 -d <IP_ADDRESS> -j DNAT --to-destination <IP_ADDRESS>:80**
iptables -I INPUT 1 -i tun0 -j ACCEPT
iptables -I FORWARD 1 -i eth0 -o tun0 -j ACCEPT
iptables -I FORWARD 1 -i tun0 -o eth0 -j ACCEPT
iptables -I INPUT 1 -i eth0 -p udp --dport 1194 -j ACCEPT

and the rm-openvpn-rules.sh to
#!/bin/sh
iptables -t nat -D POSTROUTING -s <IP_ADDRESS>/24 -o eth0 -j MASQUERADE
iptables -t nat -D PREROUTING -p tcp --dport 80 -d <IP_ADDRESS> -j DNAT --to-destination <IP_ADDRESS>:80
iptables -t nat -D POSTROUTING -p tcp --dport 80 -j MASQUERADE
iptables -t nat -D OUTPUT -p tcp --dport 80 -d <IP_ADDRESS> -j DNAT --to-destination <IP_ADDRESS>:80
iptables -D INPUT -i tun0 -j ACCEPT
iptables -D FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -D FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -D INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
iptables -D INPUT -i eth0 -p udp --dport 80 -j ACCEPT
iptables -D INPUT -i eth0 -p udp --dport 25565 -j ACCEPT

The only problem with this setup is, on the client side I get the source ip from the server side in the logs. for example accessing the http://dns-of-vps.com pointing to the vps ip, the logs on the client side get the source ip of the vps at the tunnel side -> "<IP_ADDRESS>" and not the real source ip of the user.
Is there a way to pass the real source ip through the tunnel?
Is this the right way of doing this, or is there a better way? Ive searching for this for hours and days, but the tutorials are not clear enough.

I have an idea. Install nginx on the vps and configure it as a reverse proxy
location / {
    proxy_pass http://<IP_ADDRESS>:80/;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

The source IP of the user will be in the X-Real-IP header. I added X-Forwarded-For for proxies but it's not necessary.


assets

Hi,
I just installed your sources and the web browser can't find assets (js,css...)

GET http://dashboard/assets/vendors/bootstrap/dist/css/bootstrap.min.css
GET http://dashboard/assets/vendors/font-awesome/css/font-awesome.min.css 404 (Not Found)
GET http://dashboard/assets/vendors/jquery/dist/jquery.min.js
GET http://dashboard/assets/vendors/bootstrap/dist/js/bootstrap.min.js
GET http://dashboard/assets/vendors/nprogress/nprogress.js
GET http://dashboard/assets/vendors/fastclick/lib/fastclick.js
GET http://dashboard/assets/vendors/nprogress/nprogress.js
Uncaught ReferenceError: $ is not defined

and in my linux box

root@SRV:/var/www/dashboard# ls web/assets/
css  images  js  less

thx

Do you have after installing this app a directory structure like:
├── /var/www/dashboard
    ├── web
        ├── assets
            ├── vendor
            ├── css
            ├── images
            ├── js
            ├── less

If vendor directory is missing, it means that the vendors weren't installed or there was an error during installation.
Try to run the shell command from the root of your application (/var/www/dashboard).
bower install

Hi,
as I wrote the structure just after the installation was:
├── /var/www/dashboard
├── web
├── assets
├── css
├── images
├── js
├── less

If vendor directory is missing, it means that the vendors weren't installed or there was an error during installation.

vendors weren't installed => for sure
there was an error during installation. => nothing printed on my screen... maybe Can I check a log install file?
and for the "bower install" maybe is to late because I pasted the pissing files manually and all is ok now...

I think - it's a problem with installing vendor libraries using phing in conjunction with bower.
To check what was wrong you should remove /var/www/dashboard/Web/assets/vendor libraries and then run shell command vendor/bin/phing build --verbose to see more verbose output.

Hi,
!!!
`root@SRV-SUP:/var/www/dashboard/vendor/bin# ./phing build --verbose
phing [options] [target [target2 [target3] ...]]
Options:
-h -help               print this message
-l -list               list available targets in this project
-v -version            print the version information and exit
-q -quiet              be extra quiet
-S -silent             print nothing but task outputs and build failures
-verbose               be extra verbose
-debug                 print debugging information
-emacs, -e             produce logging information without adornments
-diagnostics           print diagnostics information
-longtargets           show target descriptions during build
-logfile         use given file for log
-logger     the class which is to perform logging
-listener   add an instance of class as a project listener
-f -buildfile    use given buildfile
-D=   use value for given property
-keep-going, -k        execute all targets that do not depend
on failed target(s)
-propertyfile    load all properties from file
-find            search for buildfile towards the root of the
filesystem and use it
-inputhandler    the class to use to handle user input
Report bugs to<EMAIL_ADDRESS>Unknown argument: --verbose
`

                                                                                As you see at output verbose argument must be used with one hypen so type argument '-verbose'. By the convention long arguments names are prefixed with double hypen but phing uses single hypen.                                                                                Sent from my BlackBerry 10 smartphone on the Orange network.                                                                                From: 8mccm8Sent: poniedziałek, 19 września 2016 09:14To: krzysiekpiasecki/GentelellaReply To: krzysiekpiasecki/GentelellaCc: Krzysztof Piasecki; CommentSubject: Re: [krzysiekpiasecki/Gentelella] assets (#22)Hi,

!!!
`root@SRV-SUP:/var/www/dashboard/vendor/bin# ./phing build --verbose
phing [options] [target [target2 [target3] ...]]
Options:
-h -help               print this message
-l -list               list available targets in this project
-v -version            print the version information and exit
-q -quiet              be extra quiet
-S -silent             print nothing but task outputs and build failures
-verbose               be extra verbose
-debug                 print debugging information
-emacs, -e             produce logging information without adornments
-diagnostics           print diagnostics information
-longtargets           show target descriptions during build
-logfile         use given file for log
-logger     the class which is to perform logging
-listener   add an instance of class as a project listener
-f -buildfile    use given buildfile
-D=   use value for given property
-keep-going, -k        execute all targets that do not depend
on failed target(s)
-propertyfile    load all properties from file
-find            search for buildfile towards the root of the
filesystem and use it
-inputhandler    the class to use to handle user input
Report bugs to<EMAIL_ADDRESS>Unknown argument: --verbose
`
—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/krzysiekpiasecki/Gentelella","title":"krzysiekpiasecki/Gentelella","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/krzysiekpiasecki/Gentelella"}},"updates":{"snippets":[{"icon":"PERSON","message":"@8mccm8 in #22: Hi,\r\n\r\n!!!\r\n\r\nroot@SRV-SUP:/var/www/dashboard/vendor/bin# ./phing build --verbose\r\nphing [options] [target [target2 [target3] ...]]\r\nOptions:\r\n  -h -help               print this message\r\n  -l -list               list available targets in this project\r\n  -v -version            print the version information and exit\r\n  -q -quiet              be extra quiet\r\n  -S -silent             print nothing but task outputs and build failures\r\n  -verbose               be extra verbose\r\n  -debug                 print debugging information\r\n  -emacs, -e             produce logging information without adornments\r\n  -diagnostics           print diagnostics information\r\n  -longtargets           show target descriptions during build\r\n  -logfile \u003cfile\u003e        use given file for log\r\n  -logger \u003cclassname\u003e    the class which is to perform logging\r\n  -listener \u003cclassname\u003e  add an instance of class as a project listener\r\n  -f -buildfile \u003cfile\u003e   use given buildfile\r\n  -D\u003cproperty\u003e=\u003cvalue\u003e   use value for given property\r\n  -keep-going, -k        execute all targets that do not depend\r\n                         on failed target(s)\r\n  -propertyfile \u003cfile\u003e   load all properties from file\r\n  -find \u003cfile\u003e           search for buildfile towards the root of the\r\n                         filesystem and use it\r\n  -inputhandler \u003cfile\u003e   the class to use to handle user input\r\n\r\nReport bugs to<EMAIL_ADDRESS>argument: --verbose\r\n\r\n"}],"action":{"name":"View Issue","url":"https://github.com/krzysiekpiasecki/Gentelella/issues/22#issuecomment-247924551"}}}

yep sorry working on an other stuff...

./phing build -verbose
exception 'ConfigurationException' with message 'Buildfile: build.xml does not exist!' in /var/www/dashboard/vendor/phing/phing/classes/phing/Phing.php:552
Stack trace:
#0 /var/www/dashboard/vendor/phing/phing/classes/phing/Phing.php(178): Phing->execute(Array)
#1 /var/www/dashboard/vendor/phing/phing/classes/phing/Phing.php(343): Phing::start(Array, NULL)
#2 /var/www/dashboard/vendor/phing/phing/bin/phing.php(58): Phing::fire(Array)
#3 /var/www/dashboard/vendor/phing/phing/bin/phing(14): require_once('/var/www/dashbo...')
#4 {main}

You should execute phing from the root of your project. Otherwise you must additionally use argument -f to point the build file.
You may also close this issue if you find it as closed.

Inactive.


Adds accountId + appName prefix to static unit buckets

This PR resolves #54 by replacing the static-website prefix with an <accountId>-<appName>- prefix to the buckets create for static units. Logic for shortening bucket names that are too long will be part of #18.
Standard checks

Unit tests: Any special considerations?
Docs: Do we need to update any docs, internal or public?
Backwards compatibility: Will this break existing apps? If so, what would be the extra work required to keep them working? will cause buckets created previously by static unit to be replaced

Holding off on merging this one for now since it may break existing CloudFront distributions

Should this be put back into draft until we're ready to merge?

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

This PR is no longer relevant.


Website For the Project

Aim

Website For the Project

Details

We have to make website for the project with HTML,CSS and JS with Firebase or any database

I would like to contribute to the front-end of this task.

I would like to contribute to the frontend !

I would like to contribute in this project, If any work left I will be happy to contribute  in frontend part.


mi-360 can not work in Trine3!

At first,I want to thanks for your work!
I found many projects like yours,but they are not work in my controller.
I have ported your code to my controller and it works well expect rumble(By the way,can you tell me how to fix it?).
I tested mi-360 in many games and I found it can not work in Trine3!
Trine3 can recognise the controller is a "Xinput Controller" but the key is not corresponding.
Sorry for my bad English!

Hi!
What do you mean by "ported to my controller"?

I am sorry for my bad English!  (expect=except)
I modified your code and it works in my controller except rumble.
The keys are corresponding with my gamepad's in many games except Trine3 .It also works in x360ce.
But now, I think this is not your project's problem.
I use VDX(v<IP_ADDRESS>) and x360ce, but they can not work in Trine3 as well.

So you are saying that you adapted the code for a different controller, that is not a Xiaomi Gamepad?
If so, the rumble feature is specific for Xiaomi Gamepad: you have to find out how to instruct your device (via HID) to vibrate.
About Trine3, maybe it's a ViGEm bus problem, as you said, and the fact that VDX doesn't work too supports my idea.
Sorry I can't be of more help.

It doesn't matter.


[FEATURE] support listing templates

Since we allow the creation of VMs via --template, it would be ideal to support listing the available templates.
harvester template list

?

What kind of data do you suggest to show for the template list command ?
Only Name and LatestVersion or more ?

I'm ok with the name. If we can use the version with the CLI then that would be ideal too.

I have the following already done, but it does not look useful.

What would be interesting to show ?

This is implemented in the commit bbf0152b541b21a91e8c7112250d2f5180e17dc1 and available in the release v0.0.5


Clarity around in-memory checkpointing

Hi
I'm just after information regarding the reliability/stability of in-memory checkpointing.
Assuming that this is something that is stored on Eventhub, is it safe to assume that the checkpoint information is always the current one as marked by client using "partition_context.update_checkpoint(event)".
What happens to the checkpoint information when the Azure/Eventhub servers are rebooted/crashed ?

@kiranpvsr thanks for reaching out, someone from our team will take a look at this //cc: @yunhaoling @YijunXieMS

Hi @kiranpvsr , sorry I just realized that I missed this issue.
The in-memory checkpoint store stores data in the memory of the computer that runs the SDK. It doesn't save data when your server is rebooted/crashed. It doesn't store data in the event hub server either. It's only useful when exception happens during event processing and reconnect to the eventhub.
BlobCheckpoitStore of package azure-eventhub-checkpointstoreblob persists checkpoint data into blobs of Azure Storage Blob. You may use it for your scenario.

Thank you for that information. If its saved in the memory of the computer that runs the SDK, if the computer isn't restarted or the memory cache isn't flushed, then checkpointing should work isn't it ?
In my case, I've stopped the script that connects to Eventhub and started it after an hour. But instead of fetching events from when it was stopped, it started to fetch events based on the latest time when it was started again.

Sorry for confusing you by saying "in the memory of the computer". More specifically, it works in the scope of the receive( ) method. It's just to maintain the internal status for that receive call, which can recover from exceptions and use the checkpoint internally.


Patch React 15 warnings

Fixes this warning (#150) when value for input is undefined or null by using an empty string for value when required.
A component is changing a controlled input of type text to be uncontrolled.
Input elements should not switch from controlled to uncontrolled (or vice versa).
Decide between using a controlled or uncontrolled input element for the
lifetime of the component. More info: https://fb.me/react-controlled-components

Fixes this warning by removing known keys from spreaded props.
Warning: Unknown props `stylesheet`, `formValue` on <form> tag.
Remove these props from the element. For details, see https://fb.me/react-unknown-prop

I should note preventing spreading of props might be a breaking change for people who are passing through a component for Fieldset instead of a dom string, but they should be able to refactor their code to use Fieldset directly inside their component instead.

any chance this gets merged?

Would appreciate if you could merge it

Pretty please?


DNSSEC error when there is a slash(/) in the zone name

PDA version
0.4.1
Python version
3.10
Steps to Reproduce

Click the  Create Zone
Creat a Zone named 1/<IP_ADDRESS>.in-addr.arpa
Click Enable DNSSEC of 1/<IP_ADDRESS>.in-addr.arpa in Dashboard

Expected Behavior
It should create DNSSEC correctly.
I try to run pdnsutil secure-zone 1/<IP_ADDRESS>.in-addr.arpa on the powerdns server, and it works fine.
And after that the Enable DNSSEC button changes from red to green.
Thus, I'm sure it's a problem with PowerDNS-Admin.
Observed Behavior
It prompted me that There was something wrong, please contact administrator

By the way, I am using the latest docker image

A quick reproduction of your issue makes the problem very apparent. The zone name is currently sent to the back-end as part of the URL path instead of a query string or body parameter. Naturally, that forward slash wasn't being properly escaped which leads to the request being directed at a non-existent back-end path.

Resolved by 1707.

@ravizhan I spoke too soon. After further investigation, the mistake that lead to this flaw is widely scattered through-out the app. While trying to rectify the issue, I am finding the that fix is actually a huge problem. For this reason, I am doing what I can for now, but many features will simply remain broken from this.
You are however the first person that I know of to have brought a scenario where the zone name contains a forward slash so this isn't going to be a priority.


Fix for gradient fills

Fixes DmitryBaranovskiy/raphael/issues/933
Broken
http://ericliao.github.io/raphael/picker-2.1.3.html
Fixed:
http://ericliao.github.io/raphael/picker-2.1.3-patched.html

I don't know why the url of the page was put in front of these references. There might be a usecase. A better fix for this would be to use document.location.origin + document.location.pathname instead of document.location and instead of nothing at all.

#781 and 57b62b1b2f7d403b6046cd00603686b621562018 try to fix this. Could you confirm it?

@tomasAlabes why closed? I can confirm that https://github.com/DmitryBaranovskiy/raphael/issues/781 and https://github.com/DmitryBaranovskiy/raphael/commit/57b62b1b2f7d403b6046cd00603686b621562018 didn't fix this bug for IE9. But this fix do it:

Now?

@tomasAlabes black anyway(.

https://github.com/DmitryBaranovskiy/raphael/issues/990 To fix black gradient:


refactor: fix dynamic builder instantiation

:white_check_mark: Build TheIdServer 1.0.0-user-ole0030 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/d97d9b4495 by @aguacongas)


[No QA] [TS migration] Migrate 'useArrowKeyFocusManager.js' hook to TypeScript

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/24947
Tests

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Click on FAB icon
Select Start chat
Select user which you want to start chat
In new message input type @
Use arrows to navigate through suggestions

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/25230417/93f2c6e8-4434-493b-a468-51c4cd1d8c53

Android: mWeb Chrome

iOS: Native
https://github.com/Expensify/App/assets/25230417/fc48cb37-df31-4570-999e-2d02ebe24b31

iOS: mWeb Safari

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/25230417/43b624a5-fdab-4e5d-8166-dabeda9121bf

MacOS: Desktop
https://github.com/Expensify/App/assets/25230417/42570070-945b-45cd-8c91-1ca38d1508d7

This looks good to me! A couple minor questions, no changes needed I think:

Do we still need a C+ to review this? I will need to figure out how to assign if so
Do we want to wait until the useKeyboardShortcut is migrated too? I'm pretty sure it's not needed but it was brought up so wanted to double check
Is there a way to test this locally just to double check it's all working well?

Thanks!

Do we still need a C+ to review this? I will need to figure out how to assign if so

Yes, C+ should do the reviewer checklist

Do we want to wait until the useKeyboardShortcut is migrated too? I'm pretty sure it's not needed but it was brought up so wanted to double check

No need, it can be migrated separately

Is there a way to test this locally just to double check it's all working well?

@kubabutkiewicz Can you add some QA steps?

Yes
No its not needed to go further with this PR
Will add QA steps

Added @rushatgabhane for C+ review, then will take one more look!

Bump on the review when you have time @rushatgabhane - thank you!

Just one question - the default value on new line 30 - onFocusedIndexChange = () => {}, - is that going to pose a problem with the onFocusedIndexChange?: (index: number) => void; type since it doesn't have an index parameter?

@dangrous it will not cause any problem since onFocusedIndexChange?: (index: number) => void;  is just a type, so will will not cause any problems

I wasn't sure if we would get errors since the default did not match the type. But that would show up on compile so I think we're okay?

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/dangrous in version: 1.3.94-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/dangrous in version: 1.3.94-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.94-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/dangrous in version: 1.3.95-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.95-9 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Migrate to Docusaurus: Phase 1

See also https://eed3si9n.com/sbt-website-update-2024/
Problem
sbt's website uses a combination of static site generators that were created by the Scala community, Pamflet for the guides and Paradox for the landing pages. Both of these have been stable, and over the years I was able to add features to Pamflet, like globalization support, which still make them decent options. However, given that I am not actively developing either of them, we should switch over to a static site generator of 2020s.
Solution
In https://eed3si9n.com/sbt-2.0-ideas I wrote:

Maybe this is also a good timing to switch to some other static site generator like MkDocs or Docusaurus.

I've opted for Docusaurus, which I think is fairly popular among the Scala community as well. With integration with MDX, it's super flexible in terms of customization. Among the niceness of Docusaurus is that it's designed to handle both the landing pages and user guides. In this PR, I've only replaced the landing pages.
Landing page
As mentioned above, this PR replaces Paradox landing pages with Docusaurus.
2017 Lightbend blue/orange (current):
https://github.com/sbt/website/pull/491

after 2024 rewrite:

Besides the fact that the download lists are now programmatically generated, there are no material difference between the two.
sbt User Guide
sbt 1.x documentation is kept intact with Pamflet. sbt-site is capable of versioned documents, as long as each branch write to different directories. What I suggest we do next (phase 2) is that we cut a branch for 1.x, and keep the existing sbt 1.x document as-is, and patch the 1.x branch as necessary.
On develop branch, we can reboot the sbt 2.x documentation. As a sampler, I wrote Installing sbt runner page, which looks like this:

By working only on the sbt 2.x docs in this branch, we get the benefit of starting over but also keeping the git history for pages that we can reuse.

One question though: did you consider using scaladoc instead? Does it provide all the feature that we need (for e.g., custom js component)?

@adpi2 Yea, @ckipp01 brought it up on Slack. We could explore it for the actual documentation portion of the site, but I am not really sure if we should get ourselves into yet another static site generator, written in Scala, and mostly used by us. If so I could stick with Pamflet, which we have control over and handles globalization and runtime themes.


Update README.md

fix project root

@lauriejim thanks for great project! Happy to contribute, even such a tiny bit.

Thank you for your contributions, really appreciate :)


merge package from arlac77/npm-package-template

.travis.yml

chore(travis): merge from template .travis.yml

Codecov Report

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

@@          Coverage Diff          @@
##           master   #430   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          29     29
=====================================
  Hits           29     29

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5620c93...8635360. Read the comment docs.

Coverage remained the same at 97.619% when pulling 8635360e7bf206355f773a7cc625cbc7bded7ddf on template-sync-1 into 5620c93f44d122b5aa506bf06d74d451c719a857 on master.


Support bulk order query in PoloniexTradeService

Currently the following methods are not implemented:
public Collection getOrder(String... orderIds) as there is no bulk order query request on poloniex api, I suggest we just iterate over returnOrderTrades.
https://poloniex.com/support/api/

I use this exchange in my application. Will give a try at implementing getOrders(String...) by iterating over the Ids one by one.
Anyone else working on this right now?


Add max wait queue for BlazeClient

This PR is an attempt to resolve #1043.
One thing to note is I had to break API compatibility for PooledHttp1Client.apply if both parameters are being set without being named, but I don't think there is a way around it.  I did consider adding the value to BlazeClientConfig but the other pool setting is not present there so I did not feel it was a good spot to put the value.

Thanks for the PR! It looks like you're trying to solve a similar issue as @eklavya in PR #1367. I think that PR is almost ready so you're feedback would be appreciated.

@bryce-anderson you are correct.  The solutions overlap with the difference being the approach.  I will take a closer look at it tomorrow.

Aren't these orthogonal? This is about bounding the wait queue, and #1367 is about bounding the open connections per host. They're definitely overlapping in touched code (hello, merge conflict!) but I think both valuable.

That PR also tries to bound the waitqueue in method addToWaitQueue.

#1367 overlaps with the solution proposed here.  I am going to close this PR for now.  I will reopen if for some reason #1367 does not go through.

Yes, I was so focused on the max connections per host I'd overlooked the max waiters.  Anyway, we appreciate the contribution, and hope to see more!


Revert "Added Swift over Coffee podcast"

Reverts daveverwer/iOSDevDirectory#146

I think problem here is that there is no RSS feed URL. At least I couldn't find one.

It's a podcast so there must be one! Looks like it's https://anchor.fm/s/572fc68/podcast/rss


Page title is not parsed when file contains Windows line endings

When generating a new Doctave site on Windows, doctave init, the Examples page is generated with Windows line endings. These line endings prevent the title from being parsed by Doctave and instead are included as markdown content, as if it were just markdown content. The same issue occurs when generating new files on Windows, because they also contain Windows line endings. After changing the files to Unix line endings then the title is parsed by Doctave and the page's title is displayed as expected.

Thank you Chris for such a detailed bug report! I'm going to dig into this today - my guess is that this should be a reasonably straightforward fix in the frontmatter parser.


Unity format spread logic

Codecov Report
Patch coverage: 96.72% and project coverage change: +0.94% :tada:

Comparison is base (6f7863e) 85.23% compared to head (3b4d65d) 86.17%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #207      +/-   ##
==========================================
+ Coverage   85.23%   86.17%   +0.94%
==========================================
  Files          20       20
  Lines        1246     1237       -9
==========================================
+ Hits         1062     1066       +4
+ Misses        141      132       -9
+ Partials       43       39       -4

Files Changed
Coverage Δ

pipeline_tree_spreader.go
86.82% <96.66%> (+4.62%)
:arrow_up:

simple_tree_spreader.go
95.31% <96.77%> (+5.31%)
:arrow_up:

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


chore(deps): upgrade google-cloud-bigquery

Remove version constraint and include the new dependencies of numpy and pyarrow.
Corrects current broken state where the combination of dependencies prevents resolution, thanks to google-cloud-bigquery pinning to protobf under 4.

$ make deps
...
+ pip-compile --upgrade --allow-unsafe -o /tmp/tmp.eRh6xSE0Bn/main.txt requirements/main.in
Could not find a version that matches protobuf<4.0.0dev,<5.0.0dev,>=3.12.0,>=3.15.0,>=3.19.0,>=3.20.1,>=4.21.3 (from google-cloud-bigquery==2.34.4->-r requirements/main.in (line 18))
Tried: 2.0.3, 2.3.0, 2.4.1, 2.5.0, 2.6.0, 2.6.1, 3.0.0, 3.0.0, 3.1.0, 3.1.0.post1, 3.1.0.post1, 3.2.0, 3.2.0, 3.3.0, 3.4.0, 3.4.0, 3.5.0.post1, 3.5.0.post1, 3.5.1, 3.5.1, 3.5.2, 3.5.2, 3.5.2.post1, 3.5.2.post1, 3.6.0, 3.6.0, 3.6.1, 3.6.1, 3.7.0, 3.7.0, 3.7.1, 3.7.1, 3.8.0, 3.8.0, 3.9.0, 3.9.0, 3.9.1, 3.9.1, 3.9.2, 3.9.2, 3.10.0, 3.10.0, 3.11.0, 3.11.0, 3.11.1, 3.11.1, 3.11.2, 3.11.2, 3.11.3, 3.11.3, 3.12.2, 3.12.2, 3.12.4, 3.12.4, 3.13.0, 3.13.0, 3.14.0, 3.14.0, 3.15.0, 3.15.0, 3.15.1, 3.15.1, 3.15.2, 3.15.2, 3.15.3, 3.15.3, 3.15.4, 3.15.4, 3.15.5, 3.15.5, 3.15.6, 3.15.6, 3.15.7, 3.15.7, 3.15.8, 3.15.8, 3.16.0, 3.16.0, 3.17.0, 3.17.0, 3.17.1, 3.17.1, 3.17.2, 3.17.2, 3.17.3, 3.17.3, 3.18.0, 3.18.0, 3.18.1, 3.18.1, 3.18.3, 3.18.3, 3.19.0, 3.19.0, 3.19.0, 3.19.1, 3.19.1, 3.19.1, 3.19.2, 3.19.2, 3.19.2, 3.19.3, 3.19.3, 3.19.3, 3.19.4, 3.19.4, 3.19.4, 3.19.5, 3.19.5, 3.19.5, 3.20.0, 3.20.0, 3.20.0, 3.20.1, 3.20.1, 3.20.1, 3.20.2, 3.20.2, 3.20.2, 4.21.0, 4.21.0, 4.21.0, 4.21.0, 4.21.1, 4.21.1, 4.21.1, 4.21.1, 4.21.2, 4.21.2, 4.21.2, 4.21.2, 4.21.3, 4.21.3, 4.21.3, 4.21.3, 4.21.4, 4.21.4, 4.21.4, 4.21.4, 4.21.5, 4.21.5, 4.21.5, 4.21.5, 4.21.6, 4.21.6, 4.21.6, 4.21.6
Skipped pre-versions: 2.0.0b0, 3.0.0a2, 3.0.0a3, 3.0.0b1, 3.0.0b1.post1, 3.0.0b1.post2, 3.0.0b2, 3.0.0b2, 3.0.0b2.post1, 3.0.0b2.post1, 3.0.0b2.post2, 3.0.0b2.post2, 3.0.0b3, 3.0.0b4, 3.0.0b4, 3.2.0rc1, 3.2.0rc1, 3.2.0rc1.post1, 3.2.0rc1.post1, 3.2.0rc2, 3.2.0rc2, 3.7.0rc2, 3.7.0rc2, 3.7.0rc3, 3.7.0rc3, 3.8.0rc1, 3.8.0rc1, 3.9.0rc1, 3.9.0rc1, 3.10.0rc1, 3.10.0rc1, 3.11.0rc1, 3.11.0rc1, 3.11.0rc2, 3.11.0rc2, 3.13.0rc3, 3.13.0rc3, 3.14.0rc1, 3.14.0rc1, 3.14.0rc2, 3.14.0rc2, 3.14.0rc3, 3.14.0rc3, 3.15.0rc1, 3.15.0rc1, 3.15.0rc2, 3.15.0rc2, 3.16.0rc1, 3.16.0rc1, 3.16.0rc2, 3.16.0rc2, 3.17.0rc1, 3.17.0rc1, 3.17.0rc2, 3.17.0rc2, 3.18.0rc1, 3.18.0rc1, 3.18.0rc2, 3.18.0rc2, 3.19.0rc1, 3.19.0rc1, 3.19.0rc1, 3.19.0rc2, 3.19.0rc2, 3.19.0rc2, 3.20.0rc1, 3.20.0rc1, 3.20.0rc1, 3.20.0rc2, 3.20.0rc2, 3.20.0rc2, 3.20.1rc1, 3.20.1rc1, 3.20.1rc1, 4.0.0rc1, 4.0.0rc1, 4.0.0rc2, 4.0.0rc2, 4.21.0rc1, 4.21.0rc1, 4.21.0rc1, 4.21.0rc1, 4.21.0rc2, 4.21.0rc2, 4.21.0rc2, 4.21.0rc2
There are incompatible versions in the resolved dependencies:
  protobuf<5.0.0dev,>=3.15.0 (from googleapis-common-protos==1.56.4->google-api-core[grpc]==2.10.1->google-cloud-storage==2.5.0->-r requirements/main.in (line 19))
  protobuf<5.0.0dev,>=3.20.1 (from google-api-core[grpc]==2.10.1->google-cloud-bigquery==2.34.4->-r requirements/main.in (line 18))
  protobuf<5.0.0dev,>=3.19.0 (from proto-plus==1.22.1->google-cloud-bigquery==2.34.4->-r requirements/main.in (line 18))
  protobuf>=4.21.3 (from grpcio-status==1.49.0->google-api-core[grpc]==2.10.1->google-cloud-storage==2.5.0->-r requirements/main.in (line 19))
  protobuf<4.0.0dev,>=3.12.0 (from google-cloud-bigquery==2.34.4->-r requirements/main.in (line 18))
ERROR: 2
make: *** [deps] Error 2

Increases overall image size by ~100MB to include these dependencies.
If we can accept this tradeoff until https://github.com/googleapis/python-bigquery/issues/1196 is resolved, then we can have fewer dependency conflicts during updates.

I also tried pinning back google-cloud-storage to 2.4.0 or earlier, but got the same issue - due to google-cloud-bigquery pinning an upper boundary, preventing us from using protobuf 4.x needed by grpcio-status, which isn't a direct dependecy.

:-/ types-cryptography is just going to be a minefield and should absolutely not be required. Since 3.4 cryptography has had its own type hints.

@alex appreciate the commiseration 😀
What's confusing at this juncture is that the depchecker result is showing:
- types-cryptography - indicating that the package is removed as a result of the changeset, which is 😕 confusing to me, since it's not included already, nor added as part of this changes, so we're out of sync somehow.

The depchecker takes into account the current latest state of all dependencies, so if there's a new version of some existing dependency on PyPI that introduces a new subdependency, it will cause a failure here.
In this case, it looks like the latest pyjwt introduces types-cryptograph as a subdependency: https://github.com/pypi/warehouse/pull/12234/, so we should probably merge that PR first as it will block all other deps PRs.

(or, cherry-pick it here because it seems like we need both)


MathJax support

Thanks very much for providing this cool tool. I really love it. And I think It would be better if it could support MathJax so that I can read my markdown files with equations.
Yang

KaTeX will probably have nicer support, so that could be looked into as well

I recently looked into @paperist/remark-math which should detect both MathJax and KaTeX but we still need something that then turns it into HTML or SVG. I haven't had time to actually do it.
@Haroenv: If you have time to look in to it a pull request would be very much appreciated. vmd aims to render everything exactly as on GitHub and GitHub doesn't support either format. In cases like this we would hide the feature behind a command-line argument or configuration property e.g. --math-enabled=true or something.

Just to add my voice, I would also love this feature. I'm afraid I have zero Javascript foo, so I don't think I can contribute.


Now returns True is  the first character is a letter using isalpha() …

…rather
than returning False if the first character is a number
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

Wrong button.
Heh heh...yeah...This Coursera course is awesome! Still getting used to Github...


BatchGetItem calls in Custom resolvers not supported in mock api

Describe the bug
If you create a custom resolver using the BatchGetItem template operation, it fails to run
To Reproduce
Steps to reproduce the behavior:

Create a custom resolver with the following template:

{
  "version": "2018-05-29",
  "operation": "BatchGetItem",
  "tables" : {
    "$ctx.stash.blocktable": {
      "keys": $util.toJson($keys),
      "consistentRead": false
    }
  }
}

Start the local mock with amplify mock api
Issue a GraphQL query that uses the resolver
See error:
"message": "Operation  BatchGetItem not implemented",

Expected behavior
I expect the BatchGetItem resolver to work, as it does if you do amplify push and issue the same query on the remote AppSync endpoing.

Curious if their has been any update on this?

It would be really a great feature!

+1

Hello :wave: this is now supported and BatchGetItem can be used in custom resolvers in mock. Closing issue
If you are still experiencing this issue please reply back to this thread and we can re-open to investigate further 🙂

@josefaidt could you point me to the commit where this is fixed? I tried upgrading all relevant libraries and does not appear to be resolved.

Hey @atomos :wave: I've reopened this to address further. While I do not have a specific commit where this was fixed, do you have an example of this where it is not working as expected?


Error if CWD is not node_modules' parent directory

{ Error: ENOENT: no such file or directory, open '/app/test/ui/node_modules/axe-core/axe.min.js'
    at Object.fs.openSync (fs.js:653:18)
    at Object.fs.readFileSync (fs.js:554:33)

Nightwatch is running from /app/test/ui, but node_modules is in /app/node_modules.
You could use https://www.npmjs.com/package/find-node-modules here instead
const source = fs.readFileSync(path.resolve(path.join('node_modules', 'axe-core', 'axe.min.js')), 'utf8')```

https://github.com/ahmadnassri/nightwatch-accessibility/pull/16 resolves this without having to use any other dependencies.

:tada: This is included in version 1.8.0 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)


Support OAuth2JWTBearer auth type.

This feature request is created on behalf of a user who contacted us.
This auth type is not supported by the SDK for the time being, but this auth type has to be used for a specific service.

Hi @jjtang1985 ,
Can you give me the canary version number this is supported ?
I took 1.46.1-20210713150118.0 from the public npm and still see the message
'Error during request to remote service: Failed to build HTTP request for destination: failed to build headers! Caused by: The destination used "OAuth2JWTBearer" as authentication type which is not supported by the SDK.

Should I look for a different version in the internal nexus ?
Regards,
Navin

Hi @navinkrishnan ,
The version you used from the public npm should contain the new auth type.
Please only use the public npm for the canary version of the SDK core to avoid potential delays.
It would be even better, if you use the 1.46.1-20210713150118.0 instead of canary, as the canary might change.
Locally, you can open the file:
<EMAIL_ADDRESS>
and search for OAuth2JWTBearer, which is added.
For CF deployment, you can push the package-lock.json file (double check the SDK core version) and npm ci should give you the same SDK core version as local deployment.
Please let me know if it works.
Best regards,
Junjie

Hi @navinkrishnan ,
we have released version 1.47.0, please use the latest version.
I'll close the ticket.
Please reopen in case you have questions.
Best regards,
Junjie

Hi @jjtang1985
As mentioned in the mail, this is tested and it is working for me. I'm able to successfully consume the SAP Graph APIs via the CAP application.
Regards,
Navin


Add a MimicOverlay widget

This widget lets you mimic one of its children in an overlay. The overlay
starts out as the same size of the child and then grows to fill the overlay. In
the future, the mimic will start at the same visual position as the child.

lgtm


Release the temporary ByteBuf in case of unexpected exception in WebSocketUtil.base64.

Motivation:
An exception may occur between ByteBuf's allocation and release. So I think it's a good idea to place the release operation in a finally block.
Modification:
Release the temporary ByteBuf in finally blocks.
Result:
Avoid ByteBuf leak.

@netty-bot test this please


Remote Desktop Connection - Preview window unavailable

No protocol specified
Preview window unavailable

any idea how to solve that?

what is going on -.-

What's in your DISPLAY environment variable?

From your log:
qt.qpa.xcb: could not connect to display :10.0
It seems you are connecting via SSH with X-Forwarding.
To display the preview window you need to be running an X-server on your local machine (not on the machine with the camera and libcamera).
Can you run a simple X based program on SkyCamDLR (i.e. lxterminal) to check if X-forwarding is working?

thanks for your help:

anythingelse I could try?

#!/usr/bin/python3

# Capture a JPEG while still running in the preview mode. When you
# capture to a file, the return value is the metadata for that image.

import time

from picamera2 import Picamera2, Preview

picam2 = Picamera2()

preview_config = picam2.create_preview_configuration(main={"size": (800, 600)})
picam2.configure(preview_config)

picam2.start_preview(Preview.QTGL)

picam2.start()
time.sleep(2)

metadata = picam2.capture_file("test.jpg")
print(metadata)

picam2.close()

dlr@SkyCamDLR:~/Capturing $ sudo python cap.py
[sudo] password for dlr:
[0:35:19.336544939] [2865]  INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
[0:35:19.375896495] [2866]  INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/imx477@1a to Unicam device /dev/media0 and ISP device /dev/media1
[0:35:19.381172754] [2865]  INFO Camera camera.cpp:1028 configuring streams: (0) 800x600-XBGR8888
[0:35:19.381528069] [2866]  INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/imx477@1a - Selected sensor format: 2028x1520-SBGGR12_1X12 - Selected unicam format: 2028x1520-pBCC
No protocol specified
qt.qpa.xcb: could not connect to display :10.0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Why are you running your script as root?
Probably a problem with xauth (X-Authorization). root has to have the same xauth to access your display as your normal user (dlr, I assume).

I use the Pi headless, but I connect via remote desktop connection to watch preview. there is a stupid issue with remote desktop (xrdp) and "pi" because of the groups "render" and "video" that is somehow auto login and cant screen twice or something like that (only shows a blue screen after connecting) anyway if I dont use sudo I end up with permission denied.

Do you have "Raspberry Pi OS light" installed on SkyCamDLR (since you are running headless)?
In that case there is no X support and X-forwarding will not work (qt.qpa.xcb: could not connect to display :10.0).
I am still not clear how your setup works.
I assume SkyCamDLR is a remote RPi and you are logged in with ssh from your local computer (also a RPi or something else)

Would I be able to show you this screenshot, if I installed light version?

thanks for your help:

to get a preview window i have to add my user to:
sudo usermod -a -G video, render <your_username>
since this blocks the remote desktop access, its not possible. wtf

Hello @Bra1nsen,
How did you fix this? I seem to be getting the same issue.

yes iam aware of this problem, i use currently remote desktop connection with an added user. but you cant open any preview windows since you need to turn off  sudo usermod -a -G video, render <your_username> to make the remote connection work.., hope that get fixed in future


Integration with ROS1?

Hi,
I was wondering if there is any chance that this will work with ROS Melodic? Or do you only have implementations for ROS2?
Thanks,
Quest2GM

Hi,
In the current state no, with considerable amount of effort it can be back ported to ROS1.
Though this will not be done as it does not really bring enough benefits to long term goals of this project. Depending on your use-case, you may run vox_nav on a seperate machine with ROS2 humble, as this is a navigation framework, there are certain ros topics such as, odometry, cmd_vel ... etc that needs to be flowing between robot and the navigation framework, you may opt for ros1_bridge, this is still quite some work to configure.
P.S unfortunately I am not too optimistic about this.


[Enhancement] Properly display battle count

Currently, the battle stats page only displays the number of battles uploaded instead of the total battles done, I think it would be better if the page displayed the total number of battles like in the Salmon Run page

Once Splatoon3 is supported, Salmon run counts will also have multiple histories.
stat.ink in users already have a mix of Splatoon1 history and Splatoon2 history.
It would be more useful in the future to correct the counts to the uploaded Salmon run counts.

Essentially, Salmon Run is weirder.
Stat.ink does not and will not expect strongly to work with SplatNet.
Users might collect information from SplatNet or analyze screen data, e.g., IkaLog.
Users might parse the Switch's network traffic, or some might simply prefer to enter the data manually.
Additionally, SplatNet numbers are counted separately for users who have multiple Switch accounts.


Colab or HugginFace?

Thanks for sharing this great work!
Would you consider making a Google Colab notebook or Huggingface demo of this code so that the less technically inclined like myself can try it out?
Thanks!

If it would be helpful, I can add a google colab notebook for RAFT-Stereo.

That would be fantastic!

@noobtoob4lyfe Sorry for the extremely late response!
Here is a google Colab with point cloud visualization: https://colab.research.google.com/drive/1G8WJCQt9y55qxQH6QV6PpPvWEbd393g2?usp=sharing


Support of '-- '

The following use cases should be supported:
mytool <args> ... -- <other-args>
mytool subcommand <args> ... -- <other-args>

The usage of <other-args> is simple: they should not be parsed and should be stored as-is (they are usually passed to underlying tool).
Note that not all subcommands might use this feature.

JCLI already supports this feature, although until you pointed it out, it was in a bit of a rough state, so I've gone and fixed it up a bit.
You can see documentation for it here, and I've also added an example since you've made me realise it was lacking one.
The latest release on dub should have some improvements and fixes, mainly: Before, you had to use a triple dash ("---") since the double dash had some bugs, so I've fixed those bugs and added support for double dash to be used now.
If that's all (e.g. no bugs/issues with the implementation), then I'll close this issue tomorrow/whenever you close it yourself.

I've looked into the code and found some documentation there. Is it possible to have it somewhere separate and be rendered into a better format (it's hard to navigate through the code and read plain text)? Also is it possible to have more examples in readme or other high-level doc that explains use cases/features so one can easily compare this library with other solutions?

Is it possible to have it somewhere separate and be rendered into a better format.

Yep, that first link I gave you points to dpldocs.info, a project by Adam D. Ruppe that provides and generates documentation for every dub package, and presents it in a similar style as the official D documentation.
dpldocs is really easy to miss, and I don't find a lot of people talking about it. Maybe I should directly link to it in the README.

Also is it possible to have more examples in readme or other high-level doc that explains use cases/features?

I definitely do want to do a touch up of the README at some point (maybe today or tomorrow I'll have a look into doing it). My main worry is making the front-page README too large.
e.g. The current one starts off with poorly sized, poorly recorded gifs that aren't actually all that impressive, so I'll either remove/redo them.
e.g. The first text section is a list of JCLI's components, and while it technically does list all of JCLI's features, it's cluttered and hard to read. So I might just make a normal list of features, and then later on the README create a relationship between features and components.
e.g. I feel the Quick Start section is too far down, it should either be the first or second section in my eyes.
And finally, while I do have the examples folder with documented examples, having a README for that folder (and maybe even each example) could definitely make it easier to approach.

So one can easily compare this library with other solutions?

I'd need to get myself familiar with a few other solutions, but I like the idea of comparing JCLI's capabilities to other's.
Maybe I should make it its own file, "JCLI compared to so-and-so" comparing features and equivalent code snippets.
I'll definitely have a crack at it sometime this week though, as like I said it's been on my mind for a bit now. Thanks for the suggestion.

Is it possible to have it somewhere separate and be rendered into a better format.

Yep, that first link I gave you points to dpldocs.info, a project by Adam D. Ruppe that provides and generates documentation for every dub package, and presents it in a similar style as the official D documentation.

I'm personally not fan of dpldocs as I didn't see good documentation for any package (I might miss good example for sure).

dpldocs is really easy to miss, and I don't find a lot of people talking about it. Maybe I should directly link to it in the README.

This would be useful for sure.

So one can easily compare this library with other solutions?

I'd need to get myself familiar with a few other solutions, but I like the idea of comparing JCLI's capabilities to other's.
Maybe I should make it its own file, "JCLI compared to so-and-so" comparing features and equivalent code snippets.
I'll definitely have a crack at it sometime this week though, as like I said it's been on my mind for a bit now. Thanks for the suggestion.

I didn't mean comparing with others explicitly but some list of "how-to" paragraphs that explain how to do certain things. You can look at std.getopt or python's argparse for example.
In general what made me struggling is that I wanted to quickly understand the capabilities of the library and it turned out that I have to dig into source code/dpldocs to understand what features are available.

After seeing the final part of your reply, it really energised me to fix such a (to me) large issue.
I've made a start over at https://github.com/BradleyChatha/jcli/blob/b57679e76bc6c455393587a88c6b8cd318a5916f/README.md if you wouldn't mind giving it's structure a quick skim.

I didn't read it thoroughly but it looks much better! And I already see some lack in functionality so I'll create new issues.
PS Feel free to create PR so I can provide some feedback.

Closing this issue because discussion switched the subject.

Thank you for your time.


kudu1 missing Eclipse

Since downloaded file goes under /tmp and because I've rebooted it for multiple times they are gone.
But there's no eclipse under /usr.
$ locate eclipse|grep /usr
/usr/share/app-install/desktop/eclipse-platform:eclipse.desktop
/usr/share/app-install/desktop/redeclipse:redeclipse.desktop
/usr/share/app-install/icons/eclipse.png
/usr/share/app-install/icons/redeclipse.png

The entire Eclipse is now shared via file share tool so basically no need to install except for the dependency.


Testing and route includes

Here a small heads-up, I seem to be able to call api routes from tests using the following code:
    $this->actingAs($user)
        ->get('/api/users')
         ->seeJson([...]);

However, I'm also including the routes on the fly from different files using:
foreach(File::allFiles(__DIR__ . '/Routes') as $partial){
     require_once $partial->getPathname();
}

That last part doesn't seem to work, it only works on the first request. I guess it has to do with internal caching of the routes file. When I put alle definitions in a single file all seems to be ok.

So the including of the files doesn't work but you can still call the route?

sorry about being unclear, It does not work when I include the files, it does work when I put them all in ones routes.php file.

Interesting, I don't see any reason as to why this wouldn't work. The files are being required correctly?

@tomvo, any updates to this? Clearing your routes cache work?

I didn't have time to look at it, pre-holiday stress, sorry about that. I've moved my route definitions into one single file and that solved it for me.

Yeah righto, would no doubt have been a caching issue of some kind. I have recently implemented a caching feature for API routes that should be run as an alternative to the Laravel one. The API one runs the Laravel one as well but it prevents Laravel from excluding the API routes.
Perhaps you can take a look at that when you get back from your holiday and you're stress free! Have a good one mate!


Kerf Correction

The svgpathtools class has the offset curve ability and I natively use the correct type of curves. It's not hard to nudge offset the curve by half a beam length in one direction or another.

I was searching for a solution for a week, and found nothing ;( Basically I need a bit more than an offset that Inkscape provides out of the box (Yes, that solves kerf dimensional accuracy both for inner and outer cuts). What is the problem with it, is that it does not apply correction to a corner—it's a simple tool. Basically, whenever you have kerf, you cannot cut a sharp corner which is needed to create interlocking parts—there will be always some material left if you correct for kerf. The solution for that is adding a dogbone that would remove additional material in the corners. In my opinion, this is easily doable by checking the angle between path segments and adding a cubic Bézier whenever the angle is greater than some value. Boxes.py are dealing with such problem in a clean way: https://florianfesti.github.io/boxes/html/api_burn.html

There's a few ways to do this math. Usually there's approximations and these usually involve a couple different steps. You solve for the normal and perpendicular vectors for each particular section and curve and then you solve for the parts that suddenly overlap each other and then use that to adjust the the shape. I hear that going from a quadratic bezier curve can and does sometimes yield a 10th dimensional bezier curve to do the correct offset curve so you're going to have to bite a bullet somewhere and do some approximations of the resulting curve that are close enough that it won't matter that much.
Svgpathtools, I think has some pretty solid code to do tangent vectors and thus could do normal vectors and offset a path. Some corner regions are going to look weird, and mathwise I think you can adjust some of these things like finding self intersecting corners and adjust them. It doesn't need to go too far with laser control software since we're talking like 0.1 mm or so move half a beam outward.

Presumably only applies to cut operations and only to closed paths that are either the outside of a piece or an inside cut with nothing inside. (What happens if you are cutting e.g. several separate pieces nested inside one another with scrap material between?)
So MK will need to determine which are outside / inside closed cut paths and use odd/even to determine which way to offset the curve. We already have functionality to determine what burns are inside a cut path, so we would only need to use this to find other closed cut paths inside and then use odd/even to offset in the right direction.


Implement CalendarData.GetCalendars and JapaneseCalendar eras

Implementing CalendarData.GetCalendars to get the list of available calendars for each culture.  ICU has some differences in calendar preferences vs. Windows for certain cultures.
Getting JapaneseCalendar era information from ICU.  Only retrieving the eras that are in the JapaneseCalendar timeframe (1868/09/08 - DateTime.MaxValue).  Currently there are 4 eras.  CLDR doesn't have abbreviated Japanese era names.  On Windows, the JapaneseCalendar returns just the first character for the abbreviated era name.  I made the Unix implementation the same by just returning the first character.

@ellismg, @steveharter, @tarekgh

I've responded to the current feedback.  Please let me know how it looks.

I have added one comment regarding the Chinese calendar. other than that the code LGTM.

Thanks Eric, Merging this now as I believe all feedback has been addressed.


Fix item name handling on /fm sell by replacing spaces with underscores

This PR fixes the handling of item names in sell command to directly compare with enum names.. This change prevents the "too many arguments" error when entering multi-word item names in Minecraft commands.
The issue arises because the XMaterial enum names for multi-word items use underscores (e.g., "IRON_INGOT"), while the .toString() method returns them as "Iron Ingot".
If someone thinks that this could be fixed directly with the sellReplace configuration, it's important to note that using:
- sellReplace:
  - "iron:iron ingot"

will not work, as the enum won't find "iron ingot" and resulting in an error at:
FarmerItem toSell = farmer.getInv().getStockedItem(XMaterial.valueOf(item.toUpperCase(Locale.ENGLISH)));

Instead, if you use:
- sellReplace:
  - "iron:iron_ingot"

will also not work because XMaterial.toString() returns "Iron Ingot" not "IRON_INGOT", leading to the "item not found" message.
This change ensures that item name handling is consistent and functional, resolving these discrepancies.

Sorry, Could you use https://github.com/Geik-xyz/Farmer-SellCommand-Geyser- this project for update?
The new module system now works individually.
Thanks for your contribution.


Support interceptors in gRPC Python.

This adds support for interceptors to Python (#8767).
Let me know if you want me to make any changes.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

this is ok to test

@rnburn: that "cla: no" label will have to turn into a "cla: yes" before I can start my code review.

Thanks. I signed the CLA, but the email address in the commits didn't match. I just amended the commit to use the right email. Is there a way I can trigger the CLA check to happen again?

The CLA check should refresh every time you push. Since you now need to resolve conflicts (please rebase rather than merge), that will be at least one push in your future?

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

@nathanielmanistaatgoogle @kpayson64  posting here in addition to https://github.com/grpc/grpc/issues/8767 is it possible to get this reviewed, or assigned to someone else?

My apologies for the delay on this but it will move forward. I think @mehrdada will soon be working on interceptors across all languages; in conjunction with that that I think he should lead review and I'll be involved later on.

Great news! We can quickly get this PR back up to speed if @mehrdada is interested in this approach.

@tedsuo Sorry it took me a while to find some time to look at this. I can see some good points raised by @kpayson64's review that are not addressed. Are you addressing those comments before I make some additional ones? The general approach SGTM.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks @mehrdada. We'll get this PR up to speed and let you know.

Hi @mehrdada, we’ve been rethinking our approach to interception in Python. Would you be open to an interceptor design for Python that instead follows what the Node interceptor proposal does and implements the interception at the point where calls to start_batch are made instead of on top of the library’s Channel and Server abstractions?
Just to quote from the Node proposal about the advantages of such an approach:
Interceptors are implemented by wrapping the grpc.Call#startBatch method. This level of
abstraction avoids coupling interceptors with much of the NodeJS client code since startBatch is
the common entry point for all gRPC operations.

If we intercepted calls at a higher level, the interceptor framework would have to account
for the different types of RPCs (unary, clientStream, serverStream, bidirectional) and could not
provide the same interceptor granularity that other gRPC language interceptors provide.

Another problem we’re finding with the Go-like approach to interception that would carry over to this Python implementation is that there’s no reliable way to determine when the stream ends on the client-side.

I think I prefer that approach and consistency with node. It'd be a good idea to start a new proposal as a gRFC for Python so we can comment on it and evolve it in the official channel.  Can you please start a pull request on the proposal repository, perhaps by forking the Node proposal as a baseline and marking me as the reviewer?

@rnburn I was wondering if there has been any progress on your new design?

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Hey @mehrdada, not yet. I've been working on some other projects, but I do plan to come back to this sometime shortly; though if anyone else feels like taking it up, they should certainly feel free to.

Superseded by https://github.com/grpc/grpc/pull/12778


SSL support

OOOP supports SSL connections and there are no reasons that oem doesn't. This is quite straightforward to implement.

new lib oerpc support both xmlrpc and jsonrpc/http with or without SSL and is much slicker than OOOP. I'll probably migrate to oerpc once it's released.


[dawn] markupsafe dependency missing

Thanks for putting this together! I gave wgpu a spin in Rust years ago and liked it a lot, but have been trying to improve my C++ chops recently and wanted to give Dawn a try. I gave up pretty quickly after running into dependency issues that were over my head, but then I came across your guide and decided to give it another go.
I did run into one issue when trying to configure CMake with the Dawn backend — it complained that markupsafe couldn't be found. After a bit of poking around I found that adding 'third_party/markupsafe' to the fetch script's required_submodules array fixed the issue. I have no idea how to Python, but I'm opening a naive PR with that change on the off chance that's really all there is to it. :)

Thanks for the PR! This is a new dependency of Dawn indeed, your fix is correct :)


[BEAM-5176] remove preconfigured '-Xlint:deprecation' from compilerArgs

Intellij adds -Xlint:deprecation as JavaCC option if run from menu. This clashes with our failOnWarnings configuration done in BeamModulePlugin
This PR removes that preconfigured option, as we do default to disabled deprecation warnings.
See also jira issue [1] and corresponding IntelliJ issue [2]
[1] https://issues.apache.org/jira/browse/BEAM-5176
[2] https://youtrack.jetbrains.com/issue/IDEA-196615
Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.
 Thanks for that


option to configure the location of tsconfig.json

Describe the problem
i keep my tsconfig.json for svelte in a different location so i can have different tsconfigs for different parts of my project that are recognised by my IDE:
my-project/
├── src/
│   ├── routes/
│   │   └── +page.svelte
│   └── tsconfig.json // for typechecking the source code, DOES extend ./.svelte-kit/tsconfig.json
├── tests/
│   ├── test.ts
│   └── tsconfig.json // for typechecking the tests, DOES NOT extend ./.svelte-kit/tsconfig.json
├── .eslintrc.cjs
├── svelte.config.js
├── playwright.config.ts
├── tsconfig.json // for typechecking the config files, DOES NOT extend ./.svelte-kit/tsconfig.json
└── vite.config.ts

but when running vite build, i think it's using the top level tsconfig.json which is not intended to be used on the svelte code, resulting in the following warning:
> vite build

Your tsconfig.json should extend the configuration generated by SvelteKit:
{
  "extends": "./.svelte-kit/tsconfig.json"
}

i attempted to specify the tsconfig path in svelte.config.js with the preprocess property but it didn't work:
import adapter from '@sveltejs/adapter-auto'
import preprocess from 'svelte-preprocess'

/** @type {import('@sveltejs/kit').Config} */
const config = {
    preprocess: preprocess({
        typescript: { tsconfigFile: './src/tsconfig.json' },
    }),
    kit: {
        adapter: adapter(),
    },
}
export default config

Describe the proposed solution
an option to specify the path to the tsconfig.json file
Alternatives considered
No response
Importance
would make my life easier
Additional Information
No response

I've the same need for a different use case:
I'm wrapping sveltekit under express and splitted the project in 3 "micro-frontend", each micro-frontend is a separate instance of svelte-kit.
I did this because 1 of the 3 micro-frontend is protected under authentication,I needed to use passport to validate the Microsoft auth token and I wanted to protect under authentication all the files including di js/css assets.
In production is straightforward and i just use the generated handler from adapter-node, while in dev was harder to achieve it and i endend up using 3 separate vite instances in middleware mode.
This is just to give an idea of what I'm doing:
app.use("/sub1", (req, res, next) => vite.middlewares(req, res, next));
app.use("/sub2", (req, res, next) => vite.middlewares(req, res, next));
app.use("/", (req, res, next) => {
  if (authenticate(req)) {
    vite.middlewares(req, res, next)
  } else {
    res.status(401).send("Unauthorized")};
  }
)

I would benefit from being able to define the tsconfig.json file in the options, I would use that configuration in the following way:
// svelte.config.js
{
  outDir: isSub1 ? "./.svelte-kit/sub1" : isSub2 ? "./.svelte-kit/sub2" : "./.svelte-kit",
  tsconfigfile: isSub1 ? "./sub1.tsconfig.ts" : isSub2 ? "sub2.tsconfig.ts" : "mainapp.tsconfig.ts"
}

All the tsconfig would be the same with the only difference is that they will extend different svelte-kit's tsconfig.
My current workaround is to rewrite the tsconfig.json on the fly with a custom vite plugin.

I have a file structure similar to the one in the main issue. src/ , test/, etc. each have their own tsconfig.json. My src/tsconfig.json extends the ./.svelte-kit/tsconfig.json. Then my root tsconfig.json uses project references to refer to those directories.
My root tsconfig.json which extends my monorepo's config:
{
	"extends": "../../config/tsconfig.base.json",
	"compilerOptions": {
		"noEmit": true
	},
	"references": [
		{
			"path": "src"
		},
		{
			"path": "tests"
		},
	],
	// Exclude references and emitted output
	"exclude": ["src", "tests"]
}

This configures TS to include files in the root folder...outside src/ and test/, albeit with different settings.
My svelte.config.js:
/** @type {import('@sveltejs/kit').Config} */
const config = {
	preprocess: vitePreprocess(),
	kit: {
		adapter: adapter(),
		typescript: {
			config(config) {
				config.extends = '../../../config/tsconfig.base.json';
                // project references require .d.ts emit
				config.compilerOptions.noEmit = false;
				config.compilerOptions.emitDeclarationOnly = true;
				config.compilerOptions.outDir = './.tsemit';
			},
		},
	},
};

My src/tsconfig.json:
{
	"extends": "../.svelte-kit/tsconfig.json"
}

This setup now allows svelte.config.js, vite.config.js and other supporting JS files to be type checked and have Intellisense (the default create-svelte template doesn't). My TypeScript setup is valid and serves me better. I just need a way to shut the "Your tsconfig.json should extend the configuration generated by SvelteKit:" error up. It's annoying and misleading to anyone who hasn't yet learned to ignore it.


Remove alpaca old SDK 🦙

The old sdk gives warnings when installing due to depreciation

Should be fixed in: https://github.com/AxelGard/cira/releases/tag/v3.2.0


A problem in Vue project

I putleaderline into my Vue project as per documentation, but its not working

There was a mistake

So how to solve it
thx

Hi @whatthezzzz, thank you for the comment.
LeaderLine doesn't have setLine method.
Document: https://anseki.github.io/leader-line/
You mistook a repository to ask the question, maybe.

No reply came, then this abandoned issue is closed.


Suggestion: add column with real Pokémon name

Currently the spreadsheet shows an icon indicating which Pokémon this row of data is about. It would be useful to have a column that lists the Pokémon name (and not the nickname).


Improve compatibility checking by splitting up dependency groups

Let's say we have a Compat linked to Rails 5.0 and these dependencies:
gem1, >= 1.0
gem2, >= 2.0

What Compats::Check does is trying to find another compat linked to Rails 5.0 with only gem1, >= 1.0 and one with only gem2, >= 2.0 as dependencies. If any of them exist and are marked as not compatible, the combination of both requirements cannot be compatible either.
So we can mark it as incompatible without running bundle check via Travis, which is quite slow.
When none of these compats with individual dependencies exist, the check is done via Travis. When afterwards a new compat is created, again linked to Rails 5.0 and these dependencies
gem1, >= 1.0
gem3, >= 3.0

the same check is done but no compats with individual dependencies cannot be found either, thus Travis needs to be called again.
So it would make sense to, after the first compat in this example is checked and found to be incompatible, create two more compats with only gem1, >= 1.0 and gem2, >= 2.0 as dependencies and get them checked via Travis, because if one of them is marked as incompatible, this will make checking further compats with this requirement much faster.

I don't think this is necessary anymore now that we're checking dependency subgroups: https://github.com/manuelmeurer/railsbump/commit/624cd531189176941006cc1f1aca6e4fd5e922ec


Use macro's for more of the event handling code

pretty happy with the linecount on this change and I think it's a bit more readble :man_shrugging: opinions can differ on that though. It's at least harder to make mistakes with all the events being derived from the same list.

Yes that's exactly right. The other small changes were my attempt to make clippy happy and dropping this line:
web_sys::console::debug_2(&JsValue::from(stringify!($event)), &value); because it was much too noisy.
There is still a linter problem remaining though. Which I can fix if you're interested in merging this.

The clippy error appears to be an interaction between a 'bug' in wasm-bindgen and a new clippy lint, see here and here. The wasm-bindgen people fixed the problem on their end but have not yet made a new release. I think it's easiest to simply ignore the empty doc string warning untill a new wasm-bindgen version drops.

@RmStorm Thanks!


Cardinality of property 'tname' of object type  is unknown when selecting in with scope inside for scope inside with scope

This error has been raised in other issues (#4719, #5243), but I believe this is a distinct context.

EdgeDB Version: 2.14+bc002ae
EdgeDB CLI Version: EdgeDB CLI 2.3.1+5d93f42
OS Version: Mac OS X Monterey

Steps to Reproduce:
The first edgeql command below works as expected, but simply moving the select into the top-level with causes the error.
EdgeDB 2.14+bc002ae (repl 2.3.1+5d93f42)
Type \help for help, \quit to quit.
edgedb> with
.......   data := {0, 1, 2},
....... select (
.......   for item in data union (
.......     with
.......       user := (select User limit 1)
.......     select user
.......   )
....... );
{
  default::User {id: 8e81e2ee-e8fa-11ed-bc44-7b514e5cfbe8},
  default::User {id: 8e81e2ee-e8fa-11ed-bc44-7b514e5cfbe8},
  default::User {id: 8e81e2ee-e8fa-11ed-bc44-7b514e5cfbe8},
}
edgedb> with
.......   data := {0, 1, 2},
.......   items := (
.......     for item in data union (
.......       with
.......         user := (select User limit 1)
.......       select user
.......     )
.......   )
....... select items;
edgedb error: InternalServerError: cardinality of property '__tname__' of object type 'default::User' is unknown
  Hint: This is most likely a bug in EdgeDB. Please consider opening an issue ticket at https://github.com/edgedb/edgedb/issues/new?template=bug_report.md
  Server traceback:
      Traceback (most recent call last):
        File "/Users/delannmt/Library/Application Support/edgedb/portable/2.14/lib/python3.10/site-packages/edb/server/compiler_pool/worker_proc.py", line 55, in worker
          res = meth(*args)
        File "/Users/delannmt/Library/Application Support/edgedb/portable/2.14/lib/python3.10/site-packages/edb/server/compiler_pool/worker.py", line 160, in compile
          units, cstate = COMPILER.compile(
        File "/Users/delannmt/Library/Application Support/edgedb/portable/2.14/lib/python3.10/site-packages/edb/server/compiler/compiler.py", line 2524, in compile
          unit_group = self._compile(ctx=ctx, source=source)
        File "/Users/delannmt/Library/Application Support/edgedb/portable/2.14/lib/python3.10/site-packages/edb/server/compiler/compiler.py", line 2049, in _compile
          return self._try_compile(ctx=ctx, source=source)
        File "/Users/delannmt/Library/Application Support/edgedb/portable/2.14/lib/python3.10/site-packages/edb/server/compiler/compiler.py", line 2113, in _try_compile
          comp, capabilities = self._compile_dispatch_ql(
        File "/Users/delannmt/Library/Application Support/edgedb/portable/2.14/lib/python3.10/site-packages/edb/server/compiler/compiler.py", line 2023, in _compile_dispatch_ql
          query = self._compile_ql_query(ctx, ql, script_info=script_info)
        File "/Users/delannmt/Library/Application Support/edgedb/portable/2.14/lib/python3.10/site-packages/edb/server/compiler/compiler.py", line 750, in _compile_ql_query
          out_type_data, out_type_id = sertypes.TypeSerializer.describe(
        File "/Users/delannmt/Library/Application Support/edgedb/portable/2.14/lib/python3.10/site-packages/edb/server/compiler/sertypes.py", line 582, in describe
          type_id = builder._describe_type(
        File "/Users/delannmt/Library/Application Support/edgedb/portable/2.14/lib/python3.10/site-packages/edb/server/compiler/sertypes.py", line 297, in _describe_type
          if ptr.singular(self.schema):
        File "/Users/delannmt/Library/Application Support/edgedb/portable/2.14/lib/python3.10/site-packages/edb/schema/pointers.py", line 751, in singular
          raise AssertionError(f'cardinality of {vn} is unknown')
      AssertionError: cardinality of property '__tname__' of object type 'default::User' is unknown

Providing my schema but note that the error happens regardless of the object being used.
    type User {
        required property name -> str {
            constraint exclusive;
        };
        required property hashed_password -> str;
        required property email -> str {
            constraint exclusive;
        };
        property is_admin -> bool {
            default := false;
        }
        property is_active -> bool {
            default := true;
        }
    }

Fixed by #5508

For reference, this is minimal reproducible example (using empty schema):
 with
   data := {0, 1, 2},
   items := (
     for item in data union (
       with
         user := (select schema::Object limit 1)
       select user
     )
   )
 select items;

items binding, for union and user binding are all required.


Tab Character Inserted During Tab Completion

VSCode Version: Code 1.15.0 (8b95971d8cccd3afd86b35d4a0e098c189294ff2, 2017-08-09T20:16:06.988Z)
OS Version: Windows_NT ia32 10.0.15063
Extensions:

Extension
Author (truncated)
Version

PowerShell
ms-
1.4.1

Steps to Reproduce:

In editor pane, type Test-Pa and press tab to tab complete (should work).
Delete any character(s) in 'Path' and press tab again and see that a tab character is inserted instead of completing the syntax.

Any cmdlet, parameter or value will not be tab completed.
This issue doesn't appear when using the Terminal pane.

Reproduces without extensions: N/A

Are you trying to completions in Powershell scripts?
If yes, then the completions come from the Powershell extension. Please log an issue in the repo for the extension


Could not resolve org.springframework.boot:spring-boot-gradle-plugin:2.2.5.RELEASE

Expected Behavior
run build: gradle clean build -x test
build succesful for yesterday
Current Behavior
Today I run the build and it crashes with an error:
i added --stacktrace
the problem is critical, delivery times are disrupted
Your Environment
docker gradle:jdk8, Gradle 6.8.3
GitLab Community Edition 12.7.6
and second datacenter with current options
repositories {
        mavenCentral()
        jcenter()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
        maven {
            url "https://jitpack.io"
        }

error log:
gradle clean build -x test --stacktrace
 Welcome to Gradle 6.8.3!
 Here are the highlights of this release:
  - Faster Kotlin DSL script compilation
  - Vendor selection for Java toolchains
  - Convenient execution of tasks in composite builds
  - Consistent dependency resolution
 For more details see https://docs.gradle.org/6.8.3/release-notes.html
 To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/6.8.3/userguide/gradle_daemon.html#sec:disabling_the_daemon.
 Daemon will be stopped at the end of the build
 FAILURE: Build failed with an exception.
 * What went wrong:
 A problem occurred configuring root project 'executive-docs'.
 > Could not resolve all artifacts for configuration ':classpath'.
    > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:2.2.5.RELEASE.
      Required by:
          project : > org.springframework.boot:org.springframework.boot.gradle.plugin:2.2.5.RELEASE
       > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:2.2.5.RELEASE.
          > Could not parse POM https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-gradle-plugin/2.2.5.RELEASE/spring-boot-gradle-plugin-2.2.5.RELEASE.pom
             > Could not resolve org.springframework.boot:spring-boot-tools:2.2.5.RELEASE.
                > Could not resolve org.springframework.boot:spring-boot-tools:2.2.5.RELEASE.
                   > Could not parse POM https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-tools/2.2.5.RELEASE/spring-boot-tools-2.2.5.RELEASE.pom
                      > Could not resolve org.springframework.boot:spring-boot-parent:2.2.5.RELEASE.
                         > Could not resolve org.springframework.boot:spring-boot-parent:2.2.5.RELEASE.
                            > Could not parse POM https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-parent/2.2.5.RELEASE/spring-boot-parent-2.2.5.RELEASE.pom
                               > Could not resolve org.springframework.boot:spring-boot-dependencies:2.2.5.RELEASE.
                                  > Could not resolve org.springframework.boot:spring-boot-dependencies:2.2.5.RELEASE.
                                     > Could not parse POM https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-dependencies/2.2.5.RELEASE/spring-boot-dependencies-2.2.5.RELEASE.pom
                                        > Could not resolve io.rsocket:rsocket-bom:1.0.0-RC6.
                                           > Skipped due to earlier error
    > Could not resolve io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE.
      Required by:
          project : > io.spring.dependency-management:io.spring.dependency-management.gradle.plugin:1.0.9.RELEASE
       > Skipped due to earlier error
    > Could not resolve gradle.plugin.org.flywaydb:gradle-plugin-publishing:6.3.1.
      Required by:
          project : > org.flywaydb.flyway:org.flywaydb.flyway.gradle.plugin:6.3.1
       > Skipped due to earlier error
    > Could not resolve gradle.plugin.com.gorylenko.gradle-git-properties:gradle-git-properties:2.2.2.
      Required by:
          project : > com.gorylenko.gradle-git-properties:com.gorylenko.gradle-git-properties.gradle.plugin:2.2.2
       > Skipped due to earlier error
    > Could not resolve org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.1.1.
      Required by:
          project : > org.sonarqube:org.sonarqube.gradle.plugin:3.1.1
       > Skipped due to earlier error
    > Could not resolve io.qameta.allure:allure-gradle:2.7.0.
      Required by:
          project : > io.qameta.allure:io.qameta.allure.gradle.plugin:2.7.0
       > Skipped due to earlier error
    > Could not resolve gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.5.1.
      Required by:
          project : > com.github.spotbugs:com.github.spotbugs.gradle.plugin:4.5.1
       > Skipped due to earlier error

JCenter was having issues with downloads which impacted Gradle plugin portal.

https://status.bintray.com/incidents/ctv4bdfz08bg
https://status.gradle.com/


Unable to find any valuable Window provider. x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'

Versions

Python: 3.6.1 |Anaconda 4.4.0 (64-bit)
OS: Linux Ubuntu
Kivy:  1.10.0
Kivy installation method: pip install kivy

Description
I realize this issue has come up a couple of times in the kivy issues and through google - I've spent most of my working hours today looking for a solution online, but none of them have worked, which is why I'm asking here. Within Anaconda Spyder for python 3.6.1, I'm unable to run a python file that makes use of kivy. Every time i do, I get an error that ends up at "Unable to find any valuable Window Provider." Some notes:

This happens with both Anaconda for python 2.7 and for python 3.6 (though I'm primarily working on 3.6)
I have already uninstalled and reinstalled kivy. I've tried multiple installation methods, including sudo apt-get, pip install, and installation with a virtualenv, all of which followed the official kivy documentation
I have already run sudo apt-get install libsdl2-2.0-0 libsdl2-image-2.0-0 libsdl2-mixer-2.0-0 libsdl2-ttf-2.0-0
I have tried to run my file in virtualenvs that have pygame installed as well. Same problem
I have tried replacing self.fullscreen, resizable, state) in sdl2.py to bytes(self.fullscreen), bytes(resizable), state). Also did not resolve the issue

I can provide the actual py file that is being run if needed.
Any help would be greatly appreciated!
Code and Logs
runfile('/home/jon/Programming/Python/Artificial Intelligence A-Z/Part 1 - Deep Q-Learning/Module 1 - Self Driving Car/map.py', wdir='/home/jon/Programming/Python/Artificial Intelligence A-Z/Part 1 - Deep Q-Learning/Module 1 - Self Driving Car')
[INFO   ] [Logger      ] Record log in /home/jon/.kivy/logs/kivy_17-06-22_31.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:09:58)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: pil(['text_sdl2'] ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
egl_rpi - ImportError: cannot import name 'bcm'
  File "/home/jon/anaconda3/lib/python3.6/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/home/jon/anaconda3/lib/python3.6/site-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
    from kivy.lib.vidcore_lite import bcm, egl

sdl2 - ImportError: /home/jon/anaconda3/lib/python3.6/site-packages/numexpr/../../../libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libjack.so.0)
  File "/home/jon/anaconda3/lib/python3.6/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/home/jon/anaconda3/lib/python3.6/site-packages/kivy/core/window/window_sdl2.py", line 26, in <module>
    from kivy.core.window._window_sdl2 import _WindowSDL2Storage

x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'
  File "/home/jon/anaconda3/lib/python3.6/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)

[CRITICAL] [App         ] Unable to get a Window, abort.
An exception has occurred, use %tb to see the full traceback.

SystemExit: 1

It looks like numexpr was compiled with a gcc version which conflicts with the system.
I'm reading some people had luck with installing it from conda, but it does not seem to be related to Kivy.
conda install libgcc

You could also try symlinking the problematic file, make sure to replace the numexp libstdc++.so.6 path with the full one.
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6  /home/jon/anaconda3/lib/python3.6/site-packages/numexpr/../../../libstdc++.so.6

I have the same issue, i had try: conda install libgcc, but issue still there!
(kivyinstall) john@john-P37V6:~$ python3 -c "import kivy"
[WARNING] [Config      ] Older configuration version detected (14 instead of 19)
[WARNING] [Config      ] Upgrading configuration in progress.
[INFO   ] [Logger      ] Record log in /home/john/.kivy/logs/kivy_17-09-01_11.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v3.5.3 |Anaconda custom (64-bit)| (default, Mar  6 2017, 11:58:13)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]

Hi I am going through the same problem the method of installation. I have tried the above solutions. Looking forward for solution

@RAJKUMAR18 Try it with your distribution's Python and follow the guide for installation on Linux instead of using Anaconda.
If you're not using Anaconda, your problem might be a different one, but there's no way to tell without more information. In that case it's probably a better idea to open a new issue with all the relevant information instead of commenting on a closed one.

can someone help me with this eror on kivy guys?? pls
C:\Users\McLight\PycharmProjects\McLight\venv\Scripts\python.exe C:/Users/McLight/PycharmProjects/McLight/venv/Lib/site-packages/kivy/core/window/window_sdl2.py
[INFO   ] [Logger      ] Record log in C:\Users\McLight.kivy\logs\kivy_19-04-18_48.txt
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [MSC v.1916 32 bit (Intel)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
sdl2 - ImportError: DLL load failed: The specified module could not be found.
File "C:\Users\McLight\PycharmProjects\McLight\venv\lib\site-packages\kivy\core_init_.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "C:\Users\McLight\PycharmProjects\McLight\venv\lib\site-packages\kivy\core\window\window_sdl2.py", line 23, in
from kivy.core.window._window_sdl2 import _WindowSDL2Storage
Traceback (most recent call last):
File "C:/Users/McLight/PycharmProjects/McLight/venv/Lib/site-packages/kivy/core/window/window_sdl2.py", line 23, in
from kivy.core.window._window_sdl2 import _WindowSDL2Storage
ImportError: DLL load failed: The specified module could not be found.
Process finished with exit code 1