lots of warnings in MSUI tests

There are lots of warnings related to one issue, which make identifying other issues very difficult. E.g.
mslib/msui/_tests/test_mscolab.py::Test_Mscolab_connect_window::test_url_combo
  /__w/MSS/MSS/conftest.py:191: UserWarning: An unhandled message box popped up during your test!
  PyQt5.QtWidgets.QMessageBox.critical(): [call(<mslib.msui.mss_pyui.MSSMainWindow object at 0x7f9120d73b80>, 'file io plugin error import plugins', "ERROR: Configuration\n\n{'CSV': (<function load_from_csv at 0x7f919a8d8820>, 'csv')}\n\nthrows <class 'ValueError'> error:\n'actionImportFlightTrackCSV' has already been set!"), call(<mslib.msui.mss_pyui.MSSMainWindow object at 0x7f9120d73b80>, 'file io plugin error import plugins', "ERROR: Configuration\n\n{'CSV': (<function save_to_csv at 0x7f919a8d8790>, 'csv')}\n\nthrows <class 'ValueError'> error:\n'actionExportFlightTrackCSV' has already been set!")]
    warnings.warn(f"An unhandled message box popped up during your test!\n{summary}")
    ```

I assume only the UI is involved into this warnings. Not a server thing.
mslib/msui/_tests/test_mss_pyui.py::Test_MSSSideViewWindow::test_flight_track_io
  /__w/MSS/MSS/conftest.py:191: UserWarning: An unhandled message box popped up during your test!
  PyQt5.QtWidgets.QMessageBox.critical(): [call(<mslib.msui.mss_pyui.MSSMainWindow object at 0x7f1f401d2040>, 'file io plugin error import plugins', "ERROR: Configuration\n\n{'CSV': (<function load_from_csv at 0x7f1fbac67820>, 'csv')}\n\nthrows <class 'ValueError'> error:\n'actionImportFlightTrackCSV' has already been set!"), call(<mslib.msui.mss_pyui.MSSMainWindow object at 0x7f1f401d2040>, 'file io plugin error import plugins', "ERROR: Configuration\n\n{'CSV': (<function save_to_csv at 0x7f1fbac67790>, 'csv')}\n\nthrows <class 'ValueError'> error:\n'actionExportFlightTrackCSV' has already been set!")]
    warnings.warn(f"An unhandled message box popped up during your test!\n{summary}")

just a note on that.
These warnings are shown with reverse order of test execution.


ChangeMethodTargetToStatic recipe does not work with static methods referenced using classes

For example ,
Consider class A
package a;
public class A {
   public static void foo() {}
}

Consider class B
package b;
public class B {
   public static void foo() {}
}

And Class C using Class A
import static a.A;
class C {
   public void test() {
      // static method referenced using class
       A.foo();
   }
}

Here if we apply ChangeMethodTargetToStatic("a.A foo()", "b.B") , it stays as it is.
I am not sure whether it is a limitation of the recipe or MethodPattern.

Had a bit of a look; turns out the issue in #2853 could be resolved by changing the order in which two recipes were applied.
Did uncover a slightly different issue potentially with how method patterns match, as making the following change in the recipe
https://github.com/openrewrite/rewrite/blob/main/rewrite-java/src/main/resources/META-INF/rewrite/java-best-practices.yml#L36
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.cleanup.ReplaceApacheCommonsLang3ValidateNotNullWithObjectsRequireNonNull
displayName: Replace `org.apache.commons.lang3.Validate#notNull` with `Objects#requireNonNull`
description: 'Replace `org.apache.commons.lang3.Validate.notNull(Object)` with `Objects.requireNonNull(Object)`.'
recipeList:
  - org.openrewrite.java.ChangeMethodName:
      methodPattern: org.apache.commons.lang3.Validate notNull(Object, String)
      newMethodName: requireNonNull
  - org.openrewrite.java.ChangeMethodName:
      methodPattern: org.apache.commons.lang3.Validate notNull(Object)
      newMethodName: requireNonNull
  - org.openrewrite.java.ChangeMethodTargetToStatic:
      methodPattern: org.apache.commons.lang3.Validate requireNonNull(..)
      fullyQualifiedTargetTypeName: java.util.Objects

Does not match to do the replacement in the following test.
    @Test
    void replaceWithTwoArguments() {
        rewriteRun(
          java(
            """
              import org.apache.commons.lang3.Validate;

              class Test {
                  void test(Object obj) {
                      Validate.notNull(obj, "Object should not be null");
                  }
              }
              """,
            """
              import java.util.Objects;

              class Test {
                  void test(Object obj) {
                      Objects.requireNonNull(obj, "Object should not be null");
                  }
              }
              """
          )
        );
    }

hi @srmalkan ; dove in for a bit; no answers yet, but wanted to share some progress for the next person to look into this. Here's the test you gave above as something that'd fit into ChangeMethodTargetToStaticTest
    @Issue("https://github.com/openrewrite/rewrite/issues/2859")
    @Test
    void staticTargetToStaticReferencedUsingClasses() {
        rewriteRun(
          spec -> spec.recipe(new ChangeMethodTargetToStatic("a.A foo()", "b.B", null, null, true)),
          java(
            """
              package a;
              public class A {
                 public static void foo() {}
              }
              """
          ),
          java(
            """
              package b;
              public class B {
                 public static void foo() {}
              }
              """
          ),
          java(
            """
              import static a.A;

              class C {
                 public void test() {
                     // static method referenced using class
                     A.foo();
                 }
              }
              """,
            """
              import static b.B;

              class C {
                 public void test() {
                     // static method referenced using class
                     B.foo();
                 }
              }
              """
          )
        );
    }

When I run this in the debugger, I see that visitMethodInvocation is indeed not called, which hints at the getSingleSourceApplicableTest call to UsesMethod with the method pattern a.A foo() indeed gives no matches.
To investigate further I wrote a rough test in MethodMatcherTest, but did not get much further there. I'll see if a colleague can weigh in here, or try again later.


wrong database url

Hey @gollenia,
thanks for your pull request. The examples needs to be consolidated and improved. I did not had the time, but would check them out today and improve them in an pull request at once.
I saw your issue and will ad some more information there.


Volume migration across pools sometimes loses volume

ISSUE TYPE

Bug Report

COMPONENT NAME
CLOUDSTACK VERSION

4.11.*
4.13.0

CONFIGURATION

OS / ENVIRONMENT

SUMMARY

When migrating between volumes across primary storage, if the zone's secondary storage has made the capacity> 90%, migration will fail. It also deletes VOLUME on the source primary storage.
In this case the data is lost ...

this seems to be a blocker issue

This might be a corner case but one of our clients has been hit by this issue.  VM data was expunged.

So just to confirm, secondary storage is almost fully occupied and you try to migrate a volume to different storage. I'll try to reproduce with the following steps:

Create a volume
Make sure capacity of the secondary storage cannot facilitate the volume
migrate to volume from primary a to primary b.

Please comment if I got this steps wrong? @div8cn and @luhaijiao

closed via #4043


missing dependencies

ts-md5 is missing in package.json. it should be part of peerDependencies.
 - ts-md5/dist/md5

    ERROR in node_modules/ng-person/lib/ng-person.module.d.ts:1:22 - error NG6002: Appears in the NgModule.imports of AppModule, but could not be resolved to an NgModule class

    1 export declare class NgPersonModule {

Hi @NileshPatel17  thank you for your feedback.
Еhe error came due to the lack of package dependencies, so I released patch to fixing it. Please, update up to 1.0.4


Use data grid 2 in deeplink module

In this PR, we replaced the data grid widget with data grid 2 in the DeepLink module to be ready for the React client.
Also, we converted the deeplink project to MX 10.0.0 and updated MendixSSO

It also looks the same in the old version.


Add one-bash/one.bash

New App Submission

[x] I've read the contribution guidelines.

Repo or homepage link: https://github.com/one-bash/one.bash
Description: An elegant framework to manage commands, completions, dotfiles for bash users.
Why I think it's awesome: User can manage all scripts and files in modules.

Thank you for submitting this entry! This project looks promising, but I'll have to close this PR because it does not fit the entry requirements. All new entries must:

Add only one item (multiple PRs for each new suggestion)
Have at least 50 stars (less for GitLab)
Be older than 90 days

Feel free to suggest this project once those requirements are met!


Expose maxItemCount in FileImportCommand

Hi Julien, can we please pass-through the maxItemCount Spring Batch configuration option so multiple RIOT processes can be deployed in parallel to shard/partition file import across multiple machines?

Added method FileImportCommand.getFlatFileOptions().setMaxItemCount(int count)


Debug difference curves in METviewer 3.0

I'm trying to produce a plot with a difference curve.  I can produce a plot with event equalization turned on for two models, but when I add the difference curve, no error is produced, no data is produced, and hence no lines show up on the plot.  This error occurred for both CTC and ECNT line types.  Didn't try any others. This pair of XMLs provide an example of what I'm talking about.

And a screenshot of no R data available

I rerun the plot with the difference curve and could not reproduce the screen shot you attached to the GitHub issue.
What I got is 'no plot' image and an error message  indicating that :
"Error: Derived curve can't be calculated. Multiple values for one valid date/fcst_lead"

Operator error. Tatiana - you may close.


Added gulp+browserSync for #11

Hello @georgschlenkhoff I was having lunch and thought why not do it now?

I added browserSync and Gulp for the worry-free browser live-preview, i.e. without having to install anything else. Only supplanted the original watch method at line 48 of dokker.js with the gulp task, which is written all in the gulpfile.js.
Tested it and it ran like a charm. Just do the ./node_modules/dokker/bin/watch as usual. You can save your .js file and it will rebuild and reload automatically.
You might wish to update your README and drop the need to install Live Preview. Maybe the new description would be "just do ./node_modules/dokker/bin/watch and magic will happen.

Fixed a build-breaking bug at line 390 which the mocha.command. It's not needed and the build system doesn't know what to do with it.

So basically we are at the next version of Dokker, with an awesome live-preview!

Feature request #11 for easier live preview is solved with this update.

I added a quick meta tag in HTML's head that attributes credits back to dokkerjs.

simplified and update the README: live preview, Dokker in the wild.

Btw you may wish to regenerate the docs for dokkerjs.com before publishing/updating the site. I haven't touch it in case I screw up any manual config you have.

Alright. Will merge. Will also grant to do some advertising for lomath for huge commit of you ;-)

;) thanks.
and I see you're using the new theme too!
Btw I'll keep testing and fixing any issues I found since I'll be using Dokker for my next projects.


#832 minor issue resolved regarding verb

Minor change of words in the documentation.

thanks for the PR. "zitify" is actually a term that we use to mean "add ziti to something". I added the term to the glossary at https://docs.openziti.io/docs/reference/glossary#zitification-zitified-zitify
unfortunately that means i'm going to close your PR with "wontfix", but thank you for the PR! :)


bug: ion-slide-box with two slides and does-continue does not work correctly

Type: bug
Platform: all
hey guys in the rc4 and last nightly i use an ion-slide-box with the does-continue attribute and two slides.
http://codepen.io/bengtweisse/pen/PqYyvM
you can scroll to the second slide, but not back and not forward.
If you swipe back from the first slide the pager is not correct.
In the dom you can see more than two ion-slides.
If you resize the window there are suddenly four pager-"points".
If you add a third slide everything works fine.

