Error: NextRouter was not mounted.

🐛 Current behavior
Hi, I would like to setup SSR for Algolia using Next.js.
I got a bug with the usage of getServerState from react-instantsearch-hooks-server. I need to use useRouter inside my page but when rendering to string server side the NextRouter context is not mounted leading to this bug:

🔍 Steps to reproduce

Fork this codesandbox from documentation
Import useRouter and use it in index.tsx
In Next.js 12 (which is the version in use in this sandbox) Next is not crashing but renders null on server when you console.log router. In Next.js 13 the app is crashing.

Live reproduction
https://codesandbox.io/s/bug-reproduction-for-algolia-ssr-with-next-js-bmcpni?file=/pages/index.tsx
💭 Expected behavior
Initial state from SSR fetch should be resolved without crashing the application.
Having to use react-dom/server inside getServerSideProps seems to not be aligned with how Vercel designed it
Package version
react-instantsearch-hooks-server 6.39.3, react-instantsearch-hooks-web 6.39.1, next 13.1.6, react 18.2.0
Operating system
macOS Ventura 13.2
Browser
Chrome Version 109.0.5414.119 (Build officiel) (arm64)
Code of Conduct

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

Hi,
We retrieve the initial InstantSearch state by relying on React's renderToString which renders the component outside of Next.js context. This means there are no possible access to its Hooks, like useRouter(). While it defaulted to null in the previous version, now it throws an Error.
Here are 2 options that have similar outcome (useRouter is null when rendered by renderToString):

you can wrap your reference to useRouter in a try {} catch() {} clause
you can import useRouter from next/compat/router which fallbacks to the previous behavior

Hi @dhayab thank you for your answer!
I think this solution is too "out of" Next.js. I would like, as much as possible, to rely on Next.js first class exported API.
For those who may face the same issue, I succeed to give correct initialResults to InstantSearchSSRProvider by fetching my indices inside getServerSideProps using algoliasearch SDK.
For the icing on the cake I wrapped it inside @tanstack/react-query to get my dehydrated state I retrieve in my front-end with the benefit of storing results inside react-query cache.
The only downside is that you need to do hacky things to populate initialResults as InstantSearchSSRProvider is waiting for. You may need reduce manipulations.

Hi @dhayab thank you for your answer!
I think this solution is too "out of" Next.js. I would like, as much as possible, to rely on a Next.js "way to do it" and philosophy.
For those who may face the same issue, I succeed to give correct initialResults to InstantSearchSSRProvider by fetching my indices inside getServerSideProps using algoliasearch SDK.
For the icing on the cake I wrapped it inside @tanstack/react-query to get my dehydrated state I retrieve in my front-end with the benefit of storing results inside react-query cache.
The only downside is that you need to do hacky things to populate initialResults as InstantSearchSSRProvider is waiting for. You may need the usage of a reduce function if you search multiple indices.

As you found a solution, we'll close this issue, but we are aware and looking into ways we could expose the widgets without doing a render, or having a guide on how to expose all your necessary contexts in getServerState (Next doesn't really allow it), but that's tracked in other places already.
Thanks for making us further aware

Hi, @antoine-lin
Could you provide an example of how you get the initialResults using algoliasearch inside getServerSideProps, please.


Gives varied results if computed vice versa

So I was dabbling with the implementation of the code wherein I was searching for a small audio clip(abc) into a larger recording(xyz).
When I pickle "abc" and the run the match command with "xyz" as the query, I revive perfect results, but the time detected is a total chaos when i do it vice versa; pickle xyz and match abc.
Any idea why?
Thanks a ton!

The times are stored modulo some maximum value; by default, this causes
times to "alias" when larger than 6 minutes; see the final paragraph of
https://github.com/dpwe/audfprint/blob/master/README.md
On Fri, Nov 30, 2018 at 4:15 AM 2407adi<EMAIL_ADDRESS>wrote:

So I was dabbling with the implementation of the code wherein I was
searching for a small audio clip(abc) into a larger recording(xyz).
When I pickle "abc" and the run the match command with "xyz" as the query,
I revive perfect results, but the time detected is a total chaos when i do
it vice versa; pickle xyz and match abc.
Any idea why?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dpwe/audfprint/issues/49, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAhs0WCpWFOlQ6A3yANIzV-1ObLs_fIPks5u0Pc0gaJpZM4Y7SNh
.

This totally works! Thanks a ton! 👍


Roll Flutter Engine from 20369c5d2b93 to 3388ef926e70 (4 revisions)

