Specify compilerOptions via package.json config

Search terms
error The 'compilerOptions' option must be a non-array object.
Expected Behavior
Typedoc works as expected:
npx typedoc --compilerOptions '{ "skipLibCheck": true }'

Actual Behavior
Typedoc errors with:
error The 'compilerOptions' option must be a non-array object.

Steps to reproduce the bug
npx typedoc --compilerOptions '{ "skipLibCheck": true }'

Environment

Typedoc version: 0.23.9
TypeScript version: 4.7.4
Node.js version: 16.15.0
OS: MacOS 12.4

Other
Really though, I would like to have skipLibCheck: false just like my tsconfig.json, but that gives me a long TypeScript ESLint error and I couldn’t find an exclude or excludePattern that ignored it.

><EMAIL_ADDRESS>turbo:typedoc
> ../../../bin/typedoc/run

../../../node_modules/@types/eslint-scope/index.d.ts:12:5 - error TS2416: Property 'scopes' in type 'ScopeManager' is not assignable to the same property in base type 'ScopeManager'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Scope[]' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Scope[]'.
    Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Scope' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Scope'.
      Types of property 'variables' are incompatible.
        Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Variable[]' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Variable[]'.
          Property 'scope' is missing in type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Variable' but required in type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Variable'.

12     scopes: Scope[];
       ~~~~~~

  ../../../node_modules/@types/eslint/index.d.ts:88:9
    88         scope: Scope;
               ~~~~~
    'scope' is declared here.

../../../node_modules/@types/eslint-scope/index.d.ts:13:5 - error TS2416: Property 'globalScope' in type 'ScopeManager' is not assignable to the same property in base type 'ScopeManager'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Scope' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Scope'.

13     globalScope: Scope;
       ~~~~~~~~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:14:5 - error TS2416: Property 'acquire' in type 'ScopeManager' is not assignable to the same property in base type 'ScopeManager'.
  Type '(node: {}, inner?: boolean | undefined) => Scope | null' is not assignable to type '(node: Node, inner?: boolean | undefined) => Scope | null'.
    Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Scope | null' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Scope | null'.
      Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Scope' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Scope'.

14     acquire(node: {}, inner?: boolean): Scope | null;
       ~~~~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:15:5 - error TS2416: Property 'getDeclaredVariables' in type 'ScopeManager' is not assignable to the same property in base type 'ScopeManager'.
  Type '(node: {}) => Variable[]' is not assignable to type '(node: Node) => Variable[]'.
    Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Variable[]' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Variable[]'.

15     getDeclaredVariables(node: {}): Variable[];
       ~~~~~~~~~~~~~~~~~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:21:5 - error TS2416: Property 'upper' in type 'Scope' is not assignable to the same property in base type 'Scope'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Scope | null' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Scope | null'.

21     upper: Scope | null;
       ~~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:22:5 - error TS2416: Property 'childScopes' in type 'Scope' is not assignable to the same property in base type 'Scope'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Scope[]' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Scope[]'.

22     childScopes: Scope[];
       ~~~~~~~~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:23:5 - error TS2416: Property 'variableScope' in type 'Scope' is not assignable to the same property in base type 'Scope'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Scope' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Scope'.

23     variableScope: Scope;
       ~~~~~~~~~~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:25:5 - error TS2416: Property 'variables' in type 'Scope' is not assignable to the same property in base type 'Scope'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Variable[]' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Variable[]'.

25     variables: Variable[];
       ~~~~~~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:26:5 - error TS2416: Property 'set' in type 'Scope' is not assignable to the same property in base type 'Scope'.
  Type 'Map<string, import("/Users/user/project/node_modules/@types/eslint-scope/index").Variable>' is not assignable to type 'Map<string, import("/Users/user/project/node_modules/@types/eslint/index").Scope.Variable>'.
    Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Variable' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Variable'.

26     set: Map<string, Variable>;
       ~~~

../../../node_modules/@types/eslint-scope/index.d.ts:27:5 - error TS2416: Property 'references' in type 'Scope' is not assignable to the same property in base type 'Scope'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Reference[]' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Reference[]'.
    Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Reference' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Reference'.
      Types of property 'from' are incompatible.
        Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Scope' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Scope'.

27     references: Reference[];
       ~~~~~~~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:28:5 - error TS2416: Property 'through' in type 'Scope' is not assignable to the same property in base type 'Scope'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Reference[]' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Reference[]'.

28     through: Reference[];
       ~~~~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:35:5 - error TS2416: Property 'references' in type 'Variable' is not assignable to the same property in base type 'Variable'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Reference[]' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Reference[]'.

35     references: Reference[];
       ~~~~~~~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:41:5 - error TS2416: Property 'from' in type 'Reference' is not assignable to the same property in base type 'Reference'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Scope' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Scope'.

41     from: Scope;
       ~~~~

../../../node_modules/@types/eslint-scope/index.d.ts:42:5 - error TS2416: Property 'resolved' in type 'Reference' is not assignable to the same property in base type 'Reference'.
  Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Variable | null' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Variable | null'.
    Type 'import("/Users/user/project/node_modules/@types/eslint-scope/index").Variable' is not assignable to type 'import("/Users/user/project/node_modules/@types/eslint/index").Scope.Variable'.

42     resolved: Variable | null;
       ~~~~~~~~

I'm not sure I want to add more special casing into the options parser... TypeScript does a similar thing, with a better error message when you do npx tsc --paths

Really though, I would like to have skipLibCheck: false just like my tsconfig.json,

TypeDoc's behavior should mirror tsc's. tsc -p tsconfig.json should be equivalent to typedoc --tsconfig tsconfig.json in terms of type checking. If this is not the case, that's a bug, please file with a repro!

I couldn’t find an exclude or excludePattern that ignored it.

exclude doesn't filter errors, it only filters entry points/included members for documentation.

exclude doesn't filter errors, it only filters entry points/included members for documentation.

That makes sense.
Am I able to specify the compiler options from the package.json?  It doesn’t seem to work either.
{
  "typedoc": {
    "entryPoint": "src/index.d.cts",
    "compilerOptions": {
      "skipLibCheck": true
    }
  }
}

Currently no, not supported. That key only lets you set the name/entry point/readme. PR welcome if you'd like to add support for that though :)
src/lib/utils/entry-point

One thing to note: that section of the package.json is only used in packages mode.

Regarding setting the compiler options from package.json - I changed my mind. #2061 should meet this need.


Using bulk save when saving to mongo

Fix #174

Codecov Report

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

@@            Coverage Diff            @@
##             master     #176   +/-   ##
=========================================
  Coverage     23.38%   23.38%
  Complexity       87       87
=========================================
  Files            83       83
  Lines          1283     1283
  Branches        175      175
=========================================
  Hits            300      300
  Misses          951      951
  Partials         32       32

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 5fed0dc...54ebe31. Read the comment docs.


Bump Read the Docs OS to use urllib3 2.0

Hello, urllib3 maintainer here :wave:
You don't need to pin urllib3 just to get Read the Docs working.

 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.

I fixed the precommit checks, sorry about that.

Hi @pquentin, thank you for simplifying the Read the Docs setup.


⚠ Bofrost.nl has degraded performance

In 6ecff08, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 810 ms

Resolved: Bofrost.nl performance has improved in a232ae5.


Respond to OPTIONS request

We need to respond to OPTIONS requests with the CORS headers we care about. This was done in the main notebook.
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://<IP_ADDRESS>:3000' is therefore not allowed access. The response had HTTP status code 405.

[ ] implement in tmpnb
[ ] implement in tmpnb-redirector

:+1:

Do we only need to set the default value of 'Access-Control-Allow-Methods' to GET, PUT, POST, PATCH, DELETE, OPTIONS' ?

I think so.


only use list destroy

As noted in #303, the list destory will call the individual transport destroys.
https://github.com/espressif/esp-idf/blob/a5b4e3bb3e1941710a33427b5d0816b7a429a63c/components/tcp_transport/include/esp_transport.h#L65
closes #303

I also experienced the issue with the heap crash on socket list disconnect after DPS. This pull request / branch resolved the crash.


[BUG] Unable to deploy a marketplace application from the SDK because of missing version

Describe the bug
Deploying an application from the marketplace requires that a version be present in the plan property.  The api currently allows for name, publisher, product and promotion code but doesn't allow for a version field. As a result, running the endpoint causes a failure.
Exception or Stack Trace
The API returns: Status code 400, "{"error":{"code":"InvalidApplicationPlan","message":"The appliance '<app name>' plan version is missing."}}"
To Reproduce
Try to deploy a marketplace application using the SDK.
Code Snippet
AzureResourceManager resourceManager = AzureResourceManager.authenticate(credential, profile)
        .withSubscription(subscription);

resourceManager.genericResources().define("deployed_managed_app")
        .withRegion(Region.US_EAST)
        .withExistingResourceGroup("my-resource-group")
        .withResourceType("applications")
        .withProviderNamespace("Microsoft.Solutions")
        .withPlan("my-plan", "my-publisher", "my-product", null)
        .withProperties(properties)
        .create();

Expected behavior
I would expect the line with .withPlan() to have an extra parameter for the plan version or the service API to have a default (e.g. the latest version)
Screenshots
N/A
Setup (please complete the following information):

OS: macOS Catalina
IDE : IntelliJ
Library version 2.1 (but checked and still exists in 2.3

Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[X] Bug Description Added
[X] Repro Steps Added
[X] Setup information Added

@yungezz could you please help route this Management plane issue?

add @weidongxu-microsoft to help to have a look.


Add Emzi0767.html

:^)

Please put your css and js as code, not b64. That way I can check to make sure it's good. :)

It's so bad that no man should see it. But fine.

Perfect, Thanks!


Specific page with bad rendering

Description
This mostly isn't an issue anymore, but on a specific page I was reading today, any time I hovered over something, the page would freak out and resize. It was very annoying. Since it hardly happens anymore, I figured this specific page might be useful.
To Reproduce
Import the page and read/add terms as normal
Screenshots
weirdlutepage.txt
Extra software info, if not already included in the Description:

OS (e.g., iOS, windows): Linux
Browser (e.g., chrome, safari): Chromium
How you've installed Lute (Docker, python, source): Python
Version: 3.2.5

Hey @Mycheze -- I think I'll need your full db to look into this, and maybe even a short screencast if possible.  I imported, set all to known, and everything looked ok to me even on hover.

Me dijo que funcionaría sin problemas.

Closing due to lack of response and unable to reproduce, please reopen if this is still an issue!


Creating new project from "Current Project" results in errors on build.

Create a new project and select "Current Project" as the project source option; when you first build the new project, you'll encounter two related errors (note that this is the only way to generate the error; it doesn't occur if you create a new project by selecting "Empty Project").

Error 1
The best overloaded method match for 'Duality.ReflectionHelper.ResolveType(string, System.Reflection.MethodInfo)' has some invalid arguments
File: ...\EmptyTest\Source\Code\CorePlugin\Properties\ErrorHandlers.cs
Line: 25 Col: 38
Project: CorePlugin