Greetings @KillerCodeMonkey!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

+1

+1

I have met the same problem recently, and when checking the ioinc souce code of "ionic.bundle.js", I found this souce as below:
  special case if two slides
  if (browser.transitions && options.continuous && slides.length < 3) {
    element.appendChild(slides[0].cloneNode(true));
    element.appendChild(element.children[1].cloneNode(true));
    slides = element.children;
  }

It seems like that If and only if the slide count is 2, ionic will double the count while setting up.
I don't quite understand why the author added this special case, and how to fix it properly,
but after commenting them out, the problem seems like get resolved.
May this be helpful.
Cheers.

I am having the same problem now, +1

Same here. +1

Same problem. +1

+1

+1

Also having this issue (+1).

I was able to find a temporary fix for my issue.
My issue was slightly different than the original post in that the pager was showing two pager icons but actually had four slides. When you got to slides 3 and 4 (which were duplicates of 1 and 2), no pager icon was selected.
So, whenever I only have two slides and the slide changes (using on-slide-changed), I check the current index via $ionicSlideBoxDelegate.currentIndex(). I have an ng-class applied if the index is 2 (ex: first-slide) and one when it is 3 (ex: last-slide). I also overrode the css for the .first-slide .slider-pager span:first_child and .last-slide .slider-pager span:last_child to have opacity: 1.
This change makes it appear that there are only 2 slides, even though there are really 4. This wouldn't work if the issue didn't let me slide through like in the original post, but for my issue it was good enough until there is a fix.

have the same issue as tflavin, 4 slides and only two slides, but if i open a modal over the page when the modal is closed the sliders became 4.

@tflavin +1 two slides should definitely not be changed into 4 slides. It's counter intuitive. Or at least it should be in the docs !

Having the same problem. Any proper fix yet?

same issue...+1

+1

Same here with 1.1.0

+1

Another work around is to special case your model to explicitly duplicate your array in the pattern [0, 1, 0, 1] if it has 2 elements.

Hey,guys, I add the following code to my controller script, and it seems that that bug disappeared.
function loadIds() is to get json data from server and store data into $scope.ids
'''javascript'''
$scope.$on('$ionicView.beforeEnter', function(){
if($scope.ids.length == 0){
$scope.loadIds();
}else{
$ionicSlideBoxDelegate.update();
$ionicSlideBoxDelegate.loop(true);
}
});

It seems the copied objects don't inherit the data in their scope, causing the following code to not work:
ng-click="goTo(post)"

I've had some the same issue and fixed it using the following hack:
Make sure you have an ng-if directive on the ion-slide-box (ng-show does not work) so that it's not rendered unless there are items
Second, when updating the ng-repeat source, swap it out with null (or an empty array), and then update in a $timeout:
    // HACK: Because of the annoying bug with the slider pager dots being duplicated
    var temp = $scope.transaction.Vehicle.Photos;
    $scope.transaction.Vehicle.Photos = [];

    $timeout(function() {
      $scope.transaction.Vehicle.Photos = temp;

      $timeout(function() {
        var del = $ionicSlideBoxDelegate.$getByHandle("details-thumbnails");
        del.update();
        del.slide(0);
      });
    });

The two sets of timeouts are required

+1

+1

This is still an issue in 1.1.1.  I have created a pen (http://codepen.io/clawg/pen/ojKQQm) where the number of dots jumps form 2 to 4 when you resize the window.  This only happens with 2 items and its not even http data that populates the ion-slide.  Also worth noting is the active state of the dot, before resize where there are 2 the dots get out of sync as they are working off 4 slides not 2.

Fixed in master and landing in 1.2:
Hey everyone, can you try the new slidebox just pushed to master (available in upcoming 1.2):
<ion-slides options="options">
  <ion-slide-page>
  </ion-slide-page>
</ion-slides>

Handles the < 3 slide and looping case a lot better! Specify options in the options scope variable:
controller('MyCtrl', function($scope) {
  $scope.options = {
    loop: true
  };
});

I still have this issue in 1.2.4

Still in 1.2.4 for me as well

I'm on version 1.2.4 and have the same issue described by tflavin

+1

+1

Hey @fengsong97  and @andredublin are you guys using ionic 1.3.1?

@fileupload  thanx, since your rply gave me idea. Facing same type of problem. But was able to do some changes and they are working fine as of now so far... I dnt know whether that is correct way or not completely but following changes in ionic.bundle.js helped me solve my issue though. Just commented following lines:-
//special case if two slides
if (browser.transitions && options.continuous && slides.length < 3) {
element.appendChild(slides[0].cloneNode(true));
element.appendChild(element.children[1].cloneNode(true));
slides = element.children;
}
with these everything is working fine so far.

@RohitDhamal
Your solution only makes the slide transition awkward. My guess is that the programmer did this for transition animations.
slide 1 | slide 2
If you swipe left from slide 2 there is no slide to its right which makes it look like there is NO sliding done while in fact the slide DID change. With 3 slides there is always a slide to the right so the transition can occur smoothly.
slide 1 | slide 2 | duplicateslide 1
looking forward to a fix :/

If you update to ionic Latest Version: 1.3.1 "el salvador" you can use another directive which is not ion-slide-box but ion-slides. This appearently does not have these issues.

+1


Pipelines and Colored Text for Pre-Processing

Is it possible to support pipelines for pre-processing? I was hoping to use the following command to make a slide:
echo prrm | figlet -f broadway | boxes -a c -d unicornsay | lolcat

But it doesn't appear to work. I can put it in a file called prrm.sh with #!/usr/bin/env zsh and then use ./prrm.sh.
Also, while running ./prrm.sh results in the following:

When displayed through slides I get no color:

Hey! Thanks so much for taking the time to create this issue, I will try to take a look. The pipe stuff should be solvable by doing exactly what you did just in the background / invisible to the user. I believe the colouring stuff should be fixable as well :)

@knpwrs Btw, this may be because lolcat detects that there is no tty and prints out the art without color. Similar as to what would happen if you were to lolcat | pbcopy.
Can you try:
lolcat --force

to force color output.

lolcat --force does the trick! Thank you!
I'm going to leave this issue open assuming there isn't a fix yet for pipes. If there is one already feel free to close this!

Yup, that's correct, I don't think anything has changed with the pipes, but the solution will likely look similar to converting the command (with pipes) to a shell script in the background.


De-SURFnet Engineblock

Renamed surfnet pointers to have a cleaner OpenConext base when checking out.

Thanks!


Return IbcReceiveResponse (no Result wrapper) from ibc_packet_receive

We really want to discourage returning errors - they should return success and an error acknowledgement. A few techniques are documented in IBC.md now since #885
To make this more explicit we can just prevent returning an error. This would be different than all other entry points, but maybe desirable. Open for feedback (do it or close issue).

On the other hand: if people start to use panics instead, it gets even worse then returning errors.

I think the api interface should allow returning errors (you are right, panic is worse).
I did add some extensive documentation on both receiving packets and on error handing in receive
Maybe that is enough to close this issue?
I would be happy if some other devs read those docs and make a concrete issue if anything is missing there, which I can close by improving the docs.

Writing an IBC contract is non-trivial and people will need to read docs to understand it. We cannot encode all this info in the type system.
I would also love to have a larger collection of IBC examples to demo...

Great, let's keep as is for consistency. Best practive will emerge for how to converts errors to acknowledgements.


FailureTimeout and similar settings deprecated in latest Win10 SDK releases?

It seems symproxy, starting with version 10.0.18317.1000 and through to the current release of 10.0.18342.1, no longer reads keys: FailureTimeout, FailureCount, FailurePeriod, and FailureBlackout. Is that still a supported feature in the newest releases?

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

ID: 8a95a56a-d534-9fe7-6b12-eccac97f2452
Version Independent ID: 6ed02813-5670-cec5-876c-720f93ea3248
Content: Configuring the Registry - Windows drivers
Content Source: windows-driver-docs-pr/debugger/configuring-the-registry.md
Product: windows-hardware
GitHub Login: @DOMARS
Microsoft Alias: domars

These settings appear to also be no longer read with the latest releases: LogLevel, MissFileCache, and MissFileThreads
Put another way, these appear to be the only settings read on startup: NoInternetProxy
NoLongerIndexedAuthoritive
NoFilePointers
NoUncompress
NoCache
MissTimeout
MissAgeTimeout
MissAgeCheck
RequestTimeout
RetryAppHang
UriFilter
UriTiers

That also means the following settings aren't described here:
NoLongerIndexedAuthoritive
MissAgeTimeout
RequestTimeout
RetryAppHang
UriFilter
UriTiers

@ryan-roberts - Thanks for passing on what you are seeing. How are you checking to see what entries are valid for symproxy?

@ryan-roberts - I'm seeing the changes in places such as the included reg file and I'm working on updates.

Sorry seeing your question late-- I gathered the settings differences largely from Process Monitor events captured during SymProxy startup.

@ryan-roberts - Following up with the dev to see if we can get descriptions for the new entries, such as MissAgeTimeout.

@ryan-roberts - Once again following up with the dev.

@ryan-roberts - Thanks for this issue, and apologies for the delay. I have created a work item for the dev team for this work and we will be tracking this request there, so I will close this issue. I don't have an ETA for that work right now.
If you need information on this task, these newsgroups can be helpful.
•	Windows Hardware WDK and Driver Development
•	OSR's ntdev List
•	OSR's windbg List
Thanks again for your interest in the debugger docs.


Instructions for pkgs.k8s.io should be updated to check GPG fingerprint

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
https://kubernetes.io/blog/2023/08/15/pkgs-k8s-io-introduction/
The current documentations instruct to trust https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key without checking its fingerprint:
https://github.com/kubernetes/website/blob/833291687fd2a241efd3cb295dc4973af3696942/content/en/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md?plain=1#L181-L192
This doesn't seem to be more secure than just relying on HTTPS.
The documentation should be updated to check its fingerprint.
Or, the GPG can be just removed if the HTTPS infrastructure for https://pkgs.k8s.io is considered to be trustable.

/sig security
/priority awaiting-more-evidence
Is there any useful way to verify that signing key?

the HTTPS infrastructure for https://pkgs.k8s.io

That's on AWS now, but in the future we might serve packages from other places (eg using a redirect).
Options here include:

publish the signing key to a URL that we consider even more trusted
sign the package signing key using GPG and explain how to validate it
sign the package signing key using some other method, eg S/MIME, and explain how to validate back to a trust authority

The hosting of the key seems to be here: https://build.opensuse.org/projects/isv:kubernetes/signing_keys

Fingerprint de15 b144 86cd 377b 9e87 6e1a 2346 54da 9a29 6436

But there were some issues with the previous key, https://packages.cloud.google.com/apt/doc/apt-key.gpg
that caused it to be moved from a different server to the regular dl.k8s.io infrastructure (like the stable.txt)

I'll be taking a look into this.
/assign

Something simple like hardcoding the fingerprint in the install script and verifying against the downloaded key ?
gpg --show-keys kubernetes-apt-keyring.gpg | grep --quiet DE15B14486CD377B9E876E1A234654DA9A296436