https://github.com/flutter/engine/compare/20369c5d2b93...3388ef926e70
2024-10-03<EMAIL_ADDRESS>Refactor FlKeyboardHandler (flutter/engine#55601)
2024-10-03<EMAIL_ADDRESS>Add and use a dart_test rule. (flutter/engine#55630)
2024-10-03<EMAIL_ADDRESS>Roll Dart SDK from 4c767e0fae21 to 91d39199994c (1 revision) (flutter/engine#55631)
2024-10-03<EMAIL_ADDRESS>[Impeller] ensure one AiksContext per app. (flutter/engine#55629)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Action Commands

In work

This is the wrong repo bro

I’m pretty sure these commands need to be added to the organization repo

v5 development is continued here https://github.com/mai-bot/

right


Loading existing repo

So I tried loading the repository I was already in using the "load existing repository" option and Elegit froze and became unresponsive.

Once you've targeted the problem, can you write a unit test that fails, before you fix it?
Look at unit tests (JUnit).

Looks like it's actually #175


No table is set Exception

Hi
We can have a query without 'from' like:
select '2' , '3'

https://github.com/sqlkata/querybuilder/blob/bd8aa437cdbbfccca38fd83a8671f1dc2624480d/QueryBuilder/Compilers/Compiler.cs#L415

Could you elaborate more on the use case where you want this ?

closing since long time with no reply, feel free to reopen if this still an issue for you

@ahmad-moussawi
Found my way here from a google search as I am running into this issue currently.
I am populating a model in the format
public class SomeStatsObject {
    public int ThingsAlphaCount { get; set; }
    public int ThingsBetaCount { get; set; }
    public int ThingsGammaCount { get; set; }
    public int ThingsDeltaCount { get; set; }
}

that gets counts from a bunch of complex subqueries in the form of:
SELECT
    (SELECT ...) ThingsAlphaCount,
    (SELECT ...) ThingsBetaCount,
    (SELECT ...) ThingsGammaCount,
    (SELECT ...) ThingsDeltaCount,

I believe subqueries get what I need so my Sql Kata follows
 var mainQuery = new Query()
    .Select(thingsAlphaCountSubQuery, nameof(SomeStatsObject.ThingsAlphaCount))
    .Select(thingsBetaCountSubQuery, nameof(SomeStatsObject.ThingsBetaCount))
    .Select(thingsGammaCountSubQuery, nameof(SomeStatsObject.ThingsGammaCount))
    .Select(thingsDeltaCountSubQuery, nameof(SomeStatsObject.ThingsDeltaCount));

var compiledQuery = new SqlServerCompiler().Compile(new[] { someRawQueryForParams, mainQuery });

Thus, I get the 'No table is set' exception.

Or when using "CROSS APPLY" for column reuse within the same query

Similar issue as OP, would be nice to be able to run select SERVERPROPERTY('productversion')

@xavierzwirtz  db.Select("select SERVERPROPERTY('productversion')") is more appropriate here

@ahmad-moussawi Could this be reopened? This is still an ongoing issue when compiling for SqlServer.

Or when using "CROSS APPLY" for column reuse within the same query

just curious if you able to tackle cross apply or outer apply with column reuse only

Guys, you can just inherit your copiler class eg. SqlServerCompiler and override CompileFrom method like that:
public override string CompileFrom(SqlResult ctx)
{
    if (!ctx.Query.HasComponent("from", EngineCode))
    {
        return null;
    }

    return base.CompileFrom(ctx);
}

now query: new Query().Select("1 as Test"); won't throw any exception and returns SELECT [1] AS [Test] .

this is really great..


fix one word usage

çhanged "Devspace.cli automatically creates and managed" to "Devspace.cli automatically creates and manages"
What issue type does this pull request address? (keep at least one, remove the others)
/kind documentation
What is this pull request for? Which issues does it resolve? (use resolves #<issue_number> if possible)
Does this pull request has user-facing changes? (e.g. config changes, new/modified commands, new/modified flags)
no
Does this pull request add new dependencies?
no
What else do we need to know?

Great. Thanks for your contribution!


ccs FATAL: kernel too old Aborted (core dumped)

CCS from bioconda downloaded 10/21/2019 fails with CentOS 6.7 (final).
Apparently a similar issue was also found with SMRT Link 8 (library dependency) and fixed

Please read our docs before posting an issue https://github.com/PacificBiosciences/ccs/blob/develop/README.md#the-binary-does-not-work-on-my-linux-system


openttd-nml: 0.5.3 -> 0.6.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for openttd-nml is: "Compiler for OpenTTD NML files"
meta.homepage for openttd-nml is: "http://openttdcoop.org/"
meta.changelog for openttd-nml is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
/nix/store/1lbpv7k3a8svqvh92h2xlw0ibzvbvpwq-openttd-nml-0.6.1/bin/.nmlc-wrapped passed the binary check.
/nix/store/1lbpv7k3a8svqvh92h2xlw0ibzvbvpwq-openttd-nml-0.6.1/bin/nmlc passed the binary check.
2 of 2 passed binary check by having a zero exit code.
2 of 2 passed binary check by having the new version present in output.
found 0.6.1 with grep in /nix/store/1lbpv7k3a8svqvh92h2xlw0ibzvbvpwq-openttd-nml-0.6.1
found 0.6.1 in filename of file in /nix/store/1lbpv7k3a8svqvh92h2xlw0ibzvbvpwq-openttd-nml-0.6.1

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

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
openttd-nml

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1lbpv7k3a8svqvh92h2xlw0ibzvbvpwq-openttd-nml-0.6.1 \
  --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 openttd-nml https://github.com/r-ryantm/nixpkgs/archive/cdcad89aa779ce1a5c565d960d24ef2d2d36e97a.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1lbpv7k3a8svqvh92h2xlw0ibzvbvpwq-openttd-nml-0.6.1
ls -la /nix/store/1lbpv7k3a8svqvh92h2xlw0ibzvbvpwq-openttd-nml-0.6.1/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.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

openttd-nml

Maintainer pings
cc @ToxicFrog for testing.

@ofborg eval


Supporting chrono

chrono is one of the top 100 most depended on crates, and the most popular datetime library for Rust. It needs more support to revamp the API, answer open design questions and work towards a stable release.
@quodlibetor How could we best support chrono? I've got a few notes I thought I'd just drop in to get the ball rolling. A lot of this might've already crossed your mind!
There are some simple things we could put in place in preparation for more maintainers coming on board, like setting up a dedicated gitter channel, and maybe bors.
Would you like some more input from the community on where current deficiencies are and what a stable chrono should look like? Would you prefer to cover the design space yourself more before looking for input? I think the RFCs repo you set up is great :+1:
A library evaluation using the API Guidelines as a checklist might not be very useful right now if the API is going to change a lot, but having that place for active and unstructured design discussion could be really worthwhile at just about any stage of your revitalisation effort.
It looks like we've got some idea of where chrono is now and where chrono should end up which should be really helpful for framing an evaluation/design thread (whatever shape that would end up taking). Perhaps we could flesh that out into some concrete RFC with a rough roadmap first?
Does anyone have any other thoughts?
I'm really excited to see chrono get some dedicated maintainership again! Thanks @quodlibetor for taking it on!

So, I have read @quodlibetor's notes, but I'm not quite sure where technical discussions should take place at the moment. Should there also be a tracking issue at the chrono repository? Or perhaps the new RFC repository? I'm a bit confused about what belongs in which repository, since according to the latter, we are invited to "open tickets / PRs, no matter how minor". I suppose that only major suggestions to the crate would require an RFC, right? :)
I agree that a gitter channel would be useful, as it often leads to a faster exchange of ideas without making issues too noisy.

For long term planning or just brainstorming I think I would prefer putting that in the RFCs repo. And yes you should feel free to open any tickets you want in there.
I'll create a gitter channel as well. I'm imagining treating the RFCs repo as sort of a forum, for now, to work around the lack of better channels. I'm open to ideas for better channels -- I'm concerned that creating a tag for chrono in urlo would be too noisy for people there, but I would welcome the extra input if people think that would be reasonable. I'm also open to other ideas.
I purposefully left my planned solutions out of my notes document so that people would feel free to propose their own, without thinking that the plan is figured out. So: any kind of brainstorming ticket would be fine there. I would prefer to keep chrono itself focused on current issues: bugs, PRs, support, etc.


Match any subdomain in KEYS_REGEX

Pinterest uses region-specific subdomains eg uk.pinterest.com which breaks the matching.

Bad PR, will resubmit.


Sealed Secret (NoteTaker)

Title and Issue number

Front-end Project: NoteTaker (Sealed Secret) [gssoc23]
Please add the tag of gssoc23.
Close #2024

Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

https://github.com/pranjay-poddar/Dev-Geeks/assets/111726483/26bafe1e-5e64-4380-a208-e13033c3013d

@MohitGupta121 @pranjay-poddar Please review this PR.

@MohitGupta121 Please review this PR. I have made all the changes requested by you.


Install Script Should Perform a Pre-Check to Confirm App Files Are Available

To the best of our abilities at least. We should check for several core directories present, as well as inquisition.py. This will prevent the user from accidentally transferring their entire working directory instead of the app files to /opt/inquisition/ when they run the install script from a non-local dir.

Duplicate of Issue #73


cabana: use different surface format for chart and cameraview

@pd0wm does this fix the opengl issue on mac?

It segfaults on startup:
tools/cabana/_cabana --demo
services  std::vector(can, roadEncodeIdx, carParams, wideRoadEncodeIdx)
loading route  "4cf7a6ad03080c90|2021-09-29--13-46-36"
load route 4cf7a6ad03080c90|2021-09-29--13-46-36 with 11 valid segments
seeking to 0 s, segment 0
loading segment 0...
connecting to stream 0, was connected to 0
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 0 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
Starting listener for: camerad
[1]    87891 segmentation fault  tools/cabana/_cabana --demo


Improve perf of calculating WIs in iteration

We're seriously wasting time in calculating numbers of work items in
iterations by ignoring the fact that we're in a space. @pbergene gave
me a dump of slow queries this morning and while I was looking for
something completely else I noticed this piece:
 "Query Text": "SELECT iterations.id as IterationId, count(*) as Total,\
\    \    \    count( case fields->>'system.state' when 'closed' then '1' else null end ) as Closed FROM \\"work_items\\" left join iterations\
\    \    \    on fields@> concat('{\\"system.iteration\\": \\"', iterations.id, '\\"}')::jsonb WHERE (iterations.space_id = $1\
\    \    \    and work_items.deleted_at IS NULL) GROUP BY IterationId",

This query is so slow (~55 to 60ms) that and it appears so often that
the log of slow queries is cluttered with this.
This change is supposed to address this by limiting the number of work
items that are queried to the current space. Also the counting is
simplified by using PostgreSQLs FILTER expression (see
https://www.postgresql.org/docs/9.6/static/sql-expressions.html).
No functionality should have been changed which is why all the test
should continue to work as expected.

Ike Plugins (test-keeper)
Thank you @kwk for this contribution!

It appears that no tests have been added or updated in this PR.
Automated tests give us confidence in shipping reliable software. Please add some as part of this change.
If you are an admin or the reviewer of this PR and you are sure that no test is needed then you can use the command /ok-without-tests as a comment to make the status green.
For more information please head over to official documentation. You can find there how to configure the plugin.

[test]

/ok-without-tests

@kwk This is something very interesting
postgres@localhost:postgres> SELECT iterations.id as IterationId, count(*) as Total, count(*) FILTER (WHERE fields->>'system.state' ILIKE 'closed') AS Closed FROM
                             "work_items" left join iterations on fields@>
                             concat('{"system.iteration": "', iterations.id, '"}')::jsonb WHERE
                             (work_items.deleted_at IS NULL) GROUP BY IterationId;
Time: 0.561s
postgres@localhost:postgres> SELECT iterations.id as IterationId, count(*) as Total, count(*) FILTER (WHERE fields->>'system.state' ILIKE 'closed') AS Closed FROM
                             "work_items" inner join iterations on fields@>
                             concat('{"system.iteration": "', iterations.id, '"}')::jsonb WHERE
                             (work_items.deleted_at IS NULL) GROUP BY IterationId;
Time: 0.053s

I ran the above query on a database with 337 Iterations and 1330 workitems. We should be inner join instead of left join unless there is good reason to use the later.

I ran the above query on a database with 337 Iterations and 1330 workitems. We should use inner join instead of left join unless there is good reason to use the later.

Thank you @jarifibrahim for this thorough review.I only saw the potential to clean up a small thing but this looks really good.

Thank you @jarifibrahim for this thorough review.I only saw the potential to clean up a small thing but this looks really good.

Yes yes. I just tried something and thought I should share the results.


wiki suggest [not an issue]

just a suggestion :)
perhaps a section in the wiki for "homebridge plugins using this library" for developers to be able to see your package in action and look at existing code to help them implement it in their own package.
This would have been a good resource for me!
Ben

This is publicly available via the NPM page for all package's managed by NPM under the "Dependants" tab.  A total of 107 packages leverage fakegato history.
https://www.npmjs.com/package/fakegato-history

Sure as i said it was just a suggestion :)


[ALLUXIO-2818] Temporarily disable MasterFaultToleranceIntegrationTest for now

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/14647/
Test PASSed.


test(PR): This PR is only for checking some test cases.

build

build

build

closing this PR, since it was only for checking testcases.


Tools Dropdown Menu doesn't show after installation

Laravel Version: 5.5.*
Voyager Version: 1.0
PHP Version: 7.0.22
Database Driver & Version: mysql 14.14

Description:
After installing Voyager, the Tools Dropdown menu is not in the sidebar.
Steps To Reproduce:

Install Voyager
Log in in the admin section.

Just pushed a fix for that in v1.0.4.  Please make sure you're on that version


[7.x] fix mysql schema for srid (point)

As described in #31543 if a migration add a column of type POINT using the SRID parameter and also uses the after modifier, the generated SQL is invalid.
Steps to reproduce:
Schema::create('test', function (Blueprint $table) {
    $table->bigIncrements('id');
});

Schema::table('test', function (Blueprint $table) {
    $table->point('location', 4326)->after('id');
});

Expected SQL:
alter table `test` add `location` point not null srid 4326 after `id`;

Actual SQL:
alter table `test` add `location` point not null after `id` srid 4326;

When adding modifiers, the Grammar base class iterates over the $modifiers array and processes them in other:
https://github.com/laravel/framework/blob/7.x/src/Illuminate/Database/Schema/Grammars/Grammar.php#L144-L161
This PR, moves the 'Srid' modifier sooner in the MySqlGrammar's $modifier array, so it is processed before the relevant modifiers.
I added two tests:

one to check syntax using the SRID without the after modifier
one to check syntax using the SRID with the after modifier

As this is a bugfix and version 6.x is LTS I will send another PR to the 6.x branch

No need to submit a PR for 7.x separately.

Ok, sorry. Thanks for the heads up.


This commit:

adds FromUserRecordLDAPGroupMembershipStrategy (refer to:
https://github.com/jenkinsci/ldap-plugin/tree/master/src/main/java/jenkins/security/plugins/ldap);
fixes cases when rootDN is empty and needs to be inferred;
fixes trivial code style nits.

Hi, this seems to be a non-trivial change, please review and advise.
Thanks.

Hi, thank for your PR.
I merged your code into my test environment and builded image.
Added startup parameter to the file (docker-compose.yml).
....
LDAP_GROUP_MEMBERSHIP_STRATEGY: FromGroupSearchLDAPGroupMembershipStrategy
LDAP_GROUP_MEMBERSHIP_SEARCH_FILTER: (& (cn=users) (objectclass=posixGroup))
....
When jenkins started, the following error occurred.
....
SEVERE: A thread (Thread-7/54) died unexpectedly due to an uncaught exception, this may leave your Jenkins in a bad way and is usually indicative of a bug in the code.
groovy.lang.MissingPropertyException: No such property: ldap_groupSearchFilter for class: ldap
....
When I modified the startup parameters to another setting, the error log is the same.
....
LDAP_GROUP_MEMBERSHIP_STRATEGY: FromUserRecordLDAPGroupMembershipStrategy
LDAP_USER_RECORD_ATTRIBUTE_NAME: memberOf
....
....
SEVERE: A thread (Thread-7/54) died unexpectedly due to an uncaught exception, this may leave your Jenkins in a bad way and is usually indicative of a bug in the code.
groovy.lang.MissingPropertyException: No such property: ldap_groupSearchFilter for class: ldap
....
Is there a problem with my startup parameters?
Thanks.

Hmm.. Everything looks normal and I've not any idea in my mind so far.
Intuitively the problem comes from the ldap groovy file. Is there any chance to check that file?

hi, I found the cause of the problem.
The startup parameters are modified as follows:
....
LDAP_GROUP_MEMBERSHIP_STRATEGY: FromGroupSearchLDAPGroupMembershipStrategy
LDAP_GROUP_MEMBERSHIP_SEARCH_FILTER: (& (cn={0}) (objectclass=posixGroup) )
....
Thanks again for your PR.

Hi @objectkuan
Thanks a lot for the contribution.


AppIntro causes Kotlin projects to fail compile

asdfasdf

AppIntro Version: v5.0.1

Device/Android Version: N/A

Issue details / Repro steps / Use case background: Adding AppIntro v5.0.1 library to a project with other libraries with the same module name 'library' causes the following compile error:
More than one file was found with OS independent path 'META-INF/library_release.kotlin_module'

NOTE: the 'library' in library_release.kotlin_module is the cause of this issue
Adding the following to my project would make the error go away, but would bust Kotlin function extensions (not a good option):
packagingOptions {
    exclude 'META-INF/main.kotlin_module'
}

To fix this properly either rename your module 'library' to something unique.  Or do what some open source Kotlin libraries projects do: Change the module name during compile by adding the following to the 'library' build.gradle file:
    android {
        compileOptions {
            kotlinOptions.freeCompilerArgs += ['-module-name', "$POM_ARTIFACT_ID"]
        }
    }

NOTE: $POM_ARTIFACT_ID should be replaced by your unique name or place the
following in the 'library' gradle.properties file:
POM_ARTIFACT_ID=my-unique-name

Your Code:
implementation 'com.github.paolorotolo:appintro:v5.0.1'

Stack trace / LogCat:
More than one file was found with OS independent path 'META-INF/library_release.kotlin_module'

@paolorotolo how do you fell about renaming the library module to appintro? I'd generally go for this alternative.

Solved in latest commit. I'm keeping this open until it's released in production, which will be tomorrow with a new AppIntro version.

New version is out. Thanks again.

I just verified the fix... works like a champ!  Thanks for the quick fix!

i still got this error .

I'm getting this error in v5.1.0 and non of above solutions solved it.

@behiunforgiven Can you provide a sample project that fails to compile on your side?

I init a new project with support library version 28.0.0. and add AppIntro v5.1.0 and it builds with no error.
but when I want to deploy to device, error comes out.

Reopening this for more investigation

@behiunforgiven @viet97 @jeffdcamp Is this still happening?

I have now been building successfully with v5.1.0 (my issue was resolved with the v5.1.0 release)


TP11 changes

Please verify my changes

@rapatchi,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Address links

Also adds the ADDRESS col name to the sidebar and capitalizes the rest too:

One small comment, I see that the table headers for the ongoing auctions are in CAPS. Let's set district headers in CAPS too, what do you think?

Good idea! didn't realize.
Changing now

Updated! and fixed status being the only header with font-weight bold on the sidebar header (from master v):


Marketplace Configuration Enablement

We want to make it so that someone launching OpenMinter is able to accurately configure what they wish to be available in the marketplace in their instance. In this case, the admin would be choosing which contracts are included in their instance, or it would include any of their originated contracts.
Journey

Launch and configure own instance of OpenMinter
Marketplace page by default has no listed assets but instead an "enable marketplace" button that displays a number of toggles
The launching party has the ability to include the base minter contract if they do wish to
The launching party is then able to select either already-existing contracts that they've created, or an option that enables the marketplace to pick up on any of their owned contracts
Once launched, visitors are able to see assets for sale only from those specific contracts, and if the instance allows open creation of assets, those cannot be included in the marketplace if they're made in a non-designated contract.

Initial version handled via #406 with release of v0.7.0 - additional options and improvements to occur in later releases.


Backward direction of text promt autocomplete

Implemented backward direction of text prompt autocomplete.
When press Tab + Shift, console offer previous value of choices list.

Merged! Thank you for your contribution. Much appreciated! 👍


Need to show Options of few more Optimized codes in terminal

I think , Packadge should give some more options in a table (as Each solution is applicable for each different use-case)

For some usages it is easier to determine what the user should do in terms of using another data structure, but for some other use cases it is necessary to allow a variety of options. In the next release, I will be taking a look at the current implementations, but new suggestions related to data structures part of the built-in collections package, will be added.

Thanks. That feature willl certainly boost the product 👍


Added team learning day calendar.

Added team learning day calendar.
Removed all user learning day calendar.
Added seeded semi-random generated colors for each users events.
Added temporary color test for checking with different monitors.

Color test:

 Team learning day calendar


Preview feature feedback: connectOrCreate

Please share your feedback about the preview feature connectOrCreate that was released in v2.1.0 in this issue.

If you encounter a bug, please open a bug report in this repo.
If the feature is working well for you, please share this in a comment below or leave a 👍 on this issue.

If you have any questions, don't hesitate to ask them in the #prisma2 channel in the Prisma Slack.

connectOrCreate seems to be working great overall - we ran into an issue when it's trying to connectOrCreate on an intermediate table, see https://github.com/prisma/prisma/issues/3612. One of my friends has also been able to replicate this bug on his own machine.

Should it be possible to connectOrCreate two fields at the same time?
I seem to get a error when doing the following...
const connectOrCreateUpload = {
  connectOrCreate: {
    where: { id: "myid" },
    create: {
      id: "myid",
      name: "blah blah blah",
    },
  },
};

prisma.asset.create({
  data: {
    uploads: {
      ...connectOrCreateUpload,
    },
    uploadMain: {
      ...connectOrCreateUpload,
    },
  },
});

Query interpretation error. Error for binding '9': AssertionError("[Query Graph] Expected a valid parent ID to be present for a nested connect on a one-to-many relation.")

@homerjam Yes that should be possible. I will look into it.

I tried connectOrCreate for a single attribute over the weekend. It worked, I like it, and I wished a similar feature existed at the top level CRUD. :taco:

connectOrCreate is stable now.


Add EDMFX subgrid-scale mass flux

Purpose

Adds subgrid-scale mass flux for EDMFX
Closes #1708
To-do

[ ] Add momentum flux (we can also do it in a separate PR if it's not clear how to add it)

Content

Add total energy and moisture flux
Add a flag for edmfx sgs flux

[ ] I have read and checked the items on the review checklist.

@dennisYatunin @charleskawczynski what did I do wrong with allocation 😕

I think I know. Let me try.

bors r+


Start drafting license decision text

There are three files on this review, the first two are minor changes agreed with Luke, the main review is for a first draft of the license text.


Dead links to training resources

In section https://docs.microsoft.com/en-us/azure/machine-learning/team-data-science-process/predictive-maintenance-playbook#training-resources-for-predictive-maintenance
The links

Learning Path for PdM using Trees and Random Forest
Learning Path for PdM using Deep Learning

only lead to the main page of the AI school. I cannot find these resources anywhere.

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

ID: d464be99-8698-32d2-e0be-a971279614f5
Version Independent ID: 089635f2-41b6-463a-8a07-90e7cda3c8d1
Content: Azure AI guide for predictive maintenance solutions - Team Data Science Process
Content Source: articles/machine-learning/team-data-science-process/predictive-maintenance-playbook.md
Service: machine-learning
Sub-service: team-data-science-process
GitHub Login: @marktab
Microsoft Alias: tdsp

@dbartz Thanks for spotting this. I think the learning paths for these two links are not available on aischool anymore. The current list of learning paths for AI and Data science courses have details on predictive experiments and deep learning which could help.
@marktab Could you please review these links and update if required?

@dbartz  and @RohitMungi-MSFT
I see what this list intention was -- I will be taking a look at the entire list, and reorganizing based on what has become important for 2021 in our corporate messaging.  We have an internal list that I will be drawing from (and only putting on the webpage what is externally available):  https://microsoft.sharepoint.com/teams/WWCMachineLearning/SitePages/ML-University.aspx
Look for a suggestion next week.

Edits at https://github.com/MicrosoftDocs/azure-docs-pr/pull/154151

My edits will be merged with public repo upon next update

Thanks @marktab for taking care of this.
@dbartz  thanks for making this report. Marks' updates are published to the live site. Please check those links. I'll #please-close this issue.
If you feel that your documentation issue has not been resolved, feel free to open a new issue with additional information. Thanks!


feat: 新增日志打印控制台组件

Fixes #375

Proposed Changes

新增日志打印控制台
新增ToolTipUtil
新增GetScreenUtil

Readiness Checklist
Author/Contributor

[x] If documentation is needed for this change, has that been included in this pull request

Reviewing Maintainer

[x] Label as either enhancement, bug, documentation or dependencies
[x] Verify design and implementation

Please test this in smc.

todo


fix: types for trackPerformance function

I ran into a typescript issue when trying to use trackPerformance from @patternfly/pfe-core.

Here is the example project showing how I was using the trackPrerformance.
https://github.com/heyMP/pfe-2.0-demos/blob/master/src/track-performance.ts

Thanks I patched this on branch with you in the Co-Authored-By


bfgs with approximate numerical gradient?

Hi,
Is it possible to perform bfgs without known the explicit expression of the derivative? In other words, derivatives are approximated numerically.
Thank you,
Tao

There's a numerical gradient method here:
https://github.com/kthohr/optim/blob/master/include/misc/numerical_gradient.hpp


setup.exe

The file that actually sets up hackbgrt is missing from the files i downloaded. it goes README.dm then Splash usally it has the README.dm setup.exe then splash but, The setup one is not visable in the file

Most probably your defender/antivirus has removed the setup.exe file as soon as you extracted the zip . You can restore the file from the antivirus/defender software itself


Collapse component closing instantly

components: UncontrolledCollapse
reactstrap version 4.8.0
react version 16.8.4

I am trying to use the "UncontrolledCollapse" component from Reactstrap and have got issues, having it closing instantly on toggle.
`    import React from 'react';
import {Button, UncontrolledCollapse, Card, CardBody, CardImg, CardText, CardTitle, Col, Collapse, Container, Row,} from 'reactstrap';
import '../../../../css/index.css';
import '../../../../css/container.css';
import header2 from '../../../../assets/images/header2.png';
import ars from '../../../../assets/images/ars_occitanie.png';
export default class SectionTwo extends React.Component {
constructor(props){
super(props);
}
render() {
    return (

            <Container className={'second-container-set'}>

                    XXX

                <Row>
                    <Col xs="4">

                            <Card>

                                <CardImg top width="50%" src={ars} alt="ARS"/>

                                <CardBody>
                                    <CardTitle className={'second-titre'}>Agence Régionale de Santé Occitanie</CardTitle>
                                    <UncontrolledCollapse toggler='#toggler'>
                                    <CardText>XXXXX</CardText>
                                    </UncontrolledCollapse>
                                </CardBody>
                                <Button color="primary" id='toggler' style={{ marginBottom: '1rem' }}>
                                    En savoir plus
                                </Button>
                            </Card>

                    </Col>
                </Row>
            </Container>

    );
}

}`

Are you sure that the version of reactstrap noted above is accurate? It doesn't seem like UncontrolledCollapse or CardBody were available components in 4.8.0.

I was wrong, I'm using the last version of Reacstrap at the moment, 7.1.0. Have got the same bug with Collapse component in Navbar (responsive mode)

I think this issue would still benefit from having some added details and replication steps.
Do you mean UncontrolledCollapse in Navbar?
I tried testing a few different versions locally on an old project to see if I could replicate. I could not replicate in Safari (12.0) or Firefox (66.0.5) for Mac at all. It wasn’t until I tried toggling Chrome’s device toolbar, selected the “iPhone 6/7/8” option, and then refreshed that I finally saw the issue described here.
For reference, I tried testing w/ the version of React noted above (16.8.4) and could replicate for reactstrap version 7.1.0 and 8.0.0. What is interesting is that this issue does not occur when switching to another simulated device, like “Galaxy S5” in the device toolbar. Not clear to me if this is an iPhone specific issue or simply how Chrome simulates iPhone. I would periodically get the following console message when I replicated the issue:  [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/5093566007214080
@ValentinDelpy, could you confirm if my testing results above align with or differ from your own experience?

Hi sorry, had a lot of work and only came back on this recently. I got the same issues as you do. I'm using Opera (and made it test by other people on other browsers), and it happens for me whenever I get to the responsive-mobile format (when the Collapse appears). I don't know what's the origin, but I need to fix these components I'm using in my navbar


libjemalloc.so.2: cannot allocate memory in static TLS block.

Hello!
I having some trouble getting cl-rocksdb working with Jemalloc 5.3.0.  When using the stock version from the Arch Linux repo it fails with the following error:
To load "cl-rocksdb/test":
  Load 1 ASDF system:
    cl-rocksdb/test
; Loading "cl-rocksdb/test"
..............[1/3] System 'cl-rocksdb/test' found. Loading the system..Aborted during step [1/3].
Unhandled LOAD-FOREIGN-LIBRARY-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                                  {10010881B3}>:
  Unable to load foreign library (ROCKSDB).
  Error opening shared object "librocksdb.so":
  /usr/lib/libjemalloc.so.2: cannot allocate memory in static TLS block.
--snip--

This issue describes same problem and was solved via the --disable-initial-exec-tls  config option. Compiling Jemalloc with --disable-initial-exec-tls enabled gives a new and much shorter error:
To load "cl-rocksdb/test":
  Load 1 ASDF system:
    cl-rocksdb/test
; Loading "cl-rocksdb/test"
..............
Running test suite LOW-LEVEL-SUITE
free(): invalid pointer
fatal error encountered in SBCL pid 223476 tid 223476:
SIGABRT received.

   0: fp=0x7fd0e3a95c40 pc=0x7fd0e3b1e8ec Foreign function (null)

If anyone had any pointers how to proceed I'd be much obliged.

I had the same problem when I used Garuda Linux. I couldn't fix.

I built this Dockerfile for testing/debugging.
 Is there any easy way?

my naive understanding of this issue is that calling dlopen with jemalloc is generally ill-advised - I'm on arch, pretty sure I just compiled rocksdb from source and didn't have any issues. If there's something wrong with jemalloc it can be disabled with the ROCKSDB_DISABLE_JEMALLOC option https://github.com/facebook/rocksdb/issues/5787#issuecomment-608283999 but this requires a custom PKGBUILD or to compile from source - I would check in the AUR to see if there's a dlopen-friendly distribution. or if you really need rocksdb from pacman and jemalloc sounds like building jemalloc from source with that config option would be the best way.

@oolonc Does a custom PKGBUILD work for you?


Added device_class to switch to support better UX

This PR is a followup from:

https://github.com/home-assistant/home-assistant/pull/17866
https://github.com/home-assistant/architecture/issues/97
https://github.com/home-assistant/home-assistant/pull/17657

Description:
Switch in Home Assistant is very generic, can be Outlet, Coffee Maker, Custom Integration (template) etc. Because we miss this context data, some integrations are not as good as they might be.
Adding device_type to the switch component allows us for example:

Improve UX on frontend, similarly to the binary_sensor
Improve integration with various third-party software, like Google Assistant or HomeKit

This PR adds:

device_type to various switches,
configurable device_type for generic switches like template switch
Better integration with Google Assistant, passing device type based on switch. This enables better expressions, like make me a caffe.

Next steps:

Refactoring of HomeKit types to device_class  https://github.com/home-assistant/architecture/issues/97#issuecomment-433729810

Related issue/feature request:

New component - Outlet

Pull request in home-assistant.io with documentation (if applicable):

home-assistant/home-assistant.io#7160
home-assistant/developers.home-assistant#134

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io
[x] Documentation added/updated in developers.home-assistant

Any ideas why https://travis-ci.org/home-assistant/home-assistant/jobs/452570152#L1162 fails?

@balloob any news about this? It's open for almost a month now with no response. Should I resolve the conflicts or just close this MR?

Should try re-syncing your dev branch to dev from upstream and then merge local:dev into your current branch. Resolve the conflicts and run the tests.

Architecture issue was never concluded so we shouldn't consider this PR just yet. https://github.com/home-assistant/architecture/issues/97#issuecomment-436240185
After architecture issue concludes, we should update the developer docs.
We are not going to have our device classes be guided by the available ones in Google Assistant.


BrokenPipeError: [Errno 32] Broken pipe

as we all know, adb server is not always stable.
and after restart adb, pyminitouch did not back to normal.

fixed in 0.3.3
at the most of time, this issue can be solved by restarting adb server.


change nets graph theory backend to pathfinding

pathfinding crate appears to be a better fit for the necessities of this project, over petgraph
https://docs.rs/pathfinding/latest/pathfinding/

custom fix


RFE: Support configuration to map image references to different sigstore deployments

Description
There are cases where using the public Sigstore deployment is not an option, e.g. privacy concerns. Some organizations may opt to provide their own Sigstore deployment. Verifiers must then choose which Sigstore deployment to use when verifying an image, cosign initialize ....
Although that workflow works ok, it becomes increasingly difficult to use as the number of Sigstore deployment increases.
I propose a solution that encodes which deployment to be used based on configuration. For example:
[deployments.default.tuf]
mirror = "https://tuf-repo-cdn.sigstore.dev"

[deployments.default.rekor]
url = "https://rekor.sigstore.dev"

[deployments.acme-corp.tuf]
mirror = "https://tuf-repo.acme-corp.io"

[deployments.acme-corp.rekor]
url = "https://rekor.acme-corp.io"

[[matchers]]
image_ref = "registry.acme-corp.io/*"
sigstore_deployment = "acme-corp"

[[matchers]]
image_ref = "*"
sigstore_deployment = "default"

Before performing a verification, cosign (and friends) would consult this file to initialize the tuf root as needed. Of course, this would have to be done in a concurrency-safe manner.

How do you see this being consumed by a verifier? A verifier doesn’t know the URL of the signing service in most cases because verification should be entirely offline. In that case, a verifier would need to explicitly note which TUF environment they trust, which you could also do by reinitializing the local TUF repo.
One way this could be implemented is merging all targets across TUF repos, but this gets a bit complex with verification policies - do you allow verification with targets across multiple TUF repos for a single verification?
Also related, there is a TUF proposal, https://github.com/theupdateframework/taps/blob/master/tap4.md, which is related to this idea of searching across repos.
If you wanted to explore this more, could you make a post on the clients slack channel or open an issue in Sigstore/sig-clients?
Cc @jku @kommendorkapten if yall have thoughts on this as well

Are you aware of SigningConfig that was recently added to protobuf specs:  https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_trustroot.proto#L150
SigningConfig seems to be solving parts of this ("how can the user configure half a dozen urls? How do we ensure this is not a complete usability mess that will lead to broken client configurations?"). The idea as I see it is:

the client config is now just the tuf repository URL -- allowing tuf and rekor to be selected separately is just asking for misconfiguration
the TUF repository contains not just the trust root (trusted_root.json) but also signing config (signing_config.json) which the client can use to bootstrap itself. Signing config is the repository specific configuration that is not going to change per user

Comparing SigningConfig and your idea:

I think you don't cover all of the little things that a client really needs to use different deployment (see SigningConfig fields)
The "matchers" are not covered by SigningConfig --  this does seem neat and solves the problem of "how to avoid having to choose the deployment every time" . It seems like a completely container image specific solution though

Also related, there is a TUF proposal, https://github.com/theupdateframework/taps/blob/master/tap4.md, which is related to this idea of searching across repos.

TAP4 is about using multiple TUF repositories at the same time... but we really only want to download the correct trusted_root.json for this situation: you don't need to use multiple repositories at the same time for that. User just needs a way to choose the repository at runtime


Update Catch to v2.13.9

Cf. #2945
I applied the patch (cf. 4568e47efc)
@@ -15064,15 +15064,17 @@

     ReusableStringStream rss;
     rss << std::setprecision( precision )
-        << std::fixed
+        /* << std::fixed */
         << value;
     std::string d = rss.str();
+#if 0
     std::size_t i = d.find_last_not_of( '0' );
     if( i != std::string::npos && i != d.size()-1 ) {
         if( d[i] == '.' )
             i++;
         d = d.substr( 0, i+1 );
     }
+#endif
     return d;
 }

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#2975
@pazner
@tzanio
@tzanio + @jandrej
4/25/22
⌛due 5/9/22
⌛due 5/16/22

PR Checklist

[ ] Code builds.
[ ] Code passes make style.
[ ] Update CHANGELOG:

[ ] Is this a new feature users need to be aware of? New or updated example or miniapp?
[ ] Does it make sense to create a new section in the CHANGELOG to group with other related features?

[ ] Update INSTALL:

[ ] Had a new optional library been added? If so, what range of versions of this library are required? (Make sure the external library is compatible with our BSD license, e.g. it is not licensed under GPL!)
[ ] Have the version ranges for any required or optional libraries changed?
[ ] Does make or cmake have a new target?
[ ] Did the requirements or the installation process change? (rare)

[ ] Update continuous integration server configurations if necessary (e.g. with new version requirements for each of MFEM's dependencies)

[ ] .github
[ ] .appveyor.yml

[ ] Update .gitignore:

[ ] Check if make distclean; git status shows any files that were generated from the source by the project (not an IDE) but we don't want to track in the repository.
[ ] Add new patterns (just for the new files above) and re-run the above test.

[ ] New examples:

[ ] All sample runs at the top of the example source file work.
[ ] Update examples/makefile:

[ ] Add the example code to the appropriate SEQ_EXAMPLES and PAR_EXAMPLES variables.
[ ] Add any files generated by it to the clean target.
[ ] Add the example binary and any files generated by it to the top-level .gitignore file.

[ ] Update examples/CMakeLists.txt:

[ ] Add the example code to the ALL_EXE_SRCS variable.
[ ] Make sure THIS_TEST_OPTIONS is set correctly for the new example.

[ ] List the new example in doc/CodeDocumentation.dox.
[ ] If new examples directory (e.g.examples/pumi), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add example-specific documentation, see e.g. the src/examples.md.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] In examples.md, list the example under the appropriate categories, add new categories if necessary.
[ ] Add a short description of the example in the "Extensive Examples" section of features.md.

[ ] New miniapps:

[ ] All sample runs at the top of the miniapp source file work.
[ ] Update top-level makefile and makefile in corresponding miniapp directory.
[ ] Add the miniapp binary and any files generated by it to the top-level .gitignore file.
[ ] Update CMake build system:

[ ] Update the CMakeLists.txt file in the miniapps directory, if the new miniapp is in a new directory.
[ ] Add/update the CMakeLists.txt file in the new miniapp directory.
[ ] Consider adding a new test for the new miniapp.

[ ] List the new miniapp in doc/CodeDocumentation.dox
[ ] If new miniapps directory (e.g.miniapps/nurbs), add it to MINIAPP_SUBDIRS in the makefile.
[ ] If new miniapps directory (e.g.miniapps/nurbs), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add miniapp-specific documentation, see e.g. the src/meshing.md and src/electromagnetics.md files.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] The miniapps go at the end of the page, and are usually listed only under a specific "Application (PDE)" category.
[ ] Add a short description of the miniapp in the "Extensive Examples" section of features.md.

[ ] New capability:

[ ] All new public, protected, and private classes, methods, data members, and functions have full Doxygen-style documentation in source comments. Documentation should include descriptions of member data, function arguments and return values, template parameters, and prerequisites for calling new functions.
[ ] Pointer arguments and return values must specify whether ownership is being transferred or lent with the call.
[ ] Any new functions should include descriptions of their intended use e.g. for internal use only, user-facing, etc., along with references to example code whenever possible/appropriate.
[ ] Consider adding new sample runs in existing examples to highlight the new capability.
[ ] Consider saving cool simulation pictures with the new capability in the Confluence gallery (LLNL only) or submitting them, via pull request, to the gallery section of the mfem/web repo.
[ ] If this is a major new feature, consider mentioning it in the short summary inside README (rare).
[ ] List major new classes in doc/CodeDocumentation.dox (rare).

[ ] Update this checklist, if the new pull request affects it.
[ ] Run make unittest to make sure all unit tests pass.
[ ] Run the tests in tests/scripts.
[ ] (LLNL only) After merging:

[ ] Update internal tests to include the new features.

Thanks for double-checking that!

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

Merged in next for testing...


updated robomongo (0.9.0-rc7)

Changes to a cask
Editing an existing cask

[x] Commit message includes cask’s name (and new version, if applicable).
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.

In particular RoboMongo shows no collections, more details here: https://github.com/paralect/robomongo/issues/938

Thank you for the contribution. It needed some fixes, so they were made in 92b8f900b43c2f8e692e5b2bb607298a02bb87c1. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.


Fetch cluster stats, simplify n_mnodes calculation.

This adds fetching of _cluster/stats, then calculates n_mnodes as the sum of master_only and master_data node counts. Would it be correct to do it this way?

That looks okay to me; only concern would be compatibility with old versions of the API.


update_all not working when query contains join in 3.8

Environment

Elixir version (elixir -v): 1.13.3
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.): MySQL 8.0.23
Ecto version (mix deps): 3.8
Database adapter and version (mix deps): myxql 0.6.1
Operating system: Mac OS 12.3

Current behavior
from(
  c in Case,
  inner_join: cl in assoc(c, :client),
  on: cl.client_group_id == ^client_group.id,
  where: c.state_name in ^[:in_progress]
)
|> Repo.update_all(set: [plan_type_id: 1])

Result: {0, nil}
Expected behavior
Result: {1, nil}
Extra
So, we use update_all in a lot of places. But the code that fails after updating Ecto to 3.8 is the one with the inner_join. We can fix it by reversing to 3.7.2.

@pierot can you please compare the SQL query being emitted?

@josevalim
3.7.2
UPDATE `cases` AS c0, `clients` AS c1 SET c0.`plan_type_id` = 1750 WHERE ((c1.`id` = c0.`client_id`) AND (c1.`client_group_id` = 9206)) AND (c0.`state_name` IN ('in_progress','suspended','new'))

3.8
UPDATE `cases` AS c0, `clients` AS c1 SET c0.`plan_type_id` = 9215 WHERE ((c1.`id` = c0.`client_id`) AND (c1.`client_group_id` = 1752)) AND (c0.`state_name` IN ('in_progress','suspended','new'))

The value for plan_type_id (9215) is switched with the one in the condition for client_group_id (1752).

@pierot can you please try ecto_sql master? Then if it works I will cut a new release ASAP.

It now returns ** (MyXQL.Error) (1054) Unknown column 'c1.id' in 'where clause'.

@pierot you are right. That was not the correct fix. Can you please try ecto master instead? (not ecto_sql).

@josevalim
{:ecto_sql, "~> 3.7"},
{:ecto, git: "https://github.com/elixir-ecto/ecto.git", branch: "master", override: true},

Using this fixes the issue. Thanks!

v3.8.1 is out.


Icon: Updated handle icon

Adjusted the aesthetic of the handle icon to get more visually distinct.

Can you also run the following?
https://gestalt.pinterest.systems/iconography_and_svgs#Custom-SVG-icons


[API-CLIENT][FEAT] Update and add new dataset types

Summary
The goal for this PR is to update some dataset types
I need keys in the Dataset type to develop the new export page.
(Internal for Opendatasoft only) Associated Shortcut ticket: 🏴☠
Changes
The main update involves the OdsDataset interface, where we’ve removed the optional keys. Having a 'partial' object didn't make sense. For more details, refer to this Slack message.
Additionally, I introduced new sub-types for OdsDataset, such as OdsDatasetAlternativeExport, OdsDatasetAttachment, and OdsDatasetField.
I also created a new constants file to expose values like ODS_DATASET_FIELD_TYPE.

[x] Description is complete
[x] Commits respect the Conventional Commits Specification
[x] 2 reviewers (1 if trivial)
[ ] Tests coverage has improved
[ ] Code is ready for a release on NPM

@5k4nd Can you please tell me why I see difference of keys between the document and actual data return by the API when catalog datasets?

links is in the documentation but not in data
alternative_exports is not in the documentation but is in data

@5k4nd Can you please tell me why I see difference of keys between the documentation and actual data returned by the API when I fetched catalog datasets?
* `links` is in the documentation but not in data

* `alternative_exports` is not in the documentation but is in data

Hello @KevinFabre-ods, the doc may not be up-to-date indeed.
The HATEOAS links are now hidden by default since the Explore API v2.1, and you can make them appear using the include_links REST param (e.g. API call). Links will be available in a separate _links object in the JSON root, and all objects will also have a _links sub-object.
As for alternative_exports, it is actually in the data, maybe your're missing something? e.g. API call

@5k4nd
Thanks for the explanation about the links, I'll update the code accordingly.

As for alternative_exports, it is actually in the data, maybe your're missing something? e.g. API call

Yes, I said it was in the data but can't find it in the documentation

Yes, I said it was in the data but can't find it in the documentation

Ah, sorry, I take the point for the doc then, thanks 👍

@etienneburdet I made some change here to add the optional _links key.
Also I changed a bit of naming and updated types:

ApiDatasets renamed into ApiCatalog
OdsRecord renamed into OdsDatasetRecord
ApiRecords renamed into ApiDatasetRecords

ApiCatalog and ApiDatasetRecords now use the ApiQuery type under the hood as they are a standard way of fetching data thought the generic query system.
Impact:
For our platform, only the ApiQuery type is used. Impact should be limited and some of them could be replace by ApiCatalog
However I don't know how these types are used in our client applications (cc @fpassaniti ). We should make available a release not to explain the change.
Also, I suggest to release a beta version to test this change first in Platform.
@etienneburdet What do you think

@KevinFabre-ods here are the usages for Alim'Confiance

And for Frais et local

@KevinFabre-ods here are the usages for Alim'Confiance

And for Frais et local

If I understand correctly, it should be ok for us

Ok thanks, so you don't import api-client TS types, so these projects should be fine

@etienneburdet your last round of comments have been taken in consideration in https://github.com/opendatasoft/ods-dataviz-sdk/pull/259/commits/66f4cf29f2488e9855f82bec1f0d9657fed285d8

@etienneburdet your last round of comments have been taken in consideration in 66f4cf2

All good for me 🚀


Bugfix/fix eesiz and eenum mixup

This PR fixes:

A mixup of EESIZ and EENUM in put_empty_eeprom_station(). If EESIZ != EENUM empty stations get written with the wrong length.
Debug logs are formatted and written into sbuf without checking the buffer's length. If the log message is longer than sizeof(sbuf) the program exits. Using vsnprintf solves that. I also changed the dbgprint so that logging is a litte bit easier.
EEPROM.begin is initialised with the wrong size. Add EEPROM_SIZE and use it in EEPROM.begin(EEPROM_SIZE)

Other Changes:

Add DEBUG_ESP_RADIO to enable/disable logging
Add DEBUG_BUFFER_SIZE
Add several forward declarations (I require them)

Thank you for you remarks.  I have include your "dbgprint" change and fixed the EEPROM bugs.  I will still use 64 bytes for an EEPROM entry.


Feature/scrolling with keyboard opened

This PR purpose is providing the fix for #34.
The keyboard stays opened during suggestions scrolling on tablets and on phones in portrait mode. It's closed on phones in landscape mode.
This PR contains as well:

demo adjustments to test this functionality
fix for making suggestions visible also in landscape mode
some code improvements

Hi @jakubkrolewski ,
I am looking at your PR, and it's very big. It looks like you have added and organized a lot of stuff so I can't pull everything in right away. I need to review every change and see if it fits with the focus of this library. It would be better (and much easier for me) if PRs are more focused at solving/adding one thing, there is nothing wrong about requesting multiple PRs for different issues or improvements.
From a brief review of your code, it looks like you added some stuff that I would definitely want to merge into the library, but again, it's very high risk to pull in such a large PR at once.
What you can do is to close this PR and re-submit more cohesive PRs for each problem/improvement. For example, cleaning up code would be one, adding a feature (in your case the scrolling with keyboard opened  that I am very interested in btw), etc. It's not a burden for me if you add as many PRs as you feel you need.
Many thanks for contributing,
Ari


JS class properties are sorted alphabetically

https://www.npmjs.com/package/eslint-plugin-sort-class-members

Are you sure? JS classes are not my "daily bread", but AFAIK you'd usually put getters/setters/helpers first, private methods before public ones, etc. But I don't have a strong opinion on this.


Scope of "7 PRs at once"

Depfu.com says

We drip-feed you updates if you're behind, but never open more than 7 PRs at once to not overwhelm you.

I was wondering about the scope of this claim. Is it per day? Per repository? Or maybe per GitHub account, so I might miss out on updates if I don't pay attention those 7 open PRs in that one company repository nobody actually cares about anymore :wink:

Hi @leoarnold
The PR limit is per repo, or if you have multiple folders or languages in the same repo the limit is scoped to those. So you can happily ignore certain parts, and will still get new PRs in active repos. Also security updates will always ignore the PR limit.
Does that make sense?

@theflow Absolutely, matches my intuitive associations, thanks!


EC2 Right Size labs update

Updated screenshots and lab steps for both 100/200 right sizing labs
included AWS Computer Optimizer lab on 200 lvl lab

Thank you again for your contribution and for requesting the lab update! We are working on updating the W-A Lab on contributing to labs to better outline the contribution format for larger scale changes and new labs.
There's 3 main edits/feedback we have on your changes
1.Formatting and review -


Make quality configurable (Output video compression)

Platform: Darwin Lukass-MacBook-Pro-3.local 16.6.0 Darwin Kernel Version 16.6.0: Fri Apr 14 16:21:16 PDT 2017; root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64
Kap Version: <IP_ADDRESS>
Steps to reproduce
Current behaviour
The video and audio quality is not configurable.
Expected behaviour
Provide options for bit rate for video an audio in the preferences
Workaround

Kap currently outputs an uncompressed video. We'll look into compressing video output optionally.

ok, great!


wasm-tools: 1.202.0 -> 1.205.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/bytecodealliance/wasm-tools/releases.
meta.description for wasm-tools is: Low level tooling for WebAssembly in Rust
meta.homepage for wasm-tools is: https://github.com/bytecodealliance/wasm-tools
Updates performed

Rust version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.205.0 with grep in /nix/store/nr2pgl75f1db724vgxbyirglrmn12s7x-wasm-tools-1.205.0
found 1.205.0 in filename of file in /nix/store/nr2pgl75f1db724vgxbyirglrmn12s7x-wasm-tools-1.205.0

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

wasm-tools

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/nr2pgl75f1db724vgxbyirglrmn12s7x-wasm-tools-1.205.0 \
  --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 wasm-tools https://github.com/r-ryantm/nixpkgs/archive/a519f3d72a0df2edd543b85b61bc88204ab784be.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/a519f3d72a0df2edd543b85b61bc88204ab784be#wasm-tools

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/nr2pgl75f1db724vgxbyirglrmn12s7x-wasm-tools-1.205.0
ls -la /nix/store/nr2pgl75f1db724vgxbyirglrmn12s7x-wasm-tools-1.205.0/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.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

wasm-tools

Maintainer pings
cc @ereslibre for testing.

Result of nixpkgs-review pr 306600 run on x86_64-linux 1

1 package built:

wasm-tools


[LiveComponent] Module not found: "./assets/bootstrap.js" contains a reference to the file "@symfony/ux-live-component".

Today I updated my app to Symfony 5.3.11, and I also updated symfony/ux-live-compoment (currently at revision e382fc0). Doing this triggered this error in my ci/cd pipeline when running yarn encore dev:
Module build failed: Module not found:
"./assets/bootstrap.js" contains a reference to the file "@symfony/ux-live-component".
This file can not be found, please check it for typos or update it if the file got moved.

I am not very good at frontend technology, but I managed to work around this problem by changing the line
import LiveController from '@symfony/ux-live-component';

in assets/bootstrap.js by
import LiveController from '@symfony/ux-live-component/dist/live_controller';

I doubt this is a correct solution. But I'm not sure either if I found a bug, or if something is wrong in my webpack-configuration.
Anyway, I've reported the problem, maybe it's of some use :-)
Thanks for providing this cool technology; keep up the good work!

Hey @johanv!
Thanks for the report - and for testing the bleeding edge :). We've just reworked our build system - I bet this is a bug related to that. I'll check into it.
Cheers!

All fixed now :)


"Dispatcher processing has been suspended, but messages are still being processed."

Microsoft PowerToys version
0.68.1
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
PowerToys Run
Steps to reproduce
typed in "HIB" for hibernate
✔ Expected Behavior
hibernate to come up
❌ Actual Behavior
"Something went wrong."
Other Software
2023-03-21.txt

/dup #18166


Add webdevops exporters

Add apprelease-exporter
Add azure-devops-exporter
Add azure-keyvault-exporter
Add azure-metrics-exporter
Add azure-resourcemanager-exporter
Add azure-scheduledevents-exporter
Add pagerduty-exporter
Add public-holiday-exporter

Thanks for your PR. This is quite a lot of exporters to review at once, and at first glance at least three of them seem to duplicate other exporters either already on this list or other integrations known within the ecosystem. They all also seem to be collecting information independently of scrapes.
Can you explain what each of these are? For example I don't believe there's any piece of software called "apprelease". Why are the various Azure exporters split out this way?

apprelease-exporter
Exporter for GitHub releases/tags and Docker repositories. The goal is to export new releases of applications and also attach CVE/CVSS metrics for each release.
More systems (eg. GitLab) are planed.
azure-devops-exporter
Exporter for CI/CD/Issue tracking system Azure DevOps (previously known as VSTS/TFS). Used to fetch builds,releases,agentpool,... metrics and alert if eg. releases are failing or the agentpool is overloaded.
azure-keyvault-exporter
Exporter for Azure KeyVaults and their content (eg. created, expired dates). Used eg. for alerting for expiry of secerts, keys and certificates.
The Azure KeyVault API is a different from the other APIs so it's an own exporter, also for security reasons.
azure-metrics-exporter
Exporter for Azure Insights metrics and LogAnalytics which uses the official Azure SDK and is only configured using Prometheus scrape config (except service principal connection).
This exporter can scape one target or using Azure resource filter to scape multiple targets at once (eg. all Redis instances in one resourcegroup or in the whole subscription).
azure-resourcemanager-exporter
Exporter for Azure inventory (uses same labels as azure-keyvault-exporter and azure-metrics-exporter, can be coupled for alerting), uses official Azure SDK.
Can be used for metrics exporter to get more informations about the resource or to get an overview about the inventory.
azure-scheduledevents-exporter
Exporter for maintenance annoucements from Azure Metadata API (forced VM freezes, restarts and redeployments). Need to be deployed on each VM or in each AvailabilitySet to get alerts about upcoming Azure ScheduledEvents. Talking directly to the MetaData API without the need of a service principal.
Alerting for upcoming restarts/redeployments (downtime of a VM).
pagerduty-exporter
Exporter for PagerDuty incidents, schedules and teams. Used for eg. showing the current oncall person in Grafana and overview about active incidents. Uses official PagerDuty SDK.
public-holiday-exporter
Exporter for public holiday for services which should not generate alerts when there is a public holiday (eg. telematics and logistics). Uses API at https://date.nager.at/.
Especially the Azure exporter are only covering one job as some jobs are already very huge (eg. azure-metrics-exporter or azure-resourcemanager-exporter). Each exporter is one API.
Some exporters are using own scraping in the background as it can take very long to fetch all information and to optimize given ratelimiting or to avoid overloading of the remote system.

Starting with the ones that are easier for me to review:

public-holiday-exporter

I don't think this should be listed as this does not provide useful metrics, there's no sane way to use a dump of holidays with the dates in labels and historical changes in label values with PromQL. There's also other solutions in this space like https://github.com/roidelapluie/prometheus-timezone-holidays by @roidelapluie
If you exposed timestamps when holidays started/ended, or a bool indicating if there was a holiday currently in progress, for a country/region that'd be more useful and something that could be listed. The number of labels would also need reducing, things like the launchYear are only going to get in the way when this is used to filter alerts. A separate set of info metrics would be a better way to cover this.

azure-metrics-exporter

We aim to avoid duplicates in this list, to encourage the community to work on one good exporter rather than everyone creating a new one from scratch every few months. This duplicates the azure exporter already listed. If there's features that one is missing please work with the maintainers of that exporter (which happens to be me in this case). Replacing an existing listing is generally only done when the existing one is abandoned, the community has rallied around a different integration and/or the new one is substantially better in terms of following best practices.
I'm also wondering where you're keeping the secrets here, and if you're indeed using azurerm_resource_metric for all metrics. The Azure metric name would be a better choice.

Some exporters are using own scraping in the background as it can take very long to fetch all information and to optimize given ratelimiting or to avoid overloading of the remote system.

The primary way to control that is to adjust the scrape interval. Only when you're getting up to minutes for the majority of users should caching/independent scrape intervals be considered, it's a last resort rather than something you do on day one.

apprelease-exporter

In the readme releax -> reduce
apprelease_project_docker_release should have the unit as a suffix on the metric name.
What sort of alerts are you writing on all of these? Generally an exporter is to provide data for graphing/alerting, not to dump arbitrary databases into Prometheus.
apprelease_project_docker_release_cve should have the unit in the name, which is _cvss. The metric is also nothing to do with docker, as it's general CVE information. Consider moving the non-identifying labels to an _info metric.
The name of this exporter doesn't make it obvious what it does as "apprelease" is not a application. This will need a brief comment so someone browsing the list would have an idea of how it'd be useful.
You're silently ignoring API errors, which can result in partial and/or old data. If you don't have full consistent data, then you should fail the scrape. The writing of the cache files is not atomic, write to a temporary file and then rename. Data collection and scraping are not thread safe.

azure-devops-exporter

This takes a secret on the command line, which is not safe security practice.
With a 30m scrape interval, I wonder how useful this can be in terms of metrics. Metrics should be realtime, otherwise they're not of much use and you may aswell look at the service itself for up to date data rather than complicating and delaying things by passing the data through Prometheus. Everything should use the same scrape interval, and given that's 30s then the collection should be all synchronous.
Are you sure it's both wise and necessary to do concurrent API requests?
Having to use label_replace in your query examples indicates that you labelnames aren't quite right. label_replace and friends are a stopgap while you get the instrumentation fixed to use consistent labels.
This also does not appear to be threadsafe, which synchronous collection and ConstMetrics will resolve for you.
maxParallelism is presumably a number, so should be a metric rather than a labelname. Prometheus can't do maths on labelnames. provisioningState, enabled, status, and hasAssignedRequest also sound like they should be metrics as I presume they change over time for a given agentpool.
id is not a great label name on azure_devops_workitem_data, there's a high chance it'll clash and it's too generic to tell me what it is. Something like workitem would be better. All those dates should be metrics.
Similarly on azure_devops_repository_stats type is a label name to avoid.
azure_devops_repository_commits - this is a gauge, not a counter. Commits can go backwards, and I would presume you care about the absolute number rather than the rate of increase. Similarly with others.
https://github.com/webdevops/azure-devops-exporter/blob/66ae6991de051332a63f3ed8c6a8e0edf44f3c6b/collector_structs.go#L75 - I am confused by these 3 functions. Why would you need to bulk-set/increment childs by the same value?
azure_devops_stats_agentpool_builds_wait - don't forget your units.


Route away from experimental to 1.0

I would like us to consider what would it look like where we are no longer experimental and can cut a release a 1.0.
Aspects to consider...
Do we have API stability? Are we performing conformance tests? Are we aligned with the protobuf client spec?
cc the codeowners:
@flavio
@arsa
@viccuad
@Xynnn007

cc'ing correct @asraa
+1 to integrating with the conformance suite - https://github.com/sigstore/sigstore-conformance#usage. Right now, there aren't many tests, but as we add more tests, this makes it easy to detect if a breaking change occurs for the client.
Also I would recommend producing and consuming bundles from https://github.com/sigstore/protobuf-specs. sigstore-python and sigstore-js should have examples of doing this.

Would it also make sense to add FFI so other languages can interface?

For the protobuf-specs: it looks like https://docs.rs/protobuf/latest/protobuf/ is the most mature protobuf implementation layer for Rust.

To summarize discussions in the community meeting and Slack, here's my understanding of the current blockers for a 1.0 release of the Rust client:

[ ] Some degree of integration with the conformance testing suite
[ ] Support for the protobuf-specs formats, including the Sigstore bundle format

Are there other things I'm missing here? If not (and assuming it's okay with @lukehinds and the other maintainers here) I can begin assigning some people to work on these 🙂

