[DC-1120]Update Snapshot Builder Settings to include Dataset Table Name and Relationships

Jira Ticket: https://broadworkbench.atlassian.net/browse/DC-1120

Summary of changes:
Update the structure of the snapshot builder settings to match the changes on the backend
Update the structure of the snapshot access request to match the changes on the backend
Follow the changes through with some renaming and updating usages
Testing strategy
I ran this branch connected to local TDR on branch DC-1120-update-settings. I followed these steps:

Use the set up resources script to get a full view snapshot locally, off which I can make snapshot access requests.
Update the settings on that full view snapshot to be the new settings shown in this PR.
On local terra-ui, go through the researcher flow to submit a snapshot access request. Below is a video of the flow and the json of the submitted snapshot access request. It includes the Drug and Condition tables.

Video of creating a snapshot access request:
https://github.com/user-attachments/assets/7e8d7f5f-ecc5-437d-b5e8-4165163dd8d1
Resulting snapshot access request response:
{
    "id": "6f8a1c2f-e1c9-4af2-a7ad-bb7fbc9bb016",
    "datasetId": null,
    "sourceSnapshotId": "f5555e71-f988-4119-ab22-20bbaf37a1cc",
    "snapshotName": "",
    "snapshotResearchPurpose": "",
    "snapshotSpecification": {
        "cohorts": [
            {
                "name": "cohort",
                "criteriaGroups": [
                    {
                        "name": "Group 4",
                        "criteria": [
                            {
                                "kind": "domain",
                                "id": 10,
                                "conceptId": 4187458
                            },
                            {
                                "kind": "domain",
                                "id": 10,
                                "conceptId": 4163872
                            },
                            {
                                "kind": "range",
                                "id": 0,
                                "low": 1911,
                                "high": 2005
                            },
                            {
                                "kind": "list",
                                "id": 1,
                                "values": [
                                    8532
                                ]
                            }
                        ],
                        "mustMeet": true,
                        "meetAll": false
                    }
                ]
            }
        ],
        "outputTables": [
            {
                "name": "Drug",
                "columns": []
            },
            {
                "name": "Condition",
                "columns": []
            }
        ]
    },
    "createdBy"<EMAIL_ADDRESS>    "status": "SUBMITTED",
    "createdDate": "2024-07-16T20:53:21.027691Z",
    "statusUpdatedDate": null,
    "flightid": null,
    "createdSnapshotId": null
}

On local tdr swagger, approve the request.
On local tdr swagger, create a snapshot using the byRequestId mode and the id of the snapshot access request id. Using this payload:

{
  "name": "unused_overwritten",
  "description": "testing settings changes with new backend changes",
  "contents": [
    {
      "datasetName": "unused_overwritten",
      "mode": "byRequestId",
      "requestIdSpec": {
        "snapshotRequestId": "6f8a1c2f-e1c9-4af2-a7ad-bb7fbc9bb016"
      }
    }
  ]
}

On local tdr swagger, use the querySnapshotDataById endpoint to check that the newly created snapshot has the selected tables (Drug and Condition) populated as well as the person and concept tables. Below is a video that shows what data was included in this snapshot and that other data, such as Procedure was not included.
Video showing snapshot data:

https://github.com/user-attachments/assets/f4c2e595-d024-4f4c-97d1-16f315e88fcf
Notes
Once this is merged, the settings on dev and prod will need to be updated for the product to work.

Also, its interesting that we need to define the relationships here. I would think we could mostly not include them and look them up in the backend when we need them? But it seems fine either way.

What do you mean? I included the relationships here just so the type would match when the settings are retrieved from the backend so it doesn't error. Even though you're right they aren't used on the UI currently. I could make a separate UI type that excludes the relationships and convert it before it gets passed around.


Request exposure notification authorization bt ios

Why:
We would like to use the exposure notification service provided by
apple in the application. In order to do so users must enable
authorization to the app. We would like to have this authorization
requested during the onboarding flow.
This commit:
Introduces a screen that will render in the BT app which will prompt the
user to enable Exposure Notifications. We introduced an
ExposureNotificationContext that contains the authorization state on the
js side and provides a way for components to request EN authorization by
calling into a Native Module which exposes a method for setting the
exposure notification to true in the iOS layer.
We also introduced the start of the Exposure Notification Service in the
BTE target and included the entitlements for Exposure Notifications.
Co-Authored-By: mattthousand<EMAIL_ADDRESS>Co-Authored-By: tparesi<EMAIL_ADDRESS>iPhone

This one should be merged after: https://github.com/Path-Check/covid-safe-paths/pull/958

now it should be merged after this one: https://github.com/Path-Check/covid-safe-paths/pull/961

@mattThousand or @tparesi could i get a rubber stamp from one of yall on this?


Batteries-included RSS/Atom feed support

RSS/Atom feeds should be generated automatically from configuration options in the project's config.yml file.
e.g.
project-name: RSS demo project
base-path: /
feeds:
  posts:
    file: /feeds/posts.xml
    query: session.query(Post).order_by(Post.date.desc())
  projects:
    file: /feeds/projects.xml
    query: session.query(Project).order_by(Project.released.desc())

That particular example would get all posts and projects, but to make it more specific, just tweak your SQLAlchemy/MLAlchemy query that generates the feed.
e.g.
feeds:
  programming-posts:
    file: /feeds/programming-posts.xml
    query: session.query(Post).filter(Post.tags.any(name='programming')).order_by(Post.date.desc())

See SQLAlchemy's documentation for details.


Nav Link inactive

Description
Whenever I navigate to the Privacy page or the FAQ page, the navigation link for the Home page always appears as active, even though I am not on the Home page.
Screenshots
Screencast from 18-06-23 12:24:10 PM IST.webm
Additional information
I am a gssoc'23 contributor can I work on this issue?

@manaver It is Already Solved
Please find an another issue

@manaver It is Already Solved
Please find an another issue

Oh! Ok ill find another issue


"reporting security issues" section has disappeared from the docs

Expected Behavior
There should be a page explaining how to report security issues in Dubbo
Actual Behavior
This page seems to have disappeared in #2878 : it was in content/en/blog/security-notices/security.md but there does not seem to be a replacement for this page.

In https://dubbo.apache.org/en/overview/notices/

I don't see a "Reporting security issues" section there? (like in https://github.com/apache/dubbo-website/pull/2878/files#diff-2c228ef5dc9beda04cf108e1414abfb009373de833121dcbcf4a139aa87eec7cL10)

I will add this section later.

Looks great, thanks!


[vcpkg-tool] CI graph not correctly reduced

In #23431 i noticed the following:

qtwebengine:x64-windows is build in the x86-windows triplet
qtwebengine has a host dependency on itself
but supports of qtwebengine disallows x86

so the expected behavior would be to not build qtwebengine:x64-windows for the  x86-windows triplet
i noticed the same for  x64-windows-static(-md)? triplets.
Considering CI takes roughly 2h to build qtwebengine this is quite a CI time waste.

In qtwebengine's manifest file:
  "supports": "!static & !((arm | x86) & windows)",
...
    {
      "$comment": "Requires GN host tool build by the port itself! (special version check)",
      "name": "qtwebengine",
      "host": true,
      "default-features": false
    },

So I assume this is a port issue?

So I assume this is a port issue?

Why do you assume that? The tool should deduce that a host dependency is not needed and thus not include it into the graph.

Why do you assume that? The tool should deduce that a host dependency is not needed and thus not include it into the graph.

Our CI systems are x64, so the host triple should be x64-windows by default.
According to dependencies, qtwebengine:x86-windows needs to build qtwebengine:x64-windows first. So the current behavor is make sence.
Am I missing something?

Am I missing something?

Yeah   "supports": "!static & !((arm | x86) & windows)",. x86 cannot be build, so no need to build it for x64. It is an unneeded host dependency since it cannot be build on x86

Am I missing something?

Yeah  "supports": "!static & !((arm | x86) & windows)",. x86 cannot be build, so no need to build it for x64 host. It is an unneeded host dependency since it cannot be build on x86

!static & !((arm | x86) & windows) == (!static & (!arm & windows)) | (!static & (!x86 & windows)) == (dynamic & !arm & windows) | (dynamic & x64 & windows) right?

Don't ask me supports logic always kills me ;)
For x86-windows:
!static & !((arm | x86) & windows) = !static & !((arm | 1) & 1) = !static & !(1) = !static & 0 = 0 -> 0 means unsupported

right?

no because you are missing other platforms like x64-linux-dynamic. That is why supports generally blacklists instead of whitelists.

That is why supports generally blacklists instead of whitelists.

Yes that's me recommend. Let's discuss it with pure logic that doesn't distinguish between official and community triples.
If all the x86-windows-dynamic triplets are not supports, let's set !arm | x86 as A, then the expected expressions should be:
!(A & windows & dynamic) == !(A & windows & !static) == static & !(A & windows).
Then set back A  to !arm | x86, the final expression should be:
static & ((!arm | x86) & windows)
Is that correct?

dynamic is supported. static is unsupported. But this is not about the supports expression. I mean, CI correctly identifies it to not build on x86. The problem is that it still builds for the host although that is completely unneeded.

I still think that's just an expression issue.
I'm totally messed up.
cc @BillyONeal @ras0219-msft

To rephrase the bug report: vcpkg thinks it wants to build qtwebengine:x86-windows, which wants qtwebengine:x64-windows. We evaluate 'supports' which removes qtwebengine:x86-windows, but we don't go and remove qtwebengine:x64-windows as well. (Or something else depends on {qtwebengine:x64-windows, host=true} we didn't notice?)


Solution install ldap on ubuntu 16.04 x64

Output
configure: error: Cannot find ldap.h

Expected Result
===> Enabling extension ldap
[*] ldap extension is enabled.
Done.

Command
sudo apt-get install libldap2-dev
phpbrew --debug ext install ldap -- --with-libdir=lib/x86_64-linux-gnu

Platform
OS:
Ubuntu 16.04

could you upload your whole log, and try locate ldap.h to see where the header file is.

I try to reproduce the issue and run same commands in the Ubuntu 18.04. They're as follows:

Running the sudo apt-get install libldap2-dev command to install the development library for LDAP.
Running the phpbrew --debug ext install ldap -- --with-libdir=lib/x86_64-linux-gnu to install the extension.
And related command outputs are as follows:

......
===> Installing...
Installing shared extensions:     /root/.phpbrew/php/php-5.6.40/lib/php/extensions/no-debug-non-zts-20131226/
Installed extension library: /usr/lib/php/20170718/ldap.so
===> Extension is installed.
===> Creating config file /root/.phpbrew/php/php-5.6.40/var/db/ldap.ini.disabled
/root/.phpbrew/php/php-5.6.40/var/db/ldap.ini.disabled is created.
===> Enabling extension ldap
[*] ldap extension is enabled.
Done.
root@ubuntu-s-4vcpu-8gb-amd-sgp1-01:~#


fix(tag): pointer cursor on pressable tag

When a tag is "pressable" (used as a button), the cursor should be set to the pointer (to match our other buttons).
Description

Updated Tag component to add an 'md-tag-pressable' css class that has a 'cursor: pointer' style.
Added tests for pressable/not-pressable, etc
Added the missing isDisabled type
removed an unused line of code in Card.tsx (unrelated to this change)

Links
https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-336426

The suggested change had a missing comma and a strange whitespace character.  Should be fixed now.


Connect-MicrosoftTeams error in Azure function (VS Code)

I get an error when I run the Connect-MicrosoftTeams command when debugging with VSCode.
An error is output, but the process to O365 can be executed correctly.
Similarly, when the Connect-ExchangeOnline command is executed, no error occurs and the process to O365 can be executed correctly.
Code:

run.ps1
#$credential = $env:SSF_Credential
#$passcode = $env:SSF_Passcode
$credential =<EMAIL_ADDRESS>
#$password = $passcode | ConvertTo-SecureString -key (1..16)
$password = ConvertTo-SecureString "xxxxxx" -asplaintext -force
$LiveCred = New-Object System.Management.Automation.PSCredential $credential, $password
#Connect-ExchangeOnline -Credential $LiveCred -ShowBanner:$false
Connect-MicrosoftTeams -Credential $LiveCred

requirements.psd1
@{
For latest supported version, go to 'https://www.powershellgallery.com/packages/Az'.
To use the Az module in your function app, please uncomment the line below.
#'Az' = '6.'
'ExchangeOnlineManagement' = '2.'
'MicrosoftTeams' = '2.*'
}

Error:
[2021-08-06T07:39:40.854Z] Executed 'Functions.G0010' (Failed, Id=ee296b0e-f6f5-4999-b7f2-af536686b62a, Duration=5830ms)
[2021-08-06T07:39:40.856Z] System.Private.CoreLib: Exception while executing function: Functions.G0010. System.Private.CoreLib: Result: Failure
Exception: The type 'System.Collections.Generic.Dictionary`2[[Microsoft.TeamsCmdlets.Powershell.Connect.Common.Endpoint, Microsoft.TeamsCmdlets.PowerShell.Connect, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=f300afd708cefcd3],[System.String, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]' is not supported for serialization or deserialization of a dictionary. Keys must be strings.
Stack:    at Microsoft.PowerShell.Commands.JsonObject.ProcessDictionary(IDictionary dict, Int32 depth, ConvertToJsonContext& context)
[2021-08-06T07:39:40.858Z]    at Microsoft.PowerShell.Commands.JsonObject.ProcessValue(Object obj, Int32 currentDepth, ConvertToJsonContext& context)
[2021-08-06T07:39:40.859Z]    at Microsoft.PowerShell.Commands.JsonObject.ProcessCustomObject[T](Object o, Int32 depth, ConvertToJsonContext& context)
Environment:
Windows 10 21H1
VS Code 1.59.0
Japanese Language Pack
Azure Functions 1.4.1
Powershell V2021.6.2
Azure Account v0.9.8
Azure Resource v0.4.0

Hello @takagim how are you? Hope you are doing good.
Here we are limited to documentation fixes and improvements, is there any article that you think needs a fix?
Thank you

@get-itips Thank you very much for the contribution and sharing this explanation. @takagim Hope this comment is helpful for you. Considering the nature of the issue, as advised, please open a service ticket in your tenant and follow with them for the resolution. We proceed to close it as here we are limited to documentation fixes and improvements only.
We will be very happy if you can share the outcome or resolution with us if you see documentation update is required. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


add: Sanket176

Description
Added profile data for Sanket176
And added the JSON file to the profilelist.json file
Related Issues
Issue: 938
Checklist

I have read and followed the Contribution Guidelines.
All new and existing tests passed.
My code follows the code style of this project.
The title of my pull request is a short description of the requested changes.

Screenshots

@Sanket176 Thank you so much for your contribution! Your efforts are greatly appreciated and will go a long way in improving our project. Please feel free to share it with others and help us grow even further!


Update generate-certificates.md

Fixing typos and the keystore command to be correct
Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[x] If the changes in this PR is part of the next future release, make this pull request against the docs-staging branch which will be published at the next release boundary. If the changes in this PR are part of the current release, use the default base branch, master. For more information about branches, see https://github.com/zowe/docs-site/tree/master#understanding-the-doc-branches.

[ ] If this PR relates to GitHub issues in docs-site or other repositories, please list in Description, prefixed with close, fix or resolve keywords.

Description (including links to related git issues)
Please describe your pull request.
:heart:Thank you!

Just fixing some typos and changes in the documentation.  The keystore command needs updating


Stuck in a squat

Im on the oculus pcvr and just installed everything and switched my version to the public beta. I launched the game and was stuck in squat where I cant move.

I'm pretty sure the mod requires Steam PCVR for networking, meaning no Oculus app, and you have to set your version to the public_beta branch... Are you sure you are on the right branch? Perhaps send some screenshots.

I sort of meant... In game. Is it ok if you could do that for me? Thanks!

I uninstalled, reinstalled, updated to live. Reinstalled as public beta, and was good to go. Thanks

Cool, @Lakatrazz, please close this as I currently do not possess the ability to close the issue myself.

So is it fixed or do i have to reinstall as live then public


Removing versions and platform information from search API's results

Keeps the results simple and focused, and removes the temptation to use it for anything else.

FYI – we're going to want extra metadata in the search results – designs coming this week

The obscure worded https://github.com/dart-lang/pub-dartlang-dart/pull/359 handles that :)

kk


AB#112393 support speech recognition

Validate and cache dictation value while composing
Retrieve latest cached value if fully-composed value contains alphabetic characters

The code for this is getting a bit complex, and it wouldn't be obvious coming back to it why everything has been done how it has. I think a few comments along the lines of "this scenario happens when a user pastes with the keyboard", "this scenario happens when a user dictates a value" would be useful.


Improvements and Fixes

This is a quick&dirty PR with 3 little changes:

I added a 'reset' method to the collectors that resets a collector to the first iteration
I split the 'eval_lpdf' method of the MarginalAlgorithm into 3 different methods (this could be handy if we want to evaluate only the mean of the pdf without storing all the matrix of num_iterations x grid_size)
added a progress-bar (found online) to display the progress of the MCMC algorithm, which is also shown in python

I have just one question: why do we need MarginalAlgorithm::update_state_from_collector()? It seems a bit redundant.

I did it because now we can move MarginalAlgorithm::eval_lpdf directly to the base class, it could be useful for the ConditionalAlgorithm (maybe). Anyways I don't have a strong feeling about that

I have just one question: why do we need MarginalAlgorithm::update_state_from_collector()? It seems a bit redundant.

I did it because now we can move MarginalAlgorithm::eval_lpdf directly to the base class, it could be useful for the ConditionalAlgorithm (maybe). Anyways I don't have a strong feeling about that

It's fine. Please go ahead

It's fine. Please go ahead


Description needs to strip hyperlinks from preview text

If hyperlinks are present in the body text that is used as the preview text, the editorial page breaks.
testing notes

[x] try adding a hyperlink to body text that is used as preview text, it should be stripped
[x] other formatting (italics, bold) should not be (some other potentially unsafe tags are now removed too)

dev notes
Should be able to use bleach to strip out a tags.

Tested by adding hyperlink (internal, external, and email) to description field and to body text that is used in lieu of description. It is stripped in the tile but is functional in the editorial post view. Other formatting (italics, bold) works in preview text.


Does not render div with a height greater than view-port

I have div that is container for a list that renders find on desktop but does not render on when running in a mobile browser.

Which mobile browser/os/version?


Hotfix for unicode error / updated author list

Checkout author list from develop since special characters like ü can cause trouble in the docs.

Alternatively if we really want to keep ü etc, we can hard code utf-8 encoding when README.rst is read in setup.py. Or just not use README.rst as long description.

Closed this via: https://github.com/qmlcode/qml/pull/75
So we don't have to update Zenodo link etc before next QML release.


Git extensions seems to open files with incorrect casing in its path

VSCode Version: Code - Insiders 1.13.0-insider (688b96f7dfa37b53b88eec4e6cb9af75a499fe86, 2017-05-05T15:34:02.954Z)
OS Version: Windows_NT ia32 10.0.16188

On my machine my code is in C:\Users\Eric\Code\*.
Steps to Reproduce:

Open a workspace (e.g. C:\Users\Eric\Code\vscode-gitlens)
Open a file (say src\extension.ts) -- note that the path of the opened file is C:\Users\Eric\Code\vscode-gitlens\src\extension.ts
Edit the file and save (just to get a change in the SCM viewlet)
Right-click on the file in the SCM viewlet and choose Open File
🐛Another tab (preview) will open (even with "workbench.editor.revealIfOpen": true) -- note that the path of the opened file is C:\Users\Eric\code\vscode-gitlens\src\extension.ts -- the C in Code is now c

So now there are 2 editors open for the same file -- but code thinks they are different files.
Also to make the issue worse, when 2 editors are open like this -- using the search viewlet will duplicate matching results across these 2 files. I kept randomly running across duplicate search results, but finally was able to track down how it happens.

This is a sad consequence of case insensitivity, for which we only have a workaround for now:
If you open the Windows explorer in C:\Users\Eric, you'll notice that the folder is code, not Code. So, close Code's window and reopen it on the Code folder, making sure you use the right casing from the beginning.

@joaomoreno I see -- but given that, in the case it seems that vscode should normalize the path to the real casing just like git is doing? It is extremely easy to type the wrong casing once and have it live on in the recent files list or somewhere else and hit this issue.
Can this be reopened?

Using something like true-case-path could help. I just noticed that this is also causing the strange intermittent behaviors I've been seeing with GitLens too.

cc @bpasero

That lib is the devil...

@bpasero is there another (better) way?

