cChoco reports compliant state however package failed to install correctly

Describe the bug
When deploying a failing self-created package from an internal source (package ends up in lib-bad folder) cChoco reports a compliant state rather than a failed state.
To Reproduce
Steps to reproduce the behavior:
cChocoPackageInstaller my-custom-package{
  Name = 'my-custom-package'
  Ensure = 'present'
  Version = 'my.custom.version'
  Autoupgrade = $false
  chocoParams = '--params="mycustomparams"'
  Source = $myInternalRepository
  DependsOn = '[Script]SomeScript',' [cChocoPackageInstaller]SomeOtherPackage'
}

Expected behavior
A failed installation should lead to an incompliant state warning/error.
Software (please complete the following information):

OS: Windows Server 2019 1809 17763.1217
PowerShell Version: 5.1.17763.1007
cChoco <IP_ADDRESS>

When you install the package with Chocolatey does the package show as installed? Can you provide an example (I note it's an internal package but you may be able to share some code that I can test)?

When I check with choco list --local-only the failed package does not show in the list of installed local packages. When I run choco info  the command returns '0 packages found'. As far as I know this behavior is the same for any failing package. After download and attempted installation it is moved to /lib-bad and remains there.

Can you provide an example (I note it's an internal package but you may be able to share some code that I can test)?
So if you install it with cChoco (whcih you say confirms it was installed) and then run the choco list --local-only does it show up in the list?
Can you also give me the exit code that Chocolatey exits with when you try to install the package from the command line (or preferably the logs in a gist)?

We have resolved the issue with our package so the package which originally caused me to discover this issue is no longer causing this. However any package that fails seems to be causing this behavior so you could create any package where the chocolateyinstall.ps1 throws an error.

No it does not.

The exit code from the logging would be -1

Replaying the situation on my local machine does not yield the expected result. I will try to find time soon to recreate the issue on a virtual machine with non-propitiatory packages so I can provide you with better information.

I ran into the issue again, however this time because i tried to install a version that doesn't exist on the private repository. I captured the output of the Set- and Test-TargetResource for the cchocopackageinstall.psm1:
PS C:\windowssystem32> Set-TargetResource -Name <privatename> -Source <privatesource> -Version <IP_ADDRESS>1 -Verbose VERBOSE Start Set-TargetResource VERBOSE Test-ChocoInstalled VERBOSE EnvPath contains C:\Program Files\AdoptOpenJDKjre-<IP_ADDRESS>-hotspot\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPo werShellv1.0;C:\windows\System32\OpenSSH;cchocobin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC170\Tools\Binn VERBOSE Test-Command choco VERBOSE choco exists VERBOSE YES - Choco is Installed VERBOSE Start IsPackageInstalled <privatename> VERBOSE EnvPath contains C:\Program Files\AdoptOpenJDKjre-<IP_ADDRESS>-hotspot\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPo werShellv1.0;C:\windows\System32\OpenSSH;cchocobin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC170\Tools\Binn VERBOSE Finding packages -eq <privatename> VERBOSE Found 0 matching packages VERBOSE Performing the operation Install package from Chocolatey on target <privatename>. VERBOSE Install command 'choco install <privatename> -y --version=<IP_ADDRESS>1 --source=<privatesource> --no-progress' VERBOSE Package output Chocolatey v0.10.15 Business Installing the following packages <privatename> By installing you accept licenses for the packages. <privatename>  not installed. The package was not found with the source(s) listed.  Source(s) '<privaterepo-uri>'  NOTE  When you specify explicit sources, it overrides default sources. If the package version is a prerelease and you didn't specify --pre,  the package may not be found. Ver sion was specified as '<IP_ADDRESS>1'. It is possible that version   does not exist for '<privatename>' at the source specified. Please see https://chocolatey.org/docs/tro ubleshooting for more   assistance.  Chocolatey installed 01 packages. 1 packages failed.  See the log for details (cchocologschocolatey.log).  Failures  - <privatename> - <privatename> not installed. The package was not found with the source(s) listed.  Source(s) '<privaterepo-uri>'  NOTE When you specify explicit sources, it overrides default sources. If the package version is a prerelease and you didn't specify --pre`,  the packag
e may not be found. Version was specified as '<IP_ADDRESS>1'. It is possible that version   does not exist for '' at the source specified. Please see https://
chocolatey.org/docs/troubleshooting for more   assistance.
True
PS C:\windowssystem32> test-TargetResource -Name  -Source  -Version <IP_ADDRESS>1 -Verbose
VERBOSE Start Test-TargetResource
VERBOSE Test-ChocoInstalled
VERBOSE EnvPath contains C:\Program Files\AdoptOpenJDKjre-<IP_ADDRESS>-hotspot\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPo
werShellv1.0;C:\windows\System32\OpenSSH;cchocobin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC170\Tools\Binn
VERBOSE Test-Command choco
VERBOSE choco exists
VERBOSE YES - Choco is Installed
VERBOSE Start IsPackageInstalled
VERBOSE EnvPath contains C:\Program Files\AdoptOpenJDKjre-<IP_ADDRESS>-hotspot\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPo
werShellv1.0;C:\windows\System32\OpenSSH;cchocobin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC170\Tools\Binn
VERBOSE Finding packages -eq
VERBOSE Found 0 matching packages
VERBOSE Checking if  is installed and if version matches <IP_ADDRESS>1
VERBOSE Start IsPackageInstalled
VERBOSE EnvPath contains C:\Program Files\AdoptOpenJDKjre-<IP_ADDRESS>-hotspot\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPo
werShellv1.0;C:\windows\System32\OpenSSH;cchocobin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC170\Tools\Binn
VERBOSE Comparing version
VERBOSE Found 0 matching packages
False
PS C:\windowssystem32>     Get-ChocoInstalledPackage -Purge
True`

I've just looked at the behavior of Chocolatey: if you perform a choco list --local-only whilst the installation is running (before failure), it will show the package as 'installed'. Is it possible the module will perform a check at that point and mark it as installed?

I have also hit this issue and it is very serious for my company as we need to sequence installation of packages for a successful server build.
@pauby This issue is marked as still waiting on customer. Below I have provided an example of the community package corretto11jdk, in the ChocoParams I have set the install path to a drive (X:) that doesn't exist on my test server. This caused the installation to fail but the not the DSC. I have also attached the relevant section of the Chocolatey Client log from my test server which includes the exit codes as you requested. Are these examples enough for this issue to move out of "Waiting on customer"?
cChocoPackageInstaller corretto11jdkPackage {
      Name = 'corretto11jdk'
      Version = '<IP_ADDRESS>'
      ChocoParams = '--install-directory="X:\Java\x64\" --install-arguments="INSTALLDIR="X:\Java\x64\" ADDLOCAL=FeatureMain,FeatureSetupEnv,FeatureSetupRegistry,FeatureSetupEnvVars"'
      Ensure = 'Present'
      # Ensure = 'Absent'
      DependsOn = '[AEMOChocolateyConfiguration]chocolateyConfiguration'
}

Chocolatey.log

I think I've found the issue here. Working on a PR and it should be in the next release.

@timothy-mcroy-cengage The fix in this repository hasn't been released yet. Are you saying the fix that was merged into develop doesn't fix it? It looks the same as MattJeanes commit.


Unification of locking mechanisms in summarization code

This is second part of #7274 - Unify single-summary locking and advancement of summaryGenTag property in logging.
There exists two locking mechanisms ensuring that we do not have concurrent summaries on same client - one implemented by RunningSummarizer, one implemented by SummaryGenerator.
There is really no need for that - we can leverage single locking mechanism.
This also opens possibilities for future code simplification, including (if we find it useful) to merge these two classes into single one.
This becomes more and more reasonable path forward as RunningSummarizer has more control (see for example unrelated changes in https://github.com/microsoft/FluidFramework/pull/7290)

Ping. Would love to merge and close last August item on my plate :)

The changes look good to me. However, do we have a way of knowing if there are concurrent summaries happening? Basically, if this change causes a regression, how would be catch it?

The changes look good to me. However, do we have a way of knowing if there are concurrent summaries happening? Basically, if this change causes a regression, how would we catch it?

I'll add telemetry error event. It's less about regression (as today nobody uses on-demand and enqueues summaries). More about future changes running into it and having unpredictable perf characteristics, without knowing about it.

/azp run Build - client packages


Future optimizations

This thread is a good discussion about how to start optimizing: https://www.reddit.com/r/rust/comments/5efjl6/how_to_speed_up_the_rust_compiler_some_more/dacaug7/
I plan on doing this after the v0.1.0 release.

https://www.mnot.net/blog/2011/07/11/what_proxies_must_do

https://news.ycombinator.com/item?id=14181031


Switch to package refs for webtools json references

Shouldn't be using checked in binaries, and will allow us to potentially change the referenced APIs easier.

Getting a build error on the ci as the 2.4.35 MessagePack package isn't found. It doesn't look like vs-impl (or any of the other feeds consumed by this repo) publish it?

@mmitche how can we update these dependencies on the dotnet-public feed as configured by #615?

@ToddGrun is added to the review. #Closed


Tag + text wrapping option request

First a thank you.
I switched to markup_fmt and dprint because I dislike the way Prettier formats void tags, and I've been really enjoying the experience, so thank you very much for making this.
Now the question.
markup_fmt wraps space-sensitive tags with long properties + short text content differently to how it wraps them with short properties + long text:
short text

but a long piece of
  text that wraps

I find this a little confusing to read.
Would it be possible to implement an option that's closer to (what I believe is) Prettier's behaviour?
short text

but a long piece of text that wraps

or a compromise between the two?
short text

but a long piece of text that wraps

because I dislike the way Prettier formats void tags

Me too, so I made this.

Personally I prefer the second one, but it may conflict with the closingBracketSameLine option.

If by the second one you mean the compromise, I agree.
It probably would conflict, so perhaps it could only be activated when closingBracketSameLine is false, since presumably users with it set to true wouldn't want the proposed changes anyway.

retains the current default behaviour

uses proposed behaviour

retains the current
  default behaviour

retains
  the current default behaviour

Yes, we're on the same idea.


Move Baseline into ktlint-baseline module

Description
Currently the Baseline class is in ktlint-cli which doesn't publish an artifact to maven. Moved into a separate published artifact for API consumers.
Checklist

[x] PR description added
[x] CHANGELOG.md is updated

Note to self: change architecture diagram in docs


Placeholder: Improve / add missing information to https://convos.by

[ ] Add https://convos.by/doc/faq.html

Include note about nohup script/convos daemon &

Yeah good idea that's helped me out keeping process alive at all time :), and should be as a faq to users that don't know how to do it.

Closed by e096af1.
Will re-open if there are other things that should be done.


Group 5.  Extra test suites commented out.

…2 extra test to hit 100% coverage.

Overall I think you have a done a very good job and written some functional readable code


[swift] Dump more AST validation info to logs

Log more information about an unusable AST when we encounter one.
Depends on https://github.com/apple/swift/pull/19352.
rdar://44201206

Happy to see this in when the compilers bits are fleshed out.

apple/swift#19352
@swift-ci test

apple/swift#19352
@swift-ci test

apple/swift#19352
@swift-ci test

@vedantk I reverted this because it broke the MacOS bots.
Relevant bits.
00:22:54
******************** TEST 'lldb :: Swift/DiagnoseModuleLoadFailure.test' FAILED ********************
00:22:54 Script:
00:22:54 --
00:22:54 : 'RUN: at line 4';   /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/Ninja-ReleaseAssert+stdlib-Release/lldb-macosx-x86_64/bin/lldb -S /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/lit-lldb-init /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/Swift/Inputs/too-old/main -s /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/Swift/DiagnoseModuleLoadFailure.test 2>&1 | tee /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/Ninja-ReleaseAssert+stdlib-Release/lldb-macosx-x86_64/lit/Swift/Output/DiagnoseModuleLoadFailure.test.tmp.log
00:22:54 : 'RUN: at line 5';   /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/Ninja-ReleaseAssert+stdlib-Release/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/Swift/Inputs/too-old/main.swift -input-file /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/Ninja-ReleaseAssert+stdlib-Release/lldb-macosx-x86_64/lit/Swift/Output/DiagnoseModuleLoadFailure.test.tmp.log
00:22:54 --
00:22:54 Exit Code: 1
00:22:54
00:22:54 Command Output (stdout):
00:22:54 --
00:22:54 (lldb) command source -s 0 '/Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/lit-lldb-init'
00:22:54 Executing commands in '/Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/lit-lldb-init'.
00:22:54 (lldb) # LLDB init file for the LIT tests.
00:22:54 (lldb) settings set symbols.enable-external-lookup false
00:22:54 (lldb) target create "/Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/Swift/Inputs/too-old/main"
00:22:54 Current executable set to '/Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/Swift/Inputs/too-old/main' (x86_64).
00:22:54 (lldb) command source -s 0 '/Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/Swift/DiagnoseModuleLoadFailure.test'
00:22:54 Executing commands in '/Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/Swift/DiagnoseModuleLoadFailure.test'.
00:22:54 (lldb) # REQUIRES: darwin
00:22:54 (lldb) # Test the diagnostic for failing to load a module.
00:22:54 (lldb) # RUN: %lldb %S/Inputs/too-old/main -s %s 2>&1 | tee %t.log
00:22:54 (lldb) # RUN: FileCheck %S/Inputs/too-old/main.swift -input-file %t.log
00:22:54 (lldb) br set -f "main.swift" -l 8
00:22:54 Breakpoint 1: where = main`main.main() -> () + 28 at main.swift:8:9, address = 0x000000010000122c
00:22:54 (lldb) run
00:22:54 dyld: Library not loaded: @rpath/libswiftCore.dylib
00:22:54   Referenced from: /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/Swift/Inputs/too-old/main
00:22:54   Reason: image not found
00:22:54 Process 33215 stopped
00:22:54 * thread #1, stop reason = signal SIGABRT
00:22:54     frame #0: 0x000000010003c24a dyld`__abort_with_payload + 10
00:22:54 dyld`__abort_with_payload:
00:22:54 ->  0x10003c24a <+10>: jae    0x10003c254               ; <+20>
00:22:54     0x10003c24c <+12>: movq   %rax, %rdi
00:22:54     0x10003c24f <+15>: jmp    0x10003baa8               ; cerror_nocancel
00:22:54     0x10003c254 <+20>: retq
00:22:54 Target 0: (main) stopped.
00:22:54
00:22:54 Process 33215 launched: '/Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/Swift/Inputs/too-old/main' (x86_64)
00:22:54 (lldb) expr p
00:22:54 error: use of undeclared identifier 'p'
00:22:54
00:22:54 --
00:22:54 Command Output (stderr):
00:22:54 --
00:22:54
/Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/Swift/Inputs/too-old/main.swift:13:11: error: CHECK: expected string not found in input
00:22:54 // CHECK: Error while loading Swift module:
00:22:54           ^
00:22:54 /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/Ninja-ReleaseAssert+stdlib-Release/lldb-macosx-x86_64/lit/Swift/Output/DiagnoseModuleLoadFailure.test.tmp.log:1:1: note: scanning from here
00:22:54 (lldb) command source -s 0 '/Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/lldb/lit/lit-lldb-init'
00:22:54 ^
00:22:54 /Users/buildnode/jenkins/workspace/oss-lldb-incremental-osx-cmake/Ninja-ReleaseAssert+stdlib-Release/lldb-macosx-x86_64/lit/Swift/Output/DiagnoseModuleLoadFailure.test.tmp.log:10:36: note: possible intended match here
00:22:54 (lldb) # Test the diagnostic for failing to load a module.
00:22:54                                    ^
00:22:54
00:22:54 --
00:22:54
00:22:54 ********************
00:22:59 Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
00:34:18 Testing Time: 684.71s
00:34:18 ********************
00:34:18 Failing Tests (1):
00:34:18     lldb :: Swift/DiagnoseModuleLoadFailure.test


DBZ-8117 Correct log file name; add example titles and formatting

DBZ-8117
This change updates instances in logging.adoc that incorrectly refer to the log4j properties file as log4j.properties rather than connect-log4j.properties. In addition, to improve scannability, unique titles are applied to examples, and example formatting is also applied.

@Naros Per my message yesterday, it's not clear to me whether references to the Log4J properties file should also be changed in the container images section. If you can confirm that the same changes apply there, I'll push a new commit to make the additional fixes.

@jpechane Per conversation with @Naros, this should now be ready to go, bc, any references to log4j.properties in the community-only section that come after L329 can remain as-is.

@roldanbob Applied, thanks


Matrix variable not usable in environment

Component
server, agent
Describe the bug
When a variable is defined through a matrix, it's not possible to use it as environment variable.
This following configuration results on error: failed to parse pipeline: Cannot unmarshal '<nil>' of type <nil> into a string value.
matrix:
 FOO:
   - foo1
   - foo2

steps:
 example:
   image: alpine:latest
   environment:
     BAR: ${FOO}
   commands:
     - echo ${FOO}

But this following config works:
matrix:
  FOO:
    - foo1
    - foo2

steps:
  example:
    image: alpine:latest
    commands:
      - echo ${FOO}

System Info
{"source":"https://github.com/woodpecker-ci/woodpecker","version":"next-0cf602a1"}

Additional context
Example: https://ci.gitnet.fr/repos/315
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
[X] Check that this is a concrete bug. For Q&A join our Discord Chat Server or the Matrix room.

This seems to be the same issue as reported in https://github.com/woodpecker-ci/woodpecker/issues/2505#issuecomment-1757672451

matrix:
  FOO:
    - foo1
    - foo2

steps:
  example:
    image: alpine
    environment:
      BAR: ${FOO}
    commands:
      - echo foo=${FOO}
      - printenv

Can't reproduce on a95f1bc6255ea9d5f16f7a754d4d09277e4ceb9c:

Also, it's not necessary to pass matrix variable via environment, as it is available by its name:

Yes it works: https://ci.gitnet.fr/repos/315/pipeline/4
But, using matrix this ways failed:
matrix:
  PHP_VERSION:
    - 8.1
    - 8.2

steps:
  example:
    image: deblan/php:${PHP_VERSION}
    commands:
      - php -v

https://ci.gitnet.fr/repos/315/pipeline/7/config
https://ci.gitnet.fr/repos/315/pipeline/7

matrix:
  PHP_VERSION:
    - 8.1
    - 8.2

steps:
  example:
    image: deblan/php:$PHP_VERSION
    commands:
      - php -v

https://ci.gitnet.fr/repos/315/pipeline/8/config
https://ci.gitnet.fr/repos/315/pipeline/8

The next syntax works but is not practical because I can't reuse PHP_VERSION:
matrix:
  PHP_VERSION:
    - deblan/php:8.1
    - deblan/php:8.2

steps:
  example:
    image: ${PHP_VERSION}
    commands:
      - php -v

Expected:
matrix:
  PHP_VERSION:
    - 8.1
    - 8.2

steps:
  foo:
    image: foo/bar:${PHP_VERSION}
  bar:
    image: foo2/bar2:${PHP_VERSION}

#2002


Tool call doesn't honor the function definition when responding

Given this parameter definition in the function def:
'parameters': {'type': 'object', 'properties': {'weight_kg': {'type': 'number', 'description': 'Weight in kilograms'}, 'height_m': {'type': 'number', 'description': 'Height in meters'}}…
The result is:
tool_call=Function(name='calculate_bmi', arguments={'height_m': '1.78', 'weight_kg': '78'})
…where the numbers are converted to strings. They should be numbers (floats).

Hello, we tried to solve the issue.
This is what we did:
Modified the _copy_tools function to parse number arguments as floats or integers instead of strings. This ensures that numeric values in tool call arguments are properly typed.
You can review changes in this commit: https://github.com/mark-addams001881/ollama-ollama-python-399/commit/467b41bb8dfd92c7d88a8734fb31d691fbd24152.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

Latta AI seeks to solve problems in open source projects as part of its mission to support developers around the world. Learn more about our mission at https://latta.ai/ourmission . If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.


Unable to resolve services using depenency injection for plugin dependency on another plugin

Is your feature request related to a problem? Please describe.
I want to be able to have plugins that provide services to be registered with dependency injection and can be resolved and used by other plugins. This means that Plugin1 might register IMyService with the DI and Plugin2 wants to resolve this and use it.
The issue I have is that once all plugins are loaded and each one has registered the services they want to register, I can only resolve services in a plugin that the same plugin registered. I believe this is because each plugin when published to the plugins folder has their own copy of the Plugin1.Abstractions dll...when plugin 1 registered IMyService it's type refers to the assembly loaded from that plugin folder, whereas plugin2 tries to resolve IMyService that's type refers to the assembly under it's plugin folder.
This is an issue because one plugin may be providing a service with caching or something else for argument's sake, if the same service is registered twice because it's type came from different assembly file locations then you have duplicated caches in the application using up more memory. This is just a simple example, I only need the service instance once!
Describe the solution you'd like
Is there any way to have plugins depend on other plugins etc or libraries from nuget where the DI can resolve the types even if they are from different copies of the same DLL? Is this just something that just cannot be done? Perhaps it is a limitation of the MS DI?
Describe alternatives you've considered
I tried several differnet ways of setting up the plugins and looked at all examples and docs provided, I cannot seem to find a solution for this issue.

By the way, meant to say in the above post...your library is bloody brilliant and so handy. I was so simple to setup plugin loading as I currently have it. Just hope I can find a way around the above. 😄

Thank you very much for the reply, I totally get why you'd design it for islolated plugins.
I will take a look at the sample you've mentioned and give it a go, it's a shame though that you have to add the abstractions to the host always. 👍
I wonder if it is possible to scan in all of the plugin directories for assemblies that are the same and then load the latest verion of the found assemblies into the host context and add to the shared types via interface or something? So that the host doesn't have to have a physical reference to the abstractions. It's mainly that I was wanting plugins to provide other functionality that the host doesn't that other plugins could then use etc.

Thank you very much for the reply, I totally get why you'd design it for islolated plugins.
I will take a look at the sample you've mentioned and give it a go, it's a shame though that you have to add the abstractions to the host always. 👍
I wonder if it is possible to scan in all of the plugin directories for assemblies that are the same and then load the latest verion of the found assemblies into the host context and add to the shared types via interface or something? So that the host doesn't have to have a physical reference to the abstractions. It's mainly that I was wanting plugins to provide other functionality that the host doesn't that other plugins could then use etc.

Your example worked perfectly, so thank you ever so much.
Just as a test though, I had a go at scanning the plugin directories for DLLs that are found more than once, I then loaded those into the default assembly load context.
This worked an absolute treat and everything worked as expected, so I am going to continue playing with this approch for now and see what I can do with it.
My only concern if if a DLL is found in multiple plugin directories but of different versions...so I think it's best to try load the newest version when this occurs, but we'll see.

Oh snap, I missed this one.
I should have set this repository to watch since I do myself also make extensive use of this library in one of my projects.
Anyway, if you want another example, my program Reloaded II (universal "Mod Loader" allowing arbitrary managed code injection in native processes), also exposes such a pattern whereby mods (plugins) can share types between each other.
Here is how I do it:

A specific interface, IExports can be optionally implemented by plugins (mods) which, allows the plugins to declare which types should be shared with other plugins:

https://github.com/Reloaded-Project/Reloaded-II/blob/320f691df51ab12ece83035af54558937e79f324/Source/Reloaded.Mod.Interfaces/IExports.cs#L7-L14

Before initializing any of the plugins, I load all exported types from plugins to be loaded into the current AssemblyLoadContext.

https://github.com/Reloaded-Project/Reloaded-II/blob/320f691df51ab12ece83035af54558937e79f324/Source/Reloaded.Mod.Loader/Mods/PluginManager.cs#L300-L306

When I load each plugin (mod), I load the plugin with both others' and the plugin's own exports (loaded in the current AssemblyLoadContext in Step 2) as shared types.
(I.e. The this will make the plugin use the type from the current ALC)

https://github.com/Reloaded-Project/Reloaded-II/blob/320f691df51ab12ece83035af54558937e79f324/Source/Reloaded.Mod.Loader/Mods/PluginManager.cs#L213
I would also advise adding some form of mechanism where a plugin can declare which plugins it can unify with (I use unique string IDs, "ModDependencies" and "OptionalDependencies") to prevent sharing unwanted types. With time you will notice, especially if you share extensively that you will need this. I have this implemented as you may have noticed above.
This should work fine so long as you try avoid exporting 3rd party libraries, if you do, you will probably face problems if two versions export different versions of a given third party library.
Sorry for being late to the party :P

Related to the post above.
I actually had a fork at one point where I implemented a feature to allow loading of shared types from an arbitrary ALC (as well as the default one).
The benefit of this would be that you could store each plugin's export in a separate ALC, making them unloadable. This is useful as you could you could move, delete and overwrite the shared DLLs at runtime (after unloading, as no handle is open/file isn't used).
Additional benefit is that multiple versions of same libraries could be shared by the application between plugins (i.e. not sharing exports via the default ALC allows for multiple versions of same library).
I don't remember quite why I never decided to implement this on my end (and nuked the commits), but if the either of you are interested, I'd be happy to re-implement this. This would be a very useful optional safety feature in this kind of plugin sharing scenario.

Thanks very much @Sewer56, I will take a look at what you've done and see if it fits my needs. I am not, in this instance, in need of being able to unload and update DLL's on the fly, I  am able to just restart the host service. I've not bothered with the IExport approach has you've done, thus far, but I am doing what @natemcmaster has done with the plugin configuration class.
They way I've currently got it working is to scan all of the plugin directories for their dependencies, figure out which ones are used more than once and then load them into the default/current ACL, if more than one version is found, the latest version is loaded. I've set the option in the plugin loading to prefer shared types as well. This seems to be working quite nicely and because I have  a little control over the plugins being created and used for my application...I can make sure that as part of updatting a plugin that any dependency updates are done in other plugins also.

@ShaneYu: They way I've currently got it working is to scan all of the plugin directories for their dependencies, figure out which ones are used more than once and then load them into the default/current ACL, if more than one version is found, the latest version is loaded.

I think this is a good approach. It's what I would recommend in general for those who want to share types among plugins which are not present in the host. If you think this would be a generally useful API to have in this library, I think it would be worth adding. It's a fairly specific case, so it probably deserves documentation and a sample too.
@Sewer56: thanks for sharing details on Reloaded II. It looks like a nice framework for handling more complicated plugin compositions. With DotNetCorePlugins, I've chosen to keep the loader fairly simple. Along with your project, there are several others that people use to compose large applications together, such as System.Composition (MEF). Rather than re-invent, I'd rather provide integration and support for those composition frameworks. I'd be happy to add a sample to this repo showing how DotNetCorePlugins can be used with Reloaded II, or links in the docs, if you think it's useful.

I'd be happy to add a sample to this repo showing how DotNetCorePlugins can be used with Reloaded II, or links in the docs, if you think it's useful.

No need in this case, no user of Reloaded would ever require to directly work with DotNetCorePlugins, in fact they couldn't, unless they were directly contributing to the loader code itself. In addition. Reloaded II's documentation is fairly complete and self contained for any developer who wishes to use it.
I believe you may have misunderstood what Reloaded II is. Reloaded II at the core is an application (plugin loader) of its own that can be used for extending existing native applications. It is a loader that loads arbitrary .NET Standard plugins into native applications, which may then use techniques such as hooking/detouring/trampolining to alter the behaviour of a given native application.

It also contains a plugin manager (WPF GUI), which controls which plugins should be loaded into which application among many other features. In other words, Reloaded II can best be described as a tool/standalone application to get .NET code running inside native applications.
I mostly use it personally to tamper with old games, as a hobby for my spare time.
You can do a lot with it in the hands of the right person.

(This is Sonic Heroes, a game from 2003 running in flawless widescreen at an 32:9 aspect ratio. Normally this game cannot run in anything else than 4:3 and any of the 4 hardcoded resolutions.)
Reloaded II Plugin

Gotcha, thanks for the clarification.

I think the paradigm @natemcmaster  chose fits that of Visual Studio and similar "integrated development environments" or what I think of as "Application Shell" Architectural Style.
Application Shell Architectural Style is basically object capability model: Each plugin only has access to resources provided to it by a specific part of the shell.  Some tools, like Visual Studio, don't tunnel these resources all the way down and instead expose Resources for Plugins as statics.  However, the basic things I see in Application Shell Architectural Style are:

Children identify their parents, Parents don't identify their children
As a natural consequence, every Child is a lambda function with no free variables.
Features like "Context menus" are therefore handled by passing arguments to functions.  For example, in Windows File Explorer, the File Type is context passed to the Context Menu Visualizer, which determines what options are available to perform on the file (or group of files).
Rather than use free variables, components store state to track what would otherwise be handled through free variables.

Sorry if this is not clear.  It's something I spent over a decade of my life thinking about.  I first encountered this architecture reading Charles Petzold's books, but I have since viewed his explanations as baroque and idiosyncratic.

An abbreviation version of Ka-Ping Yee's Secure Interaction Design is available here: Guidelines and Strategies for Secure Interaction Design.  I've joking referred to this as, "The Definitive Explanation of why Linux's PAM subsystem is deplorable, terrible, and will give you a Horrible, No Good, Very Bad Day".
Once you realize Access Control and Concurrency Control are two sides of the same coin, you will never go back to your old way of building applications.


Create StopWatch.html

A Simple Stop Watch Application using Html, Css, Js

Great Job !! Follow me on GitHub


load network structure and shapes only for large models

large models have lots of weights, load them will consume lots of time and memory, is there a way to only load model structure and shapes?

@yyfcc17 can you provide some context, a model file and repro steps.


Unable to drag file to dock

Check for existing issues

[X] Completed

Describe the bug / provide steps to reproduce it
I could be making a mistake, but the website makes me think I can drag a file to the dock.

By default it opens with a terminal but any editor or tab may be dragged into it.

But I see this recent blog post is more focused on the idea of a terminal dock and a project dock, and less the general idea of a dock, so maybe the design goals of the dock shifted.
I don't have a strong opinion on whether or not docking files should be possible, but if it's no longer a feature it'd be good to update the website. The website also refers to the old shift-esc shortcut that I believe has been replaced with ctrl-`.
Environment
Zed: v0.90.2 (stable)
OS: macOS 12.6.0
Memory: 32 GiB
Architecture: aarch64
If applicable, add mockups / screenshots to help explain present your vision of the feature

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.
If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.
No response

Hey @mattbaker, yeah, this is outdated documentation - a mistake on our end for not updating it when we landed the new panel system. We should definitely update this.


frint-router-react: fix lint errors

Hopefully, I got the Route propTypes correctly. Please check.
Renamed componentDidMount to componentWillMount, because of this.setState() inside, which would cause new render right after the component did mount.
Decided to keep console.error() just as a reminder that we need to handle errors somehow.

Changes Unknown when pulling 0f2bf3c4d5e32e72aa4c20b2cd29cf229dd23089 on router-linting into ** on router**.


support for setIcon/setLogo

It would be really helpful if setIcon(Drawable) and setLogo(Drawable) are supported, so custom icons can be shown.
See also http://developer.android.com/reference/android/app/ActionBar.html#setIcon(android.graphics.drawable.Drawable)

This will come with ABS v4. See http://beta.abs.io/ to try the beta.

+1, I don't know the exact status about this bug but I didn't see yet a setLogo method in the beta till now.


Customise default keys

This is probably just my lack of understanding of how Telescope works, but is there a way to customise the default keys?
I currently have my Telescope set up with <Esc> bound to close in Insert mode, and I just bind <C-whatever> to what ever I want to do. This is fine for the other builtins/extensions that I use, but means that I can't use telescope-project, since all the bindings are for Normal mode.

@garwil I'll create insert mode mappings, which are basically the same as the normal mode mappings but using , hopefully that will resolve things for you?

Yeah, that'd be awesome, thanks!

Should be updated now @garwil I've update the readme, only difference is that m is used for rename, rather than r

I've just tested it out, it works brilliantly, thanks!
I'm just starting to learn a bit of Lua, I'd be interested to try to figure out how to pass the key mappings in from the Telescope config. If I do I'll submit a PR!

Thanks @garwil that'd be great. This plugin is my only experience with lua


Serving an arbitrary file from CRA build on GitHub pages, no router employed

Not a bug report but rather a question.
The target is to serve an arbitrary file (e.g. manifest.json) placed in public directory of the project from GitHub pages by direct link.
Initial situation
I have CRA with minimal custom ReactJS code add, and in particular manifest.json in project public directory.
Desired outcome
When navigating to the manifest.json via direct URL (e.g. https://oleksiyrudenko.github.io/merge-google-slides/manifest.json) get something like the following:
{
  "short_name": "Merge Google Slides",
  "name": "Merge Google Slides",
  "icons": [
    {
      "src": ".\/favicon.ico",
      "sizes": "64x64 32x32 24x24 16x16",
      "type": "image/x-icon"
      ...skip...
    }
  ],
  "start_url": "./index.html",
  "display": "standalone",
  "theme_color": "#000000",
  "background_color": "#ffffff"
}

Actual result
The app is rendered.
What I did to achieve the target

Followed the guidelines
Added the homepage property to project package.json ("homepage": "https://oleksiyrudenko.github.io/merge-google-slides",)
Built the project
Published the build as gh-pages branch

Summary of actual situation

The app renders as expected.
Assets compiled to build/static/ directory are accessible via direct URL.
Assets initially placed under project public directory are copied during the build as expected
but any attempt to access those via direct URL lead to the app rendering, which is not what expected.

react-scripts v.1.1.4 employed.
No routing in the app yet.
On local production (when build served at the localhost root) the files from public are served as expected (i.e. localhost:3000/manifest.json produces the file contents as expected).
Will appreciate any hints on what I've missed...
Project in question:

gh-pages branch
build source branch

As a temporary solution has disabled ServiceWorker as per: https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#opting-out-of-caching

Closing as stale. Please open a new issue if there's still a problem.


Most libraries out of date

Is this project still maintained/used?  I have another project that has a dependency here and I am happy to put together a PR to update everything but as it stands including this causes a bunch of dependency conflicts.
Out Of date plugins:
paradox (0.4.4 --> 0.10.2)
sbt-site (1.3.2 --> 1.4.1)
sbt-ghpages (0.6.2 --> 0.6.3)
Out of Date Libraries
circe-core (0.8.0 --> 0.14.3)
jsoup (1.10.3 --> 1.15.3)

main branch is more or less up to date. We will cut new releases soon.


goaccess: 1.1.1 -> 1.2

Semi-automatic update. These checks were done:

built on NixOS
ran /nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2/bin/goaccess -V and found version 1.2
ran /nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2/bin/goaccess --version and found version 1.2
found 1.2 with grep in /nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2
found 1.2 in filename of file in /nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2

cc @ederoyd46 @garbas

Success on x86_64-linux (full log)
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2
shrinking /nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2/bin/goaccess
gzipping man pages under /nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2/share/man/
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2/bin
patching script interpreter paths in /nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2
checking for references to /tmp/nix-build-goaccess-1.2.drv-0 in /nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2...
/nix/store/nify4rsvfsn7fbiq1c30060mr3386sz4-goaccess-1.2

Success on x86_64-darwin (full log)
Partial log (click to expand)
 /nix/store/6b3jzg40vibmrjg85i46vvidyy915428-coreutils-8.29/bin/install -c -m 644 goaccess.1 '/nix/store/lpnpmvs004wxl2pyx67m8qi64rlcwsvp-goaccess-1.2/share/man/man1'
make[2]: Leaving directory '/private/tmp/nix-build-goaccess-1.2.drv-0/goaccess-1.2'
make[1]: Leaving directory '/private/tmp/nix-build-goaccess-1.2.drv-0/goaccess-1.2'
glibPreFixupPhase
post-installation fixup
gzipping man pages under /nix/store/lpnpmvs004wxl2pyx67m8qi64rlcwsvp-goaccess-1.2/share/man/
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/lpnpmvs004wxl2pyx67m8qi64rlcwsvp-goaccess-1.2/bin
patching script interpreter paths in /nix/store/lpnpmvs004wxl2pyx67m8qi64rlcwsvp-goaccess-1.2
/nix/store/lpnpmvs004wxl2pyx67m8qi64rlcwsvp-goaccess-1.2

Success on aarch64-linux (full log)
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/l2ckfh4qi3ynq20787kdp89jj6ffawcg-goaccess-1.2
shrinking /nix/store/l2ckfh4qi3ynq20787kdp89jj6ffawcg-goaccess-1.2/bin/goaccess
gzipping man pages under /nix/store/l2ckfh4qi3ynq20787kdp89jj6ffawcg-goaccess-1.2/share/man/
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/l2ckfh4qi3ynq20787kdp89jj6ffawcg-goaccess-1.2/bin
patching script interpreter paths in /nix/store/l2ckfh4qi3ynq20787kdp89jj6ffawcg-goaccess-1.2
checking for references to /build in /nix/store/l2ckfh4qi3ynq20787kdp89jj6ffawcg-goaccess-1.2...
/nix/store/l2ckfh4qi3ynq20787kdp89jj6ffawcg-goaccess-1.2


Vsync not working on some PCs

Ebitengine Version
86e0bcc26472c8da05fac66d84d5dd3869d55e00
Operating System

[X] Windows
[ ] macOS
[ ] Linux
[ ] FreeBSD
[ ] OpenBSD
[ ] Android
[ ] iOS
[ ] Nintendo Switch
[ ] PlayStation 5
[ ] Xbox
[ ] Web Browsers

Go Version (go version)
go version go1.20.13 windows/amd64
What steps will reproduce the problem?
When I upgraded my game to latest ebitengine (d0aaa23005312a245f6d735964637f1aabad36b4) one of my players noticed that the ebiten.SetVsyncEnabled(true) does not work, that is the FPSes are not capped and the GPU usage is very, very high.
It's quite strange because he is the only reported case, other players (including myself) can limit their FPSes.
His dxdiag:

------------------
System Information
------------------
      Time of this report: 5/29/2024, 00:06:15
             Machine name: DESKTOP-F44N2BQ
               Machine Id: {CABE96D1-EEFE-4041-A864-C0598CD2C59B}
         Operating System: Windows 10 Pro 64-bit (10.0, Build 19045) (19041.vb_release.191206-1406)
                 Language: Polish (Regional Setting: Polish)
      System Manufacturer: Gigabyte Technology Co., Ltd.
             System Model: To be filled by O.E.M.
                     BIOS: F5 (type: UEFI)
                Processor: AMD A8-6600K APU with Radeon(tm) HD Graphics    (4 CPUs), ~3.9GHz
                   Memory: 28672MB RAM
      Available OS Memory: 28612MB RAM
                Page File: 6017MB used, 22593MB available
              Windows Dir: C:\Windows
          DirectX Version: DirectX 12
      DX Setup Parameters: Not found
         User DPI Setting: 96 DPI (100 percent)
       System DPI Setting: 96 DPI (100 percent)
          DWM DPI Scaling: Disabled
                 Miracast: Available, no HDCP
Microsoft Graphics Hybrid: Not Supported
 DirectX Database Version: 1.0.8
           DxDiag Version: 10.00.19041.4355 64bit Unicode

------------
DxDiag Notes
------------
      Display Tab 1: No problems found.
        Sound Tab 1: No problems found.
        Sound Tab 2: No problems found.
        Sound Tab 3: No problems found.
        Sound Tab 4: No problems found.
          Input Tab: No problems found.

 (Pozostało: 51 KB)

I've managed to pinpoint this issue to this strange commit 86e0bcc26472c8da05fac66d84d5dd3869d55e00, that is one commit after everything was working as expected.
Additionally some players reported that their GPU usage is noticeably higher even if the vsync is working correctly, and the problem also seems to be it this particular commit.
What is the expected result?
vsync should work, GPU usage should be limited
What happens instead?
for unknown reason one player reported that vsync is completely not working and others report increased resources usage
Anything else you feel useful to add?
~~ It does not seems to be related to OpenGL/DirectX ~~

EDIT:
when I reverted changes made in this particular commit, it seems that vsync is now working properly on OpenGL (and DirectX still not) for that user, and others claim that the GPU usage is reduced

This change was only for OpenGL. Let me think, but I feel like reverting the change should be less risky.

As I mentioned reverting this commit fixes the OpenGL case, but people also report that DirectX still can take up to 95% of GPU resources. I'll try to investigate more

Perhaps, didn't the environment disable vsync in a hardware setting? (e.g. Nvidia Control Panel)
https://www.nvidia.com/en-us/geforce/technologies/adaptive-vsync/technology/

I'm not sure, but I sent one player two game clients, first with this commit and second without it, and he claims that he run both of those clients one by one, and the client "with" the commit was using extreme amounts of GPU, and the one "without" was fine.
Currently my released version is using more or less HEAD with changes in this commit specifically excluded and I heard no complains about anything really.

OK I reverted the suspicous commit. Thanks!


React Typescript Sample

Adds a sample using msal-react with Typescript

Coverage decreased (-11.7%) to 70.27% when pulling 729adf1e96d9cc8b26bf74bc9c714c55cac9b488 on msal-react-typescript-sample into ac3eb04ac44bd2882c920c5aaeb1b12da0c67092 on dev.


map POJO to JSON string

Hello, please... is it possible to create a JSON string from a POJO class ?
tried JACKSON but no one seems to understand what I am talking about
tried GSON, same thing...
Hello, please:
How may I accomplish converting a POJO into a JSON (writeValue) -
Need to write an ObjectMapper with System.out.println test.
http://stackoverflow.com/questions/41142802/jsf-managed-bean-accessing-mysql-remote-database-how-to-create-json-array-to-f
Any suggestions greatly appreciated.
Jon

This project is a Swift library. I believe you are referring to Java libraries. Closing this issue. I will reopen if you follow up.


feat: add commitizen support

After further investigation this highly depends on how the read from file flag works for cz. If partial commit files are allowed this could be done fairly easily if not then this may be out of scope of the project

Seems like the write to file flag and dry run will help make this work.


[SPARK-38646][PYTHON] Pull a trait out for Python functions

What changes were proposed in this pull request?
Pulls a trait out for a generic interface for Python functions.

trait PythonFunction
case class PythonFunction -> SimplePythonFunction

Why are the changes needed?
Make the PythonRDD and other classes to use a trait rather than a fixed case class.

Does this PR introduce any user-facing change?

No.
How was this patch tested?

Existing tests.

Can one of the admins verify this patch?

Merged to master.


Own dataset training(unconditional models)

I want to train using own dataset.
I execute sample_mesh.py, after I get watertight meshes.
So, I get pointclouds, voxels, occupancies.
After that, I execute train.py
but i found following error.
Error occured when loading field points of model 〇〇
or
Error occured when loading field voxels of model 〇〇
I think that pointclouds and voxels can't be made exactly.
Please tell me anything solution.
(ShapeNet model can be train)

Maybe, when I execute sample_mesh.py I get points.npz which can't load occupancies.npz

sample_mesh.py does not execute exactly.
please tell me anything solution.
When you use any other dataset, didn't you have same problem?

I tried to use example 3d models(occupancy_networks/external/mesh-fusion/examples/chair_oooo.off)
However, I found same error.
Please tell me.

Hi, just wondering have you solved the issue?


Detect and open URL's

It would be nice if t could detect and open urls in a task – maybe also adding a pop-function, to open the URL and get rid of the task in one instance :)
Which browser to use? This could be passed to t as part of the alias.

Just my 2 cents - beauty of t is in its' simplicity.
For example, I thought it'd be good to put some version control to my tasks (since I might be interested in when I finished a particular task). I started to modify t to achieve this, but then I realized that this is not really needed - so I bailed and created a Bash script which wraps around t and takes care about lil' Git repo that stores all tasks history.


Add ability to define token type

Is your feature request related to a problem? Please describe.
We tokenise our icons. This helps us swap out sets for white-labelling for our clients. They are semantic icons, so have specific meaning for use in components and in our application.
At the moment, we add these under the Other category, and in the generated JSON, the group value is set to "Other".
We also name our token grouping slightly differently to the plugin. For example, I'd prefer to call "Typography", "textStyle" (shorter, i don't mistype it as much 😆).
Describe the solution you'd like
I'd also like to be able to customise the existing group values, overriding the defaults used today. Essentially expose this value in the token as populated, but editable field. Obviously this would benefit from broader bulk actions, but that's probably a seperate issue.
Describe alternatives you've considered
Currently I generate the JSON in Figma Tokens, then edit the group values by hand. This is obviously frustrating as I have to do it every time I update the tokens.
Additional context
None.

BTW You can just alter the type in the JSON, the plugin will respect that (until you save in the UI that is, which is an issue. But if all you need those tokens for is to have them stored for dev, then that'd work).

Yep this is what i do today for all my custom token types. it'd be cool to be able to be able to create a custom name (aka type) in the UI at the top level grouping
More importantly though, if you do change Type in the JSON, in the UI when you edit a token within that custom group, the type reverts to Other, which is super annoying..... obviously ideal case is that the user entered value is retained on Edit/Save

Yep this is what i do today for all my custom token types. it'd be cool to be able to be able to create a custom name (aka type) in the UI at the top level grouping
More importantly though, if you do change Type in the JSON, in the UI when you edit a token within that custom group, the type reverts to Other, which is super annoying..... obviously ideal case is that the user entered value is retained on Edit/Save

💯 that is annoying. Added it to one of our upcoming iterations: https://github.com/six7/figma-tokens/issues/1202

Awesome! Mike said he might see if we can squeeze this into a release
candidate as I actually wanted to show this action in the Livestream on
Thursday. If not, will just talk to it and not show it
On Sat, 20 Aug 2022 at 06:38, Jan Six @.***> wrote:

Yep this is what i do today for all my custom token types. it'd be cool to
be able to be able to create a custom name (aka type) in the UI at the top
level grouping
More importantly though, if you do change Type in the JSON, in the UI when
you edit a token within that custom group, the type reverts to Other, which
is super annoying..... obviously ideal case is that the user entered value
is retained on Edit/Save
💯 that is annoying. Added it to one of our upcoming iterations: #1202
https://github.com/six7/figma-tokens/issues/1202
—
Reply to this email directly, view it on GitHub
https://github.com/six7/figma-tokens/issues/650#issuecomment-1221074878,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYBWJFWSO26IIUKIC2N63XLVZ7WDRANCNFSM5UT23QZA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
[image: Performio] https://www.performio.co
Chris Kerr
Principal Product Designer
@.*** |
Performio
Irvine | San Francisco | Melbourne | London

Is it a lot of work to add a "type" field for "Other" tokens? If type is left blank, set to other. Or are we thinking of adding the ability to add your own section, essentially removing the "other" group?

Added to Featurebase Roadmap : 🪙 Expand token types

@six7 can we close as this is in Featurebase and no longer planned?

Closing as it's been migrated to featurebase - Expand Token Types
Please upvote and create a free account to get notified when work starts on this request (:


Store width in nodes

More preparation work for handling nodes of different sizes

Closing, superseded by #15


Add missing role name to credentials rotator

This PR fixes a missing role name when calling getStsCredentials in the credential rotation file. I moved the const to the API types file so it could be used in the secret watcher.

/assign @fahlmant


Players cannot /spawn

https://pastebin.com/g38PuCz1 This is my permissionsEx permission.yml config ,
Players have the essentials.spawn and i added randomly essentials.spawn.self just to make sure they have it , but players still cant do /spawn for some reason , Ive tried removing the spawn.self , still no change , tried rewriting, still no change , no clue whats going on , would love some help , Thanks!

Which plugin is handling your spawn feature?
♦ EssentialsX?  Then you'll need EssentialsXSpawn installed on the server.  (This website is currently down, so if you need this file, you'll have to keep trying the website until it comes back online.)
♦ That weird "Spigot Essentials" mess?  Then you'll need EssentialsSpawn-2.x-SNAPSHOT.jar.
♦ Something else? Check their documentation to determine the actual permission node that's needed.
If you have the correct plugins installed and the correct permission nodes assigned, check out PEX Debug Mode to find out what other plugin(s) may be interfering with the command.

Thank you so much , once again storm :) Used HubThat and thought i should just use the normal node. lol.
Thanks!

You're welcome. :)


iOS - LHN - Concierge name changes to<EMAIL_ADDRESS>after enabling camera access

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4415591&group_by=cases:section_id&group_order=asc&group_id=306203
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:

Log in with an expensifail user
Navigate to FAB - Request money - Scan
Tap on the "Continue" button
Tap on the "Settings" button
Enable permission in the settings
Go back to the Expensify app LHN

Expected Result:
It should be Expensify Concierge.
Actual Result:
Concierge name changes to<EMAIL_ADDRESS>after enabling camera access. The change is happening 4-5 seconds after returning to LHN.
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/97268ab5-e8e1-4f51-a513-897ec38dfd26

View all open jobs on GitHub

@slafortune I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors.

@izarutskaya Once the camera is enabled and you log in again, what shows?

I think that this is going to be a very limited issue that anyone sees - only if they hadn't enabled their camera to start.  And if they do notice it, it won't affect them.  Logging in again should allow it to populate correctly.


Add advice about BCSmake build error.

There is a setting in visual studio which is sometimes enabled by default and causes the project to fail to build, this adds documentation about this to the contributor MD file.

/azp run

@beervoley fyi

@StephenLPeters thank you:)