I have used the library quite a bit and did some internal modifications over the last months, and I have some (opinionated) feedback. I think the API can still be improved before being stabilized. I found workaround for most of my issues, but I think others might be less willing to do so.
Cosign API

I feel like some parts of the Cosign API are too "low level" and unclear about what is being verified.

trusted_signature_layers: I think this function could be removed from the public API, because it is somewhat confusing and it is not obvious what it does.
verify_constraints: I think this function could be moved into the the CosignCapabilities trait and replace trusted_signature_layers as part of the public API. The parameters could be a mixture of both. The name could be changed to something similar to the verify_blob* methods.
Is it the user's/OCI client's task to verify that image data and signature are consistent? The way I understand it, I can only assume the actual image data is authentic, if I'm fetching it with a reference that contains the digest and the OCI client ensures image data is consistent with the manifest.

Blob verification

I think the verify_blob* methods could use a variant that supports Fulcio based certificates + verification constraints.
Does it make sense to have verify_blob* methods for both bundle and raw signatures?
Does it make to use an enum for the 'verification key source' for public key, certs and Fulcio, instead of having functions for each?

Rekor API

I think adding a RekorClient could be useful to store the Rekor configuration, and as a wrapper for the API calls. This would not require a breaking change.
I think the API module structure could be flattened because the Rekor API isn't too big anyways. A RekorClient could be used to address this.
A lot of the Rekor data is encoded in some way during in the JSON models. In my opinion this is kind of annoying to work with. It is possible to use the serde_with crate to automatically decode a lot of these. E.g. decoding B64 signatures directly into a Vec<u8>.
In general, a lot of the structs can be modified to provide a better DX by using more serde features related to enum tagging an such. Though I'm not sure if this is desired because it would require some changes and be quite a change from the generated API bindings. Also I'm not sure if this is compatible with the protobuf specifications, as I'm not familiar with them.