Something simple like hardcoding the fingerprint in the install script and verifying against the downloaded key ?
gpg --show-keys kubernetes-apt-keyring.gpg | grep --quiet DE15B14486CD377B9E876E1A234654DA9A296436
"[expires: 2024-11-02]"

This grep seems vulnerable: An attacker may put "DE15B14486CD377B9E876E1A234654DA9A296436" to the signer name, the email address, or maybe other metadata.

The default format only has significant whitespace:
pub   rsa2048 2022-08-25 [SC] [expires: 2024-11-02]
      DE15B14486CD377B9E876E1A234654DA9A296436
uid                      isv:kubernetes OBS Project<EMAIL_ADDRESS>

So either it something hacky like ^      , or use the machine readable format.
gpg --show-keys --with-colons kubernetes-apt-keyring.gpg | grep --quiet "fpr:::::::::DE15B14486CD377B9E876E1A234654DA9A296436:"

It actually did say so in the manual:

Never use the output of this command in scripts or other programs. The output is intended only for humans and its format is likely to change.  The --with-colons option emits the output in a stable, machine-parseable format, which is intended for use by scripts and other programs.

But since we're doing a simple install script anyway, might as well put  in the complicated instructions?
Note that the containerd.io package does not check, either: https://docs.docker.com/engine/install/ubuntu/
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

(Found this thread due to frustration with documentation around pgp keys.)
The following command seems more natural and secure: gpg --fingerprint DE15B14486CD377B9E876E1A234654DA9A296436

/lifecycle frozen
Let's make sure to triage this issue.

The suggested command doesn't seem to help much:
$ gpg --fingerprint DE15B14486CD377B9E876E1A234654DA9A296436
gpg: error reading key: No public key

And it is not obvious, where it should go in the docs...

i.e. how to check the downloaded key, before using?
OBS: isv_kubernetes_key.gpg
deb: Release.key
rpm: repomd.xml.key
Same thing also goes for the add-ons, such as cri-o:
https://kubernetes.io/blog/2023/10/10/cri-o-community-package-infrastructure/

https://pkgs.k8s.io/addons:/cri-o:/prerelease:/main/rpm/repodata/repomd.xml.key
https://pkgs.k8s.io/addons:/cri-o:/prerelease:/main/deb/Release.key

FWIW, if you take a moment to re-read my response you’ll see I wasn’t attempting to solve your initial problem as much as I was responding to the attempt to “hack” a solution with grep and it’s inherent flaws. It makes more sense to me to use gpg, which already has functionality that will take a known Fingerprint and list it if it there.
And not sure what you are talking about in terms of fingerprints and there being “no obvious” place to add in docs, I think you’re taking what I’m saying out of context… e.g. companies who list public fingerprints along with public keys right next to their install verification instructions. The use case seems pretty obvious to me (vault, aws) 🤷

It makes more sense to me to use gpg, which already has functionality that will take a known Fingerprint and list it if it there.

Right, it was just missing some details like that one needs to import the key to the keyring first? Currently it is just stored in a file...
Listing the fingerprint sounds like a good idea. And I think the suggestion of an install script was already turned down.
So we're not doing any more hacks, but waiting for the real solution.

This is one for SIG Release and SIG Security. The best first step would be to move things forward so we can triage it, reaching consensus on whether anything needs fixing.

I'm not working on this at the moment.
/unassign


'sign_cryptography' import error

I am just trying to test sample code. but this error is occured.
I think this problem is related with cryptography thing, so i installed cryptography package.
but  I could not solve it.
File "test.py", line 4, in
from adb import sign_cryptography
ImportError: cannot import name 'sign_cryptography'
installed package
M2Crypto==0.26.4
cryptography==2.8
rsa==4.0
certifi==2019.9.11
pure-python-adb==0.2.2.dev0
adb==1.3.0
python==3.6.5

this is my test code
import os.path as op
from adb import adb_commands
from adb import sign_cryptography
KitKat+ devices require authentication
signer = sign_cryptography.CryptographySigner( op.expandduser('~/.android/adbkey'))
Connect to the device
device = adb_commands.AdbCommands()
device.ConnectDevice( rsa_keys=[signer])
Now we can use Shell, Pull, Push, etc!
for i in xrange(10):
print( device.Shell('echo %d' % i) )

sorry, python-adb is not installed via pip command.
it caused this error.


libcollectdclient does not exist

Basic info
nixpkgs branch master
Describe your issue here
There is a collectd package and service, however, there is no separation between the collectd daemon and the collectd client library. Packages which depend on libcollectdclient must install the entire collectd daemon. A libcollectdclient package should "./configure --disable-daemon" and "make -C src/libcollectdclient/ install"

Merged.


Reuse git components in the tracking of dev git repos

SUMMARY
When attempting to create an existent component the dci_component plugin  did not returned the value of the component. This caused a failure when attaching the component to the job. To avoid this, the role now searches for the git component and obtains its id.
ISSUE TYPE

Bug

Tests

[ ] TestBos2Sno:  sno sno:ansible_tags=job,dci,pre-run,success -

TestBos2Sno: sno sno:ansible_tags=job,dci,pre-run,success

recheck

recheck

recheck

It's working when the component is already created:
https://www.distributed-ci.io/jobs/5378afd8-baf0-4ef8-a400-f3471847e6b9/jobStates?sort=date&task=46e4bf8d-7fa4-4907-9f9a-9459e4c1f1b0

recheck

retest

retest

The errors are expected, because I'm only testing up to the pre-run step.
In this job: https://www.distributed-ci.io/jobs/6f0ef8b7-0ec0-43ed-af6e-c44e9c7052fa/jobStates?sort=date&task=60442fe7-641a-4134-9aab-720a66eed74c the component does not exist, so is created as before.
In a subsequent job: https://www.distributed-ci.io/jobs/f2e2aa43-d0b7-4c4c-82b0-20a8c24b27bf/jobStates?sort=date&task=53a392e3-a5e3-4ad4-bd7e-21ffd0b65dea
The component already exists, so is reused and attached in the job.

But... @pierreblanc found that now the use of the original role is working as before and after verification I see again the "old" behavior:
ok: [localhost] => {
    "git_component": {
        "changed": false,
        "component": {
            "canonical_project_name": "",
            "created_at": "2024-11-06T18:17:22.621481",
            "data": {},
            "display_name": "ansible-collection-redhatci-ocp deadbee",
            "etag": "<redacted>",
            "id": "<redacted>",
            "message": "",
            "name": "ansible-collection-redhatci-ocp deadbee",
            "released_at": "2024-11-06T18:17:22.622121",
            "state": "active",
            "tags": [],
            "team_id": "<redacted>",
            "title": "",
            "topic_id": "<redacted>",
            "type": "ansible-collection-redhatci-ocp",
            "uid": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
            "updated_at": "2024-11-06T18:17:22.621481",
            "url": "https://github.com/redhatci/ansible-collection-redhatci-ocp/commit/deadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
            "version": "deadbee"
        },
        "failed": false
    }
}

retest

The issue is related to a specific package python3-dciauth version
### python3-dciauth-4.0.0-1.202410241336git4a76f4c5.el8.noarch
TASK [debug] *****************************************************
ok: [localhost] => {
    "git_component": {
        "changed": false,
        "failed": false
    }
}

### python3-dciauth-4.0.1-1.202411050953git92d0cca8.el8.noarch
TASK [debug] *****************************************************
ok: [localhost] => {
    "git_component": {
        "changed": false,
        "component": {
            "canonical_project_name": "",
            "created_at": "2024-11-06T18:17:22.621481",
            "data": {},
            "display_name": "ansible-collection-redhatci-ocp deadbee",
            "etag": "<redacted>",
            "id": "<redacted>",
            "message": "",
            "name": "ansible-collection-redhatci-ocp deadbee",
            "released_at": "2024-11-06T18:17:22.622121",
            "state": "active",
            "tags": [],
            "team_id": "<redacted>",
            "title": "",
            "topic_id": "<redacted>",
            "type": "ansible-collection-redhatci-ocp",
            "uid": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
            "updated_at": "2024-11-06T18:17:22.621481",
            "url": "https://github.com/redhatci/ansible-collection-redhatci-ocp/commit/deadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
            "version": "deadbee"
        },
        "failed": false
    }
}

This change is not needed if the version is updated for python3-dciauth that is a dependency on


added revolver weapon

It seems that demos return "deagle" instead of "revolver" on weapon_fire events (not on player_killed events) and the player's active weapon is always "deagle".
I added the revolver reference but I had to add a check to avoid the active weapon update when it's the revolver.

It should have been fixed with the last update. I will test it and update the PR.

No, the weapon_fire has historically been wrong for those kind of weapons. That is why the workaround here exists.
Question:
Did  this actually throw? Usually player_death is correct (since the death-notices are generated of it)

I tested with 1 MM demo with a lot of revolver kills and it never throwed.
About the weapon_fire event, do you mean for pistoles only?
I sent an email to a csgo dev about the wrong weapon returned (deagle instead of revolver) and in the last changelog it has been fixed:
– R8 Revolver now correctly shows up in weapon_fire events.
Maybe it's the case for others too? I didn't test it for others weapons.

Maybe it's the case for others too? I didn't test it for others weapons.

Me neither. The bug has been in since Arms Deal, so I worked around it.


Authors validation

The bundler already does it, so it would fail CI anyway, I think I won't implement this.


Minor improvements to line and arc layer documentation.

LineLayer documentation was talking about arcs - this is the main thing that's fixed. Also slight improvements to the wording in ArcLayer and LineLayer descriptions.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


new aa_test and developer tools

Hello all,
This PR adds a "developer" directory to the repo including tools for easier PR testing. The workhorse is aa_test.m, which is a retooled version of the previous aatest.m that lived in /aa_testcode (/aa_testcode has been deleted). The new PR testing scripts live in /developer/testscripts.
Previously, we used the scripts in /examples to test PR. However, example scripts and PR testing scripts are different animals. An example script should be an extensively commented mfile/xml pair that helps get a user up to speed with aa or a new task in aa. A testing script should be efficient code for exercising a cross section of code in the shortest amount of time. An example script may require customization for a specific user's data. A test script should run across multiple installations as-is.
By separating example scripts and PR testing scripts in the repo, we can make both better. That is what the new /developer directory tries to accomplish.
There's a comment block at the top of aa_test.m describing usage. However, a few notes here might be helpful:

Our testing philosophy is that a larger collection of simpler testing scripts each focused on a specific analysis task is preferred to a smaller collection of elaborate scripts each exercising a vast range of functionality. Additionally, testscripts will only use open data. I tried to create a new testscript suite that reflects this philosophy as much as was practical (one exception is aatest_ds000114_fmri, which I tried to break into a preprocessing script and a modeling script, but the latter replicated the former).

Testscripts no longer attempt to download data. Automatic data download will always be problematic, especially when we don't control the hosting site. TBH, if you are a developer, you will probably keep test data around on your machine anyway. As such, I've structured the testscripts to use small datasets and reuse data as much as possible. The scripts currently lean heavily on ds000114 -- I don't have a feel for whether using a more diverse collection of data is critical or not.