[CI Problem] CI runs are hanging waiting for GPU-SPOT instances

The ci-gpu runs are stalled with the following message in Jenkins:
Waiting for next available executor on ‘GPU-SPOT’

Closing as this seems to be resolved. Perhaps there was just a large backlog.


Add NGram search functionality. Generates unigrams, bigrams & trigram…

…s since that allows us the best search experience. Previously, search was not able to accurately match strings for multi search terms if the term was within a multi word string and within the words. Example, we now accurately match 'rich com text' within 'Communicating Across Contexts (Enriched)'. Currently, defaults to english. Which needs to be fixed later.

Neat! Maybe some overlap with pg_trgm (https://www.postgresql.org/docs/current/pgtrgm.html)? Just wondering what the perf implications are over it...

pg_trgm generates trigrams and as such if you're going to do a search as you type query, your first two (single and double character) searches will result in table lookups, not index lookups since trgm will not generate grams of length < 3. I can provide performance comparisons but from my review of the code with a table with a million or so documents, it was just as fast as pg_trgm.

Can you add some tests?

@mdissel Will do. There's also one item I need to resolve. The indexes generated by the feature are not properly supported when performing migrations. I'm currently working on this. I will push a fix with updates and with documentation as well. This might take a few days.

I've create a 4.x PR for this https://github.com/JasperFx/marten/pull/1990. Should I close this one?

yes, closing the same.


(7.x.x) Example - Font Class - Implement custom type : SVG

This example shows and validate a way to implement custom type font in 7.x.x
The implemented format is SVG Font => ExtrudedGeometry

A custom font type requires :

Its own FontVariant class
Any other classes that comes with FontVariant implementation :  TypographicFont, TypographicGlyph, InlineGlyph, GeometricGlyph.

This implementation validate that one implemented by extending FontVariant abstract class, all basic font properties are still working as expected : kerning, letterSpacing, lineHeight,
Documentation, and extending three-mesh-ui ( adding custom properties : depth, etc... ) would still remains, but could be done after first 7.x.x release.

Impressive work, congrats !
It seems you included the commit of Friday were you reworked how static files are bundled, is that intended ?

Nope. Thanks for noticing it.
I was too lazy and didnt want to add entry in the example array, so I based this work on the other branch. Forgot to cherry pick it.


Fix Windows test flakiness

The flakiness of the Windows test suite is out of hand. Most PR's fail multiple times. It feels like it's getting worse. Lots of weird I/O failures.
I don't know if I am comfortable making another release in this state.

It's probably https://github.com/rust-lang/rust/issues/29497 in various forms. 😞

Let's collect examples of spurious failures here. I'm assuming this is one:
https://ci.appveyor.com/project/brson/rustup-rs/build/1.0.846/job/d39vkpcr22q2j0ke
I've been trying to reproduce this locally, but the test suite is stubbornly passing every time 😛 I've tried 32-bit and 64-bit, maybe it's specifically -gnu builds? If we have some more examples it may be possible to spot a pattern.

Hm, I left the test suite running on loop for several hours in 3 different configurations, and didn't get a single failure...

FWIW, someone is working on a remove_dir_all impl here: https://github.com/rust-lang-nursery/tempdir/issues/15#issuecomment-286586162

cc @Aaronepower once you've got that remove_dir_all crate you might plug it into rustup too.

Here's a table of recent failures:

Configuration
Failing Test
Error

64-bit GNU
uninstall_deletes_cargo_home
Access is denied during uninstall.

64-bit GNU
uninstall_doesnt_leave_gc_file
Panic: tests\cli-self-upd.rs:294

64-bit MSVC
uninstall_doesnt_leave_gc_file
Access is denied during uninstall.

64-bit GNU
uninstall_doesnt_leave_gc_file
Panic: tests\cli-self-upd.rs:294

32-bit MSVC
uninstall_deletes_bins
Access is denied during uninstall.

64-bit MSVC
uninstall_deletes_bins
Access is denied during uninstall.

32-bit GNU
remove_default_toolchain_err_handling
Access is denied during uninstall.

64-bit MSVC
windows_handle_empty_path_registry_key
Access is denied during uninstall.

64-bit GNU
multirust_upgrade_works_with_proxy
unable to hard link fallback exe (already exists)

It's clearly not related to the configuration. All of them seem related to file or directory removal. However, the last one would not be fixed by an improved remove_dir_all. It looks like it might be caused by tests running in parallel?

Update:

It's not caused by tests running in parallel
It's not caused by any virus scanners, the indexing service, or shadow copy
Running handle.exe to find handles to files being deleted shows no results over many, many test runs

It doesn't seem to be caused by any kind of network file system weirdness

@brson Updating to the newer appveyor image seems to have reduced the failure rate quite a bit. Over 40 builds there was only 1 failure, which would be fixed by the remove_dir_all changes, so in combination, I think we should be back down to an acceptable failure rate...
I'll work on getting that PR into a state we can merge (atm it installs more than is strictly required, and increases the build time quite a bit. I might see if it can cache the msys install across builds.) and then I think we can close this.

@brson The remove_dir_all crate is now available, sorry I didn't finish it before you wrote that module. 😅

Another victim.
Toolchain: 32-bit MSVC
Test: updater_is_deleted_after_running_rustup
error: could not remove 'setup' file: 'C:\Users\appveyor\AppData\Local\Temp\1\rustup-cargo.2PgHSjcklvu2\ch\bin/rustup-init.exe'
info: caused by: Access is denied. (os error 5)

Just noting that we do still see the occasional unexplained windows failure, but rare vs common. I'm going to close this as long in the tooth and suggest we open specific tickets when we feel we have a pattern emerging again.


Simplify join-graph

Summary of the changes / Why this improves CrateDB
This simplifies the join-graph with the following steps:

Remove the unused root node from the graph
Make edges also operate on scoped symbols instead of references and use renames as source
Add more tests for more logical plans

Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

retest this please

retest this please

retest this please

retest this please


Users guide link broken

Possibly a side-effect of the org change, the link to the bindgen users guide in the README goes to a 404.

D'oh! https://github.com/rust-lang-nursery/rust-bindgen/blob/master/ci/deploy-book.sh#L25


programs: avoid assumptions that paths are UTF-8

@addisoncrump care to review this as well?

Sure, I'll take a peek in a bit.


Dispose participant view before stopping video streaming

Purpose

This PR fixes the green video indicator being displayed even after turning off the video. By disposing participant view before stopping video streaming, the indicator now changes to orange if video is off.

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

What to Check
Verify that the following are valid

During call, dot indicator should be green if video is on
During call, dot indicator should be orange if video is off

Tested work on the callingView, can you also dispose it on the LobbyView?

Tested work on the callingView, can you also dispose it on the LobbyView?

Added disposal in lobby


Dotnet test Data Collection problem, “Could not find data collector”

Steps to reproduce

What steps can reproduce the defect?

In Visual Studio 2017, create a new solution and add a Visual C#  .NET Core 2.0 xUnit Test Project. Name the project TEST.MyUnitTests
Also add a Visual C# .NET Core 2.0 Class Library project.
Add at least one unit test to first project.
In Class Library project, add a DataCollector, like in this tutorial. Let's say the Data Collector friendly name is "MyDataCollector" and the project it's located in is "TEST.DataCollector".
Compile solution.
Open PowerShell and navigate to folder where C# project file for unit test project is located.
Type the following command in PowerShell:

[unit tests directory]>dotnet test --collect:"MyDataCollector" --test-adapter-path "../TEST.DataCollector/bin/Debug/netcoreapp2.0"

"../TEST.DataCollector/bin/Debug/netcoreapp2.0" is the path to the TEST.DataCollector assembly, e.g. where TEST.DataCollector.dll is located.
Expected behavior
Data Collector is called and it performs the actions, such as logging, in its event handlers (TestHostLaunched, SessionStart, SessionEnd, TestCaseStart, and TestCaseEnd). Unit test passes.
Actual behavior
Even though unit test passes, the Data Collector is not found and the following message is displayed in PowerShell:

Data collection: Could not find data collector 'MyDataCollector'

Update: also, in a log file called "log.datacollector.18-11-20......txt", I see the following error:

TpTrace Information: 0 : 41652, 6, 2018/11/20, 12:17:51.508,<PHONE_NUMBER>8955, datacollector.dll, DataCollectionRequestHandler.ProcessRequests : Datacollector received message: (DataCollection.AfterTestRunEnd) -> false
TpTrace Error: 0 : 41652, 6, 2018/11/20, 12:17:51.808,<PHONE_NUMBER>3687, datacollector.dll, DataCollectionAttachmentManager.GetAttachments: Fail to get attachments: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Microsoft.VisualStudio.TestPlatform.Common.DataCollector.DataCollectionAttachmentManager.GetAttachments(DataCollectionContext dataCollectionContext)

Diagnostic logs
diagnostic_log_1.txt
Environment
OS: Windows 8

@lvasilev1
It seems the datacollector you wrote is not getting recognised. Can you share the repro project with us?
Note: If TestPlatform does not recognise the data collector it simply ignores that collector and goes ahead with the execution hence, the tests passed.

@lvasilev1 Closing this issue for now. Please let know if you still hit the issue and share the repro project if possible. Thanks.

Hi, I am facing same issue but in .Net framework. Please let me know whether I need to open a new issue since this is for .net core.
I am using Visual Studio 15.9.2 on Windows 10.
My unit test project is based on 4.7.1 framework. References Test Framework (MSTest.TestFramework.1.2.0
cmd:
vstest.console.exe "testproject.dll" /collect:"NewDataCollector"

vstest.console.exe "testproject.dll" /collect:"NewDataCollector" /testadapterpath:"C:\Visual Studio 2017\Projects\OutOfProcDataCollector\OutOfProcDataCollector\bin\Release"

I used both type of commands. I get same error both the time. Any help is appreciated. Thanks.
Starting test execution, please wait...
Data collection : Could not find data collector 'NewDataCollector'

I have attached my sample data collector which I wrote based on vstest docs example. Just ignore some stuff like trying add logs to some file.. I was just playing around. All I wanted was logs in console stating "X test method started", " x test method succeeded/ended"
OutOfProcDataCollector.zip


rCore not found after composer update

Hi,
I have run a composer update and now (without changing anything else) I get this error:
Class 'Kachkaev\PHPR\RCore' not found
It did work before normal, what has changed?
gb5256

Can it be related to how your composer's autoloader is working? I also had this pretty pity error in Symfony projects and it turned out that php's autoload in vendor was not generating correctly. It may be relevant to "autoload" section in package.json.
If you find a solution, could you please share what has happened?

autoload_psr4 shows this:
 'Kachkaev\\PHPR\\' => array($vendorDir . '/kachkaev/php-r/src'),

but should show this:
 'Kachkaev\\PHPR\\' => array($vendorDir . '/kachkaev/php-r/src/Kachkaev/PHPR'),

The composer takes this info from you composer.json:
   "autoload": {
    "psr-4": {
        "Kachkaev\\PHPR\\": "src"
    }
},

My knowledge about composer is not good enough to proceed. Is this something you need to change or is this my local problem?
thanks again,
gb5256

Not sure why this happens, unfortunately. I'm not a big expert in PHP's autoloading, it often confuses me too. In any case, I suppose that this is some general problem related to how things are configured in your composer file. Wish you luck!

Hi @gb5256, there're probably good news to share – #27 must have fixed your bug, thanks to @ghola! Let know if you still experience issues – this might help others who use php-r in their work!


merge package from arlac77/npm-package-template

package.json

chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

LICENSE

chore(license): add current year 2019

Codecov Report

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

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

Continue to review full report at Codecov.

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

Coverage remained the same at 97.619% when pulling bf794f3c6e24eec8b7c346f5b7c5ed2b15ee068a on template-sync-1 into e4780a432508acc706d5fbb7a6169f58f3fdc18f on master.


Document the need to end the connection

Hi there,
Thank you for this wrapper - it works well!
One thing that did catch me out when following the examples was that the connection stayed open. I searched for methods such as 'disconnect' to close it, and eventually found the .end() method in the ssh2 docs. Would it be worth documenting this here too, particularly alongside the main usage example in the README?
EDIT: I would open a pull request for it myself, I'm just not sure if one should put sftp.end() both in within the final .then() or in the .catch() as well?

@tdmalone , thanks for your working. It's worked both then() and catch()

Agreed, should be documented, my lambda function had timeouts because the connection stayed open.

Tks all, updated it documents.


make UglifyJsPlugin more efficient

I think we need to add more compress options in UglifyJsPlugin plugin,
this will result in a more compact build.
my suggestion is:
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false,
screw_ie8: true,
conditionals: true,
unused: true,
comparisons: true,
sequences: true,
dead_code: true,
evaluate: true,
if_return: true,
join_vars: true,
},
mangle: {
screw_ie8: true
},
output: {
comments: false,
screw_ie8: true
}
})