Overall API
Does it make sense to split the crate into several subcrates? The way I understand it, this could improve development compile times, because it avoids having to recompile all the serde models for each minor. Though I'm unsure about this.
Future Features
Log proofs:

The way I understand it for now there's no support for inclusion proof, consistency proof and checkpoint/STH verification. Will these be added? I think adding them might be a breaking change depending on where they are added.
Thought, I'm not sure if running an inclusion proof in addition to verifying the SET would give a security advantage, as there is no gossiping.
Note: I have already implemented these for myself, and plan to create a PR for this.

Thanks for your feedback @vembacher!
I'm in favor of stabilizing the API before moving forward with the 1.0 release.

Cosign changes: please, file some issues describing the changes to the API that you described. I'm in favor of them, but I need to see how that would impact the code I know about that is already using them
Rekor changes: I haven't been too much involved with this part of the code. I have the impression that maintaining the models is time expensive, see this comment and this issue

As for splitting the crate into subcrates, I'm not 100% sure about that. I think the changes above have a higher priority

@vembacher I would like to see inclusion proof verification be a requirement of clients. The bundle format defines this as optional currently, but I've proposed making this a requirement in https://github.com/sigstore/rekor/issues/1566.
For consistency proofs and gossiping, this is not something that has been implemented in any Sigstore client yet. We could implement consistency proof verification in clients, but this requires clients to keep state (the previous checkpoints) (Note that I'm not opposed to implementing this as an optional feature for those who do want to, but I don't think it should be a requirement).
If we instead rely on a network of witnesses that compute consistency proofs, we get two benefits: Trusted witnesses verify consistency and handle state, and witnesses can distribute co-signed checkpoints to prevent split-view attacks. Witnesses would push co-signed checkpoints to a set of "distributors" - This is similar to gossiping, except witnesses do not gossip with one another, which makes witnesses far more lightweight. The operational burden is just on distributors, which Sigstore and community members can operate. See https://github.com/transparency-dev/witness/tree/main/cmd/omniwitness for an example.
The end goal is a strong offline proof of inclusion that bundles co-signed checkpoints. For now, for a 1.0 for any client, I'd like to just see inclusion proof verification implemented.
This has been my area of focus, happy to chat more over in a Rekor discussion/issue or Slack if you'd like!

