Image Converter

Description of the new feature / enhancement
One of the features that makes Windows a versatile and powerful operating system is the Image Converter. This feature allows users to convert images from one format to another, such as JPEG, PNG, BMP, GIF, TIFF and more. Image Converter can also resize, rotate, crop and apply filters to images, making it easy to edit and optimize them for different purposes. Image Converter is integrated with the File Explorer, so users can access it by right-clicking on any image file and selecting Convert. Alternatively, users can launch the Image Converter app from the Start menu and drag and drop images to convert them. Image Converter is a fast and reliable tool that can handle multiple images at once and preserve their quality and metadata. Image Converter is an essential feature for anyone who works with images on Windows.
Scenario when this would be used?
A possible scenario when the Image Converter feature in Windows would be used is when a user wants to change the format of an image file for a specific purpose. For example, if a user wants to upload an image to a website that only accepts JPEG files, but the image is in PNG format, they can use the Image Converter feature to convert the image from PNG to JPEG. The Image Converter feature allows users to choose from various image formats, such as BMP, GIF, TIFF, and more. The Image Converter feature also lets users adjust the quality and size of the converted image, depending on their needs and preferences.
Supporting information

The Image Converter feature is a useful tool that allows users to convert images from one format to another in Windows. To implement this feature, you will need to use the Windows Imaging Component (WIC) API, which provides a framework for working with images and image metadata. The WIC API supports various image formats, such as JPEG, PNG, BMP, TIFF, GIF, and more. You can use the WIC API to create, read, write, edit, and transform images in your application. Here are the basic steps to implement the Image Converter feature using the WIC API:

Initialize the WIC factory object by calling CoCreateInstance with the CLSID_WICImagingFactory class identifier.
Create an image decoder object by calling IWICImagingFactory::CreateDecoderFromFilename or IWICImagingFactory::CreateDecoderFromStream with the source image file name or stream.
Get the first frame of the image by calling IWICBitmapDecoder::GetFrame with index 0.
Create an image encoder object by calling IWICImagingFactory::CreateEncoder with the desired output image format GUID, such as GUID_ContainerFormatJpeg or GUID_ContainerFormatPng.
Create a new image file stream by calling IWICImagingFactory::CreateStream and set its destination file name by calling IWICStream::InitializeFromFilename.
Initialize the image encoder object by calling IWICBitmapEncoder::Initialize with the image file stream.
Create a new frame encoder object by calling IWICBitmapEncoder::CreateNewFrame and initialize it by calling IWICBitmapFrameEncode::Initialize with NULL parameters.
Copy the pixel data from the source frame to the destination frame by calling IWICBitmapFrameEncode::WriteSource with the source frame object and NULL parameters.
Commit the frame and the encoder by calling IWICBitmapFrameEncode::Commit and IWICBitmapEncoder::Commit respectively.
Release all the COM objects by calling their Release methods.

For more details and code examples, you can refer to the following documentation: https://docs.microsoft.com/en-us/windows/win32/wic/-wic-about-windows-imaging-codec

/dup https://github.com/microsoft/PowerToys/issues/2686


Improvement-Backend: Secrets Management

Currently we manage the secrets by adding them manually into secrets factory(ClassConverterFactory.java) on backend, for each connector we have different pattern in configs. reduction of manual addition to the factory and have automated masking logic for different config would help in dynamic masking and less dependency of manual addition to the code.

https://github.com/open-metadata/OpenMetadata/issues/13624
Using anyOf in OM jsonschemas
We might be abusing jsonschema's ability to express validation when in fact, in OM, it is used for code generation. So although jsonschema supports validation using arbitrary structures "anyOf", it is not considered a friendly feature of strongly typed languages like Java. This can be demonstrated in the dynamic type inference we use in python. Even in this (python) case, we are observing an abuse of the system because when we are using the if isinstance directive and by doing so giving up on the static type checking model and deferring it to Runtime. Nothing stops a developer from checking against types that are not part of the composition tree and no static type checking can validate this decision (because anyOf can literally be anything).
This idea is summarized pretty will in this discussion in jsonschema2pojo.
Example solution
There can be multiple solutions that come to mind. IMO for OM's use-case an exclusive OR can be applied where a field can be resolved to multiple types and the nested fields will be instantiated as concrete classes (or null if they are not on the resolved path) instead of loosely-typed (implementation example). This way when using the parent class one use more detailed business logic (such as cascading switch/case of if/elif).
In the GCP credentials case this will be manifested as this josn schema:
"properties": {
  "gcpCredentialsFile": {
    "title": "GCP Credentials File",
    "description": "Pass the path of file containing the GCP credentials info",
    "$ref": "#/definitions/gcpCredentialsPath"
  },
  "gcpCredentialsValues": {
    "title": "GCP Credentials Values",
    "description": "Pass the values of GCP credentials",
    "$ref": "gcpValues.json"
  },
  ...
},
"oneOf": [
  {
    "required": [
      "gcpCredentialsFile"
    ]
  },
  {
    "required": [
      "gcpCredentialsValues"
    ]
  }
]

With the concrete class being built
public class GCPCredentials {
	// ...
    private String gcpCredentialsFile;
    // ...
    private GCPValues gcpCredentialsValues;
    // ...
}

Summary
The actual implementation is much more nuanced because of the way these definitions are handled throughout the application across the different modules but generally it seems like there are two categories of solutions:

Removing the use of anyOf in any OM property definitions.
Writing a custom processor that generates deterministic classes inferred from the using anyOf.


Update{1}: Adapting CSV writer for strictly 'csv' output.

Updating writer to create CSV file with only ',' as delimiter and all resulting fields are quoted.
Note: update is for executing code in Python3 (version 3.12.2)

Awesome, thanks!


GLFW Driver Error

librealsense
2.37.0 RELEASE

OS
Windows

Intel RealSense Viewer / Depth Quality Tool has crashed with the following error message:
GLFW Driver Error: WGL: The driver does not appear to support OpenGL
Could not initialize offscreen context!

Hi @ameth64   This is not a problem that is specific to librealsense and the same error can occur in other programs (most commonly the videogame Minecraft).  It suggests that OpenGL graphics support is not present on your computer.
Are you using your computer in a "headless" setup (one without a display screen) please?

The error seem fairly descriptive. Please install graphic drivers and try again


Bug: /Player showing Old Format and Not New Format

Recently the /player was changed from showing played to showing different played amounts per game mode. However, this player still has the old format. His matches are correct and up to date, but his player is not.

Expected Behaviour

The player data should be returned in the proper new format with played_casual played_ranked etc but it is not.
Current Behaviour

It is sending the data as the older format.
Possible Solution

Fix to show new format
Steps to Reproduce (for bugs)

/player for AR45A

Context

The player is getting variables on his profile on EZLBot with NAN because you can not use undefined in a mathematical formula to calculate games lost or win rate etc... It also shows as undefined for the Game Mode Specific values

curl -g "https://api.dc01.gamelockerapp.com/shards/na/players?filter[playerName]=AR45A" \
  -H "Authorization: Bearer API_KEY" \
  -H "Accept: application/vnd.api+json"

Returns 2 players. Use the 2nd one. Also, Patch changes are not retroactive as far as I know. So a new patch values like played_* will not show for players who have not played atleast 1 game in the new patch.
{
  "data": [
    {
      "type": "player",
      "id": "35b8c1de-ba6a-11e6-ab37-062cb73cdbb1",
      "attributes": {
        "createdAt": "2017-07-17T13:24:28Z",
        "name": "AR45A",
        "patchVersion": "",
        "shardId": "na",
        "stats": {
          "elo_earned_season_4": 0,
          "elo_earned_season_5":<PHONE_NUMBER>6494,
          "elo_earned_season_6": 1401.9671703770687,
          "elo_earned_season_7": 1507.6573686805564,
          "karmaLevel": 2,
          "level": 29,
          "lifetimeGold": 11719.998046875,
          "lossStreak": 0,
          "played": 1266,
          "played_ranked": 417,
          "skillTier": 12,
          "winStreak": 0,
          "wins": 662,
          "xp": 172440
        },
        "titleId": "semc-vainglory"
      },
      "relationships": {
        "assets": {
          "data": []
        }
      },
      "links": {
        "schema": "https://raw.githubusercontent.com/madglory/gamelocker-vainglory/master/schemas//player_index.json",
        "self": "https://api.dc01.gamelockerapp.com/shards/na/players/35b8c1de-ba6a-11e6-ab37-062cb73cdbb1"
      }
    },
    {
      "type": "player",
      "id": "3bd5aac2-91f2-11e7-ae16-029cb633549e",
      "attributes": {
        "createdAt": "2017-09-20T14:13:50Z",
        "name": "AR45A",
        "patchVersion": "2.8",
        "shardId": "na",
        "stats": {
          "elo_earned_season_4": 0,
          "elo_earned_season_5":<PHONE_NUMBER>65,
          "elo_earned_season_6": 1401.96717038,
          "elo_earned_season_7": 1507.65736868,
          "elo_earned_season_8": 0,
          "elo_earned_season_9": 0,
          "karmaLevel": 2,
          "level": 30,
          "lifetimeGold": 12093.3310546875,
          "lossStreak": 0,
          "played": 0,
          "played_aral": 620,
          "played_blitz": 669,
          "played_casual": 871,
          "played_ranked": 498,
          "skillTier": 16,
          "winStreak": 0,
          "wins": 1003,
          "xp": 175450
        },
        "titleId": "semc-vainglory"
      },
      "relationships": {
        "assets": {
          "data": []
        }
      },
      "links": {
        "schema": "https://raw.githubusercontent.com/madglory/gamelocker-vainglory/master/schemas/2.8/player_index.json",
        "self": "https://api.dc01.gamelockerapp.com/shards/na/players/3bd5aac2-91f2-11e7-ae16-029cb633549e"
      }
    }
  ],
  "links": {
    "self": "https://api.dc01.gamelockerapp.com/shards/na/players?filter[playerName]=AR45A"
  },
  "meta": {}
}

That changes the question from why the old format to why does this player have 2 player objects returned?
He plays matches every day I have confirmed it myself.