@eamodio talked about some ideas in https://github.com/Microsoft/vscode/issues/22740#issue-214733772

@bpasero according to that issue:

We now no longer open 2 different files when using different casing for a file path (macOS, Windows) but we can do better and prevent wrongly-cased paths altogether.

But that isn't the behavior I'm seeing -- given the steps above it will open 2 files with different casing

@eamodio yes we reverted that behaviour back to be consistently wrong instead of partially wrong. I was more referring to the uv_fs_realpath method in libuv.

@bpasero So I've tried out fs.realpath in node v7.10 (which supposedly uses `uv_fs_realpath) under the covers, but it doesn't return the proper-casing for me -- it just seems to return what every casing I enter. :(

@eamodio node.js is NOT using uv_fs_realpath, they reverted back because there are lots of caveats with it (e.g. mapped network drives on windows are resolved to their actual path). The method still exists in libuv though.

@bpasero ah, thanks -- I missed that revert.


Repo doesn't support alternative regions due to some hardcoding of us-east-1

Image builder doesn't work outside of us-east1 due to a number of hardcoded entries

Created a PR to resolve the issues @tylerwooten  - https://github.com/aws-deepracer-community/deepracer-on-the-spot/pull/48

PR #48 fixed image builder working in multiple regions.  However running standard or spot instances doesn't work without amending the YAML files.  We need a method for working out for many AZs there are (n), and then creating n number of EFS mount points.

PR created to fix the base template being able to be deployed in regions with less than 6 AZs and made spot and standard templates auto-detect which region they're in so you don't need to update system.env per region- https://github.com/aws-deepracer-community/deepracer-on-the-spot/pull/50.  I think once this is merged this issue can be closed.
Tested base, spot and standard templates in eu-west-1, which only has 3 AZs.

Closings working well in Ireland and Ohio as a test


Question: Are you open to new api for create_list ??

I have been using create_list and find that it is way more useful to use it in more than just the way that you have now:
create_list(:user, 2) # 2 users
create_list(:user, :trait1, 3) # 3 users

I want to propose a new way to use it like this:
create_list(:user, :trait1, :trait2) # 2 users ( 1 with trait1 and the other with trait2
create_list(:user, :trait1, :trait2, :trait3) # 3 users ( 1 with trait1, the next with trait2, and the last with trait3 )
create_list(:user, [:trait1, name: 'Bob'],  :trait3) # 2 users

You could still use create_list the old way .. I would just want to add the new style as well.
This makes create_list super duper powerful and much more useful, and I can code the whole thing for you in a PR and whatnot, but want to make sure you are on board with the idea?

@danielspaniel I'd be hesitant to introduce an implied API in what could be covered by Ruby for the first couple of examples:
%i(trait1 trait2 trait3).map {|trait| create(:user, trait) }

As for the final example, with traits + custom attributes, I'd be concerned it's not obvious what the intent is for each of those, so I might also lean on Ruby and some custom code to build a helper that uses it first. Generally speaking, I've approached FactoryBot's API such that it enables building blocks and extends the interface only when necessary, so custom construction and other approaches can be leveraged by developers dependent on each use-case. I think, at least with the first examples, iterating over an array of symbols and calling create directly is more approachable because it uses Ruby's Enumerable in a way developers can grok without needing to learn FactoryBot atop that.


Cannot "ssh-add" since version 1.3

We are using the following service setup in our docker-compose.yml:
version: 3

services:
  ssh-agent:
    image: docksal/ssh-agent:1.2
    volumes:
      - ssh-agent:/.ssh-agent

  ssh-key:
    image: docksal/ssh-agent:1.2
    command: ['bash', '-c', 'ssh-add - </tmp/host-ssh/id_rsa']
    depends_on:
      - ssh-agent
    volumes:
      - $HOME/.ssh:/tmp/host-ssh:ro
      - ssh-agent:/.ssh-agent

volumes:
  ssh-agent:

While this works perfectly fine it fails since version 1.3 of this image.
With version 1.2:
$ docker-compose ps
                Name                              Command                       State                         Ports
----------------------------------------------------------------------------------------------------------------------------------
project_ssh-agent_1                    docker-entrypoint.sh ssh-agent   Up (healthy)
project_ssh-key_1                      docker-entrypoint.sh bash  ...   Exit 0

With version 1.3:
$ docker-compose ps
                Name                              Command                       State                         Ports
----------------------------------------------------------------------------------------------------------------------------------
project_ssh-agent_1                    docker-entrypoint.sh ssh-agent   Up (healthy)
project_ssh-key_1                      docker-entrypoint.sh bash  ...   Exit 2
$ docker-compose logs ssh-key
Attaching to project_ssh-key_1
ssh-key_1        | Error connecting to agent: No such file or directory

The /.ssh-agent directory in the ssh-agent service looks fine if just that service is (re)started:
$ docker-compose exec ssh-agent ls -la /.ssh-agent
total 8
drwxr-xr-x    2 root     root          4096 Oct  7 12:48 .
drwxr-xr-x    1 root     root          4096 Oct  7 12:46 ..
srw-rw-rw-    1 root     root             0 Oct  7 12:48 proxy-socket
srw-------    1 root     root             0 Oct  7 12:48 socket

However, as soon as the ssh-key service is executed, the socket files in this directory disappear. The logs of ssh-agent do not show anything useful:
ssh-agent_1      | Creating proxy socket...
ssh-agent_1      | Launching ssh-agent...
ssh-agent_1      | debug2: fd 3 setting O_NONBLOCK
ssh-agent_1      | SSH_AUTH_SOCK=/.ssh-agent/socket; export SSH_AUTH_SOCK;
ssh-agent_1      | echo Agent pid 1;

Any idea what's going on? For now we need to stick with version 1.2.

@mbrodala  Looks like you are using this image outside of it's primary intended use case - with Docksal - which is exciting! Mind sharing some details? :)

However, as soon as the ssh-key service is executed, the socket files in this directory disappear.

Here's why:
https://github.com/docksal/service-ssh-agent/blob/develop/bin/docker-entrypoint.sh#L8-L9
That line moved in the entrypoint script of the image and is now executed unconditionally. You'd have to override the container ENTRYPOINT in the ssh-key service, so the stock one is not triggered, e.g.:
version: "3"

services:
  ssh-agent:
    image: docksal/ssh-agent:1.3
    volumes:
      - ssh-agent:/.ssh-agent

  ssh-key:
    image: docksal/ssh-agent:1.3
    entrypoint: ['bash', '-c']
    command: ['ssh-add - </tmp/host-ssh/id_rsa']
    depends_on:
      - ssh-agent
    volumes:
      - $HOME/.ssh:/tmp/host-ssh:ro
      - ssh-agent:/.ssh-agent

volumes:
  ssh-agent:

$ docker-compose up -d
Creating volume "ssh-agent_ssh-agent" with default driver
Creating ssh-agent_ssh-agent_1 ... done
Creating ssh-agent_ssh-key_1   ... done

$ docker-compose logs
Attaching to ssh-agent_ssh-key_1, ssh-agent_ssh-agent_1
ssh-agent_1  | Creating proxy socket...
ssh-agent_1  | Launching ssh-agent...
ssh-agent_1  | SSH_AUTH_SOCK=/.ssh-agent/socket; export SSH_AUTH_SOCK;
ssh-agent_1  | echo Agent pid 1;
ssh-agent_1  | debug2: fd 3 setting O_NONBLOCK
ssh-agent_1  | debug2: fd 4 setting O_NONBLOCK
ssh-agent_1  | debug1: process_message: socket 1 (fd=4) type 17
ssh-key_1    | Identity added: (stdin) ((stdin))

@mbrodala Looks like you are using this image outside of it's primary intended use case - with Docksal - which is exciting! Mind sharing some details? :)

I didn't even know Docksal is a thing. ;-) We only use this for a basic local development setup, so basically something like Docksal. ;-)

However, as soon as the ssh-key service is executed, the socket files in this directory disappear.

Here's why:
https://github.com/docksal/service-ssh-agent/blob/develop/bin/docker-entrypoint.sh#L8-L9
That line moved in the entrypoint script of the image and is now executed unconditionally. You'd have to override the container ENTRYPOINT in the ssh-key service, so the stock one is not triggered, e.g.:

Thanks, I'll try that. However I think it would be a good idea to move the socket file cleanup right before the socat calls in the entrypoint.

However I think it would be a good idea to move the socket file cleanup right before the socat calls in the entrypoint.

@mbrodala agreed. Released a hotfix v1.3.1. docker pull docksal/ssh-agent:1.3 to update

Hm, for some reason the issue remains with version 1.3. And there is no tag for 1.3.1.

@mbrodala did you do docker pull docksal/ssh-agent:1.3? We do not tag hotfix releases on Docker Hub.

Yes, I tried that version but without any change. Here's the current state locally:
docker image ls docksal/ssh-agent
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docksal/ssh-agent   latest              335da72f134e        11 days ago         14.3MB
docksal/ssh-agent   1.3                 dba471f4f7f1        11 days ago         14.3MB
docksal/ssh-agent   1.2                 13bd896a38e9        6 months ago        14.3MB

Now that I saw that the ID is outdated I ran docker pull docksal/ssh-agent:1.3 and got the latest state now:
docker image ls docksal/ssh-agent
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docksal/ssh-agent   1.3                 1d4d27359922        5 days ago          14.3MB
docksal/ssh-agent   latest              335da72f134e        11 days ago         14.3MB
docksal/ssh-agent   <none>              dba471f4f7f1        11 days ago         14.3MB
docksal/ssh-agent   1.2                 13bd896a38e9        6 months ago        14.3MB

And now I can use version 1.3 just fine. :+1:


Making the icons round/circles

Awesome icons! Nice Work! Cheers to you!
Is it possible to make them circles instead of squares? I guess the rx-attribute could be uused for this, or?

Thanks! Yes, set the `rx=50%" to get circles. You can test this at https://edent.github.io/SuperTinyIcons/radius.html


In VueJS 2.6.10 module export defaults only works on .vue files even with libraryExport: “default”

Version
2.6.10
Reproduction link
https://forum.vuejs.org/t/in-vuejs-2-6-10-module-export-defaults-only-works-on-vue-files-even-with-libraryexport-default/63454
Steps to reproduce
Configs
// vue.config.js
...
	configureWebpack: {
		output: {
			libraryExport: "default",
		},
	},
...

// babel.config.js
...
  	presets: [["@vue/app"]],
...

This Works
// main.js
import ComponentA from "./Components/ComponentA.vue";

This Not
// main.js
import AllTheComponents from "./Components/index.js";

console.log(AllTheComponents );
// Outputs
// Forms: Module {
//   Symbol(Symbol.toStringTag): "Module"
// }

console.log(AllTheComponents.ComponentA );
// Outputs
// Can't read prop ComponentA of undefined

// ./Components/index.js
import ComponentA from "./Components/ComponentA.vue";
import ComponentB from "./Components/ComponentB.vue";

export default {
  ComponentA,
  ComponentB
}

What is expected?
Access to the module props normally.
What is actually happening?
Having can't read [propname] of undefined.

https://forum.vuejs.org/t/in-vuejs-2-6-10-module-export-defaults-only-works-on-vue-files-even-with-libraryexport-default/63454

Please, keep the questions on the forum. This is a webpack configuration issue rather than a vue problem

This is documented: https://cli.vuejs.org/guide/build-targets.html#vue-vs-js-ts-entry-files

As you can read in the example. Im not using named exports. Im just exporting default. And as the docs says also I'm doing libraryExport: "default".


[plugin] The plugin [flutter_plugin_android_lifecycle] could not be built due to the issue above

Launching lib\main.dart on ONEPLUS A6000 in release mode...
Running Gradle task 'assembleRelease'...
WARNING: [Processor] Library 'C:\Users\kumar.gradle\caches\modules-2\files-2.1\io.flutter\flutter_embedding_release\1.0.0-c8e3b9485386425213e2973126d6f57e7ed83c54\f970dd371259c1fef30727ae3d9d771d313c73f6\flutter_embedding_release-1.0.0-c8e3b9485386425213e2973126d6f57e7ed83c54.jar' contains references to both AndroidX and old support library. This seems like the library is partially migrated. Jetifier will try to rewrite the library anyway.
Example of androidX reference: 'androidx/annotation/VisibleForTesting'
Example of support library reference: 'android/support/annotation/NonNull'
Note: C:\flutter.pub-cache\hosted\pub.dartlang.org\share-0.6.5\android\src\main\java\io\flutter\plugins\share\MethodCallHandler.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: C:\flutter.pub-cache\hosted\pub.dartlang.org\sms_autofill-1.2.4\android\src\main\java\com\jaumard\smsautofill\AppSignatureHelper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\flutter.pub-cache\hosted\pub.dartlang.org\url_launcher-5.5.2\android\src\main\java\io\flutter\plugins\urllauncher\WebViewActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':clipboard_manager:verifyReleaseResources'.

A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
1 exception was raised by workers:
com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
C:\Users\kumar.gradle\caches\transforms-2\files-2.1\ce1635782ed616d72db5bb7f69df3596\core-1.1.0\res\values\values.xml:142:5-173:25: AAPT: error: resource android:attr/fontVariationSettings not found.

 C:\Users\kumar\.gradle\caches\transforms-2\files-2.1\ce1635782ed616d72db5bb7f69df3596\core-1.1.0\res\values\values.xml:142:5-173:25: AAPT: error: resource android:attr/ttcIndex not found.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 18m 8s
The built failed likely due to AndroidX incompatibilities in a plugin. The tool is about to try using Jetfier to solve the incompatibility.
Running Gradle task 'assembleAarRelease'...
Building plugin clipboard_manager...
Running Gradle task 'assembleAarRelease'...
✓ Built build\app\outputs\repo.
Building plugin contacts_service...
Running Gradle task 'assembleAarRelease'...
✓ Built build\app\outputs\repo.
Building plugin flutter_plugin_android_lifecycle...
C:\flutter.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.8\android\src\main\java\io\flutter\embedding\engine\plugins\lifecycle\FlutterLifecycleAdapter.java:8: error: package androidx.lifecycle does not exist
import androidx.lifecycle.Lifecycle;
^
C:\flutter.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.8\android\src\main\java\io\flutter\embedding\engine\plugins\lifecycle\FlutterLifecycleAdapter.java:22: error: cannot find symbol
public static Lifecycle getActivityLifecycle(
^
symbol:   class Lifecycle
location: class FlutterLifecycleAdapter
2 errors
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':compileReleaseJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 3m 15s
Exception: The plugin flutter_plugin_android_lifecycle could not be built due to the issue above.
[√] Flutter (Channel stable, 1.20.2, on Microsoft Windows [Version 10.0.18363.1016], locale en-IN)
• Flutter version 1.20.2 at C:\flutter
• Framework revision bbfbf1770c (3 weeks ago), 2020-08-13 08:33:09 -0700
• Engine revision 9d5b21729f
• Dart version 2.9.1
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at C:\programs\Android
• Platform android-29, build-tools 29.0.2
• ANDROID_HOME = C:\programs\Android
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Android Studio (version 4.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 48.1.2
• Dart plugin version 193.7547
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] VS Code (version 1.48.2)
• VS Code at C:\Users\kumar\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.13.2
[√] Connected device (1 available)
• ONEPLUS A6000 (mobile) • eb713420 • android-arm64 • Android 10 (API 29)
• No issues found!

Hi @AdiKK17
Can you please provide your flutter build appbundle --verbose and your pubspec.yaml.
Thank you

Hello,
the problem is coming from flutter run --release not flutter build appbundle.
should i still provide flutter build appbundle --verbose or rather provide flutter run --release --verbose?
Thanks.

Hello,
the problem is coming from flutter run --release not flutter build appbundle.
should i still provide flutter build appbundle --verbose or rather provide flutter run --release --verbose?
Thanks.

Please provide just flutter run --release --verbose

Unable to input the logs here.
Any solution?
Thanks

You can just run the command and once it finishes copy and paste the output here.

I have the logs but unable to paste the output here!
Too long a comment according to github guidelines.

You can share it as a .txt file.

problem_logs.txt

Based on the logs file, the builds failed multiple times, first due to the clipboard_manager:

[+1699 ms] > Task :contacts_service:assembleRelease
[+2600 ms] > Task :flutter_plugin_android_lifecycle:assembleRelease
[+5902 ms] > Task :clipboard_manager:verifyReleaseResources FAILED
[+5498 ms] FAILURE: Build failed with an exception.
[   +3 ms] * What went wrong:
[   +1 ms] Execution failed for task ':clipboard_manager:verifyReleaseResources'.
[        ] > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
[   +1 ms]    > 1 exception was raised by workers:
[        ]      com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
[        ]      C:\Users\kumar.gradle\caches\transforms-2\files-2.1\ce1635782ed616d72db5bb7f69df3596\core-1.1.0\res\values\values.xml:142:5-173:25: AAPT: error: resource android:attr/fontVariationSettings not
found.
[   +1 ms]      C:\Users\kumar.gradle\caches\transforms-2\files-2.1\ce1635782ed616d72db5bb7f69df3596\core-1.1.0\res\values\values.xml:142:5-173:25: AAPT: error: resource android:attr/ttcIndex not found.
[ +201 ms] * Try:
[   +1 ms] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[        ] * Get more help at https://help.gradle.org
[        ] BUILD FAILED in 15m 10s
[        ] Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
[        ] Use '--warning-mode all' to show the individual deprecation warnings.
[        ] See https://docs.gradle.org/6.1.1/userguide/command_line_interface.html#sec:command_line_warnings
[ +184 ms] 302 actionable tasks: 280 executed, 22 up-to-date
[+12329 ms] Running Gradle task 'assembleRelease'... (completed in 923.9s, longer than expected)
[   +3 ms] The built failed likely due to AndroidX incompatibilities in a plugin. The tool is about to try using Jetfier to solve the incompatibility.
[ +473 ms] Building plugin clipboard_manager...
[ +721 ms] Running Gradle task 'assembleAarRelease'...
[   +7 ms] set android.enableR8=true in gradle.properties
[+2180 ms] Using gradle from C:\flutter\.pub-cache\hosted\pub.dartlang.org\clipboard_manager-0.0.4\android\gradlew.bat.
[   +1 ms] C:\flutter\.pub-cache\hosted\pub.dartlang.org\clipboard_manager-0.0.4\android\gradlew.bat mode: 33279 rwxrwxrwx.
[        ] executing: [C:\flutter\.pub-cache\hosted\pub.dartlang.org\clipboard_manager-0.0.4\android/] C:\flutter\.pub-cache\hosted\pub.dartlang.org\clipboard_manager-0.0.4\android\gradlew.bat
-I=C:\flutter\packages\flutter_tools\gradle\aar_init_script.gradle -Pflutter-root=C:\flutter -Poutput-dir=C:\Users\kumar\Music\getsupplys\build\app -Pis-plugin=true -PbuildNumber=1.0 -Pverbose=true
-Ptarget-platform=android-arm,android-arm64,android-x64 assembleAarRelease
[+506575 ms] Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
WARNING: The option setting 'android.enableR8=true' is experimental and unsupported.
The current default is 'false'
Consider disabling R8 by removing 'android.enableR8=true' from your gradle.properties before publishing your app.
:assembleAarRelease UP-TO-DATE

And them due to the flutter_plugin_android_lifecycle package:

                  > Task :compileReleaseJavaWithJavac FAILED
                  17 actionable tasks: 17 executed

                  C:\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.8\android\src\main\java\io\flutter\embedding\engine\plugins\lifecycle\FlutterLifecycleAdapter.java:8:
                  error: package androidx.lifecycle does not exist
                  import androidx.lifecycle.Lifecycle;
                                           ^
                  C:\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.8\android\src\main\java\io\flutter\embedding\engine\plugins\lifecycle\FlutterLifecycleAdapter.java:22:
                  error: cannot find symbol
                    public static Lifecycle getActivityLifecycle(
                                  ^
                    symbol:   class Lifecycle
                    location: class FlutterLifecycleAdapter
                  2 errors

                  FAILURE: Build failed with an exception.

                  * What went wrong:
                  Execution failed for task ':compileReleaseJavaWithJavac'.
                  > Compilation failed; see the compiler error output for details.

                  * Try:
                  Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

                  * Get more help at https://help.gradle.org

                  BUILD FAILED in 1m 54s

[ +629 ms] Exception: The plugin flutter_plugin_android_lifecycle could not be built due to the issue above.
[ +196 ms] "flutter run" took 18,16,757ms.

Leaving this open because from the logs looks like the issues was caused by the flutter_plugin_android_lifecycle plugin.
@AdiKK17 Please try flutter clean before flutter run --release to see if it works for you.

Flutter clean didn't work and neither did flutter pub cache repair.

I was using a clipboard_manager 0.0.4 plugin.
Removing this plugin resolved the issue.

I was using a clipboard_manager 0.0.4 plugin.
Removing this plugin resolved the issue.

 Thank you!

I also encountered this problem, how to solve it？

@zwz1192511822 try removing the clipboard manager plugin


running slow at CHECKPOINT 4, Simulate Read Part

Hi aquaskyline,
When I run a small haplotype fasta for test LRSIM, the programme always stuck for a lot of time at Fri Sep  8 14:08:37 2017: 100000 reads remaining in CHECKPOINT 4, Simulate Read Part.
Fri Sep  8 14:07:55 2017: Simulate reads start
Fri Sep  8 14:07:55 2017: Load barcodes start
Fri Sep  8 14:07:59 2017: Load barcodes end
Fri Sep  8 14:07:59 2017: readPairsPerMolecule: 35
Fri Sep  8 14:07:59 2017: Simulate reads begin on haplotype 0. Total 1
Fri Sep  8 14:07:59 2017: Simulating on haplotype: 0
Fri Sep  8 14:07:59 2017: Load read positions haplotype 0
Fri Sep  8 14:08:02 2017: 0 reads failed being loaded.
Fri Sep  8 14:08:02 2017: Exporting test.0.fp
Fri Sep  8 14:08:02 2017: Exported test.0.fp
Fri Sep  8 14:08:02 2017: readsCountDown: 562554
Fri Sep  8 14:08:07 2017: 500000 reads remaining
Fri Sep  8 14:08:14 2017: 400000 reads remaining
Fri Sep  8 14:08:22 2017: 300000 reads remaining
Fri Sep  8 14:08:30 2017: 200000 reads remaining
Fri Sep  8 14:08:37 2017: 100000 reads remaining

And when I stop the programme with Ctrl-C, and rerun the script, the remaining 100000 reads can processed very quickly.
So, why when 100000 reads remaining, the process time suddenly slow? And, why restart can make the progress faster?
Is it okay to stop and restart the process for a quicker running time? Any effect on simulated result?
Thanks a lot.
Lindsay

The initial run log:
Fri Sep  8 14:19:24 2017: Simulate reads start
Fri Sep  8 14:19:24 2017: Load barcodes start
Fri Sep  8 14:19:28 2017: Load barcodes end
Fri Sep  8 14:19:28 2017: readPairsPerMolecule: 35
Fri Sep  8 14:19:28 2017: Simulate reads begin on haplotype 0. Total 1
Fri Sep  8 14:19:28 2017: Simulating on haplotype: 0
Fri Sep  8 14:19:28 2017: Load read positions haplotype 0
Fri Sep  8 14:19:33 2017: 0 reads failed being loaded.
Fri Sep  8 14:19:33 2017: Exporting test.0.fp
Fri Sep  8 14:19:33 2017: Exported test.0.fp
Fri Sep  8 14:19:33 2017: readsCountDown: 937208
Fri Sep  8 14:19:34 2017: 900000 reads remaining
Fri Sep  8 14:19:36 2017: 800000 reads remaining
Fri Sep  8 14:19:38 2017: 700000 reads remaining
Fri Sep  8 14:19:41 2017: 600000 reads remaining
Fri Sep  8 14:19:43 2017: 500000 reads remaining
Fri Sep  8 14:19:45 2017: 400000 reads remaining
Fri Sep  8 14:19:48 2017: 300000 reads remaining
Fri Sep  8 14:19:52 2017: 200000 reads remaining
Fri Sep  8 14:20:10 2017: 100000 reads remaining
^CTraceback (most recent call last):
  File "../simulate.py", line 96, in <module>
    run_LRSIM(hap_fasta, prefix, args)
  File "../simulate.py", line 67, in run_LRSIM
    subprocess.call(cmd, shell=True)
  File "/disk2/workspace/chenlingxi/workspace/Bio_Projects/10X_Pipeline/anaconda2-4.4.0/lib/python2.7/subprocess.py", line 168, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/disk2/workspace/chenlingxi/workspace/Bio_Projects/10X_Pipeline/anaconda2-4.4.0/lib/python2.7/subprocess.py", line 1073, in wait
    pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
  File "/disk2/workspace/chenlingxi/workspace/Bio_Projects/10X_Pipeline/anaconda2-4.4.0/lib/python2.7/subprocess.py", line 121, in _eintr_retry_call
    return func(*args)
KeyboardInterrupt

The rerun log:
Fri Sep  8 14:21:35 2017: Simulate reads start
Fri Sep  8 14:21:35 2017: Load barcodes start
Fri Sep  8 14:21:38 2017: Load barcodes end
Fri Sep  8 14:21:38 2017: readPairsPerMolecule: 35
Fri Sep  8 14:21:38 2017: Simulate reads begin on haplotype 0. Total 1
Fri Sep  8 14:21:38 2017: Simulating on haplotype: 0
Fri Sep  8 14:21:38 2017: Load read positions haplotype 0
Fri Sep  8 14:21:38 2017: Importing test.0.fp
Fri Sep  8 14:21:38 2017: Imported test.0.fp
Fri Sep  8 14:21:38 2017: readsCountDown: 484219
Fri Sep  8 14:21:40 2017: 400000 reads remaining
Fri Sep  8 14:21:43 2017: 300000 reads remaining
Fri Sep  8 14:21:45 2017: 200000 reads remaining
Fri Sep  8 14:21:48 2017: 100000 reads remaining
Fri Sep  8 14:21:50 2017: 0 reads remaining

I noticed that readsCountDown is changed from 937208 to 484219. So I am confused is it okay to stop and restart the script without any temp file removed.

LRSIM will redo the whole step 4 all over again. So if without any parameter change, the read countdown will still be 937208


wrong

Hi @budevor,
You seem to have changed your mind about this issue. Do you want me to delete it?
Kindly,
David

Hi @budevor,
You seem to have changed your mind about this issue. Do you want me to delete it?
Kindly,
David


Add io.MeasureDuration

When we want to know the duration of execution of a certain IO.

Fixed in #49


Keep buffer of JdbcWriter after connection loss

Hi, currently JDBCWriter will lose logs if a connection drops or before a connection is established.
Can a replay buffer be added to deal with these situations? i.e. check connection and reconnect if required, but do not "lose" these entries. Instead add it to a queue and write them again when connect is available.

Perhaps this could be done via the existing writing thread functionality by adding persistence to it? That way persistence can be enjoyed by any writer.

There's a slight difference. If persistence happens across the board - where does this go? In a file or JDBC? Which becomes a circular problem. A global buffer would be good though - even for file so we can log before it opens.
I think slf4j does something similar with a substitute logger that gets initialized at the start and then swaps over once the real logger initializes.

can i try this?

A pull request is welcome!

Could be solved easily inside of JdbcWriter.java


ScottPlot5 Avalonia control is very slow on Linux

Question: ScottPlot5 skiasharp is terribly slow on Linux (Debian 12 (linux-x64), i3-10105, Intel UHD Graphics 630).
ScottPlot.Avalonia Version: 5.0.21
SkiaSharp.NativeAssets.Linux.NoDependencies Version: 2.88.7
Avalonia Version: 11.0.6
Code Sample:
<ScottPlot:AvaPlot Name="avaPlot1"/>

        avaPlot1.Plot.Title("UDP data graf");

        avaPlot1.Plot.XLabel("Time [s]");
        avaPlot1.Plot.ShowLegend();

        // create a timer to update the GUI
        _renderTimer = new DispatcherTimer();
        _renderTimer.Interval = TimeSpan.FromMilliseconds(20);
        _renderTimer.Tick += Render;
        _renderTimer.Start();

void Render(object sender, EventArgs e) {
avaPlot1.Refresh();
}

When I use ScottPlot4 or ScottPlot5 on Windows then the UI page with the Scottplot plot performance is smooth and fast. The Scottplot5 is even faster than Scottplot4 on Windows. When I use the same on Linux (same machine) then the application is terribly slow, regardless the refreshing render time period. Scottplot4 performance is satisfactory on Linux.
The rendering time (FPS) get by dobble-click in graph is more than 100 times worse on Linux.

I am using dotnet 6.0.
Build command: dotnet publish -r linux-x64 -c Debug -p:publishsinglefile=true --self-contained true

The following packages libfreetype6, libfontconfig1 and fontconfig have been installed.
I am curious whether the Scottplot5 is using the GPU acceleration or what I am doing wrong.
Thank you for support.

Hello,
@krabicka04, I am experiencing the same behavior, rendering speed of 4 FPS (~300ms) on Debian. Have you solved this or managed to improve the performance?
BR

Hi @krabicka04 and @pkstrsk, thanks for reporting this issue!
I'll leave this issue open for a while longer to encourage feedback, but since I don't run Linux on a desktop it's hard for me to evaluate this issue or work toward a fix. I can say that the Avalonia plot does not use OpenGL, so it's unlikely a  GPU issue.
This is the section of code that handles rendering in the Avalonia control. Maybe looking closer at this area can help identify where the slowdown is. Perhaps it's a SkiaSharp issue, or perhaps it's an async issue that can be fixed with a small code change. Closer inspection and benchmarking of these methods may offer a lot of insights
https://github.com/ScottPlot/ScottPlot/blob/ad66085d2086fbe3c744f5cb43cd04620517830d/src/ScottPlot5/ScottPlot5 Controls/ScottPlot.Avalonia/AvaPlot.cs#L35-L75

If it helps, here's an official Avalonia SkiaSharp code demo
https://github.com/AvaloniaUI/Avalonia/blob/master/samples/RenderDemo/Pages/CustomSkiaPage.cs

I installed version 5.0.18 and the graphics are displayed smoothly and without freezes, but when I install version 5.0.19 the graphics start to freeze a lot.

I am having the same issue and ran some testing.

RHEL 8.8
Avalonia version 11.0.7

With my application, downgrading to 5.0.18, the application is running at around 8% of a single core.  When upgrading > 5.0.18, the same exact application is maxing out a single core which is causing the plotting to essentially freeze.
render speeds using same data stream for a signalXY

5.0.18 ~1 ms
5.0.21 ~300 ms

Almost seems like there is an infinite loop or some thread running without a sleep/wait in a render thread

I took version 5.0.19 and replaced Label.cs from 5.0.18. The performance has become normal. At 5.0.19, you no longer set value of cache variable CachedTypeface, it is always null.

@zii-dmg Amazing, I just tested it on a Raspberry Pi 5 and I get min 40FPS in rendering a large set of data (4-5MB).
This is all I had to add in Label.cs to make it work:
`private SKTypeface? CachedTypeface = null;
private SKTypeface Typeface
{
get
{
if (CachedTypeface is null)
{
CachedTypeface = Fonts.GetTypeface(FontName, Bold, Italic);
}
return CachedTypeface;
}
}`

As I understand in merged #3841 font cache already was reworked and fixed.

Oh, I missed that then. Great it's fixed now.

Fixed in 5.0.35 by #3841

Are you guys seeing better performance on Linux?
ScottPlot: v5.0.39
In my case, I see:
In Linux Debian (i7 CPU) I see fonts render differently and a render frame rate of (1 FPS)

In Windows 10 (116 FPS)

I have found the issue. It is related to Axes Label.FontName.
Here is a fork where I created an Avalonia demo I could publish easily on Linux.
These 2 lines are the issue:
https://github.com/ScottPlot/ScottPlot/compare/main...jpgarza93:jpScottPlot:avalonia-demo#:~:text=plot.Axes.Bottom.Label.,Label.FontName %3D "Consolas"%3B
Works fine on Windows but not on Linux

The reason for this behavior is generally clear.

The "Consolas" font is not native to Linux.
SystemFontResolver tries to find it in the system and does not find it (lines 84-92).
Then an default typeface is created (line 94), but (and this is the most important thing) it is not cached. That is, the default font is created every time we need to draw a text. Hence the loss in performance.

As for Windows, the "Consolas" font is native there and is perfectly found by SystemFontResolver and cached.
https://github.com/ScottPlot/ScottPlot/blob/743c9427e63692d31920cc424a0e62b12d6eec4a/src/ScottPlot5/ScottPlot5/Fonts.cs#L74-L95

I agree the code is clear, but the potential issue of the FontName 'not being found' isn't immediately obvious from the API. This is a major oversight since it's not documented in the FontName description.
Why do we need to recreate it every time it's not found? Wouldn't it be more efficient to cache a default font when an instance of a missing FontName occurs?

Why do we need to recreate it every time it's not found?

It just so happened 🤷😊

Wouldn't it be more efficient to cache the default FontName when an instance of a missing FontName occurs?

PR #4250 should just fix this situation.

@kebox7 You're the best. Thanks!


Make navigation-bar responsive

Currently the text gets cramped at the medium resolutions which should be changed.
If the container is too small it is okay to change the layout of the buttons as long as the text is always fully visible.

@FabianAronsson  Can you put a pic of this issue?

I have made a mistake. I was on the wrong branch when reviewing #175. It works as intended 💯


Feat: Provide support for multiple configure workflows

At present, Promise writers can only write a single configure workflow for their Promise or Resource Request. The workflows.configure  key already takes a list of Pipelines to execute but at present, Kratix only selects the first one and executes it.
Expectation: The Pipelines run in the order they are specified
Given a Promise or Resource Request has the following specification:
workflows:
    resource/promise:
      configure:
      - apiVersion: platform.kratix.io/v1alpha1
        kind: Pipeline
        metadata:
          name: configure-a
          namespace: default
        spec:
          containers:
          - image: ghcr.io/syntasso/kratix-marketplace/a-configure-pipeline:v0.1.0
            name: configure-a-pipeline
      - apiVersion: platform.kratix.io/v1alpha1
        kind: Pipeline
        metadata:
          name: configure-b
          namespace: default
        spec:
          containers:
          - image: ghcr.io/syntasso/kratix-marketplace/b-configure-pipeline:v0.1.0
            name: configure-b-pipeline

When the Configure Workflow runs, the configure-a Pipeline will run and upon it's completion (as indicated by the status), the configure-b Pipeline will run.
Expectation: The Pipelines infer completion from the Pipeline status
Given the above Configure Workflow
When configure-a runs, configure-b will identify that it has completed via the Pipeline status

Once finishd lets look into replace all references to kratix-promise-id to kratix.io/promise-name

We are changing the behaviour so that only scheduling specified in the promise.yaml is applied to both the promise and resource requests. Dynamic scheduling within the promise configure workflow is not also passed onto the resource configure workflow.

main branch is multiple-workflows, which ATM just contains the nice commit for https://github.com/syntasso/kratix/issues/92. There is another WIP branch based from this branch with a dirty commit history that contains the next steps of implementing multiple workflows https://github.com/syntasso/kratix/tree/multiple-workflows-for-reals

WIP Task:

Move commented out tests from dyanmic/promise_tests to the manager tests
refactor all the things to have sensible names
backfil tests for the new manager
manager today doesnt handle multiple pipelines well- it could accidentally run two jobs in parallels // Create request
 // A starts
 // A finished
 // B starts
 // Requests gets updated
 // A-new starts
 // B and A-new are now both in parallel?

Context dump for Monday...
Where we stand today

We no longer pass Promise deps into the Promise Configure workflow, so #92 is done - it lives on the multiple-workflows branch and is not yet merged to dev

This also changes the way we manage Works: we now retrieve them via labels, rather than a concatenated name
Also no longer pass through the dynamic scheduling from Promise Configure workflow to Resources (no longer have the Work saved in the dynamic Controller)

We're working on the actual multi-pipeline implementation on multiple-workflows-for-reals - this is based off multiple-workflows

We have a for-loop implementation in workflow.ReconcileConfigure which works in the simple scenario but may not work with updates etc. (see the list below)
We intend to squash and merge this branch into multiple-workflows so we have two nice commits, which can then be merged into dev

TODO

[ ] Consolidate deletion of all Promise k8s resources within the Promise Controller into a single finalizer (i.e. Jobs, ServiceAccounts, ClusterRoles, ClusterRoleBindings, ConfigMaps, Works) - everything with a matching kratix.io/promise-name label
[ ] Potentially consolidate deletion of all Resource Request resources within the dynamic Controller into a single finalizer (check if there's a similar pattern there)
[ ] Handle the case where a RR is updated whilst Pipelines are running:

Request created
Pipeline 1 starts
Pipeline 1 finishes
Pipeline 2 starts
Request updated
Pipeline 1 (new) should not start until Pipeline 2 finishes from the first run (and if there was a Pipeline 3, do not run this at all!)

[ ] Backfill workflows package tests:

[ ] Existing functionality
[ ] New functionality where multiple Pipelines are handled (e.g. searching for all Jobs with matching labels)

[ ] Move label-related logic when finding resources (i.e. knowledge of label names) into the workflows package - either via a GetLabelsForObject, or keep labels as an implementation detail and have e.g. DeleteObjectResources in the package instead
[ ] (breaking change) replace all references to kratix-promise-id to kratix.io/promise-name (potentially look at any other labels which don't start with kratix.io and rename those too!)
[ ] Check if there are any other breaking changes to bundle in, so our customers get them all at once!

Notes:

[ ] make pipeline name immutable (more details to come)

Current state of things:
Test Cases:

Promise Workflow

[ ] single workflow to configure and delete

[ ] workflow is executed at installation
[ ] workflow is executed at delete

[ ] multiple configure workflow

[ ] workflows are executed sequentially
[ ] all files produced are stored in the state store

multiple delete workflow

[ ] workflows are executed sequentially

updates

[ ] from 1 workflow to 2 configure workflows

[ ] workflows are executed sequentially
[ ] all files produced are stored in the state store

[ ] from 2 workflows to 1

[ ] single workflow is executed
[ ] all files produced are store in the state store
[ ] any extra files are deleted

[ ] renaming workflows: to be done as part of #98

[ ] single workflow is executed
[ ] all files produced are store in the state store
[ ] any extra files are deleted

Resource Workflow

TBD

Resources

configure

single workflow to configure and delete ✅

workflow is executed at installation ✅
workflow is executed at delete ❌

multiple configure workflow ✅

workflows are executed sequentially ✅
all files produced are stored in the state store ✅

updates

Resource updates

Re-executes all the pipelines, update the files on the state store

Promise updates

from N to N+1 workflows

workflows are executed sequentially
all files produced are stored in the state store

from N to N-1 workflows

N workflows are executed
all files produced are store in the state store
any extra files are deleted

manual reconciliation

triggers all the pipelines

Docs PR here: https://github.com/syntasso/kratix-docs/pull/47


Another implementation of utilizing pagination headers

I've attempted to implement #51 in a different way of #85. Instead of returning all response as an array, my implementation returns a wrapper class of array response; this has the accessors of first/last/next/previous pages. .auto_pagination method enables to iterate all items.
Examples:
# An array response
@projects = Gitlab.projects(per_page: 5)
# Checks existence of the next page
@projects.has_next_page
# Retrieves the next page
@projects.next_page
# Iterates all projects
@projects.auto_paginate do |project|
  # do something
end
# Retrieves all projects as an array
@projects.auto_paginate

I like this approach.

Thank you.


equals and hashCode methods ignore Map fields

If class contains fields of type java.util.Map, they aren't being included in equals and hashCode methods. They look like this:
@Override
public boolean equals(Object object) {
	if (object == this) {
		return true;
	}
	if (object == null || getClass() != object.getClass()) {
		return false;
	}
	return super.equals(object);
}

@Override
public int hashCode() {
	return java.util.Objects.hash();
}

Is this a bug or did I miss something in settings of the plugin?

Which version do you use?  Do you have an yaml-snippet for the model to reproduce it?

I'm using the version 3.4.4, but I also tried testing it on latest version 4.0.2.
Here is the minified yml you can check:
openapi: 3.0.3
info:
  title: Dummy api
  description: Dummy api
  version: 0.0.1
tags:
  - name: service
paths:
  /demo:
    get:
      description: Dummy
      responses:
        '200':
          description: The service scopes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceScopes'
components:
  schemas:
    Credential:
      type: object
      description: Dummy credential
      properties:
        dummy:
          type: string
          description: Dummy
    ServiceScopes:
      type: object
      description: Dummy service scopes
      additionalProperties:
        $ref: '#/components/schemas/ServiceScopesEntry'
    ServiceScopesEntry:
      type: array
      minItems: 1
      items:
        $ref: '#/components/schemas/Credential'

And the missing methods are in the ServiceScopes model

Thx, i'll check next week.

@beknazaresenbek please check the mentioned pr and give feedback

Released as 3.4.5


Tag 0.2.2

Description
Reference: https://github.com/kubewarden/ui/issues/237 | https://github.com/kubewarden/ui/issues/244
This adds the new questions scaffolding for sequence[ type
Also added questions for githubActions, keylessPrefix, and certificates signature types.

@jordojordo  Should we wait for a new version of the kubewarden UI to be released before merging these changes?

@flavio I think it would be a good idea to merge them regardless. With the current questions the creation form is sending the incorrect type and will cause the policy to fail, but with these changes the questions simply not appear for older versions of the UI. Either way the policy will not start, but at least the user can edit the yaml of the settings manually without being lead astray by the UI.


chore: bump pipeline catalog

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/test gitea

/test gitlab

/test ghe

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gitea
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gitea

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@rawlingsj: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gitea
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gitea

gsm-kapp
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gsm-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/retest

@rawlingsj: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gsm-kapp
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gsm-kapp

gitea
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gitea

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@rawlingsj: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gitea
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gitea

gsm-kapp
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gsm-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@rawlingsj: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gitea
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gitea

gsm-kapp
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gsm-kapp

gitlab
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gitlab

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/test gitlab

@rawlingsj: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gitea
37ee966e3c0a08b81e9c29af7bbcf6a27b6831f7
link
/test gitea

gsm-kapp
65f4decf1f9bc01e669be772d9055be79a9a24cc
link
/test gsm-kapp

gitlab
65f4decf1f9bc01e669be772d9055be79a9a24cc
link
/test gitlab

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/override gitlab

@rawlingsj: Overrode contexts on behalf of rawlingsj: gitlab

In response to this:

/override gitlab

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository.

@rawlingsj: Overrode contexts on behalf of rawlingsj: gsm-kapp

In response to this:

/override gsm-kapp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository.

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rawlingsj
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [rawlingsj]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


luigi.run() returns False on success

luigi.run() returns False when all tasks succeed with retries. Here's what we see in the log
2018-11-13 03:19:26,569 luigi-interface INFO
===== Luigi Execution Summary =====
Scheduled 35 tasks of which:

35 ran successfully:
...
This progress looks :) because there were failed tasks but they all succeeded in a retry

===== Luigi Execution Summary =====
However luigi.run() returns False.
We are using luigi==2.7.9.

This is the current behavior.
I've found this a very minor pain point. You can trace back from that method and see how the value is provided. (I did a couple months ago).
Feel free to submit a PR to resolve this [debatably] erroneous behavior in success response. :)

This isn't something I would like to change. Feel free to update docs though it the this behaviour isn't clear.

I'm afraid we'll break it for someone if we change the behaviour. Currently the luigi docs recommend luigi.build() or running it from the command line by the way.
I'd rather do a somewhat bigger effort and provide a new programmatic runner function that returns something like a LuigiRunResult that is more future proof than returning a bool.
As for your usage, wouldn't it be possible to cron using the luigi cmdline tool? It actually has some sort of error code reporting.

@Tarrasch How would luigi.build() fix the issue for us? It seems to return the same success value.  We are doing some other processing around the luigi call (metrics, etc.), so we call it from a script. Can you please point us to documentation on the luigi cmdline tool and error code reporting?

Sure, please see these docs:

https://luigi.readthedocs.io/en/stable/running_luigi.html
https://luigi.readthedocs.io/en/stable/configuration.html#retcode

Please let me know if this helps!

@Tarrasch Thank you! Can you please just confirm that even though we should use luigi.build(), it wouldn't fix the issue in question for us, since it would return the same value as luigi.run()?

Yes you're right. We're not exposing anything useful from  build/run. Perhaps one can implement something like I mentioned above (https://github.com/spotify/luigi/issues/2577#issuecomment-439631566)

Closing due to #2630


runners are not scaling up as per job count

Describe the bug
i am trigger 100 workflow job
i can see 100 runners created.
after some time 50 job will be pending to run
but that moment i can only see 5 to 10 runners avaialbe. and the workflow run will slow down and use only available runners.
am i missing something in the configuration.
NAME                    NAMESPACE               REVISION        UPDATED                                 STATUS          CHART                                   APP VERSION
github-actions-runner   actions-runner-system   5               2022-03-17 18:18:41.462305267 +0530 IST deployed        actions-runner-controller-0.17.0        0.22.0

apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: dot-runner
spec:
  template:
    spec:
      enterprise: xxxxx
      labels:
      - dot-enterprise-runner
      dockerEnabled: false
      dockerdWithinRunnerContainer: false
      image: rxxxxxxxx/actions-runner
      dockerEnabled: false
      securityContext:
        runAsUser: 1000
      env:
      - name: RUNNER_FEATURE_FLAG_EPHEMERAL
        value: "true"

apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
   name: ent-runner-auto-scaller
spec:
  scaleDownDelaySecondsAfterScaleOut: 5
  scaleTargetRef:
    name: dot-runner
  minReplicas: 1
  maxReplicas: 300
  scaleUpTriggers:
  - githubEvent: {}
    duration: "30m"

Upgrade to v0.22.0, there were signficant changes to how scaling works in the latest release

Hi @toast-gear  we have already upgraded to v0.22.0
NAME                    NAMESPACE               REVISION        UPDATED                                 STATUS          CHART                                   APP VERSION
github-actions-runner   actions-runner-system   5               2022-03-17 18:18:41.462305267 +0530 IST deployed        actions-runner-controller-0.17.0        0.22.0

is there any change in runnerdeployment or HRA to tune as per the latest version.

@roshvin Is your scaleUpTriggers[].duration enough for your use-case?

Hi @mumoshu  , thanks for your quick replay . could you pls suggest a number , i couldn't find much on the documentation.
This runner is at our enterprise level and we may get lots of workflow jobs .

@roshvin What's the longest duration between (1)the time the first job is enqueued and (2)the time the last job completes running? That should be the safest scaleTrigger duration.

Hi @mumoshu  , it will be like 2 Hrs when i test in INT  . but  in PROD since its enterprise level there is no last job ,  jobs will be keep on coming.
we have 20K users and 50K repos .
what would be your suggestion .

jobs will be keep on coming.

In my understanding, that's okay and unrelated to how long it should be.
Just set the longest duration between (1) and (2) for the longest workflow job that are intended to run on your runners tied to your HRA.

Hi @mumoshu  , thanks for the info . could you suggest you are referring to below value.
scaleUpTriggers:
 - githubEvent: {}
   duration: "30m"

also could you let us know  what below parameter do.
 scaleDownDelaySecondsAfterScaleOut: 5

i was under impression that , if i have 50 jobs pending , there will be 50 runner at the moment.

It should, but sadly in case of an organizational runner there is no endpoint on githubs side as to how many jobs are pending(outstanding) on an organizational level to base the scaling on.
So it tries to scalup on webhook and scaledown once complete on same webhook.
It kind of works but it's far from perfect.
Your testing scenario is probably the arch enemy of current webhook scaling method and the underlying race conditions.
I'd be curious how your results look like if you did a random 1-3 minute jobs instead of 1s hello words.

@genisd thanks for you replay . i will try with 1 - 3 min job.
but our runner is not at Org level , Our runners are at Enterprise level and shared with Org

I do face the same issue, that in rare occasions one ends up with unhandled jobs and no workers.
That starvation issue right now is the biggest obstacle that we are having ourselves as well with Organization workers + webhook driven scaling.
I would prefer to boot worker nodes based off webhooks, but NOT remove them from the webhooks and instead do that time based. That way I should not be facing any starvation issues right now ( I would think ).

@roshvin Try a longer scaleUpTrigger duration. 30m means that the added desired replica gets removed 30 minutes after it received the workflow_job webhook event to queue it. It's not 30 minutes after the job started running so it needs to be very long. If your cluster is overloaded and it takes 3h in total to complete all the jobs, the scaleuptrigger duration should be longer than 3h.

@genisd @roshvin Can we close this in favor of #1321?

as far as i'm concerned yes.
#1321 is definitely the cause of this issue


SharePoint access token lifetime change

I'm confused about the token lifetime configuration: in the documentation I read that I can change the access token lifetime but this does not affect the SharePoint and One Drive and that for this I must use the Conditional Access policies.
I registered an app in my MS Entra instance, and applied a policy to it to extend the access token's duration to 24 hours. The policy works well if I ask a token with a custom scope (scope specific for my app) but it does not works if I ask a token for a SharePoint resource (that has always 1h expiration time)
My question is: I use the token to interact with sharepoint API on behalf of user but I cant find a way (alternative to the refresh token usage), to maintain live the SharePoint token (I can't find any conditional access policy taht satify my requirement).
Can you clarify to me how can I extend the SharePoint access token lifetime?
Thanks
Samuele

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

ID: 91a7cf26-4ebf-b9b5-099d-c43bfa33beb4
Version Independent ID: 8566e04b-ee06-cc27-ab07-3e9fef576d6c
Content: Configurable token lifetimes - Microsoft Entra
Content Source: articles/active-directory/develop/configurable-token-lifetimes.md
Service: active-directory
Sub-service: develop
GitHub Login: @rwike77
Microsoft Alias: ryanwi

@SamueleFurnari
Thanks for your feedback! We will investigate and update as appropriate.

@SamueleFurnari
Thank you for your feedback!
Since this issue isn't directly related to improving our docs, and to gain a better understanding of your issue, I'd recommend working closer with our support team via an Azure support request. Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
Teams Q&A forum for technical questions about the configuration and administration of Microsoft Teams on Windows.
Microsoft Teams Community forum
Thank you for your time and patience throughout this issue.

@YashikaTyagii
Thank you for the reply. I proceed with the SR.
Thank you again
Samuele


Support req.app and get and set methods on the request object.

Is your feature request related to a problem? Please describe.
I have test failures when following supported API methods in express.
Describe the solution you'd like
When setting a singleton to be available throughout the express application:
app.set('logger', console)
I should be able to request them from within a route using the following:
req.app.get('logger')
Describe alternatives you've considered
I've been able to mock req.app to contain an Express mock on individual routes but for test against the whole server where jest automatic mocks are used I receive runtime errors:
TypeError: Cannot read property 'get' of undefined

:tada: This issue has been resolved in version 1.10.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Rename history to xclim_history

Pull Request Checklist:

[x] This PR addresses an already opened issue (for bug fixes / features)

This PR is step forward for #368

[x] Tests for the changes have been added (for bug fixes / features)
[ ] Documentation has been added / updated (for bug fixes / features)
[x] HISTORY.rst has been updated (with summary of main changes)
[ ] bumpversion (minor / major / patch) has been called on this branch
[ ] Tags have been pushed (git push --tags)

What kind of change does this PR introduce?
Changes the history attribute that Indicators assign to their output to xclim_history.  Also removed the <No available history> placeholder strings, an empty string is used instead.

Does this PR introduce a breaking change?
Yes.

Other information:
Right now we are constructing this history string from all the history attributes of the input variables. Which doesn't make sense in regards to CF conventions and. from now on, is not coherent with our own attribute name. As long as #558 is not implemented, I don't see any solutions...

And then I learned about a new github markdown possibility, interesting. ""

Pull Request Test Coverage Report for Build 2335

7 of 7 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.09%) to 92.059%

Totals

Change from base Build 2333:
-0.09%

Covered Lines:
3165

Relevant Lines:
3438

💛  - Coveralls


Adding to the Context of RAM section (chapter 2): Semantic Interoperability, Linked Data

Section 2 of the RAM Context of the RAM explains how the reference architecture model adds to certain real-world problems. Adding the context of semantic interoperability and linked data would foster understanding.

Let's read section 2 and discuss it in the next meeting.


Understanding nodejs-yarn And Caching

Greetings,
First off, thank you for this buildpack. We're currently exploring deploys that can target both Heroku and a Docker platform and this seems like a good fit.
One area that we are having an issue with is image size. When running pack build, the resulting Docker image is gigabytes bigger than trying to build this directly with a Dockerfile. While exec'ing into the final image, we've discovered that /layers/heroku_nodejs-yarn/deps/cache contains the cached Nodejs modules from the yarn install which, for our app, is over 1.5 gigabytes in size. Most likely due to my limited understanding, I've tried to get around this by using the flag --publish along with --cache-image but the final app image still contains all the saved zip file data. Reading docs for the build process, it is not obvious if there's a workaround for this behavior. Is it possible to limit the heroku/nodejs-yarn:deps layer to the cache image? Or, if this isn't the right place to ask, do you have a recommendation where I should direct this question? Thank you for your time.

@colincasey Thank you for the detailed reply. One final question since this is fresh in your mind. I have found that if I perform a build and specify  --volume /path/to/cache:/layers/heroku_nodejs-yarn:rw, the image avoids storing the zipped modules and it starts as expected. Do you foresee any issues using this approach for the time being?


How to use coveralls to include not tested modules in the code coverage report?

So far I'm using coveralls to report the code coverage only from inside my "tests" folder, after the existing tests run. The problem with this is that not all modules have an associated unittest and thus are not reported by coveralls.
This is basically the script I'm using

https://github.com/nbro/ands/blob/master/scripts/travis.sh

in order to report the code coverage on Travis CI.
Is there a way to also include in the code coverage the modules which are still not tested? Because, so far, I've like 97% of code coverage, but this is of course misleading, since some modules are still not tested.

Short answer: coverage reports are generated with coverage.py, this tool simply interprets the results and sends them along to coveralls. You're going to need to have coverage.py report the uncovered files to get the results you're looking for.
As far as I know, coverage.py can only create coverage data for files that are discovered by your test framework. A couple options you might play around with:

Have your test framework import every files of your project, even if untested. From a quick look at your project, you may consider importing your algorithm files in the relevant __init__.py files and then having a test file which is simply import ands. No need to assert anything in your test, simply importing your library should let it find the right data. See this link for a bit more info (specifically: "What goes in __init__.py?). This is probably the Right Way™ to do this.
Add files to the generated .coverage file manually. This is... not a good way to do things, but might be an easy hack. The .coverage files generated from coverage.py is effectively a json blob to which you could append the 0% coverage files. Again, this is probably not the right way to do things, but I'm including it since it came to mind.


Add support for OIDC Identity Provider

Is your feature request related to a problem? Please describe.
None.
Describe the solution you'd like

Secure service-to-service authentication using the HashiCorp Vault OIDC Identity Provider.
Generate tokens using the OIDC Identity Provider.
Automatically renew the OIDC tokens before they expire.

Describe alternatives you've considered
None.
Additional context
https://developer.hashicorp.com/vault/docs/secrets/identity/oidc-provider

Requires spring-projects/spring-vault#759 to be solved first.

Requires spring-projects/spring-vault#759 to be solved first.

The linked issue has a comment saying that this issue is a duplicate of 689 which has been closed (JWT support has been implemented).
Is this ticket solvable now? If it is, would it be possible to get a rough estimation on when this is planned?

No not is not. I have little oversight over OIDC and what else belongs into this auth scheme as I'm not a user of OIDC. Therefore, if someone who is familiar with these would like to contribute, contributions would be highly appreciated.


Where Clause on Split List

Can we remove the Where from linting for split.list?  Or some other way to alert user to this limitation?
Get rid of the where: VENDOR != ""
You should have an empty list in those rows anyway, so merging them has no impact with or without the where.
It's a bit of an edge case due to the way we merge the rows that use where back to the original dataframe. We join, then coalesce between the values from the old and new column. In this case the empty list counts as false and it doesn't preserve the value. Not sure if there's a better way we can do that.

Duplicate of #337


(Working Method 2023)** Cash App Money Generatoror 2023 Updated New

Description
6 minute ago —Hello Dear Cash App Fans, I hope you are enjoying our daily articles. Cash App hack 2022 Free Money Generator code!! Free Money on CashApp download link is given in this post. Today I want to show you how to get a lot of free cash cash app using this hack. Cash app hack is an application that allows you to generate money for free in your cash app account. So you’re trying to find a legit Cash App free money code and I’m sure you’re looking for real money you can get instantly in 2022 right?
CLICK HERE TO GET FREE NOW!
CLICK HERE TO GET FREE NOW!
The newest cash app hack 2022 will allow you to generate unlimited cash app money. You guys looking for a cash-app money generator tool? However, there is one great way to get free money with an app, and it's called the Cash App Money Generator hack. Cash app money generator legit is the most secure and reliable app. All transactions are secure and linked to Lincoln Savings bank which is a well-known bank. Cash App Money Generator Legit - Cash App Jailbreak - Cash App UnlimitedCheck Link in VideoHi people, after a long crush from youtube.
Tag: free cash app money, $100 free cash app money, free cash app money legit, free cash app money instantly, how to get free cash app money,how to get free cash app money instantly. $100 free cash app money, free cash app money legit no verification
How to get free cash money instantly?
It's a reliable application that offers a free bonus and has a few features that help its users to generate free money. In this article we will tell you all the details of the Cash App~Money generator apk for mobile users that you should know before using this application. Also it will guide you to operate this app and we will give you some coupon codes to earn extra bonus. Cash App Free Money 1000 dollars on cash app app money apk can i cash app myself can you transfer money from chime to cashapp cash app cash rewards cash app instant transfer cash app reward cash me reward code cassapp does the 750 cash app work free cash generator free money using social security card go app cash how do u cash app someone how much money can i receive on cash app how to download cash app plus plus how to get money Cash App is a digital wallet similar to Venmo but with several additional features. It’s owned by Square, the payment platform that many small businesses use to complete debit card and credit card payments.
Once the registration is completed and you have linked your account, you can already receive and send money. Cash App~Money Generator Well, there are a lot of ways to get free money on a cash app. One of these ways is downloading and installing the Cash App ++ version, which offers you around $500 on the sign up. Another way of getting the free money on this app is using the referral codes.
We update referral codes regularly on our cash app plus plus article, so head over to that article if you want to check out the latest referral code. Cash AppMoney genaretor free If you have used all the methods mentioned above to get free money, then don’t worry because we always have more for you. We are providing the Cash App users with the Cash AppMoney Generator Apk which will help its users to generate money for free in a legit way. There are many tools and applications like this money generator but they Need human Verification. First just get the Cash app money-generating app from the below-downloading button. You should have to download the application to your Android phone simply. After that you should enable “unknown source” from your mobile phone settings. After downloading the apk file cash app for free you should install the app on your mobile device. Then open the free currency app on your android device.
Cash App is a financial services platform, not a bank. Banking services are provided by Cash’s Bank Partner(s). Brokerage Services provided by Cash App Investing, LLC, Member FINRA/SIPC, subsidiary of Block, Inc. Bitcoin services provided by Cash App.
You should now simply register with your email ID password and promotional code as you will receive a $ 10 bonus. Finally start using this application and earn money by doing simple works and tasks. If you want to download the currency app and download without confirmation from the download button below. Also follow the steps given above to install apk cash app money generator without human verification. Download App For Mobile Cash App ++ Download Final Words This app has become one of the latest online styles on the market recently. This step-by-step guide will help you know everything about it and how to help you earn real money online. Thanks for checking out my Cash App. I hope you found this article on how to fix cash app money generator without Apk is helpful.
You’ve done it. You’ve built up a little cushion in your bank account — $1,000! It feels good, right? Those days of checking your account balance in a panic are behind you. But, there are four moves you should make once your bank account gets past this magical number. $100 free cash app money
This money generator for the cash app is designed in a way that it will not need any human verification. One can get free money on a cash app without human verification by using this money generator app. Moreover, this app works for both android and ios. You just have to get it installed on your phone to start receiving $100 free Cash App Money.
React Native Version
new
Output of npx react-native info
new
Steps to reproduce
new
Snack, screenshot, or link to a repository
new

Click Here 👇👇👇

$100 free cash app money, free cash app money legit, free cash app money instantly, how to get free cash app money,how to get free cash app money instantly. $100 free cash app money, free cash app money legit no verification**

$100 free cash app money, free cash app money legit, free cash app money instantly, how to get free cash app money,how to get free cash app money instantly. $100 free cash app money, free cash app money legit no verification**

$100 free cash app money, free cash app money legit, free cash app money instantly, how to get free cash app money,how to get free cash app money instantly. $100 free cash app money, free cash app money legit no verification**

React Native Version
new
Output of npx react-native info
new
Steps to reproduce
new
Snack, screenshot, or link to a repository
new


Ensure /var/log/messages does not grow too big

Related: https://docs.ceph.com/en/latest/rados/troubleshooting/log-and-debug/#accelerating-log-rotation

Currently doesn't feel needed, may revisit in the future.