🐛 [firebase_auth] WEB - on restart current user is NULL (emulator suite)

Bug report
You can use https://github.com/firebase/flutterfire/blob/master/packages/firebase_auth/firebase_auth/example/lib/main.dart
latest firebase tools, flutter version, running in OSX & chrome with connected emulators.
When you run in and authenticate -> you are moved to profile page.
If you now reload page, current user is NULL and authChanges trigger will only render NULL value.
Even if you change persistence to Local / IndexDB.

Thanks for the report @tomas-carv-com
I tried the example. Upon login and then on profile page, I hot restarted the app, it gave me the logged in user details properly as below:
User(displayName: Dantest test, email<EMAIL_ADDRESS>emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2022-01-07 11:09:02.000Z, lastSignInTime:
2023-01-02 11:43:02.000Z), phoneNumber: null, photoURL: https://lh3.googleusercontent.com/a/AATXAJxaO_5Y9F_fu4wXOaBjJJsDhdQAMQfTHvHDJZl4=s96-c, providerData, [UserInfo(displayName:
Dantest test, email<EMAIL_ADDRESS>phoneNumber: null, photoURL: https://lh3.googleusercontent.com/a/AATXAJxaO_5Y9F_fu4wXOaBjJJsDhdQAMQfTHvHDJZl4=s96-c, providerId: password,
uid: dantesttest74@gmail.com)],

That does not seem as emulator output. Issue is with web & emulator suite
On Tue, 3 Jan 2023 at 00:46, darshankawar @.***> wrote:

Thanks for the report @tomas-carv-com https://github.com/tomas-carv-com
I tried the example. Upon login and then on profile page, I hot restarted
the app, it gave me the logged in user details properly as below:
User(displayName: Dantest test, email: @., emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2022-01-07 11:09:02.000Z, lastSignInTime:
2023-01-02 11:43:02.000Z), phoneNumber: null, photoURL: https://lh3.googleusercontent.com/a/AATXAJxaO_5Y9F_fu4wXOaBjJJsDhdQAMQfTHvHDJZl4=s96-c, providerData, [UserInfo(displayName:
Dantest test, email: @., phoneNumber: null, photoURL: https://lh3.googleusercontent.com/a/AATXAJxaO_5Y9F_fu4wXOaBjJJsDhdQAMQfTHvHDJZl4=s96-c, providerId: password,
uid: @.***)],
—
Reply to this email directly, view it on GitHub
https://github.com/firebase/flutterfire/issues/10200#issuecomment-1368875222,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2FTFKVPY426FVGA5ECMW6LWQK523ANCNFSM6AAAAAATNME4WA
.
You are receiving this because you were mentioned.Message ID:
@.***>

I am unable to replicate this using auth emulator.

If you now reload page, current user is NULL and authChanges trigger will only render NULL value.

Can you provide relevant logs where it shows the current user as null upon hot restart ?

Can you also run flutterfire update to check if the Firebase packages are up to date?

I'm having same issue with firebase_core v2.4.1 and firebase_auth v4.2.4. The problem is when using Firebase Emulator Suite in Flutter Web, it somehow tries to validate current user on await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform), even before setting up emulators. So, it sends a POST request to https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=<key> and gets 400 error response.
Also, after this error all requests go to identitytoolkit.googleapis.com even though emulators are set, so it is impossible to login again. If initially no user is logged, then everything works fine, untill refreshing the page after signing in.
Code:
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);

await FirebaseAuth.instance.useAuthEmulator('localhost', 9099);
FirebaseFirestore.instance.useFirestoreEmulator('localhost', 8080);

Here is the developer tool log:

Could it be the issue is actually related with the native implementation of the firebase web (firebase.js)?

exact same problem happening with emulator and web. On hot restart and with any persistence currentUser is null. When I set the persistence and inspect the instance object the field _persistence is null so being it's never set or something.

@just7mile We're going to see how to solve this. The linked commit was done to have a consistent behaviour between mobile and web, but definitely missed this issue.
We'll going to fix this ASAP

I experience the exact same issue and Andrei pointed me to this bug when he helped me to investigate other issues (Thanks Andrei!)
@Lyokone, is there any update on this? The local development is blocked without this to be fixed. Thanks a lot!

Thanks for your update @Lyokone. We used Angular before switching to Flutter and the AngularFire counterpart works fine without issue. So, maybe we can adopt their approach in FlutterFire?
@arisAlexis,  I set up url in the ActionCodeSettings. Then, i copy and past the link returned by Emulator in the browser and hope that it will redirect to /#/profile to discover this issue. I also set a break point in main and confirm that redirect back to the app will call main.

As a workaround, you can force this version of the firebase_auth_web in the pubspec.yaml:
firebase_auth_web: 5.1.3

@Lyokone unfortunately, I tried but it doesn't work...
Resolving dependencies...
Because firebase_auth 4.2.5 depends on firebase_auth_web ^5.2.4 and no versions of firebase_auth match >4.2.5 <5.0.0, firebase_auth ^4.2.5 requires firebase_auth_web ^5.2.4.
So, because flutter_application_1 depends on both firebase_auth ^4.2.5 and firebase_auth_web 5.1.3, version solving failed.
pub get failed

@cupidchan try to downgrade the other ones too
The Git tag for that release is firebase_auth_web-v5.1.3:

firebase_core is set to ^2.3.0 for example.
firebase_auth is a relative path in there, it leads to 4.1.3 if we follow it

@cupidchan are you able to downgrade those too? Might be a bad path to take if there has been a lot of development done on them in the meantime of course. I don't use them myself so don't have much insight into those side effects
This was their version no in the repo at the time when the desired version of firebase_auth_web was tagged for release, but maybe you wouldn't have to go that far:
https://github.com/firebase/flutterfire/blob/firebase_auth_web-v5.1.3/packages/firebase_ui_auth/pubspec.yaml#L3
https://github.com/firebase/flutterfire/blob/firebase_auth_web-v5.1.3/packages/firebase_ui_oauth_google/pubspec.yaml#L3
https://github.com/firebase/flutterfire/blob/firebase_auth_web-v5.1.3/packages/firebase_ui_oauth_apple/pubspec.yaml#L3

I agree with you @purefundev, downgrading them to a "workable" version is way too much to tweak and hence I keep "bugging" @Lyokone and see if there is any update from the Firebase team to truly resolve this issue, which has been opened for a month now.

@Lyokone any luck to get in touch with the Flutter team?

@cupidchan We still haven't got back from them. I'll create a small branch for you to use that will be in sync with master, so it's easier to use with current versions of other plugins

Hi, any update on this?
I see the same as @cupidchan, because I am using firebase_ui_auth, which depends on the more recent (not yet fixed) firebase_auth, which also depends on (not yet fixed) firebase_auth_web.
Any tips would be appreciated, since firebase_ui_auth is a core part of our flow.

@Lyokone it's been a few weeks and the hot fix you put above relies on some conflicting dependencies. Can you please check what can make this fix sooner? Thanks!

Actually, I am seeing something worse.
When I first launch the app, FirebaseAuth is correctly communicating with the emulator, but after a a refresh, FirebaseAuth is now pointing at the production auth server (!!)
Here is what I did:

Create two identical users in both production and the emulator. (I used<EMAIL_ADDRESS>password: "test123" w/ email sign in)
Instruct the app to use the emulator in main()

  var initializeApp = await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );

  await FirebaseAuth.instance.useAuthEmulator('localhost', 9099);

Create a UI that:
a. Button to sign in the user above using the hardcoded credentials
c. Display the current user ID, or null.
Launch the app
Tap the button to log the user in

At this point, I correctly see the user ID from the emulator user.
Now, refresh the page, or hot reload the app.

The user shows as 'null'
Click the 'sign in' button again, with the same credentials
Observe that the User ID is the one from the production auth platform. (!!!)

Refresh or hot reload again, you'll notice that the the User ID is now preserved (the production user Id)
This is really scary, I hope someone can confirm what I am seeing, or otherwise point to a developer error.
Note I am using firebase_ui_auth: ^1.1.14, which currently depends on
firebase_auth: ^4.2.9
firebase_core: ^2.7.0

@cupidchan We still haven't got back from them. I'll create a small branch for you to use that will be in sync with master, so it's easier to use with current versions of other plugins
You can use the hotfix version of firebase_auth_web here:
  firebase_auth_web:
    git:
      url: https://github.com/firebase/flutterfire.git
      ref: hotfix/web-user-null
      path: packages/firebase_auth/firebase_auth_web

Additionally, this doesn't work for me. I get conflicting dependencies:
Resolving dependencies...
Because firebase_auth 4.2.9 depends on firebase_auth_web ^5.2.8 and no versions of firebase_auth match >4.2.9 <5.0.0, firebase_auth ^4.2.9 requires firebase_auth_web from hosted.
So, because *project* depends on both firebase_auth ^4.2.9 and firebase_auth_web from git, version solving failed.

If I put the hotfix into the override:
dependency_overrides:
  firebase_auth_web:
    git:
      url: https://github.com/firebase/flutterfire.git
      ref: hotfix/web-user-null
      path: packages/firebase_auth/firebase_auth_web

