Cannot provide path aliases to Vite for Remix integration

Describe the bug
In an Nx monorepo we are using vanilla-extract to style components that are imported by a handful of Remix applications. When a Remix application has *.css.ts files directly, or imports one via a shared lib/package in the monorepo with a relative import, no issues exist.  However, if the import is via a path alias (via tsconfig), Vite in the vanilla-extract integration package process cannot resolve the path of the import.
After some debugging and an investigation, we think we've found the problem at the call to vite.createServer() in packages/integration/src/compiler.ts. Here, there is no ability to pass in a resolve.alias Vite configuration to define aliases.
In the mean time, we've created a patch in our repo that adds in resolve.alias to the config object passed to vite.createServer(). This patch solves the problem for us in the short term but ideally Remix and/or the integration code in vanilla-extract can support an alias configuration, whether automatic or manual.
We've created a reproduction repo that can highlight the issue. A couple notes:

The example Remix app can be spun up using npm run example-app:dev
The code patch is not active in the repo. If you want to run with the patch, rename patches.off to patches.

@markdalgleish I know you're also on the Remix team so hopefully this can be a joint effort to resolve!
Reproduction
https://github.com/chinanderm/remix-vanilla-extract-vite-alias
System Info
System:
  OS: macOS 13.5
  CPU: (12) arm64 Apple M2 Pro
  Memory: 5.56 GB / 32.00 GB
  Shell: 5.9 - /bin/zsh
Binaries:
  Node: 18.16.0 - ~/.nvm/versions/node/v18.16.0/bin/node
  Yarn: 1.22.19 - /opt/homebrew/bin/yarn
  npm: 9.5.1 - ~/.nvm/versions/node/v18.16.0/bin/npm
Browsers:
  Chrome: 115.0.5790.170
  Safari: 16.6
npmPackages:
  @vanilla-extract/css: ^1.12.0 => 1.12.0
  @vanilla-extract/sprinkles: 1.6.1 => 1.6.1

