text:
fatal: unsafe repository ('/github/workspace' is owned by someone else)

Hi, I'm using the (modified version of) YAT Jekyll theme along with this jekyll-deploy-action. Everything works really well for several months, but several days ago, when I push to the GitHub repo, I occasionally receive run failures from GitHub Action.
Here's part of the GitHub Action log:
... (omitted)
* [Ok] Set up job
* [Ok] Build jeffreytse/jekyll-deploy-action@v0.3.1
* [Ok] Run actions/checkout@v2
* [Ok] Run actions/cache@v2
* [Err!] Run jeffreytse/jekyll-deploy-action@v0.3.1

... (omitted)
fatal: unsafe repository ('/github/workspace' is owned by someone else)
To add an exception for this directory, call:

	git config --global --add safe.directory /github/workspace
Fetching https://github.com/eventmachine/eventmachine.git
... (omitted)

I've tried several times, but this bug/error only occurs occasionally. Here are some key GitHub Action logs related to this problem:

First time the error starts to show up: https://github.com/MarkChenYutian/blog/actions/runs/2282365089
After I upgrade the github/workflow to the latest version of this repo, the action runs successfully: https://github.com/MarkChenYutian/blog/actions/runs/2284135154
However, on the next day, the error shows up again: https://github.com/MarkChenYutian/blog/actions/runs/2284245202

When this problem starts to show up, I didn't change anything about the github/workflow, any suggestions or possible reason of such error?
My GitHub Repo's address is here, if needed

Hi @MarkChenYutian
Thanks for your issue, this issue is due to the security fix from the Git security vulnerability
recently announced:
https://github.blog/2022-04-12-git-security-vulnerability-announced/.
Relevant GH issue: https://github.com/actions/checkout/issues/760
Thanks & Regards

Thanks for the quick-reply! I've read through the issue you linked in response but still can't figure out a way to resolve this problem. I've added the following steps in the job according to the discussion in the issue:
build_and_deploy:
    runs-on: ubuntu-latest
    steps:
      # ADDED TWO STEPS BELOW
      - name: bypass-security-err
        run: git config --global --add safe.directory /__w/MarkChenYutian/blog
      - name: bypass-security-err-2
        run: git config --global --add safe.directory /github/workspace

      - uses: actions/checkout@v2
      # Use GitHub Actions' cache to cache dependencies on servers
      - uses: actions/cache@v2
        with:
          path: vendor/bundle
          key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
          restore-keys: |
            ${{ runner.os }}-gems-
    ...(omitted)

but it didn't seem to work. Do you have any further suggestions ...?

Hi @MarkChenYutian
I have fixed this issue, you can try again with the latest version.
Thanks & Regards

Not working still... Perhaps because the workflow is still using v0.3.1 of jekyll-deploy-action instead of the latest version?

Hi @MarkChenYutian
Please use jekyll-deploy-action@master.
Thanks & Regards

There's still this fatal error:
fatal: unsafe repository ('/github/workspace/vendor/bundle/ruby/2.7.0/cache/bundler/git/eventmachine-e3d3e89487250965501abc7691f83311d8df32b1' is owned by someone else)

(with checkout@v3 and jekyll-deploy-action@master)
Here's the log: https://github.com/MarkChenYutian/blog/runs/6338487604?check_suite_focus=true

@MarkChenYutian Just did some changes, please rerun your action again and tell me the result.

Still failed: https://github.com/MarkChenYutian/blog/runs/6338543771?check_suite_focus=true

Hi @MarkChenYutian
You can rerun again, I have test, and it's successful: https://github.com/jeffreytse/blog/actions/runs/2288434185
Thanks & Regards

Hi @jeffreytse
It worked! Thanks so much for the quick response and all these follow-ups!
So many Thanks!

authors: MarkChenYutian jeffreytse

repo: jeffreytse/jekyll-deploy-action


text:
d^ deletes current character

General information

Basic examination

[x] I have read through the README page
[x] I have the latest version of zsh-vi-mode
[x] I have tested with another terminal program

Problem description
Deletion using d^ will include the character the cursor is under.
Reproduction steps

Insert some text into the shell prompt and move the cursor towards the middle
Enter normal mode and press d^

Expected behavior
d^ should not delete the character the cursor is under.

Hi @musjj
This issue has been settled down, please update to the latest version.
Thanks & Regards

Cool, it's working. It looks like you've also added the d0 chord, thanks for that!

source: gharchive/issue

authors: jeffreytse musjj

repo: jeffreytse/zsh-vi-mode

license: MIT

license_type: permissive

license_source: github-api


text:
[Question] About Throwable StackTrace

at Main#main
Is it possible to print a full stack trace here?
This may hide some useful information.

Normally, JkException is to mention user error (e.g. deleting a file that does not exist)
Jeka should not print an intimidating stacktrace when such error happens.
However I can display stacktrace on JkException but only when verrbose mode (-LV ) is activated.
Does it fit your need ?

yep, all I need is this.

Brand new version of Jeka is available with great overall improvement. Have a look here https://jeka.dev/

authors: NekoCaffeine djeang

repo: jeka-dev/jeka


text:
Getting following error while pushing a commit on GitHub. Any resolution?

If you are using jekyll-assets you need to disable Jekyll on Github Pages (this is really optional but it can be done with .nojekyll,) build the Jekyll site locally and push up _site/*.  Github pages does not include jekyll-assets and we've not tried to get it included yet because 2.0 is not finished.

@envygeeks so I do have to add .nojekyll file under root?

Yes, if you put it into your Jekyll root it should land in _site and be pushed up with _site

In this case, will I've to remove _site folder from my `.gitignore'? Just confirming.

The _site folder should be the repo.

Sorry. I'm new to this. Currently, my Jekyll site points to master and it was working nicely till I added jekyll-assets plug-in. So, you're saying I won't be using entire jekyll code/repo anymore, I need to just upload generated _site folder and that will be my master. Jekyll code won't go up. Is it?

Yes that's what must happen if you use jekyll-assets because Github does not allow variables.

Sorry, I mean plugins.

authors: envygeeks ermauliks

repo: jekyll-assets/jekyll-assets

license: mit

license_source: bigquery


text:
"Using and updating a value during the same computation" error

Hi 👋! Thank you for making this!
When using the decorator, I'm running into the same error described here: https://github.com/pzuraq/tracked-maps-and-sets/issues/14. It also proposes a possible solution.

What is your use case? The use case discussion in https://github.com/pzuraq/tracked-maps-and-sets/issues/14 seems seems to be default value. @localStorage decorator supports default values out of the box.

What is your use case? The use case discussion in https://github.com/pzuraq/tracked-maps-and-sets/issues/14 seems seems to be default value. @localStorage decorator supports default values out of the box.

I was just testing this out locally and using the decorator in a component which is rendered multiple times on the same page triggers the error.

I was just testing this out locally and using the decorator in a component which is rendered multiple times on the same page triggers the error.

authors: bertdeblock jelhan

repo: jelhan/ember-local-storage-decorator


text:
Accessibility: Don't force scrollbar-width: thin;

Why forcing the scrollbar width on all elements ?

This was added by https://github.com/jenil/chota/issues/56 and will be remove with https://github.com/jenil/chota/commit/5cce995446987afc6aecbe3bdba562f4c5738724

authors: gagarine jenil

repo: jenil/chota


text:
Automate QL pack updates

https://github.com/jenkins-infra/jenkins-security-scan/blob/9aa1a6e26f4f54527e47669fde3f12402f716e15/.github/workflows/jenkins-security-scan.yaml#L43 specifies the version of a QL pack with the Jenkins queries.
This should automatically be updated whenever there's a new release.

As per https://github.com/jenkins-infra/jenkins-security-scan/blob/9aa1a6e26f4f54527e47669fde3f12402f716e15/.github/dependabot.yml#L1-L6, it should be automatically updated by dependabot.
But it looks like it is executed once a month so it might explain why it takes time

@dduportal Are you sure that's covered by the github-actions ecosystem? This isn't about the action itself, but the version of a component the action downloads, provided in a string.

@dduportal Are you sure that's covered by the github-actions ecosystem? This isn't about the action itself, but the version of a component the action downloads, provided in a string.

I stand corrected, you are right: I've read too quickly the YAML manifest.
You can dismiss my comment

authors: daniel-beck dduportal

repo: jenkins-infra/jenkins-security-scan


text:
chore: bdd-spring-1575391406 to 0.0.1

chore: Promote bdd-spring-1575391406 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
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

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

source: gharchive/pull-request


text:
Delete application bdd-spring-1573155289 from this environment

The command jx delete application was run by  and it generated this Pull Request

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
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

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


text:
Delete application bdd-spring-1576208344 from this environment

The command jx delete application was run by  and it generated this Pull Request

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
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

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


text:
Fix indentation to create clusterrole for gcpreviews

Fixing https://github.com/jenkins-x/jx/issues/3430
Follow up of https://github.com/jenkins-x/jenkins-x-platform/pull/5012
There was an indentation issue that I missed during my testing and that prevents the clusterrole to be created.
Sorry for that.

/approve

authors: garethjevans romainverduci

repo: jenkins-x/jenkins-x-platform


text:
feat: modified acr helper for tekton registry auth

missed a cred-helper for Tekton

Hi @chrismellard. Thanks for your PR.
I'm waiting for a jenkins-x member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

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.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign ccojocar
You can assign the PR to them by writing /assign @ccojocar 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

authors: chrismellard jenkins-x-bot-test

repo: jenkins-x/jxr-versions


text:
skip github status checks through parameters in Jenkinsfile

Hello,
Thanks for the work on this plugin!
I wonder if it is possible to use configs/parameters in Jenkinsfile to skip github status publish. The use case is that we want to skip certain jobs' status reports but not every jobs. Seems Skip publishing status checks can be only applied on org configs.

That seems a bit difficult because BuildStatusChecksPublisher.JobScheduledListener.onEnterWaiting looks like it can publish the QUEUED status before Jenkinsfile has even been parsed. It would be possible to set a job property on the first run though, and let it take effect on subsequent runs.

repo: jenkinsci/github-checks-plugin


text:
rtUpload appends Git environment variables to upload URL and causes HTTP 404 error

Describe the bug
When uploading artefacts from a build following a git checkout, the JFrog plugin (using "rtUpload") appends the values of Jenkin's GIT_* environment variables to the URL causing an HTTP 404 error.
Current behavior
The current behaviour is a systematic HTTP 404 (Not Found) error.
The only workaround seems to be to unset all GIT_* environment variables:
environment {     GIT_BRANCH = ""     GIT_COMMIT = ""     GIT_PREVIOUS_COMMIT = ""     GIT_PREVIOUS_SUCCESSFUL_COMMIT = ""     GIT_URL = "" }
Reproduction steps
No response
Expected behavior
No response
JFrog plugin version
1.5.0
JFrog CLI version
N/A
Operating system type and version
CentOS 7.9
JFrog Artifactory version
6.23.42 rev 62342900
JFrog Xray version
No response

Hello @oDn,
Appreciate you bringing up this concern.
The JFrog plugin exposes just one API, which is jf. Here's an example:
jf 'rt u target/ my-repo/'

The rtUpload is a command in the legacy Artifactory plugin.
Could you please share more details about the issue?

Hello @yahavi,
Thank you for the quick response.
I was indeed using the legacy plugin for which the workaround posted above seems to function properly.
However, using jf brings the problem back as can be seen below:
jf "rt u artefact*.zip ${env.ARTI_REPOSITORY}/*****/ --target-props=${ARTI_PROPERTIES} --fail-no-op"