@flavio

Cosign changes: please, file some issues describing the changes to the API that you described. I'm in favor of them, but I need to see how that would impact the code I know about that is already using them

Will do as soon as I get around to it!

Rekor changes: I haven't been too much involved with this part of the code. I have the impression that maintaining the models is time expensive, see this comment and this issue

I agree, it definitely would increase required maintenance effort. I have already tried a lot of the changes for internal development, and if I remember correctly It took me a few hours to modify the models.
However, in my opinion it would be worth the reduced effort on the user side, but I can see why you might want to avoid this.
Maybe this can be avoided with the protobuf specifications? Do they require Hex/B64 (de/en)coding? The way I understand it this is mostly necessary because of JSON compatibility issues.

@haydentherapper

@vembacher I would like to see inclusion proof verification be a requirement of clients. The bundle format defines this as optional currently, but I've proposed making this a requirement in sigstore/rekor#1566.

I will look into this proposal, but if there is an ongoing effort to require inclusion proofs it definitely makes a lot of sense to contribute my implementation.

For consistency proofs and gossiping, this is not something that has been implemented in any Sigstore client yet. We could implement consistency proof verification in clients, but this requires clients to keep state (the previous checkpoints) (Note that I'm not opposed to implementing this as an optional feature for those who do want to, but I don't think it should be a requirement).
If we instead rely on a network of witnesses that compute consistency proofs, we get two benefits: Trusted witnesses verify consistency and handle state, and witnesses can distribute co-signed checkpoints to prevent split-view attacks. Witnesses would push co-signed checkpoints to a set of "distributors" - This is similar to gossiping, except witnesses do not gossip with one another, which makes witnesses far more lightweight. The operational burden is just on distributors, which Sigstore and community members can operate. See https://github.com/transparency-dev/witness/tree/main/cmd/omniwitness for an example.
The end goal is a strong offline proof of inclusion that bundles co-signed checkpoints. For now, for a 1.0 for any client, I'd like to just see inclusion proof verification implemented.