Error 2
Argument 2: cannot convert from 'bool' to 'System.Reflection.MethodInfo'
File: ...\EmptyTest\Source\Code\CorePlugin\Properties\ErrorHandlers.cs
Line: 25 Col: 80
Project: CorePlugin

I have tested this using Duality version (Core: 1.6.2; Editor: 1.3.12 -- A fresh download), compiled against .NET 4.0 in VS 2013.
This doesn't appear to be a show stopping bug, as I've gotten it to compile and run by simply deleting the erroneous false argument in the call to ReflectionHelper.ResolveType. I haven't actually done any testing past making sure the editor launches properly, so this may cause issues down the road.

Thanks for reporting this. (And for doing some basic research in advance - I already have an idea what could be causing this thanks to your description!) Will look into it as soon as I get around to.

Confirmed, Fixed and Committed. You should find an update in the package manager that reflects this.


Have you attempt to use auxiliary loss about the height liking BevDepth, what about the results, no improvement?

Please refer to the supplementary materials of our CVPR paper.

I can not find it, which chapter said the above in the materials of your paper?

please refer to https://openaccess.thecvf.com/content/CVPR2023/supplemental/Yang_BEVHeight_A_Robust_CVPR_2023_supplemental.pdf

I saw it , thank you. But I saw AP with ped and cyc in the table 5 are much lower than in the table 1, why?

I saw it , thank you. But I saw AP with ped and cyc in the table 5 are much lower than in the table 1 on the main paper, why? Some differences about metric over these tables?


functionality-add/remove dealer

when brought to dashboard, user is able to view/add/remove dealers

list component


Cursor is moved to top left corner after switching workspaces/windows after commit 28a90d6

Hyprland Version
Hyprland, built from branch main at commit 96d555e8e794627bfc561e294e148ab8a9961fcc dirty (props: bump ver to 0.29.1). Tag: v0.29.1  flags: (if any)
Bug or Regression?
Bug
Description
After 28a90d6 when the cursor is unconstrained it is warped to the top left corner of where the previous window was, as visible on the video bellow. Also reproducible on latest git and with autogenerated configs.
I'm on arch/nvidia, hyprland was built from source on 28a90d6, also tried changing general:no_cursor_warps = true, reproduced in osu-lazer running through native wayland with raw input disabled, but also reproduced it on wine games running through xwayland.

I have a single monitor setup, here's the output of `hyprctl monitors`
Monitor eDP-1 (ID 0):
<EMAIL_ADDRESS>at 0x0
description: Najing CEC Panda FPD Technology CO. ltd 0x0064 (eDP-1)
make: Najing CEC Panda FPD Technology CO. ltd
model: 0x0064
serial:
active workspace: 1 (1)
special workspace: 0 ()
reserved: 0 41 0 0
scale: 1.00
transform: 0
focused: yes
dpmsStatus: 1
vrr: 0

How to reproduce

Open something that grabs the mouse (osu-lazer in this case, also reproducible with other games)
Switch workspace or window
Cursor is warped to top left corner of the window

Crash reports, logs, images, videos
output.webm
Higher quality: https://streamable.com/6kq3kg