14:13:07 [Debug] JFrog CLI version: 2.52.10
14:13:07 [Debug] OS/Arch: linux/amd64
14:13:07 [Debug] Usage Report: Sending info...
14:13:07 [Debug] Saving build general details at: /tmp/jfrog/builds/4239a5c544db0b4ca2fd038b56cc040d417ab07ec7c3203d6e501ef0ad453ccf/partials
14:13:07 [Debug] Sending HTTP GET request to: https://artifactory.*****.com/artifactory/api/system/version
14:13:07 [Debug] Artifactory response: 200 OK
14:13:07 [Debug] JFrog Artifactory version is: 6.23.42
14:13:07 [Debug] Sending HTTP POST request to: https://artifactory.*****.com/artifactory/api/system/usage
14:13:13 [Info] [Thread 0] Uploading: *****.zip
14:13:13 [Warn] [Thread 0] (Attempt 1) - Failure occurred while uploading to https://artifactory.*****.com/artifactory/*****.zip;build.name=*****;build.number=57;build.timestamp=1706105587662;vcs.revision=2b31473e5a744b4ff981edf9e7e924e2f9cbabb0;vcs.url=ssh%3A%2F%2Fgit%40bitbucket.*****.com%3A7999%2Fcicd%2Fjenkins-pipelines.git: server response: 404 Not Found
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<title>404 Not Found</title>

Not Found

The requested URL /artifactory/*****.zip;build.name=*****/*****;build.number=57;build.timestamp=1706105587662;vcs.revision=2b31473e5a744b4ff981edf9e7e924e2f9cbabb0;vcs.url=ssh://git@bitbucket.*****.com:7999/cicd/jenkins-pipelines.git was not found on this server.

<address>Apache/2.2.15 (CentOS) Server at artifactory.*****.com Port 443</address>

On the contrary, using the legacy plugin with the following code works as expected since the generated URL doesn't seem to contain all the git-related information:
stage('Upload artefacts') {
    environment {
        GIT_BRANCH = ""
        GIT_COMMIT = ""
        GIT_PREVIOUS_COMMIT = ""
        GIT_PREVIOUS_SUCCESSFUL_COMMIT = ""
        GIT_URL = ""
    }
    steps {
        rtUpload (
            serverId: ARTI_SERVERID,
            failNoOp: true,
            spec: """
                {
                    "files":
                        [
                            {
                                "pattern": "****.zip",
                                "target": "${env.ARTI_REPOSITORY}/*****/*****/${env.VERSION}/",
                                "props": "${env.ARTI_PROPERTIES}"
                            },
                            {
                                "pattern": "*****.zip",
                                "target": "${env.ARTI_REPOSITORY}/*****/*****/${env.VERSION}/",
                                "props": "${env.ARTI_PROPERTIES}"
                            }
                       ]
                  }
             """
            )
        }
}

@yahavi, could this issue be related to the antiquated version of Artifactory (6.23.42) that we are using on premise ?

Testing against a trial version of the latest version Artifactory Pro solved the issue. So our issues are indeed linked to and antiquated version of Artifactory. An upgrade is being planned.
This issue can therefore be closed.

authors: oDn yahavi

repo: jenkinsci/jfrog-plugin


text:
Maintained badge is out of date

Describe your use-case which is not covered by existing documentation.
The "maintained" badge in the readme says "no! (as of 2022)".

I guess this only updates once a year and needs to be changed manually to the 2023 version (though this way of flagging is a little crude)

Reference any relevant documentation, other materials or issues/pull requests that can be used for inspiration.
No response

Hi, I would like to work on this.

authors: akshaywakhare jimbudarz

repo: jenkinsci/lockable-resources-plugin


text:
Fix calc not being escaped

Fix for issue introduced in #107.
I didn't realise I had to escape the calc. Without escaping less will replace it with calc(90%), which is not the same thing.

Thanks @olamy. Sorry I didn't catch that originally.

@VirtualTim Any idea why this change wouldn't take effect in the 2.17 release?
See https://issues.jenkins-ci.org/browse/JENKINS-63892

@snago It's there, but somehow having the width: on .cbwf-widget at all prevents the input popup from showing up in the right location...

Crap, I've never used the input stage, so I missed that.
I'll do some testing, but if anyone knows a fix let me know (or submit a PR).

authors: TobiX VirtualTim snago

repo: jenkinsci/pipeline-stage-view-plugin


text:
RaspberryMatic CCU Addon startet nicht in HA

Describe the issue you are experiencing
Nach einem Restore von HA fehlte das RaspberryMatic CCU addon. Ich habe es neu installiert, um homematic backup einzuspielen. Leider startet das Addon nicht. Folgende Meldung wird angezeigt, start add-on zeigt "The add-on is starting, this can take some time..." für einige Minuten und dann wird wieder die Meldung gezeigt, dass das Addon nicht gestartet ist.

Describe the behavior you expected
Add on sollte starten
Steps to reproduce the issue

RaspberryMatic CCU starten

What is the version this bug report is based on?
3.75.6.20240316
Which base platform are you running?
ha-addon (HomeAssistant Add-on)
Which HomeMatic/homematicIP radio module are you using?
HmIP-RFUSB
Anything in the logs that might be useful for us?
Mounting /data as /usr/local (Home Assistant Add-On): OK
Identifying host system: Oracle Corporation VirtualBox (oci), OK
Initializing RTC Clock: onboard, OK
Running sysctl: OK
Checking for Factory Reset: not required
Checking for Backup Restore: not required
Running seedrng: OK
Initializing System: OK
Setup ca-certificates: OK
Starting logging: OK
Init onboard LEDs: init, OK
Starting iptables: OK
Starting network: eth0: link up, fixed, firewall, inet up, 172.30.33.5, OK
Identifying Homematic RF-Hardware: ....HmRF: HMIP-RFUSB/eQ-3 HmIP-RFUSB@usb-0000:00:06.0-2, HmIP: HMIP-RFUSB/eQ-3 HmIP-RFUSB@usb-0000:00:06.0-2, OK
Updating Homematic RF-Hardware: HMIP-RFUSB: 4.4.18, not necessary, OK
Starting hs485dLoader: disabled
Starting xinetd: OK
Starting eq3configd: OK
Starting lighttpd: creating new SSL cert... OK
Starting ser2net: disabled
Starting ssdpd: OK
Starting ha-proxy: OK
Starting NUT services: disabled
Initializing Third-Party Addons: OK
Starting LGWFirmwareUpdate: ...OK
Setting LAN Gateway keys: OK
Starting hs485d: disabled
Starting multimacd: .......OK
Starting rfd: .OK
Starting HMIPServer: ........OK
Starting ReGaHss: .OK
Starting CloudMatic: OK
Starting NeoServer: OK
Starting Third-Party Addons: OK
Starting crond: OK
Setup onboard LEDs: booted, OK
Finished Boot: 3.75.6.20240316 (raspmatic_oci_amd64)

Additional information
Vielleicht liegt der Fehler schon daran, dass das HA restore das Addon nicht installiert hat, aber es gab keine Fehlermeldungen in der Logdatei.

Na startet das Addon jetzt oder nicht, weil du ja eine Logausgabe zeigst die klar zeigt das das Addon ja anscheinend neustartet. IMHO Sieht das für mich nach einem HA Problem aus und ist kein generelles Problem/Bug von/in RaspberryMatic. Ergo gehört das eher in den Diskussionsteil um nach Hilfe zu suchen...

authors: ZdravecG jens-maus

repo: jens-maus/RaspberryMatic


text:
Nur optional: alphabetische Favoriten-Sortierung

Is your feature request related to a problem? Please describe.
Das neue Feature Favoriten-ComboBox-Sortierung sowie alphabetische Sortierung der Menüeinträge finden einige Benutzer inklusive mir nicht gelungen. Solche UI Änderungen sollten optional sein.
Ich zitiere mal hier ein paar Argumente die mir gefallen bzw. auch meine eigenen:

Menüpunkte nach Funktionsgruppen oder Nutzungsverhalten zu sortieren macht ja noch (in vielen Fällen) Sinn, aber nach Alphabet? Lustig auch, wenn man mal die Sprache wechselt, dann sind plötzlich alle Menüpunkte in einer anderen Reihenfolge.
Aber vielleicht kann ja mal jemand erklären, wo die Steigerung des User-Experiences liegt, wenn man Menüpunkte alphabetisch sortiert. ...
mule

es gibt genug (auch wissenschaftliche) Abhandlungen darüber, wie gutes UX Design funktioniert. Viel läuft darauf hinaus, dass die Augen des Benutzers nicht weit schweifen müssen und man in der jeweiligen Situation nicht suchen muss, sondern die jeweils benötigte Funktion schnell erreicht. Mit einem alphabetisch sortierten Menü wird man das sehr sicher nicht erreichen. ...
Jetzt kann man natürlich vortrefflich darüber streiten, ob das Menü vorher bereits sinnvoll aufgebaut war oder ob die Sortierung das verbessert hat. Aber in jedem Fall wird das sortierte Menü nicht das Optimum darstellen.
deimos