For this first pass, I tied to reproduce the coverage of the scripts in the examples directory albeit omitting analyses that were redundant (to be clear: I haven't deleted anything in /examples -- I added new PR testscripts in /developer). There were some CBU scripts I left out because I could not find alternate (i.e., non-CBU) test data. For example, I was able to find an OpenNeuro dataset to test DTI (so I included a DTI testscript) but not ASL and MTI. Perhaps someone familiar with this functionality could eventually add new PR testscripts for it that uses OpenNeuro data.

Similarly, I wasn't comfortable updating the meeg test script (I've never done an meeg analysis in aa and eeglab refuses to run on my machine). As such, there is currently no new meeg testscript. Perhaps someone familiar with this functionality could eventually add a new PR testscript for it that uses OpenNeuro data.

Similarly, I didn't include "connected" pipeline testing in order to simplify aa_test. If this functionality is critical to users, we can include it eventually.

I withheld a few scripts that I think are either unnecessary or problematic. For example, I wrote a script for testing Freesurfer recon-all. Is that really worth the 4-6 hour runtime? We already test Freesurfer via defacing which runs faster. Also, I created a testscript for fieldmap analysis and identified a small OpenNeuro dataset that contains fieldmaps, but I couldn't get it past aa_processBIDS. It appears BIDS fieldmap input in aa is currently rather incomplete. As such, fieldmap testing will have to wait. Clearly, the testscript collection will evolve over time.

I provided the option to skip running a report (by leaving "reportname" blank in your parameter file). We don't use reporting because it almost always gives us trouble. There needs to be an effort to get it working properly under OS-X, but that is a project for another day.

The biggest unknown is whether the new code plays nice with qsub. I think it should work -- the core of aa_test isn't drastically different than the previous version -- but I can't run qsub here so I can't test it.

Other new stuff:

There's a template testscript in /developer documenting the new testscript layout. If you want to add a new testscript, this is the place to start.

I included a shell script testcoverage.sh in /developer that summarizes which modules don't yet appear in a testscript. Alas, we have much work to do before we attain significant test coverage...

I added aa_jpeg_crawler.m to /developer. This takes the aap struct from a completed or partial analysis and assembles all the jpeg images in the results directory tree into a surfable html file for a rapid visual check of analysis results using any browser.

Some changes to /examples:

I've added a few scripts to /examples that our students have found helpful. This includes a (very!) basic "helloworld" pipeline, a more useful helloworld extension that runs a model, and an implementation of the auditory tutorial from the SPM manual.

I added example_crawler.m that crawls the examples directory and lists the header information in each script to the command window. It's a fast way to see what examples are available (but requires cooperation from example script writers to include a helpful comment block at the top of the script).

I moved aamod_template_session.m from /examples to /developer (renamed: aamod_template.m). This file is more a "developer" thing and less an "example" thing.

Other changes/additions:

aamod_norm_write_epi.xml, which is a workaround for the domain wildcarding used in aamod_norm_write (domain wildcarding has never worked for us), an updated aas_runFSLcommand.m which fixes an OS-X environment bug, and aamod_reorienttomiddle_t2.xml which is needed by my testscripts.

I've updated README.md to reflect the new testing.

The intended design is to run aa_test with no options which runs all the scripts in developer/testscripts and writes a pass/fail log ("aa_test.log") to the current working directory. After checking the log, you can  re-run a failed script by passing the name to aa_test and setting the debug flag. See the comment header in aa_test.m for further details.
M

@hhentschke, It might be interesting to you.

@jones-michael-s,
I can see that some changes are based on previous versions. Please, merge the latest version of automaticanalysis/automaticanalysis. E.g.: aa_engine/aas_runfslcommand.m does not have commas and does not use the spm interface.
I really like the examples/aa_example_crawler.m. Can you rewrite it in a way that it re-creates the examples/README.md by adding the headers of examples to it? You could consider writing a developer/aa_developer_crawler.m, too.

I updated the PR to include the latest aas_runfslcommand.
Changing aa_example_crawler to generate a README is a bit problematic. I went the path of least resistance when I wrote the function, simply looping over the files and doing a "help ". As such, Matlab "help" command does all the heavy lifting.
The problem is I don't see a way to get the text "help" returns in order to format it into a Markdown file.
It's a good suggestion, but perhaps we could save it for a future update?

@jones-michael-s, could you, please, make sure you merge the current master into your branch? Then I can start testing and merge.

Is there a clever way of checking that my PR  is (or is not) up-to-date with current master (besides doing a pull upstream / push master)?
I fear I have an approximately eleventy million percent chance of screwing this up.

The clever way is the fetch/merge. Whatever you did (committed) since the last merged PR should be still there. If there is any conflict between the central master and your aa_test branch, they will be marked and you can handle them one-by-one. If you are afraid of screwing up, you can first create a new (sandbox) branch based on your aa_test branch (a copy) and fetch/merge the central master into it. If anything goes wrong, you can simply delete the (sandbox) branch.
Another, more tedious and error-prone way is to go through your PR itself. Check whether the proposed changes in files are intended. That is how I eyeballed the (unintended) change in aas_runfslcommand.m.

Okay, I did a fetch/merge (pull/push, actually) and made sure aa_test branch is up to date with master. Everything looks good to go (you were correct to be concerned, but the aas_runfslcommand.m thing was caused by a last-minute addition to the original PR and turned out to be an isolated glitch.)
Anyway, thanks for the help.

Finally had a chance to look over your edits on my PR. I don't understand why you restructured aa_test as you did, but I will defer to your judgment.
However, a larger problem is aas_processBIDS. I like how you've streamlined usage, but as a result the interface has changed. This is going to break a lot of existing scripts. In fact, it looks like it breaks the current test and example scripts.
Am I misunderstanding something?

aa_test had a lot of overlap (e.g. initialisation), which is worth centralising IMHO
To be honest, I have ignored aas_processBIDS for quite a long time partially because I do not use it, partially because of BIDS-MATLAB we should also use at some point. I am sorry for the aggressive coding. :)
a. In general, I prefer named parameters rather than positional arguments, because the former results in more transparent code, allows more efficient validation and defaulting, and is more in line with current trends. Since R21019b, MATLAB has an even higher-level (and more abstract) handling of arguments (see here), but the inputParser I implemented is there since R2007a. On the other hand, I do not have a strong opinion and feel free to revert to positional arguments.
b. I find the inconsistent specification of input selection (aap.acq_details.input sub-fields and function arguments) more a pressing issue. I suggest using aap.acq_details.input only (historical bias :)), but I do not mind using function arguments, either, if you prefer. In that case, feel free to remove aap.acq_details.input to avoid confusion. aap.acq_details.input along with the now deprecated aas_processinput was my attempt for automatic input specification way before BIDS.

I agree with everything in 2, however in the interest of finishing up this PR perhaps we could postpone these changes to aas_processBIDS, especially if we end up moving to BIDS-MATLAB.
Additionally, it might play better with current aa users if API changes don't happen between major revisions.

Sure. I would not touched aas_processBIDS if it was not already modified by your PR. Do you want to revert aas_processBIDS (after merging my PR) or shall I so that you can merge the PR without my changes on aas_processBIDS.

I'll take care of it (i need the git practice anyway).


Resolve typed stage by provided harmonized code

closes #191

Thanks @mico !

Actually, can you also test for the case where both "50.00" and "PRF" are provided?

Actually, can you also test for the case where both "50.00" and "PRF" are provided?

We already have test for that here:
https://github.com/metanorma/pubid-iso/blob/2cf98eb1832d2ddd6fbbbd79bde744cba2d7c48a/spec/pubid_iso/identifier/create_new_identifier_spec.rb#L93


Create schematic component for stick rover silkscreen

...in order to make sure that when we re-compile the pcb from the schematic that the stick rover on the silk screen is not lost.

Fixed in 2b0cfd76763c822f7fc6af0d93245762d47905c9


Gracefully handle groups which weren't created through UI