Send a PR and let's discuss?

Ok

@shai32 are you still interested in this? 😄

Yes, Still interesting. Hopefully I will do a PR in the weekend

All the added options are enabled by default. See UglifyJS documentation.
So we can close this issue


download link for Report Server September 2022 goes to May 2022

[Enter feedback here]
download link for Report Server September 2022 goes to May 2022
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: ef9c2df3-28df-34d8-bd4e-4209996f7f8d
Version Independent ID: e5dc42c8-b17a-4e0e-09c5-76124b0ad924
Content: Change log for Power BI Report Server - Power BI
Content Source: powerbi-docs/report-server/changelog.md
Service: powerbi
Sub-service: powerbi-report-server
GitHub Login: @jtarquino
Microsoft Alias: jaimeta

Thanks for your comment, @gwalkey. This issue has been assigned to the doc author for review.


[resolution pt.1] bundle entity

This PR is the first in a series of PRs that bring bundle resolution to the operator-controller.
This PR adds:

a BundleEntity struct that makes it easier to deal with the deppy entities we'll be processing
Predicates to search for particular entities based on the bundle properties
Sort functions to order the entities based on their bundle properties (Note: default channel is not yet handled properly)

Getting failures now.

You will need to rebase your other PRs.


Add a WithLagrangeBasis trait to handle caching