Aus meiner Sicht wäre Jens möglicherweise gut beraten, bei derart polarisierenden Themen die Abschaltmöglichkeit von sich aus gleich mit einzubauen, wenn er Änderungen dieser Art vornimmt - im Gegensatz zu Sachen wie dem Autologin, bei einer solchen notwendigen Security Änderungen muss man nicht viel fragen.
Wie viele RaspberryMatic user mag es geben, 10000 oder mehr? Bei einer Abstimmungsquote von (heute) 28:15 usern zu vermuten, die Mehrheit wollte das Feature Menüsortierung ist imho etwas problematisch.
TomMajor

Describe the solution you'd like

Abschaltung der alphabetischen Menüsortierung falls eine Datei /usr/local/etc/config/sortMenusDisabled
existiert

Abschaltung der alphabetischen Favoritensortierung falls eine Datei /usr/local/etc/config/sortFavoritesDisabled
existiert

Describe alternatives you've considered

nicht auf die 3.47.15.20190831 updaten, auf Dauer keine Lösung
den patch per Hand nach jedem Update machen, nervt auch auf Dauer

Das wäre mein Startpunkt:
An geeigneter Stelle Code dieser Art ausführen:
if [ -f /usr/local/etc/config/sortMenusDisabled ]; then
    # not sure about the path
    # is the patch command correct?
    patch -R < ??/buildroot-external/patches/occu/0061-WebUI-MenuSortedIcons.patch
fi

if [ -f /usr/local/etc/config/sortFavoritesDisabled ]; then
    # not sure about the path
    # is the patch command correct?
    patch -R < ??/buildroot-external/patches/occu/0062-WebUI-Fix-SortFavoritesCombobox.patch
fi

Ich kenne mich jedoch nicht mit buildroot und dem Installationsmechanismus von RaspberryMatic aus so dass ich hier definitiv Hilfe bräuchte um einen PR zu machen.
Wo wäre die geeignete Stelle um während der Installation die beiden Patches zu reversen?
Danke,

Eine eigene Menüsortierung kann nun seit 3.47.18.20190918 wie im entsprechenden PullRequest beschrieben vorgenommen werden:
https://github.com/jens-maus/RaspberryMatic/pull/709
Bzgl. manueller Favoritensortierung muss hier allerdings noch etwas Arbeit erledigt werden, dann aber nicht wie hier beschrieben sondern via WebUI Möglichkeiten zur eigenen Sortierung von Favoriten.

@jens-maus Ist denn wirklich die Sortierung des Drop-Down das Problem einiger Nutzer?
M.E. ist es eher der Fall, dass Nutzer einen ganz bestimmten Favoriten auf der Startseite angezeigt bekommen wollen. Einen vorausgewählten Favoriten also.
Damit geht es also gar nicht so sehr darum, die Favoriten nach Wunsch zu sortieren, sondern einen ganz Bestimmten als Default / Voreingestellt zu markieren und dann eben auch als erstes anzuzeigen.
Als Ergebnis kann dann sicher die Liste der Favoriten im Drop-Down alphabetisch sortiert sein, solange nur der Default dann ausgewählt und angezeigt wird.

@ptweety Da hast du sicher recht. Allerdings denke ich ist es einfacher eine manuelle Sortiermöglichkeit des Favoritendropdown umzusetzen als jetzt irgendwo noch zu vermerken welcher favorite der default sein soll.

FYI: Mit der letzten Änderung (siehe oben) kann man nun Nutzer-Favoriten manuell sortieren. Siehe:

Das sollte dann dazu führen das die Einträge in der ComboBox entsprechend dann sortiert werden.

War im Urlaub und sehe jetzt das beide enhancements schon drin sind, werde ich die nächsten Tage testen.
Vielen Dank @jens-maus und @ptweety für die Implementierung! :+1:

authors: TomMajor jens-maus ptweety


text:
Method Jenssegers\Mongodb\Query\Builder::notify does not exist.

Method Jenssegers\Mongodb\Query\Builder::notify does not exist.

Hello, I had the same problem, just add the Notifiable class on User model
`<?php
namespace App\Models;
use DateTimeZone;
use Illuminate\Notifications\Notifiable;
use Illuminate\Auth\Authenticatable;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Eloquent implements AuthenticatableContract,  CanResetPasswordContract {
use Authenticatable, CanResetPassword, Notifiable;

}`

repo: jenssegers/laravel-mongodb


text:
Query 'like' not working

Hi,
I have the following query but it's not returning anything
$created_at = date("Y-m");
$content = ContentModel::where('userId', $id->_id)
->where('created_at', 'like', "%{$created_at}%")
->orderBy('fav', 'DESC')
->get();
If I remove the ->where('created_at', 'like', "%{$created_at}%") it returns everything fine but I want content that was of this year and month but the query doesn't work when I put that in.
please help

The date in the database is ISODate format
"created_at" : ISODate("2015-02-03T16:29:26.965Z")
And I want to find all content of this month
Select * from content where created_at like '2015-02%'
The above is the SQL versions of the query

Like generates regexp queries, and I don't thing those work on mongo dates.


text:
Add notes about MacOS M1

Hello, I've tried your library and needed a couple additional steps to get going on MacOS M1,
so I thought it might be a nice addition to the README.

I'm gonna close this PR and make a proper one with fix for example.

repo: jerel/membrane


text:
Do not require POM for update-only maven goal

Is your feature request related to a problem?
When running mvn org.owasp:dependency-check-maven:4.0.2:update-only without a pom.xml Maven fails and complains "Goal requires a project to execute but there is no POM in this directory (/tmp). Please verify you invoked Maven from the correct directory."
Describe the solution you'd like
It would be nice to be able to run mvn org.owasp:dependency-check-maven:4.0.2:update-only without a project to update the local cache of the NVD data from NIST. There is in fact no need for having a pom file as all parameters can be specified on the command line.
Describe alternatives you've considered
Create a no-op maven project and run that.
Additional context
I would like to run a batch process on my build server to update this data once a day without stalling the first build of the day.
I've also tried with 5.0.0-M2 with identical results.
Part of this problem may be caused because the UpdateMojo extends the BaseDependencyCheckMojo which has other unwanted side-effects such as stating that the pluging should be used as a report in the generated documentation along with some parameters that just don't make sense for the update goal.

The quick workaround is:
echo '<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.owasp</groupId>
    <artifactId>owasp-update</artifactId>
    <version>0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
</project>' > /tmp/pom.xml

and then: -f /tmp/pom.xml org.owasp:dependency-check-maven:4.0.2:update-only

Alternatively, you can use the CLI version of dependency-check to update the maven data.  However, there is no way to run the maven goal without a pom.xml; this is just how maven works.

this is just how maven works.

this is simply not true; there are plenty of maven goals that do not require a maven project to run, basically all of the artifact generators mvn archetype:generate, generally any help goal, such as org.owasp:dependency-check-maven:4.0.2:help and many more
using the CLI is inconvienient because it doesn't know about the maven repository where the data is stored

Learn something new everyday...  This will be included in the next release.

Apparently it should be as simple as adding requiresProject = false
@Mojo(requiresProject = false, ...)
public class MyMojo extends AbstractMojo  { ... }

See e.g.. https://stackoverflow.com/a/36861025

authors: jeremylong mprins

repo: jeremylong/DependencyCheck


text:
Dependency Check Failure when search.maven.org is down

Problem
Maven Central repository is down and this causes our CI/CD process to fail:

Can we work on a fallback strategy in DependencyCheck to failover to another Maven repository in the event of a failure?

Hi, :wave:
This issue is not related to dependency check. search.maven.org is used as a default value by the Central Analyzer. This value can be changed in case of the CLI through the --centralUrl parameter. If the specified url is unreachable, it is the job of the software to fail. The fallback strategy should be defined based on your company policy.
However, this option seems to not be available in other components (maven & gradle plugins) so an update to work on providing such option may be considered.
Please let us know if we can help you :slightly_smiling_face:

authors: dnorton nhumblot


text:
Easier way to lint script files

Hi guys, I have a project structure like this:
scripts
└── setup-something.main.kts
src
├── main
├── test
└── integration

In order to lint script files, I use such configuration:
build.gradle

tasks.named("lintKotlinMain") { source "scripts" }
tasks.named("formatKotlinMain") { source "scripts" }

I am wondering if there should be easier approach for linting additional files (scripts in this case).
Maybe a new configuration option? (based on ktlint-gradle)
kotlinter {
    kotlinScriptAdditionalPaths {
        include(fileTree("scripts/"))
    }
}

The automatically created tasks are based on sourceSets the plugin can query from gradle.
I don't know if gradle yet has an appropriate to resolve kts files leaving us with various options to manually specify them.
Another option would be to create a single top level custom task pair glob including all scripts in your project.

@jeremymailen
What do you think about new configuration option, similar to ktlint-gradle:
kotlinter {
    kotlinScriptAdditionalPaths {
        include(fileTree("scripts/"))
    }
}

?

@jeremymailen What do you think about new configuration option, similar to ktlint-gradle:
kotlinter {
    kotlinScriptAdditionalPaths {
        include(fileTree("scripts/"))
    }
}

?

How should the user interpret this configuration? Is this one script directory to lint at the top level of the project or for a multi-module project is it a directory at this path in each module?
When we add these script files, should it be a separate lint/format task or add to one of the existing lint/format tasks in a module -- remembering of course that a module might have multiple lint/format tasks if there are multiple source sets in that module -- main and test are standard.
There are quite a few different uses for kts files -- for example gradle build scripts, other scripts. I'd be curious to know your use case for context. Depending on the use case a task might make sense to stitch in to a different phase of the build lifecycle.
Sorry to be long winded, but to give context, let's say I have a multi-module project and I run
gradle :libs:connectors:build