Then the app builds, but crashes on start.  Error: MissingPluginException(No implementation found for method Auth#registerIdTokenListener on channel plugins.flutter.io/firebase_auth)

@Lyokone this branch is out of sync with master, which doesn't have fixes for this issue https://github.com/firebase/flutterfire/issues/10478

I've updated the branch to be up to date with master. I have a meeting this week about this issue.

I've updated the branch to be up to date with master. I have a meeting this week about this issue.

That's great @Lyokone This has been a long standing issue and should have a proper closure as soon as possible. Please keep us posted here!

Pushed the fix here, you can try it early by using
  firebase_auth_web:
    git:
      url: https://github.com/firebase/flutterfire.git
      ref: fix/10200
      path: packages/firebase_auth/firebase_auth_web

I've been encountering the same issue and putting this fix into the dependency overrides seems to fix the error, as it no longer appears in the console, but some weird stuff still happens after verifying the user. The app is able to run and everything runs smoothly until the account is verified. A new user with no data is still created and is logged in. Errors no longer appear in the console though, which is odd, so I'm not entirely sure what's going on.
(BTW, if the fix is placed under "dependencies:", the following issues arise similar to those in previous messages.)
Resolving dependencies... Because no versions of firebase_auth match >4.2.5 <4.2.6 and firebase_auth >=4.2.6 <4.2.7 depends on firebase_auth_web ^5.2.5, firebase_auth >4.2.5 <4.2.7 requires firebase_auth_web ^5.2.5.
And because firebase_auth >=4.2.7 <4.2.8 depends on firebase_auth_web ^5.2.6 and firebase_auth >=4.2.8 <4.2.9 depends on firebase_auth_web ^5.2.7, firebase_auth >4.2.5 <4.2.9 requires firebase_auth_web ^5.2.5.
And because firebase_auth >=4.2.9 depends on firebase_auth_web ^5.2.8 and firebase_auth 4.2.5 depends on firebase_auth_web ^5.2.4, firebase_auth >=4.2.5 requires firebase_auth_web from hosted.
So, because flutter_application_1 depends on both firebase_auth ^4.2.5 and firebase_auth_web from git, version solving failed.

+1, @Lyokone, can you please check and see if there is any special setting is required to make this fix works? Thanks!

@mzhang150 I'm not sure about the bug you are describing. If it's not related to on restart the user being null, please open another issue.
@cupidchan You should add the dependency in the dependency_overrides section to make it work. You should not depend on the underlying package directly. It will probably be released today


Add missing pluginlib xml files

Fixes #22.

@bmagyar @Karsten1987 it seems the ros2_controllers travis is running against the crystal version of ros2_control:
https://travis-ci.org/ros-controls/ros2_controllers/jobs/653481872#L316
=== src/ros-controls/ros2_control (git) ===
Cloning into '.'...
Switched to a new branch 'crystal'
Branch 'crystal' set up to track remote branch 'crystal' from 'origin'.

@jordan-palacios I took the liberty to push on your branch to fix the additional travis repos. They were indeed still set to crystal. I further opened up a PR to not export the class loader header, which should avoid the boost error you're currently seeing in the travis output.

@bmagyar @Karsten1987 Thanks for the fixes. I think this is ready to merge.


New package: SeasonalStreamflowForecasts v0.1.0

Registering package: SeasonalStreamflowForecasts
Repository: https://github.com/petershintech/SeasonalStreamflowForecasts
Created by: @petershintech
Version: v0.1.0
Commit: e6f2dd24bc3defb8857280ad4149737a9610f174
Git reference: release-0.1.0
Release notes:

The first release version

Will rename the respository to SeasonalStreamflowForecasts.jl and submit a new PR. You can close this request.


repo:convert to template

Just convert the repository to a template

That is a good idea 💡

Done ✅

ty <3


Update the hessian matrix and the linear constraint matrix

I have seen in your C/C++ api that it is possible to update both the hessian matrix Pand the linear constraint matrix A using respectively  the osqp_update_P()  and the osqp_update_A() methods; however these functions assume that the sparsity structure of the matrices does not change.
If this assumption is no more satisfied is it possible to remove the old matrices and add the new ones?
I have seen in your repository that the linsys_solver struct depens on A and P matrices and more specifically the KKT matrix depends on the number of non zero entries in the A and P matrices (so the linsys_solver->update_matrices() method cannot be used for this purpose). Thus my idea is to deallocate the linsys_solver struct and instantiate it again with the new matrices.
...

// Free linear system solver structure
if (work->linsys_solver){
   if(work->linsys_solver->free){
      work->linsys_solver->free(work->linsys_solver);
    }
}

// Free old hessian and linear constraint matrices
csc_spfree(work->data->P);
csc_spfree(work->data->A);

// Allocate new matrices
work->data->P = csc_to_triu(newP);
work->data->A = copy_csc_mat(newA);

// Instantiate the solver
work->linsys_solver = init_linsys_solver(work->data->P, work->data->A,
		                         work->settings->sigma, work->rho_vec,
			                 work->settings->linsys_solver, 0);
...

What do you think about this approach?  Is there a better way to solve this problem?
Thank you in advance for any help you can provide.

The main idea why the nonzero elements of  P and A matrices can be updated without performing a new setup is that in this way we can avoid performing the complete KKT matrix factorization. This consists in two steps: a numeric and a symbolic factorization. If we change only the nonzero elements (and not the sparsity pattern) of the matrices P and A we can perform only the numeric factorization and thus:

Save computation time
Avoid dynamic memory allocations (useful for embedded applications)

If you need to change also the sparsity pattern of P and A a new factorization is required which is the most computationally demanding part of the setup phase and requires dynamic memory allocation. I suggest you to throw away the old workspace perform a new setup call in the case the sparsity pattern changes. This is basically as efficient as implementing custom of P and A update functions. Is there a particular reason why you cannot perform the setup again in your application?

First of all thank @bstellato for your prompt reply. There is no reason why I cannot perform the workspace setup again.  So I will follow your suggestion.

Great! Let let me know if you have any issues with that. I will close this for now.

Great! Let let me know if you have any issues with that. I will close this for now.

Hi @bstellato ,
I am very curious about whether the factorization can make use of multi-threading? Since in some scenarios, the factorization in the setup procedure takes up almost 50% of runtime. ^_^


The server-side Python kernel connection latency issue.

Environment data

VS Code version: 1.87.2
Jupyter Extension version (available under the Extensions sidebar): v2024.2.0
Python Extension version (available under the Extensions sidebar): v2024.4.0
OS (Windows | Mac | Linux distro) and version: Ubuntu 20.04.1 LTS (Focal Fossa)
Python and/or Anaconda version: Python 3.10.14, Miniconda 24.3.0
Type of virtual environment used conda
Jupyter server running: Remote

Expected behaviour
Run the Jupyter Notebook at once when I click the "Run All" button.
Actual behaviour
It takes a lot of time to connect the Python kernel

Steps to reproduce:

Create a new Jupyter Notebook at the EXPLORER (create a new file and name it as xxx.ipynb)
write some python code, such as "import pandas as pd"
click "Run All"
Tips:
This bug becomes more prominent when initially connecting to the server or when the notebook's laptop stays in sleep mode with the lid closed overnight and loses network connection. Sometimes, restarting VS Code or switching languages to trigger an automatic restart of VS Code can effectively solve this bug, but most of the time it does not work. I have considered whether it's an issue with the SSH connection, but that's not the case because I found that other functionalities work fine except that Jupyter Notebook fails to connect to the Conda environment correctly.

Please could you enable logging as follows:

Open settings & go into Jupyter->Logging
Change the value to verbose
Reload VS Code,
Attempt to repro the issue & then copy the output from the Jupyter output panel.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Add append_slice for GenericStringBuilder

Which issue does this PR close?

Closes #352.
Rationale for this change
Developer experience and perhaps performance.

What changes are included in this PR?
A new function append_slice(&mut self, value: &[u8]) is added to GenericStringBuilder

Are there any user-facing changes?
Only the new function, it's a non-breaking addition.
A test and simple docs are included.

Codecov Report

Merging #353 (48ff2e5) into master (488f826) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #353   +/-   ##
=======================================
  Coverage   82.56%   82.56%
=======================================
  Files         162      162
  Lines       44063    44069    +6
=======================================
+ Hits        36379    36386    +7
+ Misses       7684     7683    -1

Impacted Files
Coverage Δ

arrow/src/array/builder.rs
85.35% <100.00%> (+0.06%)
:arrow_up:

arrow/src/array/transform/boolean.rs
84.61% <0.00%> (+7.69%)
:arrow_up:

Continue to review full report at Codecov.

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

Alternatively I can turn this into append_slice_unchecked and create an append_slice which adds run_utf8_validation(...) -> Result<> like seen here, but since this is a builder, I'd prefer keeping it this way and adding an utf8 validation kernel later.

This is unsafe without an unsafe keyword. Rust assumes valid utf8 for all str and String values, consequently arrow assumes this as well.
If you want to create a &str from a slice without checking validity, you should use https://doc.rust-lang.org/std/str/fn.from_utf8_unchecked.html which requires unsafe code.
That &str can then be used in GenericStringBuilder::append. I don't think you should add an unsafe API for something that's already in the std library.

@ritchie46 thanks, it makes sense. I'll rework it a little bit.

@ritchie46 updated the API with correct name + unsafe, also added benchmark.
bench_string/bench_string
                        time:   [10.194 ms 10.259 ms 10.333 ms]
                        thrpt:  [1.1341 GiB/s 1.1423 GiB/s 1.1496 GiB/s]
bench_string/bench_string_slice
                        time:   [19.182 ms 19.303 ms 19.418 ms]
                        thrpt:  [617.98 MiB/s 621.68 MiB/s 625.59 MiB/s]
bench_string/bench_string_slice_unchecked
                        time:   [7.2051 ms 7.2217 ms 7.2388 ms]
                        thrpt:  [1.6189 GiB/s 1.6227 GiB/s 1.6265 GiB/s]

Checking with godbolt and criterion this is basically just a wrapper around from_utf8 and from_utf8_unchecked. In light of this I'm closing this PR, maybe the docs can be extended if needed.


Is there any way to delete story?

General Question
Read the Notes and fill out the form.
Switch to Preview for reading.
Notes
Your issue will be closed if you violate any rule below.

You need to include a meaningful descriptions and e.g. a screenshot.
You do not include screenshots of your code.
Read the Docs.
Capturing endpoints and similar can be found here
(read it if you are going to ask about it).
You can delete this section after reading it.

Form
Put an [x] if you meet the condition, else leave [ ].

[ x] I've searched the Issues
[ x] I've read the basic concepts
[ x] I'm using the latest version

Question
I have looked for a lot, however, couldn't find anything about deleting story and any issues about it. Is there any way to delete story?

Does real app has it?


MWPW-146743 Improve Article Header Performance

Made various updates to Article Header in order to reduce LCP on blogs:

Reduced network requests by pulling code from imports into file
Delayed placeholder code because it was non-critical
Only loaded taxonomy if necessary (which it isn't on bacom blog)
Removed await for build author so requests can be made concurrently

Resolves: MWPW-146743
Results (hlx.live testing):

Page Speed Index LCP: 0.7s reduction on bacom blog. No change on brand blog.
DevTools LCP Fast 3G, No CPU throttling: Avg 2.8s reduction on both blogs.
Incidental reduction in TBT for both blogs

Test URLs:

Before: https://main--milo--adobecom.hlx.page/drafts/methomas/blog-migration/article-header/connecting-external-data-sources-to-adobe-experience-manager-guides
After: https://perf-refactor-article-header--milo--adobecom.hlx.page/drafts/methomas/blog-migration/article-header/connecting-external-data-sources-to-adobe-experience-manager-guides

Bacom Blog:

Before: https://main--bacom-blog--adobecom.hlx.live/blog/the-latest/whats-new-at-adobe-summit-2024
After: https://main--bacom-blog--adobecom.hlx.live/blog/the-latest/whats-new-at-adobe-summit-2024?milolibs=perf-refactor-article-header

Brand Blog:

Before: https://main--blog--adobecom.hlx.live/en/publish/2024/05/21/lightroom-introduces-power-adobe-firefly-with-generative-remove
After: https://main--blog--adobecom.hlx.live/en/publish/2024/05/21/lightroom-introduces-power-adobe-firefly-with-generative-remove?milolibs=perf-refactor-article-header

To test invalid date: https://main--milo--adobecom.hlx.page/drafts/methomas/article-header-invalid-date


Consider using config for storing casbin configuration

As per https://github.com/fastify/fastify/blob/master/docs/Routes.md#options:
config: object used to store custom configuration.

I didn't even know it existed!

I didn't even know it existed!

@simoneb Also I didn't find a way to extend types for RouteOptions so that it would be aware of the new config values, maybe you know how?

@simoneb Also I didn't find a way to extend types for RouteOptions so that it would be aware of the new config values, maybe you know how?

If you mean extending a type described elsewhere, I'm not a ts guru but this is how I've done it in the past https://github.com/simoneb/axios-hooks/blob/master/test/axios.d.ts

If you mean extending a type described elsewhere, I'm not a ts guru but this is how I've done it in the past https://github.com/simoneb/axios-hooks/blob/master/test/axios.d.ts

@simoneb Well, in fastify-casbin there is already this:
declare module 'fastify' {
  interface FastifyInstance {
    casbin: Enforcer & {
      casbinJsGetPermissionForUser(user: string): Promise<string>
    }
  }
}

But
declare module 'fastify' {
  interface RouteOptions{
    casbin: boolean
  }
}

did not work for me, so I wonder if I do it wrong or extend the wrong type.

@simoneb Well, in fastify-casbin there is already this:
declare module 'fastify' {
  interface FastifyInstance {
    casbin: Enforcer & {
      casbinJsGetPermissionForUser(user: string): Promise<string>
    }
  }
}

But
declare module 'fastify' {
  interface RouteOptions{
    casbin: boolean
  }
}

did not work for me, so I wonder if I do it wrong or extend the wrong type.

From what I can see RouteOptions is exported from https://github.com/fastify/fastify/blob/master/fastify.d.ts#L143 and defined https://github.com/fastify/fastify/blob/b8122e24c3329c1a84f4fe0625743fe55286c11f/types/route.d.ts#L102. So I would think what you posted works, but maybe the generics are playing a part into why it is not working

From what I can see RouteOptions is exported from https://github.com/fastify/fastify/blob/master/fastify.d.ts#L143 and defined https://github.com/fastify/fastify/blob/b8122e24c3329c1a84f4fe0625743fe55286c11f/types/route.d.ts#L102. So I would think what you posted works, but maybe the generics are playing a part into why it is not working

@simoneb Apparently needed to extend RouteShorthandOptions.

@simoneb Apparently needed to extend RouteShorthandOptions.


fix: remove the installation bb step

fix: #22

Had the same issue i think the better approach would be a symbol link


Can't pip-install requirements-dev.txt

I wanted to just see what the generator does (and then possibly work on https://github.com/pthom/imgui_bundle/discussions/38#discussioncomment-4373476), but pip install -U -r requirements-dev.txt already fails. I know you're not expecting others to use this yet, but thought i may as well mention it here (though i guess technically what i paste below should be an issue in the litgen repo). This is what i got trying to pip-install:
(venv) C:\...\imgui_bundle>pip install -U -r requirements-dev.txt
Collecting litgen@ git+https://github.com/pthom/litgen
  Cloning https://github.com/pthom/litgen to c:\users\huml-dkn\appdata\local\temp\pip-install-sh6uf_z1\litgen_fdb59bc6d2154d2a9479d3c3384255e4
  Running command git clone --filter=blob:none --quiet https://github.com/pthom/litgen 'C:\Users\huml-dkn\AppData\Local\Temp\pip-install-sh6uf_z1\litgen_fdb59bc6d2154d2a9479d3c3384255e4'
  Resolved https://github.com/pthom/litgen to commit 432fb6b424bddf2c5dc838b58cb522226fb45dc0
  Running command git submodule update --init --recursive -q
  error: unable to create file hello_imgui_cmake/android/apkCMake/templates/sdl/gradle_template/app/src/main/java/org/libsdl/app/HIDDeviceBLESteamController.java: Filename too long
  error: unable to create file hello_imgui_cmake/android/apkCMake/templates/sdl/gradle_template/app/src/main/java/org/libsdl/app/HIDDeviceManager.java: Filename too long
  error: unable to create file hello_imgui_cmake/android/apkCMake/templates/sdl/gradle_template/app/src/main/java/org/libsdl/app/HIDDeviceUSB.java: Filename too long
  error: unable to create file hello_imgui_cmake/android/apkCMake/templates/sdl/gradle_template/app/src/main/java/org/libsdl/app/SDLAudioManager.java: Filename too long
  error: unable to create file hello_imgui_cmake/android/apkCMake/templates/sdl/gradle_template/app/src/main/java/org/libsdl/app/SDLControllerManager.java: Filename too long
  From https://github.com/pthom/imgui
   * branch              a08931272922462f8bd4afb52011f8b5bc6a6ebe -> FETCH_HEAD
  Unable to checkout 'c59ba4cf2659648c584dd354ab646811b4cc9aa7' in submodule path 'demos/litgen/imgui_bundle/external/hello_imgui'
  Failed to recurse into submodule path 'demos/litgen/imgui_bundle'
  error: subprocess-exited-with-error

  × git submodule update --init --recursive -q did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

and this is a well known git issue under windows (google git long path)

Ok, fixed with the first google hit :P. Next one:
Collecting litgen@ git+https://github.com/pthom/litgen
  Cloning https://github.com/pthom/litgen to c:\users\huml-dkn\appdata\local\temp\pip-install-6cn54fnu\litgen_7c71d7f44e9f4e37a1a1982ae20fb967
  Running command git clone --filter=blob:none --quiet https://github.com/pthom/litgen 'C:\Users\huml-dkn\AppData\Local\Temp\pip-install-6cn54fnu\litgen_7c71d7f44e9f4e37a1a1982ae20fb967'
  Resolved https://github.com/pthom/litgen to commit 432fb6b424bddf2c5dc838b58cb522226fb45dc0
  Running command git submodule update --init --recursive -q
  From https://github.com/pthom/imgui
   * branch              a08931272922462f8bd4afb52011f8b5bc6a6ebe -> FETCH_HEAD
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
  WARNING: Generating metadata for package litgen produced metadata for project name srcmlcpp. Fix your #egg=litgen fragments.
Discarding git+https://github.com/pthom/litgen: Requested srcmlcpp from git+https://github.com/pthom/litgen (from -r requirements-dev.txt (line 1)) has inconsistent name: filename has 'litgen', but metadata has 'srcmlcpp'
ERROR: Could not find a version that satisfies the requirement litgen (unavailable) (from versions: none)
ERROR: No matching distribution found for litgen (unavailable)

Hmm, i see that pthom/litgen actually forwards to pthom/srcmlcpp. So i just updated the requirements-dev.txt file.
That gets me to here:
Building wheels for collected packages: srcmlcpp, srcml_caller
  Building wheel for srcmlcpp (pyproject.toml) ... done
  Created wheel for srcmlcpp: filename=srcmlcpp-0.1.0-py3-none-any.whl size=613575 sha256=548a49c907bf7d799ce5738b5e8e02cc6b7854e609900f1e11e88cc4bc34d8a4
  Stored in directory: C:\Users\huml-dkn\AppData\Local\Temp\pip-ephem-wheel-cache-yu5eydfe\wheels\4c\fb\21\2cbb57b39f4b643cb14b59b7f54a4519e0e3c381cc4d608eed
  Building wheel for srcml_caller (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for srcml_caller (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [111 lines of output]

      --------------------------------------------------------------------------------
      -- Trying "Ninja (Visual Studio 17 2022 x64 v143)" generator
      --------------------------------
      ---------------------------
      ----------------------
      -----------------
      ------------
      -------
      --
      Not searching for unused variables given on the command line.
      -- The C compiler identification is MSVC 19.34.31935.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx86/x64/cl.exe - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- The CXX compiler identification is MSVC 19.34.31935.0
      CMake Warning (dev) at C:/Users/huml-dkn/AppData/Local/Temp/pip-build-env-veuax1i0/overlay/Lib/site-packages/cmake/data/share/cmake-3.25/Modules/CMakeDetermineCXXCompiler.cmake:162 (if):
        Policy CMP0054 is not set: Only interpret if() arguments as variables or
        keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
        details.  Use the cmake_policy command to set the policy and suppress this
        warning.

        Quoted variables like "MSVC" will no longer be dereferenced when the policy
        is set to NEW.  Since the policy is not set the OLD behavior will be used.
      Call Stack (most recent call first):
        CMakeLists.txt:4 (ENABLE_LANGUAGE)
      This warning is for project developers.  Use -Wno-dev to suppress it.

      CMake Warning (dev) at C:/Users/huml-dkn/AppData/Local/Temp/pip-build-env-veuax1i0/overlay/Lib/site-packages/cmake/data/share/cmake-3.25/Modules/CMakeDetermineCXXCompiler.cmake:183 (elseif):
        Policy CMP0054 is not set: Only interpret if() arguments as variables or
        keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
        details.  Use the cmake_policy command to set the policy and suppress this
        warning.

        Quoted variables like "MSVC" will no longer be dereferenced when the policy
        is set to NEW.  Since the policy is not set the OLD behavior will be used.
      Call Stack (most recent call first):
        CMakeLists.txt:4 (ENABLE_LANGUAGE)
      This warning is for project developers.  Use -Wno-dev to suppress it.

      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx86/x64/cl.exe - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Configuring done
      -- Generating done
      -- Build files have been written to: C:/Users/huml-dkn/AppData/Local/Temp/pip-install-mycottj2/srcml-caller_6ce31932bc6f4d048523b8433c1e7bf7/_cmake_test_compile/build
      --
      -------
      ------------
      -----------------
      ----------------------
      ---------------------------
      --------------------------------
      -- Trying "Ninja (Visual Studio 17 2022 x64 v143)" generator - success
      --------------------------------------------------------------------------------

      Configuring Project
        Working directory:
          C:\Users\huml-dkn\AppData\Local\Temp\pip-install-mycottj2\srcml-caller_6ce31932bc6f4d048523b8433c1e7bf7\_skbuild\win-amd64-3.10\cmake-build
        Command:
          cmake 'C:\Users\huml-dkn\AppData\Local\Temp\pip-install-mycottj2\srcml-caller_6ce31932bc6f4d048523b8433c1e7bf7' -G Ninja '-DCMAKE_INSTALL_PREFIX:PATH=C:\Users\huml-dkn\AppData\Local\Temp\pip-install-mycottj2\srcml-caller_6ce31932bc6f4d048523b8433c1e7bf7\_skbuild\win-amd64-3.10\cmake-install\bindings\srcml_caller' -DPYTHON_VERSION_STRING:STRING=3.10.7 -DSKBUILD:INTERNAL=TRUE '-DCMAKE_MODULE_PATH:PATH=C:\Users\huml-dkn\AppData\Local\Temp\pip-build-env-veuax1i0\overlay\Lib\site-packages\skbuild\resources\cmake' '-DPYTHON_EXECUTABLE:PATH=C:\Users\huml-dkn\Desktop\imgui_bundle\venv\Scripts\python.exe' '-DPYTHON_INCLUDE_DIR:PATH=C:\Program Files\Python310\Include' '-DPYTHON_LIBRARY:PATH=C:\Program Files\Python310\libs\python310.lib' '-DPython_EXECUTABLE:PATH=C:\Users\huml-dkn\Desktop\imgui_bundle\venv\Scripts\python.exe' '-DPython_ROOT_DIR:PATH=C:\Users\huml-dkn\Desktop\imgui_bundle\venv' '-DPython_INCLUDE_DIR:PATH=C:\Program Files\Python310\Include' -DPython_FIND_REGISTRY:STRING=NEVER '-DPython3_EXECUTABLE:PATH=C:\Users\huml-dkn\Desktop\imgui_bundle\venv\Scripts\python.exe' '-DPython3_ROOT_DIR:PATH=C:\Users\huml-dkn\Desktop\imgui_bundle\venv' '-DPython3_INCLUDE_DIR:PATH=C:\Program Files\Python310\Include' -DPython3_FIND_REGISTRY:STRING=NEVER -DCMAKE_BUILD_TYPE:STRING=Release

      -- The C compiler identification is MSVC 19.34.31935.0
      -- The CXX compiler identification is MSVC 19.34.31935.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx86/x64/cl.exe - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx86/x64/cl.exe - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      'C:/Users/huml-dkn/Desktop/imgui_bundle/venv/Scripts/python.exe' '-c' 'import pybind11; print(pybind11.get_cmake_dir())'
      -- Found PythonInterp: C:/Users/huml-dkn/Desktop/imgui_bundle/venv/Scripts/python.exe (found suitable version "3.10.7", minimum required is "3.6")
      -- Found PythonLibs: C:/Program Files/Python310/libs/python310.lib
      -- Performing Test HAS_MSVC_GL_LTCG
      -- Performing Test HAS_MSVC_GL_LTCG - Success
      -- Found pybind11: C:/Users/huml-dkn/AppData/Local/Temp/pip-build-env-veuax1i0/overlay/Lib/site-packages/pybind11/include (found version "2.10.1")
      -- Project version: 1.0.0
      CMake Error at C:/Users/huml-dkn/AppData/Local/Temp/pip-build-env-veuax1i0/overlay/Lib/site-packages/cmake/data/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
        Could NOT find LibArchive (missing: LibArchive_LIBRARY
        LibArchive_INCLUDE_DIR) (Required is at least version "3")
      Call Stack (most recent call first):
        C:/Users/huml-dkn/AppData/Local/Temp/pip-build-env-veuax1i0/overlay/Lib/site-packages/cmake/data/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
        C:/Users/huml-dkn/AppData/Local/Temp/pip-build-env-veuax1i0/overlay/Lib/site-packages/cmake/data/share/cmake-3.25/Modules/FindLibArchive.cmake:67 (find_package_handle_standard_args)
        external/srcML/src/client/CMakeLists.txt:9 (find_package)

      -- Configuring incomplete, errors occurred!
      See also "C:/Users/huml-dkn/AppData/Local/Temp/pip-install-mycottj2/srcml-caller_6ce31932bc6f4d048523b8433c1e7bf7/_skbuild/win-amd64-3.10/cmake-build/CMakeFiles/CMakeOutput.log".
      Traceback (most recent call last):
        File "C:\Users\huml-dkn\AppData\Local\Temp\pip-build-env-veuax1i0\overlay\Lib\site-packages\skbuild\setuptools_wrap.py", line 632, in setup
          env = cmkr.configure(
        File "C:\Users\huml-dkn\AppData\Local\Temp\pip-build-env-veuax1i0\overlay\Lib\site-packages\skbuild\cmaker.py", line 334, in configure
          raise SKBuildError(

      An error occurred while configuring with CMake.
        Command:
          cmake 'C:\Users\huml-dkn\AppData\Local\Temp\pip-install-mycottj2\srcml-caller_6ce31932bc6f4d048523b8433c1e7bf7' -G Ninja '-DCMAKE_INSTALL_PREFIX:PATH=C:\Users\huml-dkn\AppData\Local\Temp\pip-install-mycottj2\srcml-caller_6ce31932bc6f4d048523b8433c1e7bf7\_skbuild\win-amd64-3.10\cmake-install\bindings\srcml_caller' -DPYTHON_VERSION_STRING:STRING=3.10.7 -DSKBUILD:INTERNAL=TRUE '-DCMAKE_MODULE_PATH:PATH=C:\Users\huml-dkn\AppData\Local\Temp\pip-build-env-veuax1i0\overlay\Lib\site-packages\skbuild\resources\cmake' '-DPYTHON_EXECUTABLE:PATH=C:\Users\huml-dkn\Desktop\imgui_bundle\venv\Scripts\python.exe' '-DPYTHON_INCLUDE_DIR:PATH=C:\Program Files\Python310\Include' '-DPYTHON_LIBRARY:PATH=C:\Program Files\Python310\libs\python310.lib' '-DPython_EXECUTABLE:PATH=C:\Users\huml-dkn\Desktop\imgui_bundle\venv\Scripts\python.exe' '-DPython_ROOT_DIR:PATH=C:\Users\huml-dkn\Desktop\imgui_bundle\venv' '-DPython_INCLUDE_DIR:PATH=C:\Program Files\Python310\Include' -DPython_FIND_REGISTRY:STRING=NEVER '-DPython3_EXECUTABLE:PATH=C:\Users\huml-dkn\Desktop\imgui_bundle\venv\Scripts\python.exe' '-DPython3_ROOT_DIR:PATH=C:\Users\huml-dkn\Desktop\imgui_bundle\venv' '-DPython3_INCLUDE_DIR:PATH=C:\Program Files\Python310\Include' -DPython3_FIND_REGISTRY:STRING=NEVER -DCMAKE_BUILD_TYPE:STRING=Release
        Source directory:
          C:\Users\huml-dkn\AppData\Local\Temp\pip-install-mycottj2\srcml-caller_6ce31932bc6f4d048523b8433c1e7bf7
        Working directory:
          C:\Users\huml-dkn\AppData\Local\Temp\pip-install-mycottj2\srcml-caller_6ce31932bc6f4d048523b8433c1e7bf7\_skbuild\win-amd64-3.10\cmake-build
      Please see CMake's output for more information.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for srcml_caller
Successfully built srcmlcpp
Failed to build srcml_caller
ERROR: Could not build wheels for srcml_caller, which is required to install pyproject.toml-based projects

I see libarchive can be downloaded here, but where do i place it for CMake to find it?


Support Guild Operators based installs

Let's detect this common configuration method for a Cardano node and act accordingly.

These installs use CNODE_HOME for locating themselves, and the default is /opt/cardano/cnode

Couple of  minor notes:

While CNODE_HOME is referred to internally for scripts, it does not require to be present at session level (it defaults to using parent of current folder). The folder structure might be more relevant there as populating variables for environment are done via env file (User variables section) which sets defaults based on above folder structure.
Some features like detecting op-cert is captured from node's invocation comand, unless overwritten by operator by specifying alternate location.
Feel free to yell out if there are changes / suggestions or queries to improve either of the tooling =]

I've looked at this several times and keep running into a major issue with env not being an environment file, rather a full-blown shell script. It's a major lift to try to properly detect this installation type. It gets even more difficult with containers, as I need a matching file-system, not just PID namespace.
I would definitely accept contributions on this, even if it came in pieces. I'm going to mark it as help wanted and back burner it.


Add option to allow submitting blank password

Add configuration option to allow sddm.login to be called when the password is blank.
This is useful when another PAM module (for example, a security key is present) is sufficient for authenticating the user.
Made it a configuration option instead of default behaviour as I believe submitting an accidental blank password is a lot more likely than a user wanting to intentionally submit a blank password, so it's fine if the latter has to change a default first to allow their use case.

Good job!


python311Packages.sentence-transformers: 2.2.2 -> 2.4.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.sentence-transformers is: Multilingual Sentence & Image Embeddings with BERT
meta.homepage for python311Packages.sentence-transformers is: https://github.com/UKPLab/sentence-transformers
meta.changelog for python311Packages.sentence-transformers is: https://github.com/UKPLab/sentence-transformers/releases/tag/refs/tags/v2.3.1
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.3.1 with grep in /nix/store/bg820jr9xh94wz11hj5sx885gf39p0ny-python3.11-sentence-transformers-2.3.1
found 2.3.1 in filename of file in /nix/store/bg820jr9xh94wz11hj5sx885gf39p0ny-python3.11-sentence-transformers-2.3.1

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

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
khoj
python311Packages.manifest-ml
python311Packages.sentence-transformers

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/bg820jr9xh94wz11hj5sx885gf39p0ny-python3.11-sentence-transformers-2.3.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 python311Packages.sentence-transformers https://github.com/r-ryantm/nixpkgs/archive/525af2feaf21e399c11ce4507be472331bbc79a5.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/525af2feaf21e399c11ce4507be472331bbc79a5#python311Packages.sentence-transformers

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/bg820jr9xh94wz11hj5sx885gf39p0ny-python3.11-sentence-transformers-2.3.1
ls -la /nix/store/bg820jr9xh94wz11hj5sx885gf39p0ny-python3.11-sentence-transformers-2.3.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 failed to build:

khoj

2 packages built:

python311Packages.manifest-ml
python311Packages.sentence-transformers

Maintainer pings
cc @dit7ya for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.sentence-transformers is: Multilingual Sentence & Image Embeddings with BERT
meta.homepage for python311Packages.sentence-transformers is: https://github.com/UKPLab/sentence-transformers
meta.changelog for python311Packages.sentence-transformers is: https://github.com/UKPLab/sentence-transformers/releases/tag/refs/tags/v2.4.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.4.0 with grep in /nix/store/2l9viz03whaqmm2bihd3dk56n46m75pq-python3.11-sentence-transformers-2.4.0
found 2.4.0 in filename of file in /nix/store/2l9viz03whaqmm2bihd3dk56n46m75pq-python3.11-sentence-transformers-2.4.0

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

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
khoj
python311Packages.manifest-ml
python311Packages.sentence-transformers

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2l9viz03whaqmm2bihd3dk56n46m75pq-python3.11-sentence-transformers-2.4.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 python311Packages.sentence-transformers https://github.com/r-ryantm/nixpkgs/archive/16fa5909407d65bf8c3567f2e55dea4966907042.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/16fa5909407d65bf8c3567f2e55dea4966907042#python311Packages.sentence-transformers

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2l9viz03whaqmm2bihd3dk56n46m75pq-python3.11-sentence-transformers-2.4.0
ls -la /nix/store/2l9viz03whaqmm2bihd3dk56n46m75pq-python3.11-sentence-transformers-2.4.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 run on x86_64-linux 1

1 package failed to build:

khoj

2 packages built:

python311Packages.manifest-ml
python311Packages.sentence-transformers

Maintainer pings
cc @dit7ya for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.sentence-transformers is: Multilingual Sentence & Image Embeddings with BERT
meta.homepage for python311Packages.sentence-transformers is: https://github.com/UKPLab/sentence-transformers
meta.changelog for python311Packages.sentence-transformers is: https://github.com/UKPLab/sentence-transformers/releases/tag/refs/tags/v2.5.1
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.5.1 with grep in /nix/store/fd3a9xdcwa8wl7ralvhn9l2h15wgscfi-python3.11-sentence-transformers-2.5.1
found 2.5.1 in filename of file in /nix/store/fd3a9xdcwa8wl7ralvhn9l2h15wgscfi-python3.11-sentence-transformers-2.5.1

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

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
khoj
python311Packages.manifest-ml
python311Packages.sentence-transformers

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/fd3a9xdcwa8wl7ralvhn9l2h15wgscfi-python3.11-sentence-transformers-2.5.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 python311Packages.sentence-transformers https://github.com/r-ryantm/nixpkgs/archive/df6faae616e0c563eff69f60476fe363f7bc10e0.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/df6faae616e0c563eff69f60476fe363f7bc10e0#python311Packages.sentence-transformers

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/fd3a9xdcwa8wl7ralvhn9l2h15wgscfi-python3.11-sentence-transformers-2.5.1
ls -la /nix/store/fd3a9xdcwa8wl7ralvhn9l2h15wgscfi-python3.11-sentence-transformers-2.5.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 --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages failed to build:

khoj
khoj.dist

4 packages built:

python311Packages.manifest-ml
python311Packages.manifest-ml.dist
python311Packages.sentence-transformers
python311Packages.sentence-transformers.dist

Maintainer pings
cc @dit7ya for testing.


edits made to 2.0 that need to be added to 2.1

was getting an issue when trying to rebase a branch with master so i figured this was easier.

This change is

@rmloveland, the edits should be the same as what i made to the 2.0 docs. just want another pair of eyes to make sure i didn't mess something up


Race condition with shared cache mounts [Yarn package]

Error
2.328 error An unexpected error occurred: "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz: ENOENT: no such file or directory, open '/cache/yarn/v6/npm-jest-diff-24.9.0-931b7d0d5778a1baf7452cb816e325e3724055da-integrity/node_modules/jest-diff/.yarn-tarball.tgz'".

Context
The Yarn package embeds caching via
		mounts: {
			"yarn cache": {
				dest:     "/cache/yarn"
				contents: engine.#CacheDir & {
					// FIXME: are there character limitations in cache ID?
					id: "universe.dagger.io/yarn.#Build \(name)"
				}
			}
		}

Normal usage, works but limited
By default, the concurrency mode of the yarn cache is shared. It works well when 2 similar #FS are referencing the same id:
package main

import(
	"dagger.io/dagger"

	"universe.dagger.io/git"
	"universe.dagger.io/yarn"
)

dagger.#Plan & {
	actions: {
		pull: git.#Pull & {
			remote: "https://github.com/mdn/todo-react"
			ref:    "master"
		}

		// First build
		build: yarn.#Build & {
			source: pull.output
			name: "jo"
		}

		// Second build
		build2: yarn.#Build & {
			source: pull.output
			name: "jo"
		}
        }
}

Breaking example
However, when we generate an equivalent #FS with the use of #Copy, if 2 definitions reference the same cache id, it breaks:
package main

import(
	"dagger.io/dagger"
	"dagger.io/dagger/engine"

	"universe.dagger.io/alpine"
	"universe.dagger.io/git"
	"universe.dagger.io/yarn"
)

dagger.#Plan & {
	actions: {
		pull: git.#Pull & {
			remote: "https://github.com/mdn/todo-react"
			ref:    "master"
		}

		// First build
		build: yarn.#Build & {
			source: pull.output
			name: "jo"
		}

		// Base Image
		scratchImage: alpine.#Build
		// Copy content Git repo in ScratchImage
		_copy: engine.#Copy & {
			input:    scratchImage.output.rootfs
			contents: pull.output
		}

		// Build copy of image with same cache id
		build2: yarn.#Build & {
			source: _copy.output
			name: "jo"
		}
	}
}