Logs during the video
[LOG] [10:41:02:975] New XDG Surface created. (class: osu!)
[LOG] [10:41:02:975] Registered signal for owner 556c330cf4b0: 556c3019f0d0 -> 556c330cf518 (owner: XDG Window)
[LOG] [10:41:02:975] Registered signal for owner 556c330cf4b0: 556c304a2ee0 -> 556c330cf5e8 (owner: XDG Window)
[LOG] [10:41:02:995] Unconstrained mouse from 556c31942560
[LOG] [10:41:02:995] Callback 556c305f8ad8 -> 556c305f8ad0, Constraint removed.
[LOG] [10:41:02:995] Callback 556c305f8a70 -> 556c305f8a68, Constraint removed.
[LOG] [10:41:02:995] New mouse constraint at 556c330964b0
[LOG] [10:41:02:996] Registered signal for owner 556c305f8a20: 556c330965b8 -> 556c305f8ab0 (owner: Constraint)
[LOG] [10:41:02:996] Registered signal for owner 556c305f8a20: 556c330965a8 -> 556c305f8a48 (owner: Constraint)
[LOG] [10:41:02:996] Unconstrained mouse from 556c330964b0
[LOG] [10:41:02:996] Callback 556c305f8ad8 -> 556c305f8ad0, Constraint removed.
[LOG] [10:41:02:996] Callback 556c305f8a70 -> 556c305f8a68, Constraint removed.
[LOG] [10:41:02:996] New mouse constraint at 556c31939d10
[LOG] [10:41:02:996] Registered signal for owner 556c305f8a20: 556c31939e18 -> 556c305f8ab0 (owner: Constraint)
[LOG] [10:41:02:996] Registered signal for owner 556c305f8a20: 556c31939e08 -> 556c305f8a48 (owner: Constraint)
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c330b12a0 -> 556c330cfac8 (owner: Toplevel)
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c330b12b0 -> 556c330cfb30 (owner: Toplevel)
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c330b12c0 -> 556c330cfa60 (owner: Toplevel)
[LOG] [10:41:03:006] Registered signal for owner 556c330cfcd0: 556c3019f100 -> 556c330cfcd8 (owner: CWLSurface)
[LOG] [10:41:03:006] CWLSurface 556c330cfcd0 called init()
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c3019f0e0 -> 556c330cf580 (owner: CWindow)
[LOG] [10:41:03:006] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:03:006] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:03:006] OPENINGON: 556c310a3d40, Workspace: 6, Monitor: 0
[LOG] [10:41:03:006] Set keyboard focus to surface 556c3019edf0, with window name: osu!
[LOG] [10:41:03:006] Registered signal for owner 556c306cb3a0: 556c3019f0c0 -> 556c306cb3f8 (owner: Mouse constraint commit)
[LOG] [10:41:03:006] Constrained mouse to 556c31939d10
[LOG] [10:41:03:006] Window got assigned a surfaceTreeNode 0
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c3019f0c0 -> 556c330cf4b0 (owner: XDG Window Late)
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c3079ae20 -> 556c330cf650 (owner: XDG Window Late)
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c304a2f00 -> 556c330cf788 (owner: XDG Window Late)
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c3079adb0 -> 556c330cf8c0 (owner: XDG Window Late)
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c3079add0 -> 556c330cf858 (owner: XDG Window Late)
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c3079ade0 -> 556c330cf7f0 (owner: XDG Window Late)
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c3079adf0 -> 556c330cf928 (owner: XDG Window Late)
[LOG] [10:41:03:006] Registered signal for owner 556c330cf4b0: 556c3079adc0 -> 556c330cf720 (owner: XDG Window Late)
[LOG] [10:41:03:006] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:03:007] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:03:007] Scanout mode ON set for 556c330cf4b0
[LOG] [10:41:03:007] Registered signal for owner 556c304afcf0: 556c3019f0f0 -> 556c304afd68 (owner: SurfaceTreeNode)
[LOG] [10:41:03:007] Registered signal for owner 556c304afcf0: 556c3019f0c0 -> 556c304afdd0 (owner: SurfaceTreeNode)
[LOG] [10:41:03:007] Registered signal for owner 556c304afcf0: 556c3019f100 -> 556c304afe38 (owner: SurfaceTreeNode)
[LOG] [10:41:03:007] Creating a surfaceTree Root! (pWindow: 556c330cf4b0)
[LOG] [10:41:03:007] Map request dispatched, monitor eDP-1, xywh: 0.000000 0.000000 1920.000000 1080.000000
[LOG] [10:41:03:009] Callback 556c306cb420 -> 556c306cb418, Mouse constraint commit removed.
[LOG] [10:41:03:009] Unconstrained mouse from 556c31939d10
[LOG] [10:41:03:009] Callback 556c305f8ad8 -> 556c305f8ad0, Constraint removed.
[LOG] [10:41:03:009] Callback 556c305f8a70 -> 556c305f8a68, Constraint removed.
[LOG] [10:41:03:009] New mouse constraint at 556c3085f7e0
[LOG] [10:41:03:009] Registered signal for owner 556c305f8a20: 556c3085f8e8 -> 556c305f8ab0 (owner: Constraint)
[LOG] [10:41:03:009] Registered signal for owner 556c305f8a20: 556c3085f8d8 -> 556c305f8a48 (owner: Constraint)
[LOG] [10:41:03:009] Registered signal for owner 556c306cb3a0: 556c3019f0c0 -> 556c306cb3f8 (owner: Mouse constraint commit)
[LOG] [10:41:03:010] Constrained mouse to 556c3085f7e0
[LOG] [10:41:03:010] Callback 556c306cb420 -> 556c306cb418, Mouse constraint commit removed.
[LOG] [10:41:03:010] Unconstrained mouse from 556c3085f7e0
[LOG] [10:41:03:010] Callback 556c305f8ad8 -> 556c305f8ad0, Constraint removed.
[LOG] [10:41:03:010] Callback 556c305f8a70 -> 556c305f8a68, Constraint removed.
[LOG] [10:41:03:010] New mouse constraint at 556c3308e430
[LOG] [10:41:03:010] Registered signal for owner 556c305f8a20: 556c3308e538 -> 556c305f8ab0 (owner: Constraint)
[LOG] [10:41:03:010] Registered signal for owner 556c305f8a20: 556c3308e528 -> 556c305f8a48 (owner: Constraint)
[LOG] [10:41:03:010] Registered signal for owner 556c306cb3a0: 556c3019f0c0 -> 556c306cb3f8 (owner: Mouse constraint commit)
[LOG] [10:41:03:010] Constrained mouse to 556c3308e430
[LOG] [10:41:05:425] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:05:425] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:05:425] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:05:425] Scanout mode OFF set for 556c330cf4b0
[LOG] [10:41:05:425] Set keyboard focus to surface 556c30615250, with window name: ~/G/Hyprland
[LOG] [10:41:05:425] Searching for matching rules for kitty (title: ~/G/Hyprland)
[LOG] [10:41:05:425] Window rule nomaxsize -> class:.* matched 556c31130890 [~/G/Hyprland]
[LOG] [10:41:05:426] Scanout mode ON set for 556c31130890
[LOG] [10:41:05:426] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:05:426] Callback 556c306cb420 -> 556c306cb418, Mouse constraint commit removed.
[LOG] [10:41:05:426] Unconstrained mouse from 556c3308e430
[LOG] [10:41:05:426] Callback 556c305f8ad8 -> 556c305f8ad0, Constraint removed.
[LOG] [10:41:05:426] Callback 556c305f8a70 -> 556c305f8a68, Constraint removed.
[LOG] [10:41:05:426] Minimize request for 556c330cf4b0
[LOG] [10:41:05:431] New mouse constraint at 556c330b0a50
[LOG] [10:41:05:431] Registered signal for owner 556c305f8a20: 556c330b0b58 -> 556c305f8ab0 (owner: Constraint)
[LOG] [10:41:05:431] Registered signal for owner 556c305f8a20: 556c330b0b48 -> 556c305f8a48 (owner: Constraint)
[LOG] [10:41:06:464] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:06:464] Searching for matching rules for kitty (title: ~/G/Hyprland)
[LOG] [10:41:06:464] Window rule nomaxsize -> class:.* matched 556c31130890 [~/G/Hyprland]
[LOG] [10:41:06:464] Scanout mode OFF set for 556c31130890
[LOG] [10:41:06:465] Set keyboard focus to surface 556c3019edf0, with window name: osu!
[LOG] [10:41:06:465] Registered signal for owner 556c306cb3a0: 556c3019f0c0 -> 556c306cb3f8 (owner: Mouse constraint commit)
[LOG] [10:41:06:465] Constrained mouse to 556c330b0a50
[LOG] [10:41:06:465] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:06:465] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:06:465] Scanout mode ON set for 556c330cf4b0
[LOG] [10:41:06:465] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:07:628] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:07:628] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:07:628] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:07:628] Scanout mode OFF set for 556c330cf4b0
[LOG] [10:41:07:628] Set keyboard focus to surface 556c30615250, with window name: ~/G/Hyprland
[LOG] [10:41:07:629] Searching for matching rules for kitty (title: ~/G/Hyprland)
[LOG] [10:41:07:629] Window rule nomaxsize -> class:.* matched 556c31130890 [~/G/Hyprland]
[LOG] [10:41:07:629] Scanout mode ON set for 556c31130890
[LOG] [10:41:07:629] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:07:630] Minimize request for 556c330cf4b0
[LOG] [10:41:08:677] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:08:677] Searching for matching rules for kitty (title: ~/G/Hyprland)
[LOG] [10:41:08:677] Window rule nomaxsize -> class:.* matched 556c31130890 [~/G/Hyprland]
[LOG] [10:41:08:677] Scanout mode OFF set for 556c31130890
[LOG] [10:41:08:677] Set keyboard focus to surface 556c3019edf0, with window name: osu!
[LOG] [10:41:08:678] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:08:678] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:08:678] Scanout mode ON set for 556c330cf4b0
[LOG] [10:41:08:678] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:11:535] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:11:535] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:11:535] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:11:535] Scanout mode OFF set for 556c330cf4b0
[LOG] [10:41:11:535] Set keyboard focus to surface 556c30615250, with window name: ~/G/Hyprland
[LOG] [10:41:11:535] Searching for matching rules for kitty (title: ~/G/Hyprland)
[LOG] [10:41:11:535] Window rule nomaxsize -> class:.* matched 556c31130890 [~/G/Hyprland]
[LOG] [10:41:11:535] Scanout mode ON set for 556c31130890
[LOG] [10:41:11:535] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:11:536] Minimize request for 556c330cf4b0
[LOG] [10:41:13:564] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:13:564] Searching for matching rules for kitty (title: ~/G/Hyprland)
[LOG] [10:41:13:564] Window rule nomaxsize -> class:.* matched 556c31130890 [~/G/Hyprland]
[LOG] [10:41:13:564] Scanout mode OFF set for 556c31130890
[LOG] [10:41:13:564] Set keyboard focus to surface 556c3019edf0, with window name: osu!
[LOG] [10:41:13:564] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:13:564] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:13:564] Scanout mode ON set for 556c330cf4b0
[LOG] [10:41:13:564] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:14:835] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:14:835] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:14:835] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:14:835] Scanout mode OFF set for 556c330cf4b0
[LOG] [10:41:14:835] Set keyboard focus to surface 556c30615250, with window name: ~/G/Hyprland
[LOG] [10:41:14:836] Searching for matching rules for kitty (title: ~/G/Hyprland)
[LOG] [10:41:14:836] Window rule nomaxsize -> class:.* matched 556c31130890 [~/G/Hyprland]
[LOG] [10:41:14:836] Scanout mode ON set for 556c31130890
[LOG] [10:41:14:836] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:14:836] Minimize request for 556c330cf4b0
[LOG] [10:41:15:838] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:15:838] Searching for matching rules for kitty (title: ~/G/Hyprland)
[LOG] [10:41:15:838] Window rule nomaxsize -> class:.* matched 556c31130890 [~/G/Hyprland]
[LOG] [10:41:15:838] Scanout mode OFF set for 556c31130890
[LOG] [10:41:15:838] Set keyboard focus to surface 556c3019edf0, with window name: osu!
[LOG] [10:41:15:838] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:15:838] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:15:838] Scanout mode ON set for 556c330cf4b0
[LOG] [10:41:15:838] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:16:934] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:16:934] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:16:934] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:16:934] Scanout mode OFF set for 556c330cf4b0
[LOG] [10:41:16:934] Set keyboard focus to surface 556c30615250, with window name: ~/G/Hyprland
[LOG] [10:41:16:934] Searching for matching rules for kitty (title: ~/G/Hyprland)
[LOG] [10:41:16:934] Window rule nomaxsize -> class:.* matched 556c31130890 [~/G/Hyprland]
[LOG] [10:41:16:935] Scanout mode ON set for 556c31130890
[LOG] [10:41:16:935] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:16:936] Minimize request for 556c330cf4b0
[LOG] [10:41:17:745] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:17:745] Searching for matching rules for kitty (title: ~/G/Hyprland)
[LOG] [10:41:17:745] Window rule nomaxsize -> class:.* matched 556c31130890 [~/G/Hyprland]
[LOG] [10:41:17:745] Scanout mode OFF set for 556c31130890
[LOG] [10:41:17:745] Set keyboard focus to surface 556c3019edf0, with window name: osu!
[LOG] [10:41:17:745] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:17:745] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:17:746] Scanout mode ON set for 556c330cf4b0
[LOG] [10:41:17:746] Keybind triggered, calling dispatcher (64, , 65289)
[LOG] [10:41:18:308] Keybind triggered, calling dispatcher (64, , 99)
[LOG] [10:41:21:094] Keybind triggered, calling dispatcher (64, , 109)
[LOG] [10:41:21:094] Executing WAYLAND_DISPLAY=wayland-1 DISPLAY=:1 /home/igor/.config/hypr/scripts/mutewindow
[LOG] [10:41:21:103] Process Created with pid 126075
[LOG] [10:41:21:270] New LayerSurface has no preferred monitor. Assigning Monitor eDP-1
[LOG] [10:41:21:270] Registered signal for owner 556c330cc230: 556c310b1e30 -> 556c330cc410 (owner: layerSurface)
[LOG] [10:41:21:270] Registered signal for owner 556c330cc230: 556c306679b0 -> 556c330cc2d8 (owner: layerSurface)
[LOG] [10:41:21:270] Registered signal for owner 556c330cc230: 556c310b1e40 -> 556c330cc340 (owner: layerSurface)
[LOG] [10:41:21:270] Registered signal for owner 556c330cc230: 556c310b1e50 -> 556c330cc3a8 (owner: layerSurface)
[LOG] [10:41:21:270] Registered signal for owner 556c330cc230: 556c306679c0 -> 556c330cc478 (owner: layerSurface)
[LOG] [10:41:21:270] LayerSurface 556c306678f0 (namespace swaync-notification-window layer 3) created on monitor eDP-1
[LOG] [10:41:21:270] LayerSurface 556c30461740 arranged: x: 0 y: 0 w: 1920 h: 40 with margins: t: 0 l: 0 r: 0 b: 1
[LOG] [10:41:21:270] LayerSurface 556c3032c720 arranged: x: 0 y: 0 w: 1920 h: 1080 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] [10:41:21:270] LayerSurface 556c306b2470 arranged: x: 1420 y: 41 w: 500 h: 89 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] [10:41:21:271] Monitor eDP-1 layers arranged: reserved: 0.000000 41.000000 0.000000 0.000000
[LOG] [10:41:21:287] LayerSurface 556c306678f0 mapped
[LOG] [10:41:21:287] Registered signal for owner 556c330cc250: 556c310b1e70 -> 556c330cc258 (owner: CWLSurface)
[LOG] [10:41:21:287] CWLSurface 556c330cc250 called init()
[LOG] [10:41:21:287] LayerSurface 556c30461740 arranged: x: 0 y: 0 w: 1920 h: 40 with margins: t: 0 l: 0 r: 0 b: 1
[LOG] [10:41:21:287] LayerSurface 556c3032c720 arranged: x: 0 y: 0 w: 1920 h: 1080 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] [10:41:21:287] LayerSurface 556c306b2470 arranged: x: 1420 y: 41 w: 500 h: 89 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] [10:41:21:287] Monitor eDP-1 layers arranged: reserved: 0.000000 41.000000 0.000000 0.000000
[LOG] [10:41:21:498] Keybind triggered, calling dispatcher (64, , 99)
[LOG] [10:41:21:520] Searching for matching rules for osu! (title: osu!)
[LOG] [10:41:21:520] Window rule nomaxsize -> class:.* matched 556c330cf4b0 [osu!]
[LOG] [10:41:21:520] Scanout mode OFF set for 556c330cf4b0
[LOG] [10:41:21:520] Window 556c330cf4b0 fullscreen to 0
[LOG] [10:41:21:520] Window 556c330cf4b0 unmapped (class osu!)
[LOG] [10:41:21:520] Unregistered late callbacks XDG

same issue here. the mouse is moved to the top left corner every time I click in a vmware virtual machine, making it unusable.

patch.txt
try this

Tested for about 30 minutes, the patch seems to partially fix it. The initial constrain/unconstrain will put the cursor on top left corner, but subsequent ones will behave as expected.

patch.txt
try this

patch.txt
oops

That worked. Cursor is now warped to middle of the screen (or the window that grabbed the mouse), much better compared to top left.

I consider this closed then

Please reopen the issue, the following shows how it behaves after the patch. Mouse relocated to center everytime I click (including left, right, and middle) in vmware
https://github.com/hyprwm/Hyprland/assets/5774651/9ad8958a-0fd1-4ec4-838b-290eece23022

well this looks like a different issue though. Worth opening a separate bug report along with the hyprland log

Weird, can't repro it myself. I'm on default settings however, since I'm not a vmware user.
https://github.com/hyprwm/Hyprland/assets/64620317/da7519b7-3d38-4c1f-964a-3ec5e9c23f8b

reported at https://github.com/hyprwm/Hyprland/issues/3190

Still wasn't able to quite reproduce it, but I did get some weird behavior after installing vmware tools on the guest. If the mouse was currently grabbed and I switched workspaces, moved the mouse to a different position, then switch back, the cursor would warp around the guest screen when dragging something near the edges of the screen.

"Automatically grab and ungrab the mouse cursor" was already enabled,

Yeah, seems like it was enabled by default.


Clarify kernel-param value as string

Clarify the value is a string, to avoid users doing something like this.
KernelParam: net.ipv4.ip_forward: value:
Expected
    <string>: 0