I know it's going to operate on each of the source sets in connectors with a lifecycle: lint -> test -> compile -> assemble
In what phase of the build lifecycle should I lint kts scripts and in what scope?
Not knowing that, we left it up to people to create custom task and stitch it into the lifecycle where needed, but perhaps there are common enough patterns for how kts file are used that we can create some standard tasks and make them configurable enough?

Yeah, thanks for the extra context.
Curious if your use of scripts is part of using a framework that you've adopted? It could be there are popular frameworks that utilize kts files and it would make sense to say "kotlinter supports framework x" and automatically configure some extra tasks. Beyond that, custom tasks is probably the best option.

Curious if your use of scripts is part of using a framework that you've adopted?
No, it isn't 😃
Those scripts are custom ones and are executed by a developer every time he wants to do something - for example create an order in shop, add offer etc.
We've used bash scripts before for the same purposes, however after inventing kotlin scripts, we decided to give it a try, and it turned out that it is better to write those scripts in kotlin (easier syntax and error handling) 🙂

authors: AleksanderBrzozowski jeremymailen

repo: jeremymailen/kotlinter-gradle


text:
Package upgrade

I made a very basic upgrade to at least it's compatible with the latest Claude Desktop, but it still has errors when trying to read from Linear, so it's not a full fix.

Upgraded to the latest MCP
Added to README install instructions with smithery CLI

Tried out your branch @calclavia. I see you don't have the full fix yet. I'm trying out MCP for the first time so have limited knowledge here so far.
Here's what I'm seeing in mcp logs (if its of any help) - seems like server is not responding and Claude keeps retrying:
Starting Linear MCP Server...
Connecting server to transport...
Linear MCP Server running on stdio
[Linear API] Enqueueing request for listIssues (Queue position: 0)
[Linear API] Starting request for listIssues
[Linear API] Enqueueing request for listIssues (Queue position: 0)
[Linear API] Completed request for listIssues (Duration: 850ms)
[Linear API] Starting request for listIssues
[Linear API] Enqueueing request for getIssueDetails (Queue position: 0)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 1)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 2)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 3)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 4)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 5)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 6)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 7)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 8)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 9)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 10)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 11)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 12)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 13)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 14)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 15)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 16)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 17)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 18)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 19)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 20)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 21)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 22)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 23)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 24)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 25)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 26)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 27)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 28)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 29)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 30)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 31)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 32)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 33)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 34)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 35)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 36)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 37)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 38)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 39)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 40)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 41)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 42)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 43)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 44)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 45)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 46)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 47)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 48)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 49)
[Linear API] Completed request for listIssues (Duration: 1114ms)
[Linear API] Starting request for getIssueDetails
[Linear API] Enqueueing request (Queue position: 49)
[Linear API] Enqueueing request (Queue position: 50)
[Linear API] Enqueueing request (Queue position: 51)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 52)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 53)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 54)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 55)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 56)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 57)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 58)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 59)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 60)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 61)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 62)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 63)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 64)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 65)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 66)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 67)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 68)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 69)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 70)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 71)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 72)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 73)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 74)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 75)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 76)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 77)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 78)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 79)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 80)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 81)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 82)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 83)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 84)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 85)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 86)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 87)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 88)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 89)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 90)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 91)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 92)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 93)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 94)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 95)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 96)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 97)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 98)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 99)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 100)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 101)
[Linear API] Enqueueing request for listIssues (Queue position: 102)
[Linear API] Enqueueing request for listIssues (Queue position: 103)
[Linear API] Enqueueing request for listIssues (Queue position: 104)
[Linear API] Enqueueing request for listIssues (Queue position: 105)
[Linear API] Enqueueing request for listIssues (Queue position: 106)
[Linear API] Enqueueing request for listIssues (Queue position: 107)
[Linear API] Enqueueing request for listIssues (Queue position: 108)
[Linear API] Enqueueing request for listIssues (Queue position: 109)
[Linear API] Enqueueing request for listIssues (Queue position: 110)
[Linear API] Enqueueing request for listIssues (Queue position: 111)
[Linear API] Enqueueing request for listIssues (Queue position: 112)
[Linear API] Enqueueing request for listIssues (Queue position: 113)
[Linear API] Enqueueing request for listIssues (Queue position: 114)
[Linear API] Enqueueing request for listIssues (Queue position: 115)
[Linear API] Enqueueing request for listIssues (Queue position: 116)
[Linear API] Enqueueing request for listIssues (Queue position: 117)
[Linear API] Enqueueing request (Queue position: 118)
[Linear API] Enqueueing request for listIssues (Queue position: 119)
[Linear API] Enqueueing request for listIssues (Queue position: 120)
[Linear API] Enqueueing request for listIssues (Queue position: 121)
[Linear API] Enqueueing request for listIssues (Queue position: 122)
[Linear API] Enqueueing request for listIssues (Queue position: 123)
[Linear API] Enqueueing request for listIssues (Queue position: 124)
[Linear API] Enqueueing request for listIssues (Queue position: 125)
[Linear API] Enqueueing request for listIssues (Queue position: 126)
[Linear API] Enqueueing request for listIssues (Queue position: 127)
[Linear API] Enqueueing request for listIssues (Queue position: 128)
[Linear API] Enqueueing request for listIssues (Queue position: 129)
[Linear API] Enqueueing request for listIssues (Queue position: 130)
[Linear API] Enqueueing request for listIssues (Queue position: 131)
[Linear API] Enqueueing request for listIssues (Queue position: 132)
[Linear API] Enqueueing request for listIssues (Queue position: 133)
[Linear API] Enqueueing request for listIssues (Queue position: 134)
[Linear API] Enqueueing request for listIssues (Queue position: 135)
[Linear API] Enqueueing request for listIssues (Queue position: 136)
[Linear API] Enqueueing request for listIssues (Queue position: 137)
[Linear API] Enqueueing request for listIssues (Queue position: 138)
[Linear API] Enqueueing request for listIssues (Queue position: 139)
[Linear API] Enqueueing request for listIssues (Queue position: 140)
[Linear API] Enqueueing request for listIssues (Queue position: 141)
[Linear API] Enqueueing request for listIssues (Queue position: 142)
[Linear API] Enqueueing request for listIssues (Queue position: 143)
[Linear API] Enqueueing request for listIssues (Queue position: 144)
[Linear API] Enqueueing request for listIssues (Queue position: 145)
[Linear API] Enqueueing request for listIssues (Queue position: 146)
[Linear API] Enqueueing request for listIssues (Queue position: 147)
[Linear API] Enqueueing request for listIssues (Queue position: 148)
[Linear API] Enqueueing request for listIssues (Queue position: 149)
[Linear API] Enqueueing request for listIssues (Queue position: 150)
[Linear API] Enqueueing request for listIssues (Queue position: 151)
[Linear API] Enqueueing request for listIssues (Queue position: 152)
[Linear API] Enqueueing request for listIssues (Queue position: 153)
[Linear API] Enqueueing request for listIssues (Queue position: 154)
[Linear API] Enqueueing request for listIssues (Queue position: 155)
[Linear API] Enqueueing request for listIssues (Queue position: 156)
[Linear API] Enqueueing request for listIssues (Queue position: 157)
[Linear API] Enqueueing request for listIssues (Queue position: 158)
[Linear API] Enqueueing request for listIssues (Queue position: 159)
[Linear API] Enqueueing request for listIssues (Queue position: 160)
[Linear API] Enqueueing request for listIssues (Queue position: 161)
[Linear API] Enqueueing request for listIssues (Queue position: 162)
[Linear API] Enqueueing request for listIssues (Queue position: 163)
[Linear API] Enqueueing request for listIssues (Queue position: 164)
[Linear API] Enqueueing request for listIssues (Queue position: 165)
[Linear API] Enqueueing request for listIssues (Queue position: 166)
[Linear API] Enqueueing request for listIssues (Queue position: 167)
[Linear API] Enqueueing request for listIssues (Queue position: 168)
[Linear API] Enqueueing request for listIssues (Queue position: 169)
[Linear API] Enqueueing request for listIssues (Queue position: 170)
[Linear API] Enqueueing request for listIssues (Queue position: 171)
[Linear API] Enqueueing request for listIssues (Queue position: 172)
[Linear API] Enqueueing request for listIssues (Queue position: 173)
[Linear API] Enqueueing request for listIssues (Queue position: 174)
[Linear API] Enqueueing request for listIssues (Queue position: 175)
[Linear API] Enqueueing request for listIssues (Queue position: 176)
[Linear API] Enqueueing request for listIssues (Queue position: 177)
[Linear API] Enqueueing request for listIssues (Queue position: 178)
[Linear API] Enqueueing request for listIssues (Queue position: 179)
[Linear API] Enqueueing request for listIssues (Queue position: 180)
[Linear API] Enqueueing request for listIssues (Queue position: 181)
[Linear API] Enqueueing request for listIssues (Queue position: 182)
[Linear API] Enqueueing request for listIssues (Queue position: 183)
[Linear API] Enqueueing request for listIssues (Queue position: 184)
[Linear API] Enqueueing request for listIssues (Queue position: 185)
[Linear API] Enqueueing request for listIssues (Queue position: 186)
[Linear API] Enqueueing request for listIssues (Queue position: 187)
[Linear API] Enqueueing request for listIssues (Queue position: 188)
[Linear API] Enqueueing request for listIssues (Queue position: 189)
[Linear API] Enqueueing request for listIssues (Queue position: 190)
[Linear API] Enqueueing request for listIssues (Queue position: 191)
[Linear API] Enqueueing request for listIssues (Queue position: 192)
[Linear API] Enqueueing request for listIssues (Queue position: 193)
[Linear API] Enqueueing request for listIssues (Queue position: 194)
[Linear API] Enqueueing request for listIssues (Queue position: 195)
[Linear API] Enqueueing request for listIssues (Queue position: 196)
[Linear API] Enqueueing request for listIssues (Queue position: 197)
[Linear API] Enqueueing request for listIssues (Queue position: 198)
[Linear API] Enqueueing request for listIssues (Queue position: 199)
[Linear API] Enqueueing request for listIssues (Queue position: 200)
[Linear API] Enqueueing request for listIssues (Queue position: 201)
[Linear API] Enqueueing request for listIssues (Queue position: 202)
[Linear API] Enqueueing request for listIssues (Queue position: 203)
[Linear API] Enqueueing request for listIssues (Queue position: 204)
[Linear API] Enqueueing request for listIssues (Queue position: 205)
[Linear API] Enqueueing request for listIssues (Queue position: 206)
[Linear API] Enqueueing request for listIssues (Queue position: 207)
[Linear API] Enqueueing request for listIssues (Queue position: 208)
[Linear API] Enqueueing request for listIssues (Queue position: 209)
[Linear API] Enqueueing request (Queue position: 210)
[Linear API] Enqueueing request for listIssues (Queue position: 211)
[Linear API] Enqueueing request for listIssues (Queue position: 212)
[Linear API] Enqueueing request for listIssues (Queue position: 213)
[Linear API] Enqueueing request for listIssues (Queue position: 214)
[Linear API] Enqueueing request for listIssues (Queue position: 215)
[Linear API] Enqueueing request for listIssues (Queue position: 216)
[Linear API] Enqueueing request for listIssues (Queue position: 217)
[Linear API] Enqueueing request for listIssues (Queue position: 218)
[Linear API] Enqueueing request for listIssues (Queue position: 219)
[Linear API] Enqueueing request for listIssues (Queue position: 220)
[Linear API] Enqueueing request for listIssues (Queue position: 221)
[Linear API] Enqueueing request for listIssues (Queue position: 222)
[Linear API] Enqueueing request for listIssues (Queue position: 223)
[Linear API] Enqueueing request for listIssues (Queue position: 224)
[Linear API] Enqueueing request for listIssues (Queue position: 225)
[Linear API] Enqueueing request for listIssues (Queue position: 226)
[Linear API] Enqueueing request for listIssues (Queue position: 227)
[Linear API] Enqueueing request for listIssues (Queue position: 228)
[Linear API] Enqueueing request for listIssues (Queue position: 229)
[Linear API] Enqueueing request for listIssues (Queue position: 230)
[Linear API] Enqueueing request for listIssues (Queue position: 231)
[Linear API] Enqueueing request for listIssues (Queue position: 232)
[Linear API] Enqueueing request for listIssues (Queue position: 233)
[Linear API] Enqueueing request for listIssues (Queue position: 234)
[Linear API] Enqueueing request for listIssues (Queue position: 235)
[Linear API] Enqueueing request for listIssues (Queue position: 236)
[Linear API] Enqueueing request for listIssues (Queue position: 237)
[Linear API] Enqueueing request for listIssues (Queue position: 238)
[Linear API] Enqueueing request for listIssues (Queue position: 239)
[Linear API] Enqueueing request for listIssues (Queue position: 240)
[Linear API] Enqueueing request for listIssues (Queue position: 241)
[Linear API] Enqueueing request for listIssues (Queue position: 242)
[Linear API] Enqueueing request for listIssues (Queue position: 243)
[Linear API] Enqueueing request for listIssues (Queue position: 244)
[Linear API] Enqueueing request for listIssues (Queue position: 245)
[Linear API] Enqueueing request for listIssues (Queue position: 246)
[Linear API] Enqueueing request for listIssues (Queue position: 247)
[Linear API] Enqueueing request for listIssues (Queue position: 248)
[Linear API] Enqueueing request for listIssues (Queue position: 249)
[Linear API] Enqueueing request for listIssues (Queue position: 250)
[Linear API] Enqueueing request for listIssues (Queue position: 251)
[Linear API] Enqueueing request for listIssues (Queue position: 252)
[Linear API] Enqueueing request for listIssues (Queue position: 253)
[Linear API] Enqueueing request for listIssues (Queue position: 254)
[Linear API] Enqueueing request for listIssues (Queue position: 255)
[Linear API] Enqueueing request for listIssues (Queue position: 256)
[Linear API] Enqueueing request for listIssues (Queue position: 257)
[Linear API] Enqueueing request for listIssues (Queue position: 258)
[Linear API] Enqueueing request for listIssues (Queue position: 259)
[Linear API] Enqueueing request for listIssues (Queue position: 260)
[Linear API] Enqueueing request for listIssues (Queue position: 261)
[Linear API] Enqueueing request for listIssues (Queue position: 262)
[Linear API] Enqueueing request for listIssues (Queue position: 263)
[Linear API] Enqueueing request for listIssues (Queue position: 264)
[Linear API] Enqueueing request for listIssues (Queue position: 265)
[Linear API] Enqueueing request for listIssues (Queue position: 266)
[Linear API] Enqueueing request for listIssues (Queue position: 267)
[Linear API] Enqueueing request for listIssues (Queue position: 268)
[Linear API] Enqueueing request for listIssues (Queue position: 269)
[Linear API] Enqueueing request for listIssues (Queue position: 270)
[Linear API] Enqueueing request for listIssues (Queue position: 271)
[Linear API] Enqueueing request for listIssues (Queue position: 272)
[Linear API] Enqueueing request for listIssues (Queue position: 273)
[Linear API] Enqueueing request for listIssues (Queue position: 274)
[Linear API] Enqueueing request for listIssues (Queue position: 275)
[Linear API] Enqueueing request for listIssues (Queue position: 276)
[Linear API] Enqueueing request for listIssues (Queue position: 277)
[Linear API] Enqueueing request for listIssues (Queue position: 278)
[Linear API] Enqueueing request for listIssues (Queue position: 279)
[Linear API] Enqueueing request for listIssues (Queue position: 280)
[Linear API] Enqueueing request for listIssues (Queue position: 281)
[Linear API] Enqueueing request for listIssues (Queue position: 282)
[Linear API] Enqueueing request for listIssues (Queue position: 283)
[Linear API] Enqueueing request for listIssues (Queue position: 284)
[Linear API] Enqueueing request for listIssues (Queue position: 285)
[Linear API] Enqueueing request for listIssues (Queue position: 286)
[Linear API] Enqueueing request for listIssues (Queue position: 287)
[Linear API] Enqueueing request for listIssues (Queue position: 288)
[Linear API] Enqueueing request for listIssues (Queue position: 289)
[Linear API] Enqueueing request for listIssues (Queue position: 290)
[Linear API] Enqueueing request for listIssues (Queue position: 291)
[Linear API] Enqueueing request for listIssues (Queue position: 292)
[Linear API] Enqueueing request for listIssues (Queue position: 293)
[Linear API] Enqueueing request for listIssues (Queue position: 294)
[Linear API] Enqueueing request for listIssues (Queue position: 295)
[Linear API] Enqueueing request for listIssues (Queue position: 296)
[Linear API] Enqueueing request for listIssues (Queue position: 297)
[Linear API] Enqueueing request for listIssues (Queue position: 298)
[Linear API] Enqueueing request for listIssues (Queue position: 299)
[Linear API] Enqueueing request for listIssues (Queue position: 300)
[Linear API] Enqueueing request for listIssues (Queue position: 301)
[Linear API] Enqueueing request for listIssues (Queue position: 302)
[Linear API] Enqueueing request for listIssues (Queue position: 303)
[Linear API] Enqueueing request for listIssues (Queue position: 304)
[Linear API] Enqueueing request for listIssues (Queue position: 305)
[Linear API] Enqueueing request for listIssues (Queue position: 306)
[Linear API] Enqueueing request for listIssues (Queue position: 307)
[Linear API] Enqueueing request for listIssues (Queue position: 308)
[Linear API] Enqueueing request for listIssues (Queue position: 309)
[Linear API] Enqueueing request for listIssues (Queue position: 310)
[Linear API] Enqueueing request for listIssues (Queue position: 311)
[Linear API] Enqueueing request for listIssues (Queue position: 312)
[Linear API] Enqueueing request for listIssues (Queue position: 313)
[Linear API] Enqueueing request for listIssues (Queue position: 314)
[Linear API] Enqueueing request for listIssues (Queue position: 315)
[Linear API] Enqueueing request for listIssues (Queue position: 316)
[Linear API] Enqueueing request for listIssues (Queue position: 317)
[Linear API] Enqueueing request for listIssues (Queue position: 318)
[Linear API] Enqueueing request for listIssues (Queue position: 319)
[Linear API] Enqueueing request for listIssues (Queue position: 320)
[Linear API] Enqueueing request for listIssues (Queue position: 321)
[Linear API] Enqueueing request for listIssues (Queue position: 322)
[Linear API] Enqueueing request for listIssues (Queue position: 323)
[Linear API] Enqueueing request for listIssues (Queue position: 324)