By changing the cache name in build2 key, it works:
// Build copy of image with same cache id
build2: yarn.#Build & {
	source: _copy.output
	name: "ju" // <== different
}

By changing the concurrency mode in the yarn package, and keeping the same cache id
diff --git a/pkg/universe.dagger.io/yarn/yarn.cue b/pkg/universe.dagger.io/yarn/yarn.cue
index fc092a38..998e35fd 100644
--- a/pkg/universe.dagger.io/yarn/yarn.cue
+++ b/pkg/universe.dagger.io/yarn/yarn.cue
@@ -79,6 +79,7 @@ import (
                                contents: engine.#CacheDir & {
                                        // FIXME: are there character limitations in cache ID?
                                        id: "universe.dagger.io/yarn.#Build \(name)"
+                                       concurrency: "locked"
                                }
                        }
                        "package source": {

This leads to the impression that we encounter concurrent write access with parallel reference to shared cache mounts

This has been opened for too long, it is less relevant in today's Dagger.
If we hit this again, most likely in the context of https://github.com/dagger/dagger/issues/4766, we should address it starting with a contemporary example. Adding it as an integration test would be well worth it.
Proposing that we close. Intend to talk to @mircubed & @d3rp3tt3 today.


Feat: TLS and SRTP to choose specific ciphers

Both TLS and SRTP needs to be configured to choose specific ciphers for secure communication

@davehorton is this supported in any way ? or this need to be developed

Option to disable ssl-disable-3des-ciphers


ENG-2121: Use dark logo for Aqueduct engine.

Describe your changes and why you are making these changes
This PR replaces the light logo being used in the engine column with the dark logo.
Related issue number (if any)
ENG-2121
Loom demo (if any)
Screenshot:

Checklist before requesting a review

[ ] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[ ] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[ ] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[ ] All features on the UI continue to work correctly.
[ ] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

Hm, this is a little darker than I expected. Can we try what it would look like to use the light top/dark bottom one?

@vsreekanti Here's a screenshot of the two tone variant:

I think it looks a little brighter

I kinda like this one more. What do you think?

Great, let's go with this one!


Fails to stop vpnserver when active WireGuard sessions exist.

Prerequisites

[x] Can you reproduce?
[x] Are you running the latest version of SoftEtherVPN?

SoftEther version:<PHONE_NUMBER>ae00e87e261f89910d093671a95109
Component: Server
Operating system: Linux
Architecture: 64 bit
Processor: Processor types don't matter
Description
vpnserver cannot be stopped when active WireGuard sessions exist.
Expected behavior:
When vpnserver stop command is performed, all of active VPN sessions should be disconnected and then vpnserver should successfully be stopped.
Actual behavior:
When no active WireGuard sessions, it can be stopped properly.
root@sevpn:~/SoftEtherVPN/build# ./vpncmd /server /csv localhost:443 /hub:HAW /cmd:sessionlist
Session Name,VLAN ID,Location,User Name,Source Host Name,TCP Connections,Transfer Bytes,Transfer Packets
SID-SECURENAT-1,-,SecureNAT Session,SecureNAT,Virtual Host,None,862,16

root@sevpn:~/SoftEtherVPN/build# ./vpnserver stop
Stopping the SoftEther VPN Server service ...
SoftEther VPN Server service has been stopped.

When active WireGuard sessions exist, it cannot be stopped and finally killed.
root@sevpn:~/SoftEtherVPN/build# ./vpncmd /server /csv localhost:443 /hub:HAW /cmd:sessionlist
Session Name,VLAN ID,Location,User Name,Source Host Name,TCP Connections,Transfer Bytes,Transfer Packets
SID-SECURENAT-1,-,SecureNAT Session,SecureNAT,Virtual Host,None,"312,562","6,012"
SID-NAKASHIO-[WIREGUARD]-4,-,Local Session,nakashio,nakashio.lxd,1 / 1,"291,638","5,641"
SID-IWAO-[WIREGUARD]-6,-,Local Session,iwao,iwao.lxd,1 / 1,"274,664","5,294"

root@sevpn:~/SoftEtherVPN/build# ./vpnserver stop
Stopping the SoftEther VPN Server service ...
Stopping SoftEther VPN Server service was failed.
Killed

Steps to reproduce

Setup vpnserver to accept WireGuard connections
Connect WireGuard clients
Confirm you can see active WireGuard sessions in SessionList
Perform vpnserver stop
Stopping SoftEther VPN Server service was failed. will happen

Hi, the reporter is my co-worker. I performed further tests. It properly shutdown even when the native protocol client is connected. However, same with WireGuard when L2TP/IPsec client is connected.
Native protocol
ubuntu@ip-172-26-11-222:~/SoftEtherVPN/build$ ./vpncmd /server /csv localhost /hub:default /cmd:sessionlist
Session Name,VLAN ID,Location,User Name,Source Host Name,TCP Connections,Transfer Bytes,Transfer Packets
SID-SECURENAT-1,-,SecureNAT Session,SecureNAT,Virtual Host,None,"202,806",844
SID-IWAO-2,-,Local Session,iwao,c194201.ppp.asahi-net.or.jp,2 / 2,"208,108",868

ubuntu@ip-172-26-11-222:~/SoftEtherVPN/build$ sudo ./vpnserver stop
Stopping the SoftEther VPN Server service ...
SoftEther VPN Server service has been stopped.

L2TP/IPsec
ubuntu@ip-172-26-11-222:~/SoftEtherVPN/build$ ./vpncmd /server /csv localhost /hub:default /cmd:sessionlist
Session Name,VLAN ID,Location,User Name,Source Host Name,TCP Connections,Transfer Bytes,Transfer Packets
SID-SECURENAT-1,-,SecureNAT Session,SecureNAT,Virtual Host,None,"17,394",169
SID-IWAO-[L2TP]-2,-,Local Session,iwao,c194201.ppp.asahi-net.or.jp,1 / 1,"15,130",124

ubuntu@ip-172-26-11-222:~/SoftEtherVPN/build$ sudo ./vpnserver stop
Stopping the SoftEther VPN Server service ...
Stopping SoftEther VPN Server service was failed.
Killed

I’ll have a test if #1427 solved this issue today.

I confirmed the issue is fixed after #1427.

Thanks for confirming!


[Feat]: UI Enhancement on Contact Page

Is your feature request related to a problem? Please describe.
Contact page has some cards such as Our Mission, Legal, Our Story, Enterprise, etc.
When user clicks on that cards it has no effects
Describe the solution you'd like.
We can create some transitions when user hover on that cards.

We can add borders to the cards to make it attractive
When user hover on any card cursor becomes pointer, card will enlarge with smooth transition

Describe alternatives you've considered.
No response
Additional context.
No response
Show us the magic with screenshots
Before any modification:

After Implementing the solution:
https://github.com/TechNodes2-0/ElectiveHub/assets/105499099/2d2aff5c-9b66-4dd7-adda-c140ef2e5368
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

@Yash636261 please assign me.

UI is different and already updated in previous issues.


android pipeline build fails with unreachable mirror

so sometimes, the build fails with an error like
Running command: mkdir -vp ~/.cargo/bin; yes | pkg install rust binutils openssl tar -y; echo $? > /sdcard/pkg.probe
run_termux_command with timeout=3600 / retries=10 / sleep_interval=10
/sdcard/pkg.probe
/sdcard/pkg.log: 1 file pulled, 0 skipped. 0.6 MB/s (1165 bytes in 0.002s)
==================================== SUMMARY ===================================
Command: mkdir -vp ~/.cargo/bin; yes | pkg install rust binutils openssl tar -y; echo $? > /sdcard/pkg.probe
Finished in 11 seconds.
Output was:
+ mkdir -vp /data/data/com.termux/files/home/.cargo/bin
mkdir: created directory '/data/data/com.termux/files/home/.cargo'
mkdir: created directory '/data/data/com.termux/files/home/.cargo/bin'
+ pkg install rust binutils openssl tar -y
+ yes
Testing the available mirrors:
[*] https://packages-cf.termux.org/apt/termux-main: ok
[*] https://deb.kcubeterm.me/termux-main: ok
[*] https://termux.mentality.rip/termux-main: ok
[*] https://grimler.se/termux-packages-24: ok
[*] https://termux.librehat.com/apt/termux-main: ok
Picking mirror: https://deb.kcubeterm.me/termux-main

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Get:1 https://deb.kcubeterm.me/termux-main stable InRelease [512 B]
Err:1 https://deb.kcubeterm.me/termux-main stable InRelease
  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
Reading package lists...
E: Failed to fetch https://deb.kcubeterm.me/termux-main/dists/stable/InRelease  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
E: The repository 'https://deb.kcubeterm.me/termux-main stable InRelease' is not signed.
+ echo 100
Return code: 100

it looks like the pkg command picks the wrong mirror, one that should have been gone at least months ago.
However, the v0.118 still has this mirror and needs user interaction, see https://github.com/termux/termux-app/issues/3690
termux-change-repo presents a TUI which needs manual selection.
One possible solution is to set the softlink .../com.termux/files/usr/etc/termux/chosen_mirror -> .../com.termux/files/usr/etc/termux/mirrors/default but this is not trivial from the build script

it looks like the android image usage really old pkg
2024-01-27 21:45:55 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/44804216/b0b426a7-2d6f-4d40-8e3c-ce498b29cf42?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240127%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240127T214555Z&X-Amz-Expires=300&X-Amz-Signature=d129c9a52515481a8858124a22fac6f7fd34b8edf8c4260a92ab3bf44d0d539b&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=44804216&response-content-disposition=attachment%3B%20filename%3Dtermux-app_v0.118.0%2Bgithub-debug_x86.apk&response-content-type=application%2Fvnd.android.package-archive [30850605/30850605] -> "termux-app_v0.118.0+github-debug_x86.apk" [1]
Running snapshot
Performing Streamed Install
Success
Prepare and install system packages
launching termux
Starting: Intent { cmp=com.termux/.HomeActivity }
waiting for launch.probe
waiting for launch.probe
WARNING | /etc/localtime does not point to zoneinfo-compatible timezone name
waiting for launch.probe
/sdcard/launch.probe
found launch.probe
removed launch.probe
Running command: mkdir -vp ~/.cargo/bin; pkg help ; termux-info; yes | pkg --check-mirror install rust binutils openssl tar -y; echo $? > /sdcard/pkg.probe
run_termux_command with timeout=3600 / retries=10 / sleep_interval=10
/sdcard/pkg.probe
/sdcard/pkg.log: 1 file pulled, 0 skipped. 1.8 MB/s (5222 bytes in 0.003s)
==================================== SUMMARY ===================================
Command: mkdir -vp ~/.cargo/bin; pkg help ; termux-info; yes | pkg --check-mirror install rust binutils openssl tar -y; echo $? > /sdcard/pkg.probe
Finished in 15 seconds.
Output was:
+ mkdir -vp /data/data/com.termux/files/home/.cargo/bin
mkdir: created directory '/data/data/com.termux/files/home/.cargo'
mkdir: created directory '/data/data/com.termux/files/home/.cargo/bin'
+ pkg help
Usage: pkg command [arguments]

A tool for managing packages. Commands:

  autoclean            - Remove all outdated packages from .deb package
                         cache.

  clean                - Remove all packages from .deb package cache.

  files <packages>     - Show all files installed by packages.

  install <packages>   - Install specified packages.

  list-all             - List all packages available in repositories.

  list-installed       - List installed packages.

  reinstall <packages> - Reinstall specified installed packages at the
                         latest version.

  search <query>       - Search package by query, for example by name or
                         description part.

  show <packages>      - Show basic metadata, such as dependencies.

  uninstall <packages> - Uninstall specified packages. Configuration files
                         will be left intact.

  upgrade              - Upgrade all installed packages to the latest
                         version.

+ termux-info
Application version:
0.118.0
Packages CPU architecture:
i686
Subscribed repositories:
# sources.list
deb https://packages.termux.org/apt/termux-main/ stable main
Updatable packages:
apt/stable 2.7.10 i686 [upgradable from: 2.3.13-3]
bash/stable 5.2.15-1 i686 [upgradable from: 5.1.12-2]
ca-certificates/stable 1:2023.08.22 all [upgradable from: 1:2021-10-26-0]
command-not-found/stable 2.4.0-8 i686 [upgradable from: 1.71]
termux-am/stable 0.8.0 all [upgradable from: 0.4]
termux-exec/stable 1:1.0 i686 [upgradable from: 1:0.9]
termux-keyring/stable 3.11 all [upgradable from: 2.4]
termux-licenses/stable 2.0-3 all [upgradable from: 2.0-1]
termux-tools/stable 1.40.5-1 all [upgradable from: 0.155]
unbound/stable 1.19.0 i686 [upgradable from: 1.13.2-1]
unzip/stable 6.0-9 i686 [upgradable from: 6.0-7]
util-linux/stable 2.39.3-3 i686 [upgradable from: 2.37.2-1]
xxhash/stable 0.8.2 i686 [upgradable from: 0.8.1]
xz-utils/stable 5.4.6 i686 [upgradable from: 5.2.5-1]
zlib/stable 1.3-3 i686 [upgradable from: 1.2.11-5]
Android version:
9
Kernel build information:
Linux localhost 4.4.124+ #1 SMP PREEMPT Mon Jun 18 17:10:07 UTC 2018 i686 Android
Device manufacturer:
unknown
Device model:
Android SDK built for x86
+ pkg --check-mirror install rust binutils openssl tar -y
+ yes
Unknown command: '--check-mirror' (run 'pkg help' for usage information)
+ echo 1
Return code: 1
================================================================================
Error: The process '/bin/sh' failed with exit code 1

It looks like the pkg version the image is running from is
https://github.com/termux/termux-tools/blob/5b30fbf3b0306c9f3dcd67b68755d990e83f1263/packages/termux-tools/pkg
and one of those mirrors is detected as working, but is not really.
We have thus two options:
sed -i /kcubeterm/d \$(which pkg);which is really ugly,
or set
TERMUX_PKG_NO_MIRROR_SELECT which uses no mirror selection at all. Going for the first

done in #5894


Motion sensor refresh without motion

Alexx, first of all thank you so much for great integration!
I use Xiaomi Mi motion 2 BLE sensors. Basically, Gateway changes their state in HA to "off" after about one minute with no motion.
Sometimes I need to turn sensors to "off" earlier to catch new motions, and I do this "manually" with simple Python script, that changes states in Home Assistant. And after any new motion Gateway sends state "on" to HA, and binary sensor becomes 'on' again.
But if there is no motion Gateway also forces refreshing of state in HA, because GW saves state of binary sensor for a minute after motion disappear, and sends this state for HA even without a new signal from motion sensor. It quite uncomfortable, for example, it triggers some automations, that start, when binary sensor become "on" - they become "on" not when the real motion exists, but when Gateway refreshes state of binary sensor, that was turned of "manually".
I know, that we have Advanced config, that lets us to short time of occupancy, but is it possible to stop Gateway from refreshing states of sensors, if there is no new signal from motion sensor? It could be option in customize.yaml, for example. Or maybe we could have any service, that would be able to change state of sensor not only in HA, but in a GW as well?

Enable logs in integration config (basic and mqtt), catch that moment and show this logs.


Collect profile information of array's length

We should collect profile information of array's length created by user so we can use it to allocate array of appropriate size while JITing.

This is a good idea. If this show up on websites we will revisit. Don't see a benefit in tracking this as an issue.


ENHANCEMENT-POINT not implemented - breaks transpilation

ENHANCEMENT-POINT is not implemented and currently breaks transpilation...
WRITE 'foo'.
ENHANCEMENT-POINT foo SPOTS bar.
WRITE 'bar'.

Error: Statement EnhancementPoint not supported, ENHANCEMENT-POINT foo SPOTS bar.

I don't think I can manage implementing the full functional thing, but I can implement something that does nothing, to avoid breaking transpilation?

yea, feel free to do something like https://github.com/abaplint/transpiler/blob/main/packages/transpiler/src/statements/log_point.ts
perhaps have it output a ABAP comment with the name of the point and spot


Publish 5.0 prerelease?

Any chance you could publish a prerelease of 5.0 so I can start tinkering with it? Pulling directly from github means I can't get the built source. 💖

Yeah, good point. @matthewp you were talking about doing this. Did you want to do it?

https://img.memesuper.com/a749ca9109d14af6cf467ccba01f0528_just-do-it-shia-labeouf-just-do-it-memes_960-540.jpeg

I can publish an alpha based on the current 5.x if that works for everyone.

Alpha sounds good!


[RT] Adds the compiler CI to the workflow

Ugh I'll fix it tomorrow.

Superseded by https://github.com/wixoaGit/OpenDream/pull/456


[SPARK-40012][PYTHON][DOCS] Make pyspark.sql.dataframe examples self-contained

What changes were proposed in this pull request?
This PR takes https://github.com/apache/spark/pull/37444 over with covering all examples in pyspark.sql.dataframe.
This PR proposes to improve the examples in pyspark.sql.dataframe by making each example self-contained with more realistic examples.
Closes #37444
Why are the changes needed?
To make the documentation more readable and able to copy and paste directly in PySpark shell.
Does this PR introduce any user-facing change?
Yes, Documentation changes only
How was this patch tested?
Manually ran each examples.

cc @zhengruifeng @viirya @xinrong-meng @Yikun @itholic @dcoliversun @khalidmammadov in case you find some time to take a look.

@HyukjinKwon, thanks for taking this over.. I hope I helped you guys a bit atleast

Thanks guys.
Merged to master.

Sure, that was a big help @Transurgeon


[REVIEW] fix incorrect slot-size-array in the HugeCTR training nb

This is to address this bug. https://github.com/NVIDIA/NVTabular/issues/837

@vinhngx Thanks again for reporting this. Can you please take a look at this PR? thanks.

@benfred I updated the inference notbook tag as 0.5.3 in the readme, bcs that's what it worked for me. fyi.


Add support for sub-selecting using the arrow keys

Users have expressed that they want to be able to move the sub-selection head by using the arrow keys.
We should mimic the behavior of Windows' explorer to make the behavior as intuitive as possible.
This new behavior would conflict with the current behavior of the arrow keys which are used to navigate around in the history. Perhaps we should use Page Up and Page Down to navigate between pages in history.

The ask is to move the selection with cursor with arrow keys, technically that is changing the sub-selection.
Ctrl/shift semantics should be supported - additive selection.


build: avoid 404 warnings in Karma tests

Adds some logic to the Karma config in order to prevent 404s from being logged from some of the tests that need to reference images.
Fixes #15113.

Poke @crisbeto I just had the small comment nit before this is merge-ready


Fix line numbers in source frames

Summary

Test Plan

Current dependencies on/for this PR:

main

PR #4984   👈

This comment was auto-generated by Graphite.


CSS media queries are not detected (thrown away) if there are CSS comments outside CSS selector blocks

Example code
Try to emogrify the following responsive HTML:
https://github.com/mailchimp/email-blueprints/blob/master/responsive-templates/base_boxed_basic_query.html
Where is the problem
On the private member function "splitCssAndMediaQuery".
The regular expression doesn't account for comments outside selector blocks. Specially after them, before the final closing "}" for the media query block.
It then removes the comments. After the regex matching. So media queries with this syntax are lost.
private function splitCssAndMediaQuery($css)
{
	$media = '';

	$css = preg_replace_callback(
		'#@media\\s+(?:only\\s)?(?:[\\s{\\(]|screen|all)\\s?[^{]+{.*}\\s*}\\s*#misU',
		function($matches) use (&$media) {
			$media .= $matches[0];
		},
		$css
	);

	// filter the CSS
	$search = array(
		// get rid of css comment code
		'/\\/\\*.*\\*\\//sU',
		// strip out any import directives
		'/^\\s*@import\\s[^;]+;/misU',
		// strip remains media enclosures
		'/^\\s*@media\\s[^{]+{(.*)}\\s*}\\s/misU',
	);

	$replace = array(
		'',
		'',
		'',
	);

	// clean CSS before output
	$css = preg_replace($search, $replace, $css);

	return array('css' => $css, 'media' => $media);
}

Fix
Remove the comments before the regex matching.
private function splitCssAndMediaQuery($css)
{
	$media = '';

	//Remove comments previously to matching media queries
	$css = preg_replace('/\\/\\*.*\\*\\//sU', '', $css);

	$css = preg_replace_callback(
		'#@media\\s+(?:only\\s)?(?:[\\s{\\(]|screen|all)\\s?[^{]+{.*}\\s*}\\s*#misU',
		function($matches) use (&$media) {
			$media .= $matches[0];
		},
		$css
	);

	// filter the CSS
	$search = array(
		// strip out any import directives
		'/^\\s*@import\\s[^;]+;/misU',
		// strip remains media enclosures
		'/^\\s*@media\\s[^{]+{(.*)}\\s*}\\s/misU',
	);

	$replace = array(
		'',
		'',
	);

	// clean CSS before output
	$css = preg_replace($search, $replace, $css);

	return array('css' => $css, 'media' => $media);
}

Workaround
Remove CSS comments from HTML before passing them to Emogrifier.
I've written a function to do this:
function RemoveCSSComments($html)
{
	try
	{
		$dom = new DOMDocument();

		$dom->preserveWhitespace = false;
		$dom->formatOutput = true;

		if (!@$dom->loadHTML($html))
			return false;

		//Search every <style> node
		$xpath = new DOMXPath($dom);
		$styleNodes = $xpath->query('//style');

		if ($styleNodes !== false)
			foreach ($styleNodes as $styleNode)
				$styleNode->nodeValue = RemoveCommentsFromCSSCode($styleNode->nodeValue);

		return $dom->saveHTML();
	}
	catch (DOMException $e)
	{
		return false;
	}
}

function RemoveCommentsFromCSSCode($css)
{
	return preg_replace('/\\/\\*.*\\*\\//sU', '', $css);
}

You just call it:
$html = RemoveCSSComments($html);

Hi NeoEGM, thanks a lot for the detailed bug report! I'll have a look at it.

Why convert input to DOMDocument, then back to string so that it could be converted to DOMDocument again? :)
Wouldn't it be better to just run RemoveCommentsFromCSSCode() on the whole input HTML string?