Much of the UI is contingent upon metadata which might not exist within on-chain groups (IE if they're created through CLI).
These should be gracefully handled, maybe with some information

If there's no name, show Group #[number]
If there's no description, just don't render

Please add your planning poker estimate with Zenhub @haveanicedavid

Is this a related part of the code @haveanicedavid ? I was just curious about this and started looking into it:
https://github.com/regen-network/groups-ui/blob/67d96baf32e814afab2e9a664d02fe03e30350ae/src/components/organisms/proposal-summary.tsx#L53-L54

@wgwz are you still looking into this? If not, I'd be happy to pick it up.

Is this a related part of the code @haveanicedavid ?

Yea, this is part of the solution. This is where we would need to render the alternative data if not available.

@ryanchristo feel free! i was just researching and adding notes, no further work being done on my side


Hello, My server crashing for unknown reason

Hello.
My server shut down after some time and the crashdetect shows me weird errors like this:

[17:49:39] [debug] Server crashed due to an unknown error
[17:49:39] [debug] Native backtrace:
[17:49:39] [debug] #0 f73918b6 in _Z13GetStackTraceRSt6vectorI10StackFrameSaIS0_EEPv () in plugins/crashdetect.so
[17:49:39] [debug] #1 f7389120 in _ZN18CrashDetectHandler20PrintNativeBacktraceERSoRKN2os7ContextE () in plugins/crashdetect.so
[17:49:39] [debug] #2 f7389886 in _ZN18CrashDetectHandler20PrintNativeBacktraceERKN2os7ContextE () in plugins/crashdetect.so
[17:49:39] [debug] #3 f7389f96 in _ZN18CrashDetectHandler7OnCrashERKN2os7ContextE () in plugins/crashdetect.so
[17:49:39] [debug] #4 f7390f82 in ?? () in plugins/crashdetect.so
[17:49:39] [debug] #5 f76f6410 in ?? ()
[17:49:39] [debug] #6 f7402ff1 in _IO_vfprintf () in /lib/libc.so.6
[17:49:39] [debug] #7 f7423702 in vsprintf () in /lib/libc.so.6
[17:49:39] [debug] #8 f740866f in sprintf () in /lib/libc.so.6
[17:49:39] [debug] #9 f725101d in _ZN11CMySQLQuery7ExecuteEP8st_mysql () in plugins/mysql.so
[17:49:39] [debug] #10 f7246f09 in _ZN16CMySQLConnection14ProcessQueriesEv () in plugins/mysql.so
[17:49:39] [debug] #11 f7248a27 in _ZN5boost6detail11thread_dataINS_3_bi6bind_tIvNS_4_mfi3mf0Iv16CMySQLConnectionEENS2_5list1INS2_5valueIPS6_EEEEEEE3runEv () in plugins/mysql.so
[17:49:39] [debug] #12 f726de9d in ?? () in plugins/mysql.so
[17:49:39] [debug] #13 f76d5bbc in ?? () in /lib/libpthread.so.0
[17:49:39] [debug] #14 f74b80de in clone () in /lib/libc.so.6
[17:49:39] [debug] Registers:
[17:49:39] [debug] EAX: 00000000 EBX: f7581000 ECX: ffffffff EDX: b7ad951c
[17:49:39] [debug] ESI: e48fe040 EDI: b7ad951c EBP: e48fe018 ESP: e48fdb00
[17:49:39] [debug] EIP: f7402ff1 EFLAGS: 00010246
[17:49:39] [debug] Stack:
[17:49:39] [debug] ESP+00000000: e48fe040 f727bb5d 00000015 00000000
[17:49:39] [debug] ESP+00000020: 00000000 00000000 00000000 00000000
[17:49:39] [debug] ESP+00000040: 00000000 00000000 00000000 00000000
[17:49:39] [debug] ESP+00000060: 00000000 00000000 00000000 00000000
[17:49:39] [debug] ESP+00000080: 00000000 00000000 ffffffff 00000000
[17:49:39] [debug] ESP+000000a0: 00000000 f74004c6 f757f260 00000000
[17:49:39] [debug] ESP+000000c0: f727bb5d 00000000 000007d4 00000015
[17:49:39] [debug] ESP+000000e0: 00000000 00000000 00000000 00000000
[17:49:39] [debug] ESP+00000100: 00000000 00000000 00000000 00000000
[17:49:39] [debug] ESP+00000120: 00000000 00000000 00000000 00000000
[17:49:39] [debug] ESP+00000140: f07806cb 34f8cbf0 df270311 6b92f976
[17:49:39] [debug] ESP+00000160: 4945050c e5a3b44a e086de07 fa5800b7
[17:49:39] [debug] ESP+00000180: e48fdd38 00000000 0000000b e3502a40
[17:49:39] [debug] ESP+000001a0: 0000000a e3502bd0 00004000 00000000
[17:49:39] [debug] ESP+000001c0: e48fdd1c e3502bd0 00000000 f6cfbbf4
[17:49:39] [debug] ESP+000001e0: f6cfbb69 f7152000 e48fdd98 f6cfbd00
[17:49:39] [debug] ESP+00000200: e48fdd1c e48fddd8 e3506bf7 f7152000
[17:49:39] [debug] ESP+00000220: e3506bd8 e3502bd4 00000007 ef459be6
[17:49:39] [debug] ESP+00000240: 00000007 e35004f8 e48fdd68 f6cc436a
[17:49:39] [debug] ESP+00000260: e35004f8 00000007 e48fdda8 f6cc4632
[17:49:39] [debug] ESP+00000280: 00000007 e3500040 f6cfbc8b cbfe7400
[17:49:39] [debug] ESP+000002a0: e35004f8 e48fddd0 e48fddf8 f6cc532f
[17:49:39] [debug] ESP+000002c0: e48fde90 e48fde90 e48fde08 e35004f8
[17:49:39] [debug] ESP+000002e0: 5f6a14fc 00000002 f6c78dda f75a0268
[17:49:39] [debug] ESP+00000300: f75a060c f7701214 e48fde58 f6cb8cb5
[17:49:39] [debug] ESP+00000320: e48fde50 03e4e303 e3500010 00000003
[17:49:39] [debug] ESP+00000340: e27cf000 00002000 00000003 f7152000
[17:49:39] [debug] ESP+00000360: 00000000 e3500040 e3500040 e350003c
[17:49:39] [debug] ESP+00000380: 00002000 f74b1e89 00011ba8 e3500010
[17:49:39] [debug] ESP+000003a0: f753ad3b 00001fe4 0000fee0 e3500010
[17:49:39] [debug] ESP+000003c0: f753ad3b 00001000 f7432649 f7581000
[17:49:39] [debug] ESP+000003e0: 00002710 e3500040 00000034 e3502a40
[17:49:39] [debug] Loaded modules:
[17:49:39] [debug] 00000000 - 00194f0b samp03svr
[17:49:39] [debug] f76f8000 - f76f8530
[17:49:39] [debug] f76ea000 - f76ec6a4 /lib/libdl.so.2
[17:49:39] [debug] f76cf000 - f76e8ad3 /lib/libpthread.so.0
[17:49:39] [debug] f75e3000 - f76d4e88 /lib/libstdc++.so.6
[17:49:39] [debug] f75a1000 - f75e2208 /lib/libm.so.6
[17:49:39] [debug] f7585000 - f759e6f8 /lib/libgcc_s.so.1
[17:49:39] [debug] f73ba000 - f758c8f3 /lib/libc.so.6
[17:49:39] [debug] f76f7000 - f771a110 /lib/ld-linux.so.2
[17:49:39] [debug] f7372000 - f73b63ac plugins/crashdetect.so
[17:49:39] [debug] f7361000 - f73709b4 plugins/sscanf.so
[17:49:39] [debug] f729b000 - f7360740 plugins/streamer.so
[17:49:39] [debug] f728c000 - f7292d90 /lib/librt.so.1
[17:49:39] [debug] f721a000 - f728c3eb plugins/mysql.so
[17:49:39] [debug] f6c2d000 - f72441c0 /usr/lib/mysql/libmysqlclient.so.18
[17:49:39] [debug] f6a1b000 - f6a2c748 /lib/libnss_files.so.2
[17:49:39] [debug] f6810000 - f6819918 plugins/whirlpool.so
[17:49:39] [debug] f76f0000 - f76f1f70 plugins/nativechecker.so
[17:49:39] [debug] f676d000 - f6771d34 /lib/libnss_dns.so.2
[17:49:39] [debug] f6754000 - f676c014 /lib/libresolv.so.2

What does it mean ?

I don't know. It seems to be related to mysql.so so you might want to check your MySQL queries.

Updating to R41 will solve it ?

It has something to do with sprintf so I'd guess one of the "format" arguments in your mysql_query or whatever function calls is invalid. Or it could be something else.
Anyway, upgrading the MySQL plugin shouldn't hurt.


Handle duplicate order confirmation messages

closes #748

Coverage decreased (-0.006%) to 27.61% when pulling 07389f629488abb85920ce2affd73350700dfe38 on confirmation into 06948efc8d799e5be16f6bce4af657abb17e65f4 on master.


Add _translate_constraint_by_config function

Pull Request Checklist

[x] implement the feature
[ ] write the documentation
[x] extend the test coverage
[ ] update the specification
[ ] adjust plugin docstring
[ ] modify the json schema
[ ] mention the version
[ ] include a release note

This MR looks at config file and tries to find a "translation" that would match the constraint, operator, value, and if found, it'd take it from configuration^^

yeah,it will be used if any transform__  function calls
_translate_constraint_by_config,should I move this function to a new merge
request?^^
On Mon, Jun 3, 2024 at 5:01 PM Miloš Prchlík @.***>
wrote:

@.**** commented on this pull request.
In tmt/steps/provision/mrack.py
https://github.com/teemtee/tmt/pull/2967#discussion_r1624069253:

@@ -197,6 +202,34 @@ class MrackHWNotGroup(MrackHWGroup):
name: str = 'not'

+def _get_custom_config() -> dict[str, Any]:
This function does not seem to be called from anywhere.
—
Reply to this email directly, view it on GitHub
https://github.com/teemtee/tmt/pull/2967#pullrequestreview-2093240783,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKFR23EQLS4CPESTI3BWEEDZFQWFPAVCNFSM6AAAAABIOH3ASGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDAOJTGI2DANZYGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Updated^^

Sorry for the a bit late reply, I took half day pto today:

It would be extremely useful to include an example config file

sure

I'm not sure about: what should the file contain?

something similar with  the one you said sucks 😅
disk:
model-name:
translations:
- operator: ==
value: PERC H310
element: {'disk': {'model': {'_op': '==', '_value': 'PERC H310'}}}

We could get rid of operator and translation and leave it to Jinja
so we wouldn't have to enumerate every single distro and arch combination
for compatible.distro? :)

I'm  really not sure what I'm going to put there is correct, or I
understand you correctly(Believe me,I try very hard).
For simple ones like I mentioned above it's easy,we can  get rid of
operator (I'm not sure how can we get rid of translation), replace it with
something like:
disk:
model-name:
translations:
value: PERC H310
element: {'disk': {'model': {'_op': {{operator}}, '_value': 'DUMMY' }}}
but I think the original reason why we add translations is because they are
complicated ones, for instance:
https://gitlab.cee.redhat.com/baseos-qe/ansible-baseos-ci/-/blob/main/group_vars/artemis.yaml#L1473,we
need value and operator^^
On Mon, Sep 23, 2024 at 10:03 PM Miloš Prchlík @.***>
wrote:

@.**** commented on this pull request.
In tmt/steps/provision/mrack.py
https://github.com/teemtee/tmt/pull/2967#discussion_r1771508347:

@@ -197,6 +206,34 @@ class MrackHWNotGroup(MrackHWGroup):
name: str = 'not'

+def _get_custom_config() -> dict[str, Any]:

if TMT_MRACK_HW_FILTERS_FILE.is_absolute():

   config_content = TMT_MRACK_HW_FILTERS_FILE.read_text()

else:

   config_content = (tmt.utils.Config().path / TMT_MRACK_HW_FILTERS_FILE).read_text()

return tmt.utils.yaml_to_dict(config_content)

+def _translate_constraint_by_config(

   constraint: tmt.hardware.Constraint[Any],

   translations: list[Any]

   ) -> dict[str, Any]:

for translation in translations:

It would be extremely useful to include an example config file. It should
be small, well-documented, showing an example or two - commented out if
needed. Right now, all we have is guessing based on the unit test below.
Another point I'm not sure about: what should the file contain? XML, or
the simplified node-like mappings we have above? Or something else? E.g. we
have something like this in Artemis:
compatible:
distro:
translations:
- operator: contains
value: rhel-6
element: '<compatible_with_distro arch="<< ENVIRONMENT.hw.arch >>" osmajor="RedHatEnterpriseLinux6"/>'
I.e. maps compatible.distro constraint to an actual XML. It's needlessly
complicated, we could have made it simpler, but there needs to be a
selector and the pattern, and I'm thinking about generating the actual XML,
with Jinja because the use of templates proved to be very valuable -
without templates, it'd be very hard to inject guest architecture into the
element above. Simplified, it might be something like this (with GUEST
representing the tmt guest for which we are generating the filter):
compatible.distro: |  {% if GUEST.image | regex_match('(?i)rhel-6') %}    <compatible_with_distro arch="{{ GUEST.arch }}" osmajor="RedHatEnterpriseLinux6"/>'  {% endif %}
We could get rid of operator and translation and leave it to Jinja.
operator as a concept did not prove to be very flexible in Artemis
implementation - this sucks:
is_virtualized:
  translations:
    - operator: '=='
      value: false
      element: '<system><hypervisor op="==" value="" /></system>'

    - operator: '=='
      value: true
      element: '<system><hypervisor op="!=" value="" /></system>'

What I don't know is how to take the output of such a template, and
connect it with the tree or dataclasses we build. Dictionaries would be
easier, and you took that route, but those don't make the use of templates
easier:
compatible.distro:
compatible_with_distro:
arch: "{{ GUEST.arch }}"
osmajor: {% if GUEST.image | regex_match('(?i)rhel-6') %}RedHatEnterpriseLinux6{% endif %}
Or, the value is nothing but a template string, we then yaml_to_dict() it once more:compatible.distro: |  compatible_with_distro:    arch: "{{ GUEST.arch }}"    osmajor: {% if GUEST.image | regex_match('(?i)rhel-6') %}RedHatEnterpriseLinux6{% endif %}
In other words, how can we make the filter parametrized so we wouldn't
have to enumerate every single distro and arch combination for
compatible.distro? :)
—
Reply to this email directly, view it on GitHub
https://github.com/teemtee/tmt/pull/2967#pullrequestreview-2322353505,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKFR23AX42M47RK4NLUYWODZYANTRAVCNFSM6AAAAABIOH3ASGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDGMRSGM2TGNJQGU
.
You are receiving this because you authored the thread.Message ID:
@.***>