Tried out your branch @calclavia. I see you don't have the full fix yet. I'm trying out MCP for the first time so have limited knowledge here so far.
Here's what I'm seeing in mcp logs (if its of any help) - seems like server is not responding and Claude keeps retrying:
Starting Linear MCP Server...
Connecting server to transport...
Linear MCP Server running on stdio
[Linear API] Enqueueing request for listIssues (Queue position: 0)
[Linear API] Starting request for listIssues
[Linear API] Enqueueing request for listIssues (Queue position: 0)
[Linear API] Completed request for listIssues (Duration: 850ms)
[Linear API] Starting request for listIssues
[Linear API] Enqueueing request for getIssueDetails (Queue position: 0)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 1)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 2)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 3)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 4)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 5)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 6)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 7)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 8)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 9)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 10)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 11)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 12)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 13)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 14)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 15)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 16)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 17)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 18)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 19)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 20)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 21)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 22)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 23)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 24)
[Linear API] Enqueueing request for getIssueDetails (Queue position: 25)
...

Yeah there are still some issues I haven't had the time to take a look - perhaps someone familiar with Linear API could help

authors: badarahmed calclavia

repo: jerhadf/linear-mcp-server


text:
Added callback for seturl()

The current seturl() is asynchronous, but it doesn't allow executing code after successfully switched the URL.
I added callbacks.

Maybe its easier if the seturl function returns the xhr object, so that you can add arbitrary callbacks (success, failure, always, etc).

Fixed according to your suggestion

authors: chatchavan jeroenooms


text:
Minimap simple suggestion / performance idea - how to