Used Package Manager
npm
Logs
✘ [ERROR] Failed to load url @my-shared-lib/sprinkles.css (resolved id: @my-shared-lib/sprinkles.css) in /Users/mattchinander/Documents/repos/remix-ve/apps/example-app/app/components/styles.css.ts. Does the file exist? [plugin vanilla-extract-plugin]
    ../../node_modules/vite-node/dist/server.cjs:325:15:
      325 │       result = await this.server.transformRequest(id);
          ╵                ^
    at loadAndTransform (file:///Users/mattchinander/Documents/repos/remix-ve/node_modules/vite/dist/node/chunks/dep-75f53616.js:54890:21)
    at ViteNodeServer._transformRequest (/Users/mattchinander/Documents/repos/remix-ve/node_modules/vite-node/dist/server.cjs:325:16)
    at ViteNodeServer._fetchModule (/Users/mattchinander/Documents/repos/remix-ve/node_modules/vite-node/dist/server.cjs:304:17)
    at ViteNodeRunner.directRequest (/Users/mattchinander/Documents/repos/remix-ve/node_modules/vite-node/dist/client.cjs:248:46)
    at ViteNodeRunner.cachedRequest (/Users/mattchinander/Documents/repos/remix-ve/node_modules/vite-node/dist/client.cjs:183:14)
    at ViteNodeRunner.dependencyRequest (/Users/mattchinander/Documents/repos/remix-ve/node_modules/vite-node/dist/client.cjs:231:14)
    at /Users/mattchinander/Documents/repos/remix-ve/apps/example-app/app/components/styles.css.ts:4:31
    at ViteNodeRunner.directRequest (/Users/mattchinander/Documents/repos/remix-ve/node_modules/vite-node/dist/client.cjs:339:5)
    at ViteNodeRunner.cachedRequest (/Users/mattchinander/Documents/repos/remix-ve/node_modules/vite-node/dist/client.cjs:183:14)
    at ViteNodeRunner.executeFile (/Users/mattchinander/Documents/repos/remix-ve/node_modules/vite-node/dist/client.cjs:160:12)
    at /Users/mattchinander/Documents/repos/remix-ve/node_modules/@vanilla-extract/integration/dist/vanilla-extract-integration.cjs.dev.js:764:29
    at queueFn (/Users/mattchinander/Documents/repos/remix-ve/node_modules/@vanilla-extract/integration/dist/vanilla-extract-integration.cjs.dev.js:520:24)
    at processQueue (/Users/mattchinander/Documents/repos/remix-ve/node_modules/@vanilla-extract/integration/dist/vanilla-extract-integration.cjs.dev.js:541:3)
  This error came from the "onLoad" callback registered here:
    ../../node_modules/@remix-run/dev/dist/compiler/plugins/vanillaExtract.js:136:12:
      136 │       build.onLoad({
          ╵             ~~~~~~
    at setup (/Users/mattchinander/Documents/repos/remix-ve/node_modules/@remix-run/dev/dist/compiler/plugins/vanillaExtract.js:136:13)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at handlePlugins (/Users/mattchinander/Documents/repos/remix-ve/node_modules/esbuild/lib/main.js:1326:9)
  The plugin "vanilla-extract-plugin" was triggered by this import
    app/components/MyComponent.tsx:1:24:
      1 │ import { MyStyle } from "./styles.css";
        ╵                         ~~~~~~~~~~~~~~
✘ [ERROR] Build failed with 1 error:
../../node_modules/vite-node/dist/server.cjs:325:15: ERROR: [plugin: vanilla-extract-plugin] Failed to load url @my-shared-lib/sprinkles.css (resolved id: @my-shared-lib/sprinkles.css) in /Users/mattchinander/Documents/repos/remix-ve/apps/example-app/app/components/styles.css.ts. Does the file exist? [plugin css-bundle-update-plugin]
    app/root.tsx:1:30:
      1 │ import { cssBundleHref } from "@remix-run/css-bundle";
        ╵                               ~~~~~~~~~~~~~~~~~~~~~~~
  This error came from the "onLoad" callback registered here:
    ../../node_modules/@remix-run/dev/dist/compiler/plugins/cssBundlePlugin.js:47:12:
      47 │       build.onLoad({
         ╵             ~~~~~~
    at setup (/Users/mattchinander/Documents/repos/remix-ve/node_modules/@remix-run/dev/dist/compiler/plugins/cssBundlePlugin.js:47:13)
    at handlePlugins (/Users/mattchinander/Documents/repos/remix-ve/node_modules/esbuild/lib/main.js:1279:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Validations

[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

@chinanderm Is this still an issue with the new vite remix plugin and v4 of the VE vite plugin? We've made sure it works correctly with tsconfig paths.

@chinanderm Is this still an issue with the new vite remix plugin and v4 of the VE vite plugin? We've made sure it works correctly with tsconfig paths.

@askoufis I'm assuming it won't be once we're able to transition our Remix apps to the Vite integration. We haven't been able to do that yet as we're waiting on support for Remix+Vite within Shopify Hydrogen. That's coming soon though so I imagine we'll have a resolution on this within the next few weeks.

@askoufis I'm assuming it won't be once we're able to transition our Remix apps to the Vite integration. We haven't been able to do that yet as we're waiting on support for Remix+Vite within Shopify Hydrogen. That's coming soon though so I imagine we'll have a resolution on this within the next few weeks.

Great! Thanks for the update.


Extend TLS Option

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

The changes are brought in new PR: https://github.com/awslabs/aws-crt-swift/pull/246


bug

when proxy url like this http://XXX.XXX.XXX.XXX without user:passwd, the scrapy will report using proxy http://XXX.XXX.XXX.XXX but actually it not.

Commenting to just to bump this up, this is much needed. Please merge it!!


Support alt-key edits, to-uppercase, and to-lowercase in the editor (like SSMS and Visual Studio)

In SSMS, Visual Studio, MS Word, Notepad++ and many other tools, you can hold down ALT+SHIFT+[up or down arrow keys] to edit multiple lines at once.
You can also hold down CTRL+SHIFT+U to uppercase the selected text.
In Visual Studio (not SSMS) you can also do CTRL+U to lowercase the selected text.
I use these features frequently, and I really miss them in ADS, which is in most other ways a really good tool.  Please bring the ADS editor to feature parity with SSMS and Visual Studio.

This is supported in Azure Data Studio (and VS Code) through the "Multiple Cursor" feature. See https://code.visualstudio.com/docs/editor/codebasics#_multiple-selections-multicursor for an explanation of how to use it. Note you can change the default keybinding for adding a new cursor (Ctrl+Alt+Up/Down) to something else (such as alt+shift+up/down) if you wish
Uppercase/Lowercase - these are available already but do not have a default keybinding assigning. You can give them one by opening the keyboard shortcuts editor (Ctrl+K -> Ctrl+S or by running the Preferences: Open Keyboard Shortcuts command and then searching for Uppercase/Lowercase and clicking Add Keybinding

I'd also suggest looking at the "SSMS Keymap" extension - this has a lot of the popular default keybindings from SSMS already set so you don't have to hunt around for them yourself!


Initial module pull

@Jamie-BitFlight
very nice module!
we'll work together to improve it, thanks

Thank you.
Todo draft:

Make the separation token which is currently ~^~ a variable. Small use case, but easy change.
fill out the README to cloudposse standard
add use case scenarios

Make the separation token which is currently ~^~ a variable

Agree. Maybe call it var.delimiter?

In hindsight, wonder if we should rename this module to terraform-aws-ssm-parameter-store for preciseness.

Do you guys mind updating the README to match your format when you accept it? Like the credits and stuff?


Delete config 'disable_bg_flush '

What problem does this PR solve?
Issue Number: close #4641
Problem Summary: In the early version, we add the option disable_bg_flush to adapt the different behavior between TxnMergeTree and DeltaTree. Now the TxnMergeTree is removed, and we should cleanup the useless disable_bg_flush option from TiFlash.
What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/cc @JaySon-Huang

@ywqzzy @SeaRise PTAL


Improve the performance of get prefix

This PR improves the performance of getting the prefix from a string by reducing the input span to only possible prefix characters (overall length - encoded length (26)).
This should now be faster than the original implementation that used IndexOf since we're working backwards so have less characters to read.

Pull Request Test Coverage Report for Build 28

0 of 0   changed or added relevant lines in 0 files are covered.
9 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.4%) to 88.148%

Files with Coverage Reduction
New Missed Lines
%

/src/Minid/Id.cs
9
90.91%

Totals

Change from base Build 17:
0.4%

Covered Lines:
119

Relevant Lines:
135

💛  - Coveralls


Composite address found places

Hi ,
I would like to know how to handle the selection of address found when we enter data in composite address.

@Raj137 - Thank you for raising this issue to us. This feature is not currently available within EasyRepro.
I've added an item to our backlog to enhance address input for composite addresses and allow interaction with this dialog. We'll update as soon as this enhancement is made available.
Best Regards,
Tyler


Bump Dependencies #11348855616

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/11348855616

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


OpenRouter integration errors

Hey!
Seems like the openrouter provider isn't working.
Using this test file:
description: openrouter test
prompts:
  - Write a tweet about bananas
providers:
  - id: openai:chat:gpt-3.5-turbo
    config:
      apiBaseUrl: https://openrouter.ai/api
      apiKey: [real key]
tests:
  - vars:
    assert:
      - type: icontains
        value: banana

returns this error :

Hey @dorperetz, it should be:
apiBaseUrl: https://openrouter.ai/api/v1

Let me know how that works. I'll update the doc!


BUGFIX: Fix go-libp2p-crypto import.

Coverage remained the same at 27.47% when pulling 7317d3ae1740867995a3a9e42d336e5604de8681 on TS_fix_import2 into e3878645419f24680d4f775c1bfc6abd26e1ddf2 on master.


[WIP] Proposal: extension points

This is an enumeration of the current hooks for extending Numba with new types and operations, and I hope to have meaningful proposals to add to it :)
I haven't finished writing it, so I don't think it's worth merging now, unless some people would like to read and comment already.

+1. Looking forward to this. Would it be possible to do this in pure python syntax or would it require dropping down into C?

@datnamer The question of Numba / DyND / Datashape interoperability is being actively thought about and discussed. For the moment, there's not much for me to weigh in on here.

Ok great. Also wanted to throw out here non-array scientific use cases involving defining fast classes  (like agents in agent based models) and interoperability with existing libraries like networkx and scipy stats. Not sure if technically feasible, but I just wanted to put my vote in for anything that might enable simulations like these with numba.

I have my own ndarray-like objects with labels (http://github.com/liam2/larray FWIW), that is very similar to xray (and a bit like Pandas too). Basically they are classes with a .data field which is an ndarray (in the simple case) and then some metadata in other fields. I would like functions using my objects to be njit'able. Is this kind of use case covered by these extension points? If it is, it would help if there was some kind of tutorial on "How to make my own classes jitable".

This is exactly the use case we want to support when this task is finished!

@seibert , how about adding JIT interoperable scikit learn models? I want to create JIT classes that can have scikitlearn  objects/functions in their fields or methods. Any way that this would be able to make that work?

I assume this would only work for python object that have concretely typed data structures or native code?
Wouldn't work for regular python class with all its dynamic nature and indirection?

OK, going to merge this as a draft (so we can read it properly formatted by Sphinx) and we can discuss changes in a followup PR.


Linux

I am free to make this work on linux, do you want me to?

Yeah absolutely. I hope the abstractions on top of everything will help with that.

Thanks, that'll help a lot, should I use X?

When writing I thought it was originally going to be a much smaller project, but it got much bigger than expected.
If the project's scope becomes even larger (which I hope it doesn't), I think rewriting EasyMulti.pyw (probably into multiple files) would be necessary.
So a no to the organizing thing for now, that can be left to me.
Also I'm not exactly sure what X is.

That's fair
Also by X I mean Xlib

Xlib looks good
You're probably more qualified than me to make a choice like that
Also I will say that I already use the cross platform keyboard module for running the reset macro (pressing not detecting) . I would have used that for everything, but it comes with some major limitations, which is where the custom key_util helps. So looking into the keyboard module could show some useful stuff for making the Linux key_util.

I've decided to use xdotool, a tool for using X via the terminal.
I am using the keyboard module, but only for linux. It's very effective on here but the only downside is that you have to run it with sudo.
I'm actually almost done with the linux version. Is it okay if I make a pr without editing the main file and you can implement them into it? I'm not sure how you structured it KekMan

Also, since the keyboard module is cross-platform, I don't see why you wouldn't use it for everything. Everything you did with the key utils can be done with the keyboard module

You don't have to, but could you add me on Discord? It's much easier to make conversation over there...
Wurgo#1735

Partially done

Should be finished. Waiting on testing to close this issue and release.

yo check this out
https://github.com/woofdoggo/resetti

yeah I seen that in javacord it's sick


exhibits.js: the viewport moves on page load

When first loading a page that includes exhibits.js, the viewport and the navigation menu undergoes a five step process before settling on the waypoint defined in the URL:

nav empty
nav empty + osd zoomed-out #1
nav empty + osd zoomed-in
nav drawn + osd zoomed-out #2
nav drawn + osd waypoint position

The navigation should draw as soon as possible, with only the final waypoint position shown.

The application starts too zoomed-in, and OSD resets to the home view while the browser has already started to load a deeper pyramid level, then the browser needs to also load the top pyramid level. it effectively just makes the top level images much slower to load.


nixos/redis: systemd sandbox

Motivation for this change
Add systemd service sandbox features and improve service description.
Things done

[x] Run redis service
[x] Test with rspamd. Connected via tcp on localhost and unix socket.

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

cc redis maintainers @berdario @globin

This patchset would need some fixing.
Note: AmbientCapabilities = []; is not equal to AmbientCapabilities = "";.

This patchset would need some fixing.
Note: AmbientCapabilities = []; is not equal to AmbientCapabilities = "";.


Persistent SSL certificate issues

Follow up from #83
Hi @RobPasMue
Thanks for quick fix.

This works for downloading now, I cannot install Python because of Admin Rights. That is fine for now.
I have also encountered  SSL problem with updater

I am not really sure where these SSL problems are arising from exactly, because I can access everything over the browser without any problems.
Originally posted by @kmahajan-cadfem in https://github.com/pyansys/python-installer-qt-gui/issues/83#issuecomment-1527736318

Hi @kmahajan-cadfem - could you verify that this issue is still occuring on your side? Thanks in advance!

@RobPasMue, this is indeed the case and I think this is more related to the network config(reverse proxy and cert managers) on our side, since I cannot access the some websites(including Github) using requests or pygithub from python, irrespective of the Python Manager.
so if you have totally offline more in your mind, I dont think this could be resolved just using the code from Python Manager.

Yes, that was my feeling as well... Let's try something though, it might be only related to the fact that you can't verify the certificate. Could you try running the following code on your side and see if it works?
You will need to install pygithub (requests will be installed as well, since it is a dependency)
import github as gh
import requests

# Disable SSL certificate verification
session = requests.Session()
session.verify = False

gh = Github()
repo = gh.get_repo(f"ansys/python-installer-qt-gui")

# Get the latest release and its tag name
latest_release = repo.get_latest_release()
latest_version_tag = latest_release.tag_name

print(latest_version_tag)

# Re-enable SSL verification
session.verify = True

What I could do (otherwise) is to show a URL to the latest release so that users can verify manually whether they are in the last version or not (in case the Python Manager code fails using requests). That is definitely feasible. =) Won't be automated - but it will allow you to easily verify it at least

Yes, that was my feeling as well... Let's try something though, it might be only related to the fact that you can't verify the certificate. Could you try running the following code on your side and see if it works?
You will need to install pygithub (requests will be installed as well, since it is a dependency)
import github as gh
import requests

# Disable SSL certificate verification
session = requests.Session()
session.verify = False

gh = Github()
repo = gh.get_repo("ansys/python-installer-qt-gui")

# Get the latest release and its tag name
latest_release = repo.get_latest_release()
latest_version_tag = latest_release.tag_name

print(latest_version_tag)

# Re-enable SSL verification
session.verify = True

Did not work ...

What I could do (otherwise) is to show a URL to the latest release so that users can verify manually whether they are in the last version or not (in case the Python Manager code fails using requests). That is definitely feasible. =) Won't be automated - but it will allow you to easily verify it at least

This would be great, so that user can see for himself, if he wants new version or not.

Implemented in #152 - have a look at it @kmahajan-cadfem and let me know what you think. Thanks for the feedback!


Update README.md

Changed 'substrate' to 'reactant' for better clarity.

Substrate is preferred for organic reactions

Substrate is preferred for organic reactions

Ok 👌


Run vue -vite-app example,hanging and just showing "Stream #0:1 -> #0:1 (mp3 (mp3float) -> aac (native))"

Run vue demo,hang and just show "Stream #0:1 -> #0:1 (mp3 (mp3float) -> aac (native))"
edge browser
windows 11

Try to use the single-threaded version of the @ffmpeg/ffmpeg。


Revert instance entity naming

Change the naming of the instance entities back to the logic pre-v0.1.22

@alexdelprete, @travisghansen I'd say that #149, #150 and #151 can be packaged up into the next release if you're ok with the PRs. I'd suggest that this gets released as a Breaking Change (possibly bumping the version to v0.2.0) due to the permissions changes even though they technically started with v0.1.22.
As for whether to list and recommend the individual permissions or admin, I'd agree that we might as well just recommend admin now so we dont have to keep adding on permissions piecemeal as we move functions to the REST API.
I likely wont be able to package up the release, explain the breaking change and new permission, and update the readme until the weekend so feel free to do it sooner if you'd like.

I really don’t have much time to properly review, all of the above seems perfectly reasonable though so release whenever is convenient for you.

I likely wont be able to package up the release, explain the breaking change and new permission, and update the readme until the weekend so feel free to do it sooner if you'd like.

I have some time available to do this today. Just let me know what you want to write in the readme regarding the "breaking change": for me, it's just that we now require admin role for the user.
Also, do we want to first release a beta for a quick test or go straight to the stable release?
Let me know, I'll start reviewing the PRs and then merge them.


Remove github vulneribility warnings

Remove github vulneribility warnings
current direct dependencies has some github vulnerability because of the Transitive dependencies. So we need to update below packages.

codecov update to 3.6.5
acorn update to 6.4.1
minimist update to 0.2.1
https-proxy-agent update to 2.2.3

Cannot update csv-parse as it is transitive dependency of csv and we are using 1.2.0 and the latest is 4+ . So it may breaking things.
Created issue in csv (adaltas/node-csv#263)


Incorporating youtube search

instead of copying and pasting URL. We should create a search field that will allow us to search videos right from the gui or cli

I'd say it should probably be pretty low priority, as YouTube already has a great search (don't want to reinvent the wheel), and most people will want to initially watch what they are about to download, before downloading it.
If anything, a search feature should only be included if we can effectively also allow people to watch the video within the application as well. Searching via cli I think wouldn't be worth our efforts, for the previously mentioned reasons.

We can assign this as low priority. I was thinking about implementing it in gui so people can search and people can play right in the gui

yeah, was looking into pyqt instead of tkinter for a more advanced interface, as there are serious limitations behind tkinter.

I see Kivy is pretty cool framework
yup and you are right tkinter won't be able to fit all feature we want to add btw the thumbnail was pretty cool


Prowler version points to master

We need to point to a released Prowler version rather than pointing to master.
A new property prowlerVersion can be specified to change the used version. The default will be the latest release prowler version 2.5.0

https://github.com/mmuller88/cdk-prowler/commit/fe2a0e89f46c738119680bda248d31d1917f6af5


fix: add relative timeout support for localhost clients using the transfer CLI client

Description
This PR adds a little bit more code to the CLI handler in order to accommodate localhost clients.
I've implemented it as so to avoid breaking APIs which will allow it be backported for v7.1.0

Adds relative timeout support for localhost clients in transfer CLI
Updates incorrect error return in 04-channel SendPacket

closes: #3568
Commit Message / Changelog Entry
fix: add relative timeout support for localhost clients using the transfer CLI client

see the guidelines for commit messages. (view raw markdown for examples)

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md).
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards and Go style guide.
[ ] Wrote unit and integration tests.
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/).
[ ] Added relevant godoc comments.
[ ] Provide a commit message to be used for the changelog entry in the PR description for review.
[ ] Re-reviewed Files changed in the Github PR explorer.
[ ] Review Codecov Report in the comment section below once CI passes.

Codecov Report

Merging #3587 (78e16c1) into main (dc3c649) will not change coverage.
The diff coverage is 100.00%.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #3587   +/-   ##
=======================================
  Coverage   78.79%   78.79%
=======================================
  Files         182      182
  Lines       12688    12688
=======================================
  Hits         9998     9998
  Misses       2258     2258
  Partials      432      432

Impacted Files
Coverage Δ

modules/core/04-channel/keeper/packet.go
99.10% <100.00%> (ø)

... and 1 file with indirect coverage changes


And more horse

Yay, more episodes!

(On a side note, ponyapi.apps.xeserv.us is down)

This should be live now!


Improvement for locations in both code-gen and error reporting

Fixes partially https://github.com/davesnx/styled-ppx/issues/448

Made parser wrapped (Styled_ppx_css_parser)
Fixed subgrid value on grid-template-columns/rows/auto...
Rename Css_types to Ast
Adjust locations before rendering and generating the error
Removed css-support.expect

After this PR the locations don't look exactly I would like it to, but they are close enough:
+  File "input.re", lines 10-11, characters 6-36:
+  10 | ......|
+  11 |     text-decoration: $(cosas).
+  Error: This expression has type [> `underlin ]
+         but an expression was expected of type
+           [< `inherit_
+            | `initial
+            | `lineThrough
+            | `none
+            | `overline
+            | `underline
+            | `unset
+            | `var of string
+            | `varDefault of string * string ]
+         The second variant type does not allow tag(s) `underlin
+  [1]

The reamaining work to make them perfect is to make sure css_lexer and css_parser respect whitespaces and use loc in menhir properly


Tidy I24 SSX docs a bit

Merging this without review because it's just shuffling docs around and nobody else is here right now


syncdown -Maxium number (5) of tries failed.

Run syncdown  always ended up with 'Maxium number (5) of tries failed.'.  But run list, info both are fine?
 HTTP status code:206
 206 Partial Content (this is OK) , processing action
 Maxium number (5) of tries failed.

The file was blocked by Baidu from downloading.

Yes, it's the same as the one reported in #368 .
It's indeed very frustrating, as nothing we can do here..


Account linking works for one database but not the other, same settings.

I have a debug and release firebase project for one of my apps. I use login with google/fb/email. In one of the firebase projects, when I sign in with google + fb, i see that auth joins the accounts (debug). However, in the other database (release), this does not happen. Both projects have "One account per email address" enabled. The release firebase project was imported as a  legacy firebase project, this is the only reason I though that the behavior could be different.
I can privately provide names of the projects if someone on the team would like to look into it.

@xsorifc28 we will need more information to debug:

Have you enabled the correct Sign In Providers in each project?
Do you have the SHA1 configured properly?  This is likely related to the issue since Google Sign In is dependent on the SHA1
What error logs do you see?

@samtstern

Both projects have the same Sign In Providers enabled.
One project is for the release version of the app, so that one has the release SHA1 where as the other has the debug SHA1. Sign in with Google/Facebook/Email works on both projects. The release project does not join the emails. I see two auth-list items for the same email, one for Google and one for Facebook.
I didn't see any logs that related to the sign-in process.

Release database (again, this database was originally imported from firebase.com, some UIDs are in provider:number format.

Debug database:

The emails are the same, just not sure why they are not joined in the release project.

@xsorifc28 ok so is this what you are trying to do:

Sign up with email
Sign out
Sign up with a Google/Facebook account with an email that matches
See account linking

?

Yes.

@xsorifc28 do you see the same UI flow in each app?  You should see one of the "welcome back" screens and then be prompted to sign in with the original method.
In general any information you could provide here would be helpful.  Logging output, a description of where the UI fails, etc.
It's really not clear that this is a FirebaseUI issue at all based on the amount of information provided.

Yes, UI flow is same - infact the app is the same, just different package name. The logs just show "notifying about auth state listener". No information about linking.  I also am beginning to believe that this is not a Firebase UI issue. Though, could you point me to where the linking happens in FirebaseUI? I'd like to debug that part of the code to see if I can get any information out of it.


Typo in Shield Projector interface

Word "optionally" is misspelt in mouse-over message for "Player" button toggle as shown above.

Fixed in next version


Stop DoSing users with renderer errors

If a rendering engine constantly throws error we'll effectively
denial-of-service our users by drowning them in warning popups.
This commit fixes the issue by limiting the retries in all cases.
Issue found in: #13985
Validation Steps Performed

Add a THROW_HR(E_INVALIDARG); in AtlasEngine::StartPaint()
Launch Windows Terminal
Only one warning popup shows up ✅
Rendering is disabled until one clicks "resume" ✅

Good fix, love it

Hmm your renderer change for error reporting and timeouts seem to have caused the unit tests to take 30 minutes to run
I hope that they don't rely on render errors to do .. something. 😆

I don't understand why this change requires us to propagate a render thread to the tests. Why is that?

I don't understand why this change requires us to propagate a render thread to the tests. Why is that?

On rendering failure it calls _pThread->DisablePainting();. Some tests apparently cause exactly such failures, and if TAEF isolation is disabled then all subsequent tests may fail as well.


bump k8s libraries to 1.18.0

Signed-off-by: André Martins<EMAIL_ADDRESS>

test-me-please

Coverage decreased (-0.005%) to 45.505% when pulling 167c4651fe2854616cb63a3a621e277c46b747cf on pr/bump-k8s-libs-to-1.18 into 7c023b53832de6c6e6fb825d5c678925e34b27ef on master.

test-missed-k8s

the failed tests are a known flake, merging


Block height clock

It's been a year since another user recommended this , so i hope this is not spam.
https://stacker.news/items/22352/r/llamabyte
In this bear market it would be nice have the option to open SN and see the blockheight instead

I'm sure mempool.space has an API for this but we could also hit SN's node.

Just to be clear for whoever may work on this, are we looking to implement a user setting that replaces all timestamps in the UI with corresponding block height, or is this to add another item in the "current price" carousel in the page header that displays the current block height? I think the scope of work varies wildly depending on the answer.

I think this is just for the price area for now.

My request was only for adding a BTC timestamp to the current price corrousel. Another user in the notes about this request thought it might be nice to have the option to have each date in the site reflected as the timestamp. Bit intense for me but options are nice.

For others to be aware, I am working on adding the current block height to the price carousel. Just so we can avoid doing any duplicate work :)


sc.pl.spatial alpha values for continuos/discrete annotations

[ ] Additional function parameters / changed functionality / changed defaults?
[ ] New analysis tool: A simple analysis tool you have been using and are missing in sc.tools?
[x] New plotting function: A kind of plot you would like to seein sc.pl?
[ ] External tools: Do you know an existing package that should go into sc.external.*?
[ ] Other?

as done in cell2location @vitkl

...

unfortunately #437 does not address this but gets very close. Will keep this open for next release.

this is gonna be worked sometime else in the future, closing due to inactivity

I am still interested in the solution.
The value of using alpha is that spots become transparent when the value is 0 rather than becoming black and obscuring the underlying view of the tissue.
In principle, we can already just use this function from cell2location package. Maybe you can just put this function into external or as a separate plotting function? You/I can just copy this code and make the interface consistent with sc.pl.spatial.
One limitation is that it doesn't allow printing multiple panels, one panel per variable/column like sc.pl.spatial - only up to 6 variables in one panel. It is often useful to plot variables one by one.

We do not plan to add features to the squidpy plotting library, as it will be superseded by spatialdata-plot


Improve API usage intrumentation

Our current instrumentation doesn't track API usage or errors. Better insights into how much API usage varies, and how frequently we run into will help our decision making.

Added headers for Hiro to improve tracking. For now, we have API errors at least.


Google Camera crashes

The included Google Camera from GAPPS crashes imediately on startup.
Versionnumber is <IP_ADDRESS>2479879

This could either mean, that something in the kernel or LineageOS is missing or that it's not configured properly (I'm looking at you SELinux)
Anyhow, with my old phone (arm) I was able to install different versions of the apk (downloaded from apkmirror.com) and it was working up to a certain point where google seems to have changed something. Maybe going back a few versions could fix this. I need to try that in addition to switching back to permissive.

Reverting the camera to a previous version didn't help at all.
During my research of the stock ROM I found several "vendor" specific programs and setting for camera and the like (mtk_advcamserver, mtk_hal_camera and so on).
Maybe the higher api (camera2?) needs some vendor specific parts that don't get initiated correctly.
In contrast OpenCamera works fine with both api.
So back to the drawing board and doing more research.

According to logcat some libraries are missing.
android.hardware.graphics.mapper@3.0::IMapper/default
android.hardware.graphics.allocator@3.0::IAllocator/default
amongst others.

From all my recent discoveries this could also be related to missing permissions or overlays because they are somehow connected. Pixel Launcher needed an overlay to get a higher clearance as a system app to provide it's recent app list feature to the system. So I need to snoop around in the stock ROM overlays to see what I can find.

From all my recent discoveries this could also be related to missing permissions or overlays because they are somehow connected. Pixel Launcher needed an overlay to get a higher clearance as a system app to provide it's recent app list feature to the system. So I need to snoop around in the stock ROM overlays to see what I can find.


feature(migrate2rocky9.sh): add an option for easy migration on vaulted repos

I added an option to migrate2rocky9.sh script. It enables migration to vaulted repo.
Example invocation: sudo bash migrate2rocky9.sh -rv 9.3
If anyone is interested, it is possible to add analogical option for migrate2rocky.sh.

We only support the most recent release of each major version of Rocky Linux.  This is because prior versions are not maintained and will have security vulnerabilities, some of them can be pretty bad zero-day vulnerabilities that have been fixed in the latest update.  I am reluctant to add support for switching to an unsupported, insecure, old version of Rocky Linux.

I see. I find it useful for people, who have not updated their systems and skipped some minor versions. With this option, they can break down migration and upgrade into minor to minor+1 steps. It is quite narrow use-case, however I have met quite a few clients with some old abandoned systems like this.

Indeed a lot of people don't keep their systems up to date.  Migrate2rocky as it is forces them to bring it up to date and that's a good thing.  I should note that we recommend that you run dnf update before running migrate2rocky and migrate2rocky even makes sure of this by running dnf update itself as an initial step.  I've noticed that your PR does not take this into account so in the case of your PR migrate2rocky will end up running dnf update to bring the system up to date first, then attempt to distro-sync the system back down to the specified release only for you to then attempt to step it back up again.  I don't think this is what yo intend.
Regardless, even if you fix this issue I won't be accepting any PR that is intended to allow someone to migrate to an unsupported release of Rocky Linux, if you wish to run such a version then you're on your own and I don't intend to supply utilities to help you shoot yourself in the foot, especially since it could well be taken as an implicit support for these end of life releases.
I do appreciate the initiative to help us with a PR, though and hope you don't take this as a rejection of your code in general, but rather that this is just one particular feature that we cannot offer.
I'm going to go ahead and close this PR but I'm certainly open for further discussion and you're welcome to contact me in chat if you want a real-time conversation about this.


WIP: Update Dockerfile to align with openliberty #814

Updated Dockerfile to agree with changes to the Dockerfile-ol
~$ curl -k -i -u 'fhiruser:change-password' 'https://localhost:9443/fhir-server/api/v4/$healthcheck'
HTTP/1.1 200 OK
Content-Type: application/fhir+json
Date: Mon, 23 Mar 2020 18:22:39 GMT
Content-Language: en-US
Content-Length: 123

{"resourceType":"OperationOutcome","issue":[{"severity":"information","code":"informational","details":{"text":"All OK"}}]}

Signed-off-by: Paul Bastide<EMAIL_ADDRESS>

Eventually I'd like to get down to a single dockerfile, but the Ubuntu-based on has worked pretty well for us to-date...I'd prefer to hold off on the consolidation for now unless there's something driving it.

Eventually I'd like to get down to a single dockerfile, but the Ubuntu-based on has worked pretty well for us to-date...I'd prefer to hold off on the consolidation for now unless there's something driving it.

#814 is the only reference (the failed classcache and keystore notice).

interestingly, got 7 errors in touchstone basic-all test, but seems it's not fhir--server issue, and the requests were failed before reaching fhir-server.
https://touchstone.aegis.net/touchstone/scriptexecution?exec=202004062239124248081529&qn=/FHIR4-0-1-Basic/A-C/CodeSystem/Server Assigned Id/CodeSystem-server-id-xml#WAITING_OPER

re-run the failed touchstone for a few more times, and suddenly, it all passed. re-run basic-all now.

I talked to Lee about this.. it's actually shockingly a lot of work behind this change.  We decided to revisit in another sprint

agreed with Lee that 904 overrides this change.


Feature apisix-doc

@moonming @membphis
I will use docsify to help us build the doc site. And following steps are my ways to implement it:

Migrate files under apisix/doc to repo apisix-doc, or copy files' content from apisix/doc to repo apisix-doc;
Expand the usage of every plugin like https://docs.rsshub.app/new-media.html;

Do we have some special rules or requirements about the doc site?

Also, I will build the English site first.

I think we can keep doc in apisix at first, which is better for community cooperation.
Sure, I agree with the English first.

Yep, it's a good idea to let contributors update doc in the apisix repo.


./migrate-database.sh: line 6: cake: command not found

Hi.
we used today this example with errors.
oc logs -f cakephp-mysql-example-1-prehook

Generating database schema 'cake schema generate' ...
./migrate-database.sh: line 6: cake: command not found

The build was successfully
oc get po
NAME                              READY     STATUS      RESTARTS   AGE
cakephp-mysql-example-1-build     0/1       Completed   0          14m
cakephp-mysql-example-1-deploy    0/1       Error       0          13m
cakephp-mysql-example-1-prehook   0/1       Error       0          13m

Can you give me recreate steps?  you just instantiated the template https://github.com/openshift/cakephp-ex/blob/master/openshift/templates/cakephp-mysql.json ?
can you also provide me with the output of "oc get dc -o yaml"?

The customer just select this example from the openshift template page.
oc get dc  -o yaml cakephp-mysql-example
https://gist.github.com/cw-aleks/2c4fdad75bbc1aff2452f35fb9126bb3
oc version
oc v<IP_ADDRESS>
kubernetes v1.1.0-origin-1107-g4c8e6f4

@cw-aleks is the customer using the rhel imagestreams or the centos imagestream?  can you share "oc get is -n openshift -o yaml" ?

To me it looks like rhel
https://gist.github.com/cw-aleks/ae5b6f35b151e27164b6ac9ee21ec863

those image streams appear very out of date, for comparison here's what they look like for me.. note the dates of yours are from february:
status:
  dockerImageRepository: <IP_ADDRESS>:5000/openshift/php
  tags:
  - items:
    - created: 2016-08-22T19:39:39Z
      dockerImageReference: registry.access.redhat.com/rhscl/php-56-rhel7:latest
      generation: 2
      image: 5b30d4ad5edf47220b432088a53fb00d35f744b81c728eb47c57d86d2e0da6ed
    tag: latest
  - items:
    - created: 2016-08-22T19:39:39Z
      dockerImageReference: registry.access.redhat.com/rhscl/php-56-rhel7:latest
      generation: 2
      image: 5b30d4ad5edf47220b432088a53fb00d35f744b81c728eb47c57d86d2e0da6ed
    tag: "5.6"
  - items:
    - created: 2016-08-22T19:39:39Z
      dockerImageReference: registry.access.redhat.com/openshift3/php-55-rhel7:latest
      generation: 2
      image: 57bf552850346d46370b4f70ea4075bec956a8c9466dd42889e711d6ccaaf967
    tag: "5.5"

can you run "oc import-image php -n openshift" to update your cluster's php imagestreams?

Okay thanks.


JS SDK - Create Helper Script to demonstrate account creation and transfer

Create a similar script as testnet. Refer to details in #157

https://github.com/casper-ecosystem/training-materials/pull/1
here is a PR containing working script in the repo :)
let me know if you can access it @Shalmali123 because im not sure about it (couldn't add you as reviewer)

@Jan - I do not have an access to the repo.
Could you please help me with this.

On 03-Oct-2022, at 10:21 PM, Jan Hoffmann @.***> wrote:
casper-ecosystem/training-materials#1 https://github.com/casper-ecosystem/training-materials/pull/1

Discussed with @Jan and waiting for changes related to the transfer using an existing account in the send-transfer script.
@jan or @piotr-dziubecki - could you please add @ipopescu, @ramujin and @ashok-cl to Training Material Repo?

Training Material Repo?

hi @Shalmali123 . Since it's in casper-ecosystem they already have access to this repo.

Great! Thank you so much!

Changes implemented and merged to master
https://github.com/casper-ecosystem/training-materials/pull/1


Issue with weather boost icon sizes

Weather boost icon doesn't scale right with SM size

Fixed in #346


Node Group modifying each time terraform apply runs due to version change on LT

Description
In EKS 1.21, I have MNG with LT pattern. I have a custom AMI on LT. Even though there is no change on AMI or User-data , each time when terraform plan run it shows diff on default and latest version on LT which cause MNG to be recreated. This cause unwanted interruption to the EKS workloads.
Versions

Terraform: 0.15.3

Provider(s):

Module:

hashicorp/kubernetes v2.2.0
hashicorp/aws v3.59.0
hashicorp/template v2.2.0
terraform-aws-modules/http v2.4.1
hashicorp/local v2.1.0
hashicorp/helm v2.2.0
hashicorp/cloudinit v2.2.0
hashicorp/archive v2.2.0

terraform-aws-eks module version : v17.1.0
Reproduction

Steps to reproduce the behavior:
Are you using workspaces? : No
Have you cleared the local cache (see Notice section above)?  : Yes
List steps in order that led up to the issue you encountered :

Create a EKS Cluster
Use MNG with LT
In LT, use a Custom AMI (build out of amazon eks AMI).
Use the default User-data to bootstrap.

Code Snippet to Reproduce
EKS
module "eks" {
  ....
  node_groups = {
    cs_ng = {
      desired_capacity               =  4
      max_capacity                    =  4
      min_capacity                     = 10
      launch_template_id          = aws_launch_template.default.id
      launch_template_version = aws_launch_template.default.default_version
      instance_types                  = []
      k8s_labels = {
        Environment = var.environment
        Region      = var.region
        NodeGroup   = "workers"
      }
      additional_tags = {
        "Name"                                = "${var.eks.cluster_name}-node"
        "k8s.io/cluster-autoscaler/enabled"   = "true"
        "k8s.io/cluster-autoscaler/${var.eks.cluster_name}" = "owned"
      }
    }
  }
}

Launch_Template
data "aws_ami" "ami" {
  owners      = ["self"]
  most_recent = true

  filter {
    name   = "name"
    values = ["eks-ami-${var.eks.cluster_version}*"]
  }
}

resource "aws_launch_template" "default" {
  name_prefix            = "${var.eks.cluster_name}-"
  description            = "Default Launch-Template"
  update_default_version = true

  block_device_mappings {
    device_name = "/dev/xvda"

    ebs {
      volume_size         = 800
      volume_type        = "gp2"
      delete_on_termination = true
      encrypted           = true
      kms_key_id          = aws_kms_key.worker_ebs_kms.arn
    }
  }

  instance_type = var.eks.instance_type

  monitoring {
    enabled = true
  }

  network_interfaces {
    associate_public_ip_address = false
    delete_on_termination        = true
    security_groups           = [module.eks.cluster_primary_security_group_id]
  }

  image_id = data.aws_ami.ami.id

  user_data = base64encode(
    data.template_file.launch_template_userdata.rendered,
  )

  # Supplying custom tags to EKS instances is another use-case for LaunchTemplates
  tag_specifications {
    resource_type = "instance"

    tags = {
      "kubernetes.io/cluster/${var.eks.cluster_name}"   = "owned"
      "k8s.io/cluster-autoscaler/enabled"      = "true"
      "k8s.io/cluster-autoscaler/${var.eks.cluster_name}" = "owned"
      "Name"                                         = "${var.eks.cluster_name}-worker"
    }
  }

  tags = {
    cluster_name = "${var.eks.cluster_name}"
  }

  lifecycle {
    create_before_destroy = true
    ignore_changes = [
      tags,
    ]
  }
}

Expected behavior
No change should happen to the latest_version and default_version of aws_launch_template as there is no change on them.
Actual behavior
aws_launch_template gets updated with newer version and updates latest & default version, which leads to aws_eks_node_group to be replaced.
Terminal Output Screenshot(s)
   # aws_launch_template.default will be updated in-place
   ~ resource "aws_launch_template" "default" {
       ~ default_version         = 14 -> (known after apply)
         id                      = "lt-020f35c0e3018fc32"
       ~ latest_version          = 14 -> (known after apply)
         name                    = "eks-vpc-test-20210901030504281300000001"
         # (15 unchanged attributes hidden)
     }

   ~ resource "aws_eks_node_group" "workers" {
         id                     = "eks-vpc-test:fiaa-vpc-test-cs_ng20210922163717878400000002"
         tags                   = {
             "Name"                                    = "eks-vpc-test-node"
             "k8s.io/cluster-autoscaler/enabled"       = "true"
             "k8s.io/cluster-autoscaler/fiaa-vpc-test" = "owned"
             "nike-environment"                        = "sbx"
         }
         # (16 unchanged attributes hidden)
       ~ launch_template {
             id      = "lt-020f35c0e3018fc32"
             name    = "eks-vpc-test-20210901030504281300000001"
           ~ version = "14" -> (known after apply)
         }
         # (2 unchanged blocks hidden)
     }

Additional context
If i try to add default_version and latest_version to lifecycle/ignore_changes, it does not recoganize the change on AMI when it happens & forces me to run the terraform plan and apply twices. (1st time for changing AMI, 2nd time for apply the change)

Here for the above issue, I was follow the example : https://github.com/terraform-aws-modules/terraform-aws-eks/tree/master/examples/launch_templates_with_managed_node_groups

upstream bug https://github.com/hashicorp/terraform-provider-aws/issues/19411

to ignore LT version changes just set update_default_version to false in inputs to node group (as per https://github.com/terraform-aws-modules/terraform-aws-eks/tree/master/modules/node_groups)

to ignore LT version changes just set update_default_version to false in inputs to node group (as per https://github.com/terraform-aws-modules/terraform-aws-eks/tree/master/modules/node_groups)

@daroga0002 I tried doing this, doesn't seem to work, still tries to change from a specific version number to "$Latest":
`  ~ resource "aws_eks_node_group" "workers" {
id                     = "nodegroupid"
tags                   = {
"Name" = "nodegroup1"
}
# (16 unchanged attributes hidden)
  ~ launch_template {
        id      = "lt-id"
        name    = "nodegroup"
      ~ version = "3" -> "$Latest"`

Like @jweigand I also had the same result.

The code is different for when using an external launch template, as seen here https://github.com/jaimehrubiks/terraform-aws-eks/blob/master/modules/node_groups/node_groups.tf there are two dynamic blocks referring to launch_template. In your case, it is the one above.
Not sure why your launch template is triggering a change when there is no change on it. That looks more like an upstream bug on a certain version of the provider? not sure.

I'm facing this issue as well, no matter what I set the EKS module still attempts to change the launch template version to $Latest.

Hi folks. I'm investigating this issue as part of my work on upstream bug hashicorp/terraform-provider-aws#19411. However, I am not able to replicate the perpetual diff in aws_launch_template using the config provided above.
Versions
Output of terraform -version:
Terraform v0.15.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/archive v2.2.0
+ provider registry.terraform.io/hashicorp/aws v3.59.0
+ provider registry.terraform.io/hashicorp/cloudinit v2.2.0
+ provider registry.terraform.io/hashicorp/helm v2.2.0
+ provider registry.terraform.io/hashicorp/kubernetes v2.2.0
+ provider registry.terraform.io/hashicorp/local v2.1.0
+ provider registry.terraform.io/hashicorp/random v2.1.0
+ provider registry.terraform.io/hashicorp/template v2.2.0
+ provider registry.terraform.io/terraform-aws-modules/http v2.4.1

On v17.1.0 of terraform-aws-modules/terraform-aws-eks, using examples/launch_templates_with_managed_node_groups.
Config
The config I used is mostly identical to that of examples/launch_templates_with_managed_node_groups. The main changes are switching from local values to input variables, as well as the addition of k8s tags to match the original partial config provided for this issue.
Full config gist
Results
$ terraform apply
...
Plan: 46 to add, 0 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes
...
Apply complete! Resources: 46 added, 0 changed, 0 destroyed.

$ terraform apply
...
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

Same results on continued terraform apply attempts.
@rangarb885, @jamiegwatkin, or @Lincon-Freitas: are any of you able to either compare your failing configs with mine, or otherwise provide a full failing config so I can replicate on my end?
Thanks!

Hi Zoe,
Can you try the below:

On the LT add a new tag via CLI or Console.
Run the Terraform plan & apply. What i observed was that the LT version
gets changed as it removes the tag which is created via CLI.

Thanks!
On Fri, Nov 19, 2021 at 3:34 PM Zoe Helding @.***>
wrote:

Hi folks. I'm investigating this issue as part of my work on upstream bug
hashicorp/terraform-provider-aws#19411
https://github.com/hashicorp/terraform-provider-aws/issues/19411.
However, I am not able to replicate the perpetual diff in
aws_launch_template using the config provided above.
Versions
Output of terraform -version:
Terraform v0.15.3
on linux_amd64

provider registry.terraform.io/hashicorp/archive v2.2.0
provider registry.terraform.io/hashicorp/aws v3.59.0
provider registry.terraform.io/hashicorp/cloudinit v2.2.0
provider registry.terraform.io/hashicorp/helm v2.2.0
provider registry.terraform.io/hashicorp/kubernetes v2.2.0
provider registry.terraform.io/hashicorp/local v2.1.0
provider registry.terraform.io/hashicorp/random v2.1.0
provider registry.terraform.io/hashicorp/template v2.2.0
provider registry.terraform.io/terraform-aws-modules/http v2.4.1

On v17.1.0 of terraform-aws-modules/terraform-aws-eks, using
examples/launch_templates_with_managed_node_groups.
Config
The config I used is mostly identical to that of
examples/launch_templates_with_managed_node_groups. The main changes are
switching from local values to input variables, as well as the addition of
k8s tags to match the original partial config provided for this issue.
Full config gist
https://gist.github.com/zhelding/e9ef5dcd6bfe5bc881a67255441cf9f4
Results
$ terraform apply
...
Plan: 46 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
...
Apply complete! Resources: 46 added, 0 changed, 0 destroyed.
$ terraform apply
...
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
Same results on continued terraform apply attempts.
@rangarb885 https://github.com/rangarb885, @jamiegwatkin
https://github.com/jamiegwatkin, or @Lincon-Freitas
https://github.com/Lincon-Freitas: are any of you able to either
compare your failing configs with mine, or otherwise provide a full failing
config so I can replicate on my end?
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/terraform-aws-modules/terraform-aws-eks/issues/1597#issuecomment-974540107,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQYHOJ6UHWLM6CRBR3AVQADUM3NH3ANCNFSM5ER3IN2A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Logout timer: direct users to /login, let them know they timed out

Problem statement
When a user is inactive for >15 mins, they will be logged out of the application. This is a security feature that we have to keep.
When a user is logged out, however, it directs back to the RS homepage without indication of what has happened.
What you need to know
As a user, I'd like to understand why I have been logged out automatically.
Acceptance criteria

[ ] When a user has been inactive for > 15 mins, they are logged out
[ ] The user is directed to the /log-in page
[ ] The /log-in page has an alert that notifies them that they have been logged out due to x mins of inactivity (and to log in again).

To do

[ ] ...

@drew-usds Saw a few tickets about this same UX, and different parts of it, so check out #7610


3070 Stores

Description
It looks like this doesn't search for the 3070 in the US market yet which is understandable since it releases on October 29th. Some stores like Best Buy list them as coming soon though. Would it be proper to fork, update the models, and issue a pull request? Or should I wait until October 29th when all the links drop?
Possible solution

Update models in /src/store/model/
Wait for more links to populate on release date

If the links are ready for 3070, we should definitely bring them in! Feel free to make a PR and we'll go over the links!

Here's this: https://github.com/jef/nvidia-snatcher/pull/612 FE - Best Buy
If you have anymore, please feel free to add!

Here's this: #612 FE - Best Buy
If you have anymore, please feel free to add!

This was the exact link I was planning to add. I'll keep a look out for more.

Sorry to steal that from you 😢 Look forward to seeing future PRs!


tdhttp

Pull Request Test Coverage Report for Build 598

444 of 444 (100.0%)  changed or added relevant lines in 10 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 99.754%

Totals

Change from base Build 589:
0.01%

Covered Lines:
6075

Relevant Lines:
6090

💛  - Coveralls


Add certification, product types, and production types fields to facility claim form & details display

Overview
https://github.com/open-apparel-registry/open-apparel-registry/pull/575 adds a facility claim profile form and displays the data on the facility details page.
The wireframes for this feature include three fields that indicate that their content is tags rather than free text:

certifications
product types
production type

In #575 I opted not to implement these fields yet as we don't know what is the enumerated set of options for each field. For this issue, we should figure out the set for each field and implement the field as depicted in the wireframes.
Describe the solution you'd like

figure out the set of tags for certifications, product types, and production types
enable users to add and change these via the claimed facility form as depicted in the wireframes
display these on the details profile page

Remaining work here:

[ ] email list holders when the claim a facility form has saved with new data
[ ] link details verified badge to /about/claimedfacilities for users who have not claimed the facility and to /claimed/ID for users who have claimed the facility
[ ] update the user serializer to send back a list of the OAR IDs for a user's pending & approved facility claims
[ ] change country inputs to react select boxes

Superseded by #634


Minor corrections to OpenBSD logic

Just a couple little things. Most notably, the checks on $(findstring $(OS),...) in the Make logic should be ifneq since the comparison is against the empty string.
It also looks like you have OpenBSD going through the code path that FreeBSD needs to work around the libgcc_s issue. That's also an issue with OpenBSD? If so, that's quite unfortunate, but also you'll want to add OpenBSD to the logic that links in -lgcc_s later on FreeBSD.
Hope this helps!

Oh. Interesting. We almost certainly don't have that libgcc.a problem. I was just using FreeBSD as a template.


Evaluate the purpose of having Expression::Impl::to_* virtual

The virtual behavior of most Expression::Impl::to_* functions is handled by size_t Expression::Impl::copy_value(Context&, void*, const Datatype&) const.
It seems a concrete implementation of most functions could be directly provided in Expression::Impl with no room for virtual behavior without any loss.

In GitLab by @ksiero on Nov 18, 2021, 11:57
Done in !398


Please add a licence

Please add a licence for clarity, according to your description I think you should go with MIT licence or Apache 2.0

Good point. will make it MIT license on this release.

added!


feat: add arpitBhalla fellow profile

Please, go through these steps before you submit a PR.

[ ] My Pod Leader knows I'm working on this Pull Request
[ ] I've explained what the Pull Request is adding.
[ ] I've explained why this is important.

Let's hold on this PR. Once the new details are given by Shivam, Tiffany and Abdul, you can edit this and then we can merge it😁

Please fix conflicts


ImportError: No module named 'tensorflowvisu'

Hi, after a fresh install of the tensorflow-1.0.1 on Linux through virtual env and pip3 I'm getting error when trying to import tensorflowvisu.
ImportError: No module named 'tensorflowvisu'
import tensorflow works ok, but the tensorflowvisu does not.

tensorflowvisu.py is a file sitting in this repository, root folder. Python normally looks for local files on import.

Thanks Martin, all is good now, I will close the issue. One side question. Is there a generic code or tutorial on how to create this type of visualisation (with Accuracy Scores and Cost Function metrics) for different/generic networks?
Thanks


Implement comments addition feature ref #62

Ability to add comments for each test result.
Delete part is still a bit buggy. I'll debug it later.
Plus, insert and fetch commands are slower than expected. @martiansideofthemoon please check this.
Tries to solve #62

Copying from the IRC, not sure if you could see the message.
I think the major issue is that you're using this.getDbConnection() again and again
it's been stored in the object, so you don't need to do it in any of the functions
look at how the other queries have been written
this for example

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved discussion.

angular_scripts.js, line 469 [r2] (raw file):
add a $scope.$apply() here. Makes it super fast :smile:

Comments from the review on Reviewable.io

Great job! A bit more work and we are good to merge :smile:

Review status: 0 of 4 files reviewed at latest revision, 10 unresolved discussions.

angular_scripts.js, line 130 [r2] (raw file):
nit: space between ) and { here and elsewhere

angular_scripts.js, line 141 [r2] (raw file):
nit: Maybe the Lovefield function could be named as deleteAllComments

angular_scripts.js, line 323 [r2] (raw file):
Couldn't this be included in the removeResults query?

angular_scripts.js, line 476 [r2] (raw file):
Could you explain this part of the code?

angular_scripts.js, line 486 [r2] (raw file):
use strict equality

angular_scripts.js, line 507 [r2] (raw file):
this is incorrect. Different runs will have different run ids. result.result_id should be added in the array along with result.status, result.expected, result.message below

LovefieldService.js, line 89 [r2] (raw file):
nit: maybe comment_id would be better to avoid confusion with the tests table. Though upto you

LovefieldService.js, line 619 [r2] (raw file):
I don't think this is correct join condition. The JOIN is on result id. This condition should be added to a where clause. Also, I don't think q2 should be needed
nit: missing ;

LovefieldService.js, line 625 [r2] (raw file):
nit: add {}

Comments from the review on Reviewable.io

Reviewed 3 of 4 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 10 unresolved discussions.

Comments from the review on Reviewable.io

Review status: all files reviewed at latest revision, 10 unresolved discussions.

angular_scripts.js, line 130 [r2] (raw file):
Done.

angular_scripts.js, line 141 [r2] (raw file):
"All" seemed confusing because of the run_id filtering. "Multiple" maybe?

angular_scripts.js, line 323 [r2] (raw file):
seems cleaner yea! will do it.

angular_scripts.js, line 469 [r2] (raw file):
Done.

angular_scripts.js, line 476 [r2] (raw file):
Its for stopping periodic calls to the save function. No need for them when error panel is closed

angular_scripts.js, line 486 [r2] (raw file):
Done.

angular_scripts.js, line 507 [r2] (raw file):
I don't see why each run would need a result_id field? From what I have understood each result has one id and multiple runs.

Comments from the review on Reviewable.io

I seem to have misinterpreted the database association. It seems we require one comment per result per run, so will add that to the table and queries sometime later :smile:! It was fun implementing this feature!

Review status: 2 of 4 files reviewed at latest revision, 20 unresolved discussions.

angular_scripts.js, line 130 [r5] (raw file):
Space after if

angular_scripts.js, line 144 [r5] (raw file):
deleteComments should be part of the same function as deleteEntries rather than a separate thing.

angular_scripts.js, line 452 [r5] (raw file):
Remove this

angular_scripts.js, line 459 [r5] (raw file):
`$scope.displayError.comment = comment.length ? comment[0].comment : "";

angular_scripts.js, line 465 [r5] (raw file):
I think a better implementation strategy might be to have a function which is called when the text box receives a focus event. This function will call saveComment and set a timeout to call the same function again. When the text box receives a blur event the timer will be cancelled and the saveComment function called directly to ensure the final state is saved.

angular_scripts.js, line 484 [r5] (raw file):
var here and elsewhere

angular_scripts.js, line 485 [r5] (raw file):
Prefer camelCase in this code

angular_scripts.js, line 487 [r5] (raw file):
Space after if everywhere

angular_scripts.js, line 488 [r5] (raw file):
Remove

index.html, line 156 [r5] (raw file):
Can we divide the error panel in two horizontally and put this on the right?

LovefieldService.js, line 89 [r2] (raw file):
(I would prefer id everywhere fwiw).

LovefieldService.js, line 55 [r5] (raw file):
You need to increment the 1 here or Lovefield will get upset for users that already have data.

LovefieldService.js, line 582 [r5] (raw file):
Lots more missing var here.

Comments from the review on Reviewable.io

Review status: 2 of 4 files reviewed at latest revision, 20 unresolved discussions.

angular_scripts.js, line 323 [r2] (raw file):
Done.

angular_scripts.js, line 476 [r2] (raw file):
Done.

angular_scripts.js, line 507 [r2] (raw file):
Done.

angular_scripts.js, line 452 [r5] (raw file):
Done.

angular_scripts.js, line 459 [r5] (raw file):
Done.

angular_scripts.js, line 484 [r5] (raw file):
Done.

angular_scripts.js, line 485 [r5] (raw file):
Done.

angular_scripts.js, line 487 [r5] (raw file):
Done.

angular_scripts.js, line 488 [r5] (raw file):
Done.

Comments from the review on Reviewable.io

Review status: 2 of 4 files reviewed at latest revision, 20 unresolved discussions.

LovefieldService.js, line 625 [r2] (raw file):
Done.

LovefieldService.js, line 582 [r5] (raw file):
Done.

Comments from the review on Reviewable.io

Review status: 0 of 3 files reviewed at latest revision, 20 unresolved discussions.

angular_scripts.js, line 465 [r5] (raw file):
Done. sounds better than triggering on error-panel open.

index.html, line 156 [r5] (raw file):
Done. Looks much better!

LovefieldService.js, line 89 [r2] (raw file):
Done.

Comments from the review on Reviewable.io

Review status: 0 of 3 files reviewed at latest revision, 8 unresolved discussions.

angular_scripts.js, line 459 [r5] (raw file):
It seems you forgot to remove the if/else?

angular_scripts.js, line 439 [r6] (raw file):
Nit: can we call run something like runResult? I know this doesn't match index.html, but this is very confusing.

angular_scripts.js, line 489 [r6] (raw file):
!==

index.html, line 8 [r6] (raw file):
Is this still needed?

Comments from the review on Reviewable.io

Reviewed 3 of 4 files at r6.
Review status: all files reviewed at latest revision, 8 unresolved discussions.

Comments from the review on Reviewable.io

Review status: all files reviewed at latest revision, 8 unresolved discussions.

angular_scripts.js, line 459 [r5] (raw file):
Oops! sorry! done.

angular_scripts.js, line 439 [r6] (raw file):
I'll make the change. I guess then result is confusing too. rename it to something like resultTest?

index.html, line 8 [r6] (raw file):
You have a point. It isn't.

Comments from the review on Reviewable.io

Reviewed 2 of 2 files at r7.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

angular_scripts.js, line 439 [r6] (raw file):
Sure.

Comments from the review on Reviewable.io

Review status: 2 of 3 files reviewed at latest revision, 1 unresolved discussion.

angular_scripts.js, line 439 [r6] (raw file):
Done.

Comments from the review on Reviewable.io

Reviewed 1 of 1 files at r8.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io


[FEATURE REQUEST]  MusicGen addition

Facebook released MusicGen (https://github.com/facebookresearch/audiocraft). Is this something that this client should support?

Yes, audiocraft does fit the project scope.

Audiocraft has been implemented (Tested: Medium model, Melody model, conditional, unconditional, with melody)
have fun!


views: html link in json serialization

Problem:
We show search results with a angular application (this is the template used): it receives the query results from invenio-records-rest json serializer that it's a list of records from elasticsearch, "improved" with some extra fields inserted by the serializer.
Currently, inside the json we have a field links that contains the url that point to the json version of the record (something like /api/records/[:recid]).
But, what we need is to have also a field html_url that contains the link to the "html version" of the record.
To be able to change the template as:

    {{ record.metadata.title_statement.title }}

cc @lnielsen @drjova @tiborsimko @jirikuncar @krzysztof

The main problem is that the UI and the API are served by two different Flask application. Thus there is currently no easy way for the REST API to know the URL of the HTML view.
We could merge the two applications but it would conflict with the idea we had for versioning the API later, i.e: one application for each API version. That way the endpoints can't conflict.

Maybe is a dumb question, but could we just enrich the metadata with custom app-specific serializer, is it any factory for that?

A possible solution I think can be to use AngularJS route to show the search but also to see the record.
We will also improve the performances because the browser need only to load a html static template instead of a jinja one.

@drjova Yes, you can just do it in a custom serialiser. I think the main point here is that most people will need it, so would be nice with a reusable solution.
You can't use url_for to generate the URL for the records-ui for very good reasons. It think the best is simply to inject into records rest the right pattern for generating html links. Something along the lines of:
RECORDS_REST_ENDPOINTS = dict(
    records=dict(
        links_factory=default_link_factory('/records/{pid.pid_vaule}'),
    )
)

@hachreak IMHO it will be too complicated because you'll have one route handled differently depending on your location and duplicated templates etc, it would be nice if we just use angular for all routes but at this moment it's an overkill IMHO always :)

@lnielsen can you remember me how did you resolved it in zenodo? thanks :)
Did you resolve as you proposed with links_factory?

I didn't solve it AFAIR


New UX insert link dialog - design and external URLs

Acceptance criteria

Links can be created through TinyMCE to the following:

An email address
An external URL

Users can add link descriptions to all media types

Exclusions

Users do not have the ability to edit linked file descriptions from the insert link modal

Tasks

[x] Create user flow designs for each link scenario
[x] Team/community feedback
[x] Create email address FormFactory
[x] Create external address FormFactory
[x] Create email address plugin for TinyMCE with entwine component
[x] Create external address plugin for TInyMCE with entwine component
[x] Unit tests
[x] Documentation
[x] Behat tests

Stories (for implementation)

[ ] https://github.com/silverstripe/silverstripe-framework/issues/6740
[ ] https://github.com/silverstripe/silverstripe-framework/issues/6743
[x] https://github.com/silverstripe/silverstripe-framework/issues/6141

Pull requests

[x] https://github.com/silverstripe/silverstripe-admin/pull/33 (and associated pull requests)
[x] https://github.com/silverstripe/silverstripe-admin/pull/58
[x] https://github.com/silverstripe/silverstripe-asset-admin/pull/467
[x] https://github.com/silverstripe/silverstripe-cms/pull/1815
[x] https://github.com/silverstripe/silverstripe-framework/pull/6893
[x] https://github.com/silverstripe/silverstripe-framework/pull/6914

Design
https://invis.io/BGAYOTRFY#/224873109_Insert_Link
History

Suggested UX:

I think we could improve the UX of the Insert Link process by not nesting anchor links within the "Add page link" label. Adding links to a page is the most common action and by adding additional anchor fields in the mix (which aren't very intuitive) causes an unnecessary obstacle for authors.
If we slightly changed the label "Link to an anchor on this page" to "Link to anchor on a page", allowing user to choose the page first and then the anchor (defaulting to the current page), I'm pretty sure we can improve its intuitiveness.
I've actually witnessed a new user trying to figure out what a anchor link was because they thought the fields need to be filed out in order to link to a page. There is also no link to help text for those who are unsure of what to do.

How about "Link to a page anchor on this site" or "Link to an anchor within
a page on this site" rather than "Link to an anchor within a page" ? I like
the first one best :)
And, perhaps it could be put right underneath the "Link to a page on this
site" option so the two are juxtaposed for quick comparison ?  You could
also put the tip beside the anchor option instead of beside the drop-down
with a title "What is a page anchor?".....just ideas to consider :)
On 5 September 2016 at 12:14, Paul<EMAIL_ADDRESS>wrote:

I think we could improve the UX of the Insert Link process by not nesting
anchor links within the "Add page link" label. Adding links to a page is
the most common action and by adding additional anchor fields in the mix
(which aren't very intuitive) causes an unnecessary obstacle for authors.
If we slightly changed the label "Link to an anchor on this page" to "Link
to anchor on a page", allowing user to choose the page first and then the
anchor (defaulting to the current page), I'm pretty sure we can improve its
intuitiveness.
I've actually witnessed a new user trying to figure out what a anchor link
was because they thought the fields need to be filed out in order to link
to a page. There is also no link to help text for those who are unsure of
what to do.
Suggested UX:
[image: insert-link]
https://cloud.githubusercontent.com/assets/555033/18234725/043dd59e-7362-11e6-8265-a582fb70337b.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/silverstripe/silverstripe-framework/issues/5947, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIf9OZyBBChfgi0FmyQ8zPiukTgDaLYYks5qm17kgaJpZM4J0qYO
.

Good suggestions there. There also could be a possibility to just have a sentence about using anchors directly above the fields instead of tooltip. I also added a # as it is not explained if it is required or not and placeholder text as that field isn't explained.
I like "Link to a page anchor on this site" too.

And, maybe there is scope for a "Link to page anchor on another site" as
well ? Your sentence about anchors would then apply to both internal and
external sites. Tricky to get a nice consistent look and experience in all
this :)
One last idea, expanding on what you already have:
In Step 1, only have "Link to page on this site" and "Link to page on
another site" options, which would keep the number of step 1 options nice
and small. Then, if either of these page options are selected, an
additional option appears in Step 2 to enable users to indicate if they
want to link to an anchor or not. If they don't choose the anchor option in
step 2, then, in cases of pages on this site, offer a drop down, while, in
cases of external sites, offer a place to enter a URL. If they do choose
the anchor option in step 2, then provide a place to enter the anchor like
you already have, which looks like it would work for either internal or
external pages :)
Right...enough suggestions from me in the peanut gallery!
On 5 September 2016 at 12:45, Paul<EMAIL_ADDRESS>wrote:

Good suggestions there. There also could be a possibility to just have a
sentence about using anchors directly above the fields instead of tooltip.
I also added a # as it is not explained if it is required or not and
placeholder text as that field isn't explained.
I like "Link to a page anchor on this site" too.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/silverstripe/silverstripe-framework/issues/5947#issuecomment-244638346,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIf9OUV2RA4IjKEXkF10IPq3fuzkHUkYks5qm2Y8gaJpZM4J0qYO
.

Ha, yeah that would work if we include anchor links on other sites, makes it more consistent. Either way there are improvements to be made.

Found a really old ticket which outlines the same improvements https://github.com/silverstripe/silverstripe-cms/issues/643

More recent wireframes (actually design will need improvements etc icons). Essentially there is a dropdown in TinyMCE for selecting the type of link, the files link opens the insert file modal but the rest of the links (page, URL, email) open the same modal with a different tabbed section showing.

I decided to not have a separate section for anchor links but to incorporate it into the "link to page" as suggested by @SpiritLevel. "Add anchor" can be an additional option on both internal page and external link.

WIP Progress of design can be seen here https://invis.io/BGAYOTRFY#/224873109_Insert_Link

@tractorcow @clarkepaul @flamerohr I've created a follow up task about caching the "insert link" forms for less perceived delays in the CMS: https://github.com/silverstripe/silverstripe-admin/issues/71


The confusing way moves are broken

struct S {
  ~S() {}
};

The above type does not have a move constructor or move assignment, but it still works with move operations and is_move_constructible returns true.
So how do we show that move operations don't exist?
https://compiler-explorer.com/z/dva81543s
#include <utility>
#include <type_traits>

struct Contained {
  Contained();
  Contained(const Contained &);
  Contained(Contained &&);
  Contained &operator=(const Contained &);
  Contained &operator=(Contained &&);
  ~Contained();
};

struct S {
  Contained c;
  // comment this out and see the difference
  ~S();
};

S getS();

static_assert(std::is_move_constructible_v<S>);
static_assert(std::is_move_assignable_v<S>);

void useS(S);

int main()
{
  S obj;
  obj = getS();
  useS(std::move(obj));
}

That's interesting, though it makes sense why it's done that way now that I think about it. I always find it confusing to remember the rules for when and how the compiler automatically generates special member functions, and the table mapping it out is messy. I wonder when you would actually ever care about is_move_constructible_v/is_move_assignable_v though, since normally you would only check is_nothrow_move_constructible_v/is_nothrow_move_assignable_v. When the move operations are correctly noexcept, those type traits still report false in the above example because they detect that the copy operations are not noexcept. Therefore using the nothrow versions helps you catch this issue and/or deal with it appropriately.

Coming in episode 452


Erreur

I have installed the latest version:
Successfully installed cellrank-1.1.dev580+g99ebbf1
And then

import cellrank as cr
scv.tl.velocity_graph(adata, mode_neighbors='connectivities')

works fine. And then

cr.tl.find_root(adata)
Traceback (most recent call last):
File "", line 1, in
AttributeError: module 'cellrank.tools' has no attribute 'find_root'

Thank's for your help.
Olivier

Hi @ogandril ,
find_root has been recently renamed to root_states.

The following code:
import scvelo as scv
import cellrank as cr
adata = scv.read('adata_dynamical.h5ad')
scv.tl.velocity_graph(adata, mode_neighbors='connectivities')
cr.tl.root_states(adata)
generates the following error:

cr.tl.root_states(adata)
_WARNING: Number of states (17) was automatically determined by eigengap but no Schur decomposition was found. Computing with default parameters
Unable to import PETSc or SLEPc.
You can install it from: https://slepc4py.readthedocs.io/en/stable/install.html
Defaulting to method='brandts'.
Traceback (most recent call last):
File "/opt/miniconda3/lib/python3.7/site-packages/cellrank/tools/_root_final.py", line 122, in _root_final
n_states=n_states, cluster_key=cluster_key, **kwargs
File "/opt/miniconda3/lib/python3.7/site-packages/cellrank/tools/estimators/_gppca.py", line 477, in compute_metastable_states
raise e
File "/opt/miniconda3/lib/python3.7/site-packages/cellrank/tools/estimators/_gppca.py", line 474, in compute_metastable_states
self._gpcca = self._gpcca.optimize(m=n_states)
File "/opt/miniconda3/lib/python3.7/site-packages/msmtools/analysis/dense/gpcca.py", line 1323, in optimize
self._do_schur_helper(max(m_list))
File "/opt/miniconda3/lib/python3.7/site-packages/msmtools/analysis/dense/gpcca.py", line 1121, in _do_schur_helper
raise ValueError(f'Clustering into {m} clusters will split conjugate eigenvalues. '
ValueError: Clustering into 17 clusters will split conjugate eigenvalues. Request one cluster more or less.

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/opt/miniconda3/lib/python3.7/site-packages/cellrank/tools/_root_final.py", line 180, in root_states
**kwargs,
File "/opt/miniconda3/lib/python3.7/site-packages/cellrank/tools/_root_final.py", line 126, in root_final
f"Computing {n_states} metastable states cuts through a block of complex conjugates. "
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
Since it mention PETSc, I tried to install it:
pip install petsc petsc4py
Installing collected packages: petsc, petsc4py
Running setup.py install for petsc ... done
Running setup.py install for petsc4py ... done
But I got the same error running cr.tl.root_states(adata)

@ogandril thanks for spotting this, it wasn't a SLEPc issue, but faulty logic in the code. Let me know if #180 fixed it for you.

OK, the cr.tl.root_states() function now works.
The cr.tl.find_final() does not;

cr.tl.find_final(adata)
Traceback (most recent call last):
File "", line 1, in
AttributeError: module 'cellrank.tools' has no attribute 'find_final'

I guess it also is a naming issue of the function?

yes! The function is called cr.tl.final_states now. Sorry about this, will update the tutorials accordingly.

I had to install slepc and slepc4py, but it now works!!
Thank's for your help!!!
The result is somewhat mesmerizing though...
Final states more or less in phase with latent time, less so for root states.
But my interpretation may be incorrect?

(base) OG-MBP15T-OG:OG3289 olivier_2$ pip install petsc petsc4py
Requirement already satisfied: petsc in /opt/miniconda3/lib/python3.7/site-packages (3.13.2)
Requirement already satisfied: petsc4py in /opt/miniconda3/lib/python3.7/site-packages (3.13.0)
Requirement already satisfied: numpy in /opt/miniconda3/lib/python3.7/site-packages (from petsc4py) (1.18.1)

we have a bug on master at the moment - we will fix this and get back to you to look into this a bit more.

Okay, the bug on master is fixed and we can go ahead. What in particular is it that you want to use cellrank for? From the original scvelo issue, I remember that velocities in the embedding did not coincide with latent time. Are you interested in recovering root and final states in your datasets? Lineage probabilities?

Yes, I would like to get a latent time that matches the velocities in the embedding. Otherwise, I find quite hard to figure out how my cells should be ranked, i.e. by their time or by their position in the velocities fluxes.

Maybe to be more specific: I want to reconstruct a GRN using our WASABI algorithm. This is based upon a time-dependent causality. It works when you have the real time of the process, so I would like to estimate the "real time" when I do not have it. The scVelo paper makes the point that the latent time is closer to real time, so I could use it BUT I am hesitant if it does not match the velocities field.

Okay, we can try the following: compute the root state(s) of your process using cellrank and feeding this as prior information into latent_time. By explicitly computing the root state, we will gain some understanding of why it is that latent time and your velocity flux disagree.

To begin, could you please make sure to pull the most recent cellrank version from master, run the code you run to generate the plots you posted above and plot the output of adata.obs['root_states'].

Essentially, the issue was the correct identification of root cells which I was hoping could be solved with cellrank. However, the root_states_probs look quite mixed as well. @ogandril Have you tried with updated cellrank after bugfixing already? If it still looks incorrect, the root cell index has to be set manually after all. I can then explain how to do so.

I have been updating the latest cellrank. version, rerun the code, and added adata.obs['root_states'].
Result is attached.

Thanks @ogandril! Looking at your plots, I realised that there is still a bug on master I need to fix. Sorry about this - that's early development ;)
I will let you know once that's done, then you can re-create the plots and we have something to work with.

No problem! Happy to beta test :-)

Fantastic, great! Our bug on master has just been fixed. The first thing I thought when I saw your plots above was: the identification of the correct number of root states did not work in your case, so I would like to look into that. Can you run the following lines for me please:
scv.tl.velocity_graph(adata, n_recurse_neighbors=0, mode_neighbors='connectivities') # recompute the velocity graph
kernel_bwd = cr.tl.transition_matrix(adata, backwards=True) # create a transition matrix based on the velocities for the reverse process
g_bwd = cr.tl.GPCCA(kernel_bwd) # initialise estimator object
g_bwd.compute_schur() # compute partial real, sorted schur decomposition of your trans. mat.
g_bwd.plot_spectrum() # plot the spectrum of your transition matrix

Please don't forget to pull from master before doing this and post the plot generated by the last commands

New error:

kernel_bwd = cr.tl.transition_matrix(adata, backwards=True)
Traceback (most recent call last):
File "", line 1, in
TypeError: transition_matrix() got an unexpected keyword argument 'backwards'

(I did pulled from master: Successfully installed cellrank-1.2.1.dev50+gbf2250a

I misspelled the keyword, it's called backward without the s.
I such cases, feel free to consult our API at https://cellrank.readthedocs.io/en/latest/api.html

Here comes the result:

Thanks! This tells me that there should be only one root state in your data. Using the g_bwd object you have initialized above already (re-run the commands above please), please run the following:
g_bwd.compute_metastable_states(n_states=1, cluster_key='KEY_TO_YOUR_CLUSTER_LABELS`)
g_bwd.plot_metastable_states(n_cells=30)

The cluster_key is optional, you can omit it in case you don't have cluster labels. In case you do, these will be used to label to root state, not for computing it.

Here comes the result:

Thanks. I suppose this is not what you were expecting?
I think the easiest would be to go over this together in a zoom call, feel free to contact me at<EMAIL_ADDRESS>

Well I have no real expectation as to what the "correct" roots should be. My main concern is the discrepancy between  latent time and velocity fluxes.
From our previous discussion, you wrote: "By explicitly computing the root state, we will gain some understanding of why it is that latent time and your velocity flux disagree."
I would guess the cellranker identification of root state matches mostly the latent time, but maybe, since those are kind of spread out, fluxes do not matches?
PS: I do not use zoom for security reasons. But I can use so many other visio systems :-)

Maybe better explained with this image?

If I should draw my expectation, it would look like this:

Okay, so I gather that the computed root state matches your biological expextations mostly, apart from it being a bit spread out?

and as I said, feel free to email me and we can set up a vc in whatever software you prefer.

@ogandril , is there anything else we can do for you here? Otherwise, I would go ahead and close this issue.

Well as far as I can tell, the use of cell ranker showed that the latent time starts from the root cells, which is good. But I still do not have a clear view as to why the velocitiy fluxes do NOT start from the rootcells/early latent times....

There may be several populations of root cells, you can look into this by running
g_bwd.compute_metastable_states(n_states=2, cluster_key='KEY_TO_YOUR_CLUSTER_LABELS`)
g_bwd.plot_metastable_states(n_cells=30)

which would do it for 2 populations of root cells.

That's quite interesting. We now identify the "correct" root for the fluxes, (labelled "1"). What is troubling is that now we do not see the previous root cells but a brad new group of cells (labelled "0"). Does that makes sense for you? Naively I would have expected to conserve the previous root and to add a new one.

Ah, that's interesting and makes a lot of sense to me. Let me try to explain this:
To identify root and final states in your data, we model development as a Markov chain where transition probs are computed on the basis of transcriptomic similarity & RNA velocity. We next seek to coarse grain the state space of this Markov chain, i.e. your set of cells, into a set of 'macrostates' or 'metastable states' of the dynamics. Think of these as groups of cells that, once you enter them, it's unlikely to get out again. Not impossible, but unlikely. Now, this coarse graining isn't just a normal clustering - it's a fuzzy clustering that takes the direction of you Markov chain into account. Fuzzy clustering here means that clusters aren't defined by a hard assignment, but each cell is assigned a probability of being a member of each cluster. What you see above in your plot are the top cells from each fuzzy cluster, ie these are the ones where we are most confident which metastable state they belong to. Note, we infer 'metastable states' - not all of these will be root/final states, we can also identify intermediate metastable states, i.e. checkpoints of development where you stay for a while before moving on. To see how 'stable' your states are, you can plot the coarse grained Markov chain via g_bwd.plot_coarse_T(). The states with largest entries on the diagonal will be the most stable ones.
The above computations rely on a method called GPCCA, which we adapted to work for the single cell context, i.e. we made sure it scales to large cell numbers etc. However, that method does not give you a single  state - that's by definition not possible for a fuzzy clustering. So, when the user requests one single state, we instead compute the stationary distribution of the Markov chain and just use that. The cells you saw before were just the ones which have highest probability in that stationary distribution.
So, to move on, I would encourage you to plot the coarse grained transition matrix, so that we can figure out how stable both states are. Also, let's check how dominant they are by plotting
g_bwd.plot_metastable_states(n_cells=None)
Once we are happy with the root states, we can compute a latent time that starts from these.

Interesting!!! I am not sure to understand everything but I get the general idea.
So first regarding how 'stable' my states are:

And regarding how dominant they are:

Nice, thanks for posting this. Keep in mind that we are looking at the backwards process here - the top plot above means that out of the two metastable backward states we have computed, '1' is the more stable one. The lower plot shows you where cells come from. It means only few cells are derived from the red '0' root state, most cells come from the blue '1' state. Does this match with your expectations?

Well, once again I do not really have any specific hints as to what the process should be, I'm in an "exploratory mode" here :-)
Do I understand correctly that the blue '1' root state is more stable and generates much more cells that the red '0' root state which seems to be quite localized in the tiny appendix region? If so, could I somehow "force" the velocity fluxes to be computed from the blue '1' root state?

Let me rephrase that: as a matter of fact, that is ALREADY what happened. What we want now is to force the latent time to start from the blue '1' root state!

That sounds much better :) We can't do anything about the velocities because cellrank is based on these. However, we can do something about latent time.

Well, once again I do not really have any specific hints as to what the process should be, I'm in an "exploratory mode" here :-)
Do I understand correctly that the blue '1' root state is more stable and generates much more cells that the red '0' root state which seems to be quite localized in the tiny appendix region?

Yes, that's correct.

I had to change b_bwd to g_bwd for the command to work. And I obtained the attached result, which looks preety good.

Awesome, glad that cellrank worked for you!  Is there any other thing we can help you with?

No, not for the moment, thank's!!! But you were so helpfull that I may chat with you on another occasion :-)


Good effort!

Hey, I also wanted to touch base with you.
I'm a author of Cake.SqlServer package and some of my functionality is overlapping with what you do here.
However I'm using DacFx package and not having much success. I see you are using SqlPackage.exe and I suppose this makes more sense. I was looking for options for me not having to carry DacFx package around: it bloats my nuget package from a few kb to 4Mb, and adds a nasty warning message on every Cake execution.
What do you think if I depricate my DacFx functionality and redirect people to use your package?

@trailmax I wrapped SqlPackage.exe in Cake.SqlPackage because I am currently using SqlPackage.exe to deploy my databases.
I would hate for your efforts to have been wasted, I am fine if you decide you want to point users of Cake.SqlServer here as an alternative.  I would ask that you verify that this repo has everything required, and functions as you expect.

To be honest, I've done very little code to work with BACPAC. DACPAC stuff was a pull request from @mabreuortega. Perhaps he should be doing the reviews and also involved in this chat as I'd imagine he is using DACPACs in his build.
Of course if I decide to direct users here, I'll need to provide a migration plan and that can take a while - not doing this any time soon. And yes, I'll need to migrate my projects first and make sure everything works as expected -)
My only problem with using SqlPackage.exe is the case when it is not installed on the executing machine. Is there a NuGet package that has SqlPackage.exe with dependencies? (Is this even possible?)

I haven't found a way to deploy the SqlPackage neither, I just have my agents with the Dac Framework installed and ready to use.
https://www.microsoft.com/en-us/download/details.aspx?id=53013

@mabreuortega Can you possibly try this package for your DACPAC build needs? I don't have any projects with DACPAC, so can't really try in real-life.

  If you look at the example in this repo, you should find everything you need to get started.  I did not explicitly add the tool path for the nuget package, but it's on my list of things to do.   Please let me know if you run into any issues.