PHP 7.2 compatibility fix

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
no

Fixed issues
#16317, kartik-v/yii2-grid#800

Fixes the issue when a dataProvider has no data as a parameter for a GridView. PHP 7.2 would throw a warning:

count(): Parameter must be an array or an object that implements Countable

Documentation for the function can be found here.
If it is expected to return an integer, then the value 0 is returned if $this->allModels is not an array.
This has been addressed before on several locations, see issue #14489.

Merged. Thank you!


panic: sql: Register called twice for driver sqlite

I used both https://github.com/golang-migrate/migrate/blob/master/database/sqlite/sqlite.go and https://github.com/glebarez/sqlite, and this error occurred.
panic: sql: Register called twice for driver sqlite

goroutine 1 [running]:
database/sql.Register({0x100dc4183, 0x6}, {0x10123a760, 0x1019d67c8})
        /Users/haozi/go/go1.20/src/database/sql/sql.go:51 +0x124
modernc.org/sqlite.init.0()
        /Users/haozi/go/pkg/mod/modernc.org/sqlite@v1.21.1/sqlite.go:122 +0x38
FAIL    app/database   4.525s
panic: sql: Register called twice for driver sqlite

goroutine 1 [running]:
database/sql.Register({0x10389d1c6, 0x6}, {0x103d083a0, 0x104470b38})
        /Users/haozi/go/go1.20/src/database/sql/sql.go:51 +0x124
github.com/glebarez/go-sqlite.init.0()
        /Users/haozi/go/pkg/mod/github.com/glebarez/go-sqlite@v1.21.1/sqlite.go:126 +0x38
FAIL    app/database/console   3.814s

Can't use replace, the two package structures are not exactly the same.

Are you using GORM ?

Are you using GORM ?

Yes

Maybe a new driver needs to be added for https://github.com/golang-migrate/migrate, what do you think?

The cause is really registration of both drivers under same name.
I don't think adding go-sqlite drivers to migrate package is the right way.
I think more elegant would be to avoid importing GORM driver at time of migration.
E.g. make it separate package.


Traffic apply error if flow is configured with only tx port instead of tx&rx ports

Traffic apply error if flow is configured with only tx port instead of tx&rx ports

Implemention should be as such that tx port shouldn't receive back packets it sent out (no self-destined or loopback impl)

Issue should not present in v0.4.11


Add crates overrides

Context: I'm trying to build a Tauri application using Nix.
All these crates requires an overlay, and I thought it would be preferable to add them directly there.
I copied the format used in the file, and it works well like this, feel free to edit it as you want.
Does this file require to be sorted alphabetically ?

Sure, let's sort alphabetically.  I would take a look at if your dependencies will work as just build inputs.  It's not usually the case that they need to propagate.
pkg-config from nixpkgs will usually be transitively included because of a crate depending on the pkg-config crate.  This is an example where a dependency must be propagated.  For normal libraries, it's usually fine to leave them in buildInputs.
Apple frameworks for some reason still require propagation, perhaps a linking style issue.
You can continue committing on this branch and I will cherry pick over your commits and handle manual conflict.  Attribution is retained.

I force pushed the file you are working on in #292

I tried to have the minimal amount of propagated inputs, and this setup should now work !
Also I squashed and rebased over release-branch-maintenance so it should be cherry-pickable if you want

LGTM.  I'll handle any nits if any come up.  Will be in unstable and 0.12 (doesn't exist yet) after close


Update set-output syntax

Fixes #46

Any change to get this PR integrated and a new version of this action released soon? It has been a while already and the date is quickly approaching when GitHub will disable this obsolete set-output use.

Thanks for the reminder @jens-maus. I'll release it now :slightly_smiling_face:

I spoke too soon. We're due to release a new major version since merging https://github.com/snok/container-retention-policy/pull/36. We decided to wait for https://github.com/snok/container-retention-policy/pull/42 to get both breaking changes in one release.
When is the deadline for the switch?

When is the deadline for the switch?

Looks like 31-May-2023, per https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/


[Feature Request]: Adding social  media links in the footer

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
In the footer there are no social media links
Use Case
When the user try to contact owner they dont see the quick links
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSOC'24 contributor
[X] I have starred the repository

/assign

PR #893, will fix this issue


Asking for the U_EIOU matrix delivered the U matrix

When I configure Mexer like this:

I get the attached download.
eviz_data.csv
The download includes only the U matrix, not the U_EIOU matrix. The download should include only the U_EIOU matrix.

Note to self: U_EIOU should be one of the values in the matrix column in the PSUT table, so it should be automatically grabbed by our query.

Note to self:

Fix problem with not being able to get IEA data on eviz_kenny
SQL is going for matname = 5. Ensure this is correct and make sure table has correct values for matname = 5.

Note:
Most importantly, I am unable to replicate this issue. I have, though, tried looking everywhere for where this could be going wrong and can find nothing.

Tried it again now. The problem no longer exists.


Mistakes in template definitions on models available to download from https://ollama.ai

Hi,
Some of the mistakes in the TEMPLATE definitions for the models you can download from https://ollama.ai are hurting the models to varying degrees. I only found this by accident when experimenting with the API  to use some of the code completion / code editing prompts used by the continue project (https://github.com/continuedev/continue/tree/main/core/llm/templates).
I've sourced all these primarily by looking at the original tokenizer config and failing that, looking through the official descriptions and/or their respective official Github discussions. I've concentrated on the original/official models (other than phind-codellama) as it's hard to find any concrete info on a lot of the "bootleg" fine-tuned models.
The ones which are particularly effected are:

codellama missing the space before the response severely hurts the performance when presented with a large section code. There is a lot of 'cargo cult' prompt templates for codellama going around, but this one can be confirmed from their official release page and the tokenizer config.
deepseek-llm having the system message prepended to every message seems to increase the chance of responding in Chinese Unicode characters (Deepseek say specifically it wasn't trained to use a system message).
deepseek-coder quickly fills its context when discussing large sections of code and will start to repeat the system message back at you before completely descending into gibberish (this happens very quickly if using a detailed / long custom system message).

llama2 doesn't seem too effected by the missing the space before the response , but again this template can be confirmed from their official release page and the tokenizer config.
deepseek-llm, mixtral and mistral absolutely should NOT have a space or newline before the response or they will often respond with gibberish and/or Chinese Unicode characters.
The  official mixtral huggingface page actually tells you a slightly wrong template format, but the original tokenizer config is the same as mistral.
The suggestion for adding "Response" to phind-codellama is from the huggingface discussion, so can't confirm if this is true or not.
codellama:34b-instruct:
TEMPLATE """<s>[INST] {{ if and .First .System }}<<SYS>>
{{ .System }}
<</SYS>>

{{ end }}{{ .Prompt }} [/INST] {{ .Response }}"""

deepseek-coder:33b-instruct:
TEMPLATE """{{ if and .First .System }}{{ .System }}
{{ end }}### Instruction:
{{ .Prompt }}
### Response:
{{ .Response }}"""

deepseek-llm:67b-chat:
TEMPLATE """User: {{ if and .First .System }}{{ .System }} {{ end }}{{ .Prompt }}

Assistant:{{ .Response }}"""

llama2:70b-chat:
TEMPLATE """<s>[INST] {{ if and .First .System }}<<SYS>>
{{ .System }}
<</SYS>>

{{ end }}{{ .Prompt }} [/INST] {{ .Response }}"""

mixtral:8x7b-instruct-v0.1 & mistral:7b-instruct-v0.2:
TEMPLATE """{{ if .First }}<s>{{ end }}[INST] {{ if and .First .System }}{{ .System }} {{ end }}{{ .Prompt }} [/INST]{{ .Response }}"""

phind-codellama:34b-v2:
TEMPLATE """{{ if and .First .System }}### System Prompt
{{ .System }}

{{ end }}### User Message
{{ .Prompt }}

### Assistant Response
{{ .Response }}"""

yi:34b-chat:
TEMPLATE """{{ if and .First .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
{{ .Response }}"""

These two aren't listed on https://ollama.ai but also use the same "ChatML" template as yi:
mpt:30B-chat:
TEMPLATE """{{ if and .First .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
{{ .Response }}"""

qwen:72b-chat:
TEMPLATE """{{ if and .First .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
{{ .Response }}"""

Are there any other "non-bootleg" models I should look at? I  might as well do them too if there are any.

By the way if anybody else wants to learn more about the template syntax then this is the reference page:
https://pkg.go.dev/text/template
I was pretty confused to start with when I tried to grep the whole project and could find no reference to "if" or "and" anywhere!

I think being able to see how the final transformed input -> template -> output chain in the logs would help catch these kinds of issues - linking this enhancement feature:
https://github.com/jmorganca/ollama/issues/1533

I think a lot of the other models, even if concrete template formats can't be sourced, should probably have their templates changed to use the {{ if and .First .System }}...{{ .System }}...{{ end }} statement.
As it is the system message is often getting added to every message. This might sometimes be a good idea if you don't want to lose the system message, but by default it shouldn't be doing this and particular care should be taken as to where the system message is added if intentionally including it each time.

Thank you so much for the work to go through all of the templates @jukofyork (both in the models on ollama.ai but also in their respective repos on HF and GitHub). Will get this fixed

Thank you so much for the work to go through all of the templates @jukofyork (both in the models on ollama.ai but also in their respective repos on HF and GitHub). Will get this fixed

No problem and if there are any other original/official models you know of then I can try to find the correct prompt for them too.
I don't think it's really possible to find the prompt format for a lot of the fine-tuned models thought. Most seem to be training on a mix of several different/merged datasets and I don't think even the creators know the correct format sometimes.

I've noticed a couple other errors in the models available from the library:
1. `mistral` models have numCtx defaulting to 2048 instead of 4096 (actually 32568 is probably the correct value). I can't tell fully, but I think Ollama is truncating down to numCtx before loading the prompt into the model?

Yeah, I'm still none the wiser what the Mistral and Mixtral models' context actually is. The official pages says they were both trained on 8k context. But then other info says it's 32k.Then yet more info says Mistral uses a sliding window and is really just 8k (or even 4k) and Mixtral was trained to use 32k straight off and the sliding window for it was a bug on release.

I believe the right value is 32K. The sliding window is 4K which effects performance of prompts that are outside that window, but as far as I can tell, we shouldn't be truncating anything less than 32K before passing it to the model. But that's my novice understanding.

Is this for Mistral or Mixtral? I only ask because a lot on the SillyTaven reddit report that Mistral runs into problems around 8k context (or possibly even 6.5k IIRC?).

Ah, thanks. I'm actually just running everything but the coding models at 4k context for now as the num_buffer bug makes it too fidly to find the right value.

in fact, according to the mistral paper its trained on 8k context

Parameter
Value

dim
4096

n_layers
32

head_dim
128

hidden_dim
14336

n_heads
32

n_kv_heads
8

window_size
4096

context_len
8192

vocab_size
32000

the 32k context was a misinterpretation from the beginning.. see more info on this discussion
https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2/discussions/43

Adding this i case anybody might find it useful (originally posted here: https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1/discussions/75).

I think I've finally cracked the prompt template format and also found a much better way of adding the system prompt via a 1-shot message:
Using Ollama:
TEMPLATE """{{ if and .First .System }}■[INST]■{{ .System }}

Please await further instructions and simply respond with 'Ready'.■[/INST]■Ready</s>{{ end }}■[INST]■{{ .Prompt }}■[/INST]■{{ .Response }}"""

Ollama wraps the llama.cpp server which automatically prepends the<s> token (or whatever BOS token is in the GGUF), but if it didn't then this would be the exact prompt to use:
TEMPLATE """{{ if and .First .System }}<s>■[INST]■{{ .System }}

Please await further instructions and simply respond with 'Ready'.■[/INST]■Ready</s>{{ end }}■[INST]■{{ .Prompt }}■[/INST]■{{ .Response }}"""

I found 3 lines of text with a single Java function that neither Mixtral not Miqu could wrap in a code block however much I tried to tell them about using Markup code blocks,  triple backticks, etc. They both opened with single a backtick: `java, followed by a newline, then the code, then closed with a valid triple backtick!!! This got me thinking that the problem was with the prompt format and not the Markup code block instructions I was providing. So after permuting through lots of different spacing combinations it turns out that the one above works for them both even when told nothing about Markup code block format (I'm just downloading Mistral-Instruct again to test it too).

Adding the system prompt via a 1-shot message I first found worked for Deepseek-llm as it too was trained without a proper system prompt and all the prompt templates look to just try to add it in the first message like people have been for Mistral, Mixtral and Miqu. The problem then is it thinks all this text in the first message is relevant, eg:
User:■Your objective is to assist users in writing and analyzing source code. Follow the user's requirements carefully and to the letter. Your expertise is strictly limited to software development topics. Keep your answers short and impersonal. Do not explain your thought process unless explicitly asked. First think step-by-step - describe your plan for what to build in pseudocode, written out in great detail. Then output the code in a single code block. Minimize any other prose. Use Markdown formatting in your answers. Wrap code blocks with triple backticks (```) and use single backticks (`) to denote a word or phrase as code. Make sure to include the programming language name at the start of each Markdown code block. Avoid wrapping the whole response in triple backticks. Do not wrap multiline phrases with single backticks. If asked to provide a patch, use 'Unified Format' and wrap in a Markdown code block starting with ```diff. You can only give one reply for each conversation turn.

Please comment this function.

Assistant:{{ .Response }}

(Absolutely do not manually add a space after Assistant: or it will reply in Chinese!)
and it will reply loads of random stuff about not needing to use a diff block, etc (Miqu wrote a 100+ line response when asked to comment a single line of code using the above prompt!!!).
But if you 1-shot the system message:
User:■Your objective is to assist users in writing and analyzing source code. Follow the user's requirements carefully and to the letter. Your expertise is strictly limited to software development topics. Keep your answers short and impersonal. Do not explain your thought process unless explicitly asked. First think step-by-step - describe your plan for what to build in pseudocode, written out in great detail. Then output the code in a single code block. Minimize any other prose. Use Markdown formatting in your answers. Wrap code blocks with triple backticks (```) and use single backticks (`) to denote a word or phrase as code. Make sure to include the programming language name at the start of each Markdown code block. Avoid wrapping the whole response in triple backticks. Do not wrap multiline phrases with single backticks. If asked to provide a patch, use 'Unified Format' and wrap in a Markdown code block starting with ```diff. You can only give one reply for each conversation turn.

Please await further instructions and simply respond with 'Ready'.

Assistant:■Ready<｜end▁of▁sentence｜>

User: Please comment this function.

Assistant:{{ .Response }}

Then it works pretty much like any other model which was trained with a system prompt.

LOL, it doesn't work with Mistral :D
TEMPLATE """{{ if and .First .System }}[INST]■{{ .System }}

Please await further instructions and simply respond with 'Ready'.■[/INST]
Ready
</s>{{ end }}■[INST]■{{ .Prompt }}■[/INST]
{{ .Response }}"""

Does work with all 3 though, but I'm beginning to think this needs a full blown ablation study to work out WTF the real template is supposed to be... :facepalm:

I spent all afternoon running different experiments and am actually shocked at how much finding the proper prompt has improved all 3 models:
It's made Mistral about as good as the other 2 were before, and the other 2 are now MUCH better; with all the weirdness (ie: where they claimed to make changes to code when they didn't etc) gone now.
I've marked the spaces with '■' so they stand out, but you will need to change them. Also remember if you aren't using Ollama or llama.cpp you might need to add back the <s> prefix:

Mistral and Miqu:
TEMPLATE """{{ if and .First .System }}[INST]■{{ .System }}

Please await further instructions and simply respond with 'Understood'.■[/INST]
Understood</s>■
{{ end }}[INST]■{{ .Prompt }}■[/INST]
{{ .Response }}"""

This agrees with the example on the Mistral page:
text = "<s>[INST] What is your favourite condiment? [/INST]"
"Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!</s> "
"[INST] Do you have mayonnaise recipes? [/INST]"

https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2

Mixtral:
TEMPLATE """{{ if and .First .System }}■[INST]■{{ .System }}

Please await further instructions and simply respond with 'Understood'.■[/INST]■
Understood</s>
{{ end }}■[INST]■{{ .Prompt }}■[/INST]■
{{ .Response }}"""

This sort of agrees with the example on the Mixtral page:
<s> [INST] Instruction [/INST] Model answer</s> [INST] Follow-up instruction [/INST]

https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1
But it seems using the newlines before the response like the Mistral example is essential.

I actually got both miqu and phind-codellama to give up their real training prompts. Explanation here:
https://huggingface.co/miqudev/miqu-1-70b/discussions/25
TEMPLATE """{{ if and .First .System }}{{ .System }}

{{ end }}[INST] {{ .Prompt }}
[/INST]{{ .Response }}"""

https://huggingface.co/Phind/Phind-CodeLlama-34B-v2/discussions/31
TEMPLATE """{{ if and .First .System }}{{ .System }}

{{ end }}### Instruction:
{{ .Prompt }}

### Response:
{{ .Response }}"""

Miqu is MUCH better with the correct prompt; like unbelievably better!!! :scream:

may as well thow my two cents in the mix.. I have tested a lot of things, but this works really well for mistral models:
TEMPLATE """
{{ if .First  }}<s>{{ if .System  }}[INST]{{ .System }}[/INST]{{ end }}</s>{{ end }}[INST] {{ .Prompt }} [/INST]
"""
PARAMETER num_ctx 8000
PARAMETER num_gpu -1
PARAMETER num_predict 4000

Unless you have special personality, don't use a system prompt, it works better.
Even if you don't have few-shot prompt or chat history, still include the <s></s>

wizardlm2
{{ if .System }}{{ .System }} {{ end }}{{ if .Prompt }}USER: {{ .Prompt }} {{ end }}ASSISTANT: {{ .Response }}

Pretty sure this shouldn't have that extra space between ASSISTANT: and {{ .Response }}.
command-r-plus
{{ if .System }}<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>{{ .System }}<|END_OF_TURN_TOKEN|>{{ end }}{{ if .Prompt }}<|START_OF_TURN_TOKEN|><|USER_TOKEN|>{{ .Prompt }}<|END_OF_TURN_TOKEN|>{{ end }}<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>{{ .Response }}<|END_OF_TURN_TOKEN|>

Shouldn't have the <|END_OF_TURN_TOKEN|> part after the response as it's in the GGUF file as an EOS token already.
command-r has the same problem in its template too (as was pointed out in another thread linked above).


Hover effect in Nav bar

Description
I would like to add hover effect in the nav bar .
Screenshots

Checklist

[X] I have checked the existing issues.
[X] I have read the Contributing Guidelines
[X] I have read the Code Of Conduct
[X] The changes don't break the code

i can solve the issue please assign it to me

Please assign me this issue under Gssoc'24.

Hii Admin !! I would like to resolve this issue , please assign it to me ...

hey hii @Vikashchou-dhary   I can  add hover effect in the nav bar  please assign this task to me

Please, assign me this issue


support logo image

Describe the feature

option to add image logo
Additional information

[ ] Would you be willing to help implement this feature?

Thanks for bringing this up, but I believe it's out-of-scope of this project.

@antfu what about render as jpg / png? is it also out of scope?

not specific to jpg / png, just anything to put on an image tag and is downloadable

and that's why it's preferable to render it as something "user-friendly" like jpg / png. but i understand if it's out of scope of this project, thanks so much for the reply @stokito !


tsdb/wal: add support for saving and restoring read segments

This PR updates the WAL watcher with a new Marker interface to specify what segment WAL reading should start at.When the WAL watcher starts, it will ask the Marker interface for the last saved segment. Samples will be delivered for the first segment after that last saved segment.
QueueManager implements the Marker interface and will read and write marked segments to disk. Marked segments are written to disk if all data for a segment has been processed by shards. This check is performed when receiving samples for a segment that hasn't been seen before.
Related to #7710.
Related to #8918.
Related to #8809.
Opening in draft form to collect early feedback on the approach.
This approach has drawbacks. Depending on the rate at which data is processed by shards and new segments are created, the marked segment on disk may lag multiple segments behind. This can cause re-writing more data than necessary when starting the QueueManager.
Signed-off-by: Robert Fratto<EMAIL_ADDRESS>