Added trait WithLagrangeBasis which will attempt to use the cache if the corresponding env var is set, otherwise cache will never initialize and control flow is the same as now.
Added an env var USE_LAGRANGE_CACHE with default value false to control cache usage

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me


fix chart name verification does not meet the specification

What this PR does / why we need it:
fix #9179
Special notes for your reviewer:
from the doc ,https://helm.sh/docs/chart_best_practices/conventions/#chart-names
We know that chartsname needs to meet the following verification rules
Chart names must be lower case letters and numbers. Words may be separated with dashes (-):

Examples:

drupal
nginx-lego
aws-cluster-autoscaler
Neither uppercase letters nor underscores can be used in chart names. Dots should not be used in chart names.

The directory that contains a chart MUST have the same name as the chart. Thus, the chart nginx-lego MUST be created in a directory called nginx-lego/. This is not merely a stylistic detail, but a requirement of the Helm Chart format.

The current regular match has a bug
If applicable:

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

Thanks @wawa0210!
What happens when trying to install a chart that has uppercase letters in its name?  If it works then I worry that preventing it would break backwards compatibility.
BTW I've been using directories named chart (which doesn't match the chart name) for years and it works. But I never package them.  Maybe we should clarify the docs about that.

Thanks @wawa0210!
What happens when trying to install a chart that has uppercase letters in its name?  If it works then I worry that preventing it would break backwards compatibility.
BTW I've been using directories named chart (which doesn't match the chart name) for years and it works. But I never package them.  Maybe we should clarify the docs about that.

