An error will be occured when call makeCustomButton method

Appreciate for this project, it helps a lot!
And I find that an error will be occured when I call makeCustomButton like this(the parameter seems should be 'rows' but not 'row'):
$this->makeCustomButton([
    'name' => 'home',
    'url' => url('/'),
 ],'rows');

And after I set a renderIf attribute it works,like this:
$this->makeCustomButton([
    'name' => 'home',
    'url' => url('/'),
    'renderIf' => function(){
        return true;
    }
],'rows');

Try;
$this->makeCustomButton([
    'name' => 'home',
    'url' => url('/'),
    'renderIf' => function(){
        return true;
    }
], static::$TYPE_ROW);

Sorry, some of the docs are abit behind, but will update them

And I find that I must set the tableColumns attribute if I want use filters, like:
protected $tableColumns = [
    'id',
    'title',
    'status'
];

isn't in docs

If you want to filter, use this approach, as documented here
Assuming you want to display the columns {id, name and email} on the grid and a filter for them..
/**
     * Set the columns to be displayed.
     *
     * @return void
     * @throws \Exception if an error occurs during parsing of the data
     */
    public function setColumns()
    {
        $this->columns = [
            "id" => [
                "label" => "ID",
                "filter" => ["enabled" => true, "operator" => "="],
                "styles" => ["column" => "grid-w-10"]
            ],
            "name" => [
                "search" => ["enabled" => true],
                "filter" => ["enabled" => true, "operator" => "="]
            ],
            "email" => [
                "search" => ["enabled" => true],
                "filter" => ["enabled" => true, "operator" => "="]
            ],
        ];
    }

The filter attribute on each column is used to create a filter. Do not use tableColumns as that is used internally to verify the columns that the user provides that they exist in the DB
I will be updating the docs, fixing typos, etc to minimize the confusion.

OK,thanks.Here's another problem,when I use filter the filter will skip value 0,but there are attributes like status contains 0, I've viewed the source code and noticed the problem was caused by here:
    /**
     * Check if provided user input can be used
     *
     * @param string|null $userInput
     * @return bool
     */
    public function canUseProvidedUserInput($userInput)
    {
        // skip empty requests
        if ($userInput === null || empty(trim($userInput))) {
            return false;
        }
        return true;
    }

In RowFilterHandler.php line 83, the method canUseProvidedUserInput will return false when $userInput is 0 but not empty

Thanks. I will look into that


engine: 2 TB size limit

I cant make volumes larger than 2 TB, is it "by design" or is it configurable somewhere?
(When creating over 2TB the filesystem cant be created)
Really like longhorn! :)

We don't aware of this limitation. What's the error message? Longhorn should be able to support block device as big as filesystem allowed for a single file, e.g. 16TB for ext4.

@magnusmaki We've reproduced the issue in our lab. Looking into it.

Ok! thanks!

Fixed. We will release the fix with the next release.


Update main and 2.x branches to comply with the OpenSearch plugin development standards

Is your feature request related to a problem?
We need to get release branches comply with the OpenSearch plugin development standards
What solution would you like?
After the plugin repo is set up with initial commits, we need to get main and releaes branches comply with the OpenSearch plugin development standards, more specifically, we need to set the OpenSearch version in main to 3.0.0-SNAPSHOT and cut the 2.x branch.

[Catch All Triage, attendees 1, 2, 3, 4, 5, 6, 7]

For 2.18 release, we also need to add query insights dashboards into the manifest file like: https://github.com/opensearch-project/opensearch-build/blob/main/manifests/2.17.0/opensearch-dashboards-2.17.0.yml


Set the server sig algs before calling the session_secret_cb

Setting the server sig algs sets up the certificate "s3->tmp.valid_flags".
These are needed when calling ssl3_choose_cipher() which can happen
immediately after calling the session_secret_cb
Fixes https://github.com/openssl/openssl/issues/24213
The sessions_secret_cb was undocumented and untested - so we also add a test case and add a man page for it.

CI is relevant

Fixed (hopefully)

@beldmit @nhorman please reconfirm

My approval persists

Approval holds

Merged to the master, 3.3 and 3.2 branches. Thank you.


Multiple/Single uploads

Firt of all, thank you for this project, it is very useful to me.
However when pushing large files online there is a high probability of failure (internet connection, system freeze...) I have noticed files are uploaded like 3 at a time.
Is there a way to limit the push to one file at a time ? The transfer would be safer for cases with large files/low bandwidth)
Thank you,
NablaMetal
drive version: 0.3.7

Hello there @NablaMetal, thank you for the question and welcome to drive!
Yes, you can limit the number of files being pushed by setting environment variable DRIVE_GOMAXPROCS. My apologies, as it is not documented in the README, but it is in the wiki https://github.com/odeke-em/drive/wiki#env-variables.
You can set it like this
$ DRIVE_GOMAXPROCS drive push fileA fileB dirA....

or in your environment like this
$ cat << ! >> ~/.bashrc
> export DRIVE_GOMAXPROCS=8
> !
$ source ~/.bashrc

Although, it should really be a variable option set on the commandline.

Thank you very much. Sorry I forgot to read the wiki page !
Best regards,
NablaMetal


AWSSDK reference missing

MINOR: I noticed that there's a dependency on the AWSSDK (and Windows Azure Storage Client library). You might consider adding them as NuGet packages (that way they'll also get prompted for updates).
Note: "Install-Package AWSSDK" fixed the missing dependency.

Nuget is by far the best way to integrate the needed libraries. I will see what we can do to get them in the project so that developers can more easily get up and running. I didn't want to check the binaries into the source....

I have added both the AWS and Windows Azure Storage NuGet packages for developers to more easily get up and running. This will also help with ensuring that the application is using the most up to date binaries.


Added Dogi Coin Predition

PR accepted @codecode12345
Successfully merged to CART repo.
Need to Star this repo incase not done.
🚀🚀👍


'loss': 0.0, 'grad_norm': nan, and get

{'loss': 0.0, 'grad_norm': nan, 'learning_rate': 2.5784903139612557e-08, 'rewards/chosen': nan, 'rewards/rejected': nan, 'rewards/accuracies': 0.0, 'rewards/margins': nan, 'logps/rejected': nan, 'logps/chosen': nan, 'logits/rejected': nan, 'logits/chosen': nan, 'epoch': 0.01}
When I am training, my loss is always equal to 0, does not change, and 'grad_norm': nan, Has anyone else encountered a similar situation?
The following is my training configuration:
bf16: true
beta: 2.5
gamma: 1.4
do_eval: true
evaluation_strategy: steps
eval_steps: 400
gradient_accumulation_steps: 1
gradient_checkpointing: False
gradient_checkpointing_kwargs:
use_reentrant: False
hub_model_id: simpo-exps
learning_rate: 2e-7
log_level: info
logging_steps: 2
lr_scheduler_type: cosine
max_length: 1024
max_prompt_length: 1024
num_train_epochs: 1
Can you explain it to me and provide a solution?
I would appreciate it.

I think can should be setting max_prompt_length < max_length (e.g: max_length = max_prompt_length + gap).


Support deploying KuBOSH on AWS

Rationale

OSS developers and users want to deploy kubo on AWS

Acceptance Criteria

I can follow scripts in kubo-deployment repo and deploy KuBOSH in a AWS env
Verify bosh is accessible
Verify that bosh has internet access
Verify that we have a CI pipeline w/locks in place to test KuBOSH on AWS

Count me in when this is ready to developed.

add CI badges to README

AWS scripts are in master.

(closing)


export * doesn't work for deeply nested exports

Hey and thanks for all the hard work ! 💪
I have an issue where deeply nested * exports won't work
For example:
// app/main.ts
import { c } from './a';

// app/a/index.ts
export * from './b';

// app/a/b/index.ts
export * from './c';

// app/a/b/c/index.ts
export c = 'c';

I think this is due to this part:
https://github.com/line/tsr/blob/50b926133e2c4c208123a380dc7991bd0f5b658b/lib/util/edit.ts#L439-L440
You look for names matching the export but only one level deep, so if c were in app/a/b/index.ts it would work, but it doesn't work for app/a/b/c/index.ts

Thank you! If you're interested in working on a patch, please let me know!

Sure! Thanks for taking your time.
I think your assumption is correct. I'd say a possible solution is to extract the following logic into a separate function and recursively process the result until there's no { type: 'whole' } in the array.
https://github.com/line/tsr/blob/6ed047a194203ec376140b088f4f9fdd582510a9/lib/util/edit.ts#L432-L441


Apple/coingecko

Description
Getting market cap and coin value from coingecko but we should put it on supply module because that depends on the total_supply table.
It is a fork that may rebase to the local copy of coingecko being an independent module.
close #27
Checklist

[x] Targeted PR against correct branch.
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[x] Wrote unit tests.
[x] Re-reviewed Files changed in the Github PR explorer.

Codecov Report

Merging #31 into master will increase coverage by 0.82%.
The diff coverage is 78.57%.

@@            Coverage Diff             @@
##           master      #31      +/-   ##
==========================================
+ Coverage   64.08%   64.90%   +0.82%
==========================================
  Files           9       10       +1
  Lines         465      493      +28
==========================================
+ Hits          298      320      +22
- Misses        126      129       +3
- Partials       41       44       +3

Impacted Files
Coverage Δ

database/supply.go
72.72% <75.00%> (+6.06%)
:arrow_up:

database/coingecko.go
83.33% <83.33%> (ø)

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 8a5b76c...54e0d84. Read the comment docs.


enable array syntax for iff, iff-else and when

iffElse accepts arrays as the second and the third parameters, but currently iff, when and iff-else don't. This PR slightly changed the iff.js a little bit to enable the similiar array syntax for iff, when and iff-else.
Usages shown in the tests:
hooks.when(true, [hookFcnSync, hookFcnAsync, hookFcnCb])

hooks.iff(false,
      [hookFcnSync],
    )
      .else([
        hookFcnSync,
        hookFcnSync,
        hookFcnSync
      ])

I could update the docs if you guys think this PR is feasible. ;)

There is a no harm in adding this. Thanks!
And please do update the docs.
iffElse was primarily intended for internal use, as we felt the iff.else syntax was easier to read than nested arrays. Feathers functions tend not to use arrays for trailing params.

done. :)

@beeplin When Auk came out, you suggested The Basics guide needed a more basic introduction to hooks. I've finally gotten around to adding that.
https://github.com/feathersjs/feathers-docs/blob/master/guides/step-by-step/basic-feathers/hooks-middleware.md
https://github.com/feathersjs/feathers-docs/blob/master/guides/step-by-step/basic-feathers/all-about-hooks.md