(I'll add tests once people confirm that this approach makes sense)

Should this be gated behind an experimental flag?

Thanks, some high level questions:
If there are multiple remote write endpoints, how do you know which one to use?
When are the checkpoints discarded? If I restart Prometheus after 1y, I probably to not want it to empty its checkpoints.
Should this code be in tsdb/ ?

Also, the number of queues can vary between restarts, is this handled as well?

If there are multiple remote write endpoints, how do you know which one to use?

This is based off of #8918, which creates a file per remote_write endpoint (i.e., per QueueManager).

When are the checkpoints discarded? If I restart Prometheus after 1y, I probably to not want it to empty its checkpoints.
Also, the number of queues can vary between restarts, is this handled as well?

Good point, they're not discarded at all right now. remote.WriteStorage.ApplyConfig should probably be cleaning up old files for queues that don't exist.

Should this code be in tsdb/?

I think it's pretty specific to remote write given the dependence on multiple remote write queues, and TSDB might want to use different logic for saving/restoring segments.

I'm seeing stuff like "LastCheckpointedSegment" and the first thought goes to WAL Checkpointing. Can we rename this new file to something else? RWMarker or something? Don't have good ideas though.

Also, this means we'll be resending data on restarts. Not sure if it breaks some storages. @tomwilkie / @cstyan / @csmarchbanks Can you confirm that its okay to resend on restarts?

I think merging an implementation like the one here behind a feature flag with the understanding that we want to make improvements so that instead of resending (potentially) an entire segment worth of samples we can restart remote write from some offset inside a segment is acceptable.
IMO there are 2 (or 3) improvements we can make to what we already have here:

rather than saving the segment file as soon as we receive the signal from the WAL Watcher, ensure in some way that we've sent all the samples from that segment. Naively we could do this via having the queue manager track that it has sent num shards * shard capacity and likely add in some headroom such as an additional 5-10%. I'd consider this improvement to be necessary to merging this PR.
Further improve the remote write checkpoint/marker functionality by having the WAL Watcher send signals for a specific segment/offset rather than just the segment. This will allow us to reduce the amount of unnecessarily sent samples on restart. Not necessary for merging of this PR.
Add remote write configuration for max_sample_age. Most remote write ingesting systems have some kind of limit on how far in the past it can accept samples. There's also the potential issue of the checkpointing feature in this PR causing remote write 'fall behind' issues if the remote write checkpoint was far in the past, and there's additional time between Prometheus shutting down and starting up again, without this flag we'd again be replaying lots of samples that will likely be rejected anyways. Optional, can be done separately from this checkpointing work and is beneficial to users even without the checkpointing feature.

rather than saving the segment file as soon as we receive the signal from the WAL Watcher, ensure in some way that we've sent all the samples from that segment.

I think this would be way easier to do once #9830 gets merged. I'll comment over there and get involved.

I agree that behind a feature flag this looks acceptable to me with the future improvements Callum mentioned. The goal of remote write is to send samples at least once, so I think repeating samples is ok, though clearly having an offset would be nice to avoid an entire segment's worth.
I am a bit worried that this will mean that if a system is backed up it will only be possible to "skip to now" by deleting the marker files and restarting. Previously it only took a restart. Not a big deal, but perhaps that should be documented somewhere?

I've updated the PR to keep track of how much pending data exists per segment, and only update the file on disk when segments have been completely processed. The current segment is never considered for marking on disk; only segments before it.
PTAL @cstyan, if this new approach seems alright I'll write tests and take this out of draft.

Does this need any special handling for resharding?

Closing as it's been in draft state for a long time.
If you come back to it please re-open.


xmlschema-walker: extensions are ignored

Types that use xs:extension don't show the extended attributes. Not yet reported upstream.

xmlschema-walker is no longer a dependency.


How to access heroku config vars in the run.sh script

I tried a few things, I can't seem to access the config vars, they don't seem to show up as environment variables.

To print them all use env command. For use, just like you would in standard bash. Not that not all env variables are present, due to how Heroku runs things these days.

Yea I just realized the issue is with heroku.
Thanks


FastAPI requests to internal endpoint

I was working on a project recently and was experiencing problems with FastAPI interacting with the requests library. The goal I’m trying to achieve is to have a health_status endpoint function hit the health version endpoint as well. I have recreated the problem with 2 smaller projects, a simple fastapi and a simple flask. Flask is able to achieve the goal, but Fastapi freezes up when trying to do it.
Here is the code using flask. When hitting the “/health/status” endpoin it should return {“message”: “Hello World”} however it freezes up the entire api. It doesn’t even allow me to hit the root endpoint afterwards unless I rerun the program. However, I am able to hit the root endpoint if I hit it before calling “/health/status."
Code
import uvicorn
from fastapi import FastAPI, Request
import requests

app = FastAPI(debug=True)

@app.get("/")
async def root():
    return {"message": "Hello World"}

@app.get("/health/status")
async def health():
    resp = requests.get(url="http://<IP_ADDRESS>:8000/")
    return resp.text

if __name__ == "__main__":
    uvicorn.run(app, host="<IP_ADDRESS>", port=8000)

Similarly, the code using flask is listed below. This works just fine, where if I hit “/health/status” then it will return “Hello World”
from flask import Flask
import requests

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World'

@app.route('/health/status')
def health_status():
    resp = requests.get(url="http://<IP_ADDRESS>:5000/")
    return resp.text

if __name__ == '__main__':
    app.run()

Description

As mentioned above, instead of returning "Hello World" like it should, it just ties up the whole api when using FastAPI.
Environment

OS: [e.g. Linux / Windows / macOS]: Windows
FastAPI Version [e.g. 0.3.0]: "==0.63.0"
Python version: "==3.6.8"

When hitting the “/health/status” endpoin it should return {“message”: “Hello World”} however it freezes up the entire api.

You are executing a synchronous function inside a coroutine, of course, it is going to block.
But it shouldn't take longer than >100ms.

When hitting the “/health/status” endpoin it should return {“message”: “Hello World”} however it freezes up the entire api.

You are executing a synchronous function inside a coroutine, of course, it is going to block.
But it shouldn't take longer than >100ms.

Use httpx instead of requests, would make your call asynchronous and stop the blocking.
async with httpx.AsyncClient() as client:
    resp = await client.get(url="http://<IP_ADDRESS>:8000/")

Use httpx instead of requests, would make your call asynchronous and stop the blocking.
async with httpx.AsyncClient() as client:
    resp = await client.get(url="http://<IP_ADDRESS>:8000/")

You can use normal function to solve now.
@app.get("/health/status")
def health():
    resp = requests.get(url="http://<IP_ADDRESS>:8000/")
    return resp.text

You can use normal function to solve now.
@app.get("/health/status")
def health():
    resp = requests.get(url="http://<IP_ADDRESS>:8000/")
    return resp.text

The thing is that you're calling a blocking synchronous function on a coroutine and it will block the event loop. Possible solutions are:

Make health() synchronous i.e. remove the async. This way it will run in another thread.
Use the @ArcLightSlavik approach, meaning that you await for the response. In other words, you give time on the event loop to other functions (root() in this case).

Approach 2 performs better.

The thing is that you're calling a blocking synchronous function on a coroutine and it will block the event loop. Possible solutions are:

Make health() synchronous i.e. remove the async. This way it will run in another thread.
Use the @ArcLightSlavik approach, meaning that you await for the response. In other words, you give time on the event loop to other functions (root() in this case).

Approach 2 performs better.

@Kludex Can I get to know more details the reason? why the server gets freezing infinitely as requesting "/health/status" in original code from @jayycarter.
I'm wondering why "requests.get()" blocks "async def health()" INFINITELY, not just block some time.

I think the reason infinite freezing is because "async def health()" is coroutine.
When "requests.get(url="http://<IP_ADDRESS>:8000/")" executed, "async def health()" is hanging on for finishing "request.get()".
But it's going to be never finished. "async def health()" is coroutine and it's hanging, so fastapi can't get request for "/" and never invoke "root()".


balloon_eval is already being checked at the top. see #114

sorry.. only saw it after you merged the other pull. cheers.

cool - nice catch


issue loading lora model

while trying to load a trained llama3-instruct lora model , I am getting this error. However, It was working fine like 2 days ago.
OSError: unsloth is not a valid git identifier (branch name, tag name or commit id) that exists for this model name. Check the model page at 'https://huggingface.co/unsloth/llama-3-8b-Instruct-bnb-4bit' for available revisions.

@ml-maddi Sorry on the issue! Do you have a screenshot of the issue?

@danielhanchen yeah sure, I have included the screenshots of the error

Any news on this? I'm having the same issue

Any news on this? I'm having the same issue

Same here

That fixed it!! Huge thanks

Added a fix! Thanks so much for the heads up! To update Unsloth on local machines:
pip uninstall unsloth -y
pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"

For Colab / Kaggle, just disconnect and restart the runtime


wait-for-wifi.sh not working reliably when called from dash.sh

First of all, thanks for this cool utility! I've had a lot of fun setting it up and playing around with the possibilities.
I'm using a Kindle Keyboard 3G (k3g, US model) and I noticed some strange behavior around the wait-for-wifi.sh script. For some reason, only when called in the context of dash.sh, it hangs and never makes it to the point of downloading the dashboard.
It seems like something is funky in the while statement in wait-for-wifi.sh. I tossed in some debug statements:
  ping -c 1 $WIFI_TEST_IP >/dev/null 2>&1
  while [ $? -ne 0 ]; do
    echo $?

...

    echo "Trying again"
    sleep 1
    /bin/ping -c 1 $WIFI_TEST_IP >/dev/null 2>&1
  done

But when I tail the logs, I see this:
[root@kindle dashboard]# tail -f logs/dash.log
Starting dashboard with 0 2,32 9-19 * * * refresh...
system: I framework:def:stopping booklet framework
Sun Jan 31 15:44:57 2021  INFO:battery charge: 91%
Sun Jan 31 15:44:57 EST 2021 Battery level: 91%.
Refreshing dashboard
0
Trying again
0
Trying again

What's really strange here is that calling the script directly yields no issues:
[root@kindle dashboard]# ./wait-for-wifi.sh
./wait-for-wifi.sh
Wi-Fi connected

For now I'm working around this by just stopping wait-for-wifi.sh from being called inside dash.sh which is totally fine, but I'd be curious if you have any ideas of what might be going on.
Thanks!

Oh interesting... I also ran into something similar.
In my case, I have a Ubiquiti router which uses a self-signed cert. I changed the IP address wait-for-wifi.sh checks to <IP_ADDRESS> and it worked okay.
Caveat: I don't know if this was the cause, it just happened to be the one variable I changed and when I ran dash.sh, it correctly loaded the test image.

Oh interesting... I also ran into something similar.
In my case, I have a Ubiquiti router which uses a self-signed cert. I changed the IP address wait-for-wifi.sh checks to <IP_ADDRESS> and it worked okay.
Caveat: I don't know if this was the cause, it just happened to be the one variable I changed and when I ran dash.sh, it correctly loaded the test image.

@julianlam I also had an issue with the default IP; I just changed that to a different local IP on my network and it worked fine when called directly.
Still not sure why this while loop is failing, but definitely a good first debugging step for others to try swapping in a different IP before digging further!

@julianlam I also had an issue with the default IP; I just changed that to a different local IP on my network and it worked fine when called directly.
Still not sure why this while loop is failing, but definitely a good first debugging step for others to try swapping in a different IP before digging further!

 Thanks for letting me rubber duck this here.

 Thanks for letting me rubber duck this here.

Well, while we're here -- perhaps the default IP should be changed to something external (say, <IP_ADDRESS> again)?

Well, while we're here -- perhaps the default IP should be changed to something external (say, <IP_ADDRESS> again)?

Hey sorry about that, the current default indeed is not very reliable across different network setups. I'll change the default to <IP_ADDRESS>.

Hey sorry about that, the current default indeed is not very reliable across different network setups. I'll change the default to <IP_ADDRESS>.

This is now fixed on the main branch.


Check deconstructor(chain) in all projects

DearImGuiApplication::~DearImGuiApplication()
{
    ...
    Application::Cleanup();
}

Application::~Application()
{
    Application::Cleanup();
}

void Application::Cleanup()
{
    glfwDestroyWindow(_window);
    glfwTerminate();
}

looks fishy

This destructor should be sufficient for the derived application classes:
DearImGuiApplication::~DearImGuiApplication()
{
    _deviceContext->Flush();
#if !defined(NDEBUG)
    _debug->ReportLiveDeviceObjects(D3D11_RLDO_FLAGS::D3D11_RLDO_DETAIL);
#endif
}

The destructor can be simply replaced with the following, as unique_ptrs and ComPtrs will automatically destroy their underlying object in the default destructor.
virtual ~Application() = default;

~Derived() = default;

Marking the ~Application virtual will also allow any derived class to override it and implement a custom dtor.