Final PR before release

This pull request introduces various changes across multiple files to enhance functionality and improve code consistency. The primary changes include adding new configuration options, updating Ansible playbooks, and modifying pipeline scripts.
Configuration Enhancements:

Added new configuration options install_always_create_fileshares and install_create_smb_shares in LandscapeModel.cs and LandscapeDetails.json to manage file share creation settings ([[1]](diffhunk://#diff-55ab81862b966a3e9537162cab545182aa7d1d1efcf192df519dece75d471bd8R369-R374), [[2]](diffhunk://#diff-1f7c1d138f155e6b69e384e0c82069333178a0820d07a697e3d3fe34b1424749R166-R184)).
Updated LandscapeTemplate.txt to include descriptions for the new configuration options ([Webapp/SDAF/ParameterDetails/LandscapeTemplate.txtR437-R443](diffhunk://#diff-3dff33e88d2278deba9237efda3beee8f47b2914a451d116937ead4b935d2912R437-R443)).

Ansible Playbook Updates:

Added initialization of HA resources in playbook_04_00_01_db_ha.yaml ([deploy/ansible/playbook_04_00_01_db_ha.yamlR229-R234](diffhunk://#diff-28866cc7bc2cd7b9342880fa6edfa12cc98d2ba9bb3f7bdb2e7f278a26071edfR229-R234)).
Added conditions to skip certain tasks on Windows in playbook_05_04_sap_web_install.yaml ([deploy/ansible/playbook_05_04_sap_web_install.yamlR107-R108](diffhunk://#diff-b3e58705d10698dd04ee22bd78b34a11f830fa7ff0cd0d6dc0eefad4b3cd6bc2R107-R108)).
Updated main.yaml in the 4.0.3-hdb-install-scaleout role to include additional password fields ([[1]](diffhunk://#diff-d04f484726c4cc7487d56d723e84672c1618d1171c9b17c1de9cd089783f9ecbR432-R434), [[2]](diffhunk://#diff-d04f484726c4cc7487d56d723e84672c1618d1171c9b17c1de9cd089783f9ecbR709-R711)).
Changed package module to zypper and set environment variable ZYPP_LOCK_TIMEOUT in 1.4-packages.yaml ([[1]](diffhunk://#diff-de617c146f3d2cc367a79e2da4337c8326c8942db27d40b7b54cf4db3601583cR54-R55), [[2]](diffhunk://#diff-de617c146f3d2cc367a79e2da4337c8326c8942db27d40b7b54cf4db3601583cR80-R81), [[3]](diffhunk://#diff-de617c146f3d2cc367a79e2da4337c8326c8942db27d40b7b54cf4db3601583cR105-R106), [[4]](diffhunk://#diff-de617c146f3d2cc367a79e2da4337c8326c8942db27d40b7b54cf4db3601583cR131-R132), [[5]](diffhunk://#diff-de617c146f3d2cc367a79e2da4337c8326c8942db27d40b7b54cf4db3601583cR158-R159), [[6]](diffhunk://#diff-de617c146f3d2cc367a79e2da4337c8326c8942db27d40b7b54cf4db3601583cR184-R185), [[7]](diffhunk://#diff-de617c146f3d2cc367a79e2da4337c8326c8942db27d40b7b54cf4db3601583cR210-R211), [[8]](diffhunk://#diff-de617c146f3d2cc367a79e2da4337c8326c8942db27d40b7b54cf4db3601583cR236-R237)).

Pipeline Script Modifications:

Updated 01-deploy-control-plane.yaml and 12-remove-control-plane.yaml to use System.AccessToken instead of PAT for Azure DevOps authentication ([[1]](diffhunk://#diff-0efae0d203b4f2d6d06d8be3be83cd9dfa7ad9c5a7cf5dd1b61abcdf2dcdffb0L902), [[2]](diffhunk://#diff-0efae0d203b4f2d6d06d8be3be83cd9dfa7ad9c5a7cf5dd1b61abcdf2dcdffb0R917), [[3]](diffhunk://#diff-1522f43b29a2791178c27df29f8a485a5550edeada57e21b4b243c3bbf76ccacR381), [[4]](diffhunk://#diff-1522f43b29a2791178c27df29f8a485a5550edeada57e21b4b243c3bbf76ccacL470-L474), [[5]](diffhunk://#diff-1522f43b29a2791178c27df29f8a485a5550edeada57e21b4b243c3bbf76ccacR768)).
Added configuration for dynamic installation of Azure CLI extensions in 12-remove-control-plane.yaml ([deploy/pipelines/12-remove-control-plane.yamlR85-L89](diffhunk://#diff-1522f43b29a2791178c27df29f8a485a5550edeada57e21b4b243c3bbf76ccacR85-L89)).

Script Enhancements:

Added logic to handle CreateConnections environment variable in New-SDAFDevopsWorkloadZone.ps1 ([deploy/scripts/New-SDAFDevopsWorkloadZone.ps1R23-R31](diffhunk://#diff-74019d2bd9ac7647006fe5074818a834d814315f2f8e86cca4a722786014cf50R23-R31)).
Removed redundant Azure login logic in New-SDAFDevopsWorkloadZone.ps1 ([deploy/scripts/New-SDAFDevopsWorkloadZone.ps1L73-L80](diffhunk://#diff-74019d2bd9ac7647006fe5074818a834d814315f2f8e86cca4a722786014cf50L73-L80)).## Problem

Solution

Tests

Notes

This pull request introduces various changes across multiple files to enhance functionality and improve code consistency. The key changes include:

Configuration Enhancements: Added new configuration options in LandscapeModel.cs and LandscapeDetails.json to manage file share creation settings.
Ansible Playbook Updates: Updates to various playbooks for initializing HA resources, skipping tasks on Windows, adding zypper environment variables to avoid locking behaviour and other improvements.
Pipeline Script Modifications: Updated pipeline scripts to use System.AccessToken for Azure DevOps authentication and added dynamic installation of Azure CLI extensions.
Script Enhancements: Added logic to handle environment variables and removed redundant Azure login logic in PowerShell scripts.


Get-CSOAuthConfiguratin is not for Exchange command. It's for Skype

The document states.
"You can check the status on your Exchange or Skype for Business servers, on premises, by running the Get-CSOAuthConfiguration command in PowerShell."
However its only for Skype for Business servers and NOT for Exchange.

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

ID: 626caf29-7e88-0b56-2013-5c5b7c2a5917
Version Independent ID: 2376192f-793d-0166-46c7-870cd0c41abb
Content: Hybrid Modern Authentication overview and prerequisites for using it with on-premises Skype for Business and Exchange servers
Content Source: Enterprise/hybrid-modern-auth-overview.md
Service: o365-administration
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

Thanks for reaching out, @alambert0008. I will research and correct this.

To find this in Exchange Online you can connect to Exchange Online session and run-
Get-OrganizationConfig | ft OAuth*
OAuth2ClientProfileEnabled
                 False

@kelleyvice-msft - Do you have any updates on this?

working on updating this today.

I've updated this topic, and it should be live shortly. In addition to PowerShell example updates, I also made quite a few revisions in wording and formatting to improve readability.


#Added second section, what to use glimpse for and when to use it on …

…purpose-re$Welcome to correct my description.

It's very well written, you are good to go :)


fix: node affinity match now excluding daemonsets

Daemonsets should not follow node affinity as those are mostly exporters.
Checklist

[x] Docs have been added to draw attention to template specifics (see TODO)

Note that this can only be tested by (removing and re)creating the top level resource responsible for creating pods: StatefulSet, CronJob, Job, Deployment, ReplicaSet (Pod not supported as immutable).


TeaVM forum broken intermittently

The TeaVM forum on Google Groups isn't working.  It says:
"This group either doesn't exist, or you don't have permission to access it. If you're sure this group exists, contact the Owner of the group and ask them to give you access.
RELOAD"
This has been happening for a month or so intermittently for me, maybe longer.

Can reproduce. I have actually never been able to access the forum on my end.

Wow - this is a bummer and very surprising. Is this the link you are using?
https://groups.google.com/forum/#!forum/teavm
I wonder if this is a problem of the group or access from particular places/countries?

Ever since I posted it works fine every time!  @Pneumaticat , can you try the forums again?

Yeah, works for me now. Not sure what changed.

Still working fine 100% of the time.  @konsoletyper , you can close this as far as I'm concerned.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2412

Questions ?
Please refer to the Backport tool documentation


Swashbuckle CLI does not work with the new Minimal Hosting Model in .NET 6

Swashbuckle CLI seems to skip the Program.cs file and look directly at the Startup.cs file to generate the swagger doc. However, the minimal hosting model gets rid of the Startup.cs file in favor of a single Program.cs file to register services. Because of this, I am getting errors when running "dotnet swagger tofile" command.
My use case involves pulling app settings from a key vault when the app starts. Because Swashbuckle CLI isn't aware of environment variables (which don't even exist in devops pipelines), I get the below error:
Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'vault')
I noticed there is a feature request to stop running the app when the "dotnet swagger tofile" command is run here: https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2181
This feature seems a lot more important now that Microsoft has introduced this new pattern.

For anyone else who is experiencing this problem, the work around is to continue using a Startup class as described here:
https://docs.microsoft.com/en-us/aspnet/core/migration/50-to-60?view=aspnetcore-6.0&tabs=visual-studio#use-startup-with-the-new-minimal-hosting-model

For anyone else who is experiencing this problem, the work around is to continue using a Startup class as described here: https://docs.microsoft.com/en-us/aspnet/core/migration/50-to-60?view=aspnetcore-6.0&tabs=visual-studio#use-startup-with-the-new-minimal-hosting-model

I don't get what should be the work around. Could you please explain it?

Is this planned to get fixed?

current CI/CD file generated by azure gives the same error.

Hi,
Is the issue resolved? I am facing exactly the same issue. Please help !!!

Same issue with .NET 8...

+1 Also just encountered

Same here with .NET 8 Minimal API

I'm seeing this in a .NET6 Api with Program.cs clas

Same here with .NET 8 Minimal API

Was this fixed ? Also .NET 8 Minimal API

Just tested, still broken.

@brennfoster you can specify environment variable yourself.
    <Target Name="SwaggerToFile" AfterTargets="AfterBuild">         <Exec Condition="$(CI) != true" Command="dotnet swagger tofile --host http://example.com --output ../../../frontend/cv-ui/libs/api/src/lib/v1.json $(OutputPath)$(AssemblyName).dll v1" EnvironmentVariables="ASPNETCORE_ENVIRONMENT=Development;DOTNET_ROLL_FORWARD=LatestMajor" />     </Target>
I have working minimal API without old startup.ca

Another workaround:
The class SwaggerRunDetector trys to detect if the swagger tool is running the the app. If so I do not execute code segments which should not run when generating the specification e.g. connect to a DB. The instance can be retreived from DI to do checks:
if (app.Services.GetRequiredService<SwaggerRunDetector>().IsSwaggerToolRun())
{
   // e.g. return from function or do not start service
}

using System.Reflection;

namespace TheNamespace.Util.WebApi.OpenApi;

/// <summary>
/// Detects if the current app run is triggered by swagger tool.
/// Swagger tool to generate OpenApi spec will run the application in the new hosting model
/// since it needs the DI container.
/// Starting the app or sub processes my not be possible e.g. during CI/CD.
/// see https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2290
/// </summary>
public class SwaggerRunDetector
{
    private readonly ILogger logger;

    public SwaggerRunDetector(ILogger<SwaggerRunDetector> logger)
    {
        this.logger = logger;
    }

    /// <summary>
    /// Detect if current app run is triggered by swagger
    /// </summary>
    /// <returns>True if the current execution is a swagger generation run.</returns>
    public bool IsSwaggerToolRun()
    {
        logger.LogTrace("Detecting swagger run: GetEntryAssembly: {entryAssembly}", Assembly.GetEntryAssembly()!.FullName);

        var entryAssembly = Assembly.GetEntryAssembly()?.FullName;
        var isSwaggerRun = !string.IsNullOrWhiteSpace(entryAssembly) && entryAssembly.Contains("swagger", StringComparison.InvariantCultureIgnoreCase);
        logger.LogTrace("Swagger run: {isSwaggerRun}", isSwaggerRun);
        return isSwaggerRun;
    }
}

For completeness the build target to generate the openapi.json:
<Target Name="OpenAPI" DependsOnTargets="Build">
  <Exec Command="swagger tofile --output ./openapi.json $(OutputPath)$(AssemblyName).dll v1" WorkingDirectory="$(ProjectDir)" />
</Target>

It has its own problems, e.g. polluting the code with swagger specific conditions and it uses (slow?) reflection.
But maybe it still helps someone.

Same issue with .NET 8...

I don't understand if this is fixed or why this issue is still open. But I am surprised some people are finding this problem with .NET 8. I created a few samples for .NET 8
https://github.com/diegosasw/sample-open-api
and a CI/CD GitHub Actions pipeline (can be tested locally, of course)
- name: Generate Swagger for WebApiOne
   run: dotnet swagger tofile --output temp/web-api-one.json src/WebApiOne/bin/Release/net8.0/WebApiOne.dll web-api-one

- name: Generate Swagger for WebApiTwo
   run: dotnet swagger tofile --output temp/web-api-two.json src/WebApiTwo/bin/Release/net8.0/WebApiTwo.dll web-api-two

and it's generating the open api json properly despite using minimal API and having Program.cs but not Startup.cs
Am I missing something?
PS: I'm using this dotnet tool
{
  "version": 1,
  "isRoot": true,
  "tools": {
    "swashbuckle.aspnetcore.cli": {
      "version": "6.6.2",
      "commands": [
        "swagger"
      ],
      "rollForward": false
    }
  }
}

@diegosasw Your sample projects don't appear to be pulling any values from environment variables or configuration so they won't encounter the issue. I believe that this issue is the same (or very similar) to another that I have posted a bare-bones repro in if you're interested in seeing the error: https://github.com/dotnet/aspnetcore/issues/45025#issuecomment-2161711924


Add links to external reviews/tutorials

There are several users showing how to use Tamper Chrome for different things (reviewing a SSO flow, changing a FB game score, among others) which seem like interesting links to show to people.

https://www.sjoerdlangkemper.nl/2017/08/30/tamper-chrome/

https://www.sjoerdlangkemper.nl/2017/08/30/tamper-chrome/

https://youtu.be/xf5Hri5E3RM

https://youtu.be/xf5Hri5E3RM

https://www.cs.cmu.edu/~rdriley/487/labs/lab07.html

https://www.cs.cmu.edu/~rdriley/487/labs/lab07.html

http://kevinwang.us/cheating-a-guide-to-achieving-high-scores-without-hard-work/

http://kevinwang.us/cheating-a-guide-to-achieving-high-scores-without-hard-work/


Compatibility Issue: Unable to Run google_maps_navigation with google_maps_flutter

Environment details

OS type and version - IOS

Steps to reproduce

Add both google_maps_flutter and google_maps_navigation to pubspec.yaml.
Run flutter pub get to install dependencies.
Navigate to the ios folder and run pod install.
Observe the error regarding incompatible GoogleMaps versions.

example
CocoaPods could not find compatible versions for pod "GoogleMaps":
In Podfile:
google_maps_flutter_ios (from .symlinks/plugins/google_maps_flutter_ios/ios) was resolved to 0.0.1, which depends on
GoogleMaps (< 10.0, >= 8.4)
google_maps_navigation (from `.symlinks/plugins/google_maps_navigation/ios`) was resolved to 0.0.1, which depends on
  GoogleNavigation (= 5.3.1) was resolved to 5.3.1, which depends on
    GoogleMaps (= 8.3.1)

Expected Behavior: I should be able to use both google_maps_navigation and google_maps_flutter together in the same Flutter project without any dependency conflicts.
Proposed Solutions:

Update the google_maps_navigation package to support newer versions of the GoogleMaps pod.
Provide a workaround to allow both packages to coexist in the same project.

Thanks!

Hello Joonas, thanks for looking into this
Our app helps users to find parking on the street, and we use google maps
on our main screen. The user has a button to start search for parkings,
when he does, it displays on the map all available parking spots around his
destination. The user can choose to navigate to a certain parking spot, and
thats where we want to use the navigation sdk. I'm also attaching some
screenshots to help you understand our use.
Thanks for your help!
On Wed, Sep 4, 2024 at 9:58 AM Joonas Kerttula @.***>
wrote:

Hi @OrKahilaPumba https://github.com/OrKahilaPumba,
The conflict arises because both google_maps_flutter and
flutter_navigation_sdk depend on the GoogleMaps SDK. Since the Navigation
SDKs for Android and iOS have their own GoogleMaps SDK dependencies, this
leads to the incompatibility you're encountering.
Could you let us know which specific features of google_maps_flutter
you're looking to use that are missing from the flutter_navigation_sdk?
This will help us better support your use case. If there are essential
features you're missing, we can consider adding them to the
flutter_navigation_sdk.
We're also planning to document this incompatibility in the README to help
prevent confusion for other users.
Thanks for your feedback!
—
Reply to this email directly, view it on GitHub
https://github.com/googlemaps/flutter-navigation-sdk/issues/148#issuecomment-2328064866,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCRU56KY36LCHCB5NE6HFGDZU2VPTAVCNFSM6AAAAABNRRMXFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRYGA3DIOBWGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @OrKahilaPumba,
The conflict arises because both google_maps_flutter and flutter_navigation_sdk depend on the GoogleMaps SDK. Since the Navigation SDKs for Android and iOS have their own GoogleMaps SDK dependencies, this leads to the incompatibility you're encountering.
Note that the flutter_navigation_sdk includes ways to control the map itself, similar to what google_maps_flutter offers.
Could you let us know which specific features of google_maps_flutter you're looking to use that are missing from the flutter_navigation_sdk? This will help us better support your use case. If there are essential features you're missing, we can consider adding them to the flutter_navigation_sdk.
We're also planning to document this incompatibility in the README to help prevent confusion for other users.
Thanks for your feedback!

There is no takeSnapshot method，How should I get screenshots from the Map sdk in the current sdk?

This issue has not been fixed. I cannot be able to use this package with the default google_map_flutter package

Hi @reubendeekay ,

The conflict arises because both google_maps_flutter and flutter_navigation_sdk depend on the GoogleMaps SDK. Since the Navigation SDKs for Android and iOS have their own GoogleMaps SDK dependencies, this leads to the incompatibility you're encountering.

As this package is a wrapper for the native Navigation SDKs, it cannot resolve this issue directly. You have a couple of options:

Use only the navigation package, which also supports the classic map view.
Force dependency resolution in your Gradle code and iOS implementation. However, this approach will only work if you use package versions of google_maps_flutter and flutter_navigation_sdk that depend on the same version of the underlying GoogleMaps SDK.

@OrKahilaPumba how did u fix this issue can u help me

@OrKahilaPumba how did u fix this issue can u help me

Sorry man, we didn't find a solution for the problem, we just stopped using google_maps_flutter

@v62win The issue is explained here:
https://github.com/googlemaps/flutter-navigation-sdk?tab=readme-ov-file#compatibility-with-other-libraries


corechecks/snmp: Disable gosnmp logger

What does this PR do?
Disable gosnmp logger
Motivation
See https://github.com/gosnmp/gosnmp/issues/313
Additional Notes
Describe your test plan
We need to s.gosnmpInst.loggingEnable is false, but since the field is not exported, we can't test it. We can test manually as described below.
Add this test to session_test.go and verify that the s.gosnmpInst.loggingEnable is false using a debugger.

func Test_snmpSession_Connect(t *testing.T) {
	s := &snmpSession{}
	config := snmpConfig{
		ipAddress: "<IP_ADDRESS>",
		port:      uint16(1234),
	}
	err := s.Configure(config)
	assert.NotNil(t, err)

	s.Connect()
	s.Connect()
}   // breakpoint here and check that s.gosnmpInst.loggingEnable is `false`

Could it be tested by verifying that some logs are not displayed?

Could it be tested by verifying that some logs are not displayed?

Logs are currently not displayed before and after the change since they are sent to ioutil.Discard.
So, not sure how to test that.
I tried to use reflection to get the value of s.gosnmpInst.loggingEnable, but without success.


Re-exported symbols via object notation not handled

oak-session uses the export object notation, which makes the module appear empty on doc.deno.land.

I have been digging into this.  The export object notation is handled.  For example the following would work as expected:
const foo = "foo";

export { foo };

The problem is things like the following are not being handled:
import foo from "./foo.ts";

export { foo };

The import is being tracked, but the reexport logic doesn't seem to be properly tracking the re-exported symbol.

It also appears to be limited to default imports, as the following works:
import { foo } from "./foo.ts";

export { foo };

Sorry for the stream of concious here, but the problem is that there is a bug when searching for the bound symbol, when the re-exports are mapped, it is putting the local symbol, not the imported symbol.  For example this breaks also:
import { foo as f } from "./foo.ts";

export { f };

That change has been upstreamed to docland and I have confirmed oak-sessions doc now renders as expected now.


Update rubocop channel to 0.69

This updates the rubocop channel for codeclimate to 0.69, which aligns with the version of rubocop that we're using.

@miq-bot add_reviewer @agrare

@djberg96 are you doing each of these repos manually?

@agrare Yes.


This no longer works

SQL Server 2016 Enterprise Edition - Per core is no longer available in the list only SP1 and SP2. They both say "licence key no longer needed"

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

ID: 4600c4b7-8444-f0d4-9e81-25882a951d22
Version Independent ID: 68e1a06b-69f7-8fc9-cfb9-8e4956580fab
Content: How to find your report server product key - Power BI
Content Source: powerbi-docs/report-server/find-product-key.md
Service: powerbi
Sub-service: powerbi-report-server
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Thanks for your comment, @chris-schulz.
I've assigned this issue to the doc author for review.

Hi, @chris-schulz -- BTW the key should be showing for SQL 2016, 2017, and 2019 now.
thanks!


How can I use JavaScript API using this package?

Can you help me how can I use these API commands?
https://developer.tawk.to/jsapi/
For example, I need to showWidget() by click on the button.

Sure @cheshirrrcat. The next package will come with those wrappers

@cheshirrrcat as promised. Check out the latest version 3.0.0 for more functionalities and customisation.
Hope it helps!

@cheshirrrcat as promised. Check out the latest version 3.0.0 for more functionalities and customisation.
Hope it helps!


[Feature Request] Error when a port is taken

Is your feature request related to a problem? Please describe.

When I do temporal server start-dev --ui-port 3000 and 3000 is already taken, I see no indication in the output that that's the case.
Describe the solution you'd like

Output:
Error: port 3000 is taken. Select another port with the --ui-port option.

and exit. Or better yet, increment until we get an open port:
Port 3000 is taken. Using port 3001 instead.
🆙
Temporal Server is running at: localhost:7233
Web UI is running at: http://localhost:3001

Could do for Server port as well as UI port?

Hey @lorensr, how you doing? Hope you're well :)
Can i get this one? Thanks!

Sorry for the delay—that would be great, thanks!

Just so we're all aligned. I plan to open the PR by this weekend. Sorry about the delay.

Testing on the rewrite branch it appears the command errors if the UI port is taken, but not the server port.
➜  temporal git:(cli-rewrite) ✗ ./temporal server start-dev --ui-port 3000
time=2024-03-01T08:53:58.904 level=ERROR msg="Failed to start gRPC listener" error="listen tcp <IP_ADDRESS>:7233: bind: address already in use" service=frontend address=<IP_ADDRESS>:7233
Temporal server is running at: localhost:7233
Web UI is running at: http://localhost:3000
Metrics available at: http://localhost:50598/metrics

➜  temporal git:(cli-rewrite) ✗ ./temporal server start-dev --ui-port 3000
time=2024-03-01T08:54:18.517 level=ERROR msg="Failed to start gRPC listener" error="listen tcp <IP_ADDRESS>:7233: bind: address already in use" service=frontend address=<IP_ADDRESS>:7233
{"time":"2024-03-01T08:54:18.520478-08:00","level":"FATAL","prefix":"echo","file":"server.go","line":"149","message":"listen tcp <IP_ADDRESS>:3000: bind: address already in use"}

I wonder if we should report this to the server. Server start should fail if frontend can't bind IMO.

Looks like the server does fail (pre CLI rewrite and with make start-sqlite in the server repo):
{"level":"fatal","ts":"2024-03-01T09:08:15.259-0800","msg":"Failed to start gRPC listener","error":"listen tcp <IP_ADDRESS>:7233: bind: address already in use","service":"frontend","address":"<IP_ADDRESS>:7233",...

[1]    74946 exit 1     temporal server start-dev

Is this resolved by https://github.com/temporalio/cli/pull/564 @mjameswh ?

Is this resolved by https://github.com/temporalio/cli/pull/564?

Indeed. All the following are with CLI 0.12.0.
Frontend port already in use:
time=2024-06-20T23:31:58.607 level=ERROR msg="can't set frontend port 7233: listen tcp <IP_ADDRESS>:7233: bind: address already in use"

Frontend HTTP port already in use:
time=2024-06-20T23:34:23.198 level=ERROR msg="can't set frontend HTTP port 8080: listen tcp <IP_ADDRESS>:8080 bind: address already in use"

Metrics port already in use:
time=2024-06-20T23:35:54.333 level=ERROR msg="can't set metrics port 9001: listen tcp <IP_ADDRESS>:9001: bind: address already in use"

UI port already in use:
{"time":"2024-06-20T23:32:25.810999-04:00","level":"FATAL","prefix":"echo","file":"server.go","line":"150","message":"listen tcp <IP_ADDRESS>:8233: bind: address already in use"}

Note the last one has a different printing format. I'll fix that. Let's leave this ticket open until then.


Bluetooth to work on crouton

Would it be possible to get bluetooth support on crouton for audio devices?

I am having trouble with this, even with bluetooth in chrome os on. My little sticker says CB3-131, and I have a Acer Chromebook 11. Here is the error, Trusty Xubuntu https://imgur.com/gallery/wCBhx


Improve stack handling

The code is a mess, its unclear its purposes, and it's not reporting correct stacktraces.
Specifically, we're seeing places where its MyCode.php in handleFatalError. The function call is coming from our source, whereas the filename is the current frame. This is due to how we try to "fix" the PHP stack.
My best understanding is that the 'function' and 'args' bits of each frame are what is being called (vs the current context). Because of these we take the current frame, filename, lineno, and then use the caller frame's function and vars. This should give us the current function as of that frame, which is what Sentry expects.
https://sentry.io/share/issue/333233352e313630343332393538/

I think we can also kill 'module'.

Due to my ignorance, we broke error suppression in getsentry/sentry-php@e2f077d72b7492b921752f3f4a7a27a3973469f3.
The issue is that register_shutdown_function will happen in both fatal and non-fatal situations, and error_get_last may be a fatal error. The assumption was that set_error_handler would always catch errors, but thats simply not true, and a class of errors can only be caught using register_shutdown_function + error_get_last.


Uniformly lint

Codecov Report

Merging #89 (6f11263) into main (39a0033) will not change coverage.
The diff coverage is 100.00%.

Additional details and impacted files

The CI failure is intended, since this standardizes the whitespace and newlines of OFFXML files


Update Readme & config.json comments

Significant changes to explain JSON Format to end users

Readme updated.


Fully Qualified Type Names

I am generating a single client and might have collisions on Type with too many using statements.  Is there a way to generate using fully qualified type names?

When fully qualified names are present in the Swagger, NSwag only uses the last segment for Types.
Example:
ServiceA.Model.MyModel  ===> MyModel
ServiceB.Model.MyModel  ===> MyModel
And a conflict is created.
To generate fully qualified names with Swashbuckle and replicate this behavior, add a call to UseFullTypeNameInSchemaIds().
config.EnableSwagger(c =>
{
    // Enable Fully Qualified Names in Swagger
    c.UseFullTypeNameInSchemaIds();
});

This behavior is caused by the DefaultTypeNameGenerator in the NJsonSchema project, and not the NSwag project.
We were able to workaround this limitation by making 2 changes to the NJsonSchema project.
Modify Generate(JsonSchema schema, string typeNameHint) to return fully qualified type
From
        protected virtual string Generate(JsonSchema schema, string typeNameHint)
        {
            if (string.IsNullOrEmpty(typeNameHint) && schema.HasTypeNameTitle)
            {
                typeNameHint = schema.Title;
            }

            var lastSegment = typeNameHint?.Split('.').Last();
            return ConversionUtilities.ConvertToUpperCamelCase(lastSegment ?? "Anonymous", true);
        }

To
        protected virtual string Generate(JsonSchema schema, string typeNameHint)
        {
            if (string.IsNullOrEmpty(typeNameHint) && schema.HasTypeNameTitle)
            {
                typeNameHint = schema.Title;
            }

            return typeNameHint;
            //var lastSegment = typeNameHint?.Split('.').Last();
            //return ConversionUtilities.ConvertToUpperCamelCase(lastSegment ?? "Anonymous", true);
        }

This change returns fully qualified names, however, it doesn't handle complex types such as ValueTuple<>. There will also be an impact on the use of "Anonymous" which we haven't had time to explore.
Before change
public async System.Threading.Tasks.Task<MyModel> GetAsync(...

After change
public async System.Threading.Tasks.Task<ServiceA.Model.MyModel> GetAsync(...

I find it interesting that a lot of NSwag code generation is fully qualified (like System.Threading.Tasks.Task above), yet the swagger types are not. This seems inconsistent.
Modify Generate(JsonSchema schema, string typeNameHint, IEnumerable reservedTypeNames) to handle complex types
From
            typeNameHint = (typeNameHint ?? "")
                . "")
                .Replace("[", "<")
                .Replace("]", ">")
                //.Replace("<", " Of ")
                //.Replace(">", " ")
                //.Replace(",", " And ")
                .Replace("  ", " ");

Example Tuple
System.ValueTuple<ServiceA.Model.MyModel,ServiceB.Model.MyModel>

or short-hand

(ServiceA.Model.MyModel, ServiceB.Model.MyModel)

Before change
public async System.Threading.Tasks.Task<ValueTupleOfMyModelAndMyModel> GetAsync(...

After change
public async System.Threading.Tasks.Task<System.ValueTuple<ServiceA.Model.MyModel, ServiceB.Model.MyModel>> GetAsync(...

I would image that switching from "Last Segment" to "Fully Qualified" is a major change that will require full regression testing of NSwag, NJsonSchema, and other related projects, SO - we haven't created any official submission to the NJsonSchema project yet.
Perhaps @RicoSuter can comment on this?

Namespaces should not be exposed in OpenAPI as it is a leaky abstraction - ie some consumers do not know namespaces, eg TypeScript... You can change this behavior with a custom TypeNameGenerator but you'd need to write your own CLI based on the NSwag pkgs.

@RicoSuter Perhaps another option is to enable the application of schema processors via attributes, for generating code in a Client project at build time that references the API project, and therefore piggybacks off of its NSwag attributes.

I ran in the same problem so I don't want to open a new issue.
I order my code by features and each feature has it's own dto's. So the same dto-name may appear in different features.
Thus I need to have the fullname of the dto's generated in the c# client. By the way I share the dto's with my blazor client so I disabled the generation of the dto's.
Following your advice, @RicoSuter, I created a custom TypeNameGenerator. To have the namespace available I also needed to create a custom SchemaNameGenerator:
public class CustomSchemaNameGenerator : ISchemaNameGenerator
{
    public string Generate(Type type)
    {
        return type.FullName?.Replace(".", "_");
    }
}

public class CustomTypeNameGenerator : DefaultTypeNameGenerator
{
    public override string Generate(JsonSchema schema, string typeNameHint, IEnumerable<string> reservedTypeNames)
    {
        var typeName = Generate(schema, typeNameHint).Replace("_", ".");
        Console.WriteLine($"typeName: {typeName}");
        return typeName;
    }
}

After generation with those custom classes I get a specification.json with the namespace (example):
"schema": {
    "$ref": "#/components/schemas/Application.Shared.UseCases.Employee.CreateEmployeeCommand"
}

By looking at the CustomSchemaNameGenerator I would have expected to see the . replaced by _?
Why is the CustomTypeNameGenerator affecting the schema?
The generated client on the other hand looks like this:
[System.CodeDom.Compiler.GeneratedCode("NSwag", "<IP_ADDRESS> (NJsonSchema v<IP_ADDRESS> (Newtonsoft.Json v<IP_ADDRESS>))")]
public partial interface IEmployeeClient
{
    System.Threading.Tasks.Task<int> CreateAsync(CreateEmployeeCommand command);
}

why isn't the namespace prefixed to the CreateEmployeeCommand?
The Console.WriteLine($"typeName: {typeName}"); in the CustomTypeNameGenerator outputs:

typeName: Application.Shared.UseCases.Employee.CreateEmployeeCommand

If I remove the .Replace("_", "."); in the CustomTypeNameGenerator the generated client looks like this:
System.Threading.Tasks.Task<int> CreateAsync(Application_Shared_UseCases_Employee_CreateEmployeeCommand command);

So it seems to be working fine. Why is the output changed by the generation of the client? How can I fix this?

same issue here, we use "wrapper" classes for our features, so all our responses are called "Model"
Interestingly enough, I can get NSwag.MSBuild to generate my specification.json with a FQN, e.g. -
"$ref": "#/components/schemas/VerticalSliceArchitecture.Features.Customers.GetAllCustomers.Model"
"$ref": "#/components/schemas/VerticalSliceArchitecture.Features.Customers.GetCustomerById.Model"
But the C# client that is generated (That I want to use in Blazor WASM), proceeds to use Model and Model2.
What is very interesting is that if I use NSwag.CodeGeneration.CSharp, and point it to the specification.json built with NSwag.MSBuild, then it DOES use the FQN
services.AddOpenApiDocument(configure =>
{
     configure.Title = "Vertical Slice Architecture API";
     configure.SchemaNameGenerator = new CustomSchemaNameGenerator();
     configure.TypeNameGenerator = new CustomTypeNameGenerator();
});

config.nswag
{
  "runtime": "Net50",
  "defaultVariables": null,
  "documentGenerator": {
    "aspNetCoreToOpenApi": {
      "project": "VerticalSliceArchitecture.Api.csproj",
      "msBuildProjectExtensionsPath": null,
      "configuration": null,
      "runtime": null,
      "targetFramework": null,
      "noBuild": true,
      "msBuildOutputPath": null,
      "verbose": true,
      "workingDirectory": null,
      "requireParametersWithoutDefault": false,
      "apiGroupNames": null,
      "defaultPropertyNameHandling": "Default",
      "defaultReferenceTypeNullHandling": "Null",
      "defaultDictionaryValueReferenceTypeNullHandling": "NotNull",
      "defaultResponseReferenceTypeNullHandling": "NotNull",
      "generateOriginalParameterNames": true,
      "defaultEnumHandling": "Integer",
      "flattenInheritanceHierarchy": false,
      "generateKnownTypes": true,
      "generateEnumMappingDescription": false,
      "generateXmlObjects": false,
      "generateAbstractProperties": false,
      "generateAbstractSchemas": true,
      "ignoreObsoleteProperties": false,
      "allowReferencesWithProperties": false,
      "excludedTypeNames": [],
      "serviceHost": null,
      "serviceBasePath": null,
      "serviceSchemes": [],
      "infoTitle": "My Title",
      "infoDescription": null,
      "infoVersion": "1.0.0",
      "documentTemplate": null,
      "documentProcessorTypes": [],
      "operationProcessorTypes": [],
      "typeNameGeneratorType": null,
      "schemaNameGeneratorType": "CustomSchemaNameGenerator",
      "contractResolverType": null,
      "serializerSettingsType": null,
      "useDocumentProvider": true,
      "documentName": "v1",
      "aspNetCoreEnvironment": null,
      "allowNullableBodyParameters": true,
      "useHttpAttributeNameAsOperationId": false,
      "output": "wwwroot/api/v1/specification.json",
      "outputType": "OpenApi3",
      "newLineBehavior": "Auto",
      "assemblyPaths": [],
      "assemblyConfig": null,
      "referencePaths": [],
      "useNuGetCache": false
    }
  },
  "codeGenerators": {
    "openApiToCSharpClient": {
      "clientBaseClass": null,
      "configurationClass": null,
      "generateClientClasses": true,
      "generateClientInterfaces": true,
      "clientBaseInterface": null,
      "injectHttpClient": true,
      "disposeHttpClient": true,
      "protectedMethods": [],
      "generateExceptionClasses": true,
      "exceptionClass": "ApiException",
      "wrapDtoExceptions": true,
      "useHttpClientCreationMethod": false,
      "httpClientType": "System.Net.Http.HttpClient",
      "useHttpRequestMessageCreationMethod": false,
      "useBaseUrl": false,
      "generateBaseUrlProperty": true,
      "generateSyncMethods": false,
      "generatePrepareRequestAndProcessResponseAsAsyncMethods": false,
      "exposeJsonSerializerSettings": false,
      "clientClassAccessModifier": "public",
      "typeAccessModifier": "public",
      "generateContractsOutput": false,
      "contractsNamespace": null,
      "contractsOutputFilePath": null,
      "parameterDateTimeFormat": "s",
      "parameterDateFormat": "yyyy-MM-dd",
      "generateUpdateJsonSerializerSettingsMethod": true,
      "useRequestAndResponseSerializationSettings": false,
      "serializeTypeInformation": true,
      "queryNullValue": "",
      "className": "{controller}Client",
      "operationGenerationMode": "MultipleClientsFromOperationId",
      "additionalContractNamespaceUsages": [],
      "generateOptionalParameters": false,
      "generateJsonMethods": false,
      "enforceFlagEnums": false,
      "parameterArrayType": "System.Collections.Generic.IEnumerable",
      "parameterDictionaryType": "System.Collections.Generic.IDictionary",
      "responseArrayType": "System.Collections.Generic.ICollection",
      "responseDictionaryType": "System.Collections.Generic.IDictionary",
      "wrapResponses": false,
      "wrapResponseMethods": [],
      "generateResponseClasses": true,
      "responseClass": "SwaggerResponse",
      "namespace": "VerticalSliceArchitecture.Frontend",
      "requiredPropertiesMustBeDefined": true,
      "dateType": "System.DateTimeOffset",
      "jsonConverters": null,
      "anyType": "object",
      "dateTimeType": "System.DateTimeOffset",
      "timeType": "System.TimeSpan",
      "timeSpanType": "System.TimeSpan",
      "arrayType": "System.Collections.Generic.ICollection",
      "arrayInstanceType": "System.Collections.ObjectModel.Collection",
      "dictionaryType": "System.Collections.Generic.IDictionary",
      "dictionaryInstanceType": "System.Collections.Generic.Dictionary",
      "arrayBaseType": "System.Collections.ObjectModel.Collection",
      "dictionaryBaseType": "System.Collections.Generic.Dictionary",
      "classStyle": "Poco",
      "jsonLibrary": "NewtonsoftJson",
      "generateDefaultValues": true,
      "generateDataAnnotations": true,
      "excludedTypeNames": [],
      "excludedParameterNames": [],
      "handleReferences": false,
      "generateImmutableArrayProperties": false,
      "generateImmutableDictionaryProperties": false,
      "jsonSerializerSettingsTransformationMethod": null,
      "inlineNamedArrays": false,
      "inlineNamedDictionaries": false,
      "inlineNamedTuples": true,
      "inlineNamedAny": false,
      "generateDtoTypes": true,
      "generateOptionalPropertiesAsNullable": false,
      "generateNullableReferenceTypes": false,
      "templateDirectory": null,
      "typeNameGeneratorType": null,
      "propertyNameGeneratorType": null,
      "enumNameGeneratorType": null,
      "checksumCacheEnabled": false,
      "serviceHost": null,
      "serviceSchemes": null,
      "output": "../VerticalSliceArchitecture.Frontend/Services/VerticalSliceArchitectureApiClients.g.cs",
      "newLineBehavior": "Auto"
    }
  }
}

Generating code using C#:
System.Net.WebClient wclient = new System.Net.WebClient();

var document =
    await OpenApiDocument.FromJsonAsync(
        wclient.DownloadString("http://localhost:5136/api/v1/specification.json"));

wclient.Dispose();

var settings = new CSharpClientGeneratorSettings
{
    GenerateDtoTypes = false,
    GenerateClientInterfaces = true,
    UseBaseUrl = false,
    CSharpGeneratorSettings =
    {
        Namespace = "VerticalSliceArchitecture.Frontend.Services.generated",
        TypeNameGenerator = new CustomTypeNameGenerator()
    }
};

var generator = new CSharpClientGenerator(document, settings);
var code = generator.GenerateFile();
Console.WriteLine(code);

Custom converters used by both proceses:
public class CustomSchemaNameGenerator : ISchemaNameGenerator
{
    public string Generate(Type type)
    {
        return type.FullName?.Replace("+", ".") ?? "";
    }
}

public class CustomTypeNameGenerator : ITypeNameGenerator
{
    public string Generate(JsonSchema schema, string typeNameHint, IEnumerable<string> reservedTypeNames)
    {
        return typeNameHint.Replace("+", ".");
    }
}

@shainegordon So you got the desired beaviour by using code instead of msbuild? Where did you put the shown code snippet?
Do you still run it on every build?
This is however just a workaround. A fix would be helpful anyway.

@Climax85 I just dumped that code into one of my API endpoints so I could test the concept.
I did then try to extract this into a console application, but the issue there is then where the generated code is written to. When you are executing/debugging code, it is not running from your source directory, it actually runs from the running application's obj/Debug/net6.0/ folder
The only practical way that I can see this working in a way that will work on every developer's machine, transparently, is to create a dotnet cli tool, and then call that tool as part of the build process

@shainegordon So you got the desired beaviour by using code instead of msbuild? Where did you put the shown code snippet? Do you still run it on every build? This is however just a workaround. A fix would be helpful anyway.

I actually ended up doing a console application, works perfectly for my scenario
using Microsoft.Extensions.Configuration;
using NSwag;
using NSwag.CodeGeneration.CSharp;
using VerticalSliceArchitecture.CodeGen.Console;
using VerticalSliceArchitecture.CodeGen.NSwag;

IConfiguration config = new ConfigurationBuilder()
    .AddJsonFile("appsettings.json", false)
    .AddJsonFile("appsettings.Development.json", false)
    .AddEnvironmentVariables()
    .Build();

var settings = config.GetRequiredSection("Settings").Get<Settings>();

var document =
    await OpenApiDocument.FromJsonAsync(File.ReadAllText(settings.OpenApiFilePath));

var clientGeneratorSettings = new CSharpClientGeneratorSettings
{
    GenerateDtoTypes = false,
    GenerateClientInterfaces = true,
    UseBaseUrl = false,
    CSharpGeneratorSettings =
    {
        Namespace = "VerticalSliceArchitecture.Frontend.Services",
        TypeNameGenerator = new CustomTypeNameGenerator()
    }
};

var generator = new CSharpClientGenerator(document, clientGeneratorSettings);
var code = generator.GenerateFile();

File.WriteAllText(Path.Combine(settings.CSharpClientOutputPath, "Client.cs"), code);

Output
namespace VerticalSliceArchitecture.Frontend.Services.generated
{
    using System = global::System;

    [System.CodeDom.Compiler.GeneratedCode("NSwag", "<IP_ADDRESS> (NJsonSchema v<IP_ADDRESS> (Newtonsoft.Json v<IP_ADDRESS>))")]
    public partial interface ICustomerClient
    {
        /// <exception cref="ApiException">A server side error occurred.</exception>
        System.Threading.Tasks.Task<VerticalSliceArchitecture.Features.Customers.GetCustomerById.Model> GetByIdAsync(int id);

        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
        /// <exception cref="ApiException">A server side error occurred.</exception>
        System.Threading.Tasks.Task<VerticalSliceArchitecture.Features.Customers.GetCustomerById.Model> GetByIdAsync(int id, System.Threading.CancellationToken cancellationToken);

    }
//snipped

It would be nice to have a configuration for this in the Studio

Also have an issue with this as we have an object that is named the same as a namespace.
So when the client get's generated.
e.g.
project: MyCompany.Booking.Domain

Booking GetBooking(Guid id);

Gives the error that Booking is a namespace but is used like a type.
Normally would use a using alias, or use the fullnamespace, but according to this issue, this cannot be auto-generated.


HUB12 Support

Does it support HUB12?

Nope, HUB 12 in not multiplexed so totally different.

Not multiplexed? What do you mean?
As far I know, HUB12 use miltplexion with pins A & B. The general algorithm of HUB12 processing is quite similar to work with RGB 32x16 scan4 panels.
I am work with Mono HUB12 and RGB HUB75 in the same library,

Sorry, my mistake.
It looks like a 1/4 scan on second looking.
You will be able to use the library with a few tricks. There is an example of this in the git repository.

You won't be able to get this work with this library, correctly, anyway.
First of all, the memory layout are different.
while display layout of HUB-75 like this
ABCDEF...
ABCDEF...

HUB-12 is like this
AEIMQU...
BFJNRV...
CGKOSW...
DHLPTX...

Also, the polarity of data is inverted, OE is also inverted;
It's way easier for you to work with SPI for HUB-12, and it's easy to make driver for

layout of HUB-75 like this
in 1 -> ABCDEF...
in 2 -> ABCDEF...

It is true for plain scan RGB panels only, for example for panels where scan is half of height, like 32x16 scan8. If we will talk about 32x16 scan4 panels - many of them has layout similar to monochrome ones.
If you plan to work with wide set of RGB panels - you will forced to manage several variants of memory layout.
Change polarity settings is not difficult at all :)


Feature: add axis indicators to the 3d view

Expected Behavior
Being able to tell which way is +/- x/y/z axis.
It is very confusing to navigate the 3d view and do correct modelling without clearly indicated axis.
I will be adding this feature asap
Actual Behavior
No indicator
Steps to Reproduce the Problem
1 . start openjscad
2. see there is not axis indicator
Specifications

Environment: browser

Well... there is actually but you cannot see those easily. The axis lines have colors, and positive is the darker color. Not good.
By the way, please make this optional as well.

Wow ok , even now that you gave me this info , I still do not see it.
And yes, optional it will be.
Also in the new renderer ;)

@kaosat-dev Have you seen the Autocad web viewer? It has a different way of showing the "orientation", using a little cube in the upper right hand corner. Each side of the cube has a name; left, right, front, back,etc. I kind of like it.

yep :) that is significantly harder to do  than simple axis indicators (I implemented such a thing once, not trivial) , so add that to 'some day at a later point' :)

This is part of V2, so I'm closing this.

For anyone who wants to stay on V1 or can't wait for V2 (while it's not out) here is a really crappy quick version of axis markers... just so someone else doesn't have to mess with it:
function axis() {
    return union (
    color("red",cube([40,.1,.1],{center:true})),
    text("X", 1).rotateZ(90).translate([42,-.7,0]),
    color("red",cube([.1,40,.1],{center:true})),
    text("Y", 1).translate([-.5,41,0]),
    color("red",cube([.1,.1,40],{center:true})),
    text("Z", 1).rotateX(90).translate([-.5,0,41])
    ,color("red",cube({center:true}))
    )
}


BUG: Test dataset's coordinate transformations do not match data dimension

The test dataset has 4 dimensions, but only has 3 scale transformation. This causes a RunTimeError in these lines:
https://github.com/czbiohub-sf/iohub/blob/902bba734969101c50cbddab49bf8d80ec44a01c/iohub/ngff.py#L961-L966
For example:
>>from iohub import open_ome_zarr
>>> dataset = open_ome_zarr("20200812-CardiomyocyteDifferentiation14-Cycle1.zarr")
>>> dataset['B/03/0'].scale
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/anaconda3/envs/mantis-dev/lib/python3.10/site-packages/iohub/ngff.py", line 964, in scale
    raise RuntimeError(
RuntimeError: Length of scale transformation 3 does not match data dimension 4.

Based on my reading of the NGFF spec, this seems to be a bug in the test dataset.

There is indeed a bug in there. They fixed it recently with v1.2.0. I will update the link in #173.


[question] What's the difference between coc-eslint, coc-tsserver and coc-prettier?

Which's better for JS, TS programming in front-end?
They all look very similar, but I can't pick one of them

My suggestion is use all of them, read the doc and google if you can't understand what they does


Huge light bulb near code action suggestions

What did you expect to happen?
Small light bulb should appear next to code action
What actually happened?
Huge light bulb appears instead
Additional details:

My config

Problem was also reported on reddit

Steps to reproduce:

Open any source file
Navigate to any place, where there is a code action suggested

System information:

```
SYSTEM  info       (Pop!_OS 20.10 . Linux 5.8.0-7642-generic x86_64)
        shell      /bin/bash
        path       (/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /snap/bin /usr/lib/emacs/26.3/x86_64-linux-gnu/)
EMACS   dir        ~/.emacs.d/
        version    (26.3 мар 26, 2020)
        buildopts  --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/emacs-mEZBk7/emacs-26.3+1=. -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'
        features   XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS LIBSYSTEMD LCMS2
        traits     (gui server-running envvar-file)
DOOM    dir        ~/.doom.d/
        version    (2.0.9 grafted, HEAD -> develop, origin/develop, origin/HEAD 4792593 2021-02-17 14:20:37 -0500)
        font       #
        theme      doom-moonlight
        modules    (:completion company ivy :ui doom doom-dashboard doom-quit hl-todo modeline neotree ophints (popup +defaults) tabs vc-gutter vi-tilde-fringe workspaces :editor (evil +everywhere) file-templates fold snippets :emacs dired electric undo vc :checkers syntax :tools direnv docker editorconfig (eval +overlay) lookup lsp magit pdf :lang (cc +lsp) emacs-lisp (go +lsp) (haskell +dante) json (javascript +lsp) latex markdown nix org (python +lsp) qt sh (web +lsp) yaml :config (default +bindings +smartparens))
        packages   ((graphviz-dot-mode) (dap-mode) (fish-mode) (groovy-mode))
        unpin      (n/a)
        elpa       (n/a)
```

Same for me here. Very destructed. Any suggestions on how to work around while not fixed?

The issue is known upstream: https://github.com/emacs-lsp/lsp-ui/issues/573

As mentioned in emacs-lsp/lsp-ui#573, this is an image scaling issue on Emacs 26.x. The quick fix is to upgrade to Emacs 27.1 (Doom will be dropping 26.x support later this year anyway, so it'd be a good idea to do this soon).
That said, I've bumped lsp-ui in e858e25, which disables sideline icons by default, and in a3f242d I've enabled it only for 27+ users. In either case, this issue should be "resolved" as far as Doom's users are concerned. Thanks for bringing it to my attention!


grep -x is newline sensitive?

I am trying to use grep on a textfile fruitlist.txt that has the following:
"apple
apples
pineapple
apple-
apple-fruit
fruit-apple
banana
pear
"
but when I run grep -x apple fruitlist.txt I get nothing shown on the terminal.
but if I make a file fruit.txt
"apple" (without the newline)
and run grep -x apple fruit then I see apple in the console, which I expected.
Is this normal? When I do the exact same thing on the ubuntu shell in virtualbox,  grep -x apple fruitlist.txt still returns apple.
Edit: I'm terribly sorry, I meant to type -x instead of -v.

@brianlee99 How are you creating fruitlist.txt?  Does the file have Windows line endings (\r\n)?

Now that you mention it, when I use nano directly in the shell, or configure subl to use \n instead of \r\n, grep works perfectly. Seems like such an obvious solution, but anyway thank you!


Update README.md

The workspace name has to be prefixed with @raiden_network/ in order to work from root dir

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


Changes on flutter 2.5 affects photo_view library and prevents compilation.

When changing SDK version on pubspec.yaml to ">=2.7.0 <3.0.0" from ">=2.12.0 <3.0.0", causes compilation failure with following message.
src/core/photo_view_gesture_detector.dart:106:29: Error: The argument type 'PointerEvent' can't be assigned to the parameter type 'PointerDownEvent'. This is because there is a change in addAllowedPointer overriding from ScaleGestureRecognizer class.
Reference: GestureRecognizer cleanup
To Reproduce
Changesdk version on pubspec.yaml to ">=2.7.0 <3.0.0" and compile.
Flutter version: 2.5
Photo View version: 0.12.0

@rishad2m8 please search for existing Issues before opening a new one, here you can read more about that #459
And I have seen the MR was merged so we should have an update soon.

Not exactly like #459 since it was fixed on 0.12.0.
@rishad2m8 can you confirm this is reproduced on  0.12.0 ?


relative path is wrong when fileName contains a directory

Thank you so much for creating this plugin.
I create two different output directories for the different two formats es and cjs. I got the idea from
https://www.sensedeep.com/blog/posts/2021/how-to-create-single-source-npm-module.html
This is the config I am using right now:
…
export default defineConfig({
  plugins: [
    …
    libAssetsPlugin({
      limit: 1024 * 8,
      extensions: ['.jpg', '.png', '.otf', '.ttf', '.woff'],
    }),
  ],
  build: {
    lib: {
      entry: path.resolve(__dirname, 'src/index.js'),
      formats: ['es', 'cjs'],
      fileName: (format) => {
        if (format === 'es') {
          return 'mjs/index.js';
        }
        return `${format}/index.js`;
      },
    },
    …
  },
});

Sadly the asset path is kept at ./assets in the index.js files. I now added a build step that copies the assets into the mjs and cjs directories. Is there any chance that you might be able to change the  imports to ../assets instead?

Thank you for your feedback. The plugin will adjust the extracted resource's address according to the importer's output path from v0.4.2.

I just tried 0.4.3 and it works. Thank you very much. For me this issue can be closed ☺


💥 original file extension is now removed

fixed #10

I also added a feature to convert the files to another target path, if the target is not specified you can also use a flag to create a folder named 'converted' where the files will be stored
it is also possible to keep the files in the source directory

thanks, I think I overlooked that.😊

I think that makes sense to have a default folder to put the converted images and if the user sets a target directory we check if that directory exists and we create it if needed so the processed images can be stored there.
So far the "converted" has been the default.

Conflicts were addressed in a different PR

Great work @AgentSchmisch 👏 !!!


Getting Started experience resizing window

Testing #111554
The "skip" button isn't responsive when resizing the window and overlays onto the tasks. Maybe it should be in the bottom corner when the window resizes or at the top, above the tasks? It would be good to have a vertical scroll bar as the window resizes too.

fixed as part of #111753

fixed as part of #111753


Fallback Editor Not Opened in Case a Form Cannot Be Opened

Describe the Bug
When opening a .form file that cannot successfully be opened (e.g. because it contains unknown form fields) the fallback editor (JSON editor) isn't opened. The tab is empty and therefore useless.

Steps to Reproduce

Open form_1.form.txt with Camunda Modeler v4.8
An error message is displayed but the fallback editor isn't opened

Expected Behavior

The fallback editor is opened
Environment

Camunda Modeler Version: 4.8

Closed via https://github.com/camunda/camunda-modeler/pull/2305


Integrate Rust phlow views into object inspector

We are now able to add Phlow views to Rust objects and render them in GT:

Integration with GT inspector allows developers to browse Rust objects via Rust-only views and build longer inspection sessions:


Pytorch toolkit person vehicle bike detector folder missing

In the person vehicle bike tutorial for pytorch, the folder in step 1 does not exist in the repo:
Go to openvino_training_extensions/pytorch_toolkit/crossroad_detector/ directory
Also, the tutorial does not seem to work when training on a CPU.
Cheers!

@davidrij
Thanks, paths was fixed.
For object detection used https://github.com/open-mmlab/mmdetection, and as i know training on cpu is not supported.


Remove apt_update and apt_repository resources

We already dep on compat_resource which back ports these. This avoids a deprecation warning on every Chef run for users.
Signed-off-by: Tim Smith<EMAIL_ADDRESS>

Now that I think about it we should probably wait until Chef 13 lands and then bump the requirements here to 12.9, which came out April, 2016 and included apt_repository.


support device stream

merged device stream from https://github.com/libuv/libuv/pull/377 to v0.8-udt

done and device-tun test case pass on linux, ongoing support on windows


Added extensible resource descriptor (XRD) content type

Defined in https://docs.oasis-open.org/ns/xri/xrd-1.0
Used by the Web Host Metadata rfc6415 as part of the Well Known standard rfc5785
Content-Type: application/xrd+xml
Standard xml response.

@distantcam thanks. will deploy now. happy holidays


Implement output filename formatting

It's now possible to export articles with names matching Hakyll's schema: just run hakyll-convert --output-format "%Y-%d-%m-%s" ….
(This is the second of three PRs I wanted to submit.)

Alright, I've gotten a lot more busy lately, so it might take some nagging before I manage to review this properly.  Thanks for the PR! Glad to see hakyll-convert being useful for more than just my one-off conversion.  Hope I can find somebody to adopt it one day.

Hope I can find somebody to adopt it one day.

On a second thought, if the offer is still valid, I'll take it. I'm not experienced with Haskell, as you can well see, but I can at least check if the contributions make sense (and Travis will check if they build.)
My own plan is to merge this PR, then merge support for comment extraction (for Blogger), then write a short primer on how this can be used. After that, I'll bump the version to <IP_ADDRESS>, upload a new release on Hackage and request hakyll-convert to be included in Stackage. Then I'll just sit back and wait for the glory^Wcontributors. What do you think?

The project is yours! So sorry for the delay replying. Am really that much flakier these days

Yay! Will you please add me as collaborator for this repo (so that I can
push code) and as maintainer on Hackage (so I can publish new releases
there)? (You can also transfer the whole repo to me if you don't want it
in your repos list anymore.)

OK :-). User AlexanderBatischev added as a maintainer of hakyll-convert.
Thanks for taking this on, and have fun!

Thanks!
What about the repo? Now that I think about it, I figure I can just make
Hackage point to my own fork of it, but that still might confuse people
who just search for "hakyll-convert" on GitHub (unless you edit the
README to say that my fork is the main repo now). So which way should we
go?
--
Regards,
Alexander Batischev

Ah, yes, tried to transfer it but you already have a hakyll-convert.
I could just delete mine.  That should work, right?
On Sun, 17 Jul 2016 at 19:21 Alexander Batischev<EMAIL_ADDRESS>wrote:

Thanks!
What about the repo? Now that I think about it, I figure I can just make
Hackage point to my own fork of it, but that still might confuse people
who just search for "hakyll-convert" on GitHub (unless you edit the
README to say that my fork is the main repo now). So which way should we
go?
--
Regards,
Alexander Batischev
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kowey/hakyll-convert/pull/8#issuecomment-233177169,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB3zfk1CNV4QlAOkMmLD7JT6BsaTDHvks5qWhAbgaJpZM4I_fpJ
.

I could just delete mine.  That should work, right?

Not sure. I just deleted mine, the transfer should succeed now I guess.
If not, just add me as a contributor—I'll be able to push, that should
be enough.

Transfer in progress

It worked! Thanks!
Which reminds me: in this PR, "%o" format doesn't really represent the URL that the post had on Blogger; I should fix that before merging.

"%o" format doesn't really represent the URL that the post had on Blogger

Not true. I confused this with another problem: Blogger's URLs don't always match post's publication date. Nothing we can—or should—do about it in the converter.


cla-assistant lost most contributors

Hi,
A few days ago we installed cla-assistant for https://github.com/firehol/netdata
We imported our previous list of contributors that had signed it in the past and we integrated it with github to receive new ones.
Several people had signed the CLA since then. The total count I recall was 48 contributors.
I see now and it has only 6 contributors signed the CLA.
Any ideas what is happening?

Hi,
I suppose it's because of change you have done on the linked gist file 2 days ago. CLA assistant handles each version of the gist file as a separate version of the agreement. As soon the agreement changes contributors need to sign it again. Unfortunately we do not have a semantic versioning mechanism yet, that means even if you do a minor formatting change CLA assistant treats it as a new content. As a workaround, you can use the export/import functionality. You can export the list of signees for each version of the CLA separately.

Oh I see. Thank you!
Since the change I made was to just mention cla-assistant, I understand I can export the contributors and import it to the current.


munin: 2.0.25 -> 2.0.29

Motivation for this change
Package upgrade
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Thanks.


List inside list gets not displayed correctly

If in the JSON dict there is a list inside another list the program gets confused. The condition is not served. Mabe another funktion iterating through lists has to be introduced.
This is my JSON dict:
{
    "data": [
        204,
        "error",
        {
            "string": "user input",
            "header": "unknown"
        },
        [
            "asd",
            "asd"
        ]
    ]
}

This is what gets printed:

This bug was fixed


Updating network speed tracker

Updates the TMNetworkSpeedTracker to effectively track the network speed based on the last 10 network requests that get measured.

lgtm


Initial redo of config settings for postgres

Summary
Attempting to pull some of the config settings for Postgres that exist in a gist right now - https://gist.github.com/coltoneshaw/48c67b0b2af0018849211596b2c46e36

@cwarnermm / @nab-77 - I have docs on how to set up replication for postgres on self hosted also here - https://gist.github.com/coltoneshaw/48c67b0b2af0018849211596b2c46e36
Wondering if you'd like me to bring these into the docs as well. I know customers have opinions on how to do replication, but at least how to do it in a way that we find works best might be useful. let me know.

@cwarnermm / @nab-77 - I have docs on how to set up replication for postgres on self hosted also here - https://gist.github.com/coltoneshaw/48c67b0b2af0018849211596b2c46e36
Wondering if you'd like me to bring these into the docs as well. I know customers have opinions on how to do replication, but at least how to do it in a way that we find works best might be useful. let me know.

Our recommended way of doing replications is excellent guidance to include in the product documentation.


docs: add truncate reference

What's Changed in this PR
Adds TRUNCATE TABLE table reference.
Checklist

[ ] Please confirm that all corresponding versions of the documents have been revised.
[ ] Please ensure that the content in summary.yml matches the current document structure when you changed the document structure.
[ ] This change requires follow-up update in localized docs.

LGTM, please copy the content to v0.9 if necessary.

Done. And fixed nightly summary missing compaction.


Create helloworld.py

What the program do ?

In what programming language it is written?

This pull request do not contains files in specific folders. Please fix it and reopen


docs: Fix link in README

Correct rootfs builder link in the image builder README.
Fixes #185.
Signed-off-by: Yonatan Gefen<EMAIL_ADDRESS>

Hi @ygefen - thanks! Travis is failing. To fix it, please could you rebase and re-push (as you need to pull in the fix for https://github.com/kata-containers/documentation/pull/282)?

My mistake here, wasn't paying attention. Will fix.


Add new POIs for Women's Day

To support International Women's Day, let's add several new features (some of these are buildings, some are POIs, some might be on landuse polygons).
Mapzen vector tile change proposal:

[ ] amenity=social_facility, where the kind is set to value of social_facility=*: http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dsocial_facility - zoom 17, this needs to be tied in with a TileStache transform change.
[ ] amenity=clinic: http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dclinic - zoom 17
[ ] amenity=doctors: http://wiki.openstreetmap.org/wiki/Tag:amenity%3Ddoctors - zoom 17
[ ] amenity=kindergarten: http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dkindergarten - zoom 17
[ ] amenity=childcare: http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dchildcare - zoom 17
[ ] emergency=phone:  http://wiki.openstreetmap.org/wiki/Tag:emergency%3Dphone - zoom 18

/cc @awright

I used iD to set social_facility type on an old persons home this weekend, and the tag is used was different.

http://www.openstreetmap.org/way/398030613

Do you mean that it has used social_facility:for=senior rather than social_facility=assisted_living (or group_home perhaps)? That seems to be a separate dimension to the tagging - what it is, and who it's for.
Wasn't it possible to add the other tag as well? If not, perhaps we should ask whoever maintains the iD tag presets if they can add / modify?

Agree our kind should be based on social_facility and ignore social_facility:for.
In iD it's always possible to edit the raw tags, but this is what auto completed so I suspect biasing the data collection.

Looks like we assigning min_zoom to the social_facility features before we split them out into their own kinds. That works, but is pretty confusing.
Another argument in favor of refactoring how all that code works in https://github.com/mapzen/vector-datasource/issues/532.

Agreed - pushing the logic further into the database with the current functions.sql can be done, but further complicates the code. Besides, the request was for all the social facilities at zoom 17, so let's cross the bridge of giving them different min_zooms when we come to it.

LGTM, thank you!


Develop ShEx

Modules include:
Pseudonym
Personal Information
Patient Status
Care Pathway
Disease history and Diagnosis

Can you remove data files


[BUG] "Commit version: unknown"

Describe the bug
The Commit version on the main page sometimes appears as unknown
To Reproduce
This seems to be the result of putting lnbits in a container without access to git
LNBITS_VERSION is LNBITS_COMMIT which is set by a call to git
https://github.com/lnbits/lnbits/blob/d64feec2a54437d70bf43b8cd9f544bcf143c8c9/lnbits/settings.py#L71
Expected behavior
That the commit information be available even within containers.
Additional context
Tracked this down by replacing the unhelpful unknown value with the more informative
except:
    LNBITS_COMMIT = LNBITS_PATH

Good catch, thanks! Would you consider submitting a PR with a fix?

Isn't there some way to get Github to instantiate some git.related constants, what else is .git for?

i think this was refactoered some time ago, is this issue still relevant?

i think this was refactored some time ago, is this issue still relevant?

Not seen since 0.10 anylonger. Xan be closed, right @HamishMacEwan ?

yes, commit version is also removed on latest


String optimization

@CodiumAI-Agent /describe

Title
String optimization

User description
@CodiumAI-Agent /describe

PR Type
enhancement

Description

Enhanced string concatenation methods by replacing string creation with unsafe code and utilizing stackalloc for temporary buffer allocation, improving performance and reducing garbage collection pressure.
Reordered switch cases in multiple files to optimize performance and improve code readability.
Simplified logic for ordering terms and converting strings to uppercase, enhancing performance in DocumentationCodeFixProvider and MiKo_2023_CodeFixProvider.
Improved phrase handling in MiKo_2040_LangwordAnalyzer by replacing loops with indexed access and simplifying proposal creation logic.

Changes walkthrough 📝
Relevant filesEnhancement

StringExtensions.csOptimize string concatenation using unsafe code and stackalloc

MiKo.Analyzer.Shared/Extensions/StringExtensions.cs
Replaced string creation with unsafe code for performance improvement.  Utilized stackalloc for temporary buffer allocation.  Removed redundant methods and optimized string concatenation logic.  Improved handling of null and empty strings.

+233/-152

SyntaxNodeExtensions.csReorder switch cases for performance optimization

MiKo.Analyzer.Shared/Extensions/SyntaxNodeExtensions.cs
Reordered switch cases for performance optimization.  Improved code readability by adjusting case order.

+7/-7

Analyzer.csOptimize switch case order for performance

MiKo.Analyzer.Shared/Rules/Analyzer.cs

Reordered switch cases for better performance.

+3/-3

DocumentationCodeFixProvider.csOptimize term lookup logic in DocumentationCodeFixProvider

MiKo.Analyzer.Shared/Rules/Documentation/DocumentationCodeFixProvider.cs
Changed parameter type to IReadOnlyCollection for better performance.  Simplified logic for ordering terms.

+3/-6

MiKo_2023_CodeFixProvider.csSimplify string uppercase conversion logic

MiKo.Analyzer.Shared/Rules/Documentation/MiKo_2023_CodeFixProvider.cs

Simplified string conversion to uppercase using HashSet.

+1/-1

MiKo_2040_LangwordAnalyzer.csOptimize phrase handling in LangwordAnalyzer

MiKo.Analyzer.Shared/Rules/Documentation/MiKo_2040_LangwordAnalyzer.cs
Replaced loop with indexed access for better performance.  Simplified proposal creation logic.

+41/-39

💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information


Task add button does not appear

Hello,
I installed your Extension into my Company's VSTS, but there is no option to add it to a Task

Once you add it in you can refresh that page and then search for the tasks they all have different names.


IACT DL3 FITS compression information section

I think it would be nice to add an explanatory section with information (or maybe even "best practices") on IACT DL3 FITS data compression. All the HDUs (EVENTS, IRFs) are BINTABLE and it's mostly float data (with some int data). The question is whether it should be compressed (and if yes how) or not.
@joleroi  and I are currently thinking about this while preparing the "HESS public test data release 1" with IACT DL3 FITS files in the format described in this spec.
So far in HESS we are running external gzip on FITS files to produce .fits.gz files, but I'm not sure if that was a well-motivated choice, i.e. how large compression ratios are if only reasonable columns are exported (e.g. no zero-filled optional columns in EVENTS).
@joleroi or @mimayer - If you could produce some numbers on compression ratios you achieve for HESS DL3 data (ideally split per HDU type, i.e. EVENTS, AEFF, ... and for HDUs that only contain the required columns, not zero-filled optional columns) with external gzip and bzip2 and paste them here to help the discussion, that would be great.
The main drawback to external compression is that the whole file needs to be read and uncompressed to get at the header. For us in HESS this isn't a problem at the moment, because we use the index files to select data and have one HDU per file. But now based on feedback from the Meudon IACT DL3 meeting we are starting to move to all HDUs per run (EVENTS, IRFs) in one file. So already for us if we compress things start to get more inefficient if someone e.g. only wants to access the EVENTS HDU (all IRF HDUs will be read from disk as well and uncompressed).
It looks like Fermi is distributing uncompressed their event and IRF data as uncompressed FITS BINTABLE (see here and here). @woodmd - Maybe in Fermi compression was considered in some little study and found not to be beneficial?
What is a compression factor where we should start to consider to compress before distributing the data? 30%? Factor 2?
Should someone here be in favour of compressing, the question is whether internal or external compression is better. Is using internal compression, i.e. this tiled table compression convention is an option?

http://fits.gsfc.nasa.gov/registry/tiletablecompression.html
http://adsabs.harvard.edu/abs/2012arXiv1201.1340P
Supported by fpack and topcat

@taldcroft - Is it correct that this convention is not supported by astropy.io.fits?
http://astropy.readthedocs.io/en/latest/io/fits/index.html#working-with-compressed-files
If that is true, it's probably not in widespread use and supported by many tools and it's off the table?
@joleroi @mimayer @kosack @cboisson @jknodlseder - thoughts?

@cdeil - I don't believe that tiled bintable compression is supported in astropy.io.fits.  That would imply it is off the table.


Question About max_epoch

If  I don't set the max_epoch parameter,  does it mean that the training model has reached the perfect  when  the training process stop?
In other words, if  i have changed the model,should I make sure the epoch are equal or just wait for the training process stop?

@cocaer did you find out the answer to you questions? I'm trying to figure out when my model will stop training (it is at epoch 31 now)


[Clarification] Clarify that blending happens in linear color space

person on lobste.rs wrote:
Blending is undefined, therefore implicitly in sRGB’s pseudo-gamma space, and incorrect.

Blending in TinyVG happens in linear space, respecting alpha values

Fixed


Fix error about failing to build collectd

Install dependencies pkg for building collectd for ubuntu image. The patch is to fix issue https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/issues/1082

I signed it !

@shalq It looks like you have not signed the Google CLA.  Can you please sign that and then this code and be reviewed.   Instructions are in https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/blob/master/CONTRIBUTING.md

This PR is over a year old and it looks like we lost track of it. Is this still valid? If so, please reply and somebody will review in the next couple of weeks.


Follow ups to v0.8.5 and TypeScript Gen

We should plan a couple follow up tasks to #871:
- [ ] This change needs opening against `main`. We won't commit a merge commit of `release/v0.8.5` into `main` because we don't use merge commits in this repository. Someone can open a merge as a PR then we'll squash and merge that commit into `main`. Or the below items could be visited and the final product merged into `main`.
- [ ] Break up the `soroban-spec` crate into `soroban-spec`, `soroban-spec-rust`, `soroban-spec-json`, `soroban-spec-typescript`. Why: Having typescript dependencies in the soroban-sdk repo is going to make development here pretty complex, and ultimately the typescript generation code needs a unique set of reviewers/owners who are different to those of the rest of the code here. We can house the `soroban-spec-typescript` crate in the `soroban-tools` repo.
- [ ] Remove the dependence on the JSON types so that conversion from XDR spec to typescript is `ScSpecEntry` -> TypeScript, and not `ScSpecEntry` -> JSON -> TypeScript. Why: For the reasons mentioned at https://github.com/stellar/rs-soroban-sdk/pull/871#discussion_r1213585760, https://github.com/stellar/rs-soroban-sdk/pull/871#discussion_r1213584250, and https://github.com/stellar/rs-soroban-sdk/pull/871#pullrequestreview-1462963564.

cc @paulbellamy @tsachiherman @willemneal @chadoh
Originally posted by @leighmcculloch in https://github.com/stellar/rs-soroban-sdk/issues/871#issuecomment-1587906728

For the second task I've reserved the crates: soroban-spec-rust, soroban-spec-json, soroban-spec-typescript.

The crate break-up sounds kind of onerous, tbh. Particularly having some of them live in soroban-tools feels very... circular. Specifically, the cli (tools) -> sdk (sdk) -> spec (sdk) ->  spec-typescript (tools) dependency chain. Seems like it will introduce more x-repo dependency chaining friction and pain.

So we should have one monorepo?

Particularly having some of them live in soroban-tools feels very... circular. Specifically, the cli (tools) -> sdk (sdk) -> spec (sdk) -> spec-typescript (tools) dependency chain

No circular dependency would exist. The CLI would be dependent on spec rust, spec json, and spec typescript. spec would not be dependent on spec typescript.

Good point, soroban-spec only relies on stellar-xdr. I do, however, wonder if it is worth pulling the bindings stuff out of the core CLI and into a plugin.  This would allow for a independent release schedules.

The crate break-up sounds kind of onerous...Seems like it will introduce even more x-repo dependency chaining friction and pain.

We could simplify the number of crates by only breaking out the typescript gen, but I think the typescript needs to live elsewhere. The code for it doesn't really belong in this repo as the reviewers for this repo are not maintaining it. The same could be said for the json generator too, it is not relevant to the reviewers of this repo. The rust implementation however is maintained by the folks in this repo.
We could put the crates in their own repo, but that sounds more onerous, where-as moving the json and typescript crates into the soroban-tools repo moves them to the folks who use and maintain them, and adds zero burden to the release process because of workplace dependencies and our release process releasing all crates in the repo.

I've opened the following changes which are trivial:

https://github.com/stellar/rs-soroban-sdk/pull/972
https://github.com/stellar/rs-soroban-sdk/pull/973

When we reapply the typescript change to main it should be trivial to apply it in a new crate, either here, or in soroban-tools.

Closing because I think the first task, which was the most important follow up, is no longer relevant because the crates simply moved to the soroban-tools repo.


PMID:30393157

iron chelator

Hi Antonia can you put this near the top of your list so I can get this session through?

I needed a PECO term for #3392 so added this one too.


add cache_if and cache_unless helpers

If a developer wants a data to be cached only when the required comparison is true, they can write cleaner code with the cache_if or cache_unless function.
example usage:
cache_if(app()->isProduction(), 'users', now()->addSeconds(30), function () {
    return User::all();
});

Usually there is no need to use cache_if()/cache_unless8) because a call to a cache is usually done in a idempotent way with cache()->remember().
Even then, you can't get rid of the function to set the value, so it seems redundant IMHO.

Feel free to add these to your own app 👍


Bugfix: serializing to json on a BaseDBMixin with child DBPydanticMixin's fails

Fixed a a bug where if you have a container of type BaseDBMixin which has children of type DBPydanticMixin that has ObjectId (the child objects are saved) it could not serialize to json.
This fixes a TypeError: Object of type 'ObjectId' is not JSON serializable

Codecov Report

Merging #34 (bbbc00a) into master (d4789b7) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #34   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines            6         6
=========================================
  Hits             6         6

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 d4789b7...bbbc00a. Read the comment docs.

Thanks! For your info:
I need this so I can create a container model that holds my DBPydanticMixins, where the container instance itself does not get persisted. I'm doing .dict and .json on those containers and with a vanilla Pydantic model it fails because it does not know all the encoding that this project adds 👍

I need this so I can create a container model that holds my DBPydanticMixins, where the container instance itself does not get persisted. I'm doing .dict and .json on those containers and with a vanilla Pydantic model it fails because it does not know all the encoding that this project adds

@dhensen Hmm, if I were you, I wouldn't bind the container to BaseDBMixin, since you won't need most of its methods (but I could be wrong). After all, it's mainly about encoding and decoding data for mongodb, and the container doesn't need that: all it has to do is define its methods (.dict / .json) where the child methods of the classes (.dict / .json), which are responsible for directly serializing themselves.
It is even possible to use Pydantic BaseModel as the parent class of the container - it will take care of calling the child serialization methods itself.
Something like this...
class BaseContainer(BaseModel):
    many_things: List[mixins.DBPydanticMixin]

class Thing(mixins.DBPydanticMixin):
    name: str

thing = Thing(name="test")
thing.id=ObjectId()
container = BaseContainer(many_things=[thing])
from devtools import debug
debug(container.dict())
debug(container.json())

......But that doesn't work ... you're right;)
It looks like the point is that Pydantic recurcive calls .dict() for children and .json() only for the "container" based on its config. From this it follows that it is necessary either to provide for all the options in the child elements in your container, or to change the encoders of the child models (as we did).
Perhaps in the future you will need some other encoder that is not included in the delivery of pydantic-odm, and then, most likely, you will have to write your own base container. In general, I would still combine your own base container and the base class from the pydantic.
But that's just my opinion. Thanks anyway, I already forgot this feature Pydantic ;)


Refactoring training codes

Remove ipdb
PEP8
Remove dead code

PEP8 may destroy the code, and not beneficial. I remove ipdb and dead code.


Python dask and distributed has an import error on 18.09-small

Issue description
The python packages dask and distributed are meant to work together (the distributed package is meant to be usable by dask). When using them together with Python, trying to do import dask.distributed results in an import error.
I think this means distributed is an "optional" dependency of dask. And the dask Nix expression doesn't mention distributed. So it ends up being impossible to import distributed package code because it falls under the dask namespace.
I think this requires some sort of override to the dask expression so that distributed is made available to it.
Steps to reproduce
Use the below as shell.nix.
{
  pkgs ? import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/06808d4a14017e4e1a3cbc20d50644549710286f.tar.gz) {},
  pythonPath ? "python36"
}:
  with pkgs;
  let
    python = lib.getAttrFromPath (lib.splitString "." pythonPath) pkgs;
  in
    python.pkgs.buildPythonApplication (rec {
      name = "dask-test";
      src = null;
      propagatedBuildInputs = (with python.pkgs; [
        distributed
        dask
      ]);
      shellHook = ''
        echo 'Entering ${name}'
        set -v

        # extra pip packages
        unset SOURCE_DATE_EPOCH

        set +v
      '';
    })

Then try:
import dask.distributed

You get an error like:
Python 3.6.8 (default, Dec 24 2018, 03:01:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import dask.distributed
Traceback (most recent call last):
  File "/nix/store/llxbz2kb543cxmi2hn4zbrjzhjfy4hqp-python3.6-dask-0.18.2/lib/python3.6/site-packages/dask/distributed.py", line 5, in <module>
    from distributed import *
  File "/nix/store/p7rx2rgf0p38wq8ximvdlv6798y1jz1b-python3.6-distributed-1.15.1/lib/python3.6/site-packages/distributed/__init__.py", line 5, in <module>
    from .deploy import LocalCluster
  File "/nix/store/p7rx2rgf0p38wq8ximvdlv6798y1jz1b-python3.6-distributed-1.15.1/lib/python3.6/site-packages/distributed/deploy/__init__.py", line 3, in <module>
    from .local import LocalCluster
  File "/nix/store/p7rx2rgf0p38wq8ximvdlv6798y1jz1b-python3.6-distributed-1.15.1/lib/python3.6/site-packages/distributed/deploy/local.py", line 14, in <module>
    from ..client import Client
  File "/nix/store/p7rx2rgf0p38wq8ximvdlv6798y1jz1b-python3.6-distributed-1.15.1/lib/python3.6/site-packages/distributed/client.py", line 21, in <module>
    from dask.base import tokenize, normalize_token, Base
ImportError: cannot import name 'Base'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/nix/store/llxbz2kb543cxmi2hn4zbrjzhjfy4hqp-python3.6-dask-0.18.2/lib/python3.6/site-packages/dask/distributed.py", line 11, in <module>
    raise ImportError(msg)
ImportError: Dask's distributed scheduler is not installed.

Please either conda or pip install dask distributed:

  conda install dask distributed          # either conda install
  pip install dask distributed --upgrade  # or pip install

Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.
 - system: `"x86_64-linux"`
 - host os: `Linux 4.17.6, Form Bay ML, noversion`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.0.4`
 - nixpkgs: `/nix/nixpkgs`

Done.


Include export of information as json

Hi @rbenvos ! This PR has not been touched in a long time, and has merge conflicts, so I'm closing it. Please let me know if you fix the conflicts, or just file a new PR.


shadow declaration

https://github.com/quantastica/quantum-circuit/blob/3c526d60dd6fe9f8e0e27a3ceeff081b66b74abc/lib/qasm_import/QASMParser.js#L1655C1-L1656C1
this shadow declaration of _alt (another one exists 5LOC above it) is confusing and might cause bugs

I fixed this in a local branch