to equal
    <int>: 0

encourge people to do : goss  add  to find the syntax too, e.g. goss  add KernelParam goss  add net.ipv4.ip_forward

The PR lookss good. Any chance to get it merged?

Need to just update the docs for now.


Opting out of precompiled binaries

On older systems, the precompiled library shipped with #234 is not usable due to an older glibc version. Is it possible to opt out of precompiled artifacts and still use the SQLite version in c_src?

@cocoa-xu can you add a section to the README.md about how to skip pre-compilation?

Oh yes, the glibc versions... I'll address this issue in elixir_make ASAP. And meanwhile, perhaps @george-hopkins would have to use the last version that works. Sorry for the inconvenience!

@george-hopkins https://github.com/elixir-sqlite/exqlite/pull/240 introduces the change for opting out of precompiled artifacts.

:tada: Thank you!


Feat/os keychain followup

What
This PR is based on https://github.com/stellar/stellar-cli/pull/1703 and adds some additional compatibility with the secure store like keys rm and keys add.

[x] keys rm
[x] keys add
[x] manual test on Mac OS

[x] add the key: cargo run keys add --secure-store --entry-name alice alice
[x] make sure we can get the address from the new key: cargo run keys address alice
[x] make sure we can sign & send with the new key:

    stello contract deploy --wasm target/test-wasms/hello_world.wasm  --build-only --network testnet --source alice | \
    stello tx simulate --network testnet --source alice | \
    stello tx sign --network testnet --sign-with-key alice | \
    stello tx send --network testnet

[x] remove the key: stello keys rm alice
[x] make sure it is no longer in the list or the keychain

[x] manual test on Linux

[x] add the key: cargo run keys add --secure-store --entry-name alice alice
[x] make sure we can get the address from the new key: cargo run keys address alice
[x] make sure we can sign & send with the new key:

    stello contract deploy --wasm target/test-wasms/hello_world.wasm  --build-only --network testnet --source alice | \
    stello tx simulate --network testnet --source alice | \
    stello tx sign --network testnet --sign-with-key alice | \
    stello tx send --network testnet

[x] remove the key: stello keys rm alice
[x] make sure it is no longer in the list or the keychain

[x] manual test on Windows

[x] add the key: cargo run keys add --secure-store --entry-name alice alice
[x] make sure we can get the address from the new key: cargo run keys address alice
[x] make sure we can sign & send with the new key:

    stello contract deploy --wasm target/test-wasms/hello_world.wasm  --build-only --network testnet --source alice | \
    stello tx simulate --network testnet --source alice | \
    stello tx sign --network testnet --sign-with-key alice | \
    stello tx send --network testnet

[x] remove the key: stello keys rm alice
[x] make sure it is no longer in the list or the keychain

Why
I wanted to keep https://github.com/stellar/stellar-cli/pull/1703 from getting too big so it was easier to review.
Known limitations
[TODO or N/A]

@willemneal

... it's possible to have the name used in keys add differ from what is used in entry-name?

Good call! Yeah, at the moment, this is possible. It still ends up working because we are saving the value of --entry-name in the <NAME>.toml file, like this: entry_name = "secure_store:org.stellar.cli-<NAME>. And then getting that entry_name from the toml file when accessing the public key, or using the private key.
Though, this may be confusing. 🤔
Instead, we could remove the --entry-name flag, and when adding a new key, require that the key name is the same as the entry name in the OS's secure store.  So, this command would change to be: cargo run keys add alice.
But, now I'm starting to wonder if we shouldn't allow users to add keys from the keychain at all. If we do, we'd need to make sure that users add the keys to their secure store with:

the key name prepended with secure_store:org.stellar.cli-
the key saved as a base64 encoded ed25519_dalek::SigningKey

And we could probably do that, but I'm not sure how necessary this feature is. 🤔


