[BUG]: Build randomly cancels due to agent issue

Describe your question
We've been seeing random occurrences of build jobs cancelling themselves on one of our docker build tasks, it appears to hang for a long time and than it just cancels its tasks with this appearing in the stage view, note: this message disappears on reload:
##[error]The hosted runner encountered an error while running your job. (Error Type: Disconnect).
Pool: Azure Pipelines
Image: ubuntu-latest
Queued: Today at 11:39 [manage parallel jobs]
Agent: Hosted Agent
Started: Today at 11:40
Duration: 24m 55s

The agent request is already running or has already completed.
Job preparation parameters
Job live console data:
Starting: Build
##[debug]Agent environment resources - Unable to get disk info, exception: Value cannot be null. (Parameter 'driveName'), Memory: Used 506.00 MB out of 6921.00 MB, CPU: Usage 96.41%
##[debug]Cleaning agent temp folder: /home/vsts/work/_temp
##[debug]Skipping overwrite %TEMP% environment variable
Async Command Start: DetectDockerContainer
Async Command End: DetectDockerContainer
Async Command Start: DetectDockerContainer
Async Command End: DetectDockerContainer

When this task is cancelled this is what is shown in the logs of the task itself:
Nothing to show. Final logs are missing. This can happen when the job is cancelled or times out.
Task info:
Task         : Docker
Description  : Build or push Docker images, login or logout, start or stop containers, or run a Docker command
Version      : 2.231.0
Author       : Microsoft Corporation
Help         : https://aka.ms/azpipes-docker-tsg

Pipeline yaml:
trigger:
  - develop
  - staging
  - main

resources:
  - repo: self

variables:
  - ${{ if eq(variables['build.SourceBranchName'], 'develop') }}:
    - group: redacted
  - ${{ if eq(variables['build.SourceBranchName'], 'staging') }}:
    - group: redacted
  - ${{ if eq(variables['build.SourceBranchName'], 'main') }}:
      - group: redacted
  - name: BUILD_ID
    value: $(Build.BuildId)-$(Build.SourceBranchName)
  - name: imageRepository
  - name: dockerRegistry
    value: "redacted"
  - name: imageRepository
    value: "redacted"
  - name: dockerfilePath
    value: "$(Build.SourcesDirectory)/Dockerfile"
  - name: vmImageName
    value: "ubuntu-latest"
  - name: system.debug
    value: true

stages:
  - stage: Build
    displayName: Build Frontend

    jobs:
      - job: Build
        displayName: Build
        pool:
          vmImage: $(vmImageName)

        steps:
          - task: DownloadSecureFile@1
            inputs:
              secureFile: ".env.frontend"
          - bash: |
              mv $(Agent.TempDirectory)/.env.frontend $(Agent.TempDirectory)/.env
            displayName: "Rename .env.frontend to .env"

          - task: CopyFiles@2
            inputs:
              SourceFolder: "$(Agent.TempDirectory)"
              Contents: ".env"
              TargetFolder: "$(Build.SourcesDirectory)"

          - task: EnvTransform@0
            inputs:
              inputType: "file"

          - task: npmAuthenticate@0
            inputs:
              workingFile: ".npmrc"

          - task: Docker@2
            inputs:
              command: "build"
              repository: $(imageRepository)
              containerRegistry: $(dockerRegistry)
              arguments: --build-arg NODE_ENV=$(NODE_ENV)
              Dockerfile: $(dockerfilePath)
              tags: |
                $(Build.BuildId)-$(Build.SourceBranchName)
                latest-$(Build.SourceBranchName)
            displayName: "Build Dockerfile"
            enabled: true

          - task: Docker@2
            inputs:
              command: "push"
              repository: $(imageRepository)
              containerRegistry: $(dockerRegistry)
              tags: |
                $(Build.BuildId)-$(Build.SourceBranchName)
                latest-$(Build.SourceBranchName)
            displayName: "Push to altura.azurecr.io"
            enabled: true

          - task: PublishBuildArtifacts@1
            displayName: "Upload Artifacts"
            inputs:
              pathtoPublish: "$(Build.ArtifactStagingDirectory)"
              artifactName: "drop"

Dockerfile:
FROM node:20

ARG NODE_ENV

ENV HOST=<IP_ADDRESS>
ENV NODE_ENV=$NODE_ENV
ENV NODE_OPTIONS=--max-old-space-size=16384
ENV CI=1

# Create app directory
WORKDIR /app
ADD . /app/

# Global install & build
RUN npm install --include dev