The minimap can get slow when you have a busy UI tab.
What would your suggestion be to still keep the functionality to drag the mini map around but replace the minimized drawflow map to just a simple square block in the map that can be dragged around.  This is how I've seen google do it in their applications. Can we modify the mini map script to just be a simple draggable block and not render objects, or connections into the map. The simple block in the map will keep everything very fast then.

Hello,
The minimap is an example of the possibilities.
You could modify the file:
https://github.com/jerosoler/drawflow-minimap-example/blob/main/minimap-drawflow.js
The nodeCreated event function to create a div with a width and height based on the created node. And don't pass the html of the node.
That could solve your problem.

authors: converseKarl jerosoler

repo: jerosoler/Drawflow


text:
Authentication Fix

Varnish secret needs to have an appended newline for authentication to function properly.
Tested in Varnish 4.1.9

Thanks!

authors: jeslopcru viable-hartman

repo: jeslopcru/VarnishAdmin


text:
Resize JSQMessagesViewController frame on change of container view height

I have a JSQMessagesViewController inside a container view. The issue that I'm facing is that when the container view height is increased (with animation) for certain UI effects, the JSQMessages Collection View height does not resize to fit the container view frame.
Could you point me towards the right direction about what I should do to make the collectionView resize when the container view height changes? I'm using Swift.
Update 1:
I've set the following inside the container view controller class,
self.view.autoresizingMask = UIViewAutoresizing.FlexibleHeight
self.view.autoresizesSubviews = true
self.collectionView.autoresizingMask = UIViewAutoresizing.FlexibleHeight
self.collectionView.autoresizesSubviews = true

But this only resizes the view, and the JSQMessagesCollectionView is not resized the expand to the height of the parent view.
I'm attaching a screenshot of the view hierarchy. The selected view is the JSQMessagesCollectionView (as can be seen). The grey view below it is what is referred by self.view from inside the container view controller class. And the black view is the Container view.

Update 2:
I set the following code inside the container view controller class
override func viewDidLayoutSubviews() {
    self.collectionView.frame = self.view.frame
    //self.collectionView.setNeedsLayout()
    //self.collectionView.layoutIfNeeded()
    println("collectionview frame: \(self.collectionView.frame)")
    println("view frame: \(self.view.frame)")
}

The collectionview frame is now being resized to the view frame, but the elements don't resize (the keyboard is not at the bottom). Enabling setNeedsLayout() and layoutIfNeeded() does not help as the collectionview again becomes smaller.

@mohonish I don't have the whole picture, but can you try overriding updateViewConstraints and setting the constraints programmatically:
-(void)updateViewConstraints{

    [super updateViewConstraints];

    [self.subView addConstraint:[NSLayoutConstraint constraintWithItem:self.subView
                                                                            attribute: NSLayoutAttributeTop
                                                                            relatedBy:NSLayoutRelationEqual
                                                                               toItem:self.containerView
                                                                            attribute: NSLayoutAttributeTop
                                                                           multiplier:1.0
                                                                             constant:0]];

    [self.subView addConstraint:[NSLayoutConstraint constraintWithItem:self.subView
                                                                          attribute: NSLayoutAttributeBottom
                                                                          relatedBy:NSLayoutRelationEqual
                                                                             toItem:self.containerView
                                                                          attribute: NSLayoutAttributeBottom
                                                                         multiplier:1.0
                                                                           constant:0]];
}

Test it out and tell me if it works. I don't really like doing it this way, it usually is better to set this type of constraints in the interface builder (I also prefer using this type of constraints vs autoresizing)
ps. sorry I didn't have the time to write it in Swift, but it should be pretty similar

@gcarlo89 that doesn't work. The collectionView doesn't resize yet. Tell me if you need any other details.

Hey @mohonish — @gcarlo89 's suggestions are on the right track.
It sounds like this is an issue with your setup/configuration — not the library itself. I'm going to close this, but feel free to continue the conversation here. :smile:

any solution?

can you show the complete class of the chat room

My code is maybe different from the O.P. although we have the same problem.
I need to able to change the height of the content view of the Collection View.
I am extending a Messages View Controller. I will show you my code to the bare minimum for the updateViewConstraints solution.
#import <JSQMessagesViewController/JSQMessagesViewController.h>
@interface JSQMessagesViewControllerExtended : JSQMessagesViewController

@end

#import "JSQMessagesViewControllerExtended.h"
@interface JSQMessagesViewControllerExtended ()
@end

@implementation JSQMessagesViewControllerExtended

-(void)updateViewConstraints{

    [super updateViewConstraints];

    NSLayoutConstraint *centeringConstraint =
    [NSLayoutConstraint constraintWithItem:self.collectionView
                                 attribute:NSLayoutAttributeBottom
                                 relatedBy:NSLayoutRelationEqual
                                    toItem:self.inputToolbar
                                 attribute:NSLayoutAttributeTop
                                multiplier:1.0
                                  constant:250];

    centeringConstraint.priority = 1000;
    [self.view addConstraint:centeringConstraint];
}
@end

The situation here looks like this :

As you can see the blue bubbles are still continuing under the toolbar. What I want instead is that the content size (or the frame size) of the collection View is smaller.
The other solution with the didLayout subviews leads to a vc that looks like this:

This is actually exactly what I need the VC to look like. But the problem is that if I touch the textarea . The keyboard pops up and then it looks like this:

Also some weird animation is happening during the time that the keyboard slides open.
To your question about nav/tabbar controllers (if that helps)
I am inside a navigation controller that is inside a tabbarcontroller.

Any new solutions ?

Did anyone ever arrive at a solution for this?

authors: MurLuck Reminouche gcarlo89 jessesquires mohamedalsherif mohonish rrphenix

repo: jessesquires/JSQMessagesViewController


text:
feat: exit_hook

What problem are you trying to solve?
init_hooks are cool. I'd like exit_hooks that do the opposite. For instance, I'm always starting up an ephemeral redis container for ansible facts that only lasts during my project work.
You already implemented process-compose for redis (and other services!), which precludes a docker step. Now turning it off automatically would complete the loop.
What solution would you like?
With exit_hooks, in addition to returning to the original shell, it would have some kind of de-scaffolding.
If we keep it general, exit_hooks could act like bash traps or python's try/except/finally blocks.
Essentially, the workflow would resemble:
{
  "packages": [
    "redis@latest"
  ],
  "env": {
    "REDIS_PORT":      "6379",
    "REDIS_CONF":      "./devbox.d/redis/redis.conf"
  },
  "shell": {
    "init_hook": [
      "devbox services start redis"
    ],
    "exit_hook": [
      "devbox services stop redis"
    ],
    "scripts": {}
  }
}

Alternatives you've considered
Didn't find anything in my cursory search.
However, it wouldn't take a lot of effort to write a shell script or python script to do the same thing. But that defeats the utility of devbox and requires bespoke solutions.

Would also solve #2354.
Novel use of a script though.

Besides stopping running services (which imo should happen when the shell dies anyway), is there an actual use case for exit_hooks?
As a workaround you could use your mentioned traps in the init_hooks like the following:
{
    "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.13.5/.schema/devbox.schema.json",
    "packages": [],
    "shell": {
      "init_hook": [
        "echo 'Welcome to devbox!'",
        "trap 'echo Goodbye from devbox!' EXIT"
      ],
    }
}

This will result in the following:

Appreciate the response @DerArkeN !
This works
"shell": {
    "init_hook": [
      ". $VENV_DIR/bin/activate",
      "uv pip install -r requirements.txt",
      "[ $(uname -s ) = 'Darwin' ] && export ANSIBLE_BECOME_PASS=$(askpass --sudo)",
      "devbox services start redis --quiet",
      "trap 'devbox services stop redis --quiet' EXIT"
    ],

but it's kludgey. (Side note: had no idea traps worked outside of shell scripts! Unless ofc this is converted into one haha)
I can work around it with a taskfile
version: "3.0"

set: ['e', 'u', 'pipefail']
shopt: ['globstar']

env:
  REDIS_PORT: "6379"
  REDIS_CONF: "./devbox.d/redis/redis.conf"

tasks:
  start:
    desc: "Start Redis server"
    cmds:
      - devbox services start redis --quiet
    silent: true

  restart:
    desc: "Restart Redis server"
    cmds:
      - devbox services restart redis --quiet
    silent: true

  stop:
    desc: "Stop Redis server"
    cmds:
      - devbox services stop redis --quiet
    silent: true

then
"shell": {
    "init_hook": [
      ". $VENV_DIR/bin/activate",
      "uv pip install -r requirements.txt",
      "[ $(uname -s ) = 'Darwin' ] && export ANSIBLE_BECOME_PASS=$(askpass --sudo)",
      "task redis:start",
      "trap 'task redis:stop' EXIT"
    ],

but a separation of concerns would be a more streamlined approach.
Services do not die with the shell fwiw. I agree that if they did, exit hooks wouldn't be as applicable to process-compose managed services. For everything else, still think exit hooks would be handy.

@pythoninthegrass glad I could help, looks good! Didn't know about the traps either, saw it once in a nix discussion before😄
@Lagoja what's the expected behaviour for running services when killing a shell? is it planned to implement stopping services when killing a shell?

@DerArkeN the behavior depends on how the services are started. Services run in their own shell, so they are not necessarily affected by the devbox shell used to start them

If the services are started in the background with devbox services up -b, then process-compose and the services will continue running until stopped with devbox services stop.

If the services are started in the foreground with devbox services up, then terminating the parent shell (and the process-compose UI) should also terminate the underlying services

You could add devbox service stop to your shell trap to ensure that they are terminated?

authors: DerArkeN Lagoja pythoninthegrass

repo: jetify-com/devbox


text:
Switch to use csi-lib

Continuation of #39
/cc @munnerz
NONE

@munnerz Should be passing now, and is ready to have a look :crossed_fingers:
After this passes I would like to do another pass through the code and do comments/docs etc. Once we are happy, I'd like to move this over to cert-manager/csi and cut a release.

/assign @munnerz

@JoshVanL: GitHub didn't allow me to assign the following users: munnerz.

I'd like to move this over to cert-manager/csi

:smile:

Once we are happy, I'd like to move this over to cert-manager/csi and cut a release.

I'm +1 with moving this to the other org - not so much on the name (csi alone is very ambiguous IMO). csi-driver seems less ambiguous (given we also have csi-lib)

not so much on the name (csi alone is very ambiguous IMO). csi-driver seems less ambiguous (given we also have csi-lib)

I agree, that works for me  :+1:

/lgtm

authors: JoshVanL SgtCoDFish munnerz

repo: jetstack/cert-manager-csi


text:
Fix flaking vault e2e test

We have a vault e2e test that keeps flaking. We should investigate and stop this from occuring:
[cert-manager] Vault Issuer should be ready with a valid Kubernetes Role and ServiceAccount Secret expand_more

/bug
/milestone v0.12

A few more examples of failures:
https://prow.build-infra.jetstack.net/view/gcs/jetstack-logs/logs/ci-cert-manager-e2e-v1-12/1183716170595831808
https://prow.build-infra.jetstack.net/view/gcs/jetstack-logs/logs/ci-cert-manager-e2e-v1-12/1184259867947307008
https://prow.build-infra.jetstack.net/view/gcs/jetstack-logs/logs/ci-cert-manager-e2e-v1-12/1184320263974555648
This appears to be an issue with shared Vault testing code and not the specific named test case above

/area testing
/kind flake

authors: JoshVanL munnerz

repo: jetstack/cert-manager


text:
cert-manager should allow to store certificate in vault

Is your feature request related to a problem? Please describe.
For our deployment,  we use vault to manage all our secrets. At the moment cert-manager only allows kubernetes secret to store the certs. Can we have options to chose store at the beginning so that it becomes more versatile.
Describe the solution you'd like
We want the cert-manager to allow users to store certs in vault.
Describe alternatives you've considered
N/A
Additional context
N/A
Environment details (remove if not applicable):

Kubernetes version:
Cloud-provider/provisioner:
cert-manager version:
Install method: e.g. helm/static manifests

/kind feature

This is a really common scenario that would be great to have available

/reopen

authors: bznein dspurandare


text:
Fixes for the validating and mutating webhook configuration

Use the correct URL path for validation
Also validate v1alpha3 API objects

Fixes: #2754
Fixes: #2822
Signed-off-by: Richard Wall richard.wall@jetstack.io
Fix validatingwebhookconfiguration to use correct URL path and to suport v1alpha3 API objects.

/kind bug
/lgtm
/approve
/cherrypick release-0.14

authors: munnerz wallrj


text:
Update cobra shorts with arguments for docs gen

What this PR does / why we need it:
We are going to automate generating command documentation. As such, we should add some more information about what arguments command take.
NONE

/assign @MattiasGees @simonswine

/close

/reopen
/assign @simonswine

repo: jetstack/tarmak


text:
Add MADGRAD

https://github.com/facebookresearch/madgrad
https://paperswithcode.com/paper/adaptivity-without-compromise-a-momentumized
https://arxiv.org/abs/2101.11075

Will take as look over weekend

Will take as look over weekend

)

Will take as look over weekend

Hello there)