wonderful! The graphics are so cool! This would be very helpful for newcomers.
And I noticed you use context instead of hook object ;)
Outlookhttps://aka.ms/qtex0l for iOS

From: Eddyystop<EMAIL_ADDRESS>Sent: Wednesday, May 24, 2017 12:21:29 AM
To: feathersjs/feathers-hooks-common
Cc: Beep LIN; Mention
Subject: Re: [feathersjs/feathers-hooks-common] enable array syntax for iff, iff-else and when (#176)
@beeplinhttps://github.com/beeplin When Auk came out, you suggested The Basics guide needed a more basic introduction to hooks. I've finally gotten around to adding that.
https://github.com/feathersjs/feathers-docs/blob/master/guides/step-by-step/basic-feathers/hooks-middleware.md
https://github.com/feathersjs/feathers-docs/blob/master/guides/step-by-step/basic-feathers/all-about-hooks.md
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/feathersjs/feathers-hooks-common/pull/176#issuecomment-303454624, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMdAZnEX-WdEWFYTlX_biJt5BSDnu5cQks5r8weJgaJpZM4NTeLO.


Move ctrlplot code prior to upcoming PR

This PR moves around some functions from freqplot.py and timeplot.py to ctrlplot.py in preparation for an upcoming PR that is going to modify those functions.  There is no change in functionality, but I want people to be able to see the changes I am making to functions in ctrlplot.py in the upcoming PR => need to move things around first so that git diff can highlight the changes.
Summary of changes:

The rcParams dict used to customize plotting functions is now in ctrlplot.py (instead of having two separate but identical rcParams in freqplot.py and timpelot.py).
The _process_ax_keyword utility function is now in ctrlplot.py (instead of freqplot.py).
The _process_line_labels utility function is now in ctrlplot.py (instead of freqplot.py).
The _get_line_labels utility function is now in ctrlplot.py (instead of freqplot.py).
The _add_arrows_to_line2D utility function is now in ctrlplot.py (instead of freqplot.py).
Rearranged some functions in grid.py.

coverage: 94.629%. remained the same
when pulling c67da3aa13a6f4804264e005733878348b7cfbf3 on murrayrm:ctrlplot_refactor-27Jun2024
into da64e0e8a7136f5e538fb6fede946a6d4c07129e on python-control:main.


settings: Add new setting 'move_messages_to_stream_policy'  for controlling who can move messages between streams.

This PR adds a new setting move_messages_to_stream_policy for controlling
who can move messages between streams.
I have kept the default value to allow only admins for now, but this can be discussed.
Testing plan:  Added tests.

@timabbott updated the PR to use move_messages_between_streams_policy and can_move_messages_between_streams.
Regarding sending can_* fields in register response, yes we can do it in the clients too and probably would be better there. As of now in events part of frontend, we do not handle all the cases when policy is changed and we do nothing when the role changes. So, the value of can_* mostly changes on reloading. And for policy change also, we just change the value of page_params.can_* and there is no live update of UI.
So, have kept the commit for sending the can_* values in register response for now, till we get reply from Greg and Neil.
As it is a complete separate commit, others can be merged if those look good.

@timabbott updated the PR to use move_messages_between_streams_policy and can_move_messages_between_streams.
Regarding sending can_* fields in register response, yes we can do it in the clients too and probably would be better there. As of now in events part of frontend, we do not handle all the cases when policy is changed and we do nothing when the role changes. So, the value of can_* mostly changes on reloading. And for policy change also, we just change the value of page_params.can_* and there is no live update of UI.
So, have kept the commit for sending the can_* values in register response for now, till we get reply from Greg and Neil.
As it is a complete separate commit, others can be merged if those look good.

@timabbott please review.

Should this reference https://github.com/zulip/zulip/issues/14499?

I merged the database table + migrations part of this PR, and also dropped the frontend/API can_ commit; and pushed back the remaining commit that makes the feature work.
(We need to adjust documentation for how can do this at the same time as we merge it, I think).
I'd also like to do a bit more of a security model review for the implications of making this possible to change; we may need to update text in security-mode.md as well.

Do we want to add documentation at this point only, or cab we do at the time of merging the frontend commit. I also cannot found any documentation page mentioning we can move message between streams or maybe I am missing something. If there is not such page, we should add it.

Yeah, I think there's some documentation work I need to do before merging this.  Let's focus on getting #18246 merged; I think this is probably ready aside from that finishing work (and a security review) that I need to do.

This is blocked on https://chat.zulip.org/#narrow/stream/3-backend/topic/moving.20topic.20between.20streams/near/1172302.

The new commit lgtm for covering that piece of the security story; I think I agree with the decision to just put it in this PR (since 90% of the commit is tests, and the full set of tests require the change in this PR to respect the new setting).

OK, I've implemented the bulk_access_message logic that we were waiting for, and pushed back here.
We need a few end-to-end tests for the bulk_access_message logic, but otherwise I believe this to be ready to merge.

We should make sure to mark this as closing https://github.com/zulip/zulip/issues/14499.


Multiple dropdowns using 'nestable($data)'

I'm trying to render multiple dropdowns from level 0 categories, like so:
$categories = Category::nested()->get();
@foreach ( $categories as $category )
{!! nestable($category)->renderAsDropdown() !!}
@endforeach

But getting this error: "Illegal string offset 'parent_id'"..
If i pass it like this:
@foreach ( $categories as $category )
{!! nestable($category['child'])->renderAsDropdown() !!}
@endforeach

It renders empty dropdowns
Can you please explain how to achieve this?

Hi @palo
You can do it like this:
@foreach ( $categories as $category )
{!! nestable([$category])->renderAsDropdown() !!}
@endforeach

Thank you


python312Packages.githubkit: 0.11.11 -> 0.11.14

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.githubkit is: GitHub SDK for Python
meta.homepage for python312Packages.githubkit is: https://github.com/yanyongyu/githubkit
meta.changelog for python312Packages.githubkit is: https://github.com/yanyongyu/githubkit/releases/tag/v0.11.14
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.11.14 with grep in /nix/store/0ns2l425ivimm5rn3y67bqpd8n5y2pip-python3.12-githubkit-0.11.14
found 0.11.14 in filename of file in /nix/store/0ns2l425ivimm5rn3y67bqpd8n5y2pip-python3.12-githubkit-0.11.14

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.githubkit
python312Packages.githubkit

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0ns2l425ivimm5rn3y67bqpd8n5y2pip-python3.12-githubkit-0.11.14 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.githubkit https://github.com/r-ryantm/nixpkgs/archive/274d5afbc552d2fd10b0074cbe0d62a4053e03c5.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/274d5afbc552d2fd10b0074cbe0d62a4053e03c5#python312Packages.githubkit

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0ns2l425ivimm5rn3y67bqpd8n5y2pip-python3.12-githubkit-0.11.14
ls -la /nix/store/0ns2l425ivimm5rn3y67bqpd8n5y2pip-python3.12-githubkit-0.11.14/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 4 packages built:

python311Packages.githubkit
python311Packages.githubkit.dist
python312Packages.githubkit
python312Packages.githubkit.dist

Maintainer pings
cc @Kranzes for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 354763

aarch64-darwin

:white_check_mark: 4 packages built:

python311Packages.githubkit
python311Packages.githubkit.dist
python312Packages.githubkit
python312Packages.githubkit.dist


Add support for correlation periods for alerts

This PR adds support for specifying custom correlation periods for individual alerts, extending having a single correlation period for all of the alerts.
This correlation period will be specified in the alert object as a negative number indicating the duration prior to the current time, for which the alerts would be correlated. If it's absent, the default correlation period set for the alert processor will be used.
E.g.
.
.
.
, 'q9u9z3b' AS query_id
  , 'USING CRON 0 0 * * * UTC' AS schedule
  , '1d' AS lookback
  , ARRAY_CONSTRUCT(
      OBJECT_CONSTRUCT(
        'type', 'ef-slack',
        'message',  ' test',
        'channel', 'test'
      )
    ) AS handlers
   , -180 as correlation_period
.
.
.

Test:
Correlation period = -10

Tested the latest changes.


⚠ Bofrost.fr has degraded performance

In 8758d79, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1353 ms

Resolved: Bofrost.fr performance has improved in c746705.


[FEATURE REQUEST] Provide the groups in the CollisionEvent

In my case, I have a small game where I can grass. I add a small sprite on top of my character when it enters the grass sensor. When I cut the grass, I had to manually remove the sprite because no event is sent to notify us that the character is not into the grass sensor anymore.
EDIT: I updated the title as now I have a better understand of what's missing: so I receive the event that the sensor was removed, but since I can't confirm that the removed sensor was associated with grass, I can't do the operation I need to afterward, which is problematic. But more globally, it would allow to have much more precise filtering over events.

Nevermind, the problem is actually that once removed, we only get that the object is removed but still it was removed, we don't know which one.

Updated the description.

Hi! The events give you the Entity involved in the collision. From that Entity, you can get any kind of component using bevy’s Query feature.

Unfortunately that's the issue: the Entity is removed, making it impossible for me to be able to know if it's the kind I'm looking for or not.

To give a bit more context: I'm cutting grass, so I remove the grass (which contains the sensor) and replace it with just an image instead. So when I receive the event, the grass cannot be queried anymore and I can't be sure if it's the right event I'm looking for.

It wouldn't solve my issue. Currently I simply move the sensor away from the character before removing it.


Introduce DoctrineTypeDriverAwareDescriptor & DriverDetector

Separated from https://github.com/phpstan/phpstan-doctrine/pull/506, DoctrineTypeDriverAwareDescriptor is not yet used.

Thank you!


After expanding cluster and markers disappears

My another problem is that (when I use default cluster look) after running application, clusters and unclustered markers are shown normally. But when I click cluster and expands it disappears with all clustered markers. When I zoomed out cluster shows up again.
I discovered thet when I click my custom button(that sets region with useState hook using geolocation) clustering work perfectly.

Same problem for me. Tryed with and without custom marker.
For exemple, i have a cluster of 3 marker in a specific place and when i click to zoom, no marker is visible.
Map exemple:
      <MapView         initialRegion={{           latitude: 35,           longitude: 10,           latitudeDelta: 75,           longitudeDelta: 75         }}         mapRef={ref => {           refMap.current = ref;         }}         mapType="hybrid"         provider={PROVIDER_GOOGLE} // remove if not using Google Maps         style={styles.map}         showsUserLocation={true}         onMapReady={() => {           PermissionsAndroid.request(             PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION           ).then(() => {             setMapReady(true);           });         }}         onLayout={() => {           setMapLayout(true);         }}         clusterColor={platform.brandDark}       >         {mapReady && mapLayout && props.photos && (           generateMarkers()         )}       </MapView>
generateMarkers() is a function that generate marker with a map().
Marker exemple:
    <Marker       title={props.item.userName}       identifier={props.item.id}       key={props.item.id}       tracksViewChanges={!loaded}       coordinate={{         latitude: props.item.location._latitude,         longitude: props.item.location._longitude       }}     >

Fixed in this PR: https://github.com/venits/react-native-map-clustering/pull/146

Fixed in this PR: #146
partially helped for me, some markers also disappear =(

i have the same issue

Fixed in this PR: #146

I have done some research of my own regarding the disappearing of markers with PR #146
Unfortunately it makes things worse for me. My comment: https://github.com/venits/react-native-map-clustering/pull/146#issuecomment-622406085

I released a new version of this module: 3.2.0. I made some changes so it should work now.
Please update module and let me know if that works for you.

I'm still seeing markers disappear at random with 3.3.7. Usually see it happen after an animateCamera(), but also see it when zooming in or out. Doesn't happen when using the stock MapView from react-native-maps.


feat: introduce roks pattern of slz

Description
Introduce/expose the ROKS pattern with a Standard flavor/variation.  Changes are limited to ibm_catalog.json file and adding an architecture diagram file.  I only marked this as a feature so that we would have a release indicator and know when this additional offering was introduced.
Check the relevant boxes:

[ ] Bug fix (nonbreaking change that fixes an issue)
[x ] New feature (nonbreaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Examples or tests (addition or updates of examples or tests)
[ ] Documentation update
[ ] CI related update (pipeline, etc.)

Checklist

[ ] If relevant, a test for the change has been added or updated as part of this PR.
[ ] If relevant, documentation for the change has been added or updated as part of this PR.

Merge

Merge using "Squash and merge".
Make sure to use a relevant conventional commit message that is based on the PR contents. The commit message determines whether a new version of the modules needs to be released, and if so, which semver number to use).

:tada: This PR is included in version 1.10.0 :tada:
The release is available on:

GitHub release
v1.10.0

Your semantic-release bot :package::rocket:


fix(device_info_plus): unexpected , separator

Description
Fix for Package.swift which causes compilation errors on apps where swift package manager is enabled.
Checklist

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[X] I titled the PR using Conventional Commits.
[X] I did not modify the CHANGELOG.md nor the plugin version in pubspec.yaml files.
[X] All existing and new tests are passing.
[X] The analyzer (flutter analyze) does not report any problems on my PR.

Breaking Change

[X] No, this is not a breaking change.

Hey! Thanks for this fix. Can you check if the other projects also comply with this? Either we do one single PR with a fix for all plugins, or we do separated PRs per project.

@miquelbeltran to be honest, I'm not exactly sure if they comply fully and as I got 0 experience with swift package manager ;) I just had compilation errors with these 2 projects and figured it was just a simple syntax error in swift files. I checked all other Package.swift files in this project and got no complaints from the IDE like from these 2. So I guess, they should be fine?
In the end I had to turn off swift package manager for my app for now, as I had issues with csqlite package that I couldn't solve just yet. But after these 2 fixes in this PR, at least it compiled succesfully ;)

Thanks a lot for your contribution. I will give it a test a bit later today and merge it.

Once again thanks for catching the issue and opening a PR. In order to generate correct changelogs I created separate PRs for packages with your changes:
#3405
#3406
Thus, closing this PR in favor of those smaller ones.


Verbose logs don't contain enough info when ClientAuthError: endpoints_resolution_error occurs

Core Library
MSAL Node (@azure/msal-node)
Core Library Version
1.16.0
Wrapper Library
Not Applicable
Wrapper Library Version
None
Public or Confidential Client?
Confidential
Description
When the error occurs: "ClientAuthError: endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientAuthError: openid_config_error: Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints. Attempted to retrieve endpoints from: https://login.microsoftonline.com/[TENANT_ID]/v2.0/.well-known/openid-configuration\n    at ClientAuthError.AuthError [as constructor] (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/src/error/AuthError.ts:49:9)\n    at new ClientAuthError (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/src/error/ClientAuthError.ts:223:15)\n    at Function.ClientAuthError.createEndpointDiscoveryIncompleteError (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/src/error/ClientAuthError.ts:269:16)\n    at Function. (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/src/authority/AuthorityFactory.ts:56:35)\n    at step (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/dist/index.cjs.js:79:23)\n    at Object.throw (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/dist/index.cjs.js:60:53)\n    at rejected (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/dist/index.cjs.js:51:65)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
verbose logs don't contain enough information to understand source of the issue.
Error Message
"ClientAuthError: endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientAuthError: openid_config_error: Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints. Attempted to retrieve endpoints from: https://login.microsoftonline.com/[TENANT_ID]/v2.0/.well-known/openid-configuration\n    at ClientAuthError.AuthError [as constructor] (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/src/error/AuthError.ts:49:9)\n    at new ClientAuthError (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/src/error/ClientAuthError.ts:223:15)\n    at Function.ClientAuthError.createEndpointDiscoveryIncompleteError (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/src/error/ClientAuthError.ts:269:16)\n    at Function. (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/src/authority/AuthorityFactory.ts:56:35)\n    at step (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/dist/index.cjs.js:79:23)\n    at Object.throw (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/dist/index.cjs.js:60:53)\n    at rejected (/app/node_modules/.pnpm/@azure+msal-common@11.0.0/node_modules/@azure/msal-common/dist/index.cjs.js:51:65)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
Msal Logs
[Wed, 19 Apr 2023 09:31:06 GMT]<EMAIL_ADDRESS>: Info - acquireTokenByClientCredential called
[Wed, 19 Apr 2023 09:31:06 GMT]<EMAIL_ADDRESS>: Verbose - initializeRequestScopes called
[Wed, 19 Apr 2023 09:31:06 GMT] : [c37acff0-b85d-4cab-800e-fe7a6ac8c257]<EMAIL_ADDRESS>: Verbose - buildOauthClientConfiguration called
[Wed, 19 Apr 2023 09:31:06 GMT] : [c37acff0-b85d-4cab-800e-fe7a6ac8c257]<EMAIL_ADDRESS>: Verbose - building oauth client configuration with the authority: https://login.microsoftonline.com/[TENANT_ID]/
[Wed, 19 Apr 2023 09:31:06 GMT] : [c37acff0-b85d-4cab-800e-fe7a6ac8c257]<EMAIL_ADDRESS>: Verbose - createAuthority called
[Wed, 19 Apr 2023 09:31:06 GMT]<EMAIL_ADDRESS>: Verbose - Attempting to get cloud discovery metadata in the config
[Wed, 19 Apr 2023 09:31:06 GMT]<EMAIL_ADDRESS>: Verbose - The host is included in knownAuthorities. Creating new cloud discovery metadata from the host.
[Wed, 19 Apr 2023 09:31:06 GMT]<EMAIL_ADDRESS>: Verbose - Found cloud discovery metadata in the config.
MSAL Configuration
{
    auth: {
        clientId,
        authority: authorityUrl,
        knownAuthorities: [authorityUrl],
        clientCertificate: {
            thumbprint,
            privateKey,
            x5c,
        },
    },
    system: {
        loggerOptions: {
            logLevel: LogLevel.Verbose,
            loggerCallback: (level, message, containsPii) => {
                if (containsPii) {
                    return;
                }
                switch (level) {
                    case LogLevel.Error:
                        logger.error(message);
                        return;
                    case LogLevel.Verbose:
                        logger.debug(message);
                        return;
                    case LogLevel.Warning:
                        logger.warn(message);
                        return;
                    default:
                        logger.info(message);
                        return;
                }
            },
            piiLoggingEnabled: false
        },
    },
}

Relevant Code Snippets
const clientConfig = {
    auth: {
        clientId,
        authority: authorityUrl,
        knownAuthorities: [authorityUrl],
        clientCertificate: {
            thumbprint,
            privateKey,
            x5c,
        },
    },
    system: {
        loggerOptions: {
            logLevel: LogLevel.Verbose,
            loggerCallback: (level, message, containsPii) => {
                if (containsPii) {
                    return;
                }
                switch (level) {
                    case LogLevel.Error:
                        logger.error(message);
                        return;
                    case LogLevel.Verbose:
                        logger.debug(message);
                        return;
                    case LogLevel.Warning:
                        logger.warn(message);
                        return;
                    default:
                        logger.info(message);
                        return;
                }
            },
            piiLoggingEnabled: false
        },
    },
};

const pca = new ConfidentialClientApplication(clientConfig);
const authResult = await pca.acquireTokenByClientCredential({
    scopes,
    azureRegion,
});

Reproduction Steps
It should be enough to specify a wrong authority URL in the clientConfig, for example: https://login.microsoftonline.com/WRONG_TENANT/
Expected Behavior
There should be verbose logs that contain enough information to figure out why the HTTP call failed
Identity Provider
Azure AD / MSA
Browsers Affected (Select all that apply)
None (Server)
Regression
No response
Source
Internal (Microsoft)

Hi @mstepanov-microsoft. That's a good call, thank you. I have opened a PR to add verbose logging in accordance with your request.


ci: Add Pipelines as Code CI

What does this PR do?
This will enable SPI Repo to easily configure Tekton Pipelines as Code CI for PR checks.
The goal of Pipelines as Code is to let you define your Tekton templates inside your source code repository and have the pipeline run and report the status of the execution when triggered by a Pull Request or a Push.
With this PR, the CI defined in infra-deployments will be moved to this repository

@sparkoo could you please review this PR.

@skabashnyuk Could you please take a look at this PR and give an LGTM.

@mbharatk can you please merge the latest main?


[standalone] Fix GetLogTypes handler

Summary: The constructor of JSONArray that takes a string assumes that
the string is a JSON document. In the handler we want to construct a new
JSONArray to serialize it.
Test Plan:
Start selendroid-standalone and curl the .../log/types endpoint.
$ java -jar selendroid-standalone/target/selendroid-standalone-0.16.0-SNAPSHOT-with-dependencies.jar
$ $ curl -v localhost:4444/wd/hub/session/id/log/types
...
{"status":0,"sessionId":"id","value":["logcat"]}

Fixes #365.


Django user permissions

So only some users can access each admin UI (core app and example app, different permission for both)

Yes you can give permission to specific used based on their Email account.
Like Give All accress if<EMAIL_ADDRESS>I am also working on same soon.

Thanks, but I was intending to use https://docs.djangoproject.com/en/3.0/topics/auth/default/#the-permission-required-decorator
@permission_required('polls.add_choice')

That gives us more fine grained control on granting access to individual users. We don't have many users (at least to start with) so we don't need a rule based approach.

Done for main app, maybe do for example app later


Haproxy stats options

@rginev thanks !
There is a typo in your commit, here:
{% for opt in haproxy_stats_optsions %}
Should be:
 +{% for opt in haproxy_stats_options %}

Thanks for noting it - fixed!

@rginev well done 👍


debug_traceTransaction fails: required historical state unavailable

Thanks for this project. I hope I can get it to work.
I have gotten two different errors with two different nodes. I suspect the underlying issue is that debug is not supported by geth without --gcmode "archive". I am currently testing this by resyncing my node as an archive node.
From INFURA the error was
Error: Invalid JSON RPC response: ""
    at Object.InvalidResponse (~/projects/solidity-gas-profiler/node_modules/web3-core-helpers/src/errors.js:42:16)
    at XMLHttpRequest.request.onreadystatechange (~/projects/solidity-gas-profiler/node_modules/web3-providers-http/src/index.js:75:32)
    at XMLHttpRequestEventTarget.dispatchEvent (~/projects/solidity-gas-profiler/node_modules/xhr2-cookies/dist/xml-http-request-event-target.js:34:22)
    at XMLHttpRequest._setReadyState (~/projects/solidity-gas-profiler/node_modules/xhr2-cookies/dist/xml-http-request.js:208:14)
    at XMLHttpRequest._onHttpRequestError (~/projects/solidity-gas-profiler/node_modules/xhr2-cookies/dist/xml-http-request.js:349:14)
    at ClientRequest.<anonymous> (~/projects/solidity-gas-profiler/node_modules/xhr2-cookies/dist/xml-http-request.js:252:61)
    at ClientRequest.emit (events.js:182:13)
    at Socket.socketErrorListener (_http_client.js:391:9)
    at Socket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)

From my own node the error was
Error: Returned error: required historical state unavailable (reexec=128)
    at Object.ErrorResponse (~/projects/solidity-gas-profiler/node_modules/web3-core-helpers/src/errors.js:29:16)
    at /Users/williammorriss/projects/solidity-gas-profiler/node_modules/web3-core-requestmanager/src/index.js:140:36
    at XMLHttpRequest.request.onreadystatechange (~/projects/solidity-gas-profiler/node_modules/web3-providers-http/src/index.js:79:13)
    at XMLHttpRequestEventTarget.dispatchEvent (~/projects/solidity-gas-profiler/node_modules/xhr2-cookies/dist/xml-http-request-event-target.js:34:22)
    at XMLHttpRequest._setReadyState (~/projects/solidity-gas-profiler/node_modules/xhr2-cookies/dist/xml-http-request.js:208:14)
    at XMLHttpRequest._onHttpResponseEnd (~/projects/solidity-gas-profiler/node_modules/xhr2-cookies/dist/xml-http-request.js:318:14)
    at IncomingMessage.<anonymous> (~/projects/solidity-gas-profiler/node_modules/xhr2-cookies/dist/xml-http-request.js:289:61)
    at IncomingMessage.emit (events.js:187:15)
    at endReadableNT (_stream_readable.js:1094:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)

I estimate the archive node will finish syncing by the end of next week.

Thanks for reporting the issue! If profiling a live real-world tx is not absolutely necessary, I recommend running geth in dev mode to avoid syncing.

> debug.traceTransaction("0xc991b81f74fe203d07db35521eff32bdc37d7afa313d1d717313fe845fe11c04") Error: required historical state unavailable (reexec=128)     at web3.js:3456:20     at web3.js:6304:15     at web3.js:5410:36     at <anonymous>:1:1

`

debug.traceTransaction("0xc991b81f74fe203d07db35521eff32bdc37d7afa313d1d717313fe845fe11c04")
Error: required historical state unavailable (reexec=128)
at web3.js:3456:20
at web3.js:6304:15
at web3.js:5410:36
at :1:1
`


Make paths to vfkit/crc-admin-helper configurable

This PR will be needed for homebrew builds. In this scenario, crc-admin-helper and vfkit will be installed in 2 different locations.
The crc codebase is not prepared for this, it assumes all binaries are in the constants.BinDir() directory.
This PR does 2 main things:

it adds separate vfkit.Executable(), constants.AdminHelperPath() and libvirt.MachineDriverPath functions so that it's explicit which binary we want the path of. This allows to remove most of BinDir() usage
it uses go generate to allow to provide a json file at compile time which will specify where the various binaries are located. This will be used by the brew formulas.

I might have a very native question but why do we want to have admin-helper and vfkit be in a different directory? Can't we use make out/macos-${arch}/crc as part of brew formula so that it will just have the crc binary and other dependencies are downloaded as part of crc setup command?

Can't we use make out/macos-${arch}/crc as part of brew formula so that it will just have the crc binary and other dependencies are downloaded as part of crc setup command?

It makes more sense to me to have all the binaries that we need to be built using brew rather than downloading them on demand.

I am not sure why this is important for brew build because this logic is only used for installer where the files are placed by installer and we needed logic to get it.

Imo brew is closer to an 'install' build than a build from git. We can ensure crc, crc-admin-helper and vfkit are all present at install time rather than relying on crc setup to do it for us.

Can't we use make out/macos-${arch}/crc as part of brew formula so that it will just have the crc binary and other dependencies are downloaded as part of crc setup command?

It makes more sense to me to have all the binaries that we need to be built using brew rather than downloading them on demand.

If we are building it on the brew then we have to maintain also so we are end up maintaining 3 formula instead of just 1 which is just for crc.

I am not sure why this is important for brew build because this logic is only used for installer where the files are placed by installer and we needed logic to get it.

Imo brew is closer to an 'install' build than a build from git. We can ensure crc, crc-admin-helper and vfkit are all present at install time rather than relying on crc setup to do it for us.

crc setup is created for that kind of usecase where it make sure all the prerequisites are satisfied. In case of installer we did it different because we were shipping everything as part of tarball before and then with pkg mostly if someone want distribute internally. In case of brew we don't need to worry about it and just pull the required stuff from github (single source for setup and also for installer).

It makes more sense to me to have all the binaries that we need to be built using brew rather than downloading them on demand.

Brew does not prefer to use downloaded binaries. if that would be the case, we might have to deliver the admin-helper as a dependent cask instead.

It makes more sense to me to have all the binaries that we need to be built using brew rather than downloading them on demand.

Brew does not prefer to use downloaded binaries. if that would be the case, we might have to deliver the admin-helper as a dependent cask instead.

@gbraad I am not saying to use something like curl as part of brew formula to download the crc binary. I am just saying just build crc binary as part of brew formula and once user have crc install then they suppose to follow crc setup and crc start . During crc setup admin-helper/router would be downloaded without any issue.

It makes more sense to me to have all the binaries that we need to be built using brew rather than downloading them on demand.

Brew does not prefer to use downloaded binaries. if that would be the case, we might have to deliver the admin-helper as a dependent cask instead.

@gbraad I am not saying to use something like curl as part of brew formula to download the crc binary. I am just saying just build crc binary as part of brew formula and once user have crc install then they suppose to follow crc setup and crc start . During crc setup admin-helper/router would be downloaded without any issue.

This still means we are providing required binaries which were not built as a brew formula. Fwiw, the chocolatey package also ships its own admin-helper binary, it does not rely on crc setup to download/install it.

the chocolatey package also ships its own admin-helper binary, it does not rely on crc setup to download/install it.

@cfergeau I think it embed/download admin-helper from our git release but not build from source, it is just adding the service file for admin helper so that it doesn't prompt user for UAC  , @anjannath can confirm. PR which just merge about downloading specific component as part of embed binary help to do it.

the chocolatey package also ships its own admin-helper binary, it does not rely on crc setup to download/install it.

@cfergeau I think it embed/download admin-helper from our git release but not build from source, it is just adding the service file for admin helper so that it doesn't prompt user for UAC , @anjannath can confirm. PR which just merge about downloading specific component as part of embed binary help to do it.

It doesn't rebuild it (I guess it could if this was some kind of requirement), but when you download the chocolatey package, you get all the needed binaries. No binary is downloaded through crc setup.
Here it's similar, all the needed binaries are downloaded/installed after brew install crc completes. No binary is downloaded through crc setup. As a sidenote, brew will also provide pre-built binaries, they won't be rebuilt every time someone runs brew install.

It doesn't rebuild it (I guess it could if this was some kind of requirement), but when you download the chocolatey package, you get all the needed binaries. No binary is downloaded through crc setup.

We are doing it for the windows for a complete different reason because in the windows as part of crc setup there is no way to get admin-helper binary and add as part of service as of now, we tried in the past and failed because it need user to prompt multiple UAC prompt for each time a command run as admin mode. These limitation is not on the mac side so I think we shouldn't compare the flow here.

CI fails with:
 Unknown file format when trying to uncompress /home/packer/crc_libvirt_4.11.18_amd64.crcbundle

I don't know if there's an issue with the bundle or if this PR is causing the breakage.

Regardless of what Windows is doing or not, I still favor building as much as possible using brew instead of having crc download them. Are there big downsides to building everything on brew?
Using make macos-release-binary is also needed to use the 'production' segment key, which is the one we want to use for brew binaries as well.

Regardless of what Windows is doing or not, I still favor building as much as possible using brew instead of having crc download them. Are there big downsides to building everything on brew?

The only downside I see is maintainability

Added one more way to install the dependencies which mean brew formula need to be maintained
Added codebase to have those logic in place

Since we already have signed bits for those dependencies so I am in favor to consume those directly for all the installation method.

Using make macos-release-binary is also needed to use the 'production' segment key, which is the one we want to use for brew binaries as well.

For this we can just create another target make macos-brew-binary and use the production segment key (hopefully that should be trivial).

Regardless of what Windows is doing or not, I still favor building as much as possible using brew instead of having crc download them. Are there big downsides to building everything on brew?

The only downside I see is maintainability
1. Added one more way to install the dependencies which mean brew formula need to be maintained

Ideally, someone from the brew community would take the maintainability over. The update of the brew formula can be automated.

2. Added codebase to have those logic in place

Regardless of brew, most commits in this PR are in my opinion good to have, no more magic BinDir() but more fine-grained XxxPath() helpers.

Since we already have signed bits for those dependencies so I am in favor to consume those directly for all the installation method.

We also have signed crc binaries, but we build it in brew, we don't reuse the existing one. I don't think it's a matter of signed/not signed, but of 'ecosystem consistency'. If we use brew, there is an expectation that everything will be coming from brew.

the chocolatey package also ships its own admin-helper binary, it does not rely on crc setup to download/install it.

@cfergeau I think it embed/download admin-helper from our git release but not build from source, it is just adding the service file for admin helper so that it doesn't prompt user for UAC , @anjannath can confirm. PR which just merge about downloading specific component as part of embed binary help to do it.

yep admin-helper binary is included in the chocolatey package that is downloaded from releases in the admin-helper repo, choco doesn't force us to build it from source, and crc setup used to contain the fix for windows as well which would download it, but was removed when we moved to the msi since admin-helper was contained within it and became redundant.
the choco package uses the contained binary to create a service during choco install crc, this is the part if done from crc setup that'd create UAC prompt.


KtLint ignores missing spaces after fun keyword with generic

Expected Behavior
Type arguments must be wrapped with whitespaces:
fun <T> runSomething(input: T) {}

Kotlin codestyle proof:
https://kotlinlang.org/docs/coding-conventions.html#type-arguments
When you do auto-formatting in IntelliJ or Android Studio, it wraps your type arguments with whitespaces.
Observed Behavior
But fun-keyword-spacing rule ignores it and allows you to write code without spacings at all:
fun<T>runSomething(input: T) {}

It only emit error on multiple spaces after fun.
Steps to Reproduce
Run ktlint check on code like this:
fun<T>runSomething(input: T) {}

Your Environment
ktlint version 1.1.1
ktlint-gradle 12.1.0
gradle 8.2.0

It expect that you have disabled the type-parameter-list-spacing which is reponsible for adding the white spaces around type parameters:
$ ktlint-1.1.1 --stdin
09:18:49.975 [main] INFO com.pinterest.ktlint.cli.internal.KtlintCommandLine -- Enable default patterns [**/*.kt, **/*.kts]

fun<T>runSomething(input: T) {}

<stdin>:2:4: Expected a single space (standard:type-parameter-list-spacing)
<stdin>:2:7: Expected a single space (standard:type-parameter-list-spacing)
<stdin>:4:1: Needless blank line(s) (standard:no-consecutive-blank-lines)

Summary error count (descending) by rule:
  standard:type-parameter-list-spacing: 2
  standard:no-consecutive-blank-lines: 1


Readme documentation for dealing with multiple transformers in metro.config.js

Hi,
I wanted to offer something to add to your readme.  It was the only thing that took me a while to figure out when integrating your awesome awesome awesome library.  You don't have to add it if do not want it in there if you don't want.  Just trying to be helpful.  Or if prefer giving me the ability to do a PR, I can do that instead.  Thanks.

##### Projects with Multiple Transformers
If your project at some point requires a metro configuration with additional transformers, consider making a separate `customTransformer.js` file in the project root with logic for delegating files types to the appropriate transformer, and modifying `metro.config.js` file to reference the customer transformer file.  For example, if you are using `react-native-svg-transformer`, this would be your custom transformer file:
```js
// root/customTransformer.js
var reactNativeReactBridgeTransformer = require('react-native-react-bridge/lib/plugin');
var svgTransformer = require('react-native-svg-transformer');

module.exports.transform = function ({ src, filename, options }) {
  if (filename.endsWith('.svg')) {
    return svgTransformer.transform({ src, filename, options });
  } else {
    return reactNativeReactBridgeTransformer.transform({
      src,
      filename,
      options,
    });
  }
};
\```

And this would be your metro config:
```js
// root/metro.config.js
const { getDefaultConfig } = require('metro-config');

module.exports = (async () => {
  const {
    resolver: { sourceExts, assetExts },
  } = await getDefaultConfig();
  return {
    maxWorkers: 4,
    transformer: {
      babelTransformerPath: require.resolve('./customTransformer.js'),
    },
    resolver: {
      assetExts: assetExts.filter(ext => ext !== 'svg'),
      sourceExts: [...sourceExts, 'svg'],
    },
  };
})();

\```

Hi, could you make a PR? Thank you!

Can you add me to the repo?  It won't let me pull or publish a branch.  Thanks.

I think you can fork this repository and send PR in usual way if my repository settings is not wrong.
https://docs.github.com/en/get-started/quickstart/fork-a-repo
If it bothers you, I'll merge the texts above in a few days.

Oh, I didn't realize I could do that.  Will submit it a little bit here.


non-local destination filters not well supported yet

destination filters that are not in the same core are not well tested or supported yet.  We need some test cases and likely some code improvements.

there is a test that runs these now


Incomplete type narrowing when using type union with overloaded function

🔎 Search Terms
function overload union narrow
🕗 Version & Regression Information

I have tried this in 5.3.2, and in playground 5.3.3 and 5.4.0-beta.

⏯ Playground Link
https://www.typescriptlang.org/play?ts=5.4.0-beta#code/C4TwDgpgBAYgdgRgDwEEA0UBCA+KBeKACgEMAuKFASn10wG4AoUSWOAJlQx3yLIowBG5AM7AATgEs4Ac2p5ajZtHgBmTllwES5dFCFRRkmRgDGI8VNk0sjJuGVx13AvGS7uAH1Yd3uL6qdsWwAzAFc4E2AJAHs4KAlhV0DCYPJ4QMpyYPjhVjcuXABvBihSqDEIYFCxOOCAOgAbCBlgAAt8PAIERgBfBgYwiKjYnPgfApS0x19MqGyE70CoYrLyyuraxubpNo6CNl7+wciYuISA30nWDKyc1jVfZZKyiqqaua2W9s6CFUOGAD0ACogSUgVAAJIAcgAJlAGhIANbQYDRPTQYgCJpQVFQEzEBoNHGtBYAdwkuxScAwUjAoWAlAwVJpcDpwEE1GiYiIwWp8VZ9NMlDBAIG4ROIxh0QAKiSZABxULEMQw5K8qb5DQstk6Wb0MVDU5QKWyyyK5Wqy7qxa+bX0nSCcxGWTkfXHYZxE1y6TmlVquBTB4FO3AB16J2WUwRmR6xjuo1es1Kv1WgPXW38nX8PQAfmj0lMeYMFhjrqeqwk2UI50QVMo1BWqxe63evOrAoZjFWfQrVZrbDrDeeTagAIBkKgpOioQacIgAA9IJE5lyoNKAMo4tFwZViaKk4ko+xQaLZAAGAjPW-RUAAVqFRFAz4ZLFfhFITA42FAALbEYAmK0EC5G00DCBAJixHC0QAG4QGIDTRMQMLDk2rwbHMcDtmyHJdmUPbNm8tRYbSgp6EK-zAqCUDggAEvB0ASFCP5QP+wAQD+YBRDIh4GMQP4ot6gj0lAD6WDi9inniQEmIiuRSKIEDISe2RKNIyZwsQwjgWIHrCCKBoSp6MregAwjJiL+hqgQhrqrpxuKHrGiZljmRBlmplM4xapm9rZvoL6ljYhlOYmMhubJVn3DZvmhv5+ZRsWzqxiFCYueFFlRekGakXFugCEWgUFnihUli6WDlmUlZEEoUkCHsUBQkVUJQAAZK1EmQFJJgNU1ZVQkOI6lOhrYkR2ggUahBGlNVhC1dk9U-I1zVtR1ACEJiDUNI3EdhZECJQeGlNNaxEZhe2dgwfRAA
💻 Code
/**
 * I create 3 different types, and then put them into a union.
 */
type Fn1<A, B> = (a: A) => B;
type Fn2<A, B> = (a: A, b: string) => B;
type Fn3<A, B> = (a: A, b: string, c: string) => B;
type Fn<A, B> = Fn1<A, B> | Fn2<A, B> | Fn3<A, B>;

/**
 * Now I create some type assertions so I can narrow down in the overloaded function.
 */
function isFn1<A, B>(f: Fn<A, B>): f is Fn1<A, B> {
    return f.length === 1;
}

function isFn2<A, B>(f: Fn<A, B>): f is Fn2<A, B> {
    return f.length === 2;
}

function isFn3<A, B>(f: Fn<A, B>): f is Fn3<A, B> {
    return f.length === 3;
}

/**
 * I'd like to be able to call this either
 * doThingGuard(fn, input) or
 * doThingGuard(fn, input, b) or
 * doThingGuard(fn, input, b, c)
 */
function doThingGuard<A, B>(fn: Fn1<A, B>, input: A): B;
function doThingGuard<A, B>(fn: Fn2<A, B>, input: A, b: string): B;
function doThingGuard<A, B>(fn: Fn3<A, B>, input: A, b: string, c: string): B;
function doThingGuard<A, B>(fn: Fn<A, B>, input: A, b?: string, c?: string): B {
    if (isFn1(fn)) {
        return fn(input);
    }
    if (isFn2(fn)) {
        // I would expect for TS to narrow the type of `b` to be just `string` since Fn2 matches the second overload
        // instead, it's inferred to be `string | undefined`
        return fn(input, b);
    }
    return fn(input, b, c);
}

🙁 Actual behavior
The compiler infers b and c to be string | undefined in all the if code blocks, even though I've narrowed the type of fn to be Fn2 or Fn3.
🙂 Expected behavior
I expect the above code to properly narrow the types of b and c to be just string in the relevant if blocks, because I've properly narrowed the type of fn to the kind of Fn that is used in each individual overload signature.
Additional information about the issue
In the playground, I tried doing something similar, but rather than using the is type guard functions, I checked whether b or c were not undefined (either through strict equality with undefined or with typeof b === 'string') and none of these approaches seem to work.
I'm able to work around this by calling it with ! but it would be nice to have the compiler know that what I'm doing is safe here, since the overload signatures should be restricting me from calling an Fn3 with fewer than 3 arguments.
fn(input, b!, c!);

Unfortunately it’s a known limitation that type narrowing in the implementation of an overloaded function doesn’t work based on the declared overloads - only the implementation signature matters.

Unfortunately it’s a known limitation that type narrowing in the implementation of an overloaded function doesn’t work based on the declared overloads - only the implementation signature matters.

I see, so the overload signatures only matter when I'm calling the function, not when implementing it? That helps, thanks!

Roughly a duplicate of https://github.com/microsoft/TypeScript/issues/28167.


Another Colorful Theme

Thought maybe someone else would enjoy, just a quick color scheme with no language-specific scopes, sort of tailored for my own use of Clojure.

thanks

np


Dev

I see that you added the sql password for AKV step on the blueprints.md. I added it on the devops file since I thought it would be better to add all secrets at once. So we would have to leave just one. Your call! @seekdavidlee


Backrooms Level 0 not generating rooms.

Entering Level 0 of the backrooms generates only the back-floor... No back-rooms...
Using:

Minecraft 1.19.2 (singleplayer client)
Fabric loader version 0.14.10-1.19.2
fabric-api-0.64.0+1.19.2
cloth-config-8.0.75-fabric
thebackrooms-ALPHA-A0.0.4

Steps to reproduce:

Open new creative world
Build an iron block portal
"Light" it with silk
Enter the portal
Witness an endless flat dimension of moist carpet and bedrock below that. No rooms.

Log file:
2022-11-06-6.log
Screenshot:

This feature, of generating randomized rooms, isn’t complete. As you can see there on our Trello Board.
The mod will no longer be in Alpha once this feature will be worked on, it will be in Beta, and once this feature is fully completed, it will no longer be in Alpha or Beta
We will keep this issue opened.

Ah! Apologies, I was under the impression from the screenshots that it was already functional.

I was under the impression from the screenshots that the generation was already functional.

This wasn’t our intention, we apologize for the misunderstanding!

Fixed in 0.2.0


nt

Sorry, working on my crappy laptop and Firefox froze and decided to send this to a new issue instead of another text bar.


Report early errors for invalid increment/decrement target.

Reports something like:
test.js:1: ERROR - Parse error. Invalid postfix increment operand.
12++;
^

test.js:2: ERROR - Parse error. Invalid postfix decrement operand.
(+foo)--;
 ^

test.js:3: ERROR - Parse error. Invalid prefix increment operand.
++this;
  ^

test.js:4: ERROR - Parse error. Invalid prefix decrement operand.
--(a + b);
   ^

Can you add a few unit tests to NewParserTest?

Done. Please tell me if squash needed.

lgtm. @blickly do we still need (or want) squashing to happen?

Yes, it's better to have a clean history in the main branch, with each commit being a logical unit of work.

Looks good. Thanks!


Data Dump File Format

Hi, I'm trying to parse the most recent data dump and I realized that it's not in JSON format. Would you happen to be able to provide an easy way to parse the data? Specifically what seems to be like nested JSON-like objects that are used to represent the chats. For example, this is what I get after using a CSV-parser to get the chat column.
{"{"time":2728,"type":"chat","unit":"Darren","key":"gg","slot":2,"player_slot":2}","{"time":2733,"type":"chat","unit":"haTaTiTla","key":"gg","slot":1,"player_slot":1}"}
Thanks,
Matt

The chat should be an array of JSON objects (start and end with []).  Are you sure your parser isn't processing this weirdly?

I had no trouble parsing the 2015 data with a slightly modified version of the code snippet on the information page. But the same code isn't working with the more recent data dump. Seeing as I can't  open the larger file in memory, I'm basing my parsing on the "matches_small.csv" file format which appears to be a weird combination of csv and JSON formatting.

The 2015 data was in a different format so the same code won't work.
The new data is a CSV dump where some of the fields are JSON strings.

Would you be able to recommend a parsing library that could adequately parse the newer format? I'm unable to turn the JSON strings into JSON objects after trying to use many different CSV parsers followed by JSON parsing for the chat column.

If you just read a line out of the csv file, you should be able to split it by commas, and then a JavaScript JSON.parse() should work on the column.
If you'd like me to investigate further, can you share an example line from one of the CSV files that has a JSON column?

It's possible your CSV parsers are removing quotes that your JSON parser is expecting

I'm using the JS "fast-csv" library to parse the CSV rows and then I try to use the JSON.parse() on the resulting "chat" column. In file, this column looks like this:

"{""{""time"":2728,""type"":""chat"",""unit"":""Darren"",""key"":""gg"",""slot"":2,""player_slot"":2}"",""{""time"":2733,""type"":""chat"",""unit"":""haTaTiTla"",""key"":""gg"",""slot"":1,""player_slot"":1}""}","{""{""time"":174,""type"":""CHAT_MESSAGE_FIRSTBLOOD"",""value"":353,""player1"":2,""player2"":8,""slot"":2,""player_slot"":2}"",""{""time"":758,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":-1,""player2"":-1,""team"":3,""slot"":-1}"",""{""time"":1081,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":7,""player2"":-1,""team"":3,""slot"":7,""player_slot"":130}"",""{""time"":1183,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":2,""player1"":-1,""player2"":-1,""team"":2,""slot"":-1}"",""{""time"":1196,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":-1,""player2"":-1,""team"":3,""slot"":-1}"",""{""time"":1402,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":7,""player2"":-1,""team"":3,""slot"":7,""player_slot"":130}"",""{""time"":1798,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":7,""player2"":-1,""team"":3,""slot"":7,""player_slot"":130}"",""{""time"":1829,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":-1,""player2"":-1,""team"":3,""slot"":-1}"",""{""time"":1849,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":7,""player2"":-1,""team"":3,""slot"":7,""player_slot"":130}"",""{""time"":2032,""type"":""CHAT_MESSAGE_ROSHAN_KILL"",""value"":200,""player1"":3,""player2"":-1,""team"":3}"",""{""time"":2035,""type"":""CHAT_MESSAGE_AEGIS"",""value"":0,""player1"":5,""player2"":-1,""slot"":5,""player_slot"":128}"",""{""time"":2159,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":7,""player2"":-1,""team"":3,""slot"":7,""player_slot"":130}"",""{""time"":2170,""type"":""CHAT_MESSAGE_BARRACKS_KILL"",""value"":512,""player1"":7,""player2"":-1,""key"":""512""}"",""{""time"":2390,""type"":""CHAT_MESSAGE_BARRACKS_KILL"",""value"":64,""player1"":7,""player2"":-1,""key"":""64""}"",""{""time"":2393,""type"":""CHAT_MESSAGE_BARRACKS_KILL"",""value"":128,""player1"":9,""player2"":-1,""key"":""128""}"",""{""time"":2406,""type"":""CHAT_MESSAGE_BARRACKS_KILL"",""value"":256,""player1"":7,""player2"":-1,""key"":""256""}"",""{""time"":2417,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":7,""player2"":-1,""team"":3,""slot"":7,""player_slot"":130}"",""{""time"":2577,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":7,""player2"":-1,""team"":3,""slot"":7,""player_slot"":130}"",""{""time"":2583,""type"":""CHAT_MESSAGE_TOWER_KILL"",""value"":3,""player1"":-1,""player2"":-1,""team"":3,""slot"":-1}"",""{""time"":2636,""type"":""CHAT_MESSAGE_BARRACKS_KILL"",""value"":1024,""player1"":-1,""player2"":-1,""key"":""1024""}"",""{""time"":2639,""type"":""CHAT_MESSAGE_BARRACKS_KILL"",""value"":2048,""player1"":9,""player2"":-1,""key"":""2048""}""}"

And the printing the parsed column to screen returns:

{"{"time":174,"type":"CHAT_MESSAGE_FIRSTBLOOD","value":353,"player1":2,"player2":8,"slot":2,"player_slot":2}","{"time":758,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":-1,"player2":-1,"team":3,"slot":-1}","{"time":1081,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":7,"player2":-1,"team":3,"slot":7,"player_slot":130}","{"time":1183,"type":"CHAT_MESSAGE_TOWER_KILL","value":2,"player1":-1,"player2":-1,"team":2,"slot":-1}","{"time":1196,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":-1,"player2":-1,"team":3,"slot":-1}","{"time":1402,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":7,"player2":-1,"team":3,"slot":7,"player_slot":130}","{"time":1798,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":7,"player2":-1,"team":3,"slot":7,"player_slot":130}","{"time":1829,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":-1,"player2":-1,"team":3,"slot":-1}","{"time":1849,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":7,"player2":-1,"team":3,"slot":7,"player_slot":130}","{"time":2032,"type":"CHAT_MESSAGE_ROSHAN_KILL","value":200,"player1":3,"player2":-1,"team":3}","{"time":2035,"type":"CHAT_MESSAGE_AEGIS","value":0,"player1":5,"player2":-1,"slot":5,"player_slot":128}","{"time":2159,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":7,"player2":-1,"team":3,"slot":7,"player_slot":130}","{"time":2170,"type":"CHAT_MESSAGE_BARRACKS_KILL","value":512,"player1":7,"player2":-1,"key":"512"}","{"time":2390,"type":"CHAT_MESSAGE_BARRACKS_KILL","value":64,"player1":7,"player2":-1,"key":"64"}","{"time":2393,"type":"CHAT_MESSAGE_BARRACKS_KILL","value":128,"player1":9,"player2":-1,"key":"128"}","{"time":2406,"type":"CHAT_MESSAGE_BARRACKS_KILL","value":256,"player1":7,"player2":-1,"key":"256"}","{"time":2417,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":7,"player2":-1,"team":3,"slot":7,"player_slot":130}","{"time":2577,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":7,"player2":-1,"team":3,"slot":7,"player_slot":130}","{"time":2583,"type":"CHAT_MESSAGE_TOWER_KILL","value":3,"player1":-1,"player2":-1,"team":3,"slot":-1}","{"time":2636,"type":"CHAT_MESSAGE_BARRACKS_KILL","value":1024,"player1":-1,"player2":-1,"key":"1024"}","{"time":2639,"type":"CHAT_MESSAGE_BARRACKS_KILL","value":2048,"player1":9,"player2":-1,"key":"2048"}"}

As you suggested, it seems that the CSV parser is removing quotes that the JSON parser is expecting, but not quite sure how to remedy this. Any help would be greatly appreciated. Thanks!

You can try using a different library, or checking the documentation to see if there's a setting that will preserve the quotes.
Alternatively since the data was generated from postgres database, you could try importing the csv file into a postgres database and reading it back out


Remove unnecessary unsafe in skipdb-core

Adds a test that proves Values: Send without the unsafe trait impl.
Adds an extra constraint to functions that require Values<V>: Send.
Adds #![forbid(unsafe_code)] to skipdb-core.

Thanks!


Even handler leak

It seems to me that this component is leaking event handlers.
https://github.com/MetaMask/metamask-logo/blob/gh-pages/index.js#L261
I would suggest adding an API that would allow explicit registration/disposal of those event handlers. I can add it if you like.

yes you're correct
closing as duplicate of https://github.com/MetaMask/logo/issues/23


MM-59444 Add tests for actions/remote/command

Summary
Add unit tests for actions/remote/command. Coverage increases from x% to 95.06%.
This was my first time using GitHub Copilot Chat to help write tests. As a result it took me longer than usual to write these but they are more thorough than some of the other tests I've written.
Ticket Link
https://mattermost.atlassian.net/browse/MM-59444
Checklist

[x] Added or updated unit tests (required for all new features)
[ ] Has UI changes
[ ] Includes text changes and localization file updates
[ ] Have tested against the 5 core themes to ensure consistency between them.
[ ] Have run E2E tests by adding label E2E iOS tests for PR.

Device Information
This PR was tested on: n/a
Screenshots
n/a
Release Note

NONE

so copilot huh? definitely better test cases, good coverage.
In your opinion, should we leverage this copilot thing more? is it worth it even if takes you a bit longer ?

I'm going to play with it some more but it has potential to be faster. It rarely generates perfect code but with the right set of prompts it seems to get 80% of the way there


Enhancement: Prompt Library

What features would you like to see added?
Prompt Library with advanced management system including:

ability to create/use prompts easily
ability for prompts to have "fill-in" variables
ability for users to not only create but share their prompts globally
quick and easy access of prompts for chats from side panel
filtering of prompts
advanced and optional versioning of prompts
categorize/label prompts
ability for admins to share prompts globally
ability for admins to restrict whether or not users can create their own prompts
ability for admins to add categories for prompts

Features planned but may not be initially implemented

ability to import/export prompts
ability to use slash command for quick prompt access
ability to set conversation starters
ability for admins to set conversation starters for specific/all endpoints
ability to attach presets to prompts and vice-versa
ability to chain prompts
ability to favorite/rate prompts
eval for prompts
prompt metadata (know which messages/conversations used them)

Which components are impacted by your request?
No response
Pictures
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

This feature would be super powerful if these prompt presets in the library could have files attached! :)

This feature would be super powerful if these prompt presets in the library could have files attached! :)

At the moment, this was not something planned for the initial release. I will definitely consider it, I've had some ideas on this already.

Loving this feature so far. I can totally use this to replace superpowers gpt and move 100% to librechat now!
One thing I would love to see improved is the variable field. Would it be possible to paste in multi-line variables? For example I've used variables in the past to represent job descriptions which are generally 50+ lines. I can still paste in all the content into the current field, but I wonder if gpt or claude treat that data different from properly formatted data?

I can still paste in all the content into the current field, but I wonder if gpt or claude treat that data different from properly formatted data?

it depends what you see in the resulting text above with the highlighted values. something like this (rough draft)?

Prompt slash commands are now live on latest: https://github.com/danny-avila/LibreChat/pull/3219

I really appreciate your work on the prompts🥰, as I agree that it is something that needs attention. Although different models are fundamentally different, different prompts like those in the GPT store can greatly influence the behavior of AI, and even the quality of service. If high-quality prompts can be pre-made for users or shared among users, it should be able to reduce the cost of getting started and improve the user experience.

This is amazing! I wasn't sure what the "command" thing was but now I see it.
Are we able to get editable categories?
I see they are hardcoded into the endpoint and into the localization files and icons. I have no clue how you'd deal with the localization and icons.
Specifically, I'm missing "emotions" or "journaling" or "personal".
And maybe just the ability to disable some?

I see they are hardcoded into the endpoint and into the localization files and icons. I have no clue how you'd deal with the localization and icons.

Yes there is actually already some code to create your own categories. I will have to be judicious with what icons to have available, on top of the existing ones

I've closed this issue as the general feature is now implemented, and a release is being cut.
Features planned but may not be initially implemented. I encourage you all to try it and give feedback on improvements to be made features related to prompts. These are the most interesting to me, feel free to create separate issues for them to "vote" on it, as some have already been made.

ability to import/export prompts
ability to set conversation starters
ability for admins to set conversation starters for specific/all endpoints
ability to attach presets to prompts and vice-versa
ability to chain prompts
ability to favorite/rate prompts


code format

PR Description
Fixed Issue(s)

Documentation

[ ] I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

[ ] I thought about adding a changelog entry, and added one if I deemed necessary.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.yuanhang seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

code format


Journal/Tutorial Week 3

"selector" is misspelled at the top of your second paragraph. I completely agree with the importance of understanding inheritance, specificity and order. I didn't acknowledge them at first and my code was all funky. Nice tutorial on the basic CSS rule. Maybe throw in an example of something more complicated than font-size and let us know what it does! :+1:

Your tutorial was simple and easy to follow.  CSS stands..." in the first paragraph.
Tutorial: looks good as well. Maybe expand a little on the properties and their possible values.
:+1:


The dot is not working on IOS device

The dot is not moving on IOS device for me.
Device: iPhone XS,
Browser: Chrome

Also, I've noticed the dot is not always stay at the end of the progress bar (probably only when progress bar is not at constant speed).

I finally had time to check it on an emulator. Thanks for the hint. I confirm this issue in Chromium on an IOS device. There must be a problem with the foreignObject in the browser. I don't have an IOS device, which makes debugging very hard for me. So any help is very welcome!
I think the easiest way for me will be to implement this without foreignObject. Should be fixed in upcoming v1.3.0

fix immediately available in v1.3.0-beta.6
npm i<EMAIL_ADDRESS>


not working on Mac OS X Yosemite

node 4.1.2
$ bible --lang en '2 Peter 3:9-18'
warn  Cannot read the configuration file. Reason: ENOENT
/usr/local/lib/node_modules/bible/bin/bible:74
    Argv.rc || Argv.resultColor || config.resultColor
                                         ^

TypeError: Cannot read property 'resultColor' of null
    at Object.<anonymous> (/usr/local/lib/node_modules/bible/bin/bible:74:42)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:475:10)
    at startup (node.js:118:18)
    at node.js:952:3

Whoups! I remember I saw this when I installed this app on my Raspberry Pi. :boom: Looking at the code, I see the problem. I replaced require with ReadJson, but forgot to update the error codes: here, we should check against ENOENT instead of MODULE_NOT_FOUND.
Also, we should replace require with ReadJson where it only reads a JSON file.
Like always, contributions are more than welcome! :sparkle:
Thanks for the report, @jonkemp! :sparkles:

:ship: 2.0.1 :tada:
Tested on my Raspberry Pi too! It's working. Thanks! :smile:


Invalid login session error

I have setup whaticket on AWS. I have followed instructions in the readme file. How do I check if services are running?
When I login into the frontend, I am getting invalid login session error: https://app.pawa.co.zw/login
(I am getting the same error from the web demo site)
The back end shows error: https://api.pawa.co.zw/

Hi @leobaldoneto
Yes, I did sign up. Successfully logged in with the account and started getting the error message. I created a second account, successfully logged in and the first user account is missing


[Plato imports] Encoding problems for imported publication abstracts

Bug description
Some imported publications from Plato have encoding problems
in their abstracts.
Steps to Reproduce

Import the latest candidate records
Go to /candidate-records
Open record with title A Concrete State: Constructing Materials and Building Ambitions in the (Belgian) Congo
Go abstract

I have imported this in https://backoffice.bibliotest.ugent.be/publication/01J1CGV8G7PDYEW6TNS999AM9T#abstracts to have a look
Plato ID: 1972

this is how it looks like in the plato api

Input gathered live: probably not an issue for us, but for Plato.

Michiel contacted:
Unicodes \u0091, \u0092 en \u0097 zijn respectievelijk 'PRIVATE USE ONE', 'PRIVATE USE TWO' en 'End of Guarded Area'; bedoeld voor zelf te definiëren karakters.

Related issue:


Create button is not visible in default layout

Testing microsoft/vscode#119507
The default layout for the extension seems to hide most of the create button:

We can't control the size of the views here. Ideally Compare Changes would be smaller, but the best we can do is collapse it all the way. If we collapse it, then I don't think anyone will find it.


[Tree] Add drag or drop state to support custom node styles

fixed with 89e742826a76ee72cb621d0a41f16a6131eab924, 950ebe6c09a882c8d1e751163fa473f6971f68c5, 373082aab8103a5c7ac66d474c6b943646445c1f.


[sqlite3] Ability to enable the DBSTAT virtual table feature

This PR adds a configuration for the virtual table DBSTAT to the list of configuration options.
Apart from simply rounding out the sqlite3 port, this is useful for two immediate reasons:

sqlite_orm has built-in support for the "dbstat" table, but programmers who want to use it cannot take vcpkg's sqlite3.
sqlite_orm's codebase tests built-in support for the "dbstat" table and relies on the vcpkg ecosystem. Tests for "dbstat" remain unexecuted.

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

The feature has been test successfully locally.

Are the failing tests expected?

@trueqbit The ci baseline has been fixed and please merger this PR to master. :)

@FrankXie05 Just letting you know that all checks have passed.

Thanks everyone!


install_requires question

HI all :
When I am installing  this project ,the install_requires needs scikit-learn=='0.19.1'
but  scikit-learn 0.19.1  I can't install correctly
I think it's too old version?
I user annaconda +python3.7
how could I do to work with this project~ thanks  a lot

Hi, @Hunter0904 !
It seems that the problem is in conflict of numpy and 'scikit-learn` version. I was unable to reproduce this issue on Ubuntu 18.04, so it seems that your OS also has something to do with it.
We had to fix scikit-learn version to keep segmentation pipelines working because scikit-learn had changes in its' API that were not supported by hmmlearn at the moment.
I did some tests and segmentation seems to work fine for me on Ubuntu 18.04 with hmmlearn==0.2.2, numpy==1.17.4 and scikit-learn==0.21.3.
So, I'd recommend to install latest versions of the libraries and try running your task.

HIHI
I had solved this issue
my python is 3.7 it's not work
I change it to 3.6 is OK~~
thanks so much


Cannot seem to attach permissions to JWT token

Hi,
I have the following problem:
I want to include permissions inside my JWT token so that I can check for them later with Guardian.Plug.EnsureAuthenticated.
This is how my code looks:
config.exs
config :guardian, Guardian,
  allowed_algos: ["HS512"],
  verify_module: Guardian.JWT,
  issuer: "Docin",
  ttl: { 30, :days },
  verify_issuer: true,
  secret_key: System.get_env("GUARDIAN_SECRET") || "xB/riG0....",
  serializer: DocinApi.GuardianSerializer,
  permissions: %{
    admin: [
      :all
    ],
  }

The controller that creates the JWT:
claims = Guardian.Claims.app_claims
         |> Map.put(:perms, %{ admin: [:all] })

# Encode JWT
{ :ok, jwt, full_claims} = Guardian.encode_and_sign(user, :token, claims)

conn
|> json(%{access_token: jwt})

My routes
pipeline :admins do
    plug :accepts, ["json"]

    plug Guardian.Plug.VerifyHeader
    plug Guardian.Plug.LoadResource
    plug Guardian.Plug.EnsureAuthenticated, handler: MyApp.AuthErrorHandler, admin: [:all]
end

scope "/api/admins/", MyApp do
    pipe_through :admins

    get "/current", AdminController, :current
end

So the idea would be that without the admin: [:all] permissions you would not be allowed to access any route inside the /api/admins/ scope at all.
Without using a token, it works as expected: 401: Unauthorized
If I configure the Guardian.Plug.EnsureAuthenticated like above, I get an 401: Unauthorized error even when using the token.
If I remove the admin: [:all] form it, it works just fine with the token.
So I guess the permissions are not inside the token?
This is the request I would send to access the /api/admins/current route:
GET /api/admins/current HTTP/1.1
Host: localhost:4000
Content-Type: application/json
Accept: application/json
Authorization: eyJhbGciOiJIUzUxMiIsIn... (token shortened)
Cache-Control: no-cache
Postman-Token: d00116fb-1b41-9be4-2aaf-646fb54234db

Anyone of you had this problem before?
I would appreciate any help :)