I will need to look more into this concept. I think this is somewhat similar to what I implemented, but I need to check this in more-depth as soon as I have the time to do so.
My approach used what I call "federated gossiping", basically monitors can operate a gossiping endpoint to which other monitors and auditors can send checkpoints bundled with inclusion and consistency proofs. On the active gossiping side you can choose the monitors you want to gossip with. Effectively building a network that propagates all checkpoints to all federated monitors. The protocol itself however is only a proof-of-concept for now, but I can definitely at least try to contribute the consistency proof implementation.
But I think my use case is slightly different to the "default" one, because I focused on Operational Technology use cases. So scenarios where logs are operated by the publisher and potentially private needed to be covered. So there's a much higher risk of split-tree-view attacks compared to using the public instance.

This has been my area of focus, happy to chat more over in a Rekor discussion/issue or Slack if you'd like!

I'd be glad to! Should I just ping you on the Sigstore Slack as soon I get around to it?

The design of witnesses and distributors differs in that witnesses are not addressable (distributors are) and there's not a O(N^2) fanout requiring every witnesses to gossip with other witnesses, which has been one of the major blockers for adoption of gossiping in CT.
Feel free to ping me on the Sigstore slack!
To summarize, for sigstore-rs 1.0, I'd propose inclusion proof verification be a requirement as per the about-to-be-updated bundle spec.