Ah I see your comment now @marckhouzam , I agree this does have a potential to break backwards compatibility.

Ah I see your comment now @marckhouzam , I agree this does have a potential to break backwards compatibility.

@bacongobbler
Can you help, take some time to help reivew this pr? Looking forward to your comments

@bacongobbler
Can you help, take some time to help reivew this pr? Looking forward to your comments

We do not have enough consensus to determine if this will break compatibility for some users. Let's hold off on merging this until Helm 4.
In the future, please check to make sure CircleCI tests pass before asking for a review. Thanks.

We do not have enough consensus to determine if this will break compatibility for some users. Let's hold off on merging this until Helm 4.
In the future, please check to make sure CircleCI tests pass before asking for a review. Thanks.


Updated HScript.hx to Fix Compiling Problems

Converted "TeaCall" to "Tea" due to an issue where compilation would fail due to "TeaCall" not being found.
Screenshot of the "Type not found : TeaCall" error:

Credit to @miao1916 for the solution.

i think that was something wrong on your end, worked fine for me without editing.

I seen others report not having issues and claiming it's a problem on the user end of things. However, I do not think blaming the user end of thing is helpful. The issue seems to come from a change in one of the HAXE libraries.

This was already fixed on the experimental branch a WHILE ago.
The problem was newer versions of SScript (10+) changing a typedef name from TeaCall to Tea.
However, 1.0 will not be using SScript from now on, since the library is dead.
It will be replaced with hscript-iris
For now, if you are trying to compile 0.7.3 and don't wanna disable HScript, then you can get an archive of SScript here