@jaybrueder you should be using Guardian.Plug.EnsurePermissions to check permissions.  It sounds like there may be something misconfigured with your application with regards to how Guardian.Plug.EnsureAuthenticated is working.
Do you have an example project we could look at?

@doomspork is correct. EnsurePermissions is what you want here. Also just a quick comment on the code you posted.
claims = Guardian.Claims.app_claims
         |> Map.put(:perms, %{ admin: [:all] })

# Encode JWT
{ :ok, jwt, full_claims} = Guardian.encode_and_sign(user, :token, claims)

conn
|> json(%{access_token: jwt})

You don't need the call to app_claims. You can pass in perms directly - the encode_and_sign will populate the rest of the claims starting with app claims.
{ :ok, jwt, full_claims} = Guardian.encode_and_sign(user, :token, perms: %{ admin: [:all]})


Maximum path length limited to 255 characters

We are running into a weird error on Linux machines when calling compile /full/path/to/file.dss, when the path is more than 255 characters. The error returned by OpenDSS is not obvious, since it just says it cannot open /full/path/to/file.dss (without truncating).

I'm assuming this is not a straightforward fix, since OpenDSS is just calling built-in pascal functions: https://github.com/dss-extensions/dss_capi/blob/cf442f6b93a467f4f74b3dc2206598c23f07fcff/Version7/Source/Executive/ExecHelper.pas#L347-L406