Thanks! I will fix few minor tests in separately.

repo: jettify/pytorch-optimizer


text:
Unable to install postgresql-dev since last update

Hello there,
We are unable to install the postgresql-dev package at version 9.5.4-r0 since the last version of your image. The error it gives:
ERROR: unsatisfiable constraints:
  postgresql-dev-9.6.0-r1:
    breaks: world[postgresql-dev=9.5.4-r0]

It's probably because you replace the default repositories with the edge ones?
The Dockerfile

That's exactly it! Damn, I'm having all sorts of problems with packages dependencies in Alpine at the moment.
Could you please tell me:

The command you are using to install specific version of postgresql-dev
The tag you are trying to install to (3.4 or latest?)

Yeah sure!
FROM jfloff/alpine-python:2.7

RUN apk add --update \
    linux-headers \
    postgresql-dev=9.5.4-r0 \
    libxml2-dev \
    libxslt-dev \
    ncurses5-libs \
    rsync \
    nodejs \
    libjpeg-turbo-dev

We first had it like this, before the last update, but simply removing the @ edge didn't fix it:
FROM jfloff/alpine-python:2.7

RUN echo "@edge http://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && \
    apk add --update \
        postgresql-dev@edge=9.5.4-r0 \
        libxml2-dev \
        libxslt-dev \
        ncurses5-libs@edge \
        rsync \
        nodejs \
        libjpeg-turbo-dev@edge

Thanks for the quick fix!
2 more things:

I saw you added linux-headers to the 3.4 dockerfile; good idea to also do it for the 2.7 one?
Can you start a build on dockerhub so our ci can continue building?

Sorry about the delay, I was on a meeting. I added linux-headers by mistake, but I'm keeping them since they were also on needed on the slim. Pushing that to docker hub now. Hang in there!

I've already pushed to docker hub, but due to a know bug I'm getting failed on a couple of images (namely slim and onbuild

Just an update: After the DDoS issues on Friday, I got the 2.7, 3.4 and latest tags to build on Docker Hub. But the remaining tags (all onbuild and slim) are still failing due to a known bug.
When you can verify that your ci is back, up and runing. Thanks!

Thanks, our CI works again :)
My compliments for your response time! And for the nice base image, even with dependencies built in (which the default python alpine hasn't) it results in a smaller and more capable image!

Thank you so much for you feedback! Really glad you guys are using it :)
Any suggestions or problems feel free to drop a line! Cheers!

authors: jfloff snoepkast

repo: jfloff/alpine-python


text:
merge eslint-plugin-better rule into eslint-plugin-fp

currently eslint-plugin-better has a few extra rules, would be good to get one package maintained in one place rather than relying on eslint-config-cleanjs

Fortunately both the projects use the MIT license, which should make this easier. I just opened https://github.com/idmitriev/eslint-plugin-better/issues/4.

@jfmengels ^

authors: graingert nickmccurdy

repo: jfmengels/eslint-plugin-fp


text:
Readme enrichment with links to plugin

This is pretty self explaining.
Thanks to @petersellars for track down these links, this is a really nice starting point for a better readme
and thank you @jfrazelle for this great vim,

nice!

authors: jfrazelle thobianchi


text:
Allow setting the module type of the published module

[x] All tests passed. If this feature is not already covered by the tests, I added new
tests.

Allow setting the module type manually:
configure<ArtifactoryPluginConvention> {
   publish {
       defaults {
           moduleType("CPP")
       }
   }
}

And within the project scope:
tasks.named<ArtifactoryTask>("artifactoryPublish") {
   setModuleType("CPP")
}

I'll give this a spin today @yahavi

@yahavi This works fine and I have a change locally to enable this in our plugin. Please commit and put out another version of the artifactory-gradle-plugin asap.

      project.getTasks().getByName("artifactoryPublish", t -> {
          ((ArtifactoryTask) t).setModuleType("CPP");
      });

      /* Comment out the above, and enable this and it doesn't seem to work, the defaults action is empty when we call it. Wrapping it into a project.afterEvaluate() doesn't fix it either.
      project.getExtensions().getByType(ArtifactoryPluginConvention.class).publish(
              p -> p.defaults(
                      f -> f.setModuleType("CPP")));
      */
  };

However, this does seem to work for us, we'll configure the artifactoryPublish task and move on from that.

@yahavi Any update on this?

authors: enaess yahavi

repo: jfrog/artifactory-gradle-plugin


text:
Problems executing frogbot in Enterprise env without internet connection

Hi, I can't run frogbot. I suspect there are problems because I can't access the internet from our network. Can someone help me
Output of „frogbot scan-repository“
11:38:32 [🔵Info] Frogbot version: 2.20.1
11:38:32 [Debug] Reading config from file system. Looking for .frogbot/frogbot-config.yml
11:38:32 [Debug] frogbot-config.yml wasn't found in /.frogbot/frogbot-config.yml. Searching for it in upstream directories
11:38:32 [Debug] Attempting to download frogbot-config.yml from ART/testRepo
11:38:32 [Debug] The frogbot-config.yml will be downloaded from master branch
11:38:32 [Debug] The .frogbot/frogbot-config.yml file wasn't recognized in <ART/testRepo>
11:38:32 [Debug] Sending HTTP HEAD request to: 'https://github.com/jfrog/frogbot'
11:38:32 [Debug] Locking config file to run config AddOrEdit command.
11:38:32 [Debug] Creating lock in: /tmp/jfrog.cli.temp.-1713699512-182712745/locks/config
11:38:32 [Debug] Releasing lock: /tmp/jfrog.cli.temp.-1713699512-182712745/locks/config/jfrog-cli.conf.lck.216.1713699512633572200
11:38:32 [Debug] Config AddOrEdit command completed successfully. config file is released.
11:38:32 [Debug] Usage Report: Sending info...
11:38:32 [🔵Info] Running Frogbot "scan-repository" command
11:38:32 [Debug] Sending HTTP POST request to: https://usage-ecosystem.jfrog.io/api/usage/report
11:38:32 [Debug] Sending HTTP GET request to: https://artifactory/artifactory/api/system/version
11:38:32 [Debug] Sending HTTP GET request to: https://artifactory/xray/api/v1/system/version
11:38:32 [Debug] Artifactory response: 200
11:38:32 [Debug] JFrog Artifactory version is: 7.71.11
11:38:32 [Debug] Sending HTTP POST request to: https://artifactory/artifactory/api/system/usage
11:38:33 [Debug] JFrog Xray version is: 3.90.1
11:38:33 [Debug] Sending HTTP POST request to: https://artifactory/xray/api/v1/usage/events/send
11:39:02 [Debug] Can't check access to 'https://github.com/jfrog/frogbot', error while sending request:
Head "https://github.com/jfrog/frogbot": dial tcp 140.82.121.3:443: i/o timeout
11:39:02 [Debug] Sending an error report to JFrog analytics...
11:39:02 [Debug] Sending HTTP GET request to: https://artifactory/xsc/api/v1/system/version
11:39:02 [Debug] failed to check availability of Xsc service:server response: 404 Not Found
404 page not found