You should close the pull request btw

Understood.


User interface for tier 3

Benefit/Result/Outcome
So that tier 3 instances are easy to deploy and so that the user interface is consistent with all aspects of the system.
Description
The user interface currently supports T0, T1, and T2. When issue #10 is complete we can add a user interface for T3.
Depends on issue #10.
Acceptance Criteria

Multiple tier 3 instances can be deployed from the user interface.
Documentation is updated.

Closing as OBE


fix shutdown crash on windows

Concernig https://github.com/effekseer/EffekseerForGodot4/issues/2#issuecomment-1672130188.
I fixed the shutdown crash.

Tested on windows with a completely empty project and the gdextension.
Tested on windows with activated addon and no Effekseer elements.
Tested on windows with activated addon and some Effekseer examples.

There are still dangling references after the gdextension was unloaded/ plugin removed from tree.

Hm. I tested the Demo assigned here. And it crashes while first loading ... so I will have to check some things out.


Add Task as a built-in module/type

This is an in-progress PR that moves the Task opaque IO type from platform-specific implementations to the standard library of Roc. The main thrust of the implementation work is done, barring bug fixes and testing. The high level changes are:

Copied the Task module from the basic-cli platform to crates/compiler/builtins/roc/Task.roc
Consolidated Task and Effect into just the Task opaque type with definition Task ok err := {} -> Result ok err, which is the old type for Effect a : {} -> a that Task ok err : Effect (Result ok err) wrapped
Removed the Effect generation code, as everything should use Task directly