Yes, of course. Thanks for noticing!
@Renkas Would you be interested in putting the concept into a PR?

Sorry - that was the workaround not the fix that did double converting. I added the fix as suggested by @NeoEGM and also added a testcase.

Hi @NeoEGM, I've polished and merged the fix for this bug in #201. Thanks for your contribution of reporting the bug and proposing the solution!

On 07/06/2015 04:22 PM, Oliver Klee wrote:

Hi @NeoEGM https://github.com/NeoEGM, I've polished and merged the
fix for this bug in #201
https://github.com/jjriv/emogrifier/pull/201. Thanks for your
contribution of reporting the bug and proposing the solution!
—
Reply to this email directly or view it on GitHub
https://github.com/jjriv/emogrifier/issues/154#issuecomment-118969365.


[ADD] Added the OCA Contribution Repository Policy

@max3903
cc @OCA/board

As said, :-1:

@OCA/board

can we merge this? @OCA/board


Repeating warning with Bitburner v2.5.2

Not able to pull up Discord so thought i would post it here. I am getting this Warning constantly which is making the terminal very difficult to work with
daemon.js: WARNING: daemon.js Caught an error in the targeting loop:
ns.read('/Temp/singularity-getCurrentWork.txt') returned a bad result: "ERROR: API ACCESS ERROR
Temp/singularity-getCurrentWork.txt.js@home (PID - 21441)