The new values are being shown for him in the second player object. This is so weird.
{
      "type": "player",
      "id": "3bd5aac2-91f2-11e7-ae16-029cb633549e",
      "attributes": {
        "createdAt": "2017-09-20T14:13:50Z",
        "name": "AR45A",
        "patchVersion": "2.8",
        "shardId": "na",
        "stats": {
          "elo_earned_season_4": 0,
          "elo_earned_season_5":<PHONE_NUMBER>65,
          "elo_earned_season_6": 1401.96717038,
          "elo_earned_season_7": 1507.65736868,
          "elo_earned_season_8": 0,
          "elo_earned_season_9": 0,
          "karmaLevel": 2,
          "level": 30,
          "lifetimeGold": 12093.3310546875,
          "lossStreak": 0,
          "played": 0,
          "played_aral": 620,
          "played_blitz": 669,
          "played_casual": 871,
          "played_ranked": 498,
          "skillTier": 16,
          "winStreak": 0,
          "wins": 1003,
          "xp": 175450
        },```

Hey dudes - Yep, not retroactive.  Players (now) have a patchVersion, so you can link it to schema for that patch too.  Basically we can't update players until we have new data about them (which means they need to play).  It's another issue of "there's no way around understanding multiple schema versions" :)
Good news: we include a link to the schema that, if populated, might help.  If the schema is missing, pull request welcome!

This player plays daily I confirmed it myself. This means he Should not have outdated data. If they had not played i understand but this player plays every day multiple matches

Also why does this player have 2 player objects returned as opposed to 1?

Have found a lot more players with this same issue now. They play consistently and their player object is not updating to the new schema and they return 2 player objects instead of 1. Not sure what is causing this but it is a really big issue.


Ability to change date of addition for movies and shows

A user who is new to Watcharr is likely to have a long watch history going back beyond the date of installation/deployment.
So, the ability to change the date of the addition or the ability to see the date on which the movie was seen would be nice.
This may not seem like a big deal right now. But, if a feature like yearly stats (similar to Spotify's year-end stats) were to be implemented at some point in the future, the date of addition/viewing might come in handy.
Eg. I know when I saw Avatar 2 in 2022. I should be able to add that to Watcharr in a way which meaningfully reflects the date of viewing.

Hi @n00b12345, we have a feature in the dev branch right now that allows you to edit your activity (#61). This would let you change the date on which the Watched activity displays.
Should be released soon. Would that solve this problem for you?

Hi @n00b12345, we have a feature in the dev branch right now that allows you to edit your activity (#61). This would let you change the date on which the Watched activity displays.
Should be released soon. Would that solve this problem for you?

It would! Thank you.


Update zio to 1.0.0-RC11-1

Updates dev.zio:zio from 1.0.0-RC8-4 to 1.0.0-RC11-1.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [{ groupId = "dev.zio", artifactId = "zio" }]

labels: semver-pre-release

Superseeded by #234


Self host nightmare

You've absolutely no incentive or will to make an easy/working self host version, and the result is the long nightmarish instructions provided and the absolute lack of support.

Start here and follow this guide, it's the same thing, but much more comprehensive: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/prerequisites.md
If you have any serious issues, just @me and I will try to help you out ;)


Uplink after cnt 192 always will be reduced to 11 bytes

Hello,
I'm using DISCO_L072CZ_LRWAN1. I just clone this program and flash to device with original code. Then, connect to TTN. It worked well until uplink cnt 194 . It's reduce from ~25-27 bytes to 11 bytes all uplink packet

It a buggy or am I missing some config? and How to solve this problem?
Thanks

ARM Internal Ref: IOTCELL-2117

I found it. The problem is on a gateway. I just change a new one and a problem was gone.


Add quadratic op for the tutorial of adding ops in backend

Description
The operator quadratic is used as an example of this tutorial, while its implementation is kept in my personal repo. Now move it to the public repo and will change the corresponding links in the tutorial to the new ones after this PR is merged.
 I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@eric-haibin-lin

maybe we should put this in contrib

@piiswrong any other concerns?


Feature request: SSD characters should really fall asleep

Yes i completely agree with this.

It is a myth


chore: added snippets ignore

Summary
Added subFolderIgnore to ignore the snippets directory from the docs-hub checks.
This is required for the following PR.

Superseded by https://github.com/FuelLabs/github-actions/pull/48


Change node labels default alignment

Modification of the node default position in the settings has no effect
Sigma.js version: 2.3.0
Graphology version: 0.24.1
vue version: 2.6.14
My problem is that when I want to set label for nodes is on the bottom hand side or node inside, and I used to json file save nodes info.
I set defaultLabelAlignment:"bottom" and look at the code,but both its unavail, anything I am doing wrong?
https://github.com/jacomyal/sigma.js/pull/468/files
Is it possible to move the label to others position of the node?

I decided to take the same decision as for #1357:
After having been thinking a lot on this issue, I decided to not implement it. Right now, sigma's APIs is made so that people who have advanced usecases should write their own label renderers. That's what we do in the demo for instance.
Also, labels rendering APIs might change in the near future (to handle #1319 for instance), so I don't want to commit more code/debt into it.


Fix displayed stats for "over time" effects

Ingame:

displays 318 reduced armor for 3 seconds (scheme: effect , duration)
Vault:

displays 1080 (three times more) reduced armor for 3 seconds, which is wrong.
Seems like vault gets these stats:
offensiveSlowDefensiveReductionDurationMin,3.000000, offensiveSlowDefensiveReductionMin,360.000000,
and multiply them for some reason (scheme: effect*duration , duration). For this case 360 RA for 3 seconds doesn't mean 1080 in whole.

Just looking at the screen grabs, it actually appears that there are two different effects.  Looking at the wording of the format string the behavior may be correct for that particular format.
To fix this we would need to look at a few "over time" items from both the base game and expansions to verify the tags and change the attribute parsing accordingly.

Well, it happens I fixed this one while resolving other tooltip issues:
https://github.com/Ninakoru/TQVaultAE/releases/tag/3.8.8-TEST3


how to start and run

How to start.
how to run code

git clone https://github.com/terkelg/ramme.git
cd ramme/
yarn
yarn start


fix: Use port number instead of name in targetPort

When creating ports in a Service for a Deployment, the chart currently uses the  port name (instead of port number) for the targetPort property value. This works  in Kubernetes with Services and Ingresses, because it knows how to map port  names to numbers.
However, third-party controllers, including in my case, the AWS Load Balancer  Controller: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/, may not properly map port names to numbers when translating service ports into  load balancer listener configurations. This means that this chart cannot create  a functional Ingress using an AWS Application Load Balancer.
This fix is to simply use the port number for the service port. This shouldn't  affect any existing Services created by the chart, because the port number  works in Kubernetes equally as well as the name. It also shouldn't affect any  externally created Ingresses that refer to the port, since the port name  remains available and unchanged.

@labaneilers thanks for the contribution. Please bump the chart's minor version number and run make generate-examples. Have you tested this change, specifically as part of an upgrade flow?

@TylerHelmuth I just want to double check you mean to bump the minor version, not patch, correct? I'm not 100% certain what would be the difference in terms of a helm chart, but my understanding was that this is more of a bug fix, which wouldn't affect the helm chart's "API", or the behavior for anyone who isn't being affected by the bug. I thought that would mean you'd want a "patch" bump. Can you please confirm?

@TylerHelmuth As for testing the change as part of an upgrade flow: I've re-installed my collector Deployment via helm upgrade, pointing at my local copy of the charts repo, with my fix. The Ingress, which was previously creating a broken load balancer (with a listener pointing to port 1), immediately created a healthy load balancer. Is that what you mean?
Thanks for your attention and patience!

@simpli-laban @labaneilers If the change affects users we'll do a Minor bump (since we don't have a Major version yet). But if the change doesn't affect anyone we could do a patch bump.
When you tested did you use the AWS Load Balancer Controller or a standard k8s cluster? I want to make sure this change does affect users using standard k8s controllers.

@simpli-laban @labaneilers If the change affects users we'll do a Minor bump (since we don't have a Major version yet). But if the change doesn't affect anyone we could do a patch bump.
When you tested did you use the AWS Load Balancer Controller or a standard k8s cluster? I want to make sure this change does affect users using standard k8s controllers.

@TylerHelmuth I'm not 100% sure this is what you're asking, but: The cluster I'm testing with has both aws-load-balancer-controller and nginx controllers installed. Ingresses created with the nginx controller worked both before and after my fix. Ingresses using aws-load-balancer-controller work after my fix.

lol, sorry I switched to my work account by accident- I was in the wrong chrome profile :)
This is meant to be a contribution via my personal github account.

@labaneilers please handle merge conflicts (its probably the chart version)

@labaneilers please handle merge conflicts (its probably the chart version)

Done. It was just the chart version and generated examples.


unable to input '@' symbol on german keywords

on german keyboards, the @ symbol is input using the following key combination:
Right Alt + Q
but it doesn't seem to be working on the terminal!  any pointers on how / where i could fix that in the code?

I check german keyboard layout on google image, and there are also keys like μ and ~ are you able to put them in terminal? What about characters like ä, ö and ü?
You can fix it in your client code by putting
$(...).terminal(function(cmd) {

}, { keydown: function(e) {
    if (e.which == 81 && e.altKey) {
        self.insert(String.fromCharCode(e.which));
    }
}});

if it don't work then you can check this page http://api.jquery.com/keydown/ and scroll to the demo, you can type then your character and see what is show up, importent are altKey, metaKey, shiftKey, and which
I will put it in the code so you will not have to, but if you want it working right now then you have this.

I just notice that ALT+Q show @ using Polish keyboard (actually keyboard
is standard QWERTY but using Polish language pl_PL.uft8) in Chrome
(Ubuntu), alt is working for me because in Polish text we use charters
like ąśźżćłóń and they was always working.
In what browser did you notice that? on what OS? Maybe polish
characters will not work on this browser too.
On Mon, 6 Feb 2012 07:50:59 -0800
rampall
<EMAIL_ADDRESS>wrote:

Thanks for the tip! The umlaut characters ä, ö, ü  work fine!
Its only the ALT+KEYs that dont work : {, [, ], }, \,
@, € and ~  as far as I can tell.
These are the ones highlighted in green here -
http://www.forlang.wsu.edu/Images/help/kgerman.gif

Reply to this email directly or view it on GitHub:
https://github.com/jcubic/jquery.terminal/issues/17#issuecomment-3830746

--
Jakub Jankiewicz
twitter: @jcubic
www: http://jcubic.pl


Fix for some cases where TableNamesFinder can't find tables

Some edge cases that TableNamesFinder fails. For your review...

Coverage decreased (-0.005%) to 87.121% when pulling 395c3b0049cd09fc50dced0f4e4eea55bfbe2535 on natzcam:master into 812f98fff951c4e9b9f26728210ce3a1fb092283 on JSQLParser:master.

Coverage decreased (-0.005%) to 87.121% when pulling b2bb2431c4dfae099558446b1f2e1bb484f81744 on natzcam:master into 812f98fff951c4e9b9f26728210ce3a1fb092283 on JSQLParser:master.

Thx for improving JsqlParser 👍


Fix builds on pull requests from forks

Pull Request Details
Fixes #169 by fixing the build failures observed in #166 and #168. It might also resolve the build failures of #140 (build logs have expired).
Description
The action dorny/test-reporter@v1 requires write permissions, which are not available for pull requests from forked repositories. This pull request applies the recommended solution as documented on the README.md of the action.
Related Issue

#169

Motivation and Context
Enable the build and merge of external pull requests like #166.
How Has This Been Tested
I created a pull request on my fork with a failing unit test.
JojOatXGME/gradle-changelog-plugin#1
This demonstrates that the test reports are working. However, this test does not demonstrate that the bug is actually fixed, since my pull request is not coming from a different fork.
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change) (the content of the “test-reports-*” artifacts have changed)

Checklist

[x] I have read the CONTRIBUTING document.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the README.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Thank you!


typo + wrong info in "Others" section

you see the typo. and the info is wrong - the miner is below 10TB due to post failure see: #11

forget about the wrong info part, just the typo left, see #11

Corrected. I will include it in the next release.


Indentation count lost after comment in code (Again)

#774 is back it seems (or something like it)
before:
<?php

function a()
{
      //test
      echo 'Ahem';
}

after:
<?php

function a()
{
    //test
      echo 'Ahem';
}

Sorry for dupe - github being spazzy


Implement createColors() api

@ai, not quite sure if it fits the use case you described in https://github.com/alexeyraspopov/picocolors/issues/4 but this is one of my ideas for such feature. At least this seems to be the same mechanism nanocolors implements. The reason I was hesitant about this feature is the fact how simple it can be implemented in the user space. But since this implementation doesn't take much space, we can probably ship it as picocolors/factory (or something like this) so the few who need it can just use it and the rest won't need to import it. Thoughts?

On NO_COLOR=1 createColors(true) will return noop and not the colors as expected.


Fix supplier spawn

Supplier spawn rates was inproperly large, becouse of check with incorrent creep part.

Supplier spawn rates was inproperly large, becouse of check with incorrent creep part.

Suppliers are counted by counting the number of creeps with MOVE parts equal to the number of body pattern repetitions (supplierSize). You've changed this to CARRY, which will incorrectly count the supplier body repetitions, since there are two CARRY parts and one MOVE part per pattern.

This implementing more workers spawning on early steps of the game.

Your current implementation will cause bugs if you start remote mining from another room while your primary room is <RCL3, since colony.getCreepsByRole() counts all creeps across all rooms in a colony.


Slackbot demo ?

I think the readme should be expanded to add the slack installation procedure. Although app.py has the important beats, it's somewhat cumbersome to know how to install and run the app on slack.

Added, thank you for your feedback!
https://github.com/lamini-ai/lamini-sdk/commit/3467ae12fe67dd54dc39e2a4428fe26f1ffea9a6

Ty this is a great advane @edamamez , anyway after following up the updated instructions, the bot doesnt get answers for example:
⚡ Bolt app is running!
Mentioned in channel C0798PSKK3K with question  hello
Model names: ['meta-llama/Llama-2-7b-chat-hf']
'Answer'

And in slack .. it gets stalled on Typing...


kdl-parser: fails in do_compile on arch linux architecture

bitbake kdl-parser fails during compiling with:
| DEBUG: Executing shell function do_compile
| NOTE: VERBOSE=1 cmake --build ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build -- -j 24
| ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot-native/usr/bin/cmake -H./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/kdl_parser-1.13.0/kdl_parser -B./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build --check-build-system CMakeFiles/Makefile.cmake 0
| ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot-native/usr/bin/cmake -E cmake_progress_start ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build/CMakeFiles ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build/CMakeFiles/progress.marks
| make -f CMakeFiles/Makefile2 all
| make[1]: Entering directory './build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build'
| make -f CMakeFiles/kdl_parser.dir/build.make CMakeFiles/kdl_parser.dir/depend
| make[2]: Entering directory './build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build'
| cd ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build && ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot-native/usr/bin/cmake -E cmake_depends "Unix Makefiles" ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/kdl_parser-1.13.0/kdl_parser ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/kdl_parser-1.13.0/kdl_parser ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build/CMakeFiles/kdl_parser.dir/DependInfo.cmake --color=
| Dependee "./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build/CMakeFiles/kdl_parser.dir/DependInfo.cmake" is newer than depender "./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build/CMakeFiles/kdl_parser.dir/depend.internal".
| Dependee "./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build/CMakeFiles/kdl_parser.dir/depend.internal".
| Scanning dependencies of target kdl_parser
| make[2]: Leaving directory './build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build'
| make -f CMakeFiles/kdl_parser.dir/build.make CMakeFiles/kdl_parser.dir/build
| make[2]: Entering directory './build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build'
| [ 25%] Building CXX object CMakeFiles/kdl_parser.dir/src/kdl_parser.cpp.o
| ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++  -DROSCONSOLE_BACKEND_LOG4CXX -DROS_PACKAGE_NAME=\"kdl_parser\" -Dkdl_parser_EXPORTS -I./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot/usr/include -I./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/kdl_parser-1.13.0/kdl_parser/include -I./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot/usr/include/eigen3 -I/usr/include/eigen3 -I./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot/opt/ros/melodic/include -I./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot/opt/ros/melodic/share/xmlrpcpp/cmake/../../../include/xmlrpcpp  -march=armv8-a -mtune=cortex-a53  --sysroot=./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot  -O2 -Os -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0=/usr/src/debug/kdl-parser/1.13.0-r0 -fdebug-prefix-map=./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot-native= -fdebug-prefix-map=./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot=  -fvisibility-inlines-hidden  -march=armv8-a -mtune=cortex-a53  --sysroot=./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot -fPIC   -std=c++11 -o CMakeFiles/kdl_parser.dir/src/kdl_parser.cpp.o -c ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/kdl_parser-1.13.0/kdl_parser/src/kdl_parser.cpp
| ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/kdl_parser-1.13.0/kdl_parser/src/kdl_parser.cpp: In function 'bool kdl_parser::treeFromXml(const tinyxml2::XMLDocument*, KDL::Tree&)':
| ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/kdl_parser-1.13.0/kdl_parser/src/kdl_parser.cpp:187:35: error: no matching function for call to 'urdf::Model::initXml(const tinyxml2::XMLDocument*&)'
|    if (!robot_model.initXml(xml_doc)) {
|                                    ^
| In file included from ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/kdl_parser-1.13.0/kdl_parser/src/kdl_parser.cpp:42:0:
| ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot/opt/ros/melodic/include/urdf/model.h:55:8: note: candidate: bool urdf::Model::initXml(TiXmlElement*)
|    bool initXml(TiXmlElement *xml);
|         ^~~~~~~
| ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot/opt/ros/melodic/include/urdf/model.h:55:8: note:   no known conversion for argument 1 from 'const tinyxml2::XMLDocument*' to 'TiXmlElement*'
| ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot/opt/ros/melodic/include/urdf/model.h:57:8: note: candidate: bool urdf::Model::initXml(TiXmlDocument*)
|    bool initXml(TiXmlDocument *xml);
|         ^~~~~~~
| ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/recipe-sysroot/opt/ros/melodic/include/urdf/model.h:57:8: note:   no known conversion for argument 1 from 'const tinyxml2::XMLDocument*' to 'TiXmlDocument*'
| CMakeFiles/kdl_parser.dir/build.make:65: recipe for target 'CMakeFiles/kdl_parser.dir/src/kdl_parser.cpp.o' failed
| make[2]: *** [CMakeFiles/kdl_parser.dir/src/kdl_parser.cpp.o] Error 1
| make[2]: Leaving directory './build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build'
| CMakeFiles/Makefile2:70: recipe for target 'CMakeFiles/kdl_parser.dir/all' failed
| make[1]: *** [CMakeFiles/kdl_parser.dir/all] Error 2
| make[1]: Leaving directory './build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/build'
| Makefile:132: recipe for target 'all' failed
| make: *** [all] Error 2
| WARNING: exit code 2 from a shell command.
| ERROR: Function failed: do_compile (log file is located at ./build/tmp/work/aarch64-poky-linux/kdl-parser/1.13.0-r0/temp/log.do_compile.20984)

This is on Arch Linux using the current ROS version Melodic. The issue however occurs since kdl-parser in meta-ros at kdl-parser_1.13.0.bb

Then please report it in https://github.com/bulwahn/meta-ros, but last change in that repository was over 2 years ago, I doubt that it's still supported.

Since it doesn’t support create new issues at https://github.com/ros/meta-ros
If I porting ROS version Melodic on arch linux architecture. May I know which meta-ros branch is proper version for Melodic?

Since it doesn’t support create new issues at https://github.com/bulwahn/meta-ros and that repository mentions I could list issues here.

It's a fork of older version of this repository and it mentions issues here, because it has the same README file as this repository.

If I porting ROS version Melodic on arch linux architecture. May I know which meta-ros branch is proper version for Melodic?

What you mean by "arch linux"? aarch64 architecture? Because "arch linux" is also Linux distribution https://www.archlinux.org/.
thud-draft branch is currently the latest one and it supports newest melodic, see the documentation:
https://github.com/ros/meta-ros/wiki/OpenEmbedded-Build-Instructions


feat(lang): Add a new function to declare the repository and description

Description
def build():
    info(repo="https://github.com/tensorchord/envd", description="The repository of envd")

The information will be kept in image labels.

Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

Closed by https://github.com/tensorchord/envd/pull/1101


[Refactor] Remove param mempool from TypeInfo::direct_copy

Fixes #issue
shallow_copy: shallow copy
deep_copy: alloc memory and deep copy
direct_copy: pre alloc memory and deep copy
map/struct/array no need to implemented this interface: direct_copy.
Currently, direct_copy only used for ZoneMap.
What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[x] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[x] 3.0
[x] 2.5
[x] 2.4

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

https://github.com/Mergifyio backport branch-2.5 branch-3.0 branch-3.1


Make bug template more beginner-friendly

Objective

"What you expected to happen" and "what actually happened" often involves trivial duplication.
"Please provide full reproduction steps" is not helpful advice to new contributors.
The OS field was commonly useless or inadequate.
The description for "additional information" effectively just repeated the title of the field.

Solution

Unify these fields into a single "what went wrong" field.
Provide an example of a useful reproduction.
Replace OS field with an optional "Setup Information" field that captures information about other critical setup like Rust version and hardware.
Provide helpful advice about what sort of information may be useful to add.

@bevyengine/triage-team and @bevyengine/docs-team, I'd be interested in your opinions on the exact wording here. The exact framing of our template will have an appreciable impact on the reports we get.

Please cut down on the verbosity. The bug report template should be brief, concise, easy to read, quick to get over with.
Submitting bug reports is rarely an enjoyable experience for most users. If the template is long and full of text, we are increasing the chances of users simply giving up and not reporting their bugs at all.
Believe me, we have a bias, as developers and project maintainers.
The vast majority of users and "normal people" I have talked to have often shared a sentiment that they don't report the bugs they encounter in the software they use. Most often it is because the bug reporting systems feel too formal or overwhelming.
Users encounter an issue, users want to minimize their hassle and move on with their lives. Encountering an elaborate-looking bug report template (or bug tracker system in other projects) is a great way to discourage them.

Oh darn, you made changes while i was busy writing reviews for the previous version…

Ok I really like your conciseness changes. :)

bors r+


Power App Download package is missing

[Enter feedback here]
The link under the Tip section for download the package is not working. I recall that I was able to download couple of months ago. If the original link can be restored it will be great help.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f660396f-bb6f-8751-cd72-2897300bdb62
Version Independent ID: fada7f0c-1054-4456-def0-58838327062a
Content: Create a canvas app to manage projects - Power Apps
Content Source: powerapps-docs/maker/canvas-apps/sharepoint-scenario-build-app.md
Service: powerapps
GitHub Login: @emcoope-msft
Microsoft Alias: emcoope

Thank you for reaching out. Documentation has been updated, please allow some time to reflect the changes.


Custom SDK implementation

Initial support for interoperability with manual instrumentation was added in https://github.com/open-telemetry/opentelemetry-go-instrumentation/pull/523. This approach has issues when trying to implement methods like IsRecording, RecordError, and AddEvent, as well as the inability to capture the SpanStartOptions which contain important definitions about the span.
Provide our own SDK
An alternate solution for this interoperability was proposed in https://github.com/open-telemetry/opentelemetry-go-instrumentation/issues/352#issuecomment-1811166718:

Provide a TracerProvider implementation from auto-instrumentation that manual instrumentation can explicitly use to say they want their data to go to the same pipeline. This means the auto-instrumentation will control the type that manual instrumentation uses to create, edit, and end spans if they want the data to be sent to the auto-instrumentation pipeline

Providing an SDK implementation like this would allow us to design minimal overhead in the Go implementation to resolve all the issues found with the current approach. Namely:

For IsRecording, the span implementation could read its value from the span struct field that could be set in the eBPF space
RecordError could call a method like `func (s span) recordError(errMsg, errName string, cfg trace.EventConfig). This method would have all the needed information for the probe already resolved.
Similar to RecordError, AddEvent could call a addEvent method designed to have all the information for the probe already resolved in the call arguments.

Interoperability
The remaining issues with providing a custom SDK, is how this would be integrated into users code?
The original idea was to offer this SDK as a package under go.opentelemetry.io/auto. This could still be provided, but if this is the only way this solution is integrated it means user code needs to be updated to inter-op with auto-instrumentation.
Requiring user code to be updated to work with auto-instrumentation is not desired. The whole point of auto-instrumentation is this kind of action would not be required.
Instead, we would like to have the default global otel implementation inter-op with this new SDK:

A flag of some sort (i.e. a package level boolean var) would be added go.opentelemetry.io/otel/internal/global.
This flag would be false by default
When the Go auto-instrumentation loads, it will set this flag to true
When the global Tracer implementation creates a new span it will check this added flag (i.e. here), and if true will return our custom SDK implementation of the Span instead of the nonRecordingSpan

Action Items

[ ] Prototype interoperability proposal to test its viability
[ ] Present proposal to Go SIG

Re-evaluate and adjust after feedback from Go SIG

[ ] Build custom SDK
[ ] Publish custom SDK

@MrAlias What do you think should be included in the prototype?

Ideally, something like this:
package main

import (
	"fmt"
	"time"
)

var Flag bool

func main() {
	for {
		fmt.Printf("Flag: %t", Flag)
		time.Sleep(time.Second)
	}
	// Output: Flag: false
	// Auto-instrumentation added
	// Output: Flag: true
}

We may also need to look into having the global package call something like:
func (t *tracer) start(eBPFFlag *bool, ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span) {
/* ... */
}

and instrument that instead of Start so we can find the flag location.

@MrAlias  I did a POC for the second option we talked about. It is in https://github.com/open-telemetry/opentelemetry-go-instrumentation/compare/main...RonFed:opentelemetry-go-instrumentation_fork:flag_POC
Here are some logs from the app being instrumented and the agent:

rolldice-1  | 2024-08-09T15:42:14.291Z  INFO    app/main.go:64  starting http server    {"port": ":8080"}
rolldice-1  | 2024-08-09T15:42:14.291Z  INFO    app/main.go:52  probed function called with flag unset
go-auto-1   | {"level":"info","ts":1723218134.4202611,"logger":"go.opentelemetry.io/auto","caller":"cli/main.go:86","msg":"building OpenTelemetry Go instrumentation ...","globalImpl":false}
rolldice-1  | 2024-08-09T15:42:15.295Z  INFO    app/main.go:52  probed function called with flag unset
rolldice-1  | 2024-08-09T15:42:16.297Z  INFO    app/main.go:52  probed function called with flag unset
go-auto-1   | {"level":"info","ts":1723218136.4233193,"logger":"Instrumentation.Analyzer","caller":"process/discover.go:67","msg":"found process","pid":12030}
go-auto-1   | {"level":"info","ts":1723218136.4287593,"logger":"Instrumentation.Allocate","caller":"process/allocate.go:73","msg":"Detaching from process","pid":12030}
go-auto-1   | {"level":"info","ts":1723218136.4289303,"logger":"Instrumentation","caller":"app/instrumentation.go:144","msg":"target process analysis completed","pid":12030,"go_version":"1.22.5","dependencies":{"go.uber.org/multierr":"1.10.0","go.uber.org/zap":"1.27.0","std":"1.22.5"},"total_functions_found":3}
go-auto-1   | {"level":"info","ts":1723218136.428993,"logger":"go.opentelemetry.io/auto","caller":"cli/main.go:119","msg":"starting instrumentation..."}
go-auto-1   | {"level":"info","ts":1723218136.4319375,"logger":"Instrumentation.Manager","caller":"instrumentation/manager.go:198","msg":"loading probe","name":"net/http/server"}
go-auto-1   | {"level":"info","ts":1723218136.4832294,"logger":"Instrumentation.Manager","caller":"instrumentation/manager.go:198","msg":"loading probe","name":"main/client"}
go-auto-1   | {"level":"info","ts":1723218136.4842162,"logger":"go.opentelemetry.io/auto","caller":"cli/main.go:115","msg":"instrumentation loaded successfully"}
rolldice-1  | 2024-08-09T15:42:17.299Z  INFO    app/main.go:50  probed function called with flag set
rolldice-1  | 2024-08-09T15:42:18.300Z  INFO    app/main.go:50  probed function called with flag set
rolldice-1  | 2024-08-09T15:42:19.301Z  INFO    app/main.go:50  probed function called with flag set
rolldice-1  | 2024-08-09T15:42:20.302Z  INFO    app/main.go:50  probed function called with flag set
rolldice-1  | 2024-08-09T15:42:21.303Z  INFO    app/main.go:50  probed function called with flag set
rolldice-1  | 2024-08-09T15:42:22.304Z  INFO    app/main.go:50  probed function called with flag set
rolldice-1  | 2024-08-09T15:42:23.305Z  INFO    app/main.go:50  probed function called with flag set
rolldice-1  | 2024-08-09T15:42:24.307Z  INFO    app/main.go:50  probed function called with flag set
rolldice-1  | 2024-08-09T15:42:25.308Z  INFO    app/main.go:50  probed function called with flag set
rolldice-1  | 2024-08-09T15:42:26.309Z  INFO    app/main.go:50  probed function called with flag set

Awesome! Let me see about getting an issue created in https://github.com/open-telemetry/opentelemetry-go to make the proposal based on these findings.

opentelemetry-go proposal: https://github.com/open-telemetry/opentelemetry-go/issues/5702
@RonFed PTAL

@MrAlias LGTM,
In the suggested change, do you think we should probe the tracer.nreSpan (which has the flag pointer) or the interop.newSpan (which has the configuration ready)?
Ideally, we should build it in a way that we can handle both in a single eBPF program if it is possible.

@MrAlias LGTM, In the suggested change, do you think we should probe the tracer.newSpan (which has the flag pointer) or the interop.newSpan (which has the configuration ready)? Ideally, we should build it in a way that we can handle both in a single eBPF program if it is possible.

I was thinking tracer.newSpan as that would allow us to set the bool and trace in one probe. Right?

I was thinking tracer.newSpan as that would allow us to set the bool and trace in one probe. Right?
Yea, that sounds good, we'll need to have a return probe for that function as well simillar to what we have today - in order to save the returned span pointer in a map.

I was thinking tracer.newSpan as that would allow us to set the bool and trace in one probe. Right?

Yea, that sounds good, we'll need to have a return probe for that function as well simillar to what we have today - in order to save the returned span pointer in a map.

Correct.

With the custom sdk we're providing, do we still need the probes for the global instrumentation that we already have? Or could we just implement those functions in our sdk (Start, End, SetAttributes, etc)?
In that case we would only need to auto-instrument the custom sdk's ended function so that the object gets passed to the auto-agent's export pipeline.

With the custom sdk we're providing, do we still need the probes for the global instrumentation that we already have? Or could we just implement those functions in our sdk (Start, End, SetAttributes, etc)?
In that case we would only need to auto-instrument the custom sdk's ended function so that the object gets passed to the auto-agent's export pipeline.

Correct. After we have opentelemetry-go use our SDK we won't need to instrument the nonRecordingSpan or tracer from go.openetelemetry.io/otel/internal/global.

We will still need to instrument the initial call to tracer.Start to set the bool there stating the auto-instrumentation is registered.

We will still need to instrument the initial call to tracer.Start to set the bool there stating the auto-instrumentation is registered.

Hmm, we could also look into just instrumenting a bool in our SDK that the global SDK would look up via our API. Might be something we should look into.


Fix user-agent header in HTTPClient

addUserAgent flag that dictates whether it should be added at all
if it should be added, don't overwrite an existing user agent header

Lets get this merged quickly for 0.14!
#137

Current coverage is 80.51% (diff: 0.00%)

Merging #173 into master will decrease coverage by 0.03%

@@             master       #173   diff @@
==========================================
  Files           176        176
  Lines         13059      13064     +5
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits          10518      10518
- Misses         2541       2546     +5
  Partials          0          0

Powered by Codecov. Last update aca83a2...45f7d7f

Pretty straightforward and tests pass. Merging


@manipulate not updating until mouseup

On Jupyter 4.0.6 and the latest checkout of Reactive and Interact, Gadfly 0.4.0 and IJulia 1.1.8, @maniuplate no longer updates as I move the slider, only when I release the mouse.

It looks like some changes to IPython widgets. There should be a knob somewhere to get the previous default.
Also the current master + Reactive master is untested. If it works for you, that's great!

It also doesn't work on the tagged versions.  I changed to master to see if it had been fixed.

Any update on this. It appears that @manipulate is not working with 0.4.2.

Thanks


Select previously selected image when deselecting in multi-selection

Current state
Currently, when deselecting an image in the multi-selection mode, the cell is not actually deselected. Instead it's just removed from the selection array.
Proposed change
With this PR, when deselecting an image in multi-selection mode, the current preview will be replaced by the previously selected image.

@slashmo This is perfect! 🙏  Thanks a ton for taking the time to make the picker better for everybody 🎉

This is now solved in https://github.com/Yummypets/YPImagePicker/releases/tag/4.0.0 🚀


[Inky] autodetect board opts and pHAT v2 support

I have added auto opts detect and dev struct creationg with defaults from the detected opts as mentioned in #11.
While I was at it I also added support for pHAT v2 which is simply a pHAT with a small resolution difference.

Codecov Report

Merging #12 (918ef54) into main (c53a296) will decrease coverage by 0.9%.
The diff coverage is 0.0%.

@@           Coverage Diff           @@
##            main     #12     +/-   ##
=======================================
- Coverage   60.7%   59.8%   -0.9%
=======================================
  Files         48      48
  Lines       4250    4302     +52
=======================================
- Hits        2578    2571      -7
- Misses      1541    1600     +59
  Partials     131     131

Impacted Files
Coverage Δ

inky/inky.go
0.0% <0.0%> (ø)

mcp9808/mcp9808.go
98.4% <0.0%> (-1.6%)
:arrow_down:

lepton/lepton.go
85.7% <0.0%> (-1.4%)
:arrow_down:

ads1x15/ads1x15.go
82.2% <0.0%> (-1.0%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c53a296...918ef54. Read the comment docs.

@googlebot I signed it!

I've changed it so DetectOpts and the related functions all use an open port instead.
I guess I just assumed that the display would always run on a raspberry pi with linux as it is built for. I have have removed the hardcoded SPI port as specified, however the NewDetected still relies on the assumption that the Inky is used as a pi hat with the specific gpio ports. I personally feel like this makes sense due to the nature of the board, but if it's out of scope/too specific for a device driver, then it's probably better to just remove the function rather than make it take the same parameters as New minus the opts param.

Thanks! Apologies for the slow back and forth.
One potential follow up: I think it would be interesting to add an example about how to leverage the new function in https://github.com/periph/devices/blob/main/inky/example_test.go.


Export optimization problem in CPLEX LP format

The variables that do not have any bounds, need to have the word "free" in front of them when they are mentioned in the Bounds section of the LP file. Otherwise, the solver cannot read the problem and reports infeasible problem:
From http://lpsolve.sourceforge.net/5.0/CPLEX-format.htm:
A variable with a negative infinity lower bound and positive infinity upper bound may be entered as free, in any mix of upper- and lower-case characters, with a space separating the variable name and the word free. For example, x7 free is equivalent to - infinity <= x7 <= + infinity.

Hi, I don't think we export/use the CPLEX format.
I guess you can compile or-tools with flatzink format support and the CPLEX solver as backend but that's all...
Why do you think or-tools use this format ? (please point us to the source where you saw it thanks !)

The LP format is a standard optimization model format similar to MPS for (mixed integer) linear programming models, and Google OR is able to export the optimization problem in LP format. The LP (similar to MPS) can then be fed to any optimization solver. There is a small bug with the export that causes the solvers to report infeasibility. I think I fixed the issue. Here is the pull request: https://github.com/google/or-tools/pull/664

#664 merged -> close this issue


Destroy performance in Chromium browsers on macOS (w. potential solution)

Version
2.7.8
Reproduction link
codesandbox.io/s/spqkdn
Steps to reproduce
We’ve recently noticed a performance problem in our Vue 2 application when destroying 100+ item components in our grid, it can take a significant amount of time (30+ seconds). Each of our item components contains a lot of child components that all use a number of computed properties which is the root cause of this issue, as looking into how the destroy process works, it needs to clean all of them up. After doing some further digging we discovered this issue is ONLY occurring on Chromium browsers on macOS (tested on Chrome and Edge). Other browsers do not see this destroy delay.
Further performance digging has found the root cause to be the Array.prototype.splice() in the remove function used by Vue in the destroy process.

In the name of looking for an easy win, simply switching the logic in the remove function to use Array.protoype.pop() instead fixes the issue.

Of course, this approach would only work if the order of the arrays passed into the remove function did NOT matter. Looking at the source code I can see there’s a number of files that make use of this remove function in the util file, and I don’t know the codebase well enough to understand the ramifications of this particular approach.
Could be we might need to create an alternative remove function that can be called by callers who don’t care about the order of their arrays (assuming some do care about the order)?
Hoping some people can chime in on this, thanks! 🙂
Note the attached minimal reproduction is a very simplified version of the issue.
What is expected?
Destroy should happen without any major delays.
What is actually happening?
Destroy takes 30+ seconds.

This sounds more like a Chromium/V8 bug, and likely a recent regression. I would suggest reporting this to Chromium/V8 instead since it's a pretty serious defect.

@yyx990803 Thanks for the quick response, logged an issue here: https://bugs.chromium.org/p/chromium/issues/detail?id=1347350.
For a temporary fix, not sure if you know off the top of your head if the arrays passed into the remove are dependent on order, and whether in our application's build process, we could modify the remove logic to use pop? Or even if we could offload some of the callers into a new popRemove function, it would help us immediately address the issue.

From your repro it took 20 seconds for me on Chrome, Firefox and Edge on windows (impressively edge was a bit faster)
Given that there is 10 000 elements would you say that 20 seconds is expected?
It couldn't hurt to have those kind of performance improvements though

I think there is a perf issue with Chromium which really exasperates this particular issue, esp if there's a ton of watchers and computed props with lot of children elements (beyond my simple sample).
For a basic test I whipped this up: https://codesandbox.io/s/ih7t95?file=/src/index.js
And you'll notice it takes ~15-25 seconds on any Chromium browser vs ~0.05s on Firefox

Doesn't seem like Chromium will get around to solving that anytime soon, the bug I logged is still untriaged.

Okay now on this reproduction I'm getting the same result as you, weird that for the vue one even firefox takes 30+ seconds then

Ya I think it's prob I just don't have a deep enough sample with fewer components but a lot more child components with a large number of watchers/computed props which is what causes this perf issue.


fix(sbb-link): fix placement of slotted icon

Codecov Report

Merging #1371 (132dcd2) into master (ab917b0) will increase coverage by 3.44%.
The diff coverage is 76.58%.

@@            Coverage Diff             @@
##           master    #1371      +/-   ##
==========================================
+ Coverage   54.85%   58.29%   +3.44%
==========================================
  Files          49       56       +7
  Lines        1659     1892     +233
  Branches      406      476      +70
==========================================
+ Hits          910     1103     +193
- Misses        671      704      +33
- Partials       78       85       +7

Impacted Files
Coverage Δ

src/components/sbb-clock/sbb-clock.tsx
0.00% <0.00%> (ø)

src/components/sbb-logo/sbb-logo.tsx
0.00% <0.00%> (ø)

src/components/sbb-signet/sbb-signet.tsx
0.00% <0.00%> (ø)

...obal/core/components/overlay/overlay-component.tsx
0.00% <ø> (ø)

src/components/sbb-form-field/sbb-form-field.tsx
37.93% <37.93%> (ø)

...c/components/sbb-autocomplete/sbb-autocomplete.tsx
40.87% <44.44%> (+0.87%)
:arrow_up:

...c/components/sbb-toggle-check/sbb-toggle-check.tsx
66.66% <66.66%> (ø)

src/components/sbb-image/sbb-image.tsx
69.09% <73.77%> (+6.12%)
:arrow_up:

src/components/sbb-tab-group/sbb-tab-group.tsx
76.19% <76.19%> (ø)

src/components/sbb-image/sbb-image.helper.tsx
62.06% <77.77%> (-2.45%)
:arrow_down:

... and 43 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[GSSOC'21] RGB Color guessing game

I would like to add a new game called RGB Color guessing game.
I am a GSSOC 21 participant. Can you please assign me this task under gssoc!
Please @urvashi-code1255 and @Vishal-raj-1 assign me this.

@AnanyaJajoo This issue has already been made my some one .

Already implemented!


clh: add support to initrd

We now do not support initrd w/ kata+cloud-hypervisor. While it is generally lower priority, we need an issue to track it.

This issue is being automatically closed as Kata Containers 1.x has now reached EOL (End of Life). This means it is no longer being maintained.

Important:
All users should switch to the latest Kata Containers 2.x release to ensure they are using a maintained release that contains the latest security fixes, performance improvements and new features.

This decision was discussed by the @kata-containers/architecture-committee and has been announced via the Kata Containers mailing list:

http://lists.katacontainers.io/pipermail/kata-dev/2020-November/001601.html
http://lists.katacontainers.io/pipermail/kata-dev/2021-April/001843.html
http://lists.katacontainers.io/pipermail/kata-dev/2021-May/001896.html

If you believe this issue still applies to Kata Containers 2.x, please open an issue against the Kata Containers 2.x repository, pointing to this one, providing details to allow us to migrate it.


Send messages to a FIFO queue

Hello!
It'd be great if you allow sending messages to a FIFO queue, which requires the "MessageGroupId" parameter as mandatory in such cases.
BTW thanks for the repo

Great thank you! I will have a closer look into it later.

Released v0.2.0

Nice!


CF Space actions Part 2: Edit Space Action

Allows user to:

Rename Space
Toggle SSH

@richard-cox Addressed all comments


[Bug]: MariaDB Server - skuName, version and sslEnforcementEnabled are required fields, but not documented as such

Is there an existing issue for this?

[X] I have searched the existing issues

Affected Resource(s)

dbformariadb.azure.upbound.io/v1beta1 - Server

Resource MRs required to reproduce the bug
For skuName field error:
apiVersion: dbformariadb.azure.upbound.io/v1beta1
kind: Server
metadata:
  labels:
    testing.upbound.io/example-name: example
  name: example-upbound-gp
spec:
  forProvider:
    administratorLogin: acctestun
    administratorLoginPasswordSecretRef:
      key: example-key
      name: example-secret
      namespace: namespace-test
    location: West Europe
    resourceGroupNameSelector:
      matchLabels:
        testing.upbound.io/example-name: example-dbformariadb
    sslEnforcementEnabled: true
    storageMb: 51200
    version: "10.2"

For version field error:
apiVersion: dbformariadb.azure.upbound.io/v1beta1
kind: Server
metadata:
  labels:
    testing.upbound.io/example-name: example
  name: example-upbound-gp
spec:
  forProvider:
    administratorLogin: acctestun
    administratorLoginPasswordSecretRef:
      key: example-key
      name: example-secret
      namespace: namespace-test
    location: West Europe
    resourceGroupNameSelector:
      matchLabels:
        testing.upbound.io/example-name: example-dbformariadb
    skuName: GP_Gen5_2
    sslEnforcementEnabled: true
    storageMb: 51200

For sslEnforcementEnabled field error:
apiVersion: dbformariadb.azure.upbound.io/v1beta1
kind: Server
metadata:
  labels:
    testing.upbound.io/example-name: example
  name: example-upbound-gp
spec:
  forProvider:
    administratorLogin: acctestun
    administratorLoginPasswordSecretRef:
      key: example-key
      name: example-secret
      namespace: namespace-test
    location: West Europe
    resourceGroupNameSelector:
      matchLabels:
        testing.upbound.io/example-name: example-dbformariadb
    skuName: GP_Gen5_2
    storageMb: 51200

Steps to Reproduce
Create a MariaDB Server using any of the provided manifests (or any manifest without the skuName, version or sslEnforcementEnabled fields).
Note that you will need a secret to reference on spec.forProvider.administratorLoginPasswordSecretRef
What happened?
Required fields not listed as required in the documentation
The documentation on version 1.0.1 doesn't show the fields spec.forProvider.skuName, spec.forProvider.version and spec.forProvider.sslEnforcementEnabled as a required field, altough they're required.
This is just a documentation bug.
skuName is required error on status

version is required error on status

sslEnforcementEnabled is required error on status

Upbound doc link:
https://marketplace.upbound.io/providers/upbound/provider-azure-dbformariadb/v1.0.1/resources/dbformariadb.azure.upbound.io/Server/v1beta1

I'm already working on it. Will attach the PR soon.
Relevant Error Output Snippet
status:
  conditions:
    - lastTransitionTime: '2024-05-20T13:11:16Z'
      message: >-
        cannot compose resources: cannot apply composed resource "mdbserver":
        Server.dbformariadb.azure.upbound.io
        "nbra-dv-sysdemo-usea-mdb-9bwx4-jcwrx" is invalid: spec: Invalid value:
        "object": spec.forProvider.skuName is a required parameter
      reason: ReconcileError
      status: 'False'
      type: Synced
    - lastTransitionTime: '2024-05-20T12:39:16Z'
      message: 'Unready resources: customsecret'
      reason: Creating
      status: 'False'
      type: Ready
  connectionDetails:
    lastPublishedTime: '2024-05-20T12:39:16Z'

status:
  conditions:
    - lastTransitionTime: '2024-05-20T16:09:51Z'
      message: >-
        cannot compose resources: cannot apply composed resource "mdbserver":
        Server.dbformariadb.azure.upbound.io
        "nbra-dv-sysdemo-usea-mdb-v6n86-4f9qs" is invalid: spec: Invalid value:
        "object": spec.forProvider.version is a required parameter
      reason: ReconcileError
      status: 'False'
      type: Synced
    - lastTransitionTime: '2024-05-20T16:09:28Z'
      message: 'Unready resources: customsecret'
      reason: Creating
      status: 'False'
      type: Ready
  connectionDetails:
    lastPublishedTime: '2024-05-20T16:09:28Z'

status:
  conditions:
    - lastTransitionTime: '2024-05-20T16:13:12Z'
      message: >-
        cannot compose resources: cannot apply composed resource "mdbserver":
        Server.dbformariadb.azure.upbound.io
        "nbra-dv-sysdemo-usea-mdb-xq5jr-rtg4n" is invalid: spec: Invalid value:
        "object": spec.forProvider.sslEnforcementEnabled is a required parameter
      reason: ReconcileError
      status: 'False'
      type: Synced
  connectionDetails:
    lastPublishedTime: '2024-05-20T16:12:53Z'

### Crossplane Version

1.45.5

### Provider Version

1.0.1

### Kubernetes Version

1.27

### Kubernetes Distribution

AKS

### Additional Info

_No response_

Added PR #750 . Please let me know if I can help with anything else.

Hi @bipe,
Thank you for raising this issue. The reason why these fields do not appear required in the marketplace is that we can pass these fields in both spec.forProvider and spec.initProvider.
There are CEL rules in the CRD file regarding the conditions under which these fields are required and we have an internal issue to tracking this.

Blocked by the internal issue.

Oh I see. Thank you @turkenf . Should I leave this one open until the internal issue resolves?

Should I leave this one open until the internal issue resolves?

Yes, it would be better to keep it open so it can be followed.


AnimationGroup: Fix onAnimationGroupLoop observable not triggered when mask is not empty

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14372/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14372/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14372/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14372/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14372/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14372/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14372/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14372/merge#BCU1XR#0


[SPARK-44990][SQL] Reduce the frequency of get spark.sql.legacy.nullValueWrittenAsQuotedEmptyStringCsv

What changes were proposed in this pull request?
This PR move get config spark.sql.legacy.nullValueWrittenAsQuotedEmptyStringCsv to lazy val of UnivocityGenerator. To reduce the frequency of get it. As report, it will affect performance.

Why are the changes needed?
Reduce the frequency of get spark.sql.legacy.nullValueWrittenAsQuotedEmptyStringCsv

Does this PR introduce any user-facing change?
No

How was this patch tested?
exist test

Was this patch authored or co-authored using generative AI tooling?

No

Merged to master/3.5/3.4/3.3.


Chronograf Not Rendering the Query Result

We are running a POC to migrate VM running influx version 1 to new and shinny influx version 2.0 on kubernetes. For that purpose, we are running default config of influx on kubernetes which is ingesting data pushed by telegraf after reading from a kafka topic. Ingestion is absolutely fine, but the issue arises when we try to view the metrics on the chronograf gui. It errors out by either freezing the tab or by killing the influxdb pod due to unresponsiveness.
Interestingly; if we run the exact same query via Grafana, it shows the graph immediately; which indicates that the issue is not with the influx but the chronograf itself.
Please see below the details.
Steps to reproduce:
List the minimal actions needed to reproduce the behavior.

Run influxdb2 on kubernetes using helm charts (4G Memory and 4 CPU)
Run telegarf on kubernetes same namespace using helm chart to read from kafka and push into influx
Run influx-stress on a VM to push metrics from tool to influx via telegraf --> kafka --> telegraf --> influx
Run following simple query to explore the data from influx-stress tool

from(bucket: "kafka_data")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "ctr")
  |> filter(fn: (r) => r["_field"] == "n")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
  |> yield(name: "mean")

Expected behavior:
A line graph to show the metrics being pushed from influx-stress tool
Actual behavior:
There are 2 behaviors that were noticed
When running without ISTIO

The Chronograph gui just gets stuck while rendering and eventually browser tries to kill the tab due to unresponsiveness.

When running with ISTIO
2. Influxdb pod consumes all available memory to it and eventually the health and readiness probes fails due to which pod gets restarted
Last State: Terminated
Reason: Error
Exit Code: 137
Started: Wed, 23 Dec 2020 17:08:33 +0000
Finished: Tue, 29 Dec 2020 11:32:58 +0000

Events
Events:
  Type     Reason     Age                  From                                 Message
  ----     ------     ----                 ----                                 -------
  Warning  Unhealthy  79s (x7 over 5d18h)  kubelet, hostname.mycompany.local  Readiness probe failed: Get http://<IP_ADDRESS>:15021/healthz/ready: net/http: req
uest canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  78s (x4 over 5d18h)  kubelet, hostname.mycompany.local  Liveness probe failed: Get http://<IP_ADDRESS>:15020/app-health/influxdb2/livez: n
et/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  76s (x2 over 5d18h)  kubelet, hostname.mycompany.local  Readiness probe failed: Get http://<IP_ADDRESS>:15020/app-health/influxdb2/readyz:
 net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  50s (x4 over 5d18h)  kubelet, hostname.mycompany.local  Readiness probe failed: Get http://<IP_ADDRESS>:15021/healthz/ready: net/http: req
uest canceled (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  49s (x6 over 5d18h)  kubelet, hostname.mycompany.local  Readiness probe failed: Get http://<IP_ADDRESS>:15020/app-health/influxdb2/readyz:
 net/http: request canceled (Client.Timeout exceeded while awaiting headers)

Environment info:

System info: On Pre kubernetes
InfluxDB version: influxdb2 OSS version deployed using helm chart 1.0.13
Other relevant environment details: Container runtime --> docker

Config:
No custom config; we are using default config, only added config is influx token, bucket etc

Logs:
Include snippet of errors in log.
ts=2021-01-04T11:40:25.435747Z lvl=info msg="Error writing response to client" log_id=0RVB0BSl000 handler=flux error="csv encoder error: write tcp <IP_ADDRESS>:808
6-><IP_ADDRESS>:46776: write: broken pipe"
ts=2021-01-04T11:40:59.623752Z lvl=info msg="Error writing response to client" log_id=0RVB0BSl000 handler=flux error="csv encoder error: write tcp <IP_ADDRESS>:808
6-><IP_ADDRESS>:46988: write: broken pipe"
ts=2021-01-04T11:43:56.420716Z lvl=info msg="Error writing response to client" log_id=0RVB0BSl000 handler=flux error="csv encoder error: write tcp <IP_ADDRESS>:808
6-><IP_ADDRESS>:48084: write: broken pipe"
ts=2021-01-04T11:45:16.464803Z lvl=info msg="Error writing response to client" log_id=0RVB0BSl000 handler=flux error="csv encoder error: write tcp <IP_ADDRESS>:808
6-><IP_ADDRESS>:48570: write: broken pipe"
ts=2021-01-04T11:47:06.535610Z lvl=info msg="Error writing response to client" log_id=0RVB0BSl000 handler=flux error="csv encoder error: write tcp <IP_ADDRESS>:808
6-><IP_ADDRESS>:49244: write: broken pipe"
ts=2021-01-04T11:48:24.428184Z lvl=info msg="Error writing response to client" log_id=0RVB0BSl000 handler=flux error="csv encoder error: write tcp <IP_ADDRESS>:808
6-><IP_ADDRESS>:49720: write: broken pipe"

Performance:
Generate profiles with the following commands for bugs related to performance, locking, out of memory (OOM), etc.

Hello Team; is it possible to investigate this?

Hello Team; is it possible to investigate this?

While I was able to reproduce the issue the problem comes down to a data model / UI performance issue. The influx-stress tool will generate measurements with unique tag sets for each data point. This leads to the UI having an issue rendering the data. This doesn't appear to affect the query engine performance however there could be better ways of structuring the data by moving the unique tag influx-stress creates into a field. Another thing to note is Grafana doesn't have as significant of a problem presenting the same data. Based on the data I'm seeing within Grafana the UI is limiting the amount of data being presented to the user.
@jmukhtar could try running the influx-stress tool with a different series value? I was able to generate 1,000+ series before having issues within UI or Grafana.
influx-stress insert -s 1000
In the end this results in a cardinality issue that could be addressed by rearranging the data being ingested.
@kristinarobinson there appears to be some performance impact to the UI when it tries to render a measurement with high cardinality on the tag.

@BondAnthony Is this Cloud or OSS?

I did this using OSS instance but I can try and reproduce in cloud.


feat(NumberTheory/SumPrimeReciprocals): the sum of 1/p over primes p diverges

This adds the fact that ∑ p prime, 1/p diverges. We follow the elementary proof due to Erdős given in "THE BOOK".
See here on Zulip.

maintainer merge


Tweak auto-rebalancing tutorial

Remove the reduction of range size. Rebalancing can be seen fine
without forcing splits, and the low range size was slowing
down rebalancing pretty dramatically.

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/1089cde7caa95dcdf2f578eff30d4f35398ffb74/


Splitting RO craft files out of RO

https://github.com/KSP-RO/RealismOverhaul/pull/1332 involves splitting our craft files out into a new package which the core RO package then recommends.
Does this look sane to you? If so, what netkan-side changes need be made? Making a new netkan stub to point to our new netkan? What else?

If you make the craft package a min_version of the RO dependency I assume you are giving it, it might remove the need for users to uninstall and reinstall.

Sorry, can you, uh, "refresh my memory"* on what you mean by setting it as a min_version of the dependency?
*Well, to be fair I think I did know what that meant once, it's just totally gone now.

Never mind. I don't think I can remember what I was thinking. The issue is that people trying to install the craft files mod will have an issue if they are still included in their RO mod installation, meaning they will need to uninstall RO first, then install both separately. If you made the crafts mod not a dependency, then RO could update, removing the craft files in the process, and then users could install the craft files mod.
How much of a requirement are the craft files?

I think we can safely put them as a rec rather than a dep. @raidernick ?

I think you are, actually.

Then it shouldn't be a problem, right?

Might be worth priming your CKAN users to do the update of RO first, then install the craft files separately.

Good point.

@politas all of the craft files names were changed anyway just for this exact situation. Even if it were a required dependency, since the names are changed it can't conflict. Worst case users would end up with the old copies and the new renamed ones.

Ah, no worries at all then! Just need the new meta-netkan for the craft mod.

So, with the results we've gotten in #4581, it seems clear that at least some users are going to have to uninstall and reinstall RO in order to install the new RO-Crafts mod.


Generate an error against unrecognized arguments

This is based on the implementations of #34 and #41. Resolves #2.
If a command specifies its associated options type in its public typealias Options = ... when that is OptionsType, the options will be evaluated and validated before the actual command runs.
/cc @norio-nomura, @mdiep

I confirmed that it works. :+1:

I opened #41 as a basis for how I would make these changes.

Rebased to master to reflect the changes in #41.

:fireworks:

So excited for this :dizzy:

:clap:


dbeaver: 4.3.3 -> 5.0.0

Motivation for this change
Updates dbeaver.
While the major version number is increasing, it doesn't seem to include any breaking change. The version increased since it's the release of the new Mock data generator extension.
Things done

✔ Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

✔ NixOS

✔ Tested execution of all binary files (usually in ./result/bin/)
✔ Fits CONTRIBUTING.md.

As a side note, #34182 is still open and I will still gladly accept any help in figuring out how to build this using the source release.

@GrahamcOfBorg build dbeaver

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘dbeaver-ce-5.0.0’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/applications/misc/dbeaver/default.nix:59 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Failure on aarch64-linux (full log)
Partial log (click to expand)
Package ‘dbeaver-ce-5.0.0’ in /var/lib/gc-of-borg/nix-test-rs-3/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-3/pkgs/applications/misc/dbeaver/default.nix:59 is not supported on ‘aarch64-linux’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/lzy6rvmpl74wm2y0b6wd6g1xg4r6ql0f-dbeaver-ce-5.0.0
shrinking /nix/store/lzy6rvmpl74wm2y0b6wd6g1xg4r6ql0f-dbeaver-ce-5.0.0/dbeaver/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.551.v20171108-1834/eclipse_1630.so
shrinking /nix/store/lzy6rvmpl74wm2y0b6wd6g1xg4r6ql0f-dbeaver-ce-5.0.0/dbeaver/dbeaver
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/lzy6rvmpl74wm2y0b6wd6g1xg4r6ql0f-dbeaver-ce-5.0.0/bin
patching script interpreter paths in /nix/store/lzy6rvmpl74wm2y0b6wd6g1xg4r6ql0f-dbeaver-ce-5.0.0
checking for references to /tmp/nix-build-dbeaver-ce-5.0.0.drv-0 in /nix/store/lzy6rvmpl74wm2y0b6wd6g1xg4r6ql0f-dbeaver-ce-5.0.0...
/nix/store/lzy6rvmpl74wm2y0b6wd6g1xg4r6ql0f-dbeaver-ce-5.0.0


Adopt windows perf counter receiver

Adding the windowsPerfCounter receiver as a component.
Made required changes in the testutils to run Windows test case
Skipreaper change in testutils:
While running the integration test as a docker container, the Reaper container is started and it mounts /var/run/docker.sock so the container can communicate with the Docker daemon on the host. However, if you are running Docker on a system that is not Linux, this may not be the case (Windows, for example). While running it on windows the test fails and throws “creating reaper failed” error. The workaround is to set the skipReaper variable to true which will skip creating the Reaper container and works fine at the moment.
Reference link - https://github.com/testcontainers/testcontainers-go/issues/156
The test case in the pipeline would run with subprocess only as to run with docker it needs to have following items which seem to be not possible to configure in the pipeline:

Docker Desktop for Windows installed
Windows Subsystem for Linux enabled

All the test cases have been passed

Closed as inactive. Feel free to reopen if this PR is still being worked on.


requirements.txt is missing

well, it's missing ;)

requirements.txt is not there because only standard Python libraries as used.
I've removed mention of requirements.txt from README.md.
I hope this resolves the issue.


Crash in on-the-fly Swift hydro run (extra property output not fully implemented?)

I'm running Swift with on the fly velociraptor on the EAGLE_low_z/EAGLE_12 example in the Swift repository using the vrconfig_3dfof_subhalos_SO_hydro.cfg parameter file. My VR configuration is
cmake ..
Looking at swiftinterface.cxx, Part.hydro is only set if the parameter swift_gas_parts was passed to InvokeVelociraptorHydro() and was not null:
#ifdef GASON
    if (swift_gas_parts != NULL)
    {
        for (auto i=0; i<num_hydro_parts; i++)
        {
            index = swift_gas_parts[i].index;
            parts[index].SetHydroProperties(hydro);
        }
        free(swift_gas_parts);
    }
#endif

It looks like output of extra properties has been only partially implemented for on the fly runs. Things that are missing:

InvokeVelociraptorHydro() is never called with with swift_[gas/bh/star]_parts set in Swift or VR
There's no code in Swift's velociraptor_interface.c to generate the contents of swift_[gas/star/bh]_parts
VR's swiftinterface.cxx calls Part.SetHydroProperties() with an uninitialised HydroProperties instance so the data wouldn't get copied to the velociraptor particles anyway

If I comment out the extra properties in the .cfg file then it survives a VR invocation without crashing.

@jchelly thanks for the report. I'm trying to reproduce the error locally first, and got all the software compiled, downloaded the necessary data, and started running. I had to slightly tweak the EAGLE_low_z/EAGLE_12/eagle_12.yml configuration file to get things running though, and I'm wondering whether I am missing some other configuration bit needed to reproduce the issue. Could you attach both swift's and vr's config files here for reference? Thanks a lot.
I also notice that, even after 20 minutes, both ranks are still using only 100% of CPU, even though I'm running with --threads=10 (and also added OMP_NUM_THREADS=10 with no effect). Is this expected? This is my first time running swift so I'm not sure what to expect. Logs seem to suggest that everything should be running as normal:
[...]
 Config. options: '--enable-ipo --enable-debug --with-hdf5 --with-fftw --with-parmetis=/home/rtobar/local/parmetis/hyrmine/4.0.3/ --with-gsl=/opt/bldr/local/numerics/gsl/2.5 --with-tbbmalloc --with-hydro=sphenix --with-kernel=wendland-C2 --with-subgrid=EAGLE-XL --with-velociraptor=/home/rtobar/scm/git/swiftsim/build/../../VELOCIraptor-STF/builds/native/src --enable-compiler-warnings=yes MPI_CC=/opt/bldr/local/distributed/openmpi4/4.0.1/bin/mpicc'

 Compiler: GCC, Version: 4.8.5
 CFLAGS  : '-g -O0  -flto -gdwarf-2 -fvar-tracking-assignments -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math -funroll-loops -march=core-avx2 -mavx2 -pthread -fopenmp -Wall -Wextra -Wno-unused-parameter -Wshadow -Wstrict-prototypes'

 HDF5 library version: 1.10.5
 FFTW library version: 3.x (details not available)
 GSL  library version: 2.5
 MPI library: Open MPI v4.0.1 (MPI std v3.1)
 ParMETIS library version: 4.0.3
[...]
[0000] [00023.4] main: Running on 6387423 gas particles, 0 sink particles, 256548 stars particles, 521 black hole particles and 6644672 DM particles (13289164 gravity particles)
[0000] [00023.4] main: from t=1.276e-02 until t=1.413e-02 with 2 ranks, 10 threads / rank and 10 task queues / rank (dt_min=1.000e-10, dt_max=1.000e-02)...

Having said all of that, I do agree with your reading of the problem. I'm not 100% familiar with all the places where VR sets these extra properties, but there's clearly something missing that needs to be addressed. I'm hoping that I can first reproduce this locally to then actually try to tackle the problem.

Sorry, I forgot that I had to add some entries to the swift .yml file to make it call velociraptor. Here are the swift config file I used eagle_12.yml.gz and my velociraptor configuration vrconfig_3dfof_subhalos_SO_hydro.cfg.gz.
Swift should run for about 250 timesteps then try to run Velociraptor. The output at that point looks like this:
     247   1.277447e-02    0.9099957    0.0989063   2.045724e-08   40   42          497          497            0            0               127.712      0
     248   1.277449e-02    0.9099970    0.0989047   2.045724e-08   40   40           18           18            0            0                91.229      0
     249   1.277451e-02    0.9099983    0.0989031   2.045724e-08   40   41           93           93            0            0                93.190      0
VELOCIraptor/STF running with MPI. Number of mpi threads: 2
VELOCIraptor/STF running with OpenMP. Number of openmp threads: 16
Copying particle data...
Copying particle data...
1 Finished copying particle data.
1 took 3.64526 to copy 6307816 particles from SWIFT to a local format. Out of 13289738

Swift uses pthreads for multithreading so OMP_NUM_THREADS will only affect the Velociraptor call. The number of threads to use in swift is set by the command line --threads option.

@jchelly thanks for the configuration file, I'll give it a try.
Regarding threads, I also understood that swift uses pthreads in a pool, but I also saw a couple of omp pragmas scattered around the code so I decided to give it a try. At the end it was just a matter of mpirun not giving me access to all CPUs in my code by default, so had to be explicit about it (i.e., --cpus-per-rank 10).

@jchelly OK, much better now, I managed to reproduce the issue in about 2 or 3 minutes, thanks a lot again for those files. The line number in my version of the code is slightly different, but I'm assuming we are seeing only slightly different versions of the code (I'm using c1283dd).
If I understand correctly, there are missing bits both in Swift and in VR. In VR it would be:

When swift_{gas,bh,star}_parts are not NULL, their data has to be copied to the HydroProperties of the corresponding particle. A the moment an empty HydroProperties is passed instead.
When swift_{gas,bh,star}_parts are NULL the code should behave properly. At the moment this was not considered, and results in a crash.

I have already a patch for the second point (see #14) which I tested locally and gets me past the original crash. There was a second place were no check was done before using these optional extra properties, so I added checks to those as well, which finally lets VR finish its pass and swift continue. I'll seek some input into whether the changes make sense from a scientific point of view, but at least purely from the code perspective I'd say they are correct.
We can address the first point separately. Is there a corresponding set of changes in swift that address this?

I couldn't find any likely looking branches in the Swift repository so I suspect the changes just haven't been made. I'll ask on slack.

The immediate problem reported in this ticket (a crash caused by a nullptr dereference) has been fixed, so this issue can be closed. Properly copying non-NULL swift_{gas,bh,star}_parts into VR can be tackled in a different issue once swift is ready to do this.


Configure SQL ORDER BY null value behavior

Hi, I'm not sure if this is the right place, but after some hours of digging in the DT and SQLA docs, I think it is.
I want to configure the behavior when ordering a column that contains NULL values. For example, when ordering a year column, I want them to be displayed at the end. With DT's server side processing, this is not possible to configure in the JS source after what I read in the docs.
As per SQLA this should be done with calls to nullsfirst() and nullslast() around the asc() and desc() methods (see SQLElement).
In __init__.py#L332 the sort calls are made, so I think the null options should be included there. What do you think?

I'll seek into it asap

I think it's a good idea. thanks

@enplotz could you try out the branch feature/nullsOrder please ?
I believe it will work with Oracle, Postgres but not Mysql nor SQLite.. :-/

This does work in Postgres as of 8.3.
For MySql the only thing I can find that will work is to lead the actual sort column with isnull() on the same field
select * from table_name order by isnull(column_name), column_name asc;
select * from table_name order by isnull(column_name), column_name desc;
both work, as long as the desired effect is to keep nulls out of the sort completely.
Not sure if this is too much of a hack, but it's all I could find, figured I'd share in case anyone else comes across here looking.


Cannot install whatsoever

Hey there,
Neither pip install $tarball, pip install scikit-multilearn or running python setup.py build && python setup.py install in the cloned repo (with the fix suggested in #21) does the magic. So now I'm moving the skmultilearn folder to my project. I'd say there is currently no way to install this project properly. Any suggestions/input?

I've fixed the bug preventing install but I'm still having import problems after pip install worked, I should be able to clean up my local repo into a working release sometime in the next days.

Fixed in 0.0.3, thank your for your help!


Use Docker name (not ID) to parse Kubernetes components.

Since the parsing function doesn't return an error all the components
returned empty strings. This caused us to enforce the MaxContainerLimit
as a global limit instead of a per-container limit.
Fixes #4413.

Please take a look @dchen1107 :)

LGTM. Ahh, this explains some weird issue I observed lately.


Can't switch Night shift

Issue Summary
Can't switch night shift
Steps to Reproduce

add a new user, such as 'newaccount'

set its role to administrator

login with this new user (newaccount)

select 'Night shift' in labs

logout

login with this blog's owner account

set the new user (newaccount)'s role to editor or author

logout

login with the new user, you will see you already get the dark background model

login with this blog's owner account

set the new user (newaccount)'s role to administrator

logout

login with the new user

unselect  'Night shift' in labs, you will get the dark background model

logout

login with this blog's owner account

set the new user (newaccount)'s role to editor or author

logout

login with the new user

you will see the background still is dark.

important info: If the new user(newaccount)'s role is adminitrator, the background is right, if the new user(newaccount)'s role is NOT adminitrator, the background is always dark!!!
Technical details:

Ghost Version: 1.12.0
Node Version: 7.0
Browser/OS: chrome/safari on macOS hight serria
Database: sqlite3

@kevinansfield would I be right in thinking that this related to #8690? Would it also be correct to say that this is partly due to the fact that nightshift is currently a labs feature rather than a per-user setting? Is it meant to be a per-user setting eventually, and should we perhaps just get it out of labs now and into its proper home to fix these issues?
Just a thought 🤔

It's possible that it's related to #8960, I haven't had a chance to reproduce yet.
Although night shift lives on the labs screen it is a per-user setting, whether night-shift is enabled or not is stored on the accessibility field on the user table.


create-svelte TypeScript project should use vite.config.ts instead of vite.config.js

Description
Hello !
I opened this PR regarding the issue https://github.com/sveltejs/kit/issues/8257, for TypeScript projects, it makes sense to generate vite.config.ts files. This PR is a very tiny quality of life improvement for TypeScript users but doesn't change anything in a functional way.
By default, the vite command will look for vite.config.js or vite.config.ts file.
I took this issue even though it's probaby not "required" in the project right now, but it allows me to get started with a simple task first on the SvelteKit Repository.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Test failures on macos and webkit seems unrelated to this PR

I think @dominikg had commented previously that this may be something we'd want to avoid. I'm not sure if there's a previous discussion of it on a ticket or PR somewhere

I think it makes sense to use vite.config.ts if they chose TypeScript. There isn't a big difference with how Vite handles it if it's using .js instead.

for vite config it's a matter of taste, as vite bundles it on the fly either way (not great imho, but it is what it is). svelte config otoh always is .js, so having one config in js and others in ts isn't great either....
at the end of the day users can easily switch to the style they prefer and while I would opt for vite.config.js, defaulting to ts is ok, if that's what the majority prefers.

I honestly don't mind either, changing the extension from .js to .ts takes 2 seconds, and less maintenance (see my PR I had to move the same file to different places to fit the logic of the svelte-create package, which means if we wish to update it in the future, we'll have to update it in multiple places + test and assert it works in these different templates).

If we do this — and I personally think that bundling config files is a costly mistake and I'd love to see a future version of Vite skip the bundling step for vite.config.js and discourage the use of vite.config.ts — then we should generate both .js and .ts files from the same .ts source, like we do for other modules. I've updated the PR