Could not execute query, because the Python bridge has not been initalized. If the issue persists, please open a Github issue.

Expected behavior
A query is able to be run, or a model is able to be generated when clicking the "Generate model" button in a .yml file.
Actual behavior
The following error occurs, even after following all setup instructions, including having the correct python interpreter installed, and being able to run dbt commands within the virtualenv.
Could not execute query, because the Python bridge has not been initalized. If the issue persists, please open a Github issue.
Steps To Reproduce

Install dbt Power User extension within a dbt environment on MacOS.
Create a python virtual environment (In my case, I am using poetry)
Install dbt using poetry.
Select the Python interpreter to use your newly created venv
Attempt to "Generate model" from .yml file or run a SQL script

Log output/Screenshots

Operating System
Mac OS Monterry
dbt version
1.3.1
dbt Adapter
bigquery 1.3.0
dbt Power User version
0.10.1
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Is dbt being successfully detected?
Are you getting any other errors?

same issue here, no other errors, same details -- dbt is being detected ✅

Can you check Help > Toggle Developer Tools and check the console log.
If possible could you try to create a reproduction repo.

I actually did the reproduction steps and used poetry and wasn't able to reproduce the issue.

workbench.desktop.main.js:820 Could not execute query, because the Python bridge has not been initalized.  Thanks for checking into this.