singularity.getCurrentWork: This singularity function requires Source-File 4 to run.
      It will be very obvious when and how you can obtain it.

Stack:
<EMAIL_ADDRESS>  Script:  /Temp/singularity-getCurrentWork.txt.js
  Args:    []
  Command: ns.singularity.getCurrentWork()
The script was likely passed invalid arguments. Please post a screenshot of this error on discord.
Error:
ns.read('/Temp/singularity-getCurrentWork.txt') returned a bad result: "ERROR: API ACCESS ERROR
Temp/singularity-getCurrentWork.txt.js@home (PID - 21441)

singularity.getCurrentWork: This singularity function requires Source-File 4 to run.
      It will be very obvious when and how you can obtain it.

Stack:
<EMAIL_ADDRESS>  Script:  /Temp/singularity-getCurrentWork.txt.js
  Args:    []
  Command: ns.singularity.getCurrentWork()
The script was likely passed invalid arguments. Please post a screenshot of this error on discord.
    at asError (home/helpers.js:325:45)
    at autoRetry (home/helpers.js:339:23)
    at async getNsDataThroughFile_Custom (home/helpers.js:196:22)
    at async getNsDataThroughFile (home/daemon.js:1847:12)
    at async getCurrentWorkInfo (home/daemon.js:158:13)
    at async doTargetingLoop (home/daemon.js:759:32)
    at async Module.main (home/daemon.js:371:5)
    at async L (file:///Users/jeffrey.crane/Library/Application%20Support/Steam/steamapps/common/Bitburner/bitburner.app/Contents/Resources/app/dist/main.bundle.js:2:1084850)

Thanks for reporting the error. The community developing the game
occasionally changes behaviour in ways that subverts these old scripts.
If it was an unintended change, they may opt to revert it in a future
update, otherwise someone will hopefully make a pull request to adapt to
the change. If this remains a problem for a while, I might even get around
to fixing it myself! (although I've been done this game for a while)
On Tue, Dec 26, 2023, 5:48 p.m. Jeffrey Crane @.***>
wrote:

Not able to pull up Discord so thought i would post it here. I am getting
this Warning constantly which is making the terminal very difficult to work
with
daemon.js: WARNING: daemon.js Caught an error in the targeting loop:
ns.read('/Temp/singularity-getCurrentWork.txt') returned a bad result: "ERROR: API ACCESS ERROR
@.*** (PID - 21441)
singularity.getCurrentWork: This singularity function requires Source-File 4 to run.
It will be very obvious when and how you can obtain it.
Stack:
@.".
Script:  /Temp/singularity-getCurrentWork.txt.js
Args:    []
Command: ns.singularity.getCurrentWork()
The script was likely passed invalid arguments. Please post a screenshot of this error on discord.
Error:
ns.read('/Temp/singularity-getCurrentWork.txt') returned a bad result: "ERROR: API ACCESS ERROR
@. (PID - 21441)
singularity.getCurrentWork: This singularity function requires Source-File 4 to run.
It will be very obvious when and how you can obtain it.
Stack:
@.***".
Script:  /Temp/singularity-getCurrentWork.txt.js
Args:    []
Command: ns.singularity.getCurrentWork()
The script was likely passed invalid arguments. Please post a screenshot of this error on discord.
at asError (home/helpers.js:325:45)
at autoRetry (home/helpers.js:339:23)
at async getNsDataThroughFile_Custom (home/helpers.js:196:22)
at async getNsDataThroughFile (home/daemon.js:1847:12)
at async getCurrentWorkInfo (home/daemon.js:158:13)
at async doTargetingLoop (home/daemon.js:759:32)
at async Module.main (home/daemon.js:371:5)
at async L (file:///Users/jeffrey.crane/Library/Application%20Support/Steam/steamapps/common/Bitburner/bitburner.app/Contents/Resources/app/dist/main.bundle.js:2:1084850)
—
Reply to this email directly, view it on GitHub
https://github.com/alainbryden/bitburner-scripts/issues/331, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AARN33LUOWA6YA2EE3BP7LLYLNA4TAVCNFSM6AAAAABBDUWJP2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2TMNZSGY4DKMA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

looks like using the --no-share arg is a good temp fix:
run daemon.js --no-share

I am also getting the same error :/

looks like using the --no-share arg is a good temp fix:
run daemon.js --no-share

hacking also seems to not work at all and "misfires"

same here

how wouldi remove the share messages entierly


Completion for tramp methods and hosts

As reported by @mathrick in #82:

TRAMP methods and hosts cannot be completed. Ie. with icomplete, /ss gives me /ssh: and /sshx: as candidates, and /ssh:mat results in /ssh:mathrick-thinkpad: (which is a host I've previously connected to, I'm actually not sure how and where that is stored). None of these work with selectrum-read-file-name.

See #394

See #394

Fixed by #394

Fixed by #394

Since #394 was merged, this can be closed now :)

Since #394 was merged, this can be closed now :)

Oops, thanks I thought I closed it

Oops, thanks I thought I closed it


Fix categories lookup, descriptions, + test failure.

Proposed Changes:

Update category parsing to directly select category URL elements (fixes failing category tests).
Update description parsing to use new element hierarchy traversal (fixes #50).
Update test_fetching_app_with_all_details test case to use updated download count.

Works fine for me :)


Support for server-sent events

Feature Request
Support for server-sent events in Tide apps.
Detailed Description

Support for working creating server-sent event streams, easily, with Tide.
Some more general server-sent events info:

Standard: https://html.spec.whatwg.org/multipage/#server-sent-events

Grammar: https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream

Using Server-Sent Events: https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events

Context

I would like to use server-sent events. I suppose other folks might want to as well.
Possible Implementation

Ideally, I would be able to have some method on Response or some sort of type that implements IntoResponse that sets the Content-Type: text/event-stream header for me, and takes a Stream<Item = ServerSentEvent> where ServerSentEvent is a struct with an optional event type string and a data string.
Maybe it would automatically send heartbeats too, to keep the connection alive?

Reference from a Node.js implementation I did a while back:
Refs

https://github.com/choojs/bankai/blob/7afacfc2cbf3913035b8c744b0195c6b7bfe3159/http.js#L132-L142
https://github.com/choojs/bankai/blob/7afacfc2cbf3913035b8c744b0195c6b7bfe3159/http.js#L170

Headers
      'Content-Type': 'text/event-stream',
      'X-Accel-Buffering': 'no',
      'Cache-Control': 'no-cache'

heartbeat
  var interval = setInterval(function () {
      if (res.finished) return // prevent writes after stream has closed
      res.write(`id:${id++}\ndata:{ "type:": "heartbeat" }\n\n`)
}, 4000)

data
In particular making sure to increment the id on every tick is useful because Chrome's debug tooling picks up on this and does a better job at displaying individual events in the network tab.
var msg = JSON.stringify({ type: 'scripts' })
res.write(`id:${id++}\ndata:${msg}\n\n`)

Screenshot
What it looks like to run this:

I believe people can just swap ServerSentEvent with the data they desired from Stream<Item = ServerSentEvent>.
In some cases, it may be better to return JSON over plain text, I wonder if Stream<Item = Json<Data>> helps?

@pickfire the output stream should probably take an AsyncRead and produce an AsyncRead. It can then decorate the incoming messages with the right SSE framing, and also produce regular heartbeat messages.
In general we should probably move the http-service interface to use AsyncRead for both requests and responses rather than the existing pre-allocated streams that we're exposing.

For Server Sent Events, hearbeats should be implemented using comments. These are empty messages that are ignored by client implementations.

I thought Server Sent Events automatically reconnects when they disconnects?
How about event on disconnection? Maybe impl Drop for ServerSendEventsEndpoint or something similar to handle that?

impl ServerSentEvents {
    async fn send_json(&self, &impl Serialize) -> io::Result<()>;
}

Should we make only json or Serializer which allows other formats serde supports?


[move-prover] Fixes a bug with empty struct pack in the spec language

The spec language created an empty value on S{}, whereas the Move compiler inserts a dummy field by design with the value of false for empty structs. This lead to mismatch in intepretation of bytecode and spec language during verification.
Motivation
User reported bug.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Added new test.
Related PRs
NA

/land


update plugin command style

per @christian-bromann's suggestion. this will be PR 1/3

Seems like CI is unhappy

Seems like CI is unhappy

that's to be expected since it relies on an updated version of appium. since this is a mutual dependency we'll have to merge/publish 1 before the other works

that's to be expected since it relies on an updated version of appium. since this is a mutual dependency we'll have to merge/publish 1 before the other works

@mykola-mokhnach the CI failure is expected given the pending merge in appium/appium. OK to merge/publish here then we can rerun that CI and see how it all works together?

@mykola-mokhnach the CI failure is expected given the pending merge in appium/appium. OK to merge/publish here then we can rerun that CI and see how it all works together?

ok published all packages and we'll update the appium one to see how it goes

ok published all packages and we'll update the appium one to see how it goes


Dynamic product features according to tenants

Goal :soccer:
We need to be able accomplish  this request: "Enable this concrete product feature only for tenants X,Y in any user"
NOTE: product feature - is permission to allow user perform any operation like a add, edit, copy, delete, ...
New names
Tenant Root Feature
Dynamic Tenant Product Feature
How :bulb:
We have user's roles and we have defined tree of product features independently on tenants.
This work is introducing dynamically defined product features according to tenants.
Let's assume that we have this ability for product feature Edit Dialog - so it will  dynamically  generate subtree for this product feature:

Dynamic subtree is fully synchronised with tree of tenants for all stated tenant product features, when tenant is:

added
created
deleted
seeded (this operation is done under MiqProductFeature.seed)

Implementation

Tenant has many MiqProductFeatures (migration https://github.com/ManageIQ/manageiq-schema/pull/291)
core update (authorisation, asynchronisation and model relations)
UI updates (new icon https://github.com/ManageIQ/manageiq-ui-classic/pull/4780 in product features tree and allow to display menu customization https://github.com/ManageIQ/manageiq-ui-classic/pull/4782)

Scenario
Users's role

user 1 cannot edit service dialog

user 2 can edit service dialog

How to use this feature

Choose existing product feature(from now tenant feature root identifier) which you want to use as parent for dynamic product tenant features
Add this feature to array in MiqProductFeature#TENANT_FEATURE_ROOT_IDENTIFIERS
Restart app

Links
https://bugzilla.redhat.com/show_bug.cgi?id=1297415 (service dialogs)
https://bugzilla.redhat.com/show_bug.cgi?id=1468795 (tenant quotas)
PRs - sequence for merge

[x] https://github.com/ManageIQ/manageiq-schema/pull/291 (migration)
[x] https://github.com/ManageIQ/manageiq/pull/18102 (core)
https://github.com/ManageIQ/manageiq-ui-classic/pull/4780  (UI - icon)
[x] https://github.com/ManageIQ/manageiq-ui-classic/pull/4782(UI - menu)

other usage

[x] https://github.com/ManageIQ/manageiq/pull/18151 (manage tenant quotas)

Additional Fixes

[x] https://github.com/ManageIQ/manageiq-ui-classic/pull/4858
[x] https://github.com/ManageIQ/manageiq-api/pull/508
[x] https://github.com/ManageIQ/manageiq/pull/18179
[x] https://github.com/ManageIQ/manageiq-ui-classic/pull/5108
[x] https://github.com/ManageIQ/manageiq/pull/18286

Little concerned about relying upon seed to populate a table.
If possible, I'd like to get rid of seeds except on upgrades.
Is there an alternative way to populating these tables that does not rely upon seed?

@kbrock

Is there an alternative way to populating these tables that does not rely upon seed?

I need to think about it but maybe it is already accomplished now -(1a) seeding is done here just for  populating data for existing tenants (what it is needed for upgrade) other populating data are tied with tenant creation.
(1a) so as you are saying  except on upgrades. does it mean that the code should be somewhere else ?

This is a really tricky problem Libor
Is it possible to come up with a different RBAC rule to say you have privileges only below you (and not including you?)
Although, our privileges tend to be per model, and I'm not sure how this will integrate here

2a) This comment is related to your comment 1) or are your referring to something new ?
please clarify to me this first to avoid misunderstanding and we can continue with discussion

@lpichler this is a little stale.
If we provided the child down access - would that resolve the need to have each provider in the features access list?

@lpichler @kbrock @Fryguy bump

I was never thrilled with the idea of having dynamic filters. Especially when it looked like a pure tenant scoping/nesting pattern

If we provided the child down access - would that resolve the need to have each provider in the features access list?

I was never thrilled with the idea of having dynamic filters. Especially when it looked like a pure tenant scoping/nesting pattern

Is it possible to come up with a different RBAC rule to say you have privileges only below you (and not including you?)

It doesn't look to me like that we can do it with using any scoping because the request is to have possibility to set product feature for selected tenants.
so it is connection between tenancy and product features.
it adds another type of rule for RBAC and maybe the product features for this is not optimal but doable.
@kbrock does this cover your questions ?

@lpichler I don't fully understand why it wouldn't work, but I'll trust your expertise.
What more do we need to do with this PR?

@lpichler Can this be closed at this point? If not, please open a separate issue for the remaining work. Thx

Yes it can be closed, I will review it and I will open issue if needed, maybe it could be simplified.


docker inspect output parsing fails on Windows

Environment:

Jib version: 2.0.0
Build tool: Gradle 5.6.2
OS:  Windows 10

Description of the issue:
Output from docker inspect is not valid JSON on Windows and so the parsing fails on following error:
Execution failed for task ':jibDockerBuild'.
> com.google.cloud.tools.jib.plugins.common.BuildStepsExecutionException: Unexpected character ('s' (code 115)): was expecting double-quote to start field name
   at [Source: (String)"{size:11421955405,imageId:sha256:68204dc2fc12499d321ef43f00c439bbf2300b280d14737a92841d4b22ddd58c,diffIds:["sha256:f358be10862ccbc329638b9e10b3d497dd7cd28b0e8c7931b4a545c88d7f7cd6","sha256:ffce47ae4ffd0b88677730d9949223ae0f4de9c7b14fd7f23112a1724381dac8","sha256:9fb133e2afa1efc256864786d3fe44c896e171aebb52255e44bc5a6e38024ece","sha256:54f1b480fa3dca5845816d23b22bdb748d0fa22217ae9387121683dfe403da5a","sha256:e2e665092bb91d64c1fab2d3e6b5a80f3a52388badd5df17704f57405c81ad03","sha256:f47af1187470c38"[truncated 422 chars]; line: 1, column: 3]

See also this report
The docker inspect is issued when using base Docker image from daemon (instead of from registry), see the docker:// prefix below. It's possible that docker inspect is used also in different use-cases.
Expected behavior:
jib doesn't fail on invalid JSON parsing, when running on Windows and using base image from Docker daemon.
Steps to reproduce:

Use build.gradle as shown below.
Execute jibDockerBuild.

jib-gradle-plugin Configuration:
jib {
  from {
        image = 'docker://my-image:1.0.0'
  }
}

Log output:
Execution failed for task ':server:jibDockerBuild'.
> com.google.cloud.tools.jib.plugins.common.BuildStepsExecutionException: Unexpected character ('s' (code 115)): was expecting double-quote to start field name
   at [Source: (String)"{size:513050736,imageId:sha256:6bf020e553c504672ab41c4ee45c008d331aba465ad0f8d99752d75aa830b7c4,diffIds:["sha256:d69483a6face4499acb974449d1303591fcbb5cdce5420f36f8a6607bda11854","sha256:fa546c09dbca96caa9a87ce37518b215364492deeb58dc8f4e5884ed65ae67ad","sha256:fab7516865bc195a22c493e9a7222c8e42ebf21c0d78f443c0d0bd53a0abae84","sha256:8741a416c3f1340e9cd95c049332b5c7dbbee05d8c3cbe52dd67dd48ab760d4f","sha256:7fef8cf5257ba113bf651c0acfec5f5a03ea5c872b1f31f8ca7b968bc6d20f81"]}"; line: 1, column: 3]

Additional Information:
The problem is in this method. If I tried to execute the command manually then I really got invalid JSON:
D:\Work>docker inspect -f "{"size":{{.Size}},"imageId":"{{.Id}}","diffIds":{{json .RootFS.Layers}}}" --type image openjdk:11.0.1-windowsservercore-ltsc2016
{size:11421955405,imageId:sha256:68204dc2fc12499d321ef43f00c439bbf2300b280d14737a92841d4b22ddd58c,diffIds:["sha256:f358be10862ccbc329638b9e10b3d497dd7cd28b0e8c7931b4a545c88d7f7cd6","sha256:ffce47ae4ffd0b88677730d9949223ae0f4de9c7b14fd7f23112a1724381dac8","sha256:9fb133e2afa1efc256864786d3fe44c896e171aebb52255e44bc5a6e38024ece","sha256:54f1b480fa3dca5845816d23b22bdb748d0fa22217ae9387121683dfe403da5a","sha256:e2e665092bb91d64c1fab2d3e6b5a80f3a52388badd5df17704f57405c81ad03","sha256:f47af1187470c38d468414f8ff92ac928930386da466c0d6b27bb8f5b37c7442","sha256:a89f3bd646ef45a00237d10e870b50b16d0f203ea970be8f07588e071dd2020d","sha256:3951066b4972f280ccdbaa3fd59ae91e295e1cc38b138a14d7d377e16ee992bd","sha256:cfd212e34afa290dc5c780eb684c56477f21f1803af3341fbef59a38a18048a7","sha256:68d52bc69bc5310bb9d442ac1a828355146e698a72ff3639bb192ba14579eaf4","sha256:8baf500f12aeb8dadde42b0aa8bf444e201001170145952838a1e84c74802bfa"]}

The solution is to use triple-doublequotes to ensure doublequotes are present in the output:
D:\Work>docker inspect -f "{"""size""":{{.Size}},"""imageId""":"""{{.Id}}""","""diffIds""":{{json .RootFS.Layers}}}" --type image openjdk:11.0.1-windowsservercore-ltsc2016
{"size":11421955405,"imageId":"sha256:68204dc2fc12499d321ef43f00c439bbf2300b280d14737a92841d4b22ddd58c","diffIds":["sha256:f358be10862ccbc329638b9e10b3d497dd7cd28b0e8c7931b4a545c88d7f7cd6","sha256:ffce47ae4ffd0b88677730d9949223ae0f4de9c7b14fd7f23112a1724381dac8","sha256:9fb133e2afa1efc256864786d3fe44c896e171aebb52255e44bc5a6e38024ece","sha256:54f1b480fa3dca5845816d23b22bdb748d0fa22217ae9387121683dfe403da5a","sha256:e2e665092bb91d64c1fab2d3e6b5a80f3a52388badd5df17704f57405c81ad03","sha256:f47af1187470c38d468414f8ff92ac928930386da466c0d6b27bb8f5b37c7442","sha256:a89f3bd646ef45a00237d10e870b50b16d0f203ea970be8f07588e071dd2020d","sha256:3951066b4972f280ccdbaa3fd59ae91e295e1cc38b138a14d7d377e16ee992bd","sha256:cfd212e34afa290dc5c780eb684c56477f21f1803af3341fbef59a38a18048a7","sha256:68d52bc69bc5310bb9d442ac1a828355146e698a72ff3639bb192ba14579eaf4","sha256:8baf500f12aeb8dadde42b0aa8bf444e201001170145952838a1e84c74802bfa"]}

So IMHO the solution is to use slightly different command, based on current OS.
I'm willing to prepare a PR for this. It would be great if you suggested me the preferred way how to detect Windows OS.

Ah, thanks. I initially thought this is only when the image is a Windows image, but you confirmed in https://github.com/GoogleContainerTools/jib/issues/2215#issuecomment-583482569. So looks like anyone on Windows just cannot use a local Docker engine image.
I know we have this code: https://github.com/GoogleContainerTools/jib/blob/2e7b670a44ebdca60b400f8b540eb5c567dd3e11/jib-core/src/main/java/com/google/cloud/tools/jib/filesystem/XdgDirectories.java#L121

That of course requires toLowerCase: https://github.com/GoogleContainerTools/jib/blob/2e7b670a44ebdca60b400f8b540eb5c567dd3e11/jib-core/src/main/java/com/google/cloud/tools/jib/filesystem/XdgDirectories.java#L109

So looks like anyone on Windows just cannot use a local Docker engine image.

Exactly! I've tested it with both Windows Containers and Linux Containers, and the error is still the same.

Um, hold on. I think we may fix this using a different approach.

Thanks! Is a nightly build with this change available? I would like to test it on Windows, maybe there is another issue, so we could move the Windows Containers support more quickly.

@augi it's easy to build it yourself.
$ git clone https://github.com/GoogleContainerTools/jib.git
$ cd jib
$ ./gradlew :jib-gradle-plugin:install

This will build 2.0.1-SNAPSHOT and install it into your local Maven repo (~/.m2/repository). Then configure your build script at the beginning:
buildscript {
  repositories {
    mavenLocal() // resolve in ~/.m2/repository
    mavenCentral()
  }
  dependencies {
    classpath 'com.google.cloud.tools:jib-gradle-plugin:2.0.1-SNAPSHOT'
  }
}

// instead of using the `plugins` block, use `apply plugin`:
//plugins {
//  id 'com.google.cloud.tools.jib' version '2.0.0'
//}
apply plugin: 'com.google.cloud.tools.jib'
apply plugin: 'java'
...

Thanks for testing this out! I'm curious too.

@chanseokoh Please see #1568 - this is another issue with Windows Containers. Maybe the fix will be part of #1568
If I can help, just let me know.

@augi we've release Jib 2.1.0, and at least it will fix this particular issue. However, as you already know, we still have issues like #2288 and #2215. Building Windows containers is basically not supported.

But at least, you can now load local Docker images on Windows!