This includes the generates Effect with [after, map, ...] clause of the hosted module header, which is a breaking change
FFI definitions on the host side need to return RocResults now, and FFI type declarations on the Roc side need to always have Task return types
Removed generation of the Effect.after, Effect.map, etc. functions as they were needed to glue Effect to Task, but are no longer needed now that those types have been combined

Renamed hosted modules that contain FFI Roc declarations from Effect.roc to PlatformTask.roc to distinguish their behavior from the old approach and to give a name more descriptive of the new behavior
Updated a good deal of the testing, but until basic-cli works, that is on hold

I am running into an issue while testing this with a testing platform where Roc says the inferred types of our generated FFI function bodies don't match their type definitions for the Task return types:
── TYPE MISMATCH in examples/cli/false-interpreter/platform/PlatformTask.roc ───

Something is off with the body of the getLine definition:

This Task.Task opaque wrapping has the type:

    Task *

But the type annotation on getLine says it should be:

    Task Str

I did not make any real changes to how we generate the FFI calls, and we seem to define the return type based on the definition, but I'm sure I'm missing something. If anyone has any suggestions on how to debug or fix this issue, that would be appreciated.
I have created a twin PR for the basic-cli platform that can be useful for testing this change, as well as basing other platform updates on.
Since most of the cli_run tests depend on current basic-cli, expect the tests to fail on this PR for a bit.