(btw I'm not using poetry, just venv but i am nonetheless in a virtual environment)

There are no other logged errors before the workbench.desktop.main.js:820 Could not execute query, because the Python bridge has not been initalized. If the issue persists, please open a Github issue.

@mdesmet apologies i haven't had time to spin up a repro repo yet, but hopefully can do that tomorrow.
wanted to offer another question/theory as i've noticed that it throws some earlier errors when initializing the project that i had missed, as i had the project open and running for a long time. the earliest error it seems to throw is that is can't find the profile defined (dbt has no problem running so the profile is definitely available) -- which makes me wonder, is it updated to account for the recent update to dbt core that will check in the project directory first for a profiles.yml before looking in ~/.dbt? that's how i've set this repo up, with the duckdb adapter. so i'm wondering if it's throwing the rest of the errors based on that initial issue?

I wasn't aware about that change in dbt core. That is probably the reason. I'll do a fix tomorrow.

Fixed in 0.10.2
Let me know if this fixes the issue.

I'm still seeing this, and I'm on v0.10.3. I no longer see the generate models option, and get this error when hitting "cmd" + "enter"

Further to my last update, I noticed this error this morning when trying to preview a model's query. Let me know if I should open a new issue, @mdesmet :
2022-12-19 10:48:06.714 [error] ENOPRO: No file system provider found for resource 'query-preview:/Users/myuser/myWork/my-data/models/staging/snowplow/stg_snowplow__events.sql'
at h.j (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:616:11207)
at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
at async h.U (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:616:22969)
at async vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:616:22856
2022-12-19 10:48:17.757 [error] cannot open query-preview:/Users/myuser/myWork/my-data/models/staging/snowplow/stg_snowplow__events.sql. Detail: Could not initialize Python bridge: Error: cannot open query-preview:/Users/myuser/myWork/my-data/models/staging/snowplow/stg_snowplow__events.sql. Detail: Could not initialize Python bridge
at n.$tryOpenDocument (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2485:77012)
at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
2022-12-19 10:49:29.180 [error] Unable to read file '/Users/myuser/myWork/my-data/models/staging/snowplow/stg_snowplow__events.sql' (Error: File not modified since): Error: Unable to read file '/Users/myuser/myWork/my-data/models/staging/snowplow/stg_snowplow__events.sql' (Error: File not modified since)
at h.v (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:616:16493)
at async v.H (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2491:34436)
at async v.readStream (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2491:34131)
at async Ms.Ab (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2480:54169)
at async vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2491:30190

Please provide a reproduction repo or exact steps on how to reproduce your issue.

I don't have a reproduction repo set up, @mdesmet, but I noticed a couple of things:

Even though I have a reference to the proper DBT_PROFILES_DIR in my .vscode settings.json, I get an error when starting VSCode that DBT Power User can't find my profile on startup

none of my yaml source files offer me that chance to generate a model. The option is non-existent
hitting command + enter provides the error listed above.
I think I have my environment set up properly

You need to fix Could not find profile named ... error. How do you set the DBT_PROFILES_DIR?

It's set inside of my VSCode settings.json file. I don't change anything else inside of VSCode after the error, but if I run "dbt debug --config-dir" in a terminal, I see this:
 It seems to be an error with the extension not reading my settings.json?

I still don't know how you setup DBT_PROFILES_DIR in your settings.json, so I can't say if it should work or not.

I have the following in my settings.json. There is a profiles.yml in a profiles directory inside of the folder structure my project is in:

I also tried running "export DBT_PROFILES_DIR=./profiles" and it results in the same output. Running the open command, as displayed, opens the directory that has my profiles.yml file that contains the profile that is named in the profiles.yml file

That information is from the extension's marketplace page: https://marketplace.visualstudio.com/items?itemName=innoverio.vscode-dbt-power-user

My profiles.yml isn't in the root, though - it's in a profiles directory

Copied the profiles.yml out to the root directory, and changed the settings.json to be  "DBT_PROFILES_DIR": "." and the error went away on opening VSCode, but I still can't preview a query.

If it's in a fixed directory relative to your dbt project you could set it to ./profiles. About the other error I'm not sure, it means that the project can't be parsed for some reason.
Maybe try to setup a reproduction repo?

It is a fixed directory. And it was causing the error I pasted above

On a whim this morning, I moved the profiles.yml file out to the root directory of the project, changed my setting.json file to use
"terminal.integrated.env.osx": {
"DBT_PROFILES_DIR": "."
},
and closed the project. Reopened the project, and most everything worked. I can now query the model using "cmd + Enter", but I still don't have the option to generate a model from the source definition.

Moving the profiles.yml out of the root, leaving it in the projects folder in the root directory, and changing the settings.json back leads to the error.
"terminal.integrated.env.osx": {
"DBT_PROFILES_DIR": "./profiles"
},
I can use that directory with no issue in the dbt core command line if I write the command "export DBT_PROFILES_DIR=./profiles" in terminal inside of VS Code?

Copied the profiles.yml out to the root directory, and changed the settings.json to be "DBT_PROFILES_DIR": "." and the error went away on opening VSCode, but I still can't preview a query.

I'm receiving this exact same error now. Was working fine yesterday.

I'm getting a similar error message and my log keeps repeating
2023-01-18 15:37:15.427 [error] [innoverio.vscode-dbt-power-user] provider FAILED
2023-01-18 15:37:15.427 [error] undefined

I get a similar error to the above after having updated VSCode to 1.75.0
mainThreadExtensionService.ts:79 [[object Object]]Could not initialize Python bridge
$onExtensionRuntimeError @ mainThreadExtensionService.ts:79
N @ rpcProtocol.ts:455
M @ rpcProtocol.ts:440
H @ rpcProtocol.ts:370
G @ rpcProtocol.ts:296
(anonymous) @ rpcProtocol.ts:161
invoke @ event.ts:701
deliver @ event.ts:908
fire @ event.ts:869
fire @ ipc.net.ts:671
Z.onmessage @ localProcessExtensionHost.ts:615
mainThreadExtensionService.ts:80 Error: Could not initialize Python bridge
	at DBTProject.<anonymous> (vscode-file://vscode-app/Users/tomo/.vscode/extensions/innoverio.vscode-dbt-power-user-0.11.3/dist/extension.js:7543:7)
	at Generator.next (<anonymous>)
	at fulfilled (vscode-file://vscode-app/Users/tomo/.vscode/extensions/innoverio.vscode-dbt-power-user-0.11.3/dist/extension.js:8859:23)

I "fixed" the error by cd .. into the folder, activating my conda env and starting vscode from that dir with code .

not sure if it's of use to others, I managed to resolve this error my scenario by:

(temporarily) removing the use of 'env_var' in profiles.yml
manually verifying my dbt-core install was up to date

my dbt-snowflake install was up to date, but dbt-core was slightly behind.

And I was running into this issue for both users on WSL (Ubuntu) and Mac.

had the same problem, for me it was due to change python version environment 3.8 -> 3.11 and forgot to pip install dbt-core and dbt-snowflake

Got the error:
Could not execute query, because the Python bridge has not been initalized. If the issue persists, please open a Github issue.

Fixed it by setting the absolute path to the dir with my profiles.yml in settings > dbt: Profiles Dir Override.
Then started getting
AttributeError: 'NoneType' object has no attribute 'find_generate_macro_by_name'

May or may not have helped: Restarted extension host, upgraded to the latest version of dbt-core, dbt-bigquery using pip install --upgrade, restarted extension host again. Still saw the NoneType error.
Closed VSCode, opened it again. It works now.

still having this issue. Using anaconda environment with

python 3.9.16
vscode 1.77.0
dbt 0.21.1
dbt-bigquery 0.21.1
dbt-core 0.21.1
dbt-extractor 0.4.0
dbt-postgres  0.21.1
dbt-redshift 0.21.1
dbt-snowflake 0.21.1

I had vscode 1.9 which didn't work with dbt power user and python 3.10 before

I had this resolved by using admin rights within the company I work for

Can you check Help > Toggle Developer Tools and check the console log.
If possible could you try to create a reproduction repo.

I also encountered the same problem, but it was successfully resolved after lowering from dbt-core 1.5.0b2 to 1.4.3;
In addition, I am curious about the debug operation of this debug plugin, can you recommend relevant demo

After testing, turning off SIP function on MacOS can solve this problem.

I was able to fix it with the below video:
https://youtu.be/icKKQXUY2iQ

I faced this issue with python3.10, VSCode 1.18.1, DBT Power User v0.17.5, dbt-core 1.5.6.
I could only resolve it by reverting to python3.9.

I faced this issue with python3.10, VSCode 1.18.1, DBT Power User v0.17.5, dbt-core 1.5.6.
I could only resolve it by reverting to python3.9.

Has anyone else confirmed that the issue is with the python version?

I have the same error on 3.11, DBT is detected I have set an absolute path but still face No file system provider found for resource 'query-preview in the logs and the same error. The host is a linux server (debian) with vscode running in the remote ssh session using dbt-duckdb

I could fix this by manually setting the global environment variable DBT_PROFILES_DIR. The setting within dbt power user for the profile path override seems to be ignored for me - even when passing an absolute directory there.


Is it right without end parenthesis ) from this part: _func_spec = 'def {_layer_prefix}Layer(

https://github.com/classner/barrista/blob/16fa2108ae024e929532cdf1e8f50d9f73bbe9b6/barrista/design.py#L723

sorry, I saw this part closing parenthesis:
_func_spec += '):' + _os.linesep


[Overhaul] Implementation of a more consistent & modern UI

Description
This PR is an overhaul of the main ui and it implements the issue #872. More detail on what the PR implements and more documentation in general can be found there.
Changes

Improved DeckListView
Improved FlashcardReviewView
Improved EditModal
Added a bunch of classes for styling
Renamed gui files such that they follow a uniform naming convention
Improved mobile  view
Fixes key listener bug from issue #907
Fixes bug from issue #773

I think this PR also fixes the bug in issue #768, as I've changed the mobile view such that this shouldn't be a problem anymore, but I don't have a IOS device, so I can't test it.

I think this PR also fixes the bug in issue #768, as I've change the mobile view such that this shouldn't be a problem anymore, but I don't have a IOS device, so I can't test it.

Hello, can you please see this ticket : https://github.com/st3v3nmw/obsidian-spaced-repetition/issues/1101
Can you help me the fix it ?

Sry I think I cant help you here, but I haven't changed anything in regards with how the markdown is rendered. I just transformed the containers around the markdown rendered content. Thus I couldn't have changed anything how an Image is rendered.


SCSS Compile error "Invalid CSS after"

[x ] bug report -> please search issues before submitting

Versions.
@angular/cli: 1.0.4
node: 7.0.0
os: win32 x64
@angular/common: 4.0.3
@angular/compiler: 4.0.3
@angular/core: 4.0.3
@angular/forms: 4.0.3
@angular/http: 4.0.3
@angular/platform-browser: 4.0.3
@angular/platform-browser-dynamic: 4.0.3
@angular/router: 4.0.3
@angular/cli: 1.0.4
@angular/compiler-cli: 4.0.0
Repro steps.
I want to migrate my NG2 project from my own webpack compillation to the CLI and I was using scss in my old webpack compiller.
I've created a new project with the cli and set the scss
 ng set defaults.styleExt scss

when I now try to ng build the project I get the following error for all my scss files
The log given by the failure.
ERROR in ./App/app.component.scss
 Module build failed:
 undefined
      ^
     Invalid CSS after ".test {": expected "}", was "{"
      in C:\TFS\DEV\80_Internal\Internal.WebLogViewer\R0.7_Angular4Update\10_Gui\Web\App  \app.component.scss (line 10, column 8)
    @ ./App/app.component.ts 92:17-48
    @ ./App/app.module.ts
    @ ./App/main.ts
   @ multi ./App/main.ts

Desired functionality.
that I can compile the SCSS Files from my components
Mention any other details that might be useful.
I am also using Bootstrap 4 with scss and Font Awesome with scss.
thats my source dir

that are the settings in my .angular-cli.json
 "styles": [
     "styles.sass"
    ],
   ....

   "defaults": {
       "styleExt": "scss",

the content from my "styles.sass"
@import 'variables';
@import '../node_modules/bootstrap/scss/bootstrap';
@import '../node_modules/font-awesome/scss/font-awesome';
@import "~@progress/kendo-theme-default/scss/all";

my _variables.scss file content
$icon-font-path: '../node_modules/bootstrap-sass/assets/fonts/bootstrap/';
$fa-font-path: '../node_modules/font-awesome/fonts';

Hi @squadwuschel ,
Not sure if it's by mistake but you styles extension is sass not scss as you defined in the styleExt.
You can fix this by one of two ways

Leave the dafaults.styleExt as scss and rename your styles.sass to styles.scss
Change your defaults.styleExt to sass

Hi @squadwuschel,
Could you please post your ./App/app.component.scss
The error appears to be in line 10.

hi,
I've deleted the hole project and I've reloaded all files again and then it was working. thx for your help.

i have same issue


fix: install: support user's github org

Description

support user's github org (GITHUB_E2E_ORGANIZATION env var)
kill auth PID only in case the script is running in CI

Issue ticket number and link
N/A
Type of change

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
in CI
Checklist:

[X] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("[test_id:01] DEVHAS-62 devfile source")
[ ] I have updated labels (if needed)

/retest

e2e-on-pull-request check is pending although the build has succeeded. merging


Update black formatting

Description
Fix CI issues.
Todos

[x] Reformat package based on updated black package
[x] Update package based on pandas2.0.0

Status

[x] Ready to go

Codecov Report

Merging #64 (22cf274) into master (6cb9e1d) will not change coverage.
The diff coverage is 66.66%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files


gsutil isn't authenticated

TL;DR
gsutil isn't authenticated even though the docs mention it is possible
Expected behavior
gsutil is authenticated
Observed behavior
I get the error "401 Anonymous caller does not have storage.objects.list access to the Google Cloud Storage bucket."
Action YAML
name: Docs build & upload

on:
  push:
    branches:
      - main

env:
  GCS_DEST: gs://...

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.11"]
    steps:
      - uses: actions/checkout@v4
      - name: "google cloud auth"
        uses: "google-github-actions/auth@v2"
        with:
          credentials_json: "${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}"
      - name: publish
        if: ${{ github.ref == 'refs/heads/main' }}
        run: |
          gsutil -m rsync -x 'compiled/.*$|.*\.msgpack$' -R -r target  ${{ env.GCS_DEST }}

Log output
No response
Additional information
No response

Hi @pvanderlinden - I'm not seeing where you're using gsutil in your example, did you mean gcloud? You need to use google-github-actions/setup-gcloud@v2 to install and configure gcloud.

Hi @pvanderlinden - I'm not seeing where you're using gsutil in your example, did you mean gcloud? You need to use google-github-actions/setup-gcloud@v2 to install and configure gcloud.

Sorry, apparently I posted the version with the work around: using gcloud storage instead of gsutil works. I adjusted the example, as I tried it originally. gcloud and gsutil already are pre installed on the github actions image. Is gcloud storage going to replace gsutil? If so, it might be good to mention in the docs someone should use gcloud storage instead of gsutil as the lather doesn't work (while it currently says it does).

Hi @pvanderlinden, as noted in the README prerequisites, you must use gcloud/gsutil version 390.0.0 or later. We don't control which version of gcloud/gsutil is pre-installed on the GitHub Actions managed runners, and it may be older than the supported version.

I just double checked. This is the result of running the command in a github actions workflow:
> gcloud --version

Google Cloud SDK 469.0.0
alpha 2024.03.15
beta 2024.03.15
bq 2.1.1
bundled-python3-unix 3.11.8
core 2024.03.15
gcloud-crc32c 1.0.0
gsutil 5.27

You still need actions/setup-gcloud (you can set install: false to bypass installation), because something has to run gcloud auth login...

You still need actions/setup-gcloud (you can set install: false to bypass installation), because something has to run gcloud auth login...

Isn't this what the "auth" action is supposed to do? It authenticates gcloud utilities (except gsutil/bq apparently)
      - name: "google cloud auth"
        uses: "google-github-actions/auth@v2"
        with:
          credentials_json: "${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}"

The auth action creates credentials files and exports environment variables. Unfortunately gcloud (and gsutil and bq) do not read any environment variables to source their authentication. auth can't run the commands to authenticate those tools because it doesn't install them on the system (and can't guarantee they are installed (e.g. self-hosted runners)).

The auth action creates credentials files and exports environment variables. Unfortunately gcloud (and gsutil and bq) do not read any environment variables to source their authentication. auth can't run the commands to authenticate those tools because it doesn't install them on the system (and can't guarantee they are installed (e.g. self-hosted runners)).

Thanks. This explains the issue. However, the current auth action actually authenticates the cli tool gcloud (as otherwise my work around wouldn't work) , but not gsutil and bq. This makes this action confusing, especially with the documentation saying "To use the bq or gsutil tools, use the Google Cloud SDK version 390.0.0 or newer.". I think it would enhance the documentation by a lot if it is actually mentioned in the documentation you need the setup  actions as well to use these tools.

auth does not authenticate gcloud. setup-gcloud authenticates gcloud with the credentials from auth.

Hi @pvanderlinden does that answer your question?

Sorry @sethvargo I got a bit sidetracked on this issue. It does answer my question.
However, I think the behavior is not really clear in the documentation:

auth sounds like it would authenticate gcloud, and it's related tools. Not that you need an extra step for this
it even mentions it should now work for newer versions of bq/gsutil
it doesn't mention anywhere that you need the setup-gcloud for the actual authentication
to add to the confusion, it usually works for any other gcloud commands, without setup-gcloud

auth sets up the environment, specifically Application Default Credentials. If tools honor those, they are used. Otherwise, special authentication steps are needed.

auth sets up the environment, specifically Application Default Credentials. If tools honor those, they are used. Otherwise, special authentication steps are needed.

I do understand that after the explanation in this ticket. But as I explained, the docs aren't clear about this, especially by mentioning that bq/gsutil should work with never versions.

Hi @sethvargo I'm running into the same issue as @pvanderlinden, and i agree the docs aren't clear on how to get gsutil working. I used gcloud storage and it worked, but that has limitations which should probably be noted

TL;DR
gsutil isn't authenticated even though the docs mention it is possible
Expected behavior
gsutil is authenticated
Observed behavior
I get the error "401 Anonymous caller does not have storage.objects.list access to the Google Cloud Storage bucket."
Action YAML
name: Docs build & upload

on:
  push:
    branches:
      - main

env:
  GCS_DEST: gs://...

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.11"]
    steps:
      - uses: actions/checkout@v4
      - name: "google cloud auth"
        uses: "google-github-actions/auth@v2"
        with:
          credentials_json: "${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}"
      - name: nico
        if<EMAIL_ADDRESS>        run: |
          gsutil -m rsync -x 'compiled/.*$|.*\.msgpack$' -R -r target  ${{ env.GCS_DEST }}

Log output
No response
Additional information
No response

@Ben-Epstein - can you run gsutil --version, gcloud --version, which gcloud, and which gsutil and share the output please? If gcloud is working and gsutil is not, then that means the binaries might be pointing to different installations.

@sethvargo Here you go
gsutil version: 5.30
/usr/bin/gsutil
Google Cloud SDK 487.0.0 alpha 2024.08.06 beta 2024.08.06 bq 2.1.7 bundled-python3-unix 3.11.9 core 2024.08.06 gcloud-crc32c 1.0.0 gsutil 5.30
/usr/bin/gcloud

And this is essentially my entire workflow
- uses: actions/checkout@v4
      - name: setup gcloud
        uses: 'google-github-actions/auth@v2'
        with:
          project_id: '<REDACTED>'
          workload_identity_provider: '<REDACTED>'

      - name: get versions
        run: |
          echo $(gsutil --version)
          echo $(which gsutil)
          echo $(gcloud --version)
          echo $(which gcloud)

Hmm that's so weird because I'm running the exact same version of gsutil locally and it seems to respect GOOGLE_APPLICATION_CREDENTIALS.

Hey folks - I heard back to the engineering team, and they confirmed that gsutil does not respect this credential method. Per the public Google Cloud documentation, the recommended path is to use gcloud storage instead.


Rollbar Exception: IOError: "closed stream" when using SuckerPunch

I raise exceptions when some of my async tasks cannot be completed, Rollbar is unable to show something due to some error:
Failsafe from rollbar-gem. IOError: "closed stream" in /usr/local/lib/ruby/2.4.0/delegate.rb:341:in 'rewind': build_item in exception_data
It's a bit annoying, but I'm not 100% it is because of Rollbar + SuckerPunch.
Does Rollbar need the main thread of the app ? Is it a known issue ?

This is a rough one, that failsafe error occurs when we are already dealing with some internal error that occurred while processing an item. We are attempting to build a minimal item with the exception that caused the first error, and that again throws an exception. Throwing a closed stream error at this point though is really odd. Those usually mean a file handle is closed and we still hold a reference to it that we are trying to use. It seems as if the exception that caused the first internal error might include a reference to something that has already been garbage collected. Rollbar does not need the main thread, but if you are trying to report an exception with a reference to an object across threads and the lifetime of those references are possibly shorter than the exception being sent, well anything could be happening at that point.


A readme with a Gitter badge

I'm merging as this is just a link to the Gitter room, no impact on the code.


Firefox slick-dots not vertically aligned

Hi folks:
Just want to confirm if this is a settings issue or a known/new issue. In Firefox only I am seeing that the dots are not vertically aligned in-between the arrows.

Renders great in Chrome and Safari. Appreciate any guidance!
Thanks!

I think this is due to Firefox having whacked-up-as-fuck font-sizing on icon fonts, I don't know of this issue myself (please provide a fiddle) but I have issues in Firefox all the time with icon fonts not aligning properly.
If you provide a demo; others can try to solve the issue... a screenshot of your custom CSS does not show a bug in Slick ;)
Simon.

Thanks Simon! Sorry for the delay and agree a screenshot doesn't mean anything. Next time will post with a fiddle!
Let me close this issue and re-open again, if needed, once we have tried a few things.
-Vinit


Import-data doesn't support chunked entity JSON

This call fails if the body of res is chunked.

I hit the error while trying to serve entity JSON as a stream. I'm working around it for now by pulling all the JSON into memory before responding to Terra's fetch, but this hits memory problems for large exports.

Do you mean chunked at the http transfer-encoding level, or the data itself?
We are considering ways to better handle large data transfers, which will probably be based around a streaming data format. But our backend system doesn't support that yet.

Both, but I think the specific error I hit was caused from not handling the transfer-encoding. I was testing by exporting an empty array from my service, and the JSON parse failed because it tried to parse "[""]" instead of the concatenated "[]".

We are intending to approach this by supporting streaming entity upsert in Rawls. Ticket forthcoming


The customer mandate is still pending

Hi there,
As our app and number of subscribers grow every single day, some exceptions are shown more and more. For example the MandateIsNotYetFinalizedException().
Is there a specific action we need to take when this exception is thrown? Or is it safe to ignore this?
Thanks! :)
Michael

Hi @voicecode-bv,
the MandateIsNotYetFinalizedException is thrown either when either you create a new Charge or when a OrderPaymentFailed was fired. Both of these occurrences are happening because your customer’s Mollie mandate is still pending. Which means that your client didn’t complete the order process/didn’t pay yet.

The status of the mandate. A status can be pending for mandates when the first payment is not yet finalized or when we did not received the IBAN yet.

And what would it mean if these errors start appearing through the FirstPaymentWebhookController?
Laravel\Cashier\Exceptions\MandateIsNotYetFinalizedException The customer mandate is still pending
    vendor/mollie/laravel-cashier-mollie/src/Billable.php:473 App\Models\User::validateMollieMandate
    vendor/mollie/laravel-cashier-mollie/src/Billable.php:491 App\Models\User::guardMollieMandate
    vendor/mollie/laravel-cashier-mollie/src/SubscriptionBuilder/MandatedSubscriptionBuilder.php:94 Laravel\Cashier\SubscriptionBuilder\MandatedSubscriptionBuilder::create
    vendor/mollie/laravel-cashier-mollie/src/FirstPayment/Actions/StartSubscription.php:184 Laravel\Cashier\FirstPayment\Actions\StartSubscription::execute
    vendor/mollie/laravel-cashier-mollie/src/FirstPayment/FirstPaymentHandler.php:125 Laravel\Cashier\FirstPayment\FirstPaymentHandler::Laravel\Cashier\FirstPayment\{closure}
    vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php:245 Illuminate\Support\Collection::each
    vendor/mollie/laravel-cashier-mollie/src/FirstPayment/FirstPaymentHandler.php:126 Laravel\Cashier\FirstPayment\FirstPaymentHandler::executeActions
    vendor/mollie/laravel-cashier-mollie/src/FirstPayment/FirstPaymentHandler.php:47 Laravel\Cashier\FirstPayment\FirstPaymentHandler::Laravel\Cashier\FirstPayment\{closure}
    vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php:29 Illuminate\Database\Connection::transaction
    vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php:442 Illuminate\Database\DatabaseManager::__call
    vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:261 Illuminate\Support\Facades\Facade::__callStatic
    vendor/mollie/laravel-cashier-mollie/src/FirstPayment/FirstPaymentHandler.php:69 Laravel\Cashier\FirstPayment\FirstPaymentHandler::execute
    vendor/mollie/laravel-cashier-mollie/src/Http/Controllers/FirstPaymentWebhookController.php:26 Laravel\Cashier\Http\Controllers\FirstPaymentWebhookController::handleWebhook
    [...]

@wimski that’s odd. Which version of this package are you using?

Hi @wimski and @voicecode-bv we're diving deeper into this. Can you share:

the package version
cashier configs (redacted if necessary)
any customizations made (i.e. model overrides
code used for triggering the payment (subscription builder/charge builder)
if you have it: the specific payment method used

This way we can hopefully reproduce the issue here and/or trace it down

Hi @patrick-zuurbier ,
Thank you. Are you seeing these exceptions both in testmode and live?

Also, can you share how this was implemented?
        InvalidMandateNoticedEvent::dispatchIf(
            ! hasValidMollieMandate($user),
            $user,
            'subscribe'
        );

I may have found the culprit.
It seems like the exception gets thrown also when the mandate is null.
I suspect this check gets triggered prematurely in this integration with this snippet:
        InvalidMandateNoticedEvent::dispatchIf(
            ! hasValidMollieMandate($user),
            $user,
            'subscribe'
        );

@patrick-zuurbier can you check this?

Hi all,
We had the same issue again yesterday using the latest version of this repo.
In the query log I see that there's actually a mandate being stored in the database:
update   usersset  mollie_mandate_id= mdt_TvJRGBAMmB,  users.updated_at= 2023 -07 -31 11: 23: 18 where  id = *****

Hi @voicecode-bv , thanks for following up. Did you check my previous suggestion on your integration: https://github.com/mollie/laravel-cashier-mollie/issues/172#issuecomment-1587071870 ?

Closing this for now, let me know if it should be reopened.


invalid resolution does not throw exception -- Device starts and sends invalid data

Configuring a pipeline for a resolution not supported by the OAK device prints an error to the log and sends invalid data to host. It does not throw and does not stop Device startup.
I expect bad configuration to stop Device startup. And never send invalid data to host.
Setup

OAK-D
Microsoft Windows [Version 10.0.19044.1526]
depthai-core v2.15.0
VS2019 v16.11.10

Repro

create an app that configures the Pipeline for depth and mono camera at THE_480_P
build and run the app

Result
Device sends invalid 400p ImgFrame to host. And prints to log.

[14442C10C1A1C6D200] [27.033] [MonoCamera(4)] [error] OV9282 doesn't support THE_480_P resolution, defaulting to THE_400_P
[14442C10C1A1C6D200] [27.033] [MonoCamera(3)] [error] OV9282 doesn't support THE_480_P resolution, defaulting to THE_400_P

Expected
Exception to be thrown when dai::Device(pipeline) is constructed
No invalid data sent to host.
Notes
Related to https://github.com/luxonis/depthai-core/issues/400

Thanks, yes, we should think how to handle this better.
At the moment, not throwing on this error was intended, for example to have existing apps that configure THE_720_P resolution (for OAK-D) to not crash on OAK-D Lite.
The device-side pipeline will still operate properly, the frames sent to host are valid (with ImgFrame metadata/size properly set). VideoEncoder init was also changed to do lazy init, taking the size from the first frame received.
Only if the host uses (for some purpose) the resolution configured while creating the pipeline, that will no longer be valid. In that case, it's better for apps to override their known config based on the width/height of the frames received.
Or possible to query the connected cameras or device type first, then eventually adjust the pipeline and send to device.

Please take this as additional feedback... I'm not mad and intend no insults.

I agree with your first sentence ...to handle this better.
I hear your desire on the 2nd. You don't want poorly written apps to crash. I disagree this is the SDK's responsibility. If apps crash...they are poorly written apps. They can fix their bugs. If the app (or python script) has an error, they can fix it. I disagree strongly with the low-level SDK attempting to guess at resolutions and (already) getting it wrong. I believe throwing is the right approach. As a fallback, if you really really must, then have the firmware insert black bars or crop to keep the resolution exactly as requested.
On the 3rd, I disagree. The data sent today is not valid. What is my thinking? I follow strict logic/data parameters. If my app makes an api call for 640x480 8-bit mono data, then I (not considering stride) should get exactly 307200 bytes of data. I do not get 307200 bytes of data today. I get instead 256000 bytes of data...there is 51,200 bytes of data missing.
It is crucial that a caller of the api gets exactly that. Memory allocations, buffers, pointer offsets, GPU sharing, there are countless reasons why the exact data is needed. Image the Linux kernel or Windows ddk display resolution api did this. Dear OS, give me a resolution...whatever you feel like giving me. That's the behavior now of these depthai-core apis. "OAK ignore the resolution parameter and give me whatever resolution you feel like giving me". If this is the intention, then remove the resolution parameter from those APIs because it is meaningless; OAK ignores it today.
I strongly disagree that a C/C++ application should reconfigure itself dynamically on a frame-by-frame basis. And it would be frame-by-frame because in today's depthai-core code it is not possible to know if the sensor might feel like changing the resolution to 123x87 or 1029x752 or whatever other resolution it feel like...at any time...for any frame.
This does not belong in a low-level sdk. Maybe something like this is good for python scripts. Maybe the python bindings should remove all the resolution parameters and then python will get whatever the sensor wants to give it. But not c/c++. Nope.

Thanks for the feedback.
Agree on the need to enforce configurations (and throw exceptions when not achievable).
But we also need to see how to better handle cases like this simple example for a variety of devices, while not getting it too bloated:
https://github.com/luxonis/depthai-core/blob/988442242061362ee0e40851723e88ac45858da1/examples/MonoCamera/mono_preview.cpp#L21

Simply set a common working config (THE_400_P) - not great (if we want to show a higher res with OAK-D), or could get broken when adding support for more sensors that might not support this config.
Add a new entry AUTO, and the device will decide on providing an appropriate resolution - still not good.
Add an extra property like MonoCamera::setStrictResolution(false) - if the requested resolution is not available for the connected camera, to default to a closer working one (what the firmware is doing currently). And default to strict?

Not directly related to this issue, we also need to add a more fine-grained resolution control, implemented by cropping on sensor, for various usecases (e.g. reducing the height to bump the max FPS up):
void MonoCamera::setResolution(int width, int height);
It should be coupled with a sensor binning config.
Maybe we could see also about adding black bars to accommodate cases where the maximum sensor resolution is less than requested, but I think it's better to not have this as a default, and rather throw an exception.
CC @themarpe @szabi-luxonis

I think to properly address this, a combination of both https://github.com/luxonis/depthai-core/issues/285 and a means of setting "AUTO" / leaving out / not enforcing an argument, as Alex pointed out.
The auto option (or API not taking eg: resolution information at all) would allow to basically pick a "default / available" parameter without enforcing it, and the actual data and information about it would be queried from the incoming eg: ImgFrame. (or before building the pipeline by BoardConfig / querying sensors from Device / ...)
In that case we could make setting various parameters enforceable/strict with additional API not needing this information upfront if they are capable of dynamically figuring it out.

Not directly related to this issue, we also need to add a more fine-grained resolution control, implemented by cropping on sensor, for various usecases (e.g. reducing the height to bump the max FPS up):
void MonoCamera::setResolution(int width, int height);
It should be coupled with a sensor binning config.

:+1: Also maybe a "best effort" API - which would enable "easy" fixed resolutions for specific use cases, independent of the underlying sensor. Some sort of thumbnailing / cropping & scaling to produce the desired resolution.
IMO, I'd follow "If API sets something it enforces, if API leaves some information off, the device can "discovery/best effort" choose". In this case its up to "dynamic" use of this information, based on the received messages.
Some cases can be enforced and it makes sense, while others are too dynamic in nature and require dealing with dynamic data as it arrives back to host.
(The above could already be applied to VideoEncoder to do a check with the specified resolution instead of ignoring it, to provide the "enforcability", and some sort of auto for resolution to provide "dynamic" use case)

I think Alex (above) and I agree on....If a setting/param is invalid on Device construct/start, then it should throw.
Mono camera resolution is just one example of a class of issues about invalid parameter checking. This issue and the related issue linked in OP are two of ?probably? many invalids. I'm going to run tests across every setting combination possible in my application with the test automation I recently wrote that is being used to investigate a PoE bug. I just haven't got to it yet 😉
I suggest we all agree on that "invalid->throw" approach and move on to the resolution as one example within that approach. 🤔
In general, I disagree with prioritizing easy examples when designing low-level sdk. A low-level C/C++ sdk's like depthai-core is not easy. That is the nature of a low-level C++ sdk. A low-level sdk needs to be exact full-control, consistent, deterministic, all features, check its parameters, reliable, detailed, etc.
High-level wrappers like python scripts or a not-yet-existing C++ depthai-easybreezy that wraps around low-level SDKs...those are the high-level things to hide the details and make it easy. People using those high-level things don't care (or might not have the knowledge) about bytes, frame alignment, stride, malloc, nv12 vs. yuv...they just want pretty shiny things with auto everything. And that's ok. The high-level is for them.
Regarding auto idea for sensor resolution: Seems reasonable to me that when code cam= p.create<dai::node::xxxxxCamera>(); and never calls cam->setResolution()...then the sdk+firmware can choose the resolution itself by well-known published logic/rules. That would give you that easy example intention. 👍 But... if cam->setResolution() IS called, then it must output that exact resolution or throw.
FYI, not throwing an exception with today's sdk? This is the opposite of easy. And it doesn't yet work. I catch log errors and throw. That works. But in the non-error case, the device silently fails somewhere. Data is not being received by the DataQueues.
// one line
// device = std::make_unique<dai::Device>(pipeline, deviceinfo);

// changes into...
device = std::make_unique<dai::Device>(pipeline.getOpenVINOVersion(), deviceinfo);
{
    std::mutex m;
    std::condition_variable cv;
    std::string errorText;
    const auto logCallbackId = device->addLogCallback([&](dai::LogMessage logMessage) {
        if (logMessage.level == dai::LogLevel::ERR) {
            {
                std::lock_guard lock(m);
                errorText = std::move(logMessage.payload);
            }
            cv.notify_one();
        }
    });
    device->startPipeline(pipeline);
    std::unique_lock lock(m);
    cv.wait_for(lock, std::chrono::seconds(2), [&]{return !errorText.empty();}); // <-- race condition
    device->removeLogCallback(logCallbackId);
    if (!errorText.empty())
        throw std::runtime_error(errorText);
}
// ...and the DataQueues don't get data even when there was no error on startPipeline()

@diablodale this will be addressed in the next major release of depthai, where pipeline building will not be possible without the connection to the device beforehand, so we will be able to throw right away on the API call, if the resolution that is being set is not supported by the camera.

Closing stale bug, no response from Luxonis


Error running 4khd inference

I directly used the code from QuickStart in the model card, but encountered the following error.
Traceback (most recent call last):
  File "example_4khd_chat.py", line 47, in <module>
    response, his = model.chat(tokenizer, query=text, image=image, hd_num=55, history=[], do_sample=False, num_beams=3)
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/root/.cache/huggingface/modules/transformers_modules/internlm-xcomposer2-4khd-7b/modeling_internlm_xcomposer2.py", line 556, in chat
    outputs = self.generate(
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/transformers/generation/utils.py", line 1611, in generate
    return self.beam_search(
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/transformers/generation/utils.py", line 2909, in beam_search
    outputs = self(
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/.cache/huggingface/modules/transformers_modules/internlm-xcomposer2-4khd-7b/modeling_internlm_xcomposer2.py", line 408, in forward
    outputs = self.model(
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/.cache/huggingface/modules/transformers_modules/internlm-xcomposer2-4khd-7b/modeling_internlm2.py", line 960, in forward
    layer_outputs = decoder_layer(
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/.cache/huggingface/modules/transformers_modules/internlm-xcomposer2-4khd-7b/modeling_internlm2.py", line 659, in forward
    hidden_states, self_attn_weights, present_key_value = self.attention(
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/my/.conda/envs/internlm/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/.cache/huggingface/modules/transformers_modules/internlm-xcomposer2-4khd-7b/modeling_internlm2.py", line 488, in forward
    query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids)
  File "/root/.cache/huggingface/modules/transformers_modules/internlm-xcomposer2-4khd-7b/modeling_internlm2.py", line 235, in apply_rotary_pos_emb
    q_embed = (q * cos) + (rotate_half(q) * sin)
RuntimeError: The size of tensor a (8302) must match the size of tensor b (8303) at non-singleton dimension 2
../aten/src/ATen/native/cuda/IndexKernel.cu:92: operator(): block: [4151,0,0], thread: [32,0,0] Assertion `-sizes[i] <= index && index < sizes[i] && "index out of bounds"` failed.
../aten/src/ATen/native/cuda/IndexKernel.cu:92: operator(): block: [4151,0,0], thread: [33,0,0] Assertion `-sizes[i] <= index && index < sizes[i] && "index out of bounds"` failed.
../aten/src/ATen/native/cuda/IndexKernel.cu:92: operator(): block: [4151,0,0], thread: [34,0,0] Assertion `-sizes[i] <= index && index < sizes[i] && "index out of bounds"` failed.

And I find the position_ids.shape is changing when processing the same image. Is there anyone else facing this error?

请问您解决了么


[Transfer ID] Cannot send the Transfer ID

Describe the bug
User already entered the Transfer ID but the deploy's Transfer ID is 0
**To Reproduce

Expected behavior
N/A
Screenshots
N/A

hi @djhahe , please build the Testflight version that I can test it. Then we will release it. Users are asking for this bug fix. Thanks.


Method body removing while forwarding GET,HEAD,DELETE requests

Hi,
One of our teams needed to keep the method body during the forwarding of the request. Which points us to
https://github.com/damianh/ProxyKit/blob/775348040e4d6b0ba9c18e8b47ae1bdf603bb04e/src/ProxyKit/HttpContextExtensions.cs#L44-L52
statements that remove the method body.
Some StackOverflow answers also say that it is not strictly forbidden.
https://stackoverflow.com/questions/299628/is-an-entity-body-allowed-for-an-http-delete-request/299696#299696
So, the server might redirect the request body to downstream but, handling and ignoring is up to downstream application/server in this case.
Can we change this behavior or some selector Func for which keywords can be ignored?
Any thoughts appreciated.

This is copy-pasta from the the original MS AspNet proxy (attempt). I saw it and thought "I'll wait until someone has a problem with this" :)
I know elastic search APIs leverage GET's with a body. I think I'll just remove this, pass through whatever and the let the upstream host handle whether it thinks it's an issue or not.

That's great!, I'm glad there is no reasoning behind that we need to tackle :)
Looking forward to getting the changes.
Thanks @damianh


Add Dynatrace ObservabilityBackend

any chance this can be released please @jenkinsci/opentelemetry-plugin-developers ?
or consider enabling CD?
https://www.jenkins.io/doc/developer/publishing/releasing-cd/


new wiki parsing

implemented new wiki parsing for items, a lot faster takes like 10 seconds at most?
features:

splice recipe parsing
item chi, description
add, rem functions

to-do:

multiple recipe types such as Store Recipe (buyable), Combine Recipe (chemical combiners)
battle pet data
gem drop
item properties
more?

gem drop should be easy to implement (based on item rarity) and I will probably be implementing it some time.
not sure how properties is implemented, but I'll look into parsing growtopia wiki "inside data" further.
pnpm run iteminfo:fetch, output in assets/items_info_new.json

Great job! 👍 I'd might adding types for these later. Merged


Connection.sendall is dangerously broken (can cause SSL3_WRITE_PENDING error)

Currently calling Connection.sendall can cause a loop which re-sends data because __iowait will keep calling _connection.sendall with the same buffer, even if part of it has already been sent.
The fix, I believe, is to have a custom implementation of sendall which loops calling send, something like this:
def sendall(self, buf, flags=0):
    while buf:
        sent = self.send(buf, flags)
        buf = buf[sent:]

(albeit with the extra fiddly bits to make sure it works correctly for memoryview and buffer objects)
See also: https://github.com/gevent/gevent/issues/736

Hey folk, any word on a fix here?


support pyroscope

Pyroscope is an open source continuous profiling platform. It will help our:

Find performance issues and bottlenecks in your code
Resolve issues with high CPU utilization
Understand the call tree of your application
Track changes over time

Codecov Report

Merging #1952 (4a9df4f) into main (d617640) will decrease coverage by 0.13%.
The diff coverage is 18.18%.

@@            Coverage Diff             @@
##             main    #1952      +/-   ##
==========================================
- Coverage   61.61%   61.48%   -0.14%
==========================================
  Files         135      135
  Lines       23446    23468      +22
==========================================
- Hits        14447    14429      -18
- Misses       7328     7361      +33
- Partials     1671     1678       +7

Impacted Files
Coverage Δ

cmd/main.go
46.23% <0.00%> (-4.96%)
:arrow_down:

cmd/flags.go
93.87% <100.00%> (+0.12%)
:arrow_up:

pkg/vfs/reader.go
77.18% <0.00%> (-3.11%)
:arrow_down:

pkg/chunk/disk_cache.go
78.88% <0.00%> (-1.46%)
:arrow_down:

pkg/meta/redis.go
71.77% <0.00%> (+0.04%)
:arrow_up:

Continue to review full report at Codecov.

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


The documentation does not explain what a 'Target' is

The Puppeteer API documentation lists a type called a 'Target', but does not explain what it is and how it relates to BrowserContexts/Pages/Frames/etc. In particular it is missing from the diagram in the Overview, and there is no explanation of its lifecycle - e.g. you can use page.target() to get a target related to a page, but how long does it live for? If you page.goto() another URL, do you need to fetch a new Target? etc

Not stale

Not stale

Target is a CDP-specific concept that I think should not be directly exposed to the end-users but it unfortunately was. There is some documentation here https://github.com/aslushnikov/getting-started-with-cdp/blob/master/README.md#targets--sessions but, generally, I think we should try to deprecate the target API instead of documenting it better.

Presumably there would still be some way of getting a CDP connection?


uwsgi: Force Django load before returning the uwsgi worker function.

Django lazy-loads much of its modules, including the application's. This defers the time to during the first request it serves.  When doing rolling-restarts, this means that the worker is marked "ready" despite having multiple seconds more work to do.  With small numbers of workers, this causes a significant capacity drop, since effectively more than one worker can be still reloading at a time.  It also results in poor user experience for the requests which are unlucky enough to be served first.
Use the technique detailed in the uwsgi documentation^1 to fake a request during initial application load, which forces the application to be loaded.

Does this generate any logs? Probably fine if it does, just curious how it works its way through the system.

Does this generate any logs? Probably fine if it does, just curious how it works its way through the system.

It appears to all respects like a full request, except one that never goes through nginx.

Merged, thanks @alexmv!


[FIX] #106 Added Toast Notifications

I tried to add the toasts on right top corner, bus was not able to, maybe because we would have to change entire page CSS.
So I came up with this idea though, which appears on the top of the page.

Fixe #106


NOT_IMPLEMENTED : Non-zero status code returned while running MultiHeadAttention node

I'm using the fused version of the models, it runs ok for several images until I'm getting this error:
[ONNXRuntimeError] : 9 : NOT_IMPLEMENTED : Non-zero status code returned while running MultiHeadAttention node. Name:'MultiHeadAttention_1' Status Message: packed QKV format is not implemented for current GPU. Please disable it in fusion options.
File "/data/eng/users/motid/work/findle-rel/findle-query/models/LightGlueONNX/onnx_runner/lightglue.py", line 53, in run
matches0, mscores0 = self.lightglue.run(
File "/data/eng/users/motid/work/findle-rel/findle-query/rerank/light_glue_reranker.py", line 125, in onnx_matcher_pair
return self.runner.run(image0, image1, scales0, scales1)
File "/data/eng/users/motid/work/findle-rel/findle-query/rerank/light_glue_reranker.py", line 153, in calculate_inliers_count
kpts_query, kpts_pred, conf = self.onnx_matcher_pair(q_path, c_path)
File "/data/eng/users/motid/work/findle-rel/findle-query/rerank/reranker.py", line 70, in rerank_by_matcher
self.res_dict, time_mean = self.calculate_inliers_count(queries, database)
File "/data/eng/users/motid/work/findle-rel/findle-query/algo_iface/FindleAlgo.py", line 31, in rerank
return self.__reranker.rerank_by_matcher([query], preds_array)
File "/data/eng/users/motid/work/findle-rel/findle-query/findle_query/clients/vespa_client.py", line 113, in query
res_dict, rerank_time_mean = findle_algo.rerank(image_filename, merged_paths)
File "/data/eng/users/motid/work/findle-rel/findle-query/findle_query/services/findle_query_service.py", line 34, in query
predictions = self.__vespa_client.query(self.findle_algo, image_filename, self.__crop_query, dump_output_folder=self.__dump_output_folder)
File "/data/eng/users/motid/work/findle-rel/findle-query/findle_query/api/routers/findle_query_router.py", line 24, in query
result = findle_query_service.query(request.path)
onnxruntime.capi.onnxruntime_pybind11_state.NotImplemented: [ONNXRuntimeError] : 9 : NOT_IMPLEMENTED : Non-zero status code returned while running MultiHeadAttention node. Name:'MultiHeadAttention_1' Status Message: packed QKV format is not implemented for current GPU. Please disable it in fusion options.

Please tell me how to solve it

Hi @XL634663985, thank you for your interest in LightGlue-ONNX.
Regarding the packed QKV error for MultiheadAttention node, you can try using the fused_cpu versions in https://github.com/fabio-sim/LightGlue-ONNX/releases/tag/v1.0.0 . The only difference is that these use unpacked QKV, so they can also run on GPU.

@fabio-sim I ran into the same error, but not all the time--only when keypoint number is small(the biggest one I met is 127). Is there some method I can bypass this problem? like set a minimum keypoint required? But how do I know the exact number?


Test: contribute actions to folders in the explorer

[ ] any OS @alexandrudima

In #10433 we introduced a new context key explorerResourceIsFolder  that extension writers can use to contribute actions to folders in the explorer

Write an extension and verify you can add a functional action to a folder in the explorer

Verified by adding the following to typescript's package.json:
		"menus": {
			"explorer/context": [
				{
					"when": "explorerResourceIsFolder",
					"command": "typescript.reloadProjects"
				}
			]
		}

And the command only shows on folder context menu entries.


[DX] Implement browser aspects of session timeout

Dupe of https://github.com/DataBiosphere/data-browser/issues/2885.


Datasette CSS should include content hash in the URL

When I deployed the latest version of datasette to https://fivethirtyeight.datasettes.com/ I noticed I was getting served stale CSS since it had been cached. Including the sha of he contents in its URL should fix that.
I can calculate this on server start.

If I do add additional static file bundling should that automatically get content hashes as well? #160 - problem with that is then I might have to parse the CSS files and rewrite their internal background-url references etc.

I think I'll do this as a custom Jinja template filter. That way template authors can re-use it for their own static files if they want.

If I do this as a querystring parameter I won't need to worry about URL routing.


OPT-175B link renewal? (Link expired)

Hello,
unfortunately our team was unable to acquire the necessary storage in time before the OPT-175B download expired. Is there any way to get a new link after previously being accepted, or should we just apply again?

Please reply to the email with the unique link you were sent and request for a new link.


L2-announcements and BGP compatibility

Currently, nighter the L2 announcement feature nor the BGP Control Plane have support for service loadbalancer classes. While it is unlikely that either feature will run in a cloud environment where another LB implementation could pick services up. Chances a user enabling both L2 announcement and BGP Control Plane in a on-prem environment are higher. So we might want to consider adding support for service loadbalancer classes to both features.
Currently LB-IPAM recognizes the io.cilium/bgp-control-plane loadbalancerClass, so the BGP control plane should use this class as well. The L2 announcement feature does not have a loadbalancerClass yet, so we should add one.
Doing so will allow users to pick on a per service basis which LB should be used, which this can technically already be done with label selectors, it makes sense to honor the actual service object.

/assign

/assign


Application crashing randomly on initializing FlutterViewController

I have integrated Flutter in my native iOS application. The application is crashing randomly for users and from the crash logs it appears to be happening on initializing FlutterViewController. Please refer the crash log below:
Crashed: com.apple.main-thread
0  Flutter                        0x10519b8bc (Missing)
1  Flutter                        0x10519bad8 (Missing)
2  Flutter                        0x1051b0f48 (Missing)
3  ModuleFlutter                 0x107305b78 @objc SearchFlutterViewController.init(engine:nibName:bundle:) + 1292 (<compiler-generated>:1292)
4  ModuleFlutter                 0x10730af2c FlutterBuildable.buildFlutterSearchScreenWith(module:) + 77 (FlutterBuildable.swift:77)
5  ModuleRouter                  0x10c46c9fc ModuleRouterHandler.navigateToFlutterSearch(source:module:) + 28 (ModuleRouter+Flutter.swift:28)
6  MainModule                        0x102a4c0f0 BaseHomeViewController.showSearch() +<PHONE_NUMBER> (<compiler-generated>:4350083312)
7  MainModule                        0x102a4c1ec @objc BaseHomeViewController.showSearch() +<PHONE_NUMBER> (<compiler-generated>:4350083564)
8  UIKitCore                      0x1a795527c -[UIApplication sendAction:to:from:forEvent:] + 96
9  UIKitCore                      0x1a72ea254 -[UIControl sendAction:to:forEvent:] + 240
10 UIKitCore                      0x1a72ea598 -[UIControl _sendActionsForEvents:withEvent:] + 352
11 UIKitCore                      0x1a72e8ed0 -[UIControl touchesEnded:withEvent:] + 532
12 UIKitCore                      0x1a798ff8c -[UIWindow _sendTouchesForEvent:] + 1244
13 UIKitCore                      0x1a79918b4 -[UIWindow sendEvent:] + 3824
14 UIKitCore                      0x1a796ce50 -[UIApplication sendEvent:] + 744
15 UIKitCore                      0x1a79ef45c __dispatchPreprocessedEventFromEventQueue + 1032
16 UIKitCore                      0x1a79f3bfc __processEventQueue + 6440
17 UIKitCore                      0x1a79eaee0 __eventFetcherSourceCallback + 156
18 CoreFoundation                 0x1a506bbe0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
19 CoreFoundation                 0x1a506bae0 __CFRunLoopDoSource0 + 204
20 CoreFoundation                 0x1a506ae28 __CFRunLoopDoSources0 + 256
21 CoreFoundation                 0x1a50653d0 __CFRunLoopRun + 776
22 CoreFoundation                 0x1a5064b90 CFRunLoopRunSpecific + 572
23 GraphicsServices               0x1bb387598 GSEventRunModal + 160
24 UIKitCore                      0x1a794e638 -[UIApplication _run] + 1052
25 UIKitCore                      0x1a7953bb8 UIApplicationMain + 164
26 MainModule                        0x1027d6394 main + 14 (main.m:14)
27 libdyld.dylib                  0x1a4d43588 start + 4

Flutter doctor:
[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.7 19H15 darwin-x64, locale en-AE)
    • Flutter version 1.22.5 at /Users/murtuza.saify/Documents/tools/flutter
    • Framework revision<PHONE_NUMBER> (7 weeks ago), 2020-12-10 11:54:40 -0800
    • Engine revision ae90085a84
    • Dart version 2.10.4

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, set ANDROID_SDK_ROOT to that location.
      You may also want to add it to your PATH environment variable.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0)
    • Xcode at /Users/murtuza.saify/Documents/tools/Xcode.app/Contents/Developer
    • Xcode 12.0, Build version 12A7209
    • CocoaPods version 1.10.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).

[✓] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.18.1

[✓] Connected device (1 available)
    • iPhone 11 Pro (mobile) • CC78A4AE-D08D-4EA1-B404-A3B92D0EAFF2 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-0 (simulator)

@flutter-symbolizer-bot [https://github.com/flutter/flutter/issues/74982#issue-796947878|this]

@flutter-symbolizer-bot [https://github.com/flutter/flutter/issues/74982#issue-796947878|this]

@flutter-symbolizer-bot [https://github.com//issues/74982#issue-796947878|this]

@flutter-symbolizer-bot [https://github.com//issues/74982#issue-796947878|this]

@flutter-symbolizer-bot [https://github.com//issues/74982#issue-796947878|this]

@flutter-symbolizer-bot [https://github.com//issues/74982#issue-796947878|this]

@flutter-symbolizer-bot [https://github.com/issues/74982#issue-796947878|this]

@flutter-symbolizer-bot [https://github.com/issues/74982#issue-796947878|this]

@mraleph @chinmaygarde Requesting here to please help me symbolicate this crash log 🙏

@mraleph @chinmaygarde Requesting here to please help me symbolicate this crash log 🙏

@flutter-symbolizer-bot force ios arm64

@flutter-symbolizer-bot force ios arm64

@flutter-symbolizer-bot force ios arm64 https://github.com/flutter/flutter/issues/74982#issue-796947878

@flutter-symbolizer-bot force ios arm64 https://github.com/flutter/flutter/issues/74982#issue-796947878

Thanks @mraleph , but I can still see logs missing for Flutter in the above comment from bot.

Thanks @mraleph , but I can still see logs missing for Flutter in the above comment from bot.

I managed to find the top lines of crash logs saying Flutter (Missing) , can someone please help me to know what the logs actually indicate ?
std::__1::__function::__func<fml::internal::CopyableLambda<shell::PlatformMessageResponseDarwin::CompleteEmpty()::'lambda'()>, std::__1::allocator<fml::internal::CopyableLambda<shell::PlatformMessageResponseDarwin::CompleteEmpty()::'lambda'()> >, void ()>::destroy_deallocate() (in Flutter) (functional:1554)

std::__1::__function::__func<fml::internal::CopyableLambda<shell::PlatformMessageResponseDarwin::Complete(std::__1::unique_ptr<fml::Mapping, std::__1::default_delete<fml::Mapping> >)::'lambda'()>, std::__1::allocator<fml::internal::CopyableLambda<shell::PlatformMessageResponseDarwin::Complete(std::__1::unique_ptr<fml::Mapping, std::__1::default_delete<fml::Mapping> >)::'lambda'()> >, void ()>::__clone(std::__1::__function::__base<void ()>*) const (in Flutter) (functional:1536)

void std::__1::__tree_remove<std::__1::__tree_node_base<void*>*>(std::__1::__tree_node_base<void*>*, std::__1::__tree_node_base<void*>*) (in Flutter) (__tree:438)

I managed to find the top lines of crash logs saying Flutter (Missing) , can someone please help me to know what the logs actually indicate ?
std::__1::__function::__func<fml::internal::CopyableLambda<shell::PlatformMessageResponseDarwin::CompleteEmpty()::'lambda'()>, std::__1::allocator<fml::internal::CopyableLambda<shell::PlatformMessageResponseDarwin::CompleteEmpty()::'lambda'()> >, void ()>::destroy_deallocate() (in Flutter) (functional:1554)

std::__1::__function::__func<fml::internal::CopyableLambda<shell::PlatformMessageResponseDarwin::Complete(std::__1::unique_ptr<fml::Mapping, std::__1::default_delete<fml::Mapping> >)::'lambda'()>, std::__1::allocator<fml::internal::CopyableLambda<shell::PlatformMessageResponseDarwin::Complete(std::__1::unique_ptr<fml::Mapping, std::__1::default_delete<fml::Mapping> >)::'lambda'()> >, void ()>::__clone(std::__1::__function::__base<void ()>*) const (in Flutter) (functional:1536)

void std::__1::__tree_remove<std::__1::__tree_node_base<void*>*>(std::__1::__tree_node_base<void*>*, std::__1::__tree_node_base<void*>*) (in Flutter) (__tree:438)

SearchFlutterViewController is not a Flutter component. The backtraces listed in your previous comment indicate that a platform channel message could not be submitted. But the backtraces should list more frame in that case. Without a reproducible test case or the ability to inspect the code, I don't think this issue is actionable at the moment. Are you creating engine instance in SearchFlutterViewController by change?

@chinmaygarde SearchFlutterViewController is my custom view controller derived from FlutterViewController. I am creating the engine instance outside SearchFlutterViewController and passing it while initializing controller using constructor  init(engine:nibName:bundle:)

hmm, PlatformMessageResponseDarwin is used to fulfill platform plugin message requests. But I don't understand how the top three frames right after your custom view controller are directly entering C++ stack frames. It should have gone through [FlutterEngine sendOnChannel:message] or one of its variants. What are you doing with the engine instance in the initializer? It there a change it is being released?

@chinmaygarde Actually I am not doing anything in initializer, below is the code for SearchFlutterViewController.
The primary reason to have custom SearchFlutterViewController was to destroy the engine context on deinit.
Please do let me know if I am doing anything incorrectly specially in deinit.
class SearchFlutterViewController: FlutterViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = UIColor.white
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        navigationController?.setNavigationBarHidden(true, animated: false)
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        navigationController?.setNavigationBarHidden(false, animated: false)
    }

    deinit {
        NotificationCenter.default.removeObserver(self)
        if let flutterEngine = engine {
            NotificationCenter.default.removeObserver(flutterEngine)
            DispatchQueue.main.asyncAfter(deadline: .now() + 3) { [weak flutterEngine] in
                flutterEngine?.destroyContext()
            }
        }
        EAGLContext.setCurrent(nil)
    }
}

@chinmaygarde any thing you see wrong with the code I posted above for the custom view controller specially the way I am destroying the engine context in deinit. Is that the correct approach to destroy engine context ?


Added few funny quote..

#6 Added few funny quote..

@JayOnCaffeine Can you fix the merge conflict?

@1egoman merge conflict fixed..

Thanks 😸 !


WIP: Add documentation to Date matchers

Currently a work in progress, don't merge yet.
This PR is for code review to be made while changes happen, as they can happen individually.

I recommend viewing commit by commit while reviewing the docs

@ajalt
First things first: thanks for the review and the comment!
But for me, Intellij resolves Dokka correctly. What might be going on?

The screenshot I posted was from another project that I added the dependency to. I don't believe that the samples are included in sources jars, but please correct me if I'm wrong.

Understood. Should I include the samples in the jar or is it better to just do what you said and add samples to the docs (not referencing at all)?

If I was writing it, I would add the samples to the docs, but if you can get the samples to resolve in the jar, that would work, too. I'll let @sksamuel weigh in if he prefers one over the other.

I have no preference either way.

Then to avoid having troubles with a bigger jar (not that bigger, but bigger anyways) and maintainability of the code (people might forget to update the samples when they update the code), I'll refactor the samples to be in-docs

@ajalt Please review this again and see if this matches what we talked about.

Don't merge just yet. There are still some docs in this file to handle. I should finish soon

@ajalt and @sksamuel
I believe it's all done.
Please review one more time before mergind. There was a lot of copy pasting stuff, and I might have forgotten to replace an instance or two. I don't believe it happened, but just to be sure..


File download problem

Dataset df = sqlContext.read().
format("com.springml.spark.sftp").
option("host", "").
option("username", "").
option("password", "").
option("fileType", "").
load("/sparktest/sparkfile0.bcp");
spark have two worker, worker1 downloaded(temp/111.josn),but worker2 not download(temp/null),why?

This connector does not split the job into multiple workers as the file from SFTP server is not copied in parallel and hence you are seeing the file in only one worker


Use proxies to avoid not defined error blocking compile

Analogy: Unused variable as error prevents build. At dev time this is annoying because an unused variable may just be a temporary state while working towards some idea, refactor, etc. It is much better at dev time to have this feedback at the level of just a warning, that does not block the compiler from building your code.
The idea is to implement the t.model operation publishers and t.crud field projectors as proxies so that when there is a sync issue or typo TS compile can still succeed. With proxies we can:

Provide custom error messages when the field doesn't exist (please sync etc.)
never get in the way of TS compiling, a golden rule

We may want a prod mode where proxies aren't used.

Currently blocked
Reason: Errors are printed twice because nexus runs dynamics twice

Here is an example of the current frustration:

I am trying to build the app but get this error:
/Users/jasonkuhrt/projects/prisma-labs/nexus-prisma/examples/blog/src/schema/Query.ts:5
    t.crud.blogs({
          ^
TypeError: t.crud.blogs is not a function
    at Object.definition (/Users/jasonkuhrt/projects/prisma-labs/nexus-prisma/examples/blog/src/schema/Query.ts:5:12)
    at SchemaBuilder.walkOutputType (/Users/jasonkuhrt/projects/prisma-labs/nexus-prisma/examples/blog/node_modules/nexus/src/builder.ts:1441:9)
    at SchemaBuilder.walkTypes (/Users/jasonkuhrt/projects/prisma-labs/nexus-prisma/examples/blog/node_modules/nexus/src/builder.ts:681:16)
    at SchemaBuilder.getFinalTypeMap (/Users/jasonkuhrt/projects/prisma-labs/nexus-prisma/examples/blog/node_modules/nexus/src/builder.ts:780:10)
    at makeSchemaInternal (/Users/jasonkuhrt/projects/prisma-labs/nexus-prisma/examples/blog/node_modules/nexus/src/builder.ts:1565:15)
    at Object.makeSchema (/Users/jasonkuhrt/projects/prisma-labs/nexus-prisma/examples/blog/node_modules/nexus/src/builder.ts:1610:49)
    at Object.<anonymous> (/Users/jasonkuhrt/projects/prisma-labs/nexus-prisma/examples/blog/src/schema/index.ts:10:22)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Module.m._compile (/Users/jasonkuhrt/projects/prisma-labs/nexus-prisma/examples/blog/node_modules/ts-node/src/index.ts:493:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:973:10)
error Command failed with exit code 1.

So I go to the source code to see what's up

Sure enough, right, the static error. But now what? I want to know what are the  actually available types. To achieve that, I need typegen, but I cannot produce typegen because of the type error...

@jasonkuhrt Any workaround for this?

@izio38 the work around for now is fix all errors before continuing.

@izio38 the work around for now is fix all errors before continuing.

I'm sorry, but I can't understand what errors needs to be fix. For some reason, the compilation just doesn't pass and I'm not able to see what else is wrong.
If there is no other way than commenting the t.model stuff it's fine, I'll do it :)
Thanks for the quick answer.

@izio38 Try commenting out all the errors, then incrementally bring them back and debug one by one.

the work around for now is fix all errors before continuing

I'm not sure I agree here? These are TypeScript errors. The "workaround" is just to run the server with ts-node --transpile-only or ts-node-dev --transpileOnly 🤔?

@Weakky right you are


[ami]:increase amount of time for waiting to AMI to be ready

During my debug sessions i saw the following message:
09:34:04  ␛[1;32m==> aws: Waiting for AMI to become ready...␛[0m
10:04:13  ␛[1;31m==> aws: Error waiting for AMI: Failed with ResourceNotReady error, which can have a variety of causes. For help troubleshooting, check our docs: https://www.packer.io/docs/builders/amazon.html#resourcenotready-error
10:04:13  ==> aws: original error: ResourceNotReady: exceeded wait attempts␛[0m

So the AMI job fails but if we check AWS console after few more minutes
we see that the AMI was successfully have been created.
Let's increase the amount of time packer waits to avoid this

Verified: https://jenkins.scylladb.com/view/master/job/scylla-master/job/releng-testing/job/ami/1347

What about GCE and Azure ? Don't they have similar parameters?

Those are parameters for Packer. so i assume we they have... but, until now we didn't need it


Improve text chat

With just a couple of improvements, it seems we should be able to make the text chat just as good as Sli.do for people to ask questions during talks.
E.g.,allow

[ ] marking a post as a question and
[ ] filtering the chat to show only questions.

(The former, especially, will be really helpful for replacing Slido!)
Jon's version: We should already have a chat channel for each paper, so add threading for Q&A. We implement that as JSON metadata on each message. Add upvoting and emoji reacts to messages (might be tricky to implement - need to worry about concurrency, can't just have increments on Twilio metadata)
Update: The way to avoid concurrency issues is simply to make each reaction or emoji be a new message (with an attribute that says which message it is reacting to).

This may be superseded by current work on adding reactions to chat posts.  Check later.


Added user journey test to delete old environment

Fixes #670.
Description
This PR creates a user journey test for checking that an admin can delete an environment.
Pull request checklist

[x] Did you test this change locally?
[x] Did you update the documentation (if required)?
[x] Did you add/update relevant tests for this change (if required)?

How to test
Wait for CI to run, or start the conda-store server in a docker container and do pytest -m user_journey.

Test issue is unrelated:
Checking /tmp/baipp/dist/conda_store_server-2024.3.1-py3-none-any.whl: ERROR    InvalidDistribution: Metadata is missing required fields: Name,
         Version.
         Make sure the distribution includes the files where those fields are
         specified, and is using a supported Metadata-Version: 1.0, 1.1, 1.2,
         2.0, 2.1, 2.2.


[CELEBORN-626][FOLLOWUP] Fix wrong update chunkOffsets when final flush with empty buffer

What changes were proposed in this pull request?
Final flush with none empty buffer.
Why are the changes needed?
This bug was introduced by CELEBORN-626
Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass UT

cc @pan3793

Would it be possible to add a unit test to validate? @RexXiong

+1, I'm going to add a UT for this.


Depreciation and O&M costs of heat system operator incorrect in business case

This LES contains a heat network.
There are both investment and O&M costs for the heat system operator. However, there are no costs in the heat system operator to heat system operator cell.

I'm a bit unsure about the role of the "Heat system operator". I do know that the initial costs of the Heat source are applied to the "Heat producer"; for all I can see in the code.

True, the costs for the heat sources are assigned to the heat producer.
The heat system operator is concerned with the heat assets.
In the second image you can see that the primary heat infrastructure has 16426 euro/km investment costs for 17 km. These costs are assigned to the heat system operator.
In this scenario I also assigned the costs of the secondary infrastructure to the heat system operator.

Ho, I was meant to look at heat assets. Heat assets is returning a NaN as far as I can see. I'm investigating why that is ... 🤔 one moment 😅

The technical lifetime of the secondary heat assets can't be 0.

Check, sorry I missed that one. Thanks a lot!


Incorrect format generated for date

The generated format is "date-time" for instance "2015-01-01" which is incorrect, it should be "date".
JSON Sample:
{
  "dt": "2015-01-01",
  "dt_time": "2012-04-23T18:25:43.511Z"
}

JSON Schema:
{
   "type": "object",
   "properties": {
      "dt": {
         "id": "dt",
         "type": "string",
         "format": "date-time",
         "default": "2015-01-01"
      },
      "dt_time": {
         "id": "dt_time",
         "type": "string",
         "format": "date-time",
         "default": "2012-04-23T18:25:43.511Z"
      }
   }
}

The JSON Schema spec only has a date-time format defined.
http://json-schema.org/latest/json-schema-validation.html#rfc.section.7.3

@bshamblen Yes, the spec doesn't list 'date' format, but as per documentation http://json-schema.org/latest/json-schema-validation.html#rfc.section.7.2, custom format attribute is allowed, but this need the agreement in the validator/implementation.
Now the problem is since there's date-time format generate for instance 2015-01-01, most of validator will check this format and validate against the value, it will be failed since it's not a date-time.
I think if we don't add custom format attribute, then it's better to not generate the date-time format for date value.

@weching I understand the desire to break it down further, as many things that leverage JSON schema do. However, I could see the argument for supporting both.
The original reason we created this package was to be able to take JSON data and generate schemas that use a proprietary schema definition syntax, which was loosely based on JSON schema. We then used those schemas to generate SimpleSchemas, to dynamically generate forms using AutoForm, and API documentation using Swagger.
Since date is not explicitly included in the JSON schema spec, returning date could break some tools that don't support that format. Not returning date could break others that have chosen to implement that format.
The Open API spec (formerly Swagger) supports a string data type, with a format of either date and date-time.
SimpleSchema, on the other hand, only supports a Date type.
I would lean toward making this another option, so users could choose the desired behavior based on their need.

sounds good.


bug: calendar demo selecting range when only a single date is expected

https://github.com/cschroeter/park-ui/assets/20903247/218b42b8-fbba-42db-9e05-d5e1e2d43e3a

@jlarmstrongiv
Thanks for taking your time to report this issue. The demo has been updated to use two input fields

@cschroeter is there an example that is a single date field without a range too?

Just change the mode and use one input


Graph processing gets stuck if not all nodes are used

If you make a graph where not all nodes are connected to something, it seems like the library waits for the remaining nodes to finish, which they never do since they aren't connected to anything.

Done.


More operations

Add the operations of parity, gcd, and average.

Added these operations in the commit "Even more operations!".


Remove the last raw vim instance from EnsimeClient

Doing some refactoring, and here's one chunk that stood alone from larger changes.
disable_plugin doesn't really work (#294). We might not need it at all if upcoming changes handle problem scenarios better (reconnect to server, throw away client instance for a new one, restart server, etc.), but for now I moved it to Ensime with a todo. That's where it probably belongs anyway if fixed since Ensime represents the plugin itself, and if there are multiple clients (multiple projects in the Vim session) then they should all get shut down if the plugin is disabled. Ensime is currently the place to handle things like that.

I think the :UpdateRemotePlugins thing is happening again.

 I'm rolling back changes bit by bit and I can't tell what is giving Neovim a problem this time. Turned on nvim's debug logging and not seeing anything that helps me. This is starting to get on my nerves.

Same story here with the server restart PR, super frustrating. Is it better the experience in py3? Would it be hard to migrate for us?

When I generate a working rplugin manifest by checking out master and then switching back to this branch, I get this in :messages at nvim startup:

Error detected while processing VimEnter Auto commands for ".scala":
no request handler registered for "/Users/ches/.vim/bundle/ensime-vim/rplugin/python/ensime.py:autocmd:VimEnter:.scala"

But we clearly have a VimEnter handler registered and that fact hasn't changed—if some error is causing nvim not to load it it'd be nice to get an error message about that… and by the way, the plugin still otherwise works once a CursorHold or CursorMove kicks in!
I comment out all code in the functions that handle VimEnter so they're no-op, and also remove all calls on the vim object during construction of Ensime and Editor to rule out that known pitfall, and nothing helps, :UpdateRemotePlugins still breaks 😖
The changes on this branch don't even seem consequential to me for the issue that manifests.

I can't really explain why, but the Neovim issue appears to be fixed with the latest commit.
Our build seems to be broken by recent changes to the Drone infrastructure, see ensime/ensime-emacs#573…

I don't remember when but I've had this issue with neovim before. My solution was to reinstall the plugin, but it also struck me that neovim wasn't detecting correctly the hooks after changes to the code. Glad to see that's fixed.

Okay, it's a bummer that the new CI environment is messed up but particularly since @jvican has also been able to lend some attention I'd like to capitalize on our momentum and move ahead. I'll remove the commit that updates the build config so that this branch "passes" and can be merged.


System.NullReferenceException in ILRepack/ReferenceFixator.cs:line 520

Hello
Thank you very much for sharing your great work for Microsoft with us for free,
while Microsoft makes 6.3 billion in net profit every month because we pay such massively inflated license fees. It's a pure shame that M$ is not offering professional, basic tools to their SW.
I received the following exception at ILRepack/ReferenceFixator.cs:line 520
System.NullReferenceException: Object reference not set to an instance of an object.
   at ILRepacking.ReferenceFixator.Fix(MethodReference method) in /_/ILRepack/ReferenceFixator.cs:line 520
   at ILRepacking.ReferenceFixator.FixReferences(Instruction instr) in /_/ILRepack/ReferenceFixator.cs:line 379
   at ILRepacking.ReferenceFixator.FixReferences(MethodBody body) in /_/ILRepack/ReferenceFixator.cs:line 351
   at ILRepacking.ReferenceFixator.FixReferences(MethodDefinition meth) in /_/ILRepack/ReferenceFixator.cs:line 292
   at ILRepacking.ReferenceFixator.FixReferences(TypeDefinition type) in /_/ILRepack/ReferenceFixator.cs:line 163
   at ILRepacking.Steps.ReferencesFixStep.Perform() in /_/ILRepack/Steps/ReferencesFixStep.cs:line 57
   at ILRepacking.ILRepack.RepackCore(String tempOutputDirectory) in /_/ILRepack/ILRepack.cs:line 433
   at ILRepacking.ILRepack.Repack() in /_/ILRepack/ILRepack.cs:line 295
   at ILRepacking.Application.Main(String[] args) in /_/ILRepack/Application.cs:line 49

The cause was

The Microsoft .net build tools somehow did not delete old DLLs
and Microsoft .net build did not recompile the corresponding modified source code
Therefore, ILRepack had DLL files that didn't match

To solve the problem:

I deleted .\src\bin\Debug\net8.0\ and rebuilt the solution,
» ILRepack perfectly worked.

Could you please think about:

Make the null check at ILRepack/ReferenceFixator.cs:line 520
and if there is a null, could you please display a hint that it might help if the user deletes the build output and restarts the build

Below is the verbose log, but unfortunately, I can not provide my source code.
Thanks a lot, kind regards,
Thomas
c:\Users\tom\.nuget\packages\ilrepack\2.0.36\tools\ILRepack.exe /ndebug /out:jig.ch.TomLib-Merged.dll 'jig.ch.CloudMirror.dll' 'jig.ch.TomLib.dll' /verbose
IL Repack - Version 2.0.36
Runtime: ILRepack, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=c3e9373f1c31208e
------------- IL Repack Arguments -------------
/ndebug /out:jig.ch.TomLib-Merged.dll jig.ch.CloudMirror.dll jig.ch.TomLib.dll /verbose
-----------------------------------------------
Adding assembly for merge: jig.ch.CloudMirror.dll
Resolved 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' from 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.11\System.Runtime.dll'
Resolved 'System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' from 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.11\System.Private.CoreLib.dll'
Adding assembly for merge: jig.ch.TomLib.dll
Processing references
Processing types
- Importing <Module> from jig.ch.CloudMirror.dll
- Importing <Module>
Merging <Module>
- Importing jig.ch.CloudMirror from jig.ch.CloudMirror.dll
- Importing jig.ch.CloudMirror
...
- Importing <Module> from jig.ch.TomLib.dll
- Importing <Module>
Merging <Module>
- Importing jig.ch.TomLib from jig.ch.TomLib.dll
- Importing jig.ch.TomLib
...
Processing exported types
Processing resources
Fixing references
- Fixing references for type <Module>
- Fixing references for type jig.ch.CloudMirror
- Fixing references for type jig.ch.Person
- Fixing references for type jig.ch.PersonExtensions
- Fixing references for type jig.ch.FileInfoExtensions
- Fixing references for type jig.ch.FileNameBuilder

System.NullReferenceException: Object reference not set to an instance of an object.
   at ILRepacking.ReferenceFixator.Fix(MethodReference method) in /_/ILRepack/ReferenceFixator.cs:line 520
   at ILRepacking.ReferenceFixator.FixReferences(Instruction instr) in /_/ILRepack/ReferenceFixator.cs:line 379
   at ILRepacking.ReferenceFixator.FixReferences(MethodBody body) in /_/ILRepack/ReferenceFixator.cs:line 351
   at ILRepacking.ReferenceFixator.FixReferences(MethodDefinition meth) in /_/ILRepack/ReferenceFixator.cs:line 292
   at ILRepacking.ReferenceFixator.FixReferences(TypeDefinition type) in /_/ILRepack/ReferenceFixator.cs:line 163
   at ILRepacking.Steps.ReferencesFixStep.Perform() in /_/ILRepack/Steps/ReferencesFixStep.cs:line 57
   at ILRepacking.ILRepack.RepackCore(String tempOutputDirectory) in /_/ILRepack/ILRepack.cs:line 433
   at ILRepacking.ILRepack.Repack() in /_/ILRepack/ILRepack.cs:line 295
   at ILRepacking.Application.Main(String[] args) in /_/ILRepack/Application.cs:line 49

First let me just say that I absolutely share the sentiment that large corporations don't give back nearly enough to open source projects they depend on. I do whatever I can to alleviate that, however little that may be. I'm also very angry at Microsoft specifically, for a variety of reasons.
Regarding this bug, I can check for null, however this will fix the symptom, not the problem. To fix this properly I'd need to have the two assemblies being merged that resulted in the exception you're seeing, so I can debug and fix the problem at the root.
I'm guessing the assemblies are proprietary. If you still have the bad assemblies, you can email them to my first name dot last name at microsoft dot com, I can investigate and then delete the assemblies. However I understand that you can't reproduce the problem at will, it only happened with mismatched binaries, and even if you send me the new binaries I won't be able to reproduce.
For now there's not much I can do. I don't think a defensive fix would be of much help here, because it will still fail downstream, and I'd rather have the exception close to the source than "something went wrong" later.
If you ever see this again, you can either copy those two binaries and send them to me, or, if you can't share them, run this under the debugger and investigate yourself, and see why the Fix() method is returning null in the first place.
Thanks for the bug report.


Make EH debugging not event order dependent

Currently the way extension host debugging is implemented it is very much depended on event ordering and timing. We should invest in making this less fragile.
Issue where this is showing up https://github.com/Microsoft/vscode/issues/29334

The fundamental problem is that the extension host (EH) is just a regular node.js process that is unaware of the fact that it is used as an EH. So a termination event originating from the node.js process conveys no information whether it is a result of a crash or the first part of an EH restart sequence.
The VS Code code that manages the EH process knows that it first kills a EH process and then starts a new EH as part of a restart. But it is very difficult to associate this high-level knowledge (an event) with the low-level events coming from the node.js process.
The problem that lead to the issue at hand was that the order of the high-level event and low-level events was flipped because of some performance optimisation. So currently we use an algorithm that requires a fixed order between these events.
A better (but still fragile) approach would be this:
If a node.js termination event is received and there was no restart event some X ms before or X ms after, the termination event indicates a crash and the debug session terminates. Otherwise the termination event is part of a restart sequence and the debug session needs to be restarted.
The best approach to fix this issue would be to add additional context information to the low-level events sent out by the node.js runtime. With that VS Code would know that a terminated event is part of a restart sequence (and there would be no need to associate events with some heuristic).

Ideally the logic would be this:

the debug UI receives a reattach event (from Ben) whenever the EH was restarted (e.g. when loading a workbench or reloading the window).
this triggers the creation of a new "Process" (debug terminology) which tracks a new DA (that itself tracks the new node.js EH process). The debugger UI will immediately "take over" this Process.
the old node.js EH is still tracked by the old Process and DA but it should no longer be reflected in the UI (because the new EH is already shown). If node.js eventually terminates, the TerminatedEvent will make the debugger frontend cleanup the "Process" and DA.

In this model two Processes (and their associated DAs and EHs) can exist in parallel but only one is reflected in the UI. As soon as the new EH is running, the old session disappears from the UI (even if the node.js EH process hasn't terminated).
If the EH crashes or terminates, it will send a TerminatedEvent through the DA and the debugger frontend will shutdown the session. Since no new "Process" was started, the UI still reflects the crashed EH and no "restart" will happen.

A simpler alternative is to avoid that EH process can run in parallel.
In this model launching of the new EH process would be delayed until the previous EH has completely terminated. This could be a first step towards the more robust solution from above.

I have looked into this and in the end settled on a pragmatic solution which seems to work. Please keep in mind that both the start of EH debugging and reload trigger the attach event from the workbench thus they fall into the same camp.

Reattach event now always creates a brand new "Process"
If there is already a EH Process when a reattach happens that Process is disposed. Why we need to do this and not simply let DA handle that? Because in the case when we start EH debugging we have a Process which is not yet attached and in that case DA will not send any terminate signal since nothing died, so we need to get rid of this empty Process and start using the real thing.

I have tested this out and it works nicely for me (both realod and open folder and start of eh debugging).
Since I am out for the next 10 days in case something seems broken just revert my commit attached to this issue.
This solution compared to the ideal logic from two posts above does not have the problem of having to hide a process in the ui (which we currently do not support).
Try it out and let me know how it goes.

@isidorn sounds good, I'll give it a thorough try...

"Reload" Window and "Open..." works great on all three platforms.
But "Restart" is broken now.
Since I deem the former actions more important than the latter, I will not revert the commit but create a separate issue for the "Restart" bug.


Crash when i hurt a special entity

I only have damaged the entity it was a little guy with a backpack
Crash report: https://hastebin.com/ijisuzonic.sql

This is Beta 11.
Update to Beta 13.

Yea, I know is beta 😁
Thanks I don't hace seen that the version has changed.


[DO NOT MERGE] systemfield: make index aware of prefix

closes https://github.com/inveniosoftware/invenio-communities/issues/620

found an error, some indices were prefixed several times.

This solution is not suitable. The Index would have the prefix and would work by itself. However, invenio-indexer API calls _prepare_index before performing operations (i.e. IndexRecordOp --> indexer.index(record)). This call will mean ending up with the prefix added twice (once from IndexField another from Indexer).
Another alternative is to add a line such as the following every time we want to get the actual index name (without being an indexer call, i.e. IndexRefreshOp).
index=self.indexer._prepare_index(self.record_cls.index)

TL;DR solutions:
a) Make IndexField the sole point of prefix/suffix expansion. This requires lots of changes and is back incompatible for invenio-indexer.
b) Be aware of using _prepare_record when getting the index name from the field. This requires the least changes, but we might end up in trouble in the future if we pass an already prepared index to the function (prefixed twice)
My take, due to the need of a fast fix: go for b) adding an if to check if it has already been prefixed. For now, the only extra place is the IndexRefreshOp.
cc @lnielsen @ntarocco (can discuss tomo after standup)

This last fix is working (see instance indices), also tested creating a community (issue reported) and it works

However,
1- This means that tests will never work with prefixes, since we access the APIClass.index.refresh() directly
2- Need to be aware if we ever do something directly on the index
Makes me think if the refresh should be delegated to invenio-indexer, then the IndexRefreshOp gets and indexer as parameter. Avoiding accessing the API classes/indices directly.

Closing this PR in favour of the ones in indexer/records-resources