Hello @Mathias83, thank you for utilizing Frogbot and bringing this issue to our attention!
While encountering the 404 error, it is probably not the cause for the failure. This error pertains to an optional reporting service we recently introduced, which relies on the availability of the Xsc service. However, its absence should not impact the overall action.
Additionally, I noticed a timeout occurred during your execution. To address this, I'd like to investigate further to determine the root cause of the failure.
Could you kindly provide the complete log from your execution? Additionally, I'm curious whether you attempted to rerun the action or if it was executed only once.
With this additional information, I'll be able to conduct a thorough examination of the issue and either provide you with an update or request further details if needed.

Hi @eranturgeman,
Frogbot runs in a Docker container with the corresponding properties as shown below.
`
JF_RELEASES_REPO=jfrog-release-ext
JF_PASSWORD=password
JF_USER=username
JF_XRAY_URL=
JF_GIT_OWNER=ART
JF_GIT_REPO=testRepo
JF_GIT_PROVIDER=bitbucketServer
JF_URL=https://artifactory
JF_GIT_TOKEN=token
JFROG_CLI_LOG_LEVEL=DEBUG
JF_GIT_BASE_BRANCH=master
JF_GIT_API_ENDPOINT=https://coderepo
`
I have already shared the complete edition of Frogbot except for this passage that comes at the end
Reporting to JFrog analytics is skipped...
11:39:02 [🚨Error] Status: 404 , Body: <!doctype html>HTTP Status 404 – Not FoundHTTP Status 404 – Not FoundType Status ReportDescription The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. ParseError: invalid character '<' looking for beginning of value

I need the complete log where it indicates the exit status
The info you provided about the container cannot help me since it doesn't contain the actual values I assume.
Also I cannot understand where is this body in your message came from:
<!doctype html>HTTP Status 404 – Not Found
Can you please provide the full log in DEBUG mode, as Frogbot prints it to you?

Hallo @eranturgeman,
that's all there is. I run Frogbot and at the end of the HTML output is finished

bash-5.1$ frogbot scan-repository
13:41:33 [🔵Info] Frogbot version: 2.20.1
13:41:33 [Debug] Reading config from file system. Looking for .frogbot/frogbot-config.yml
13:41:33 [Debug] frogbot-config.yml wasn't found in /.frogbot/frogbot-config.yml. Searching for it in upstream directories
13:41:33 [Debug] Attempting to download frogbot-config.yml from ART/testrepo
13:41:33 [Debug] The frogbot-config.yml will be downloaded from master branch
13:41:33 [Debug] The .frogbot/frogbot-config.yml file wasn't recognized in <ART/testrepo>
13:41:33 [Debug] Sending HTTP HEAD request to: 'https://github.com/jfrog/frogbot'
13:41:33 [Debug] Locking config file to run config AddOrEdit command.
13:41:33 [Debug] Creating lock in: /tmp/jfrog.cli.temp.-1713706893-4068491470/locks/config
13:41:33 [Debug] Releasing lock: /tmp/jfrog.cli.temp.-1713706893-4068491470/locks/config/jfrog-cli.conf.lck.225.1713706893644275100
13:41:33 [Debug] Config AddOrEdit command completed successfully. config file is released.
13:41:33 [Debug] Usage Report: Sending info...
13:41:33 [🔵Info] Running Frogbot "scan-repository" command
13:41:33 [Debug] Sending HTTP GET request to: https://artifactory/artifactory/api/system/version
13:41:33 [Debug] Sending HTTP GET request to: https://artifactory/xray/api/v1/system/version
13:41:33 [Debug] Sending HTTP POST request to: https://usage-ecosystem.jfrog.io/api/usage/report
13:41:34 [Debug] JFrog Xray version is: 3.90.1
13:41:34 [Debug] Sending HTTP POST request to: https://artifactory/xray/api/v1/usage/events/send
13:41:34 [Debug] Artifactory response: 200
13:41:34 [Debug] JFrog Artifactory version is: 7.71.11
13:41:34 [Debug] Sending HTTP POST request to: https://artifactory/artifactory/api/system/usage
13:42:03 [Debug] Can't check access to 'https://github.com/jfrog/frogbot', error while sending request:
Head "https://github.com/jfrog/frogbot": dial tcp 140.82.121.3:443: i/o timeout
13:42:03 [Debug] Sending an error report to JFrog analytics...
13:42:03 [Debug] Sending HTTP GET request to: https://artifactory/xsc/api/v1/system/version
13:42:03 [Debug] failed to check availability of Xsc service:server response: 404 Not Found
404 page not found

Reporting to JFrog analytics is skipped...
13:42:03 [🚨Error] Status: 404 , Body: <!doctype html><title>HTTP Status 404 – Not Found</title>
HTTP Status 404 – Not Found

Type Status Report

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

 ParseError: invalid character '<' looking for beginning of value
bash-5.1$

I played around a bit and adjusted the URL of the Git repository. Now the message is different although I specify the user and the token. The audit log of the server also shows the user but apparently without a token? Apparently also with basic Auth instead of bearer token. Is that how it should be?
19:47:09 [Debug] Sending an error report to JFrog analytics...
19:47:09 [Debug] Sending HTTP GET request to: https://artifactory/xsc/api/v1/system/version
19:47:09 [Debug] failed to check availability of Xsc service:server response: 404 Not Found
404 page not found

Reporting to JFrog analytics is skipped...
19:47:09 [🚨Error] git clone frogbot from https://***.git failed with error: authentication required

@Mathias83,
Could you kindly share the complete CI file you used? Feel free to redact any sensitive data.
I also have a few more questions:

From where is Frogbot being downloaded? Did you utilize the JF_RELEASES_REPO environment variable?
Could you please clarify your last question? I didn't fully grasp what you were asking and what specific changes you made.
Can you provide the original and updated values of the URL you modified? Additionally, what was the last known value with which Frogbot ran successfully?
What value did you assign to JF_GIT_API_ENDPOINT?

Please disregard any error logs you encounter in Debug mode. If they were critical, they wouldn't appear in Debug mode. You may continue to see 404 error messages from Xsc, as I assume it's either not deployed or inaccessible due to lack of internet access.
Regarding your authentication question, you have two options:
Using JF_USER and JF_PASSWORD
Using JF_ACCESS_TOKEN (in which case, a username is not required)

Hi thanks i have found a solution by myself.

@Mathias83 I got the same issue. What is your solution?

authors: Mathias83 chaksaray eranturgeman

repo: jfrog/frogbot


text:
Unable to download complete build when using --build flag

Describe the bug
When trying to download the latest artifacts from Arifactory using Jfrog CLI and specifying the --build option, the Jfrog CLI didn´t find any files to download. Test with older Versions (1.44.0) working and using the Buildnumber /123 working too.
To Reproduce
CI=true jfrog rt dl --url https://linktoartifactoy.com/artifactory --user _deployuser --password ASDFASDFASDFASDFASDF --build application::app-name::trunk '*' "/tmp/download"
{
  "status": "success",
  "totals": {
    "success": 0,
    "failure": 0
  }
}
Expected behavior
According to the documentation https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+Artifactory#CLIforJFrogArtifactory-DownloadingFiles, it says when we use --build flag and If we do not specify the build number, the artifacts are filtered by the latest build number. So we are expecting to get the latest artifact version.
CI=true jfrog rt dl --url https://linktoartifactoy.com/artifactory --user _deployuser --password ASDFASDFASDFASDFASDF --build application::app-name::trunk '*' "/tmp/download"
{
  "status": "success",
  "totals": {
    "success": 2,
    "failure": 0
  }
}
Screenshots
No Screenshots
Versions

JFrog CLI version: 2.4.1
JFrog CLI operating system: 1.51.2
Artifactory Version: 7.25.7

Additional context
Add any other context about the problem here.

@erlkoenig91
Thanks for reporting this issue.
It appears that the problem occurs when using build name without build number to get the latest build (or using LATEST parameter) with build name that contains Slash (:) character.
Behind the scenes, we escape slashes with %3A encoding, but it appears that AQL has a problem resolving the % character so the query fails to provide.
Our apologies for the inconvenience caused by this bug.
That issue has the same root cause as https://github.com/jfrog/jfrog-cli/issues/1220.
Resolving that issue requires changes on both Artifactory and JFrog CLI.
We will share an update here once the fix is released.
We opened https://www.jfrog.com/jira/browse/RTFACT-25808 to track the required fix on Artifactory’s side.

Reference in ne

https://jfrog.atlassian.net/browse/RTFACT-25808 is marked as closed but the this problem persists:
https://github.com/jfrog/jfrog-cli/issues/1220

repo: jfrog/jfrog-cli


text:
Docker command missing

jfrog-cli uses docker command for some container operations. All jfrog-cli commands which require docker will fail using the jfrog-cli-full-v2 image.
As podman is already available inside the image podman could be used instead of docker.
RUN ln -s /usr/bin/podman /usr/bin/docker

@nekator,
Thanks for reporting this issue.
Collecting the build-info whereby the "docker" is a soft link to "podman" probably won't work.
However, the JFrog CLI already support the pull and push Podman commands:
jf rt podman-pull
jf rt podman-push

For more information see Managing Docker Images.
Please let me know what do you think.

I have problems to scan container images via jfrog-cli because the scan uses docker save which could also be done by podman save. So I thought a quick fix would be link docker to pod man inside the Image.
Alternatively I could think about something like a additional command or some configuration to use podman instead of docker for the cli.

Thanks for your input.
We think that the right place to add this feature is to add a podman scan command in the JFrog CLI.
Running docker scan with Podman is not expected to work.
Could you please create a feature request for jf podman scan command in the JFrog CLI?
https://github.com/jfrog/jfrog-cli/issues/new/choose

I will create a feature request in JFrog CLI for this.
Thanks for the fast reply

authors: nekator yahavi

repo: jfrog/jfrog-ecosystem-integration-env


text:
Housekeeping

Description of Change
Here's a PR, doing a little housekeeping, like updating the NuGet packages and cleaning up the sample code. Most changes are in the Samples project. The actual plugin project file was revised a bit, and the Microsoft.SourceLink.GitHub package was updated to the latest version.
Issues Resolved

none

Platforms Affected

none

@jfversluis I have some more PRs in the pipeline that I think we should do a stable version with this version, and after that increase the plugin version to 2.2.x-beta.

Ugh. Stuff with the pipeline going on. I'll cheat this one in, it should be good for the next PR

authors: jfversluis vividos