Weird, FPC's MAX_PATH is 4096 on Linux and still fails. FileExists(ReDirFile) returns true though. I'll try to look for an alternative to AssignFile.

What I found so far is that it doesn't seem to be related to string encoding or anything like it. Using a TFileStream seems to work, I only worry about the encoding of the contents.
Related but closed for 3.0.0 (we're on 3.0.4): https://bugs.freepascal.org/view.php?id=24885
FPC 3.2 was expected this year. If it's indeed a bug, might be worth report it before the release (assuming it still existing in the development version).

I'm considering using a stream as a fallback if FileExists returns true -- just load it in a TStringList and iterate over the lines.
It will use a bit more memory since it loads all lines at once. I assume that's not an issue.

We might be able to get away with just removing this one line:
https://github.com/dss-extensions/dss_capi/blob/cf442f6b93a467f4f74b3dc2206598c23f07fcff/Version7/Source/Executive/ExecHelper.pas#L369

I can't think of a reason this function would need to ExpandFileName. Even if it does, we can add it as a separate try except and we should be good.

Yeah, ExpandFileName doesn't look it does anything useful here, weird. There might be some corner case.
Searching further, this thread from 2018 mentions exactly the same error (the issue is with the Reset function): https://forum.lazarus.freepascal.org/index.php?topic=39522.0
I didn't find the exact bug report on https://bugs.freepascal.org/ but the ones I found suggest using TFileStream too, Assign and Reset are deprecated and won't be fixed (!).
Besides the change to DoRedirect, I ported some other changes to 0.10.x and created a branch (master is 0.11 dev), if you want to give it a try: https://github.com/dss-extensions/dss_capi/commit/96bc0bb41075b6627c9ad73e929ad04443860004
It tries the following:

given filename
expanded filename
if the expanded filename does exist, fallback to a string list -- won't affect other files
otherwise, fail

I tested with just a file name and a full long path:

'compile 40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05.dss'
compile /home/meira/40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05/40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05-40242748-21fd-4a61-8ad9-cefdd3ff6a05.dss'

I'll add a couple of minor fixes from upstream tomorrow on that branch, and hopefully merge a monstrous changeset I have locally too on master.
Since OpenDSS uses SetCurrentDir, DoRedirect is probably broken in some multi-threading scenarios. I'll open a ticket about it.

You are awesome @PMeira! I'll try the fix.

@kdheepak I tagged it so the binaries should be here soon https://github.com/dss-extensions/dss_capi/releases


Test concurrent find and modify updates

Checkto see if they have an isolated update.
According to this, they should.

https://www.mongodb.com/docs/manual/core/write-operations-atomicity/#AtomicOperations-FindandModify(orRemove)

✅


Add multi-channel loopback test VI

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Creates a multi-channel version of AssertChannelLoopback
Reviewer note
The passIfEqual VI cannot accept both arrays of values to compare and a delta to apply to the comparison. Because of this limitation, the arrays of values and results are indexed in a for loop for comparsion.
Why should this Pull Request be merged?
Allows system tests to assert multiple channel values and read the resulting looped-back channels without duplicating the delay on a per-channel basis.
What testing has been done?
Tested as part of the DAQ system tests.

Write Channels, Read Channels, and Values should all be required.

Write Channels, Read Channels, and Values should all be required.


Replace RSVP.js with custom Promise polyfill.

The current library depends on RSVP.js as a way to do JavaScript Promises and pollyfill them in the absence of native browser support. I want to replace this dependency with a custom solution than can be included natively in the library.

Should check to see if native Promise is available. If not, set a global Promise object to the RSVP Promise object.

Version 3 removes the need for RSVP. It polyfills with es6-promise with a IE conditional.


How do I select an item programatically?

I am trying to select an item programatically using selectize.addItem method but it's not working. Here is the essence:
  $scope.myOptions = [{value: '1', text: 'Jordy'}];

  $scope.selectize;

  $scope.myConfig = {
    create: true,
    // maxItems: 1,
    // required: true,
    onInitialize: function(selectize){
      // receives the selectize object as an argument
      $scope.selectize = selectize;
    }
  }

  $scope.selectize.addItem('1');

Am I doing something wrong?

Found the issue. The options were empty, so addItem wasn't working. I had to manually add the options before addItem.


Docs.MS Release Updates for Azure.Storage.Queues

Update docs metadata and targeting for release of Azure.Storage.Queues

Docs Build status updates of commit 6d04b79:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

api/overview/azure/storage.queues-readme.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Collect best practices for interfacing between memory safe by default and non memory safe by default languages

I think one logical best practice is to separate all FFIs into a separate crate/module/package so that it can be audited in isolation. All the exported symbols from that crate/module/package should be memory safe.


:bug:  prow fix go version validate

Summary
Prow go version is not checked in go version checking CI so it was missed in rebase ;/
Related issue(s)
Fixes #
Release Notes

NONE

/retest

/retest

/retest

Ou. Multitasking....


proto tayga gets shown as "unsupported protocol type" in Network -> Interfaces

Powered by LuCI openwrt-19.07 branch (git-19.326.61751-179c5e8) / OpenWrt 19.07.0-rc1 r10649-c4fdb377a2
I have tayga configured in /etc/config/network like this:
config interface 'nat64'
        option proto 'tayga'
        option ifname 'tayga-nat64'
        option ipv4_addr '<IP_ADDRESS>'
        option ipv6_addr '2001:470:50ed::1'
        option prefix '64:ff9b::/96'
        option dynamic_pool '<IP_ADDRESS>/24'
        option accept_ra '0'
        option send_rs '0'

This interface appears as "unsupported protocol type" in luci:

There is no LuCI support for this protocol, hence the message.


More styles, updated help

Added more styles and updated help accordingly.
Updated Readme.md
Altered formatting of argparse description.
Please do note, I am not well versed in python! Review carefully, from all my testing everything appears to work as it should

I've added a bunch of styles. I really wanted to format the help command and add the option of brightness to the preset style, but my python skills are almost on existent!
I forgot to mention, I also added type int and choices to the brightness option so when incorrect options are passed, it exits more gracefully.

Thanks, i'll Review this son as possible

Thanks rodgomesc.
I've just added one more style too (and the red, orange, yellow, green, blue, teal and purple options for it).
I wasn't quite sure what to name some of the styles, for example the random style. Feel free of course to rename to something more fitting.
In picking the other styles' names I just copied names of styles that exist on other keyboards (and appeared similar or the same) that I found on YouTube.

thank you very much, i'm trying to set aside time to work on this project but recently i became daddy. but any day will still work

thank you very much, i'm trying to set aside time to work on this project but recently i became daddy. but any day will still work

Congratulations on fatherhood, definitely life changing! Life is always more important.
Thank you for the amazing project in the first place, I'm very grateful that we can control the keyboard with ease.

thank you very much, i'm trying to set aside time to work on this project but recently i became daddy. but any day will still work

Congratulations on fatherhood, definitely life changing! Life is always more important.
Thank you for the amazing project in the first place, I'm very grateful that we can control the keyboard with ease.

thankss,
using this you can keep color scheme after system reboots, maybee it works in same way for mono color scheme
https://github.com/rodgomesc/avell-unofficial-control-center/blob/ffa1307f87c7774f253add2516ff41338117f137/aucc/main.py#L29


Styling updates

Updating styling, inspired by Rapha's site (lol)
Added margins and set border radius's to 0
More work to do on weather post

screencapture-localhost-3000-2022-08-24-08_12_24.pdf