It looks like there is a genuine issue with the False interpreter.
(nix:nix-shell-env) 192-168-1-103:false-interpreter luke$ roc build False.roc
🔨 Rebuilding platform...
0 errors and 0 warnings found in 940 ms
 while successfully building:

    False
(nix:nix-shell-env) 192-168-1-103:false-interpreter luke$ ./False examples/sqrt.false
Ran into problem:
examples/sqrt.false

Task.sequence runs tasks in reverse order, please see https://github.com/roc-lang/basic-cli/issues/235

TODO: rename Task.seq to Task.sequence. This was a recent change.

TODO from Richard:

I suspect this will be a lot faster by doing appends while building it up and then doing one reverse at the end

Currently stuck on:
❯ ./target/release/roc examples/cli/false-interpreter/False.roc examples/cli/false-interpreter/examples/sqrt.false
🔨 Rebuilding platform...
memory allocation of<PHONE_NUMBER>2009 bytes failed

Lol, the valgrind errors:
==217577== ERROR SUMMARY: 2963963 errors from 128 contexts (suppressed: 0 from 0)

I can continue investigating on Friday.
If anyone else wants to take a stab; I recommend stepping through the False executable with IDA free, side-by-side with the version on main.

We reduced all tests failures down to the same issue. After removing unsized tasks from the false-interpreter platform (the platform of the failing test), we still got a failure. Namely, the host returns Ok(0), but Roc receives a Err {}, and we crash. The generated LLVM seems correct, so we are under the assumption that there is some lambda set issue here. The test has been therefore disabled for now, and we plan to revisit this once the lambda set fix is introduced.
If all tests pass, I vote that we call this good and merge, but I leave the final call to you @Anton-4.

All tests should pass now :crossed_fingers:


AGENT-438: Allow initramfs to be read directly from ISO

Because NewInitRamFSStreamReader() takes a filename as an input, this requires us to copy the initramfs to a temporary file if we are retrieving it from inside an ISO.
Add a separate NewInitRamFSStreamReaderFromISO() function that takes the filename of the ISO instead, so that we can output an initramfs with Ignition from an ISO input without temporary files.

/cc @carbonin