yarnSetup path issue on git bash

Sample project demonstrating the issue with steps to reproduce: https://github.com/kpage/gradle-node-plugin-git-bash-issue
The 'yarnSetup' task fails on Windows 10 when run in git bash due to node not being present on the PATH.  Running yarnSetup in cmd.exe works fine.  npmSetup and npmInstall both work on either git bash or cmd.exe.
Error is:
:yarnSetup
C:\Users\user\repo\gradle-node-plugin-git-bash-issue\.gradle\yarn\yarnpkg -> C:\Users\user\repo\gradle-node-plugin-git-bash-issue\.gradle\yarn\node_modules\yarn\bin\yarn.js
                                                                                C:\Users\user\repo\gradle-node-plugin-git-bash-issue\.gradle\yarn\yarn -> C:\Users\user\repo\gradle-node-plugin-git-bash-issue\.gradle\yarn\node_modules\yarn\bin\yarn.js

><EMAIL_ADDRESS>postinstall C:\Users\user\repo\gradle-node-plugin-git-bash-issue\.gradle\yarn\node_modules\yarn\node_modules\spawn-sync
> node postinstall

'node' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\user\repo\gradle-node-plugin-git-bash-issue\.gradle\yarn
`-- (empty)

                                                                                npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Users\\user\\repo\\gradle-node-plugin-git-bash-issue\\.gradle\\nodejs\\node-v6.9.1-win-x64\\node.exe" "C:\\Users\\user\\repo\\gradle-node-plugin-git-bash-issue\\.gradle\\nodejs\\node-v6.9.1-win-x64\\node_modules\\npm\\bin\\npm-cli.js" "install" "--prefix" "C:\\Users\\user\\repo\\gradle-node-plugin-git-bash-issue\\.gradle\\yarn"<EMAIL_ADDRESS>npm ERR! node v6.9.1
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>postinstall: `node postinstall`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'node postinstall'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the spawn-sync package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node postinstall
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs spawn-sync
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls spawn-sync
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\user\repo\gradle-node-plugin-git-bash-issue\npm-debug.log
npm ERR! code 1
:yarnSetup FAILED

This command should use the node that is auto-downloaded by gradle-node-plugin.  But the path is not correctly set in git bash.  If you don't have node globally installed, you will see the error.
If you do have node globally installed, it will use the wrong version (not the version required by gradle-node-plugin).  This can lead to errors as the wrong version of node can be used to create node_modules, and then the user will get errors when running commands that require node-specific versions of packages.

Hi @kaitoy , thanks for your addition of yarn support to gradle-node-plugin.  It seems that npmSetup correctly sets the path for node on git bash, do you think there is some strategy we can take from that to have the path also work correctly for yarnSetup?

After further investigation, it looks like this issue is due to a case sensitivity issue of the path environment variable ("Path" vs "PATH").  Probably the reason that cmd.exe has no issue is that environment is not case-sensitive, while git bash is more case-sensitive for some operations.
I don't think this issue is due to the setup of yarn vs npm in gradle-node-plugin at all.  It seems actually that gradle-node-plugin is not always setting the path correctly on windows in git bash in general, but that the npm tool run in git bash is less sensitive than yarn when it comes to case sensitivity of the path env variable.
On my Windows system, the path env variable was "Path".  gradle-node-plugin has this logic in NodeExecRunner to set the path:
            // Take care of Windows environments that may contain "Path" OR "PATH" - both existing
            // possibly (but not in parallel as of now)
            if ( System.getenv( 'Path' ) != null )
            {
                nodeEnvironment['Path'] = nodeBinDirPath + File.pathSeparator + System.getenv( 'Path' )
            }
            else
            {
                nodeEnvironment['PATH'] = nodeBinDirPath + File.pathSeparator + System.getenv( 'PATH' )
            }

On my system, the first branch run.  This means that nodeEnvironment['Path'] was set, but nodeEnvironment['PATH'] was not.  Newer versions of npm run in git bash seem fine with this, but yarn does not like it.  Perhaps instead we could set both cases like this?  This seems to fix the issue for me:
            // Take care of Windows environments that may contain "Path" OR "PATH" - both existing
            // possibly (but not in parallel as of now)
            if ( System.getenv( 'Path' ) != null )
            {
                nodeEnvironment['Path'] = nodeBinDirPath + File.pathSeparator + System.getenv( 'Path' )
            }
            if ( System.getenv( 'PATH' ) != null )
            {
                nodeEnvironment['PATH'] = nodeBinDirPath + File.pathSeparator + System.getenv( 'PATH' )
            }

According to the Java API doc, System.getenv( 'Path' )  returns the same value as System.getenv( 'PATH' ).

For example, the expression System.getenv("FOO").equals(System.getenv("foo")) is likely to be true on Microsoft Windows.

So, I think just removing the branch for Path solve the issue:
if ( System.getenv( 'PATH' ) != null )
{
    nodeEnvironment['PATH'] = nodeBinDirPath + File.pathSeparator + System.getenv( 'PATH' )
}

Or more simply, remove if:
nodeEnvironment['PATH'] = nodeBinDirPath + File.pathSeparator + System.getenv( 'PATH' )

Hi @kaitoy , thanks for taking a look.  Yes, I agree with you that the System.getenv('Path') and System.getenv('PATH') would probably return the same value on Windows (but not on Linux).
But I think removing the 'Path' version may cause a regression fixed by: https://github.com/srs/gradle-node-plugin/pull/44
I will test some more.

I tested without setting nodeEnvironment['Path'] and had no issues on either git bash or cmd.exe.  It may be that this was a problem for older Windows/java/node/npm, but it no longer seems to be an issue.  However, we may want to set both nodeEnvironment['Path'] and nodeEnvironment['PATH'] for better backwards compatibility, if it causes no new issue.
My test environment:

Windows 10
Git bash and cmd.exe
java jdk 1.8.0_111 64-bit
node 6.9.1
npm 3.10.9
yarn 0.17.10

@kpage as you pinged me directly: I'm currently too busy to follow immediately, but if it is not solved next week, I'll have a look if possible. Thanks.

I did some more testing today, it doesn't look like this is going to be easy to solve.  I ran the gradle-node-plugin tests (both master and with the fix that @kaitoy mentioned in https://github.com/srs/gradle-node-plugin/issues/173#issuecomment-265946181) in both cmd.exe and git bash.  I found that the case of the path variable on Windows ("Path" vs "PATH") affects whether the builds work or fail.

"Path" with fix on cmd.exe: FAILS at NpmRule_integTest "succeeds to run npm module using npm_run_ when shrinkwrap contains local npm".  Error is with running npm script: 'npm-run-all' is not recognized...
"Path" with fix on git bash: WORKS
"Path" without fix on cmd.exe: WORKS
"Path" without fix on git bash: yarnSetup FAILS
"PATH" with fix on cmd.exe: WORKS
"PATH" with fix on git bash: WORKS
"PATH" without fix on cmd.exe: yarnSetup FAILS
"PATH" without fix on git bash: yarnSetup FAILS

The only thing that works on both cmd.exe and git bash is if the path is cased as "PATH" and the fix is made.  But this would be a regression for users who already have working builds with "Path" on cmd.exe.  "Path" is the default casing of this variable on Windows 10, so this would probably cause issues for most users.
This seems it would be difficult to fix in the general case, as @kaitoy pointed out Java has no information on the case of the Windows path variable, as calls to System.getenv( 'Path' ) and System.getenv( 'PATH' ) would both return the same results.  So the gradle build cannot have special logic for one case or the other.
Another option is to set both environment('Path') and environment('PATH') as I was suggesting above.  But that also seems to have problems.  Here are the results for that test:

"Path" on git bash: FAILS at YarnRule_integTest “can execute an yarn module using yarn_run_”.  Error is with running npm script yarn_run_parent: ‘concurrently’ is not recognized...
"Path" on cmd.exe: FAILS at NpmRule_integTest "succeeds to run npm module using npm_run_ when shrinkwrap contains local npm".  Error is with running npm script: 'npm-run-all' is not recognized...
"PATH" on git bash: FAILS at YarnRule_integTest “can execute an yarn module using yarn_run_”.  Error is with running npm script yarn_run_parent: ‘concurrently’ is not recognized...
"PATH" on cmd.exe: FAILS at YarnRule_integTest “can execute an yarn module using yarn_run_”.  Error is with running npm script yarn_run_parent: ‘concurrently’ is not recognized…

So it looks like setting environment('Path') and environment('PATH') is not a good option.
At this point, there is no clear way forward.  Perhaps we could remove the logic to set ‘Path’ instead of ‘PATH’ and document that all Windows users must define their path variable in all uppercase, but this is a breaking change.  Maybe it could be done for the next major release?

Please check if this could be resolved by applying MR #179

Thanks, the pull request resolves the issue for me.

Great. This is fixed in 1.1.+.


Modify examples/evaluate_design/01_ten_bar_truss.html

Description of the modifications
plot_max_stress_lc1 = [abs(max(design.responses[1].value, key=abs))]
plot_max_stress_lc2 = [abs(max(design.responses[2].value, key=abs))]

The order of the responses are not secure enough to call with ids.
In my case the order is:
for r in design.responses:
    print(r.name)

stress_lc2
mass
stress

So there must be partly design change of the example
Useful links and references
No response

I would propose to change into:
objectives = {obj.name: obj.value for obj in design.objectives}
responses = {resp.name: resp.value for resp in design.responses}
plot_mass_successfull = [(1, objectives['obj'])]
plot_mass_unsuccessfull = []
plot_max_stress_lc1 = [abs(max(responses['stress'], key=abs))]
plot_max_stress_lc2 = [abs(max(responses['stress_lc2'], key=abs))]

Example was modified as You proposed. Thank you very much.


PIP: Do not throw an excpetion of pipdeptree output lacks the project

Turns out this is completely valid in case the project does not declare
any dependencies.

This change is

typos in commit message: "[...] exception if pipdeptree [...]"


Add flipping information cards on account

Adds User settings link on sidebar loads #habitat-account
Reduces font-size of color toggle icons to have entire icon visible
Adds information icon to gas and yield accounts
Clicked information cards flips display between text and data
Card flips back to data after 5 seconds

Coverage remained the same at 93.02% when pulling d0e2e29d8118b29c56c6d3f87e32f90c6e2796da on mwaa:master into 611d23a705eda4bbe4d5ffc0e0bed9f7f4d50636 on 0xHabitat:master.

LGTM 🔥 , will add some small fixes on top of master


Make static leak detector print field name if measurement fails due t…

…o Java 9 or security manager restrictions.
This closes #227

This PR also contains a test, which requires Java 9 Jigsaw. If running with older versions, the test is skipped.

Thanks Uwe!


perforce.annotate.user isn't showing user and date

I am on version 2.2.1
I have this in my settings.json file:
"perforce.annotate.user": true,

This is what I see when I annotate:

And this is from the perforce extension log:
p4.exe -c loom-dev_myork4_1 -d d:/p4/loom1/loom/loom-ui/ annotate -qcu "src/app/reducers/SchemaReducer.tsx"

Shouldn't the annotation also show user and date?

Can you place your cursor over the CL number ? The user and date should display in a hover box.

@mattyork  I'm closing this withwork as designed. The user and date are meant to be display in a hover box in order to not be too invasive.
Please reopen the bug if you disagree, or have something to propose.


3.0.0 wishlist

A list of potential changes that would go in a 3.0.0 release below. This is mostly brainstorming at the moment, feel free to add or comment the general direction here. For detailed discussions about a specific topic, go to the corresponding issue (or create one)

[ ] Kotlin runtime (#2222)
[ ] default to Kotlin models (#2424)
[ ] cache improvements (#2331)
[ ] multi-modules (#1973)
[ ] generate fragments as interfaces
[ ] remove BigDecimal as an intermediate representation and expose a ScalarTypeAdapter instead
[ ] remove @ApolloExperimental
[ ] remove deprecated fields
[ ] inline GraphQL
[ ] more?

Questions:

[ ] remove Gradle plugin variant handling?
[ ] cleanup test variant handling
[ ] add a streaming API?
[ ] add validation for extra fields?
[ ] rename operationOutput?

Can we get compatibility with the Absinthe's implementation of GQL? By the time being queries and mutations work perfectly! Subscriptions and FileUploads, I am afraid not 😅

@mrctrifork I would suggest making it a separate pull request that we can link here if there's enough demand. Also, if you can include the endpoint of a working server, that'd be neat so we can test easily.

Closing this in favor of ROADMAP.md and milestones. Feel free to comment on the individual issues and leave 👍  to help with priorization.
3.x development has started in dev-3.x

Hi @mrctrifork ! It's been a while but if you're still interested in Absinthe support, @ajacquierbret has an awesome integration with ApolloClient, including subscriptions. You can read more at https://github.com/apollographql/apollo-kotlin/issues/3809

I've been reading all updates on the linked issue. I am greatly excited and can't wait to try it out in the next project we need such tooling 🚀 .
Thank you very much for your efforts and great tool you've put out there


Egress proxy doesn't set destination identity to reserved:world

Right now the egress proxy does not set the destination identity to reserved:world when there is an HTTP request that goes out of the Kubernetes cluster.

This tasks includes extending the getSourceInfo() and getDestinationInfo() functions to:

[ ] When the identity is not known, look at the IP address and compare it against the host IPs as available via pkg/nodeaddress and set the identity to ID_HOST
[ ] Introduce a new ID ID_CLUSTER which represents an unknown identity with an IP inside the cluster prefix (the cluster prefixes are available via pkg/nodeaddress)


Update torchrec's submodule fbgemm commit id

Summary:
context
fbgemm was failing to install out of torchrec's setup.py command because the THC.h header file was being included in the fbgemm repo but it was removed.
This was fixed here: D32872476 but was not reflected in torchrec's checkout of fbgemm as that has to be manually updated.
this diff:
This updates the commit id to be the latest.
I'll take a look at how to automate this process if possible. The installation process can break if our version of fbgemm gets too stale.
Reviewed By: jianyuh
Differential Revision: D33251641

merged with shipit


Why does the UserData helper join the results with ","?

We tried to use the helper defined here to load a shell script.
When we deployed the template, we were a bit surprised to see that the bash script failed to run because commas had been prepended to every line...
,
,service tyk-dashboard restart
,service tyk-gateway restart

Why does the UserData helper join with a ,?

This was code added from a pull request. The use case seemed to want that behavior. You might want to comment back to #376 to see what the authors intention was with the change.


chore: improve error reporting

The type of this PR is: Enhancement

Description

Update react-relay-network-modern to v6 and add support of errorMiddleware in development
Add navigation and analytics events to sentry
capture principalFieldMiddleware errors on sentry and add query scope

PR Checklist (tick all before merging)

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

#squashongreen


Optimize the TypeHandlerRegister.getTypeHandler method

Hi all:
The TypeHandlerRegistry.getTypeHandler cannot return the TypeHandler mapped by a super class or an interface.I have been troubled because many enums in my project had implemented the same interface, and we have a special TypeHandler for these enums,but I must write all these enums to the configuration file and map then to the same TypeHandler.So I optimized and decided to create pull request to you.

Hi @gaohanghbut
Thank you for your contribution!
But the change seems to break many test cases :astonished:
Did they pass on your machine?
By the way, you can list your enums in @MappedTypes of the TypeHandler.
It should be a little bit easier than listing them in XML configuration.

Oh,I will close the pull request because I think my change may not be useful on usual sence,I will try @MappedTypes,thanks
----- 原始邮件 -----
发件人：Iwao AVE<EMAIL_ADDRESS>收件人：mybatis/mybatis-3<EMAIL_ADDRESS>抄送人：高航<EMAIL_ADDRESS>主题：Re: [mybatis-3] Optimize the TypeHandlerRegister.getTypeHandler method (#607)
日期：2016年03月19日 00点05分
Hi @gaohanghbut
Thank you for your contribution!
But the change seems to break many test cases
Did they pass on your machine?
By the way, you can list your enums in @MappedTypes of the TypeHandler.
It should be a little bit easier than listing them in XML configuration.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub


Search Bar: Allows User Input, pulls up house location.

Search Bar Input:
Specific Address
Search Bar Output:
Nearby Attractions/Services based on the checkbox Parameters
Search Bar Includes:

Distance Parameter

Within 1-50 Miles (Slider)
Tickbox for every 10 miles.

Number of Results
Checkbox Parameters- Parks

Bodies of Water
Restaurants
Groceries
Entertainment (Theaters, mini-golf, badminton, curling rinks)
Bars/Breweries

Search bar along with a Nav bar has been created using bootstrap link

Search box result completely made. However, it needs corrections


Ignore cmake_build

The cmake_build directory in the ngen extern/ submodule copy was making for noisy git status output when nothing has changed. It should be ignored.
Changes

Add cmake_build to .gitignore

Checklist

[x] PR has an informative and human-readable title
[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[x] Code follows project standards (link if applicable)
[x] Passes all existing automated tests
[x] Any change in functionality is tested
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged / future todos are captured in comments
[x] Visually tested in supported browsers and devices (see checklist below :point_down:)
[x] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[x] Reviewers requested with the Reviewers tool :arrow_right:

@madMatchstick Could you please merge this? It looks like we don't have permissions on this repository


Calculation error found in example

In the "More complex example" section, the calculation for the 5 minute time granularity average value appears to be incorrect. It should be 1624/10=162.4 (but value shown is 136.75)

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 53053a66-5755-1123-9577-d2f3f6fee941
Version Independent ID: 17a66b9b-d719-7930-3046-abd8d68434c1
Content: Azure Monitor metrics aggregation and display explained - Azure Monitor
Content Source: articles/azure-monitor/essentials/metrics-aggregation-explained.md
Service: azure-monitor
Sub-service: essentials
GitHub Login: @rboucher
Microsoft Alias: robb

@tsontag-camis
Thanks for your feedback! We will investigate and update as appropriate.

Thanks.  I'll take a look.

Yep.  Sorry it took a bit to get back to this. It's wrong. We are getting it fixed. @tsontag-camis
#please-close


Fix broken webpack production guide link in "Optimizing Performance" page.

Before
The link to the webpack production build guide went to https://webpack.js.org/guides/production-build/ which results in a 404 Error.

After
The link now directs to https://webpack.js.org/guides/production/ which is the correct URL.

@MatthewWid thank you!


Update web-servers with commits from jbosstm:master

For my testing which used a version of Maven that has the central repo overridden so access goes over https, this change did seem likely it stopped the resolver using http for central as it seemed to stop getting a 501 warning

At least the JDK 11 failure error I looked at seemed like it was an issue with the JDK installation on the agent?

@mayankkunwar @mmusgrov @jmfinelli FYI my PR looks to have been raised from our forks master so when commits are merged into there this PR would be updated (until it is merged)

Hello @tomjenkinson, @mmusgrov,
I haven't been involved in any of these web-servers/* projects for a long time and it seems @mmadzin and @jfclere are somewhat quiet when it comes to this repository.
I invited you both as maintainers and I will kindly ask you to merge as you see fit.

Thanks @Karm I think it would be better for @mmusgrov to be the assignee rather than myself (I have removed myself as assignee)

@tomjenkinson :-)  Let's see how @mmusgrov takes it :-)

I invited you both as maintainers and I will kindly ask you to merge as you see fit.

@Karm Will you resent the invite please.

@mmusgrov  Sent.

I accepted it straight away this time, thanks.

@mmusgrov FYI I am merging this


#16 support for builders in inner classes

closes #16

improvement. The test classes could be moved to the generic test classes instead of connected to #16


Fix config bug

Description
Fix config bugs:

No restriction for key prefix
Null label was search as *, by default search null label, and %00 for null label search, if user needs to search all labels, need to configure spring.cloud.azure.config.label as *

Codecov Report

Merging #318 into azure-config will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff               @@
##             azure-config     #318   +/-   ##
===============================================
  Coverage           50.97%   50.97%
  Complexity            267      267
===============================================
  Files                  98       98
  Lines                1230     1230
  Branches               50       50
===============================================
  Hits                  627      627
  Misses                572      572
  Partials               31       31

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 fa102dc...525c317. Read the comment docs.

We will add some test cases for these functionality?

Yes, will add test cases.


PlatformIO instructions are incomplete

I'm new to PlatformIO, but I'm pretty sure that the platformio instructions in README.md are incorrect. I read through issue #168 and it only recommends the following:

Start with lv_platformio
Modify platformio.ini
Modify main.cc

I think it is ambiguous whether it is necessary to create the git submodule in the lv_platformio project is required as described in Build this repository standalone and run the demo. If this was done, then this would result in two copies of lvgl. One in //components/lv_port_esp32/components/lvgl/lvgl/, and a second in //lib/lvgl/. If the submodule is not created, then there is a missing step to add lv_port_esp32 as a dependency (lib_deps) in platformio.ini.
There is a comment in issue 168 which says that following the README.md steps successfully builds - which it does, but the default app doesn't use any drivers and doesn't display anything.
Maybe somebody with more PlatformIO knowledge can see what I might be doing wrong, but from what I can see this project is not compatible (or ready to be used by) PlatformIO.

I managed to get my project running with lv_port_esp32. Here's what I had to do:

Checkout lv_port_esp32 into the //lib directory.
Make the following changes to lv_port_esp32:

Include lvgl.h differently, PR #221
Include lv_refr.h diffently, PR #222.
Added a library.json file (no PR yet - more on that later).

Made the following changes to my app's project:

Modified my platformio.ini file to have "lv_port_esp32" in the "lib_deps" section.
Copied lib/lv_port_esp32/components/lvgl/lv_conf. to src/lv_conf.h
Copied the three Kconfig files from this project (skipping examples) to my project.
Ran platformio run -t menuconfig, and set values as described by https://github.com/lvgl/lv_port_esp32#configuration-options.
Added the LVGL code from main.c into my project's application.

Here is what I'd like to do to complete support for PlatformIO for this project - as far as I can tell lv_port_esp32 really isn't yet compatible with PlatformIO.

Land the two PR's above.
Complete and land a PR for library.json. This is necessary for platformio to see this project as a library project and to know what files to build.
Modify all driver files to ifdef out their code if the appropriate constant isn't defined. e.g. the contents of ili9341. will be surrounded by:#if defined(CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341)
...
#endif

This is necessary because library.json doesn't have the ability (I believe) to selectively compile files, so they will need to be a no-op - except for the drivers turned on in sdkconfig.
Hopefully come up with an alternative to making a copy of lv_conf.h.
Hopefully come up with an alternative to copying the Kconfig files.
Modify the README platformio section. I believe it should still say "go to lv_platformio and follow instructions there".
Add the actual LVGL+PlatformIO+ESP32 instructions to the lv_platformio project.

If anybody knows PlatformIO better, please let me know if I'm not seeing an easier solution, but this is the cleanest solution I can come up with at the moment.

Hi Chris,
Thanks for sharing your experiences. The things you have pointed out seems correct.
In the very near future, we will make lvgl and lv_examples directly work as an ESP component. lvgl was updated to work with Kconfig (Kconfig file will be added soon) and without lv_conf.h, that is you can add LVGL defines to platfromio.ini.  (it should solve "Hopefully come up with an alternative to making a copy of lv_conf.h.").
Finally, the drivers part from this repo will be moved to its own repo. The changes you have suggested for the driver part seems valid to me. However, @C47D is the maintainer of this repo and he knows it much better. :slightly_smiling_face:

OK. user @davidjade was very helpful on PR #225, and I think this would be a more clear way to describe how to build this project using PlatformIO.

Follow the configuration steps above in Build this repository standalone and run the demo - i.e. steps 1-6.
Create the PlatformIO using the desired board. In this example we are using "esp-wrover-kit":pio project init --board esp-wrover-kit
rmdir src # src/ not needed - this project uses main/

This will create a platformio.ini file like this:[env:esp-wrover-kit]
platform = espressif32
board = esp-wrover-kit
framework = arduino

Specify the src_dir setting in platformio.ini to be "main":[platformio]
src_dir = main

[env:esp-wrover-kit]
platform = espressif32
board = esp-wrover-kit
framework = arduino

Change the framework in platformio.ini to be "espidf"[platformio]
src_dir = main

[env:esp-wrover-kit]
platform = espressif32
board = esp-wrover-kit
framework = espidf

[Optional step] Add new project files to source control:git add platformio.ini include/ lib/ test/

Build as desired. e.g. with the command-line using platformio run, or with VSCode.

I think it we should keep the reference to the lv_platformio project as a more complete example.
I still think that ideally PlatformIO projects should utilize Platform IO Library Management to source project dependencies (LVGL, lv_port_esp32, etc.). To avoid confusion, But, I think it's best to have that discussion in a different bug - probably after @C47D finishes his lv_drivers refactoring.

@cmumford Thanks for sharing this. I wonder if we can add these environment settings to platform.ini file lv_platformio.

Is more work being done on this topic? Should I just follow steps as @cmumford described? The instructions for set up with platformio are still incomplete and this post doesn't seem like it should be left closed.

Hi @tlechman49, can you try the @cmumford steps? If they work please let us know, on the meantime I reopen the issue.

I'm happy to put together a PR with these changes if @tlechman49 concludes they are correct.

So I actually just posted a pull request ( #234 ) for this that worked fine for me. If someone else tests that, I guess further notes should be added on how to set the .ini file in the readme and then this would be solved.

The PR is merged so I close this issue.
Thank you @tlechman49

The PR is merged so I close this issue.
Thank you @tlechman49


unable to import utils

Hi, this is an awesome project! Thx a lot!
I use the most recent version but still encounter the problem of "No module named utils.utils". I saw it is mentioned in a closed issue as well. Any idea to solve this?

Hi, i don't know why you met this error. But in my pc, the path works well. I use ubuntu 16.04. I suggest you may check the absolute path.

I had this error if i run in the root dir,  its ok in the py dir! you can try it again! BTW, this error will occur under the cygwin, maybe the syspath in the init cannot be understood?

@royalyang thanks for useful advice!

@jeffxusichao

@jeffxusichao
pip uninstall utils
This should work.


Message ID can crash the io loop.

In the method DatagramSocketTransport#readingLoop() catches the IllegalArgumentException thrown by setMessageId outside of the loop, effectively crashing the whole server.

Pretty easy to reproduce using #16:
var b = new byte[]{ 0x4a, (byte) 0xab};
var invalidPacket = CoapPacket.deserialize(remoteAddress, new ByteArrayInputStream(b));

// Returns -1
invalidPacket.getMessageId()

Hi @hadrienk,
What version did you use to try reproduce this issue. At least on master build it does not fail.
This might have been fix by this commit: https://github.com/ARMmbed/java-coap/commit/51f9ae316c76baac805681a013f050394a957dce

I see we were using version 5.0.0. Is this commit merged in 5.1.0?

There is no 5.1.0 version release. I suggest to use master or 9cd9e8141b as a version number.


Cannot Edit Amount of Lines Above and Below Cursor

When I enable "Keep lines above and below" in the settings, I'm unable to edit the amount of lines above and below the current line.

I currently have no features enabled other than "Keep lines above and below".

Fixed in commit d6e3fd3. I will release a new version soon.


Need to prevent MRI from using gcc-4.2 on Yosemite

Newer MRI installs are broken on Yosemite for people who have Homebrew apple-gcc42 installed. Previously MRIs would find gcc-4.2 in PATH and use it over /usr/bin/gcc/clang and it would be fine either way, but that doesn't work in Yosemite for some reason.
The workaround is easy: set CC=/usr/bin/gcc or CC=clang for the build and Ruby will use clang instead of detecting gcc-4.2 in PATH.
We can't expect each person to figure this out by themselves. I propose that on Yosemite we default to CC=clang for MRI >= 1.9.3-p0 if an explicit CC wasn't set.
Original issue: https://github.com/sstephenson/rbenv/issues/610
/cc @hsbt @jeremy

+1


Improve test times for dt algs

Now RaLambda::getHypothesis returns a regular hyp instead of a DTHyp (which accepts data word by doing expensive operations on the DT). For users wanting a DTHyp instance, there is RaLambda::getDTHyp(). I updated the test cases which required a DTHyp to pass.
TestSymmetry needs to be looked at, since I had to use DTHyp there, when I am sure it should not have been necessary.  This suggests a bug in the unit test or our handling of symmetries. This can be looked at in a separate issue.

We are done here!


Fix Maya 2022 Python 3 compatibility

This PR fixes issues in Maya 2022 that are happening to the update to new Python 3 in Maya.
Avoid dict_keys TypeError in lib.imprint for Create Render Creator
Commit: https://github.com/pypeclub/OpenPype/pull/2445/commits/cb99b0acf791c970aeef7c04c1f01487f8e9f260
Create Render Creator fails in Maya 2022 with Python 3 due to a TypeError in lib.imprint.
Description
Fixed by forcing the .keys() into a list so it's not a Python3 dict_keys object.

Refactor types.BooleanType and types.ListType
Commit: https://github.com/pypeclub/OpenPype/pull/2445/commits/d7b6582cd38f1dd5a74036778ad22bb36b0dc54e
Maya 2022 has Python 3 and Python 3 does not have types.BooleanType and types.ListType so I've replaced it with straight bool and list. Which happens to also be what respectively thoses variables were set to in Py2 in types thus it should be both backwards and forward compatible.
Description
This is a very simple fix to just resolve the actual issue that occurred - which is to make it work in Maya 2022/Py3. It's not trying to re-evaluate whether the code could be improved upon altogether and for example these maya_is_true methods could be removed.

Fixed another Py3 issue with https://github.com/pypeclub/OpenPype/pull/2445/commits/74cfde55ec44b70bbc8628e0b4762e114877f89c

Fixed the left-hand side Toolbox OpenPype icons in Maya 2022+ with https://github.com/pypeclub/OpenPype/pull/2445/commits/d09065576421d207e2f3e2cb7ab7b80b36fae3a3

Fixed an issue in Maya 2020.0 (without updates) with commit https://github.com/pypeclub/OpenPype/pull/2445/commits/fa77a4934909b529ad38b79f9fa176fac8913c29 which made the toolbox icons fail to set up. Reported by @sasbom and confirmed it's fixed.

We are using this in production with Maya 2022 and are squashing anything that comes up as we go. It's hard to tell when we can consider it fully functional but it's come a long way and is now far from "Testing Only" so I've removed that in defaults with https://github.com/pypeclub/OpenPype/pull/2445/commits/3b63abfa6a2b8b54e061834b3d42b5ee013a9627
Would be nice if some others could give this a go to test it out of course. :)

Note that issue #2454 is yet to be solved which we might want to fix first.

Should we maybe flip this from Draft to reviewable? We could Do the remaining work in another PR, so prevent getting this stuck for too long.

We've tested this on clients side now, and it technically works as expected. It's now more of a missing features situation, rather than something not working strictly.
We think this should be merged to unblock Maya 2022 in general and we can continue dealing with th remaining issues, in further PRs


Temp audio file never deleted on Android

The raw audio is written to a temp file on Android. This file is not deleted.
static string GetTempFilePath() { 	return Path.Combine("/sdcard/", Path.GetTempFileName()); }
The path to the Audio file should probably also be replaced, maybe with FileSystem.CacheDirectory?

Or am I wrong here and those files are actually deleted automatically by the system?


Invalid URL on Wiki page "Installing AutoSync"

Step 4 has an invalid link for the "Configuration" URL.
https://github.com/lithnet/miis-autosync/wiki/Installing-AutoSync#step-4-configure-the-service
It is pointing to https://github.com/lithnet/miis-autosync/wiki/configuration which doesnt exist.
It should point to https://github.com/lithnet/miis-autosync/wiki/Configuring-the-AutoSync-service.

Thank you! link has been updated.


Backend grid improvements

New Features:

data_inspect() to print the relevant content of the data. It takes an xarray.Dataset or a list of xarray.Datasets as input
select_data() to select some specified variables. It takes an xarray.Dataset, a list of xarray.Datasets or a path to a file as input, and a list of variables. Optionally, one can also specify a grid file to combine.

Changes:

combine_grid_information improved error handling
refactoring of open_dataset

Passing on Jenkins https://jenkins-mch.cscs.ch/job/iconarray_PR/15/
dnd icon-vis PR on Jenkins which uses this branch as version of iconarray to install.


ENV variables are not easily accessible in production and development env

As microservices are containerized, the env variable should be easily accessible and in the current architecture, I'm managing the env variable and per NODE_ENV. but there are a few issues I faced a lot in development and deployment.
Based on research I found out that ENV variables can be stored on the cloud and it should get ENV variables directly from the cloud while the service is running in a container. OR in the development server, it should get directly from the root env file.

Fixed in version 2


Batch geocode

As a geocoding system, I want to accept batch geocoding requests and issue requests to internal microservices so that the request for multiple geocodes at once can be fulfilled using the best possible data for each request

Batch Geocoding is already underway, will create specific tickets as needed. Closing this one for now


Fix typos, invalid examples, clarify

Some documentation improvements from when I was evaluating oneRepo. Please, feel free to commit on top of my changes or overwrite them!

Thank you so much @alecmev!


[Docs] Revision of the project introduction

We need to revise the introduction of our README as currently: https://github.com/crc-org/crc/blob/main/README.adoc#introduction is all about OpenShift. It does not mention the use of other container runtime environment, such as Podman, microshift, et al.

Related to https://github.com/crc-org/crc/pull/3444/files/d004e048a316fb1c0c8697c0dab0cb4d80d3156c#r1068090369
I spoke with @anjannath that the upstream packages do not need to specify OpenShift in so much detail. it is one of the options.


Multiple statement question

When I do a multiple statement query, can I assume that the results array is in the order of my statements ?
connection.query('INSERT car; INSERT plane', function(err, results) {
  if (err) throw err;

  console.log(results[0].insertId); // can I assume this will return the id for the inserted car ?
  console.log(results[1].insertId); // can I assume this will return the id for the inserted plane ?
});

Technically they simply are in the order that the MySQL server sends them to this module. I'm not 100% sure if there is some kind of guaranteed order, as that may be a better question towards the MySQL server itself. This module just presents them in the same order as the MySQL server sent them back, if that helps.

Thank you @dougwilson 👍

So I took a quick read through the protocol and as far as I can tell, the answer is yes:  you're guaranteed to get that behavior as far as I can tell.


Action "SWS: Quantize item's start to grid (keep length)" crashes Reaper when selecting multiple audio items and grid spacing is set to "frame"

Reaper v5.961/x64, SWS v2.9.7, Windows 7 64-bit. Report files found in Windows Event Viewer attached
reaper quantize crash.zip

Here it is, too big for Github so I uploaded to GDrive https://drive.google.com/file/d/1bxwO1GbcwG9zWkeiFsUOwB-suear0t29/view?usp=sharing

Thanks! I found two separate bugs leading to this action freezing with frame grid spacing. Fixed in this build: https://cfillion.ca/files/sws/fix-quantize-time-frame/reaper_sws64.dll.
What were your project start time and frame rate set to in Project Properties?

The new build works, thanks!
The crash happened across multiple projects, but my project start time is usually negative (project start measure at 0, and set 0:00 to measure 1), and frame rate is usually 30Hz.


Java 8: support auto-SMI of our Callable types

[@FroMage] In theory we should be able to pretend that any method in Java which accepts an SMI (Single-Method Interface) accepts a union of the SMI and its corresponding Ceylon Callable, and do the magic auto-conversion in our backend, when provided with a Callable.
Similarly we should be able to pretend that any method in Java which returns an SMI returns an intersection of the SMI and its corresponding Ceylon Callable, and do the magic auto-conversion in our backend.
I'm not 100% convinced we can do this due to the usual issues with types and bounds and type-arguments, but we can try and investigate.
I highly doubt we'll have time to do this for 1.1, so marking 1.2
[Migrated from ceylon/ceylon-compiler#1617]

The could this be partially implemented sooner than 1.3?  Maybe some sort of hack in combination with https://github.com/ceylon/ceylon/issues/5739 that only works for things annotated with @FunctionalInterface?  Using the features of JDK 8 would be much easier right now.  Here is a painful example in JAX-RS
@GET
@Produces({"application/json"})
public void list(@Suspended AsyncResponse response) {
    CompletableFuture.supplyAsync(repo::list).thenApply(this::generic).thenAccept(response::resume);
}

private GenericEntity<List<Location>> generic(List<Location> list) {
    return new GenericEntity<List<Location>>(list) {};
}

The Ceylon version works, but is hard to live with.
get
produces({"application/json"})
shared default void list(suspended AsyncResponse response) {
    object supplier satisfies Supplier<List<Location>> { get() => repo.list(); }
    object consumer satisfies Consumer<GenericEntity<List<Location>>> { accept(GenericEntity<List<Location>> list) => response.resume(list); }
    object transform satisfies Function<List<Location>, GenericEntity<List<Location>>> { apply(List<Location> list) => generic(list); }
    CompletableFuture.supplyAsync(supplier).thenApply(transform).thenAccept(consumer);
}

GenericEntity<List<Location>> generic(List<Location> list) => object extends GenericEntity<List<Location>>(list) {};

I agree we should try something.

that only works for things annotated with @FunctionalInterface?

OMG, I had no idea that this thing existed:
https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html
Then I agree. The model loader should treat parameters whose type is annotated @FunctionalInterface as being of the corresponding Ceylon function type.

I pushed a prototype in the 1617 branch. It transforms parameters of a SAM type into a union of the SAM and equivalent Callable type. Then the backend applies auto-conversions from Callable to SAM when required. For lambdas this is mostly just implementing the SAM rather than AbstractCallable and adding the right method. For method references, this means adding a SAM wrapper class that delegates to the Callable method.
ATM lambda parameter inference does not work before the LHS is of type SAM|Callable and I suspect the typechecker won't infer the parameter types in that case. It would have to change.
ATM we have tests that fail (and the SDK does not compile) because we have some Ceylon implementations of SAM interfaces that fail because the declared Ceylon parameter types (SAM) do not correspond with the super-interface's parameter types (SAM|Callable). This still has to be figured out.
Also, I strongly suspect all boxing/erasure rules to be invalidated by this because we have union types that we do not erase to Object but to the SAM. The effects are hard to measure and will be hell to fix.
Anyway, try it out for size?
Here's a valid example:
import java.util.\ifunction {
    Consumer, IntConsumer
}
import java.util {
    ArrayList
}

void toplevel(Integer i) => print(i);

void lambdas() {
    value j = LambdasJava();
    j.consumer((Boolean b) => print(b), true);
    j.\ifunction((Boolean b) => b, true);
    function f(Integer i) => print(i);
    j.intConsumer(f);
    value fval = (Integer i) => print(i);
    j.intConsumer(fval);
    fval(1);

    j.intConsumer(toplevel);

    j.intConsumer((Integer i) => print(i));
    j.intSupplier(() => 1);

    value l = ArrayList<Integer>();
    value s = l.stream().filter((Integer i) => i.positive)
            .mapToInt((Integer i) => i)
            .sum();
}

import java.util.function.*;

public class LambdasJava {

    public LambdasJava(){}
    public LambdasJava(IntConsumer consumer){}

    public <T> void consumer(Consumer<T> consumer, T t){
        consumer.accept(t);
    }

    public <T,R> R function(Function<T,R> function, T t){
        return function.apply(t);
    }

    public void intConsumer(IntConsumer consumer){
        consumer.accept(1);
    }

    public int intSupplier(IntSupplier supplier){
        return supplier.getAsInt();
    }
}

BTW, can't we fix the parser to allow import java.util.function without the keyword quoting? It's annoying :( j.\ifunction is bad enough…

import java.util { ArrayList }
import java.util.stream { ... }

value numbers = ArrayList<Integer>();
value list = numbers.stream().map((Integer i) => i + 1).collect(Collectors.toList<Integer>());

error: argument must be assignable to parameter 'arg0' of 'collect' in 'Stream<Integer>':
'Collector<Integer,out Object,List<Integer>>' is not assignable to 'Collector<in Integer,Object,List<Integer>>?'

 This alternate proto supports the exact same test, although my type argument inference algo is simplistic and does not support nested type parameters yet. I'll polish that and push it to another branch.
The backend deals with coercions exactly the same way in both prototypes. The only change is that during model loading I mark SAM classes/interfaces and what their abstract member is.

the typechecker has a list of things it can coerce from/to

Negative. Implicit type conversions introduce ambiguities into the type system.

Well, so far every possible solution has drawbacks. Perhaps we should compare drawbacks and pick the ones that are less intrusive? What sort of ambiguities are we talking about? How do they manifest?

Look, implicit type conversions are simply terrible when combined with type inference. We've been over this approximately 1007 times. We're just not going down that path.
There is only one way to make this idea work, and that is the one proposed in #6189. But that's not what you've implemented.

Well, that other issue also has drawbacks, they've been documented, as have the model loader solution. Can you refresh my memory on the drawbacks wrt coercion please?

Proto pushed to the 1617-coercion branch.

Looking at @fwgreen 's issue, this is the signature of Collectors.toList():
public static <T> Collector<T,?,List<T>> toList();

So we map Collectors.toList<Integer>'s return type as Collector<Integer,out Object,List<Integer>>.
As for the signature of Stream.collect():
interface Stream<T>{
<R,A> R collect(Collector<? super T,A,R> collector);
}

So given a Stream<Integer> we infer R to be List<Integer>, and A to be Object. And due to ? super T as first type param, we get in Integer, so yeah we try to put a Collector<Integer,out Object,List<Integer>> into a Collector<in Integer,Object,List<Integer>>. At this point, my understanding of both subtyping wrt use-site variance and Java wildcard collapses and I've no clue why this is an issue or how we could solve this. @gavinking any idea?

Well a Collector<Integer,out Object,List<Integer>> i.e. a Collector<Integer,**in Nothing**,List<Integer>> isn't a Collector<in Integer,Object,List<Integer>>

A Collector<Integer,out Object,List<Integer>> isn't a Collector<in Integer,Object,List<Integer>> because of the second type argument.
For any type X<T>, X<out Y> is a strict supertype of X<Y>.
Perhaps this is a case that Java's wildcard capture can handle (Java can sometimes transform a method signature involving unbound type parameters into one involving wildcards).

Perhaps

Well, I suppose so, otherwise those methods would not be any use.
The question is how can we support this?

Well, you could futz with the signature of collect().

You could notice that A is a completely unconstrained type parameter (WTF is it even there for?!) and replace it with in Nothing or out Object.

It quite clearly should be:
interface Stream<T>{
    <R> R collect(Collector<? super T,?,R> collector);
}

OK thanks.
What sort of rules express that it's not constrained? Can't the typechecker notice that and infer something more useful for A?

OIC, from the point of view of the implementors of this method, apparently they sometimes need to pass As in and out of the Collector. Except that most Collectors apparently don't even have an "intermediate accumulation type", and just completely hide A behind a wildcard.
Yew.

What sort of rules express that it's not constrained?

Good question. I suppose something like:

it occurs only once in the parameter list, and does not occur in the return type

Except that there is another similar situation where you could say the same thing. Ignoring type constraints:

it occurs only contravariantly or only covariantly in the parameter list and does not occur in the return type.

But of course in Java signatures we're not going to encounter covariant or contravariant occurrences of a type parameter, so perhaps this case isn't interesting.

But yeah, I suppose, in principle, that the typechecker could quite reasonably infer in Nothing as the type argument for any type parameter that occurs just once in the parameter list and never in the return type.

I have taken a look at this. While doesn't look hard to detect the very simplest case and infer a use-site-variant type (I managed to implement that much already), it's not at all a small change to the language since we currently don't support use-site variance in value expressions at all. We only support it in type expressions. Furthermore, it's not entirely clear what the runtime semantics are: what reified type does A refer to at runtime?
I would therefore much prefer to hack this in the model loader than to implement something totally dodgy in the typechecker.

what reified type does A refer to at runtime?

I thought this would just be allowed when calling isJava() methods. For Ceylon, it seems the type argument would have to be determined at runtime (e.g. theCollector.A or even theMutableList.Element).

I would therefore much prefer to hack this in the model loader than to implement something totally dodgy in the typechecker.

OK, sounds reasonable I guess, but which of the two signatures should the model loader change? Caller or callee?

I've spun this into #6370 please continue discussion around this there.

@gavinking can you refresh my memory wrt the drawbacks of coercion for java types and inference? I'm not at all questioning that the drawbacks are real and would cause the end of the world as we know it, but I just forgot them and would appreciate to remember them.

Merged master on the branch, and added support for String/CharSequence, SAM->Callable, fixed issues with method references and primitive types, added checks for type compat between SAM/Callable.

Note that this work in conversions is useful no matter which of the three solutions we end up with.

With the tests passing now, that's better. Also start not coercing unless the typechecker told us to.

Can't wait to see this in master!

Well, if you have an opinion, make it known in #6189. So far we're still assessing the pros/cons of three strategies.

This works on the 1617 branch but fails on the 1617-overload branch
import spark { Spark { ... }, ... }

shared void run() {
    get("/", (Request req, Response res) => "Hello, world");
}

error: compiler bug: null at com.redhat.ceylon.compiler.java.codegen.PositionalInvocation.unfake(Invocation.java:884)
error: compiler bug: visitor didn't yield any result at com.redhat.ceylon.compiler.java.codegen.ExpressionTransformer.transformExpression(ExpressionTransformer.java:369)
error: compiler bug: visitor didn't yield any result at unknown

Thanks, I'll test this.

OK @fwgreen should work now.

@FroMage It works again!  Many thanks.

OK so all the tests pass. I still haven't implemented anything to do with variadics (especially methods that take SAM... or SAM methods which are variadic, but that can come later. At this point I'm ready for review from you @gavinking especially regarding the new members of Declaration and their names. Then we can merge to master.

CompletableFuture.supplyAsync(() => repo.listAll())...

works without issues, but...
resource late ManagedExecutorService mes;

CompletableFuture.supplyAsync(() => repo.listAll(), mes)...

error: illegal argument types in invocation of overloaded method or class: there must be exactly one overloaded declaration of 'supplyAsync' which accepts the given argument types 'List<Person>(), ManagedExecutorService'
        CompletableFuture.supplyAsync(() => repo.listAll(), mes)

@fwgreen OK will test.

I merged this in master. I suppose I still have to do something about the metamodel, to ignore those overloads.

I also have to support overloading selection with null arguments.

I also have to support overloading selection with null arguments.

Done

@gavinking this is where overloads fail:
ExecutorService mes = nothing;

CompletableFuture.supplyAsync(() => 2, mes);

Fails because ExecutorService is itself also a SAM (damnit), but one which we want to pass as instance, not as a Callable. How can we fix this?

@FroMage I don't follow. AFAICT, it's impossible that a Java method accepts Callable, so the first argument should be sufficient to disambiguate the overload.

It's not about being ambiguous: we have the real method, and one overload with f(Callable, Callable) type. We said we would not generate f(SAM, Callable) and f(Callable, SAM) due to combinatorial explosion, so the method we want to call does not exist in the model.

@FroMage Oh, OK, I see. So just write:
Executor ex = .... ;
CompletableFuture.supplyAsync(() => 2, ex.execute);

Seems pretty straightforward.

If they don't do any instanceof and downcasts on the other side, I guess…
Can you try that @fwgreen ?

I think we still have an issue with static refs of the form Type.member.

And even qualified members don't work ATM, lemme fix both.

And the fix is to finally bite the bullet and get rid of the special cases in transformeExpression yay!

CompletableFuture.supplyAsync(() => repo.listAll(), mes.execute)

error: Ceylon backend error: incompatible types: <anonymous AbstractCallable<Object>> cannot be converted to Executor

I should point out that the messy way...
CompletableFuture.supplyAsync(object satisfies Supplier<List<Person>> { get() => repo.listAll(); }, mes)

continues to work, so we're not dead in the water.
As an aside, Kotlin currently has the same limitation, but uses a shorthand along the lines of https://github.com/ceylon/ceylon/issues/5739 to ease the pain.
CompletableFuture.supplyAsync(Supplier { repo.listAll() }, mes )

Yeah I didn't have time to push my fix yet

Damn, I forgot coercions to invocations :(

@fwgreen it should work now.

OK invocations work. And the metamodel is not affected because the runtime metamodel will not report functional interfaces: the overloads don't exist at runtime.

Now the IDEs have to implement the model loader methods for this to work in the IDEs.

What should happen when a class defines both
Future<?> executeOnPooledThread(@NotNull Runnable action);

and
<T> Future<T> executeOnPooledThread(@NotNull Callable<T> action);

? If I use the following argument:
void submitChangesTask() { }

I get this error:
[ceylon-compile] /Users/bastien/Dev/ceylon/ceylon-ide-intellij/plugin-ceylon-code/source/org/intellij/plugins/ceylon/ide/ceylonCode/model/CeylonModelManager.ceylon:272: error: argument must be assignable to parameter 'arg0' of 'executeOnPooledThread' in 'Application': 'Anything()' is not assignable to 'Object()'
[ceylon-compile]             => submitChangesFuture = application.executeOnPooledThread(submitChangesTask);
[ceylon-compile]                                                                        ^

I can't disambiguate using of:
[ceylon-compile] /Users/bastien/Dev/ceylon/ceylon-ide-intellij/plugin-ceylon-code/source/org/intellij/plugins/ceylon/ide/ceylonCode/model/CeylonModelManager.ceylon:272: error: specified type does not cover the cases of the operand expression: 'Runnable' does not cover 'Anything()'
[ceylon-compile]             => submitChangesFuture = application.executeOnPooledThread(submitChangesTask of Runnable);
[ceylon-compile]                                                                        ^

Oh, it looks like Object submitChangesTask() => null; is accepted.
My model loader accepts both versions, so I'm not sure if I implemented it correctly or not?

To be honest that's a use-case we didn't think about: overloading where there are two exactly similar SAM types. I don't think the overloading resolution can pick either one. WDYT @gavinking ?

I think it's very easy to use object Runnable { run= submitChangesTask; } in such cases. I don't think we should be worried about this one.
What API is it anyway, @bjansen?

IntelliJ's Application

I agree it's easy to use an object instead, but perhaps the TC should throw an error saying that this isn't possible on overloads?

It's great that this now works
shared default void list(suspended AsyncResponse response) {
        CompletableFuture.supplyAsync(repo.listAll)
                         .thenApply(generic)
                         .thenAccept((list) => response.resume(list));
    }

    GenericEntity<List<Person>> generic(List<Person> list) => object extends GenericEntity<List<Person>>(list) {};

Feeling lucky (greedy), I tried using a Java method reference
...thenAccept(response.resume);

which triggers
error: ambiguous callable reference to overloaded method or class: 'resume' is overloaded
                         .thenAccept(response.resume);

Feeling lucky (greedy), I tried using a Java method reference

That's correct. We've never supported method refs to overloaded Java methods. For pretty good reasons.

Is it intentional that optional return types aren't allowed?
I image needing to return null is much less common than wanting to have non-optional parameter types (which is allowed). But still, it may be useful at times.

Is it intentional that optional return types aren't allowed?

Example?
@FroMage is this perhaps just a matter of setting uncheckedNulls correctly in all the right places?

That's still a TODO, I haven't tested this at all.

@gavinking anything, really. But for testing, something like:
import java.util.concurrent { CompletableFuture }

void foo(CompletableFuture<String> future) {
    CompletableFuture<String> newFuture
        = future.thenApply<String>((String? s) => s);
}

is this perhaps just a matter of setting uncheckedNulls correctly in all the right places?

Nope, this is on TypedDeclaration and not on Type (and we don't want it on Callable).
@gavinking not sure how best to proceed. I can fudge with the signature of the Callable but will it be enough?

@FroMage I found a bug.
The parameter of Stream.map() gets the function type Nothing(String)?. That not right.

Also, I don't think we actually need to mark these callable parameter types optional. If for some dumb reason you want to pass null, which seems to me pretty unlikely, you can use the other overload, DYT?

@gavinking not sure how best to proceed. I can fudge with the signature of the Callable but will it be enough?

I think probably the best thing we can do is arrange for the typechecker to set uncheckedNulls on an anonymous function when it gets passed as a parameter to a Java method.
Is isJava() set to true on the generated Value parameter? If not could you do me a favor and set it to true, please?

The parameter of Stream.map() gets the function type Nothing(String)?. That not right. It should be R(String)?.

This is due to the fudging I just did or is it older?

This is due to the fudging I just did or is it older?

Not sure. Probably older.

If for some dumb reason you want to pass null, which seems to me pretty unlikely, you can use the other overload, DYT?

Well, not sure, depends on how common that is. I haven't used the stream API enough to judge.

Well, not sure, depends on how common that is.

Let's review all the method of Stream, and see if any of them accept null.

Well, it's not the methods of Stream, it's the functional types that accept or return null.

Is isJava() set to true on the generated Value parameter? If not could you do me a favor and set it to true, please?

Done. Though you could have trusted the method.

I think probably the best thing we can do is arrange for the typechecker to set uncheckedNulls on an anonymous function when it gets passed as a parameter to a Java method.

Actually this won't work for multiple reasons:

A Java SAM could have a return type like int or float.
Anonymous functions don't have a declared return type, so the inferred return type will always be optional.

So that's a dead end, it seems to me.

Well, it's not the methods of Stream, it's the functional types that accept or return null.

Nono, I'm talking about how Stream.map() accepts R(T)? instead of R(T). That's nothing to do with the functional interface type, it depends on what map() itself accepts.

I can't reproduce your issue with Stream.map, it seems fine here:
|  |  |  |  |  |  |  +  [QualifiedMemberExpression] (113:15-114:15) : Stream<Integer>(Integer(Integer)?) : Stream<Integer>.map<Integer> : function Stream<T>.map<R>(R(T)? arg0) => Stream<R>

Nono, I'm talking about how Stream.map() accepts R(T)? instead of R(T)

But they do already. That's not related to what @jvasileff was asking for. He was asking about being able to pass functions that take and return optional parameters.

Well, the model loader certainly has the information as to whether the SAM function type can accept null params or return null values. It's just a matter of passing that info the typechecker.

But they do already.

Right, but I don't want them to.

That's not related to what @jvasileff was asking for.

I know I know, this is something different I'm asking for.

Would it help if we generated types such as String?(Integer primitive, Integer? notPrimitive)?

I know I know, this is something different I'm asking for.

If you're asking me you'll have to be clearer then ;) I've no idea.

Why don't you want Stream functions to accept null parameters? What's bad about that?

Would it help if we generated types such as String?(Integer primitive, Integer? notPrimitive)?

Yes, that's the right thing to do, I think. Return types of callable parameters are contravariant like the type of a parameter value. We usually generate ?  in that case.  It's covariant locations that we use uncheckedNulls..

Why don't you want Stream functions to accept null parameters? What's bad about that?

I'm scared it might mess with:

type arg inference
overload resolution

It's in covariant locations that we use uncheckedNulls.

For example, to be completely consistent, we should produce the type String?(Integer primitive, Integer notPrimitive) in your example. And notPrimitive should have uncheckedNulls marked to true. But I don't think the typechecker would know what to do with that right now, so String?(Integer primitive, Integer? notPrimitive) is good enough for now.

Yes, that's the right thing to do, I think. Return types of callable parameters are contravariant like the type of a parameter value. We usually generate ? in that case. It's covariant locations that we use uncheckedNulls..

Well, we're left with the problem of parameters. If I do that you can't pass a function(Integer prim, Foo notPrim) to a String?(Integer prim, Foo? notPrim), can you?

Well, we're left with the problem of parameters. If I do that you can't pass a function(Integer prim, Foo notPrim) to a String?(Integer prim, Foo? notPrim), can you?

Current. See my previous comment.

And notPrimitive should have uncheckedNulls marked to true. But I don't think the typechecker would know what to do with that right now

Well, there's no place to mark it. It's not a Function with parameters: it's a Callable type. That can't be marked in any way for its parameters.

But I don't think the typechecker would know what to do with that right now, so String?(Integer primitive, Integer? notPrimitive) is good enough for now.

Oh wait; screw that, that would mean the parameter of map() would get the type R?(T?) which would drive everyone nuts! No no, it has to be R(T) for sure.

Well, there's no place to mark it. It's not a Function with parameters: it's a Callable type.

Just make it String?(Integer primitive, Integer notPrimitive) for now. We'll deal with null in the next release by generating a functional parameter instead of a value parameter.

Well, I can create a functional parameter too, if that's easier?

At least, if it doesn't impact the rest of the backend work I did…

Well, I can create a functional parameter too, if that's easier?

I don't think it will help much right now, without some additional work in the typechecker.

I can't reproduce your issue with Stream.map, it seems fine here:

My bad, it's an intellij-specific bug. Works fine in the CLI.

Well, at least we'd be able to find a place to stick the uncheckedNull…

Stef, by the way, you left your System.outs in the code you pushed ;-)

Well, at least we'd be able to find a place to stick the uncheckedNull…

Right, that's the idea.

I removed it after ;)

Well, I'll try that tomorrow, see where it leads.

OK.

OK that's pretty easy to create a Functional argument but still the typechecker does not check uncheckedNull to allow functions that take/return null.

OK that's pretty easy to create a Functional argument but still the typechecker does not check uncheckedNull to allow functions that take/return null.

Yes, that's what I was trying to say above. But perhaps it's not too hard to fix. I have to try.

Well I found how to make the typechecker accept it, it looks like, but the code we generate on the backend doesn't handle it properly. I'll have to fix that.

This appears to work. Let's see if I can make the IDEs compile with the changes I did.

OK, the two IDEs compile, but I haven't tested them. Can you review my code please @bjansen and @davidfestal and @gavinking and @jvasileff can you test?
I feel like it's about time I've closed this issue.

The IntelliJ part LGTM.

Ok... you asked. https://github.com/ceylon/ceylon/issues/6634

This now appears broken on Java 9, at least when running Eclipse:
Error while loading the java.base/9 module:
Failure to turn functional interface to Callable type:
Function get() not found in the binding of class java.util.function.Supplier


fix: openai errors are correctly proxied

OpenAI errors received from the upstream are wrapped into a dictionary with detail field instead of being proxied as
is.
It happens because the OpenAI error are wrapped into fastapi.HTTPException, which has necessary this detail field.
The solution was to migrate the error to a more permitting fastapi.JSONResponse.
Along the way, the adapter was migrated to HTTPException from the DIAL SDK.
Error before
{
  "detail": "{\"error\":{\"message\":\"Invalid value: 'users'. Supported values are: 'system', 'assistant', 'user', 'function', and 'tool'.\",\"type\":\"invalid_request_error\",\"param\":\"messages[0].role\",\"code\":\"invalid_value\"}}"
}

Error after
{
  "error": {
    "message": "Invalid value: 'users'. Supported values are: 'system', 'assistant', 'user', 'function', and 'tool'.",
    "type": "invalid_request_error",
    "param": "messages[0].role",
    "code": "invalid_value"
  }
}

Review discussions
Q: Before this PR you returned END_CHUNK only in case there is no error. Now it's returned even after exception handling. Is this intentional?
A: we always return CHUNK_CHUNK in DIAL SDK, so I reasoned that we should follow the same logic everywhere
Q: If it's intentional, why you didn't use else/finally there?
A: I don't think we need to use finally here. Imagine SystemExit, CancelError or KeyboarInterrupt exception is thrown (none of which is Exception), the error handler won't catch it, but we will send END_CHUNK. This is strange. I would rather interrupt the response abruptly than make a false impression that everything is ok.


bugfix: support IPv6 with zone-index

Wrong repo, wanted: https://github.com/EventSource/eventsource/pull/301


Cannot use decrypted custom files

No bots with latest launcher

I noticed the decrypted custom files doesn't work correctly now.
In previous release was able to change bot profile and everything worked just fine, but now after changing or replacing this file - bot can't join the game.
Edit: by default everything works fine.

Using decrypted files in custom works fine for me
Is there any example bot profile that I can test with?

Any file in custom folder not working.
Game crash or missing images/translation.
But everything works fine with launcher version 0.2.2

I can't access the language folder in Korean I don't want to change how?

Everyone who expects crashes since 0.3.3 and have localization: move localization file from "custom" folder to "Data\cstrike\resource".

you can now use unpacked files with version 0.6.0


Error occured when checking captcha result : ERROR_PROXY_CONNECT_REFUSED, Could not connect to proxy related to the task, connection refused

The proxy i did set up does work, but the new function seems not to work.
export http_proxy=http://<IP_ADDRESS>:3128
pi@fhempi:~ $ wget http://releases.ubuntu.com/20.04/ubuntu-20.04.1-desktop-amd64.iso
--2021-01-16 17:25:47--  http://releases.ubuntu.com/20.04/ubuntu-20.04.1-desktop-amd64.iso
Connecting to <IP_ADDRESS>:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length:<PHONE_NUMBER> (2.6G) [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.1-desktop-amd64.iso.1’
ubuntu-20.04.1-desktop-amd64.iso   1%[                                                          ]  36.33M  5.39MB/s    eta 8m 9s
How can i check what's going wrong? Can offer Teams, Zoom ....
Cheers
Christian

Your proxy IP looks like a private IP , you need to give your public ip

Your proxy IP looks like a private IP , you need to give your public ip

Don't get me wrong here, but that was not very obvious so far.

Don't get me wrong here, but that was not very obvious so far.


New data_viz section and adding more about gifs for contributors

Making new section about data viz  with esquisse.

I'll take a look at this thanks!!

We will need to re-render the Syllabus files after we merge in the cheatsheet PR


Yandex: return float lat/lng instead of string

The latitude and longitude from Yandex geocoding result are string,
while I expected to get float numbers (like google geocoding result).

@nchaulet can you please give a look?

we are facing the same problem, @nchaulet  can you please accept the  raised pr?
thanks in advance.

Hi i am just coming back from vacation I will take a look to that tomorrow
morning (EST)
Nicolas Chaulet (Développeur Web)
Contact :
tél : +1<PHONE_NUMBER>
mail<EMAIL_ADDRESS>twitter : @n_chaulet <https://twitter.com/n_chaulet>

Fixed in 3.20.1 thanks for the PR and sorry for the long delay

@nchaulet thank you!


Complex timelines will drop frames

On complex timelines (>30mins) frames will be dropped during playback when the Metaburner title is applied. Should I also file this feedback to Apple?!

Are there any errors in the log files?
Metaburner now caches all the processed data and only loads the FCPXML data if you have a Lua text layer enabled, so after the first frame, the plugin should just be reading from its own memory, so there shouldn't be any issue reading the data.
What happens if you disable everything EXCEPT the Metaburner title? Does it still drop frames?

Will test tomorrow and report back!

I did a couple of tests and enabled the "Stop playback when frames are dropped" warning:

disable all roles except the metaburner title - will drop frames and FCP will throw out the warning message
disable all clips in the timeline except the metaburner title - will drop frames...
disable the Metaburner title - no frames will be dropped

There were no crash logs in the DiagnosticsReport folder.
Metaburner Renderer - 1.0.4 (32).log.zip

There doesn't seem to be any errors in that log file related to rendering.
Even though we're caching the processed data and the FCPXML data on the FxPlug side, maybe internally Final Cut Pro is still trying to read all the data, even if it's not using it.
One thing we can try is to disable saving the FCPXML data to the Effect.
Just to confirm though... everything works fine and plays back fine with smaller timelines, it's just these larger ones that fail?
What happens if you take this complex timeline, duplicate it, and delete all the audio? Does it still drop frames?

Yes, smaller/shorter timelines work fine without dropping frames.
Duplicating, detaching audio and deleting it will still drop frames.

Just to confirm... are you adding the Metaburner Title AFTER you've deleted all the audio?

Yes, I've added and loaded the project data after I've deleted the audio. Just replicated the test again.
It starts to playback fine, but after a couple of seconds it will start dropping frames. This also happens when the media is offline as I've detached the external drive.

Curious does it play back ok BEFORE loading a FCPXML? For example, when you see this screen?

Yes, it plays back fine without a loaded project.

It has something to do with the Motion Template, but I'm not sure what yet.
Creating a new Motion Template with no published parameters works fine.

This will be fixed in the next beta.
Apparently FCPX really didn't like me saving MB's of data as a FxPlug Parameter.


AirVisual unable to retrieve data at this location

Home Assistant release (hass --version):
0.55.1
Python release (python3 --version):
3.4.2
Component/platform:
AirVisual
Description of problem:
After starting Home Assistant for a short while the AirVisual sensors starts to error (all is OK on boot). All sensors begin returning unknown states. I noticed the issue began with 0.55.0.
At first I thought it might be an issue with their API, but it seems odd that it works for a short time.
Error log:
2017-10-17 15:51:18 ERROR (MainThread) [homeassistant.components.sensor.airvisual] Unable to retrieve data on this location: {'pollution_info': {'maincn': 'o3', 'aqicn': 13, 'ts': '2017-10-17T11:00:00.000Z', 'mainus': 'o3', 'aqius': 17}, 'state': 'West Sussex', 'latitude': [blanked], 'longitude': [blanked], 'city': 'Lodsworth', '_client': <pyairvisual.client.Client object at 0x6c812030>, 'country': 'United Kingdom', '_throttle': {1842766864: [<_thread.lock object at 0x6c84a968>, datetime.datetime(2017, 10, 17, 14, 40, 58, 195423, tzinfo=<UTC>)]}, '_radius': 500}
Expected:
AirQuality should report the correct values for my location.
Problem-relevant configuration.yaml entries and steps to reproduce:

platform: airvisual
api_key: !secret airvisual_key
monitored_conditions:
  - us
radius: 500

Your configuration doesn't mention whether you're using latitude/longitude or city/state/country. I assume that since you've blanked them, you're using latitude/longitude?
Without knowing anything further, I'm guessing that you're inputting a latitude/longitude that AirVisual can't consistently resolve for some reason (I've experienced this at times with their API).
If you're willing to input the location information directly, I just tried this config and it worked as expected – give it a shot:
sensor:
  - platform: airvisual
    api_key: !secret airvisual_key
    monitored_conditions:
      - us
    show_on_map: false
    city: lodsworth
    state: west-sussex
    country: uk

Thanks for the quick suggestion. My long and lat are currently set elsewhere as mentioned in the docs:

if excluded, the longitude/latitude defined under the homeassistant key in configuration.yaml will be used

I will add a location as you have suggested and will report back if it does the trick.

Thanks, @scottsweb. Even if it does work, it would still be interesting to debug why your coordinates aren't working. I'm available in the forums, so feel free to shoot me a DM!

Looks like switching the location style has not helped:

It works for maybe 5-10 minutes. Will DM my lat/long.

@scottsweb: Got it; will be on the lookout for your DM!


process hacker wont stay open

everytime i open my pc i can open process hackerr but not for longer than 20 seconds or when i try and play a game it not in that arrow thing with other apps in the cornor but it doesnt reopen after i open within 20 seconds of my pc being on

Autorun entries have a 20 second delay. You probably have some malware or bitcoin miner starting from autorun and terminating the process so rename the executable and run antivirus checks,


Unified ds post

@delisma Do you know why preview doesn't seem to show my post? Did I do something wrong?

Can you change the title of the PR to Create 2024-06-06-unified-design-system posts? Makes it easier to scan, when we look through the PR history.

@delisma changes made as requested, ready to merge now?

@delisma changes made as requested, ready to merge now?

One last question. Do you want the publish date to be today or yesterday is fine?

@delisma I think it's fine to be yesterday

@delisma I did change it already? is that the wrong place?

@delisma I did change it already? is that the wrong place?

Yes! It misses the action Create and we should use yesterday's date

Never mind I was able to change it


Getting 400- bad request while using ogg format in rest API

I am using the microsoft azure Speech to text REST API.
According to the docs, ogg and wav formats are supported in REST API. But, after uploading audio file of OGG format always getting 400- Bad request.
I am using following code to prepare request:
String url= "https://westus.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=simple";
  private HttpURLConnection connect() throws MalformedURLException, IOException {
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setDoInput(true);
    connection.setDoOutput(true);
    connection.setRequestMethod("POST");

//	    connection.setRequestProperty("Content-type", "audio/wav; codecs="audio/pcm"; samplerate=16000");
connection.setRequestProperty("Content-type", "audio/ogg; codecs="opus"");
connection.setRequestProperty("Accept", "application/json;text/xml");
connection.setRequestProperty("Ocp-Apim-Subscription-Key", subscriptionKey);
connection.setRequestProperty("Transfer-Encoding", "chunked");
connection.setRequestProperty("Expect", "100-continue");
connection.setChunkedStreamingMode(0); // 0 == default chunk size
connection.connect();
    return connection;
  }

For uploading using this method:
private HttpURLConnection upload(InputStream is, HttpURLConnection connection) throws IOException {
try (OutputStream output = connection.getOutputStream()) {
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) != -1) {
output.write(buffer, 0, length);
}
output.flush();
}
return connection;
}
This is working fine for WAV format.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 11673bc9-9062-278d-c5b8-84b05f2b81be
Version Independent ID: 29347a63-de63-4ff0-5a62-149ab31d1b7e
Content: Speech-to-text API reference (REST) - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/rest-speech-to-text.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @erhopf
Microsoft Alias: erhopf

@imshreya Thank you for the feedback. We will review and update accordingly.

@imshreya Could you try to use 'codecs=audio/opus' and check if it works? Also ensure the sample rate of your audio file is 16kHz.

I tried with 'codecs=audio/opus' and used following file in request:
file.zip
Still getting Bad request error.
How can i verify that the sample rate is 16KHz?

You can check the properties of your file. In this case it looks like it is 48kHz.

It would be great if you provide a audio file having 16KHz or a link from where i can download. Because all the ogg files I found have either 44KHz or 48KHz sample rate.

@imshreya This forum is primarily for supporting any official documentation issues in this repo. Currently we do not host sample files as part of documentation to share, you can try to convert your audio file to required format using any online audio converters and try the same.
We will go ahead and close this issue as it is not related to document. For any issues related to speech services you can raise a support request from Help + Support blade on Azure portal.

@RohitMungi-MSFT I have tried using ogg file having 16khz sample rate, still not working.

@RohitMungi-MSFT  Can you please tell me whether I am sending wrong request or the API does not support OGG format?
Does anyone else get the same issue before while using the Speech to text REST API?

@imshreya OGG format is supported from the rest API, Users on this platform do not have access to lookup details of a particular request or requests submitted to speech services for errors. You can raise a support request from Azure portal against your resource so a service engineer can lookup your request details and recommend corrections.


⚠ Bofrost.at has degraded performance

In 4a029d9, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1789 ms

Resolved: Bofrost.at performance has improved in 7ca70be after 6 minutes.


Show/Hide Attributes/Initializers per node

I came across a case where I need to display the attributes of some specific components (e.g. an Activation Node), but want to hide them for all other nodes, as this would be too much information and thus confusing. As far as I have seen, there is only the option to turn the view on and off for all nodes at the same time.
It would be nice to have a checkbox in the properties window of each node to enable showing (respectively hiding) attributes (or also initializers) for this single node.

Can you provide more specifics? Why is this needed for Activation nodes? What is the problem and are there other potential solutions? Is there an example how checkboxes in the properties window would work? For example, is this a common feature supported by other tools that is already known to most users? Can this be done in a way that is intuitive to most users or would it lead to a different kind of confusion?

The Activation example was only meant as an example. In general, my thought was that it could be helpful for visualization purposes (e.g. in a presentation or scientific paper) if you could show only the details of individual nodes. Especially if you want to focus the presentation on a certain area of the network, you could show the details for that (e.g. at .h5, for an activation node, because it is interesting here which activation function is used), but for the rest of the network you could hide the details, because they might be confusing for the audience.
I do not know if other tools already provide this functionality, I have only worked with netron so far.
The checkbox in the properties window was also just a spontaneous thought, since this window already presents details about the individual node. Therefore I thought it would be suitable to directly edit visual properties of the node (that's also the first place where I looked for such a feature). An alternative could be a right-click context menu on the node itself.
I don't think that this feature would lead to much confusion among users, but of course I can't speak for everyone. I personally would find this feature helpful, and that's why I wanted to suggest it here and put it up for discussion.

Some formats handle activation by having different operators for each function. For example, ONNX will show Relu instead of Activation as the node type. Are there other examples where this would be needed or is this specific to how some formats store Activation, Binary or Unary operators which could be handled differently?

I guess it could be helpful for any kind of node - completely depending on what to put the focus on when using it for visualization. I'm thinking of large nets, where you want to show the specific configuration of a certain part, but not of the rest.
I think that it's always helpful to be able to customize a visualization as precisely as possible and tailor it to your specific needs.
But of course, I see your point that it might get too confusing.


Proxy contracts Tests fixes

There is some overlap with changes made in https://github.com/Snowfork/snowbridge/pull/890. But this PR renamed tests and fixes for the XcmConverter tests.

@alistair-singh
I've merged this PR and my previous #890 together into branch proxy-contracts. So could you help to double-check proxy-contracts if anything missing or wrong.


Multisite - streams from setup.php ignored

Grav version: 1.1.1
Following the instructions on multisite setup, Grav does not use the stream returned from setup.php.
Steps to reproduce:

Create a working single Grav site normally.
Under "user", create a directory named "www"
Copy contents of "user" to "user/www"
Create setup.php as per directions, with contents:

Note: paths hard-coded in this example, for simplicity.
<?php

use Grav\Common\Utils;

$environment = isset($_SERVER['HTTP_HOST'])
    ? $_SERVER['HTTP_HOST']
    : (isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'localhost');

$environment = strtolower(Utils::substrToString($environment, ':'));

return [
    'environment' => $environment,
    'streams' => [
        'schemes' => [
            'user' => [
                'type' => 'ReadOnlyStream',
                'prefixes' => [
                    '' => ['user/www'],
                ]
            ]
        ]
    ]
];

Clear cache and run. Result: Grav displays the "Issues Found" page, with the issues being that it cannot find the following directories:

user/data
user/pages
user/config
user/plugins/error
user/plugins
ser/themes

Workarounds attempted:

Try defining all the streams, e.g.

return [
    'user' => [
        'type' => 'ReadOnlyStream',
        'paths' => [
            '' => ['user/www'],
        ]
    ],
    'config' => [
        'type' => 'ReadOnlyStream',
        'prefixes' => [
            '' => ['user://config'],
        ]
    ],
// snipped for brevity

Result: Grav displays "Theme 'antimatter' does not exist, unable to display page." and Grav generates a file: user/config/security.yaml.

Explicitly defining the paths in streams return from setup.php, i.e.

return [
    'environment' => $environment,
    'streams' => [
        'schemes' => [
            'user' => [
                'type' => 'ReadOnlyStream',
                'paths' => [
                    'user/www',
                ]
            ],
            'config' => [
                'type' => 'ReadOnlyStream',
                'paths' => [
                    'user/www/config',
                ]
            ],
// snipped for brevity

Result: Grav throws an exception, stack trace:
8 Whoops\Exception\ErrorException
…\system\src\Grav\Common\Uri.php330
7 implode
…\system\src\Grav\Common\Uri.php330
6 Grav\Common\Uri init
…\system\src\Grav\Common\Processors\InitializeProcessor.php35
5 Grav\Common\Processors\InitializeProcessor process
…\system\src\Grav\Common\Grav.php121
4 Grav\Common\Grav Grav\Common\{closure}
…\system\src\Grav\Common\Grav.php383
3 Grav\Common\Grav Grav\Common\{closure}
…\system\src\Grav\Common\Grav.php359
2 call_user_func_array
…\system\src\Grav\Common\Grav.php359
1 Grav\Common\Grav __call
…\system\src\Grav\Common\Grav.php122
0 Grav\Common\Grav process
…\index.php45

Doing some debugging, it appears that when Grav/Common/Uri, init() function is called, the second line$config = $grav['config'] does not return anything (I say 'appears' because my expertise is not with PHP, so maybe I'm missing something).

I have almost the same scenario now:

( I'm using a shared hosting service (namecheap) where I can have several websites from one hosting account (called Addon-Domains). At the same time they also have to be assigned to a subdomain )
I´ve read the tutorial for multiside-setup for subdomains. But what I need is just is to parse the complete website name and based on that a different /user folder will be used by grav
so what I want for the users-folder
-- www.website1.com ->[...]/users/sites/website1
-- www.website2.com ->[...]/users/sites/website2

My setup.php file

<?php
/**
 * Multisite setup for subsites accessible via sub-domains.
 */

use Grav\Common\Utils;

// Get domain name
$environment = str_replace("www.", "", $_SERVER['HTTP_HOST']);

#for com-domains
$environment = str_replace(".com", "", $environment );

// Remove port from HTTP_HOST generated $environment
$environment = strtolower(Utils::substrToString($environment, ':'));
$folder = "sites/{$environment}";

# (this is already working!) when browsing e.g. www.website1.com this prints: user/sites/website1/plugins
echo "user/{$folder}/plugins";

return [
        'environment' => $environment,
        'streams' => [
                'schemes' => [
                        'user' => [
                                'type' => 'ReadOnlyStream',
                                'prefixes' => [
                                        '' => ["user/{$folder}"],
                                ]
                        ]
                ]
        ]
];

My file system
ROOT
	TEST
		grav-admin
			index.php
			system
			user
				sites
					website1
						accounts
						config
						data
						pages
						plugins
						themes
					website2
						accounts
						config
						data
						pages
						plugins
						themes

			setup.php
			[...]

The error messaging I'm getting in the browser when browing www.website1.com

Issues Found
Please Review and Resolve before continuing...

Reload Page

    /ROOT/TEST/grav-admin/user/data does not exist

    /ROOT/TEST/grav-admin/user/pages does not exist

    /ROOT/TEST/grav-admin/user/plugins/error does not exist

    /ROOT/TEST/grav-admin/user/plugins does not exist

    /ROOT/TEST/grav-admin/user/themes does not exist

Notes

when I'm browsing the website an empty config folder is created in user/sites/
question: so what I really do not understand is why the präfix for user-stream is not changed

Hi @biocarl, the "base site" must still exist in the user/ folder. From your filesystem structure, it seems you moved everything under user/sites. Keep all those folders also in user/.  That should do it.

@flaviocopes This is important information which must be in documentation page, I spend one hour checking what's wrong.
Thanks

Closing to due to inactivity


Replaced the model overrides with decorators

I moved the paperclip settings, which as far as I could tell were the only changes from the core models into decorators, and got rid of the complete model overrides. This should make the code easier to maintain and upgrade. Hopefully I didn't miss anything else.
Tested with Spree 1.0 on Heroku cedar.

Sorry, but I'm confused. Is this not a pull request to your fork?

I need to close this anyway, it isn't quite working for me yet. Sorry again.


Update about-self-hosted-runners.md

Why:
https://github.com/github/docs-content/issues/3188
What's being changed:
codeload.github.com is being added to the DNS entries that need to be open for self-hosted runners to work. Several actions, when downloaded to the runner, need to load content from codeload.
Check off the following:

[x] All of the tests are passing.
[x] I have reviewed my changes in staging.
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

https://github.com/github/docs/pull/930/files

.

Thanks for opening a PR @pholleran! I'll get this triaged for review.

希望


image

Fractal geometry and Fibonacci sequence in nature | Fractals… | Flickr
https://www.flickr.com/photos/peterthoeny/52291658019
small

medium

large

xlarge

migrate to wiki https://github.com/kibitan/fractal/wiki/Images


[2019.1.7f1] InitializeIfNeeded: Object reference not set to an instance of an object

Hi ! I tried using your asset, but got the following error when i expand the AnimatorEvent component.
NullReferenceException: Object reference not set to an instance of an object
AnimatorEventEditor.InitializeIfNeeded () (at Assets/Plugins/UnityAnimatorEvents-master/StateMachineBehaviours/Editor/AnimatorEventEditor.cs:13)
AnimatorEventEditor.OnInspectorGUI () (at Assets/Plugins/UnityAnimatorEvents-master/StateMachineBehaviours/Editor/AnimatorEventEditor.cs:35)
UnityEditor.UIElements.InspectorElement+<CreateIMGUIInspectorFromEditor>c__AnonStorey1.<>m__0 () (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorElement.cs:462)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

I think I found the problem. The array accessed in that line isn't initialized by the code because I expected Unity to initialize it. It doesn't because I'm using a custom inspector, so it ends up trying to get the length of an array that is null. It should be fixed in the commit b1fc792, can you see if it did the trick?

Yes it fixes the error :)


Question: How to share code between functions?

I couldn't find an answer to a rather obvious newbie question. So I thought it's worthwhile posting.
I have two nodejs functions in separate folders. How would I share utility functions between those?

I'm not sure what language you're using, I'm guessing it is Node.
There's a number of ways to go about doing this and it really depends on what you are trying to accomplish. As pointed out here you could create a module or event just reference another file.
For example:
lib/index.js
const utilities = require('./utilities');
module.exports = {
  someFunction: () => {
    return utilities.doSomeUtility();
  }
}

lib/utilities.js
module.exports = {
  doSomeUtility: () => {
    // do something
  }
};

Thanks for the answer but my problem is the following:
Let's say the lib/ lives under function/. Is it possible to refer to  lib/utilities.js from a different function? e.g. if I have function/foo/index.js could I do something like:
const utilities = require('../lib/utilities');
module.exports = {
  someFunction: () => {
    return utilities.doSomeUtility();
  }
}

Yeah, give it a try and you'll see that it is indeed possible.

For now I have symlinked a folder with the utilities into the two functions folder. Seems to work. But would be interested if that is the canonical apex way. ;-)

npm linking them might be a tiny bit nicer, it's definitely a bit awkward for scripted languages

I have the same question, but for python.
Any ideas?

I actually solved by adding this to my hook:
"build": "pip install -r requirements.txt -t .; cp -a ../../libs/ ."


[Candidate 1v1 Arab Tragedy ZHv2] Shadow color has unnatural magenta tint

Issue Description
Shadow color has unnatural magenta tint.
Expected behavior
Shadow color looks natural.
Screenshots

Fixed with https://github.com/xezon/GeneralsRankedMaps/commit/fec5c24c70a72c32dc61aedda0db98749da52b59


Determine php fpm process status

Proposed changes
This change determines status of php-fpm (this would be included as part of php-fpm health check).
Testing
Tested via unit/Shell command
Checklist
Before creating a PR, run through this checklist and mark each as complete.

[X] I have read the CONTRIBUTING document
[X] I have run make install-tools and have attached any dependency changes to this pull request
[X] If applicable, I have added tests that prove my fix is effective or that my feature works
[X] If applicable, I have checked that any relevant tests pass after adding my changes
[ ] If applicable, I have updated any relevant documentation (README.md)
[ ] If applicable, I have tested my cross-platform changes on Ubuntu 22, Redhat 8, SUSE 15 and FreeBSD 13

Codecov Report
Patch coverage: 72.97% and project coverage change: -0.20% :warning:

Comparison is base (7c1ada3) 67.19% compared to head (df53dd9) 66.99%.
Report is 4 commits behind head on main.

: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             @@
##             main     #454      +/-   ##
==========================================
- Coverage   67.19%   66.99%   -0.20%
==========================================
  Files         113      114       +1
  Lines       12849    12966     +117
==========================================
+ Hits         8634     8687      +53
- Misses       3647     3708      +61
- Partials      568      571       +3

Files Changed
Coverage Δ

src/core/environment.go
52.03% <ø> (+0.07%)
:arrow_up:

...or/github.com/nginx/agent/sdk/v2/config_helpers.go
64.19% <50.00%> (+0.18%)
:arrow_up:

...rc/extensions/php-fpm-metrics/pkg/phpfpm/status.go
74.28% <74.28%> (ø)

... and 9 files with indirect coverage changes

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

Closing this as this is ported to https://github.com/nginx/agent/pull/460


Feat(Schema test) : Added circleci test for home page and one story text page

closing this as it integrated with node seo.


flake: remove easyOverlay

Work around issues caused by https://github.com/NixOS/nixpkgs/pull/269551

This still needs some work, but I wanted feedback on the direction. Is it ok to remove support for overlays?

I prefer #443