To summarize, for sigstore-rs 1.0, I'd propose inclusion proof verification be a requirement as per the about-to-be-updated bundle spec.

This makes sense to me -- I'll add it to our list of tasks.

For consistency proofs and gossiping, this is not something that has been implemented in any Sigstore client yet. We could implement consistency proof verification in clients, but this requires clients to keep state (the previous checkpoints) (Note that I'm not opposed to implementing this as an optional feature for those who do want to, but I don't think it should be a requirement).

FYI this is actually implemented in rekor-cli

Would https://github.com/theupdateframework/rust-tuf be usable for the TUF integration rather than https://github.com/sigstore/sigstore-rs/tree/main/src/tuf?

I was just curious if there's an estimated timeline for this? It's something I'm interested in using in production in the somewhat near future. Specifically looking to verify a signature bundle, including the Rekor inclusion.

I was just curious if there's an estimated timeline for this? It's something I'm interested in using in production in the somewhat near future. Specifically looking to verify a signature bundle, including the Rekor inclusion.

I don't believe there's currently a firm timeline here, unfortunately -- we've recently merged some upstream work (https://github.com/sigstore/protobuf-specs/pull/118) that'll unblock bundle signing and verification here, but I can't offer a firm timeline on when that'll get integrated here.

Would https://github.com/theupdateframework/rust-tuf be usable for the TUF integration rather than https://github.com/sigstore/sigstore-rs/tree/main/src/tuf?