Bump @embroider/* packages to latest

Solves this issue https://github.com/ember-learn/ember-cli-addon-docs/pull/1137 which is not released yet.

Its sadly humorous that the resolutions section is growing due to embroider when you would want that section to be as small as possible. Just had to add the @embroider/util to my applications package.json recently.

Its sadly humorous that the resolutions section is growing due to embroider when you would want that section to be as small as possible. Just had to add the @embroider/util to my applications package.json recently.

@cah-briangantzler yeah, ecosystem updates slower than I wanted to.
The only real reason I need this - fix docs app https://www.ember-cli-mirage.com/versions/v3.0.0-alpha.3/
Almost all of those actually come from ember-cli-addon-docs which I'm thinking about extracting into separate app.
With that, we can have a monorepo setup with addon, test app (now dummy app), docs app, test app1 (now test-projects/01-basic-app) and test app2 (now test-projects/02-app-that-excludes-mirage) being packages within that monorepo.
As a result, CI will run faster and we could update docs app independently form the test app(s).
But that's indeed separate PR I hope will get to somewhere next week.

Separating into to its own App is definitely the way to go. I still advise on cutting down the docs to ONLY what this addon does and leave the docs part about how to use Mirage to the Mirage Repo.
Yes the trend with the V2 versions of addons puts the test app in a separate app that solves many of these problems. Not sure if this can be a V2 addon due to the way it scans the application for mirage models, factories etc, it makes the addon reach into the app package space which Im sure is allowed when embroider is more strict.
I think we should maybe move towards something like below. While its a little boilerplate, the addon supplies the code, but the code runs within the app instead of the addon. This should give the code access to the app assets in a way that might make embroider happier
import {
  discoverEmberDataModels,
  discoverMirageModels,
  discoverMirageFactories,
  discoverMirageSerializers,
} from 'ember-cli-mirage';
import { createServer } from 'miragejs';
import addonConfig from 'ember-rxid/mirage/routes/config';

// Application Factories, Models, Serializers etc would no longer be supplied on config
export default function (config) {
  let finalConfig = {
    ...config,
    factories: discoverMirageFactories(),
    models: { ...discoverEmberDataModels(), ...discoverMirageModels() },
    serializers: discoverMirageSerializers()
    routes,
  };

  return createServer(finalConfig);
}

function routes() {
   // Your routes here
}

cutting down the docs to ONLY what this addon does and leave the docs part about how to use Mirage to the Mirage Repo.

Yes, I'm totally in favor of doing this.


[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

We cache the output of git describe, but we don't check whether the
cached value is valid.
This fixes that.

I suspect this undoes some of the performance gain?

Tiny bit slower, but not much:
❯ hyperfine --parameter-list branch master,version-cache-handling --warmup 5 --setup 'git switch {branch}' 'brew config'
Benchmark 1: brew config (branch = master)
  Time (mean ± σ):     428.1 ms ±   1.7 ms    [User: 146.5 ms, System: 117.9 ms]
  Range (min … max):   425.9 ms … 431.9 ms    10 runs

Benchmark 2: brew config (branch = version-cache-handling)
  Time (mean ± σ):     435.0 ms ±   1.7 ms    [User: 146.8 ms, System: 117.1 ms]
  Range (min … max):   433.3 ms … 438.7 ms    10 runs

Summary
  brew config (branch = master) ran
    1.02 ± 0.01 times faster than brew config (branch = version-cache-handling)

❯ hyperfine --parameter-list branch master,version-cache-handling --warmup 5 --setup 'git switch {branch}' 'brew --version'
Benchmark 1: brew --version (branch = master)
  Time (mean ± σ):      84.1 ms ±   0.7 ms    [User: 21.1 ms, System: 25.0 ms]
  Range (min … max):    82.8 ms …  85.3 ms    35 runs

Benchmark 2: brew --version (branch = version-cache-handling)
  Time (mean ± σ):      92.8 ms ±   1.2 ms    [User: 23.5 ms, System: 38.4 ms]
  Range (min … max):    91.6 ms …  96.8 ms    31 runs

Summary
  brew --version (branch = master) ran
    1.10 ± 0.02 times faster than brew --version (branch = version-cache-handling)

Worst-case delay is 14ms (max of brew --version after this change minus min of brew --version before this change) which is just on the edge of imperceptible.

Using read instead of cat:
❯ hyperfine --parameter-list branch master,version-cache-handling --warmup 5 --setup 'git switch {branch}' 'brew config'
Benchmark 1: brew config (branch = master)
  Time (mean ± σ):     430.7 ms ±   3.9 ms    [User: 147.3 ms, System: 119.4 ms]
  Range (min … max):   426.6 ms … 439.9 ms    10 runs

Benchmark 2: brew config (branch = version-cache-handling)
  Time (mean ± σ):     438.3 ms ±   4.0 ms    [User: 147.9 ms, System: 119.0 ms]
  Range (min … max):   434.4 ms … 445.0 ms    10 runs

Summary
  brew config (branch = master) ran
    1.02 ± 0.01 times faster than brew config (branch = version-cache-handling)

❯ hyperfine --parameter-list branch master,version-cache-handling --warmup 5 --setup 'git switch {branch}' 'brew --version'
Benchmark 1: brew --version (branch = master)
  Time (mean ± σ):      85.1 ms ±   1.2 ms    [User: 21.2 ms, System: 25.7 ms]
  Range (min … max):    82.9 ms …  88.8 ms    34 runs

Benchmark 2: brew --version (branch = version-cache-handling)
  Time (mean ± σ):      91.8 ms ±   0.3 ms    [User: 23.4 ms, System: 37.9 ms]
  Range (min … max):    91.1 ms …  92.5 ms    31 runs

Summary
  brew --version (branch = master) ran
    1.08 ± 0.02 times faster than brew --version (branch = version-cache-handling

Note that git diff-index can produce incorrect results without a git update-index --refresh. For example if someone edits a file and then reverts those changes (simplest reproducer: touch $(brew --repo)/Dockerfile).
May be worth comparing speed and correctness to git status --porcelain --untracked-files=no


Use mktemp to create temporary files while starting a pod

Uniform file name structure
mktemp sets strict file permissions by default: u=rw,go=
Filenames can't be guessed (so an unprivileged user can't
interfere with them in any way during pot start-up).

Thanks for the patch.
Currently, I cannot accept it:

the exit 1 after the mktemp is a no go, I need to check if return 1 is good enough for this patch
there are few other places where filename are not randomly generated, but predictably built. I'd like to implement a common function
the common function could take care of ensure the creation of the temporary file
the common function can be substituted in tests to provide predictable names

Thanks for the patch.
Currently, I cannot accept it:

Hi

the exit 1 after the mktemp is a no go, I need to check if return 1 is good enough for this patch

You don't really check if anything fails in the other commands in there (e.g. if writing to files fails), so "pot start" is full of undefined behaviour. Therefore you could probably just remove "|| exit 1" and let it fail in case something goes wrong. shrug

there are few other places where filename are not randomly generated, but predictably built. I'd like to implement a common function

You could do that, but please remember that for what you doing in this place, mktemp is the way to implement this reliably (so it should be in there somewhere).

the common function could take care of ensure the creation of the temporary file
the common function can be substituted in tests to provide predictable names

You could do that (also by configuration, e.g. by setting a tempfile template to be passed to mktemp).
Just be aware that pot in its current state of handling temporary files allows to:

read what's in a pot's environment by an unprivileged user
injecting firewall rules by an unprivileged user
injecting commands into the rc script of a pot

So you should fix this rather sooner than later.

@pizzamig Or in a shorter version:

You probably don't want to continue what you do in case mktemp fails (at least if you give it a path).
pot is currently vulnerable as pointed out in already closed #89.

I will just merge it for now. As you pointed out, it's better than leave it as it is now.
I can wrap the mktemp call to fix tests.

I will just merge it for now. As you pointed out, it's better than leave it as it is now.
I can wrap the mktemp call to fix tests.

Thank you!
I opened #92 as an example to make it easier for you to re-enable unit test with fixed file names. Please feel free to not accept it, if you have a better idea/a different plan. :)


[REGRESSION]: DockerCompose@0 no longer supports default projectName for GitHub Repostitories

New issue checklist

[X] I searched for existing GitHub issues
[X] I read pipeline troubleshooting guide
[X] I checked how to collect logs

Task name
DockerCompose@0
Breaking task version
0.239.0
Last working task version
0.238.0
Regression Description
This functionality was broken in version 0.239.0, but is not observable unless the flag USE_DOCKER_COMPOSE_V2_COMPATIBLE_MODE is true.
The DockerCompose@0 task defaults projectName to '$(Build.Repository.Name)'. However, GitHub repositories have a forward slash (/) in their name, and the forward slash is an invalid property for projectName when calling docker compose. I'm not sure why this only just broke, but manually specifying a project name that does not include the slash works.
Environment type (Please select at least one enviroment where you face this issue)

[ ] Self-Hosted
[X] Microsoft Hosted
[ ] VMSS Pool
[ ] Container

Azure DevOps Server type
dev.azure.com (formerly visualstudio.com)
Azure DevOps Server Version (if applicable)
No response
Operation system
windows-2019
Relevant log output
Starting: Build Image
==============================================================================
Task         : Docker Compose
Description  : Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
Version      : 0.240.2
Author       : Microsoft Corporation
Help         : https://aka.ms/azpipes-docker-compose-tsg
==============================================================================
##[error]The process 'C:\Windows\system32\docker.exe' failed with exit code 15
Finishing: Build Image

Full task logs with system.debug enabled

UNSUCCESSFUL RUN
 [REPLACE THIS WITH YOUR INFORMATION]

SUCCESSFUL RUN
 [REPLACE THIS WITH YOUR INFORMATION]

Repro steps
https://github.com/dhavemeyer-symplr/ado-pipeline-docker-compose-error

Hi @dhavemeyer-symplr
Could you please share the complete debug logs of the pipeline by adding variable system.debug to "true"?

The DockerCompose@0 task defaults projectName to '$(Build.Repository.Name)'. However, GitHub repositories have a forward slash (/) in their name, and the forward slash is an invalid property for projectName when calling docker compose. I'm not sure why this only just broke, but manually specifying a project name that does not include the slash works.

Could you please elaborate your query?

Hi,
All our azure devops pipelines have started to fail with the following message:
Starting: Build services
Task         : Docker Compose
Description  : Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
Version      : 0.240.2
Author       : Microsoft Corporation
Help         : https://aka.ms/azpipes-docker-compose-tsg
##[error]invalid project name "Company.Project.Component": must consist only of lowercase alphanumeric characters, hyphens, and underscores as well as start with a letter or number
##[error]The process '/usr/bin/docker' failed with exit code 15
Finishing: Build services
This has been working until now, all our different repositories are named like this .. with PascalCasing and it was never a problem.
This is the task we're using:
 - task: DockerCompose@0
      displayName: 'Build services'
      inputs:
        containerregistrytype: 'Azure Container Registry'
        dockerComposeFile: 'docker-compose.yml'
        dockerComposeFileArgs: |
          BuildConfiguration=$(BuildConfiguration)
          ASPNETCORE_ENVIRONMENT='Production'
          ImageName=$(imageName)
          TOKEN_NPM=$(TOKEN_NPM)
        action: 'Build services'
        additionalImageTags: '$(tag)'`

Hi,
All our azure devops pipelines have started to fail with the following message:
Starting: Build services
Task : Docker Compose Description : Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry. Version : 0.240.2 Author : Microsoft Corporation Help : https://aka.ms/azpipes-docker-compose-tsg
##[error]invalid project name "Company.Project.Component": must consist only of lowercase alphanumeric characters, hyphens, and underscores as well as start with a letter or number ##[error]The process '/usr/bin/docker' failed with exit code 15 Finishing: Build services
This has been working until now, all our different repositories are named like this .. with PascalCasing and it was never a problem.
This is the task we're using:
 - task: DockerCompose@0
      displayName: 'Build services'
      inputs:
        containerregistrytype: 'Azure Container Registry'
        dockerComposeFile: 'docker-compose.yml'
        dockerComposeFileArgs: |
          BuildConfiguration=$(BuildConfiguration)
          ASPNETCORE_ENVIRONMENT='Production'
          ImageName=$(imageName)
          TOKEN_NPM=$(TOKEN_NPM)
        action: 'Build services'
        additionalImageTags: '$(tag)'`

We are already working on this issue. Will keep here posted the latest updates.

I'm also experiencing this issue.
As a workaround I've set the "projectName" property of the DockerCompose Task to use lowercase and underscores.
The documentation implies that periods can be used as per:
-------Docker Compose v0 task----------------
projectName - Project Name
string. Default value: $(Build.Repository.Name).
Specifies the project name to use by default to name images and containers.
-------DevOps: Create a repository----------------
TF401025: 'repoName' is not a valid name for a Git repository. A repository name cannot: contain more than 64 characters, contain Unicode control characters or surrogate characters, contain any of the following characters: / : \ ~ & % ; @ ' " ? < > | # $ * } { , + = [ ], start with an underscore ( _ ), start or end with a period ( . ), or be a system reserved name

Hi @dhavemeyer-symplr Could you please share the complete debug logs of the pipeline by adding variable system.debug to "true"?

For the time being I cannot. It looks like the feature flag that caused this has since been disabled in my ADO organization.
##[debug]No pattern found in docker compose filepath parameter
##[debug]which 'docker'
##[debug]found: 'C:\Windows\system32\docker.exe'
**##[debug]Feature flag USE_DOCKER_COMPOSE_V2_COMPATIBLE_MODE not found. Returning false as default.**
##[debug]dockerComposePath=undefined
##[debug]which 'docker-compose'
##[debug]found: 'C:\ProgramData\docker-compose\docker-compose.exe'
##[debug]dockerComposeFile=D:\a\1\s\docker-compose.yml
##[debug]cwd=D:\a\1\s

To be clear though, this will still be an issue in any environment where that feature flag is enabled and it sounds like this was rolled out to many other organizations as well.

The DockerCompose@0 task defaults projectName to '$(Build.Repository.Name)'. However, GitHub repositories have a forward slash (/) in their name, and the forward slash is an invalid property for projectName when calling docker compose. I'm not sure why this only just broke, but manually specifying a project name that does not include the slash works.

Could you please elaborate your query?

Based on your documentation here: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/docker-compose-v0?view=azure-pipelines#syntax
The default value for the projectName parameter for the DockerCompose@0 task will be '$(Build.Repository.Name)'. For a GitHub repository this will resolve to 'owner/repo'. 'owner/repo' is an invalid docker compose project name in all instances. https://docs.docker.com/compose/project-name/#set-a-project-name

Project names must contain only lowercase letters, decimal digits, dashes, and underscores, and must begin with a lowercase letter or decimal digit. If the base name of the project directory or current directory violates this constraint, alternative mechanisms are available.

I'm having the same issue. Here's some additional info:

I have a pipeline run from June 10th where the task worked as expected: using ubuntu-latest and  DockerCompose@0 0.240.2 on dev.azure.com
The first time I had a pipeline fail with this error was June 18th. Also using ubuntu-latest and  DockerCompose@0 0.240.2, same commit

Workaround: explicitly add projectName in task inputs. Sample task definition:
- task: DockerCompose@0
  displayName: Build docker compose services
  inputs:
    projectName: ${{ lower(variables['Build.Repository.Name']) }}
    containerregistrytype: 'Azure Container Registry'
    dockerComposeFile: 'docker-compose.yml'
    action: 'Build services'

Unsuccessful run with system diagnostics (Original project name was CamelCase, changed to Redacted):

UNSUCCESSFUL RUN
2024-06-20T21:20:18.1799389Z ##[debug]Evaluating condition for step: 'Build docker compose services'
2024-06-20T21:20:18.1800123Z ##[debug]Evaluating: SucceededNode()
2024-06-20T21:20:18.1800372Z ##[debug]Evaluating SucceededNode:
2024-06-20T21:20:18.1800756Z ##[debug]=> True
2024-06-20T21:20:18.1801002Z ##[debug]Result: True
2024-06-20T21:20:18.1801305Z ##[section]Starting: Build docker compose services
2024-06-20T21:20:18.1807981Z ==============================================================================
2024-06-20T21:20:18.1808132Z Task         : Docker Compose
2024-06-20T21:20:18.1808228Z Description  : Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
2024-06-20T21:20:18.1808393Z Version      : 0.240.2
2024-06-20T21:20:18.1808462Z Author       : Microsoft Corporation
2024-06-20T21:20:18.1808545Z Help         : https://aka.ms/azpipes-docker-compose-tsg
2024-06-20T21:20:18.1808643Z ==============================================================================
2024-06-20T21:20:18.2278896Z ##[debug]Resource Utilization warnings is disabled, switch "DISABLE_RESOURCE_UTILIZATION_WARNINGS" variable to "true" if you want to enable it
2024-06-20T21:20:18.2727968Z ##[debug]Using node path: /home/vsts/agents/3.241.0/externals/node16/bin/node
2024-06-20T21:20:18.5606918Z ##[debug]agent.TempDirectory=/home/vsts/work/_temp
2024-06-20T21:20:18.5607393Z ##[debug]loading inputs and endpoints
2024-06-20T21:20:18.5608044Z ##[debug]loading INPUT_CONTAINERREGISTRYTYPE
2024-06-20T21:20:18.5622633Z ##[debug]loading INPUT_DOCKERCOMPOSEFILE
2024-06-20T21:20:18.5625273Z ##[debug]loading INPUT_PROJECTNAME
2024-06-20T21:20:18.5628442Z ##[debug]loading INPUT_QUALIFYIMAGENAMES
2024-06-20T21:20:18.5635212Z ##[debug]loading INPUT_ACTION
2024-06-20T21:20:18.5636000Z ##[debug]loading INPUT_INCLUDESOURCETAGS
2024-06-20T21:20:18.5636800Z ##[debug]loading INPUT_INCLUDELATESTTAG
2024-06-20T21:20:18.5638658Z ##[debug]loading INPUT_BUILDIMAGES
2024-06-20T21:20:18.5640145Z ##[debug]loading INPUT_DETACHED
2024-06-20T21:20:18.5642388Z ##[debug]loading INPUT_ABORTONCONTAINEREXIT
2024-06-20T21:20:18.5644933Z ##[debug]loading INPUT_IMAGEDIGESTCOMPOSEFILE
2024-06-20T21:20:18.5648403Z ##[debug]loading INPUT_REMOVEBUILDOPTIONS
2024-06-20T21:20:18.5650969Z ##[debug]loading INPUT_BASERESOLVEDIRECTORY
2024-06-20T21:20:18.5653653Z ##[debug]loading INPUT_OUTPUTDOCKERCOMPOSEFILE
2024-06-20T21:20:18.5654976Z ##[debug]loading INPUT_NOPIFNODOCKERCOMPOSEFILE
2024-06-20T21:20:18.5657206Z ##[debug]loading INPUT_REQUIREADDITIONALDOCKERCOMPOSEFILES
2024-06-20T21:20:18.5658576Z ##[debug]loading INPUT_CWD
2024-06-20T21:20:18.5660901Z ##[debug]loading ENDPOINT_AUTH_SYSTEMVSSCONNECTION
2024-06-20T21:20:18.5661999Z ##[debug]loading ENDPOINT_AUTH_SCHEME_SYSTEMVSSCONNECTION
2024-06-20T21:20:18.5664153Z ##[debug]loading ENDPOINT_AUTH_PARAMETER_SYSTEMVSSCONNECTION_ACCESSTOKEN
2024-06-20T21:20:18.5668800Z ##[debug]loading SECRET_SYSTEM_ACCESSTOKEN
2024-06-20T21:20:18.5670091Z ##[debug]loaded 21
2024-06-20T21:20:18.5674783Z ##[debug]Agent.ProxyUrl=undefined
2024-06-20T21:20:18.5675779Z ##[debug]Agent.CAInfo=undefined
2024-06-20T21:20:18.5676812Z ##[debug]Agent.ClientCert=undefined
2024-06-20T21:20:18.5677602Z ##[debug]Agent.SkipCertValidation=undefined
2024-06-20T21:20:18.6182756Z ##[debug]agent.proxyurl=undefined
2024-06-20T21:20:18.6183183Z ##[debug]VSTS_ARM_REST_IGNORE_SSL_ERRORS=undefined
2024-06-20T21:20:18.6183870Z ##[debug]AZURE_HTTP_USER_AGENT=VSTS_d0ee55bc-caac-469f-b347-2b3466c496d8_build_43_0
2024-06-20T21:20:18.7666538Z ##[debug]check path : /home/vsts/work/_tasks/DockerCompose_6975e2d1-96d3-4afc-8a41-498b5d34ea19/0.240.2/node_modules/azure-pipelines-tasks-azure-arm-rest/module.json
2024-06-20T21:20:18.7675762Z ##[debug]adding resource file: /home/vsts/work/_tasks/DockerCompose_6975e2d1-96d3-4afc-8a41-498b5d34ea19/0.240.2/node_modules/azure-pipelines-tasks-azure-arm-rest/module.json
2024-06-20T21:20:18.7676855Z ##[debug]system.culture=en-US
2024-06-20T21:20:18.7704130Z ##[debug]Agent.TempDirectory=/home/vsts/work/_temp
2024-06-20T21:20:18.7715301Z ##[debug]Resource file has already set to: /home/vsts/work/_tasks/DockerCompose_6975e2d1-96d3-4afc-8a41-498b5d34ea19/0.240.2/node_modules/azure-pipelines-tasks-azure-arm-rest/module.json
2024-06-20T21:20:18.8097500Z ##[debug]check path : /home/vsts/work/_tasks/DockerCompose_6975e2d1-96d3-4afc-8a41-498b5d34ea19/0.240.2/node_modules/azure-pipelines-tasks-docker-common/module.json
2024-06-20T21:20:18.8098172Z ##[debug]adding resource file: /home/vsts/work/_tasks/DockerCompose_6975e2d1-96d3-4afc-8a41-498b5d34ea19/0.240.2/node_modules/azure-pipelines-tasks-docker-common/module.json
2024-06-20T21:20:18.8098606Z ##[debug]system.culture=en-US
2024-06-20T21:20:18.8102404Z ##[debug]Resource file has already set to: /home/vsts/work/_tasks/DockerCompose_6975e2d1-96d3-4afc-8a41-498b5d34ea19/0.240.2/node_modules/azure-pipelines-tasks-docker-common/module.json
2024-06-20T21:20:18.8110791Z ##[debug]check path : /home/vsts/work/_tasks/DockerCompose_6975e2d1-96d3-4afc-8a41-498b5d34ea19/0.240.2/task.json
2024-06-20T21:20:18.8111307Z ##[debug]adding resource file: /home/vsts/work/_tasks/DockerCompose_6975e2d1-96d3-4afc-8a41-498b5d34ea19/0.240.2/task.json
2024-06-20T21:20:18.8111723Z ##[debug]system.culture=en-US
2024-06-20T21:20:18.8120402Z ##[debug]cwd=/home/vsts/work/1/s
2024-06-20T21:20:18.8160586Z ##[debug]containerregistrytype=Azure Container Registry
2024-06-20T21:20:18.8160995Z ##[debug]azureSubscriptionEndpoint=undefined
2024-06-20T21:20:18.8161354Z ##[debug]azureContainerRegistry=undefined
2024-06-20T21:20:18.8161723Z ##[debug]Attempting to get endpoint authorization scheme...
2024-06-20T21:20:18.8162102Z ##[debug]Failed to get endpoint authorization scheme.
2024-06-20T21:20:18.8162506Z ##[debug]Attempting to get endpoint authorization scheme as an authorization parameter...
2024-06-20T21:20:18.8162981Z ##[debug]Failed to get endpoint authorization scheme as an authorization parameter. Will default authorization scheme to ServicePrincipal.
2024-06-20T21:20:18.8163436Z ##[debug]dockerComposeFile=/home/vsts/work/1/s/docker-compose.yml
2024-06-20T21:20:18.8163803Z ##[debug]nopIfNoDockerComposeFile=false
2024-06-20T21:20:18.8164169Z ##[debug]No pattern found in docker compose filepath parameter
2024-06-20T21:20:18.8196000Z ##[debug]which 'docker'
2024-06-20T21:20:18.8198895Z ##[debug]found: '/usr/bin/docker'
2024-06-20T21:20:18.8199306Z ##[debug]Feature flag USE_DOCKER_COMPOSE_V2_COMPATIBLE_MODE = true
2024-06-20T21:20:18.8205312Z ##[debug]dockerComposePath=undefined
2024-06-20T21:20:18.8209852Z ##[debug]which 'docker'
2024-06-20T21:20:18.8210168Z ##[debug]found: '/usr/bin/docker'
2024-06-20T21:20:18.8210532Z ##[debug]dockerComposeFile=/home/vsts/work/1/s/docker-compose.yml
2024-06-20T21:20:18.8210893Z ##[debug]cwd=/home/vsts/work/1/s
2024-06-20T21:20:18.8211249Z ##[debug]No pattern found in docker compose filepath parameter
2024-06-20T21:20:18.8211754Z ##[debug]additionalDockerComposeFiles=undefined
2024-06-20T21:20:18.8212229Z ##[debug]requireAdditionalDockerComposeFiles=false
2024-06-20T21:20:18.8212593Z ##[debug]projectName=Redacted
2024-06-20T21:20:18.8212929Z ##[debug]dockerHostEndpoint=undefined
2024-06-20T21:20:18.8213457Z ##[debug]dockerComposeFileArgs=undefined
2024-06-20T21:20:18.8213802Z ##[debug]which '/usr/bin/docker'
2024-06-20T21:20:18.8214134Z ##[debug]found: '/usr/bin/docker'
2024-06-20T21:20:18.8214471Z ##[debug]dockerComposePath=undefined
2024-06-20T21:20:18.8215120Z ##[debug]/usr/bin/docker arg: compose
2024-06-20T21:20:18.8215471Z ##[debug]/usr/bin/docker arg: --compatibility
2024-06-20T21:20:18.8215855Z ##[debug]/usr/bin/docker arg: ["-f","/home/vsts/work/1/s/docker-compose.yml"]
2024-06-20T21:20:18.8216215Z ##[debug]/usr/bin/docker arg: ["-p","Redacted"]
2024-06-20T21:20:18.8216563Z ##[debug]/usr/bin/docker arg: config
2024-06-20T21:20:18.8216900Z ##[debug]exec tool: /usr/bin/docker
2024-06-20T21:20:18.8217222Z ##[debug]arguments:
2024-06-20T21:20:18.8217531Z ##[debug]   compose
2024-06-20T21:20:18.8217845Z ##[debug]   --compatibility
2024-06-20T21:20:18.8218139Z ##[debug]   -f
2024-06-20T21:20:18.8218609Z ##[debug]   /home/vsts/work/1/s/docker-compose.yml
2024-06-20T21:20:18.8218940Z ##[debug]   -p
2024-06-20T21:20:18.8219243Z ##[debug]   Redacted
2024-06-20T21:20:18.8219551Z ##[debug]   config
2024-06-20T21:20:19.3027707Z ##[debug]Agent environment resources - Disk: / Available 21380.00 MB out of 74244.00 MB, Memory: Used 723.00 MB out of 6921.00 MB, CPU: Usage 74.08%
2024-06-20T21:20:23.2158962Z ##[error]invalid project name "Redacted": must consist only of lowercase alphanumeric characters, hyphens, and underscores as well as start with a letter or number
2024-06-20T21:20:23.2166661Z ##[debug]Processed: ##vso[task.issue type=error;]invalid project name "Redacted": must consist only of lowercase alphanumeric characters, hyphens, and underscores as well as start with a letter or number
2024-06-20T21:20:23.2173529Z ##[debug]Exit code 15 received from tool '/usr/bin/docker'
2024-06-20T21:20:23.2180121Z ##[debug]STDIO streams have closed for tool '/usr/bin/docker'
2024-06-20T21:20:23.2203323Z ##[debug]task result: Failed
2024-06-20T21:20:23.2204083Z ##[error]The process '/usr/bin/docker' failed with exit code 15
2024-06-20T21:20:23.2204633Z ##[debug]Processed: ##vso[task.issue type=error;]The process '/usr/bin/docker' failed with exit code 15
2024-06-20T21:20:23.2205473Z ##[debug]Processed: ##vso[task.complete result=Failed;]The process '/usr/bin/docker' failed with exit code 15
2024-06-20T21:20:23.2286229Z ##[section]Finishing: Build docker compose services

Hello Everyone,
For now we have disabled the FF DistributedTask.Agent.UseDockerComposeV2CompatibleMode for all the organizations.
I hope you all will not be having any issues related to projectName parameters.

The root cause of this problem was introduced here: https://github.com/compose-spec/compose-go/pull/261
Docker compose now validates project names, defining a set of valid characters (of which / is not one)

https://github.com/microsoft/azure-pipelines-tasks/pull/20064

We got it working during this previous days and started failing again today. Any suggestions?

The issue has returned for us as well. We are looking for guidance on how to fix.

azure-pipeline.yml:
  - task: DockerCompose@0
    displayName: Install dependencies
    inputs:
      dockerComposeFile: .ci/pr/docker-compose.yml
      action: Run a specific service
      serviceName: ci
      detached: false
      workDir: /app
      containerCommand: .ci/pr/install.bash

Error during pipelines execution:
##[warning]The project name "gitbub_org_name/gitbub_repo_name" must be a valid docker compose project name. Follow the link for more details: https://aka.ms/azdo-docker-compose-v1
##[error]invalid project name "gitbub_org_name/gitbub_repo_name": must consist only of lowercase alphanumeric characters, hyphens, and underscores as well as start with a letter or number
##[error]The process '/usr/bin/docker' failed with exit code 15

Where gitbub_org_name/gitbub_repo_name is your github repo.

azure-pipeline.yml:
  - task: DockerCompose@0
    displayName: Install dependencies
    inputs:
      dockerComposeFile: .ci/pr/docker-compose.yml
      action: Run a specific service
      serviceName: ci
      detached: false
      workDir: /app
      containerCommand: .ci/pr/install.bash

Error during pipelines execution:
##[warning]The project name "gitbub_org_name/gitbub_repo_name" must be a valid docker compose project name. Follow the link for more details: https://aka.ms/azdo-docker-compose-v1
##[error]invalid project name "gitbub_org_name/gitbub_repo_name": must consist only of lowercase alphanumeric characters, hyphens, and underscores as well as start with a letter or number
##[error]The process '/usr/bin/docker' failed with exit code 15

Where gitbub_org_name/gitbub_repo_name is your github repo.

Could you try to add Project name in the task inputs and check if that works fine for you and make sure you follow the rules specified for Project name.
Project names must contain
only lowercase letters, decimal digits, dashes, and underscores, and must begin with a lowercase letter or decimal digit.

@v-schhabra thanks for looking into it. That worked:
  - task: DockerCompose@0
    projectName: test
    displayName: Pull docker images

Closing this issue as issue is no more happening.

@v-schhabra I believe it is still an issue. I don't expect it to fail if I omit an optional configuration and the default value is not adhering to the standard

Are we saying we need to modify the 20+ projects that are using this to include this change on the pipeline? Any implications to that?

Hi @gsouf
Could you please share the complete debug logs of the pipeline and docker compose file as well at<EMAIL_ADDRESS>

@gsouf, the DockerComposeV0 task uses docker-compose cli by default.
The hotfix Docker Compose v0.242.10 has been released recently.
Could you confirm the problem still occurs on this version of the DockerCompose task?
@bison92, you may continue to use DockerComposeV0 with your project names but there is an additional information about Docker Compose tasks changes

@ivanduplenskikh I don't think you need logs to reproduce the issue. The issue will occur, as explained above, when you run the pipelines from github without specifying the name. It will by default use the repository name that includes an invalid character (the slash "/")

@gsouf, as I mentioned earlier, the DockerComposeV0 task uses docker-compose CLI which doesn't impose strict constraints to a project name.
I've tested this scenario with slash in a project name and it functioned as expected.
The DockerComposeV0 task was successful, but the DockerComposeV1 task failed.
strategy:
  matrix:
    DockerCompose@0:
      taskName: DockerCompose@0
    DockerCompose@1:
      taskName: DockerCompose@1

steps:
- powershell: |
    @"
    services:
      alpine-service:
        image: alpine:latest
    "@ | Out-File -FilePath "./docker-compose.yml"
- task: $(taskName)
  inputs:
    containerregistrytype: 'Azure Container Registry'
    dockerComposeFile: 'docker-compose.yml'
    projectName: 'test/Test'
    action: 'Build services'


Feature Request - CTRL-A 'add host' change focus to new window

First of all Fantastic tool!, very nicely done.
As a feature request, would it be possible to change the input focus to the new window when using the 'Add Host' button, or CTRL-A? That way you can just starting entering the new address, hit enter and away it goes. I'm currently using the CTRL-A, shift-tab*2 to get to the new window and start entering.
Thanks.

That's something that has always bugged me.  I currently have it fixed and it'll be available in the next release.

This feature was added in version 1.2.7 and is now available for download.  It only auto changes focus if all of the existing ping windows have a hostname typed in.

Looks good Ryan, thanks.
BTW, the "Click here to download the latest .exe" is still pointing to 1.2.6.

It's all updated now to point to 1.2.7.  Thanks for letting me know.  I never would've noticed.


Update the secure auth tokens

This project uses semver, please check the scope of this pr:

[X] #patch# - backwards-compatible bug fix
[ ] #minor# - adding functionality in a backwards-compatible manner
[ ] #major# - incompatible API change

CHANGELOG

Updated the secure auth tokens in .travis.yml

Coverage remained the same at 98.784% when pulling 2c29009a2198f1e383cbb32e974a724fee465612 on AdamWard1995:updateToken into eda01495df9948f83893c02b55a18b4a0322fd1b on ciena-blueplanet:master.

👍


makefile doesn't override HOSSTED_API_URL for dev mode

If you run locally make -f Makefile dev after export locally all the env  vars and HOSSTED_API_URL=https://api.dev.hossted.com/v1/instances  , then run
bin/dev/hossted activate --token SOME JWT TOKEN --org_id YOUR_ORG_ID -t k8s , you will see that hossted-operator works with all dev vars except HOSSTED_API_URL, it still uses default value - HOSSTED_API_URL: https://api.hossted.com/v1/instances .
So currently it's not possible to create cli binary for dev env

fixed by https://github.com/hossted/cli/pull/102


Hs qa

@rufelo these are development branches corresponding to our environments, please do not open PRs for them


Remove not used service

Context
This service was removed on #8877 so not need anymore
Guidance to review

Is it okay to delete?

Link to Trello card
https://trello.com/c/9NiJd3LX/1036-catd-send-reject-by-default-email-to-providers-service

 CATD: Send reject by default email to providers service


Add DI for File and Directory (IStorage maybe?)

Although using the static File and Directory classes can be nice, they do not play well with unit testing. Not only that, but this somewhat breaks the Dependency Injection (DI) pattern you are trying to following. With that said, you should either rely on another library or create your own IStorage interface and a set of classes to inject the file system into LocalDataAccountStore.

DI was originally added to aid with writing XAML which is generically horrible. From there its use has grown to an approximation of DI but this doesn't really use DI the way it should.
Due to this further enhancements to DI would only be considered for testing or additional features as such this also gets low priority.

No problem. I understand and appreciate the consideration.


add: added Bengali translation

I have added the Bengali translation file and translated almost 99% of translation. I have seen in discord server a few asking about it so you can add and marge this also if there is any issues let me know I will fix it as soon as possible.

Thanks!


I cannot run this project using ios simulator

Describe the bug
Using develop branch, I cannot run stream_chat_v1
In getstream-flutter/packages/stream_chat_v1, I typed flutter run, but I cannot run.
What package are you using? What version?
I am usin flutter 2.2.2
What platform is it about?

[ ] Android
[ ] iOS
[ ] Web
[ ] Windows
[x] MacOS
[ ] Linux

To Reproduce
Steps to reproduce the behavior:

Clone this project.
change directory to pakcates/stream_chat_v1 using terminal
type flutter run

Expected behavior
I want to run using ios simluator.
Screenshots
If applicable, add screenshots to help explain your problem.
❯ flutter run                                                                                ─╯
Warning: You are using these overridden dependencies:
! stream_chat 2.0.0-nullsafety.2 from git https://github.com/GetStream/stream-chat-flutter.git at b954cc in packages/stream_chat
! stream_chat_flutter_core 2.0.0-nullsafety.3 from git https://github.com/GetStream/stream-chat-flutter.git at b954cc in packages/stream_chat_flutter_core
Running "flutter pub get" in stream_chat_v1...                   2,223ms
Launching lib/main.dart on iPhone 12 Pro Max in debug mode...
Running pod install...                                           2,629ms
CocoaPods' output:
↳
      Preparing

    Analyzing dependencies

    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

    Fetching external sources
    -> Fetching podspec for `Flutter` from `Flutter`
    -> Fetching podspec for `file_picker` from `.symlinks/plugins/file_picker/ios`
    -> Fetching podspec for `flutter_app_badger` from `.symlinks/plugins/flutter_app_badger/ios`
    -> Fetching podspec for `flutter_keyboard_visibility` from `.symlinks/plugins/flutter_keyboard_visibility/ios`
    -> Fetching podspec for `flutter_local_notifications` from `.symlinks/plugins/flutter_local_notifications/ios`
    -> Fetching podspec for `flutter_secure_storage` from `.symlinks/plugins/flutter_secure_storage/ios`
    -> Fetching podspec for `image_gallery_saver` from `.symlinks/plugins/image_gallery_saver/ios`
    -> Fetching podspec for `image_picker` from `.symlinks/plugins/image_picker/ios`
    -> Fetching podspec for `path_provider` from `.symlinks/plugins/path_provider/ios`
    -> Fetching podspec for `photo_manager` from `.symlinks/plugins/photo_manager/ios`
    -> Fetching podspec for `share_plus` from `.symlinks/plugins/share_plus/ios`
    -> Fetching podspec for `shared_preferences` from `.symlinks/plugins/shared_preferences/ios`
    -> Fetching podspec for `sqflite` from `.symlinks/plugins/sqflite/ios`
    -> Fetching podspec for `sqlite3_flutter_libs` from `.symlinks/plugins/sqlite3_flutter_libs/ios`
    -> Fetching podspec for `url_launcher` from `.symlinks/plugins/url_launcher/ios`
    -> Fetching podspec for `video_compress` from `.symlinks/plugins/video_compress/ios`
    -> Fetching podspec for `video_player` from `.symlinks/plugins/video_player/ios`
    -> Fetching podspec for `video_thumbnail` from `.symlinks/plugins/video_thumbnail/ios`
    -> Fetching podspec for `wakelock` from `.symlinks/plugins/wakelock/ios`

    Resolving dependencies of `Podfile`

    ――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

    ### Command

    ```
    /usr/local/bin/pod install --verbose
    ```

    ### Report

    * What did you do?

    * What did you expect to happen?

    * What happened instead?

    ### Stack

    ```
       CocoaPods : 1.10.1
            Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]
        RubyGems : 3.0.3
            Host : macOS 11.4 (20F71)
           Xcode : 12.5 (12E262)
             Git : git version 2.15.0
    Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
    Repositories :
    ```

    ### Plugins

    ```
    cocoapods-deintegrate : 1.0.4
    cocoapods-plugins     : 1.0.0
    cocoapods-search      : 1.0.0
    cocoapods-trunk       : 1.5.0
    cocoapods-try         : 1.2.0
    ```

    ### Podfile

    ```ruby
    # Uncomment this line to define a global platform for your project
    # platform :ios, '9.0'

    # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
    ENV['COCOAPODS_DISABLE_STATS'] = 'true'

    project 'Runner', {
      'Debug' => :debug,
      'Profile' => :release,
      'Release' => :release,
    }

    def flutter_root
      generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'),
      __FILE__)
      unless File.exist?(generated_xcode_build_settings_path)
        raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure
        flutter pub get is executed first"
      end

      File.foreach(generated_xcode_build_settings_path) do |line|
        matches = line.match(/FLUTTER_ROOT\=(.*)/)
        return matches[1].strip if matches
      end
      raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then
      run flutter pub get"
    end

    require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

    flutter_ios_podfile_setup

    target 'Runner' do
      use_frameworks!
      use_modular_headers!

      flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
    end

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
      end
    end
    ```

    ### Error

    ```
    LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.1/lib/ffi_c.bundle, 9): no suitable image found.  Did
    find:
    	/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.1/lib/ffi_c.bundle: mach-o, but wrong architecture
    	/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.1/lib/ffi_c.bundle: mach-o, but wrong architecture -
    	/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.1/lib/ffi_c.bundle
    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:i
    n `require'
    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:i
    n `require'
    /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.1/lib/ffi.rb:5:in `rescue in <top (required)>'
    /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.1/lib/ffi.rb:2:in `<top (required)>'
    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:i
    n `require'
    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:i
    n `require'
    /Library/Ruby/Gems/2.6.0/gems/ethon-0.14.0/lib/ethon.rb:3:in `<top (required)>'
    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:i
    n `require'
    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:i
    n `require'
    /Library/Ruby/Gems/2.6.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in `<top (required)>'
    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:i
    n `require'
    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:i
    n `require'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/sources_manager.rb:74:in `cdn_url?'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/sources_manager.rb:36:in `create_source_with_url'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/sources_manager.rb:21:in
    `find_or_create_source_with_url'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer/analyzer.rb:178:in `block in sources'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer/analyzer.rb:177:in `map'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer/analyzer.rb:177:in `sources'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer/analyzer.rb:1073:in `block in
    resolve_dependencies'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/user_interface.rb:64:in `section'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer/analyzer.rb:1072:in `resolve_dependencies'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer/analyzer.rb:124:in `analyze'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:414:in `analyze'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:239:in `block in resolve_dependencies'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/user_interface.rb:64:in `section'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:238:in `resolve_dependencies'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:160:in `install!'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/command/install.rb:52:in `run'
    /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/command.rb:52:in `run'
    /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/bin/pod:55:in `<top (required)>'
    /usr/local/bin/pod:23:in `load'
    /usr/local/bin/pod:23:in `<main>'
    ```

    ――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

    [!] Oh no, an error occurred.

    Search for existing GitHub issues similar to yours:
    https://github.com/CocoaPods/CocoaPods/search?q=dlopen%28%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.1%2Fli
    b%2Fffi_c.bundle%2C+9%29%3A+no+suitable+image+found.++Did+find%3A%0A%09%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Ff
    fi-1.15.1%2Flib%2Fffi_c.bundle%3A+mach-o%2C+but+wrong+architecture%0A%09%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2F
    ffi-1.15.1%2Flib%2Fffi_c.bundle%3A+mach-o%2C+but+wrong+architecture+-+%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fff
    i-1.15.1%2Flib%2Fffi_c.bundle&type=Issues

    If none exists, create a ticket, with the template displayed above, on:
    https://github.com/CocoaPods/CocoaPods/issues/new

    Be sure to first read the contributing guide for details on how to properly submit a ticket:
    https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

    Don't forget to anonymize any private data!

    Looking for related issues on cocoapods/cocoapods...

Error output from CocoaPods:
↳
    Searching for inspections failed: undefined method `map' for nil:NilClass

    [!] Automatically assigning platform `iOS` with version `11.0` on target `Runner` because no platform was
    specified. Please specify a platform for this target in your Podfile. See
    `https://guides.cocoapods.org/syntax/podfile.html#platform`.

Error running pod install
Error launching application on iPhone 12 Pro Max.

**Logs **
Run flutter analyze and attach any output of that command below.
If there are any analysis errors, try resolving them before filing this issue.
❯ flutter analyze                                                                                ─╯
Analyzing stream_chat_v1...

  error • The method 'pin' isn't defined for the type 'StreamSvgIcon' • lib/chat_info_screen.dart:209:34 •
         undefined_method
   info • Don't import implementation files from another package • lib/generated_plugin_registrant.dart:7:8 •
          implementation_imports
   info • Don't import implementation files from another package • lib/group_info_screen.dart:7:8 •
          implementation_imports
   info • Don't import implementation files from another package • lib/group_info_screen.dart:8:8 •
          implementation_imports
  error • The method 'pin' isn't defined for the type 'StreamSvgIcon' • lib/group_info_screen.dart:492:34 •
         undefined_method
  error • The named parameter 'pinPermissions' isn't defined • lib/main.dart:901:19 • undefined_named_parameter
  error • The named parameter 'pinPermissions' isn't defined • lib/main.dart:994:15 • undefined_named_parameter
  error • The method 'pin' isn't defined for the type 'StreamSvgIcon' • lib/pinned_messages_screen.dart:113:31 •
         undefined_method

8 issues found. (ran in 11.8s)

Paste the output of running flutter doctor -v here.
❯ flutter doctor -v                                                                                ─╯
[✓] Flutter (Channel stable, 2.2.2, on macOS 11.4 20F71 darwin-arm, locale ko-KR)
    • Flutter version 2.2.2 at /Users/donghee/projects/flutter
    • Framework revision d79295af24 (9 days ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/donghee/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.56.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • D46A80AF-207D-4D4B-A7FD-40A18993144F • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 11.4 20F71 darwin-arm
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 91.0.4472.114

• No issues found!

Additional context
Add any other context about the problem here.

Hey @dongheechoi,
Just transferred this issue into the correct repository for the sample app.
Can you please run flutter pub upgrade in stream_chat_v1 to fetch the newest dependencies?
This should solve the analysis errors you are getting.
Let us know if this works,
Thanks.

I tried flutter pub upgrade but, nothing changed.
The thing I didn't mentioned before is that I used develop branch because of this issue ( https://github.com/GetStream/flutter-samples/issues/34 ). Anyway, I still can't solve the problem. :(

@deven98, In case you haven't noticed this issue after I wrote the last comment, I just want you to know.  Thanks!

I just solved this issue using this solution ( https://github.com/CocoaPods/CocoaPods/issues/10706)
I think the problem is because of my package dependencies for my m1 mac.


parameterize posthog.project_api_key

We need to make sure this is configurable so other modules can use their own key.
https://github.com/ploomber/core/blob/ce7ff27b14c662109de32364a1611655b5273725/src/ploomber_core/telemetry/telemetry.py#L53

So are u saying each project in ploomber correspond to one posthog project? For example, we shoulld have three now for soorgeon, ploomber and sooperviosr?

It's possible, we'll run some experiments, some of those will need a unique uuid.

solved by #5


[11.x] Resource Route Paths

We often use Route::resource in our projects to generate seven standard routes with a single command, simplifying the process:
index (GET /resource)
create (GET /resource/create)
store (POST /resource)
show (GET /resource/{id})
edit (GET /resource/{id}/edit)
update (PUT/PATCH /resource/{id})
destroy (DELETE /resource/{id})
This setup works well, but sometimes we need to customize paths for create and edit actions, like using "add" instead of "create" for medicines.
Now, we can customize these paths using:
Route::resource('users', UserController::class)->paths([
    'create' => 'add',
    'edit' => 'change',
]);

This makes our routes more intuitive based on the resource context.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If applicable, please consider releasing your code as a package so that the community can still take advantage of your contributions!


[OKR 2024] Increase Participation of Public Sector Organizations

Increase Participation of Public Sector Organizations
Outcome and Key Result #1 for 2024.
Description
Increase participation of Public Sector organizations in the Open Source community as measured by Public Sector companies joining and participating in the Public Sector working group. Goal would be to double membership.
Measurement

[ ] 2x participating organizations in biweekly meetings

Actions

[ ] See if we can expand membership to the greater LF umbrella organizations (LF, OpenSSF, CNCF ...) @onlydole
[ ] Clearly document benefits of participation
[ ] Engage with social media to recruit
[ ] Include pitch in future conference and other presentations

@idunbarh do you have a link for what the current requirements are for participation?

@idunbarh , I spoke with Taylor.  He said the only requirement to participate is:
"No telcos, no consultancies, no primary monetization of cloud native projects” which would constitute as “no vendors”

@chadbeaudin Discussion item today is to both refine and define requirements for participation. We'll want to get whomever involved that can help establish any pre-determined governance of the user group.
Id be interested on where telco entities are enabled to participate if not this group. Discussion today aroudn consultancies is a very ambiguous space and - who if not for consulting firms for the public sector would not be positioned well to participate. The last item "primary monetization" is also quite vague - take for instance companies who only write Open Source software and consult to various entities.
All of that to say we should seek more feedback about requirements here and discuss further. Ambiguity will only lead to more confusion about who can and cannot participate.

Just to add additional thoughts from a currently active perspective - with the plethora of USG / DoD based "Software Factories" Software Factory Coalition, theres already involvement in a lot of "Open Source" perspectives.
Possibly targeting Software Factories that a lot of us are already involved with, i.e. Platform One, Army Software Factory, Marine Corps Software Factory, etc could be a good starting point to demonstrate USG collaboration with CNCF / Open Source community.
Additionally we could target specific Program of Records that are already sudo-open source. Great example of that is Tactical Assault Kit @TAK-Product-Center
Refering to:

https://www.code.gov/agencies
https://government.github.com/


Decode .bpchar as String

bpchar is "blank-padded char", the low-level Postgres name for character(N) (the auto-padded form of character varying). String's PostgresCodable conformance should thus recognize it as a valid representation.

Codecov Report

Merging #368 (670f66a) into main (b3e1881) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Current head 670f66a differs from pull request most recent head 19dbc08. Consider uploading reports for the commit 19dbc08 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #368   +/-   ##
=======================================
  Coverage   42.97%   42.98%
=======================================
  Files         118      118
  Lines        8242     8243    +1
=======================================
+ Hits         3542     3543    +1
  Misses       4700     4700

Impacted Files
Coverage Δ

.../PostgresNIO/New/Data/String+PostgresCodable.swift
100.00% <100.00%> (ø)

Any chance this could be released soon? We would like to get the CVE fix, but this broke our app. Thanks!

@michal-tomlein We just released 1.15.0, which includes this fix, thanks for the nudge! ❤