# remove all translations
RUN rm -rf ./translations/*
RUN npm run translations
RUN npm run build

EXPOSE 3000

# Start command
CMD [ "node", ".output/server/index.mjs" ]

Versions
Agent Version: 3.236.1
Image: ubuntu-latest
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)
Operation system
ubuntu-latest
Version controll system
git
Azure DevOps Server Version (if applicable)
No response

Hi @TheAnarchoX, thank you for the feedback, the "Nothing to show. Final logs are missing. This can happen when the job is cancelled or times out." means that the worker didn't sent the logs to the AzDevOps.
This usually happens when the task is stuck or you CPU load is full.
We are working on more prioritized issues rn, but will get back to this one soon.

@DmitriiBobreshev that's fine, we have an auto retry script running for this pipeline which solves it 9/10 times
In the debug log it doesn't really show CPU overloading.

+1 to this issue.
In our pipeline this occurs regularly on agents running macOS-13, specifically during Npm@1 task.

Hi @TheAnarchoX, does this issue still occur? If so, could you clarify how often it happens and if there is any pattern to it? As I see your agent logs show very high CPU usage (96%), so it seems like the reason why the process is hanging, but I am not sure what causes the resources exhaustion.

Yes and no, but it's nothing pipeline agent related, this issue can be closed

@Saigronas Hi! Is your macos agent self-hosted? As far as I know sometimes this issue appears when a x64 version of the agent is running on an ARM machine

I am closing this issue, since it was confirmed to be unrelated to the agent.
@Saigronas Please, feel free to open a new issue with more details regarding your case


Add support for external plaintext access tokens

Describe the solution you'd like
I'd like to be able to use an existing access token retrieved from an external source, such as the AzAuth module, Az CLI or Az PowerShell module, but as plaintext.
A token parameter should be provided for each BicepNet command that has anything to do with authentication.

Working on a Set-BicepNetCredential command instead of providing a -Token on all relevant commands.

Fixed in #49


#70 Fixed Py4J path for Dataproc 1.1 (Spark 2.0)

Hello!
Thanks for the pull request (awesome, as always!) I left one comment. Let me know what you think and we can go from there.
Cheers!

James (Dataproc Product Manager)

Hey @gilmar
Two points; both of these are based on the fact that I missed you had two kernel JSON files, sorry. I should have caught that and missed it. Ideally, we'd not have to duplicate those files; instead can just use one kernel JSON. To that end:

For the .zip file, what about using something like ls /usr/lib/spark/python/lib/py4j*.zip | sed 's/py4j\(.*\)\.zip/\1/'? This can set the file across many versions.
For the PYSPARK_SUBMIT_ARGS what about having the conditional logic to add the --packages com.databricks:spark-csv_2.10:1.3.0  near line 17 in  jupyter/internal/setup-jupyter-kernel.sh

This would mean we'd probably be able to avoid further breakage when Dataproc 1.2 comes out /if/  something like the PYTHONPATH changes again, because the .zip version changes.

Thanks @gilmar for sending the pull request! We ended up refactoring out a script which dynamically generates the JSON file instead of maintaining separate static JSON files, maybe you can verify if it works next time you need to spin up Jupyter on Dataproc 1.1: https://github.com/GoogleCloudPlatform/dataproc-initialization-actions/pull/75


Releasing pretrained model for cat inversion

Thanks for all your hard and wonderful works here.
I am wondering if you have plan to release the pretrained model for cat inversion.
Thanks!

Same question~


feat(query): Elasticsearch with HTTPS disabled for Pulumi

Proposed Changes

Added query and metadata for Pulumi
Added tests
Added positive_expected_result

I submit this contribution under the Apache-2.0 license.

Hi. In Pulumi description about EnforceHTTPS attribute it says that "Defaults to true", so there is no need to create a CxPolicy

We need to create a CxPolicy in the rego file to trigger a vulnerability result when the EnforceHTTPS attribute is not set in the configuration.
Adding a positive test to cover the previous situation is also needed.

Hi. In Pulumi description about EnforceHTTPS attribute it says that "Defaults to true", so there is no need to create a CxPolicy


fix: windows linter issue

Some of the files the windows linter is complaining about are from linux-only plugins. Adding _linux suffix to each of them should resolve it for now.

lint is passing so let's go 🚀


Slight fix for the Share button

The Share button wasn't working - crashed on the iPad. A little fix for that here. Others may wish to modify if needed.
`    @IBAction func shareButtonPressed(_ sender: UIButton) {
let songToShare = "I'm listening to (currentTrack.title) on (currentStation.name) via Swift Radio Pro"
let activityViewController = UIActivityViewController(activityItems: [songToShare, currentTrack.artworkImage!], applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = self.view // so that iPads won't crash
    // exclude some activity types from the list (optional)
    //activityViewController.excludedActivityTypes = [ UIActivityType.airDrop, UIActivityType.postToFacebook ]

    // present the view controller
    self.present(activityViewController, animated: true, completion: nil)

  /*
    activityViewController.completionWithItemsHandler = {(activityType: UIActivityType?, completed:Bool, returnedItems:[Any]?, error: Error?) in
        if completed {
            // do something on completion if you want
        }
    }
    present(activityViewController, animated: true, completion: nil)
     */
}`

@ShanghaiTimes Thanks,
The app UI for now supports only the iPhone, I will fix the part that causing the crash in case someone wants to use the same UI for the iPad.

hi @fethica what do you think about trying to work on this together now ?
I can add you as a beta tester if you want to know more about the project and hear some cool music.
PLEASE !
Kind regards.

The iPad support has been added in version 2.0.3: https://github.com/analogcode/Swift-Radio-Pro/releases/tag/2.0.3


Debug register peer failing

MWE:

Start a fresh BFT network

./scripts/test_env.sh setup

Create a new peer

TORII_P2P_ADDR="<IP_ADDRESS>:1341" TORII_API_URL="<IP_ADDRESS>:8084" TORII_TELEMETRY_URL="<IP_ADDRESS>:8184" IROHA_PUBLIC_KEY="ed01206a7b60c110099ad641488ae9c4b3175ce93173d4e2b8ea9dc154314e0d33a637" IROHA_PRIVATE_KEY="{ \"digest_function\": \"ed25519\", \"payload\": \"e4cd89f6b8a59a973d1d65df19a4d154de9e7cffdadc39e1dc09777ac56734876a7b60c110099ad641488ae9c4b3175ce93173d4e2b8ea9dc154314e0d33a637\" }" SUMERAGI_TRUSTED_PEERS='[{ "address": "<IP_ADDRESS>:1341", "public_key": "ed01206a7b60c110099ad641488ae9c4b3175ce93173d4e2b8ea9dc154314e0d33a637"}]' ./iroha

Register peer

./iroha_client_cli peer register --address <IP_ADDRESS>:1341 --key ed01206a7b60c110099ad641488ae9c4b3175ce93173d4e2b8ea9dc154314e0d33a637

Expected behaviour
Peer is added to the network and everything works.
Actual behaviour
Peer is listed as a trusted peer, however the actor system raises multiple errors, and the peer is neither function nor can be unregistered

Invalid as described here and here .


feature: support add hooks to annotation

Ⅰ. Describe what this PR did
support add hooks to annotation
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #2701 into develop will decrease coverage by 0.16%.
The diff coverage is 23.52%.

@@              Coverage Diff              @@
##             develop    #2701      +/-   ##
=============================================
- Coverage      51.12%   50.96%   -0.17%
- Complexity      2847     2848       +1
=============================================
  Files            566      566
  Lines          18072    18070       -2
  Branches        2141     2104      -37
=============================================
- Hits            9240     9209      -31
- Misses          7944     7949       +5
- Partials         888      912      +24

Impacted Files
Coverage Δ
Complexity Δ

...ata/tm/api/transaction/TransactionHookManager.java
70.58% <0.00%> (-15.13%)
6.00 <0.00> (ø)

...ing/annotation/GlobalTransactionalInterceptor.java
24.62% <25.00%> (+0.02%)
7.00 <0.00> (ø)

...in/java/io/seata/tm/api/TransactionalTemplate.java
63.24% <33.33%> (-1.10%)
25.00 <0.00> (ø)

...a/io/seata/tm/api/transaction/TransactionInfo.java
82.75% <33.33%> (-5.71%)
15.00 <1.00> (+1.00)
:arrow_down:

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
3.00% <0.00%> (ø%)

...otobuf/convertor/BranchReportRequestConvertor.java
90.90% <0.00%> (-9.10%)
3.00% <0.00%> (ø%)

...obuf/convertor/BranchRollbackRequestConvertor.java
92.00% <0.00%> (-8.00%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0.00%> (-7.41%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalCommitRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalStatusRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

... and 23 more

Codecov Report

Merging #2701 (301fc92) into develop (43f5890) will decrease coverage by 0.50%.
The diff coverage is 20.00%.

@@              Coverage Diff              @@
##             develop    #2701      +/-   ##
=============================================
- Coverage      51.03%   50.53%   -0.51%
+ Complexity      3281     3105     -176
=============================================
  Files            612      599      -13
  Lines          20112    19536     -576
  Branches        2517     2407     -110
=============================================
- Hits           10265     9872     -393
+ Misses          8820     8671     -149
+ Partials        1027      993      -34

Impacted Files
Coverage Δ
Complexity Δ

...ata/tm/api/transaction/TransactionHookManager.java
60.00% <0.00%> (-25.72%)
6.00 <0.00> (ø)

...ing/annotation/GlobalTransactionalInterceptor.java
28.28% <25.00%> (-1.17%)
11.00 <0.00> (+2.00)
:arrow_down:

...in/java/io/seata/tm/api/TransactionalTemplate.java
63.55% <33.33%> (-0.29%)
25.00 <0.00> (-3.00)

...a/io/seata/tm/api/transaction/TransactionInfo.java
82.75% <33.33%> (+14.00%)
15.00 <1.00> (+1.00)

...ommon/src/main/java/io/seata/common/Constants.java
50.00% <0.00%> (-50.00%)
1.00% <0.00%> (ø%)

...java/io/seata/server/session/SessionCondition.java
46.66% <0.00%> (-36.67%)
7.00% <0.00%> (-6.00%)

.../io/seata/rm/datasource/undo/UndoLogConstants.java
66.66% <0.00%> (-33.34%)
1.00% <0.00%> (ø%)

...rage/redis/store/RedisTransactionStoreManager.java
36.05% <0.00%> (-28.33%)
20.00% <0.00%> (-18.00%)

.../src/main/java/io/seata/rm/GlobalLockTemplate.java
75.00% <0.00%> (-25.00%)
2.00% <0.00%> (-3.00%)

...o/seata/core/protocol/AbstractIdentifyRequest.java
50.00% <0.00%> (-20.00%)
3.00% <0.00%> (-2.00%)

... and 135 more


Python built-in map() to support more than one iterable

Currently the map() built in function is well supported, however it only works when passing one iterable. When passing two iterables the iterable result is null
Excpects
words = ("bike", "steer")

def func_1(prin):
    print(prin[0])

def func3(prin):
    print(prin[3])

function = (func_1, func3)

def apply(func: callable, word):
    func(word)

mapped = map(apply, function, words)

for x in mapped:
    x

---
b
e

Reality
null
null

The way map is implemented right now, it only accepts a single iterable. But I'll take a look at expanding that to match CPython behavior.

The new implementation of map should work correctly once v3.9.3 is deployed (currently it's only on the dev branch). Though, the variable function in the above example should be changed to functions so as not to confuse the JavaScript side of things.

Merged to master on PR #876


IGAPP-828: Fix relative links in documentation

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

Did not test the new links :)

No risk, no fun :innocent:


Install a bluetooth manager

I've installed bluetuith, it seems this one doesn't need configuration file, it possible to create it but it seems fine by default

f


Add Aruco-marker detection using opencv

ML-Crate Repository (Proposing new issue)
:red_circle: Project Title :
:red_circle: Aim :
:red_circle: Dataset :
:red_circle: Approach : Try to use 3-4 algorithms to implement the models and compare all the algorithms to find out the best fitted algorithm for the model by checking the accuracy scores. Also do not forget to do a exploratory data analysis before creating any model.

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name :
GitHub Profile Link :
Participant ID (If not, then put NA) :
Approach for this Project :
What is your participant role? (Mention the Open Source Program name. Eg. HRSoC, GSSoC, GSOC etc.)

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Need to share the dataset and approach for your project.
@vishapraj

Dataset:

Approach :
Preprocessing:
Resize, crop, and adjust brightness/contrast.
Detection:
Use OpenCV's cv2.aruco.detectMarkers for marker identification.
Pose Estimation (Optional):
Implement 3D pose estimation with cv2.aruco.estimatePoseSingleMarkers.
Visualization & Evaluation:
Visualize and evaluate marker detection accuracy.
Optimization:
Fine-tune parameters for better performance.
can u assign me with this issue under IWOC .! @abhisheks008

I have updated the issue name, follow the same issue name for project folder as well as pull request.
Issue assigned to you @vishapraj under IWOC 2024.

Assign me  @abhisheks008 🙃

Assign me @abhisheks008 🙃

Oh shoot! Sorry.
Assigned to @AbhineshJha under IWOC

Unassigned as the open source event ended up.

can you assign this to me @abhisheks008
Approach will be same :
Preprocessing:
Resize, crop, and adjust brightness/contrast.
Detection:
Use OpenCV's cv2.aruco.detectMarkers for marker identification.
Visualization & Evaluation:
Visualize and evaluate marker detection accuracy.

can you assign this to me @abhisheks008
Approach will be same :
Preprocessing:
Resize, crop, and adjust brightness/contrast. Detection:
Use OpenCV's cv2.aruco.detectMarkers for marker identification.
Visualization & Evaluation:
Visualize and evaluate marker detection accuracy.

In which open source program/event are you participating in?

None... just want to contribute

As this project repository is currently part of different open source events, you can contribute here as an individual contributor after Feb 29th, 2024.
@jayeshrdeotalu

Okay...

So, can you assign it to me now...?

Assigned to you as a contributor @jayeshrdeotalu

Full name: Milan Prajapati
GitHub Profile Link: https://github.com/milanprajapati571
Participant ID (If not, then put NA): NA
Approach for this Project: Develop an ArUco marker detection project using OpenCV for image processing, Python for scripting, and TensorFlow for potential machine learning enhancements.
What is your participant role? : SSoC (Social Summer of Code)
Sir, can You Please assign this project to me...?

What are the models you are planning for this dataset? Brief your approach with 3-4 models.

Full name: Aryaman Pathak
GitHub Profile Link: Profile
Participant ID: NA
Approach for this Project:
My approach will include:

Exploratory Data Analysis (EDA): Understanding the dataset through visualizations and summary statistics.
Data Preprocessing: Cleaning and preparing the data for analysis, including tokenization, removing stopwords, and other text preprocessing techniques.
Model Implementation: Implementing 3-4 machine learning algorithms such as Logistic Regression, Random Forest, SVM, and Naive Bayes for sentiment analysis.
Model Comparison: Comparing the performance of the models using accuracy scores and other relevant metrics to determine the best-fit model.
Documentation: Documenting the entire process, including the EDA, preprocessing steps, model implementations, comparisons, and conclusions in the README.md file.

What is your participant role?: SSOC (Social Summer of Code)

Implement these models for this project,

Random Forest
Decision Tree
Logistic Regression
Gradient Boosting
XGBoost
Lasso
Ridge
MLP Classifier

Assigned @aryamanpathak2022

Hi @abhisheks008
I have unassigned myself from this project due to other commitments that require my immediate attention. I apologize for any inconvenience this may cause.


Add zipkin banner

It would be nice to show Zipkin banner instead of Spring Boot

satisfies the rule-of-three. merge time!


Regex matches files in root folder

Describe the Bug
When using inventory2 and searching using regex, filenames in the puppet_dir are matched and returned as target.
Expected Behavior
Arbitrary filenames in the root folder shouldn't be search. Regex should match only against items in the specific inventory file.
Steps to Reproduce
Steps to reproduce the behavior:

In $puppet_dir, create the following inventory.yaml:

version: 2
groups:
  - name: test_servers
    targets:
      - name: mytestserver01
        uri: mytestserver01.domain.name

Create an empty file called randomtestfile.txt in $puppet_dir

Run bolt inventory show --nodes test

     PS D:\dev\puppet_local> bolt inventory show --nodes *test*
     randomtestfile.txt
     1 target

Testfile is matched and returned as the target.

Delete randomtestfile.txt and run the same command.

    PS D:\dev\puppet_local> Remove-Item .\randomtestfile.txt
    PS D:\dev\puppet_local> bolt inventory show --nodes *test*
    mytestserver01
    1 target
    PS D:\dev\puppet_local>

Environment

Version 1.13.1
Windows 10

Additional Context

@ksagle77 Someone may have a more clever solution to this, but since it's the shell expanding the glob and not Bolt I think the only thing you can do is add single quotes around the globbed targets:
bolt inventory show --nodes '*test*'

This worked for me locally, but let us know if it doesn't for you!

@lucywyman
Hey Lucy, thanks for the quick reply. I did try single quoting, but I'm still getting the filename back as the target:
PS D:\dev\puppet_local> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.2.3
PSEdition                      Core
GitCommitId                    6.2.3
OS                             Microsoft Windows 10.0.18362
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

PS D:\dev\puppet_local> bolt inventory show --nodes '*test*'
randomteststring.txt
1 target
PS D:\dev\puppet_local>

I also tested in PS5 and had the same result. Here's the full debug in case it helps.
PS D:\dev\puppet_local> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.18362.145
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.18362.145
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

PS D:\dev\puppet_local> bolt inventory show --nodes '*test*' --debug
Submitting analytics: {
  "v": 1,
  "cid": "9a54289e-574a-434b-a7fe-74f634b1d378",
  "tid": "UA-120367942-1",
  "an": "bolt",
  "av": "1.31.1",
  "aip": true,
  "ul": "en-US",
  "cd1": "windows 10",
  "t": "screenview",
  "cd": "inventory_show",
  "cd5": "human",
  "cd11": "local"
}
Completed analytics submission
Loading modules from C:/Program Files/Puppet Labs/Bolt/lib/ruby/gems/2.5.0/gems/bolt-1.31.1/bolt-modules;D:/dev/puppet_local/modules;C:/Program Files/Puppet Labs/Bolt/lib/ruby/gems/2.5.0/gems/bolt-1.31.1/modules
Loaded inventory from D:/dev/puppet_local/inventory.yaml
Did not find config for randomteststring.txt in inventory
randomteststring.txt
1 target

Regards,
Kevin

Powershell escaping would require something like bolt inventory show --nodes "'*test*'", alternately you could invoke bolt in a different directory than the file that is matching. The problem is that any target that is created during bolt execution is referenced in inventory. SO when your shell expands to the file path name, bolt creates a new target with that name.

:woman_facepalming:  Yep, I definitely was checking the solution on unix.

Ah yea, that makes perfect sense.
Thanks for the help!


add on_screen property

add an 'on screen' property to identify screen that are currently displayed on all screens to allow styling actually displayed screen to be stylized even on non curently active workspace. ex: two screen with multiple workspace, quicly identify what worskapce is displayed on the secondary non focused screen.

Thanks for taking the time to work on this PR! However, I’m not entirely clear on what this change addresses. Could you provide some additional details or context, and perhaps include a screenshot to illustrate the update?
Additionally, the documentation will need to be updated to reflect these changes before I can proceed with merging the PR.

Ofc, sorry for not being clear:
feature:
When having workspace widget on multiple screen, being able to see what workspace is actually active on both screen.
resolution:
check what workspace is currently displayed on each screen and set a property on_screen on true
ex:

current focused workspace is right, workspace 3 is active on second monitor, with vanilla (unless i miss it), you have no way to get what worskpace is actually active on the other monitor, so you just have a list of unhighlighted worskpace.

Changes done


Refactor /api/v1/perm/:id

@xavijam Kibana and I think permission endpoint is never invoked with GET. Since it's an undocumented API maybe we should :fire: it, what do you think?
Do you agree, @rafatower , @Kartones ?

:fire: :fire: :fire:

Burn it or replace it?

If is unused, I'd directly say :fire:

Replacing it with what? If front doesn't use GETs I'd check and remove frontend JS code and then remove backend code as well.

:+1:

@xavijam I'll then wait for more info, if you check it's not used please remove the frontend code and hand the branch over to me in order to remove backend, if you want.

No no, if GET perm endpoint is not used, go ahead.


Add test that verifies multi-cluster behavior

[ ] Get an ObjectKey with cluster + name
[ ] Get an ObjectKey with cluster + namespace + name
[ ] List all cluster-scoped things in 1 logical cluster vs. another (make sure they're distinct)
[ ] List all namespace-scoped things in 1 logical cluster vs. another (make sure they're distinct)
[ ] Create works
[ ] Update works
[ ] Patch works
[ ] Delete works

https://github.com/kcp-dev/kcp/pull/1341 verifies that the controllers function, and the controllers use the above bullets to do their job, so indirectly that PR closes this out :)


When a dialog is displayed in route B, screens pop up instead of dialogs

What package does this bug report belong to?
go_router_builder
What target platforms are you seeing this bug on?
Android
Have you already upgraded your packages?
Yes
Dependency versions
pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  _fe_analyzer_shared:
    dependency: transitive
    description:
      name: _fe_analyzer_shared
      sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7"
      url: "https://pub.dev"
    source: hosted
    version: "67.0.0"
  analyzer:
    dependency: transitive
    description:
      name: analyzer
      sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d"
      url: "https://pub.dev"
    source: hosted
    version: "6.4.1"
  args:
    dependency: transitive
    description:
      name: args
      sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
      url: "https://pub.dev"
    source: hosted
    version: "2.4.2"
  async:
    dependency: transitive
    description:
      name: async
      sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
      url: "https://pub.dev"
    source: hosted
    version: "2.11.0"
  boolean_selector:
    dependency: transitive
    description:
      name: boolean_selector
      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  build:
    dependency: transitive
    description:
      name: build
      sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.1"
  build_config:
    dependency: transitive
    description:
      name: build_config
      sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  build_daemon:
    dependency: transitive
    description:
      name: build_daemon
      sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1"
      url: "https://pub.dev"
    source: hosted
    version: "4.0.1"
  build_resolvers:
    dependency: transitive
    description:
      name: build_resolvers
      sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.2"
  build_runner:
    dependency: "direct dev"
    description:
      name: build_runner
      sha256: "3ac61a79bfb6f6cc11f693591063a7f19a7af628dc52f141743edac5c16e8c22"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.9"
  build_runner_core:
    dependency: transitive
    description:
      name: build_runner_core
      sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799"
      url: "https://pub.dev"
    source: hosted
    version: "7.3.0"
  built_collection:
    dependency: transitive
    description:
      name: built_collection
      sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
      url: "https://pub.dev"
    source: hosted
    version: "5.1.1"
  built_value:
    dependency: transitive
    description:
      name: built_value
      sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e
      url: "https://pub.dev"
    source: hosted
    version: "8.9.1"
  characters:
    dependency: transitive
    description:
      name: characters
      sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  checked_yaml:
    dependency: transitive
    description:
      name: checked_yaml
      sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
      url: "https://pub.dev"
    source: hosted
    version: "2.0.3"
  clock:
    dependency: transitive
    description:
      name: clock
      sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  code_builder:
    dependency: transitive
    description:
      name: code_builder
      sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37
      url: "https://pub.dev"
    source: hosted
    version: "4.10.0"
  collection:
    dependency: transitive
    description:
      name: collection
      sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
      url: "https://pub.dev"
    source: hosted
    version: "1.18.0"
  convert:
    dependency: transitive
    description:
      name: convert
      sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.1"
  crypto:
    dependency: transitive
    description:
      name: crypto
      sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
      url: "https://pub.dev"
    source: hosted
    version: "3.0.3"
  cupertino_icons:
    dependency: "direct main"
    description:
      name: cupertino_icons
      sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d
      url: "https://pub.dev"
    source: hosted
    version: "1.0.6"
  dart_style:
    dependency: transitive
    description:
      name: dart_style
      sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9"
      url: "https://pub.dev"
    source: hosted
    version: "2.3.6"
  fake_async:
    dependency: transitive
    description:
      name: fake_async
      sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.1"
  file:
    dependency: transitive
    description:
      name: file
      sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
      url: "https://pub.dev"
    source: hosted
    version: "7.0.0"
  fixnum:
    dependency: transitive
    description:
      name: fixnum
      sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.0"
  flutter:
    dependency: "direct main"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_lints:
    dependency: "direct dev"
    description:
      name: flutter_lints
      sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.2"
  flutter_test:
    dependency: "direct dev"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_web_plugins:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.0"
  frontend_server_client:
    dependency: transitive
    description:
      name: frontend_server_client
      sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
      url: "https://pub.dev"
    source: hosted
    version: "4.0.0"
  glob:
    dependency: transitive
    description:
      name: glob
      sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.2"
  go_router:
    dependency: "direct main"
    description:
      name: go_router
      sha256: "5ed2687bc961f33a752017ccaa7edead3e5601b28b6376a5901bf24728556b85"
      url: "https://pub.dev"
    source: hosted
    version: "13.2.2"
  go_router_builder:
    dependency: "direct dev"
    description:
      name: go_router_builder
      sha256: f84449079eb1f09f59344fbbb8cdc6a6349d8973a83746a57953bd4130d852b6
      url: "https://pub.dev"
    source: hosted
    version: "2.4.1"
  graphs:
    dependency: transitive
    description:
      name: graphs
      sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19
      url: "https://pub.dev"
    source: hosted
    version: "2.3.1"
  http_multi_server:
    dependency: transitive
    description:
      name: http_multi_server
      sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
      url: "https://pub.dev"
    source: hosted
    version: "3.2.1"
  http_parser:
    dependency: transitive
    description:
      name: http_parser
      sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
      url: "https://pub.dev"
    source: hosted
    version: "4.0.2"
  io:
    dependency: transitive
    description:
      name: io
      sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.4"
  js:
    dependency: transitive
    description:
      name: js
      sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
      url: "https://pub.dev"
    source: hosted
    version: "0.7.1"
  json_annotation:
    dependency: transitive
    description:
      name: json_annotation
      sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
      url: "https://pub.dev"
    source: hosted
    version: "4.8.1"
  leak_tracker:
    dependency: transitive
    description:
      name: leak_tracker
      sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
      url: "https://pub.dev"
    source: hosted
    version: "10.0.0"
  leak_tracker_flutter_testing:
    dependency: transitive
    description:
      name: leak_tracker_flutter_testing
      sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
      url: "https://pub.dev"
    source: hosted
    version: "2.0.1"
  leak_tracker_testing:
    dependency: transitive
    description:
      name: leak_tracker_testing
      sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
      url: "https://pub.dev"
    source: hosted
    version: "2.0.1"
  lints:
    dependency: transitive
    description:
      name: lints
      sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
      url: "https://pub.dev"
    source: hosted
    version: "3.0.0"
  logging:
    dependency: transitive
    description:
      name: logging
      sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
      url: "https://pub.dev"
    source: hosted
    version: "1.2.0"
  matcher:
    dependency: transitive
    description:
      name: matcher
      sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
      url: "https://pub.dev"
    source: hosted
    version: "0.12.16+1"
  material_color_utilities:
    dependency: transitive
    description:
      name: material_color_utilities
      sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
      url: "https://pub.dev"
    source: hosted
    version: "0.8.0"
  meta:
    dependency: transitive
    description:
      name: meta
      sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
      url: "https://pub.dev"
    source: hosted
    version: "1.11.0"
  mime:
    dependency: transitive
    description:
      name: mime
      sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.5"
  package_config:
    dependency: transitive
    description:
      name: package_config
      sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  path:
    dependency: transitive
    description:
      name: path
      sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
      url: "https://pub.dev"
    source: hosted
    version: "1.9.0"
  pool:
    dependency: transitive
    description:
      name: pool
      sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
      url: "https://pub.dev"
    source: hosted
    version: "1.5.1"
  pub_semver:
    dependency: transitive
    description:
      name: pub_semver
      sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  pubspec_parse:
    dependency: transitive
    description:
      name: pubspec_parse
      sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
      url: "https://pub.dev"
    source: hosted
    version: "1.2.3"
  shelf:
    dependency: transitive
    description:
      name: shelf
      sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
      url: "https://pub.dev"
    source: hosted
    version: "1.4.1"
  shelf_web_socket:
    dependency: transitive
    description:
      name: shelf_web_socket
      sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.4"
  sky_engine:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.99"
  source_gen:
    dependency: transitive
    description:
      name: source_gen
      sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832"
      url: "https://pub.dev"
    source: hosted
    version: "1.5.0"
  source_helper:
    dependency: transitive
    description:
      name: source_helper
      sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.4"
  source_span:
    dependency: transitive
    description:
      name: source_span
      sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
      url: "https://pub.dev"
    source: hosted
    version: "1.10.0"
  stack_trace:
    dependency: transitive
    description:
      name: stack_trace
      sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
      url: "https://pub.dev"
    source: hosted
    version: "1.11.1"
  stream_channel:
    dependency: transitive
    description:
      name: stream_channel
      sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
      url: "https://pub.dev"
    source: hosted
    version: "2.1.2"
  stream_transform:
    dependency: transitive
    description:
      name: stream_transform
      sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  string_scanner:
    dependency: transitive
    description:
      name: string_scanner
      sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
      url: "https://pub.dev"
    source: hosted
    version: "1.2.0"
  term_glyph:
    dependency: transitive
    description:
      name: term_glyph
      sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
      url: "https://pub.dev"
    source: hosted
    version: "1.2.1"
  test_api:
    dependency: transitive
    description:
      name: test_api
      sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
      url: "https://pub.dev"
    source: hosted
    version: "0.6.1"
  timing:
    dependency: transitive
    description:
      name: timing
      sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.1"
  typed_data:
    dependency: transitive
    description:
      name: typed_data
      sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
      url: "https://pub.dev"
    source: hosted
    version: "1.3.2"
  vector_math:
    dependency: transitive
    description:
      name: vector_math
      sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  vm_service:
    dependency: transitive
    description:
      name: vm_service
      sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
      url: "https://pub.dev"
    source: hosted
    version: "13.0.0"
  watcher:
    dependency: transitive
    description:
      name: watcher
      sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.0"
  web:
    dependency: transitive
    description:
      name: web
      sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
      url: "https://pub.dev"
    source: hosted
    version: "0.5.1"
  web_socket_channel:
    dependency: transitive
    description:
      name: web_socket_channel
      sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.4"
  yaml:
    dependency: transitive
    description:
      name: yaml
      sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.2"
sdks:
  dart: ">=3.3.2 <4.0.0"
  flutter: ">=3.16.0"

Steps to reproduce

You should use a go_router version above 13.0.0 or higher and go_router_builder is 2.4.1 .
Navigate from route A to route c.
open a dialog.
Attempt to close or pop up the dialog.

Expected results
The dialog must pop up first, then screens pop up. This occurs when the go_router version is 12.3.1 or lower.

Actual results
Screens pop up first, then the dialog pops up.
Code sample
Code sample
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// ignore_for_file: public_member_api_docs, unreachable_from_main

import 'package:collection/collection.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

part 'stateful_shell_route_example.g.dart';

final GlobalKey<NavigatorState> _sectionANavigatorKey =
    GlobalKey<NavigatorState>(debugLabel: 'sectionANav');

void main() => runApp(App());

class App extends StatelessWidget {
  App({super.key});

  @override
  Widget build(BuildContext context) => MaterialApp.router(
        routerConfig: _router,
      );

  final GoRouter _router = GoRouter(
    routes: $appRoutes,
    initialLocation: '/detailsA',
  );
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) => Scaffold(
        appBar: AppBar(title: const Text('foo')),
      );
}

@TypedStatefulShellRoute<MyShellRouteData>(
  branches: <TypedStatefulShellBranch<StatefulShellBranchData>>[
    TypedStatefulShellBranch<BranchAData>(
      routes: <TypedRoute<RouteData>>[
        TypedGoRoute<DetailsARouteData>(path: '/detailsA', routes: [
          TypedGoRoute<DetailsCRouteData>(
            path: 'detailsC',
          ),
        ]),
      ],
    ),
    TypedStatefulShellBranch<BranchBData>(
      routes: <TypedRoute<RouteData>>[
        TypedGoRoute<DetailsBRouteData>(path: '/detailsB'),
      ],
    ),
  ],
)
class MyShellRouteData extends StatefulShellRouteData {
  const MyShellRouteData();

  @override
  Widget builder(
    BuildContext context,
    GoRouterState state,
    StatefulNavigationShell navigationShell,
  ) {
    return navigationShell;
  }

  static const String $restorationScopeId = 'restorationScopeId';

  static Widget $navigatorContainerBuilder(BuildContext context,
      StatefulNavigationShell navigationShell, List<Widget> children) {
    return ScaffoldWithNavBar(
      navigationShell: navigationShell,
      children: children,
    );
  }
}

class BranchAData extends StatefulShellBranchData {
  const BranchAData();
}

class BranchBData extends StatefulShellBranchData {
  const BranchBData();

  static final GlobalKey<NavigatorState> $navigatorKey = _sectionANavigatorKey;
  static const String $restorationScopeId = 'restorationScopeId';
}

class DetailsARouteData extends GoRouteData {
  const DetailsARouteData();

  @override
  Widget build(BuildContext context, GoRouterState state) {
    return const DetailsScreen(label: 'A');
  }
}

class DetailsBRouteData extends GoRouteData {
  const DetailsBRouteData();

  @override
  Widget build(BuildContext context, GoRouterState state) {
    return const DetailsScreen(label: 'B');
  }
}

class DetailsCRouteData extends GoRouteData {
  const DetailsCRouteData();

  @override
  Widget build(BuildContext context, GoRouterState state) {
    return const SubDetailsScreen();
  }
}

/// Builds the "shell" for the app by building a Scaffold with a
/// BottomNavigationBar, where [child] is placed in the body of the Scaffold.
class ScaffoldWithNavBar extends StatelessWidget {
  /// Constructs an [ScaffoldWithNavBar].
  const ScaffoldWithNavBar({
    required this.navigationShell,
    required this.children,
    Key? key,
  }) : super(key: key ?? const ValueKey<String>('ScaffoldWithNavBar'));

  /// The navigation shell and container for the branch Navigators.
  final StatefulNavigationShell navigationShell;

  /// The children (branch Navigators) to display in a custom container
  /// ([AnimatedBranchContainer]).
  final List<Widget> children;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: AnimatedBranchContainer(
        currentIndex: navigationShell.currentIndex,
        children: children,
      ),
      bottomNavigationBar: BottomNavigationBar(
        // Here, the items of BottomNavigationBar are hard coded. In a real
        // world scenario, the items would most likely be generated from the
        // branches of the shell route, which can be fetched using
        // `navigationShell.route.branches`.
        items: const <BottomNavigationBarItem>[
          BottomNavigationBarItem(icon: Icon(Icons.home), label: 'Section A'),
          BottomNavigationBarItem(icon: Icon(Icons.work), label: 'Section B'),
        ],
        currentIndex: navigationShell.currentIndex,
        onTap: (int index) => _onTap(context, index),
      ),
    );
  }

  /// Navigate to the current location of the branch at the provided index when
  /// tapping an item in the BottomNavigationBar.
  void _onTap(BuildContext context, int index) {
    // When navigating to a new branch, it's recommended to use the goBranch
    // method, as doing so makes sure the last navigation state of the
    // Navigator for the branch is restored.
    navigationShell.goBranch(
      index,
      // A common pattern when using bottom navigation bars is to support
      // navigating to the initial location when tapping the item that is
      // already active. This example demonstrates how to support this behavior,
      // using the initialLocation parameter of goBranch.
      initialLocation: index == navigationShell.currentIndex,
    );
  }
}

/// Custom branch Navigator container that provides animated transitions
/// when switching branches.
class AnimatedBranchContainer extends StatelessWidget {
  /// Creates a AnimatedBranchContainer
  const AnimatedBranchContainer(
      {super.key, required this.currentIndex, required this.children});

  /// The index (in [children]) of the branch Navigator to display.
  final int currentIndex;

  /// The children (branch Navigators) to display in this container.
  final List<Widget> children;

  @override
  Widget build(BuildContext context) {
    return Stack(
        children: children.mapIndexed(
      (int index, Widget navigator) {
        return AnimatedScale(
          scale: index == currentIndex ? 1 : 1.5,
          duration: const Duration(milliseconds: 400),
          child: AnimatedOpacity(
            opacity: index == currentIndex ? 1 : 0,
            duration: const Duration(milliseconds: 400),
            child: _branchNavigatorWrapper(index, navigator),
          ),
        );
      },
    ).toList());
  }

  Widget _branchNavigatorWrapper(int index, Widget navigator) => IgnorePointer(
        ignoring: index != currentIndex,
        child: TickerMode(
          enabled: index == currentIndex,
          child: navigator,
        ),
      );
}

/// The details screen for either the A or B screen.
class DetailsScreen extends StatefulWidget {
  /// Constructs a [DetailsScreen].
  const DetailsScreen({
    required this.label,
    this.param,
    this.extra,
    super.key,
  });

  /// The label to display in the center of the screen.
  final String label;

  /// Optional param
  final String? param;

  /// Optional extra object
  final Object? extra;
  @override
  State<StatefulWidget> createState() => DetailsScreenState();
}

/// The state for DetailsScreen
class DetailsScreenState extends State<DetailsScreen> {
  final int _counter = 0;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Details Screen - ${widget.label}'),
      ),
      body: _build(context),
    );
  }

  Widget _build(BuildContext context) {
    return Center(
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: <Widget>[
          Text('Details for ${widget.label} - Counter: $_counter',
              style: Theme.of(context).textTheme.titleLarge),
          const Padding(padding: EdgeInsets.all(4)),
          TextButton(
            onPressed: () {
              const DetailsCRouteData().go(context);
            },
            child: const Text('Navigate to Sub Details - C'),
          ),
          const Padding(padding: EdgeInsets.all(8)),
          if (widget.param != null)
            Text('Parameter: ${widget.param!}',
                style: Theme.of(context).textTheme.titleMedium),
          const Padding(padding: EdgeInsets.all(8)),
          if (widget.extra != null)
            Text('Extra: ${widget.extra!}',
                style: Theme.of(context).textTheme.titleMedium),
        ],
      ),
    );
  }
}

class SubDetailsScreen extends StatelessWidget {
  /// Constructs a [DetailsScreen]
  const SubDetailsScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Details Screen')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () => showGeneralDialog(
                context: context,
                transitionBuilder: (context, a1, a2, widget) => Transform.scale(
                  scale: a1.value,
                  child: PopScope(
                    //This prevent closing the dialog when pressing device's back button
                    onPopInvoked: (_) => true,
                    canPop: true,
                    child: const AlertDialog(
                      title: Center(child: Text('Test Dialog')),
                    ),
                  ),
                ),
                pageBuilder: (
                  BuildContext context,
                  Animation<double> animation,
                  Animation<double> secondaryAnimation,
                ) =>
                    const SizedBox(),
              ),
              child: const Text('Open Dialog'),
            ),
            ElevatedButton(
              onPressed: () => context.go('/'),
              child: const Text('Go back to the Home screen'),
            ),
          ],
        ),
      ),
    );
  }
}

Screenshots or Videos

Screenshots / Video demonstration

Logs
Logs
═══════ Exception caught by widgets library ═══════════════════════════════════
Looking up a deactivated widget's ancestor is unsafe.
The relevant error-causing widget was:
════════════════════════════════════════════════════════════════════════════════

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.4, on macOS 14.4.1 23E224 darwin-arm64, locale en-EG)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.2)
[✓] VS Code (version 1.87.2)
[✓] Connected device (3 available)
[✓] Network resources
• No issues found!

This is happened to me too.. However if you in shell route then openDialog using root navigator. Using Navigator.pop(context) fixed the issue. Please confirm if this workaround is working

This is happened to me too.. However if you in shell route then openDialog using root navigator. Using Navigator.pop(context) inside the dialog fixed the issue. For physical back button idk the solution

@Abouassi98
Check above comment. If above doesn't help, please also provide part 'stateful_shell_route_example.g.dart'; file.

@Abouassi98 Check above comment. If above doesn't help, please also provide part 'stateful_shell_route_example.g.dart'; file.

My issue with the physical back button—apologies for any lack of clarity—is that the above comment is not particularly useful for my needs , and this pertains to the code in thestateful_shell_route_example.g.dart file .

// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'stateful_shell_route_example.dart';

// **************************************************************************
// GoRouterGenerator
// **************************************************************************

List<RouteBase> get $appRoutes => [
      $myShellRouteData,
    ];

RouteBase get $myShellRouteData => StatefulShellRouteData.$route(
      restorationScopeId: MyShellRouteData.$restorationScopeId,
      navigatorContainerBuilder: MyShellRouteData.$navigatorContainerBuilder,
      factory: $MyShellRouteDataExtension._fromState,
      branches: [
        StatefulShellBranchData.$branch(
          routes: [
            GoRouteData.$route(
              path: '/detailsA',
              factory: $DetailsARouteDataExtension._fromState,
              routes: [
                GoRouteData.$route(
                  path: 'detailsC',
                  factory: $DetailsCRouteDataExtension._fromState,
                ),
              ],
            ),
          ],
        ),
        StatefulShellBranchData.$branch(
          navigatorKey: BranchBData.$navigatorKey,
          restorationScopeId: BranchBData.$restorationScopeId,
          routes: [
            GoRouteData.$route(
              path: '/detailsB',
              factory: $DetailsBRouteDataExtension._fromState,
            ),
          ],
        ),
      ],
    );

extension $MyShellRouteDataExtension on MyShellRouteData {
  static MyShellRouteData _fromState(GoRouterState state) =>
      const MyShellRouteData();
}

extension $DetailsARouteDataExtension on DetailsARouteData {
  static DetailsARouteData _fromState(GoRouterState state) =>
      const DetailsARouteData();

  String get location => GoRouteData.$location(
        '/detailsA',
      );

  void go(BuildContext context) => context.go(location);

  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  void replace(BuildContext context) => context.replace(location);
}

extension $DetailsCRouteDataExtension on DetailsCRouteData {
  static DetailsCRouteData _fromState(GoRouterState state) =>
      const DetailsCRouteData();

  String get location => GoRouteData.$location(
        '/detailsA/detailsC',
      );

  void go(BuildContext context) => context.go(location);

  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  void replace(BuildContext context) => context.replace(location);
}

extension $DetailsBRouteDataExtension on DetailsBRouteData {
  static DetailsBRouteData _fromState(GoRouterState state) =>
      const DetailsBRouteData();

  String get location => GoRouteData.$location(
        '/detailsB',
      );

  void go(BuildContext context) => context.go(location);

  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  void replace(BuildContext context) => context.replace(location);
}

Thanks for the update. I was able to replicate the reported behavior using the code sample provided above running on S10 and then pressing the back button.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.19.5, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.19.5 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 300451adae (4 days ago), 2024-03-27 21:54:07 -0500
    • Engine revision e76c956498
    • Dart version 3.3.3
    • DevTools version 2.31.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.22.0-1.0.pre.37, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.22.0-1.0.pre.37 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fd8561a917 (8 hours ago), 2024-03-31 17:12:24 -0400
    • Engine revision 4f6b832c8e
    • Dart version 3.5.0 (build 3.5.0-5.0.dev)
    • DevTools version 2.34.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

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

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Are there any updates on this issue? @darshankawar

Are there any updates on this issue? @darshankawar

With 12367 issues opened it's quite a low chance that the bug will be fixed soon, but it's also quite a weird bug which comes with new flutter and didn't happen before. Maybe it's related to

If the application has multiple Navigator objects, it
may be necessary to call Navigator.of(context, rootNavigator: true).pop(result) to close the dialog rather
than just Navigator.pop(context, result).

https://api.flutter.dev/flutter/material/showDialog.html

This may be an issue with GoRouterDelegate.popRoute()

I would like to add another Repo to this issue.
I have experienced a similar behavior here but it is only related to the routes generated by go_router_builder.
Using similar routes but without generation does not cause any bugs (in my example repo, not tested in the one mentioned here).

This may be an issue with GoRouterDelegate.popRoute()

I just wanted mention that in case GoRouterDelegate is not related to go_router_builder

Are there any updates on this issue?


[Lecture1][0307] Fixes in the Lecture

Thank you for attending today's course! we have two things to be fixed in the slide.

Slides 47-49

After the comment from ..(sorry, I forgot to ask your name), I checked again.

OpenCV depict the pixels in [row, col, channel] order. I always confuse and than you for the comment.

Slide 70,71

The order of sqrt and sqrt has been reversed! Thank you for the comment (sorry, I forgot to ask your name, too).

How to get alarm

So, i have to change [125, 137, 226] -> [120, 138, 226] which is value of f(2,4)?

@cjchangjun Yepp! exactly, (as mentioned in https://github.com/PiLab-CAU/ComputerVision-2401/issues/2) the value f(2,4) will be [120, 138, 226].


Show title and location fields in admin

@pizzapanther Could you ping me when this is deployed? Thanks!

Deployed


chore: bump mesa to 24.1.1

Bump to latest mesa patch release (24.1.1)
COPR build to validate: https://copr.fedorainfracloud.org/coprs/trouter/bazzite-multilib/build/7610825/
(Build is in progress at time of opening this PR; check it's green in COPR before merging)

@KyleGospo the COPR build was green so this should be good to go

Thank you!


Location mappings block campaign-content folder in .NET

If you have a situation where there is no publication for an empty location, you can't access the "campaign-content" folder. DXA can't find the location and therefore shows an error message instead of letting MVC serving the static files.
You should be able to access the campaign files, regardless of the localization configuration for the current implementation, in the same way media files are served and stored in the BinaryData folder.

Yes, indeed that is a scenario I have not considered during the development of first version. In next version I have plans to introduce an HTTP module that manage the campaign assets instead of going directly to the unzipped campaign assets.


fix missing apt

Fixes #92

https://travis-ci.org/voxpupuli/puppet-unattended_upgrades/jobs/243156291#L418 ← this error manifests/init.pp:23:relative_classname_inclusion:WARNING:class included by relative name needs to be fixed in our lint setup

Hi @htj, thanks for the PR. We've included it in https://github.com/voxpupuli/puppet-unattended_upgrades/pull/103


(VET-V0020) Invalid conversions of uintptr to unsafe.Pointer detected

Description
A conversion from uintptr to unsafe.Pointer is invalid if it implies that there is a uintptr-typed word in memory that holds a pointer value, because that word will be invisible to stack copying and to the garbage collector. For example, go var x unsafe.Pointer x = unsafe.Pointer(uintptr(x) + 1)  …
Occurrences
There are 2 occurrences of this issue in the repository.
See all occurrences on DeepSource → deepsource.io/gh/firstcontributions/matro/issue/VET-V0020/occurrences/

ignoring this as this is part of a unit test file, will not be taking this logic to production


Fix kwargs being passed as dict in cog

About this pull request
There is still an issue with commands outside of cogs, but this fixes for cogs.
Changes
Updated the invoke function inside CogBaseCommandObject to be identical to its corresponding function in CogSubcommandObject.
Checklist

[x] I've checked this pull request runs on Python 3.6.X.
[x] This fixes something in Issues.

Issue: Not an issue, rather fixes errors that I found (presumably created in https://github.com/eunwoo1104/discord-py-slash-command/commit/1629ff9c30d7621e2f9f91842c69539b7bb1a8ce)

[ ] This adds something new.
[ ] There is/are breaking change(s).
[ ] (If required) Relevant documentation has been updated/added.
[ ] This is not a code change. (README, docs, etc.)

Can you give an example of the behaviour this is trying to fix?
Because, possibly because I've just woken up, I can't see why this is necessary

Can you give an example of the behaviour this is trying to fix?
Because, possibly because I've just woken up, I can't see why this is necessary, nor have I run into the issue you describe

When i added slash commands in my cogs, it was passing an empty dict if there were no options passed in the command. Also, if there were options passed it would pass them all inside one dict instead of expanding out into kwargs, which this fixes.

A code example of what you described would help.

A code example of what you described would help.

Can confirm, functions without any arguments do not work anymore after the latest commit
Example:
This used to work but doesn't anymore:
@cog_ext.cog_slash(
    name="test",
    description="test",
)
async def _test(self, ctx: SlashContext):
    ctx.send("test")

This is how it needs to look after the latest commit:
@cog_ext.cog_slash(
    name="test",
    description="test",
)
async def _test(self, ctx: SlashContext, dummy):
    ctx.send("test")

I don't really understand why dummy parameter is needed. You don't have any slash command options to pass any data to the dummy argument.
Not sure what issue with slash command this will fix as well.

Tested, can confirm this is an issue

I don't really understand why dummy parameter is needed. You don't have any slash command options to pass any data to the dummy argument.
Not sure what issue with slash command this will fix as well.

thats why its confusing, but i've tested and the code that i pushed fixes the said issue.

There still appears to be a bug for slash commands outside of cogs (slash.slash instead of cog_ext.cog_slash), so if someone wants to open an issue or pr and fix that as well, that needs to be done at some point.

Yeah ive done some digging and your fix doesnt actually resolve the issue
The actual issue is in client.py in invoke_command. So while yes this fixes part of the issue, it doesnt actually resolve it

Check #lib-discussion in the discord

Closing in favor of #181


Can we use office-ui fabric components in redux-form

Hi,
I am trying to use office-ui fabric component in redux-form.
Let's say I have a field and I want that component to be rendered from office ui fabric component -
import { TextField } from "office-ui-fabric-react/lib/TextField";
import { Field } from "redux-form";

const renderField = () => (
  <div>
    <TextField value="testValue" />
  </div>
);

<Field name="projectName" component={renderField} type="text" />

It just renders the component but it does not act with redux-form functionality. Please suggest me how could we use office-ui fabric component in redux-form. Thank you in advance.

There are examples using Material UI. You can try following that.


Support for GROUP BY on aliased fields

This seems like a bug on the scope management for identifiers.
While this query works:
select repository_id, count(ref_name) as count
from refs
group by repository_id;

This one fails with the error message column "repo" could not be found in any table in scope:
select repository_id as repo, count(ref_name) as count
from refs
group by repo;

My current workaround is to use a nested query, but this is clearly a hack.
select repo, count(ref_name) as count
from (
    select repository_id as repo, ref_name
    from refs
) as t
group by repo;

This should be fixed by https://github.com/src-d/go-mysql-server/pull/368
Can you try updating to latest master?

This issues is fixed in the latest release, when will it be deployed to dockerhub?
We need to make sure these fixes are on the gitbase image so the engine benefits from it.

deployed as v0.17.0-rc.3 https://hub.docker.com/r/srcd/gitbase/tags/


add ppc64le / arm64 support

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

This is ready for review @guyer .

@matthiasdiener, can you add yourself as a maintainer?

@conda-forge-admin, rerender

@conda-forge/core, can you review and merge?


Decoupled View method from Controller.

I need to call View("View",model) out of a controller to render a Razor view with given dynamic model.
I think this is nice to can  render a view with it's model outside of the controller context.
thanks to consideration

Hi @mikeandersun , we have a sample of rendering a Razor file to a string here: https://github.com/aspnet/Entropy/tree/dev/samples/Mvc.RenderViewToString

Why I have to have View related methods in a controller when my controller is an API and doesn't use view functionalities at all?
  ```  public virtual PartialViewResult PartialView();
    public virtual PartialViewResult PartialView(string viewName);
    public virtual PartialViewResult PartialView(object model);
    public virtual PartialViewResult PartialView(string viewName, object model);
    public virtual ViewResult View();
    public virtual ViewResult View(string viewName, object model);
    public virtual ViewResult View(object model);
    public virtual ViewResult View(string viewName);
    public virtual ViewComponentResult ViewComponent(Type componentType);
    public virtual ViewComponentResult ViewComponent(string componentName);
    public virtual ViewComponentResult ViewComponent(string componentName, object arguments);
    public virtual ViewComponentResult ViewComponent(Type componentType, object arguments);```

I thinks this methods can move to another place .I don't now where now :)

@mikeandersun the Controller base class is for all controllers. I don't think anyone expects every controller to use every method.


Duration in hours should indicate the duration of results available for that term

Duration in hours should indicate the duration of results available for that term.  Message on not enough data would be misleading here.
 "medium_term": {
                      "duration_in_hours": 168.0,
                      "notifications": {
                        "120001": {
                          "type": "info",
                          "message": "There is not enough data available to generate a recommendation.",
                          "code": 120001
                        }
                      }
                    },

Closing this issue since its merged as part of PR 1081


[release/5.x merging] - Transfer changes from release/5.x branch to master

Add mockery changes to task-lib version 4

This PR adds mockery to task-lib version 4 and allows to publish from release branch.
Based on the PRs:
Mockery replacement: https://github.com/microsoft/azure-pipelines-task-lib/pull/968
Allow to publish changes from release branch: https://github.com/microsoft/azure-pipelines-task-lib/pull/969

/azp run

/azp run


Add the identity confirmation task for claims that didn't go through GOV.UK Verify

This replaces the existing banner which is displayed on the full claim page and on the claim decision page, which tells the service operator to contact the claimant at their school to verify their identity.
Open question
Was it safe to remove the existing banners? Do we think that there's a chance that a claims checker might still use the full claim page to approve a claim?
Screenshots

I felt that the previous question of "Did the claimant submit the claim" wasn't very clear (the claimant is, at least to me, by definition the person who submitted the claim so the answer is yes always). After chatting with Mark and Tekin have changed it to include the claimant’s name:

Agreed, think it’s safest. I’ve also updated the feature specs to match your PR #963, to jump straight to the extra question.


Error handling

I see quite a few asserts here and there in the code. Does that mean that if for example the solver is overconstrained the program will crash and exit? Or if I try to remove a constraint which hasn't been added it will crash and exit?

You see I'm considering writing a swift wrapper and this seems to be my biggest concern so far.

the assert() means never raise error, if assert() occurs, it's the coding bug and not a programming runtime error. any assertion failure should not occurs in production scene.
I have added auto test and coverage test, it's not 100%, that's the way I will work. for now in coverage amoeba should never crash on any input data.

Great!

Overconstraining a variable fails with
Assertion failed: (exit.id != 0), function am_remove, file ./amoeba.h, line 954.

Example code
static void test_twice(void) {
    am_Solver *s7 = am_newsolver(NULL, NULL);
    am_Constraint *c15 = am_newconstraint(s7,<PHONE_NUMBER>.0);
    am_setstrength(c15,<PHONE_NUMBER>.0);
    am_setrelation(c15, 2);
    am_Variable *v14 = am_newvariable(s7);
    am_addterm(c15, v14, 1.0);
    am_addconstant(c15, -10.0);
    am_add(c15);
    am_Constraint *c16 = am_newconstraint(s7,<PHONE_NUMBER>.0);
    am_setstrength(c16,<PHONE_NUMBER>.0);
    am_setrelation(c16, 2);
    am_addterm(c16, v14, 1.0);
    am_addconstant(c16, -10.0);
    am_add(c16);
}

It seems better if it instead

returns a proper error code e.g. AM_FAILED
leaves the solver as if am_add(c16) didn't happen at all

I will test it.

to add a new constraint, we have several ways to try (via Cassowary algorithm):

add it directly, if we find a subject.
use a artificial variable to add.

if we cannot find a subject and all terms are dummy variable, and constant is not zero (means some constraint like x >= 10 when x <= 0), it's unsatisfied.
then, if we can not add it with a artificial variable, the constraint may unbound.
but, all other implements just throw errors in all these situations, I just try to restore the state of solver and return the proper error code. So I must remove the added constraint if needed, I need may test case on adding, because all other implement not do this.
If I'm not real add the constraint into solver and I try to remove it, this assertion failure will trigger, this is the source of this failure. I will improve it, but I need more test case to fix every the one case.

I just try to restore the state of solver and return the proper error code
Music to my ears!

I will improve it

Fantastic!

but I need more test case to fix every the one case
I can create more test cases. The test_twice test was created using my swift wrapper. I can enable logging of all actions to the c-api of amoeba so that it is easy to reproduce any errors I get.  That's why the solver is named s7 :)

Your library is very easy to use. Your style of writing c code is very clean. I'm very impressed with your skills!

Very very thank you for your support :-)

I have fixed this assertion failure, you could try the latest version.

Perfect!