This crate didn't exist when I added the TUF integration. The code is currently using https://github.com/awslabs/tough - which is a comparable client written and maintained by AWS (they use that as part of bottlerocket and maybe other production code).
I don't see any particular advantage in moving from the tough crate to rust-tuf

I think it would be nice to have https://github.com/sigstore/sigstore-rs/issues/307 done.

Is there DSSE support?  At a quick glance, I see references to the intoto type. Ideally we would migrate to uploading DSSE rekor entries.

@jleightcap - https://github.com/sigstore/sigstore-rs/issues/274#issuecomment-1698701976 mentioned the use of the AWS TUF library, I don't think this is a blocker unless AWS is not actively supporting the library.


fairseq-hydra-train: not found

🐛 Bug

i just install fairseq and pretrain with  cmd :   fairseq-hydra-train -m --config-dir /self-supervised-speech-recognition/config
--config-name wav2vec2_base_librispeech.yaml
but i get a bug which show   fairseq-hydra-train: not found
please someone good person help me !!!

check pip list and is there fairseq?
Then if you are on linux, use which fairseq-hydra-train and the console should tell you where it is.


Installation Script not completing

Lunar version: 0.1
Laravel Version: 9.32.0
PHP Version: 8.1.12
Database Driver & Version: mysql

Expected Behaviour:
Run through all installation steps and then perform default seeding.
Steps To Reproduce:
git clone repo
composer install
Set up env
php artisan key:generate
php artisan lunar:install
Actual Behaviour:
Only gets up to Importing Countries and States but doesn't actually import them. Script drops out.
Installing Lunar...

Publishing configuration...

 Config file already exists. Do you want to overwrite it? (yes/no) [no]:
 > no

Existing configuration was not overwritten

 Run database migrations? (yes/no) [yes]:
 > no

Importing countries
Importing Countries and States

Me being distracted and dim. Pls to ignore


Save plugin_type with full import path

CMSPlugin should save the full import path to identify a plugin instead of only the class name. This would prevent name clashes with more common names.
CMSPlugin.plugin_type:
current: "TopOffersPlugin"
proposed: "myapp.cms_plugins.TopOffersPlugin"   (or maybe just "myapp.TopOffersPlugin")

@stefanfoulis is this still relevant as of #3204?

yes. The problem still remains.

Changing this should be relatively simple. A database migration can update all the existing entries. It is very internal, so the vast majority of 3rd party apps should not be affected.
Anticipated problems:

existing fixtures
importer/exporter tools
...

@stefanfoulis apps like django-reversion would break and force users to recreate their revision history (that or update all json strings).

@czpython at least for django-reversion, we could update the reversion history table in the migrations as well. And we can implement it in a way that the old format still works and will be updated on next save. That would also take care of existing fixtures being loaded in.


Add RSS3 Value Sublayer

RSS3 Value Sublayer is an upcoming OP L2.
Close https://github.com/RSS3-Network/l2beat/issues/1

Hi,
Please make sure that CI checks are passing. Focus on build, test, format and lint. Try to run yarn lint:fix and yarn format:fix to automatically fix both of those problems.

Hi @mateuszradomski ,
It looks like 'purpose' is renamed to 'purposes' and is now strongly typed.
I've added two new purposes: AI and information.

moved to https://github.com/l2beat/l2beat/pull/2567


Add Worst Geometry dash beat Ever Created by Geoblitzy

Song Name
Worst Geometry dash beat Ever Created
Artist Name
Geoblitzy
Source
Youtube
Youtube Link
vWimk6Y15kE8
Direct File Link
No response
Song ID
12
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 428765

why did I do this shit

reject
you need to remove the watch?v from your link

Sorry I was late to responding but I fixed it dw


multipleOf not working on some numbers because of floating point calculation

Hi,
I need to check if a field is a multiple of 0.01 (this is supposed to be a currency amount in cents, so I would assume this is a common need).
The field definition is like so :
loanAmount: condecimal(ge=0.00,le=999999999999999.99, max_digits=17, decimal_places=2, multiple_of=0.01) = Field(...)
My problem is that the Validator for multipleOf fails with some numbers.
The current code in Validator.py casts everything to floats and make a division + modulo 1 :
def number_multiple_validator(v: 'Number', field: 'ModelField') -> 'Number':
    field_type: ConstrainedNumber = field.type_
    if field_type.multiple_of is not None:
        mod = float(v) / float(field_type.multiple_of) % 1
        if not almost_equal_floats(mod, 0.0) and not almost_equal_floats(mod, 1.0):
            raise errors.NumberNotMultipleError(multiple_of=field_type.multiple_of)
    return v

The problem here is that with some numbers, the acceptable delta of almost_equal_floats which is currently hard-coded as 1e-8 is not enough to cope with the floating point approximations. For example I've got the following results (which are probably dependant on my hardware) :
>>> float(Decimal('1236575.89')) / float(0.01) % 1
0.9999999850988388
>>> float(Decimal('1236575.89')) / float(0.01) % 1
0.9999999850988388
>>> float(Decimal('1236575.88')) / float(0.01) % 1
0.9999999850988388
>>> float(Decimal('1236575.87')) / float(0.01) % 1
1.4901161193847656e-08

As you can see, none of these fall into the 1e-8 delta.
I would suggest casting the values to Decimal type before doing the math.
This way if the incoming value and the multipleOf value are both Decimal (or even strings) types, we get rid of the floating point problems.
This would look like this :
def number_multiple_validator(v: 'Number', field: 'ModelField') -> 'Number':
    field_type: ConstrainedNumber = field.type_
    if field_type.multiple_of is not None:
        mod = Decimal(v) / Decimal(field_type.multiple_of) % 1
        if not almost_equal_floats(float(mod), 0.0) and not almost_equal_floats(float(mod), 1.0):
            raise errors.NumberNotMultipleError(multiple_of=field_type.multiple_of)
    return v

It would be useful to check if there are no corner-cases that break this code, but for our use cases, it clearly works better.
I can submit a PR if necessary.
Jerome

We've also just come across this issue using multiple_of to validate JSON with lat/lng fields accurate to 6dp.
+1 for supporting incoming Decimal or String types to avoid this problem.

We're experiencing the same issue on a very regular basis now, working with a specific set of floating point numbers. It seems latest Pydantic (currently 1.10.7) still suffers from this.
A minimal example
from pydantic import BaseModel, Field

class SomeModel(BaseModel):
    some_float: float = Field(multiple_of=0.0001)

if __name__ == '__main__':
    # Works, floating point value does not seem to be a 'magic number'
    SomeModel(some_float=118268.28)

    # Breaks, floating point value seems to be a 'magic number'
    SomeModel(some_float=18268.28)

Changing the model's field type from float to Decimal does not work either.

Basically changing code of utils.py
def almost_equal_floats(value_1: float, value_2: float, *, delta: float = 1e-8) -> bool:
    ...

to a different default delta value (like 1e-7 and doing a less precise comparison) solves the issue for the example given above:
def almost_equal_floats(value_1: float, value_2: float, *, delta: float = 1e-7) -> bool:
    ...

@samuelcolvin would it make sense to change that default in Pydantic or would it need some more advanced way to enforce correct multiple_of behavior?

Current solution here
let threshold = float / 1e9;


Update highlighting tests

Pull Request
Related issue
Fixes #1340
What does this PR do?

Update tests on results highlights to follow new formatting

Hi @curquiza @mdubus, it appears the Tests workflow is triggered instead of the Pre-Release Tests one.
As a result, tests are not run against Meilisearch's last version (v1.12.0-rc.3), and they are failing.
Do you know why this is happening?
Maybe it's because I initially targeted main instead of the bump-meilisearch-v0.12.0 branch?