vs code takes lot of time to load

Type: Performance Issue
From past few days my vs code is not loading as fast as past times i uninstalled many times but issue not solved.
I even turn offed the real time scan of my antivirus but the issue not solved. It always shows as your windows is not responding
i hope you will resolve this issue as early as possible.
VS Code version: Code 1.78.2 (b3e4e68a0bc097f0ae7907b217c1119af9e03435, 2023-05-10T14:39:26.248Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i3-10110U CPU @ 2.10GHz (4 x 2592)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
15.85GB (8.28GB free)

Process Argv
--crash-reporter-id e0676202-3f94-42be-b85e-f7661c169783

Screen Reader
no

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
    2	    94	   656	code main
    0	    48	  2064	   utility-network-service
    0	    81	  5124	fileWatcher [1]
    0	   108	 10600	extensionHost [1]
    0	   146	 12892	window [1] (Settings - calculator - Visual Studio Code)
    0	    27	 13052	   crashpad-handler
    0	    89	 15996	shared-process
    0	    78	  9516	     ptyHost
    1	    86	 18412	window [2] (Issue Reporter)
    0	   153	 19620	   gpu-process

Workspace Info
|  Window (Settings - calculator - Visual Studio Code)
|    Folder (calculator): 5 files
|      File types: css(2) ico(1) html(1) js(1)
|      Conf files:;

Extensions (1)

Extension
Author (truncated)
Version

LiveServer
rit
5.7.9

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
vscccc:30610679
2e4cg342:30602488
pyind779:30671433
89544117:30613380
pythonsymbol12:30671437
a9j8j154:30646983
showlangstatbar:30737416
pythonms35:30701012
pythonfmttext:30731395
pythoncmv:30739700
fixshowwlkth:30730052
showsbindicator:30730056
pythongtdpath:30739704

Are you using McAfee antivirus? If so please see https://github.com/microsoft/vscode/issues/178962

Are you using McAfee antivirus? If so please see #178962

Yes I am using McAfee antivirus

/duplicate

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!

So what to do know how to resolve the issue


Add raven-android submodule.

I confused Github somehow. This is a clean diff moved from https://github.com/getsentry/raven-java/pull/231

Probably belongs in raven-java:

[x] Add simple static interface for sending exceptions, setting breadcrumbs. (e.g. Raven.sendException(e) so they don't have to pass a client around everywhere)

Mandatory for Android "hello world" (this PR):

[x] Figure out a naming scheme for classes, they're wordy and/or confusing right now.
[x] Enforce async for all communication. (networking on Main thread is an exception in Android)  https://developer.android.com/reference/android/os/AsyncTask.html
[x] Check internet connectivity permissions and complain in development mode.
[x] Take DSN from manifest, or constructor, else throw exception.
[x] Store exceptions when offline, send later.
[x] Add ability to set release, or take automatically from app version if possible.

Follow-on issues to create:

[ ] Attach app/phone data automatically. (use contexts in json probably? https://github.com/getsentry/sentry/pull/3521)
[ ] Breadcrumb support (and automatically add some crumbs if possible/sensible).
[ ] Proguard handling. (like sourcemaps in JS, we can bundle a way to get source lines)
[ ] Add ability to disable uncaught exception handler. (?)
[ ] Set environment automatically if possible #232.

Ugh, there are some comments here: https://github.com/getsentry/raven-java/pull/231#pullrequestreview-2391703
Github. :(

Any update on the Proguard handling? We'd love to finally switch over all of our error logging to Sentry, but currently Android is still using Crashlytics because of the proguard support. Sentry isn't really viable without Proguard support for Android. There was an issue on this last year in the sentry repo, any update about that too perhaps?

Hey @AndreasBackx, Proguard support is super high priority for us. Soon!

@bretthoerner I myself would love to help out (even though I'm pretty tight on time). How far is development regarding proguard right now and how can I/we help? It shouldn't be a problem for me dive in either the core of sentry or raven-java. Could you sum up what needs to be done or what still needs to be done in greater detail?

@AndreasBackx I responded to you on a new ticket: https://github.com/getsentry/raven-java/issues/317

@bretthoerner might be a good idea to add it to the original PR's checkbox.


Add branch as keyword argument to download function

make branch keyword only arguments
re-indent code to be consistent with Julia style guide

This is ready to be merged.

Codecov Report

Merging #194 into master will increase coverage by 0.02%.
The diff coverage is 41.66%.

@@            Coverage Diff             @@
##           master     #194      +/-   ##
==========================================
+ Coverage   58.45%   58.47%   +0.02%
==========================================
  Files          45       45
  Lines        3822     3824       +2
==========================================
+ Hits         2234     2236       +2
  Misses       1588     1588

Impacted Files
Coverage Δ

src/utils/data.jl
46.15% <41.66%> (+9.79%)
: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 0eaa0fe...9bdd9a6. Read the comment docs.

Codecov Report

Merging #194 into master will increase coverage by 0.02%.
The diff coverage is 41.66%.

@@            Coverage Diff             @@
##           master     #194      +/-   ##
==========================================
+ Coverage   58.45%   58.47%   +0.02%
==========================================
  Files          45       45
  Lines        3822     3824       +2
==========================================
+ Hits         2234     2236       +2
  Misses       1588     1588

Impacted Files
Coverage Δ

src/utils/data.jl
46.15% <41.66%> (+9.79%)
: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 0eaa0fe...9bdd9a6. Read the comment docs.


chore(deps): update dependency org.hibernate:hibernate-core to 5.4.0.cr1

This PR contains the following updates:

Package
Change

org.hibernate:hibernate-core
4.2.21.Final -> 5.4.0.CR1

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR is stale, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

This PR has been generated by Renovate Bot.

Declining alpha dependency update, see renovatebot/renovate#2838 for progress to ensuring only stable releases have PRs issued.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will now ignore this update (5.4.0.CR1). You will still receive a PR once a newer version is released, so if you wish to permanently ignore this dependency, please add it to the ignoreDeps array of your renovate config.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


Exceptions in immediately called function?

Hi,
Suppose we have the following:
private IPromise DownloadFile()
{
    return DoAsyncOp1()
        .Then(x => DoAsynOp2())
        .Catch(e => Debugger.Log("Whoopsie!"));
}

private IPromise DoAsyncOp1()
{
    // If we throw an exception here, it wont be caught in the handler above
}

private IPromise DoAsynOp2()
{
    // If we throw an exception here, it WILL be caught in the handler above
}

Is the how would you engineer a safe solution to this? Would you do:
private IPromise DownloadFile()
{
    return Promise.Resolve()
        .Then(() => DoAsyncOp1())
        .Then(x => DoAsynOp2())
        .Catch(e => Debugger.Log("Whoopsie!"));
}
private IPromise DoAsyncOp1()
{
    // If we throw an exception here, it will now be caught
}
private IPromise DoAsynOp2()
{
    // If we throw an exception here, it will also be caught
}

Or how would you structure your code? To be safe should you ALWAYS start every promise with Promise.Resolve() ?
Cheers,
Mike

Technically, "DoAsyncOp1" does not DO an async op, it returns the promise for the result of an async op. So does DoAsyncOp2, but it is encapsulated in a promise resolution method and thus the promise resolver is responsible for the exception handling.
So if you want full error propagation through the promise chain, your proposal to start every promise chain with a "Promise.Resolve().Then(..)..." would be the way I'd do it, too.

Hmmm, good point. I suppose you are right. It does still feel a little awkward still.
I wish Unity supported Async / Await!

You can also do this:
private IPromise DownloadFile()
{
return new Promise((resolve, reject) =>
{
... start an async operation, this can fail and will automatically reject the promise ...
      .... do the async operation and call resolve if it completes successfully ...
});

}


Add ICA meta examples and cookbook page for fastICA

#3881

@vigsterkr can you restart the appveyor build?

@karlnapf style problem: https://travis-ci.org/shogun-toolbox/shogun/jobs/248793435#L809
and something with the integration data integration_meta_cpp-converter-ica_u_wedge_sep

Merging as AppVeyor was fine earlier (and just removed things)

@vigsterkr Are the meta languages cpp included in the coverage?


[WIP] integration tests setup

Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

If this is going to be run by a privileged job, which it looks like it will, it should use /run not /tmp

ack


Oracle Support

Oracle implementation.

Waiting for ODP.NET .NET Core version.

http://www.oracle.com/technetwork/topics/dotnet/downloads/odpnetcorebeta-4077982.html


build-rust-crate: proc-macro shared library extension

Description of changes

When cross compiling proc macros, the proc macro needs to be built for the build platform's architecture.
An issue with cross compilation from macOS to Linux is that the shared library extension on macOS is .dylib while it's .so on Linux which messes up compilation. We currently hard-core the extern arguments for rustc to all target the hostPlatform's shared library extention which would make all procMacros break at linking time as they are assumed to be .so files prior to this commit.
This is something we've had to patch locally in our private repo. We use crate2nix and have a special zig based cross compilation setup we wish to upstream :)
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[x] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

Is this still actionable? IIRC that's been recently changed.

Is this still actionable? IIRC that's been recently changed.

I can try again Thursday next week when I have access to the x86 darwin machine at work. But as far as i recall it is still an issue. We use Rust version 1.78.
Do you recall where this would have been changed? :)

@Kranzes I didn't find time today so thanks a ton. I don't mind at all, it's welcome help :)


reuse database API KEY generated in create_vaults playbook

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
When the forum's vault is created, an API KEY is generated and this API KEY should be reused in the exdapp's vault to allow communication between those two applications. For now the only solution is to decrypt the forum's vault, copy the key, decrypt the edxapp's vault, paste the API key and then encrypt all decrypted vaults.
Describe the solution you'd like
In the forum's vault creation we can automate this copy/past mechanism but the generic create_vaults playbook is not able do that for now.
We should introduce an event system. An event is emitted at the end of a playbook allowing to create specific tasks, a more application-centric solution.
Do you want to work on it through a Pull Request?
sure !

We should introduce an event system. An event is emitted at the end of a playbook allowing to create specific tasks, a more application-centric solution.

In ansible there is a notify/handler mechanism so this is the solution I choose to implement but after spending some hours it seems that this solution is not the good one.
The idea was to create a task, looping on apps if a directory handlers exists containing a main.yml file. If this file exists then include it in our playbook.
There are a lot of problem with this:

include_tasks, import_tasks and include can not be used because they can not import handlers but a list of tasks (yes I know it's in the name of the function but handlers are tasks).
You are not sure that your handler will be called, there are a lot of reason for that, you can fount some of them in the sporadic documentation about handlers and you will find more with your beloved search engine.
The handler execution is postpone at the end of the play so if something fail between the notification and the end of the play, the handler will not be executed. You can force to execute them by using --force-handlers option.

So I looked for another solution. A known solution is to introduce the notion of hook used in many modular system. A hook is a mounting point where you look if "modules" want to be "hook" on this point and then execute what contain the module at this point.
To implement this solution we have to create a task file responsible to look for a dedicated file and include it. We will have something like:
- include_tasks: tasks/execute_apps_hook.yml
      vars:
        hook: databases_vault_created

this task will be responsible to look for each defined application in apps if the file apps/{{ app.name }}/hooks/databases_vault_created.yml exists and if true include it using include_tasks. The tasks will be immediatly executed.
Doing this each application can have its own logic.
The mechanism is almost implemented in a branch, I will open a PR with my work.
WDYT ?


[Unity3d] Is it possible that if we directly copy and past the source files from here to Unity3d (skip the DLL building)

as titled.
It is a bit hard to maintain the source in Windows due to I'm using Mac to develop the game. Besides that, I can't inherit the pre-defined processing symbol from Unity into the DLL.
THank you.

Closing as you should be using git for this.


Set up CI for RDKit/OpenEye split

Description
This PR cleans up some loose ends in the CI script and sets up separate builds with and without OpenEye toolkits. Both builds have RDKit installed.

GitHub had a brief outage, but I checked the logs and things look okay.


[Feature Request] Turn repo to a helm repo

Is your feature request related to a problem? Please describe.
We are trying to add this repository as a helm repository for our local development cluster but it's failing to detect repo due to missing index.yaml
Failed  25s (x10 over 13m)  source-controller  failed to fetch Helm repository index: failed to cache index to temporary file: failed to fetch https://github.com/temporalio/helm-charts/index.yaml : 404 Not Found

Describe the solution you'd like
A workflow could be added to this repo to maintain index.yaml as Github pages as described here

It looks like you're using Flux based on your log (source-controller);
To use a Git Repository, you can use the GitRepository kind.
For example:
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: GitRepository
metadata:
  name: temporal
spec:
  interval: 1m
  url: https://github.com/temporalio/helm-charts
  ref:
    tag: v1.17.1

Thanks for the pointer @adamstrawson This will remove the need for the PR however we should still stick to our own repo since the helm charts are not starting successfully due to https://github.com/temporalio/helm-charts/issues/182

Closing this issue since no change is required


Forward over reverse drops custom rule if corresponding function is inlined

My custom reverse rule works as expected in 1st order reverse mode, but I need to give the corresponding function @noinline tag for it to be picked up in 2nd order forward over reverse. In the MWE below I've introduced a bug in the rule such that both the gradient and the hv product should be different between g and g_custom; gradients are always different, but hv products are only different when I add @noinline.
using Enzyme

#=@noinline=# f(x) = sum(abs2, x)
#=@noinline=# f_custom(x) = sum(abs2, x)

g(x) = cos(f(x))
g_custom(x) = cos(f_custom(x))

function dg_deferred!(dx, x)
    make_zero!(dx)
    autodiff_deferred(Reverse, g, Active, Duplicated(x, dx))
    return nothing
end

function dg_custom_deferred!(dx, x)
    make_zero!(dx)
    autodiff_deferred(Reverse, g_custom, Active, Duplicated(x, dx))
    return nothing
end

function EnzymeRules.augmented_primal(
    config::EnzymeRules.Config, f::Const{typeof(f_custom)}, ::Type{<:Active}, x::Duplicated
)
    tape = EnzymeRules.overwritten(config)[2] ? copy(x.val) : nothing
    primal = EnzymeRules.needs_primal(config) ? f.val(x.val) : nothing
    return EnzymeRules.AugmentedReturn(primal, nothing#=shadow=#, tape)
end

function EnzymeRules.reverse(
    config::EnzymeRules.Config,
    ::Const{typeof(f_custom)},
    dret::Active,
    tape,
    x::Duplicated,
)
    xval = EnzymeRules.overwritten(config)[2] ? tape : x.val
    x.dval .= (2dret.val) .* xval
    x.dval .^= 2  # Deliberate bug as signature of custom rule 🐛
    return (nothing,)
end

x = [2.0]
dx, dx_custom = make_zero(x), make_zero(x)

v = first(onehot(x))
hv, hv_custom = make_zero(v), make_zero(v)

# gradients
dg_deferred!(dx, x)
@show dx

dg_custom_deferred!(dx_custom, x)
@show dx_custom

# hvps
autodiff(Forward, dg_deferred!, Const, Duplicated(dx, hv), Duplicated(x, v))
@show hv

autodiff(
    Forward,
    dg_custom_deferred!,
    Const,
    Duplicated(dx_custom, hv_custom),
    Duplicated(x, v),
)
@show hv_custom

Output as written: different gradients, equal hv products.
dx = [3.027209981231713]
dx_custom = [9.164000270468907]
hv = [11.971902924433648]
hv_custom = [11.971902924433648]

Output with @noinline: both gradients and hv products different.
dx = [3.027209981231713]
dx_custom = [9.164000270468907]
hv = [11.971902924433648]
hv_custom = [72.48292805436535]

@danielwe with the just landed fixes to nesting (and in particular not calling deferred anymore on the inside but regular autodiff), does this still err?


time.Time  json encoding

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?
go version devel +7e0d660 Tue Apr 5 20:38:41 2016 +0000 linux/amd64

What operating system and processor architecture are you using (go env)?
linux/amd64

What did you do?
May be  RFC3339Nano encoding problem in time.Time ?

package main
import (
"fmt"
"time"
"encoding/json"
)
func main() {
t:=time.Now()
bb,_:=json.Marshal(t)
fmt.Println(string(bb))
}
4. What did you expect to see?
2016-04-05T23:59:59Z05:00

What did you see instead?
2016-04-05T23:59:59Z

It depends on the timezone: http://play.golang.org/p/pw7q1sLTE4


Add a missing '%'

Add a missing '%'

@zhiliangxu : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; merging.


Does not support opening notes when using vscode extension

Trying to use this snap together to the joplin vscode plugin doesn't work properly:

Notes are properly listed and can be managed (removed, renamed, created)
Opening a note fails.

The only log I get is in vscode:
[2021-04-19 14:38:49.930] [renderer3] [error] Running the contributed command: 'joplinNote.openNote' failed.: Error: Running the contributed command: 'joplinNote.openNote' failed.
	at S._executeContributedCommand (/snap/code/62/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:86:106930)
	at runMicrotasks (<anonymous>)
	at processTicksAndRejections (internal/process/task_queues.js:97:5)

But since using the upstream AppImage it works, I assume there's some problem with the snap. There's no audit log in dmesg either.

I guess it is related to another question: https://github.com/MrCarroll/joplin-desktop-snap/issues/9

I've just tried it out now and it works for me, I'd double check to ensure the web clipper port and authentication tokens are correct, and that the Program Profile Path value is correct, it should be /home/user/snap/joplin-desktop/current/.config/joplin-desktop.
What I am noticing is that VSCode opens what I assume is a xdg-desktop-portals interface to select the editor. What's annoying with these portals is that after selecting the same editor 3 times, it remembers the result and stops asking, usually this would be a good thing not nag the user, but I'm wondering if it's possible that your system is trying to open a markdown editor that doesn't exist rather than actually open in VSCode. Potentially then it's related to this https://github.com/flatpak/xdg-desktop-portal/issues/472
I don't imagine #9 is blocking the vscode plugin since VSCode itself is unconfined and all the logic happens over the network with the webclipper service, which the sandboxing doesn't interfere with.

I've just tried it out now and it works for me, I'd double check to ensure the web clipper port and authentication tokens are correct, and that the Program Profile Path value is correct, it should be /home/user/snap/joplin-desktop/current/.config/joplin-desktop.

Yeah, both were correct.
I'm not sure about the portal thingy, as when i tried running the upstream AppImage with HOME=$HOME/snap/joplin-desktop/current ./Joplin-1.7.11.AppImage it worked, so I assume in this case the vscode's snap should still require the user for input, or not?

@rxliuli maybe is there a way I can debug this better from the vscode (extension) side?

So the behaviour I'm seeing is really weird,
With either the snap or .deb installation of VSCode, the vscode-joplin plugin will open Gedit if using the AppImage, or use xdg-portals and hence present a choice if using the Joplin Snap. I can't actually get it to open Joplins notes in vscode with the AppImage version at all,
This is observed on a clean VM of Ubuntu 20.04, with nothing configured apart from vsc and Joplin.
So the answer appears to be no, it isn't assured that you're using the portals just because the AppImage works. You'd need to make sure the xdg-desktop-portals package for your system is actually installed which is default for a lot of systems (Ubuntu/Fedora/Debian/etc) but might not be as you go into more nicher territories, say Arch/I3 etc.
But I absolutely can't explain why Code is using xdg-portals at all since it's unconfined and doesn't have to, or why it seems to only do it when Joplin is running as a snap. It's very unusual behaviour.

也许你可以试试以下命令能否在 VSCode 中打开笔记，如果可以，那大概率是插件本身的问题。
curl --location --request POST 'http://localhost:27584/services/externalEditWatcher?token=***' \
--header 'Content-Type: application/json' \
--data-raw '{
    "action": "openAndWatch",
    "noteId": "257f6a9dacc1409580ee526d50ac4d49"
}'

ref: https://github.com/rxliuli/joplin-vscode-plugin/issues/37#issuecomment-820047247

Ok...
So, using this with my note I was getting:
{"error":"Internal Server Error: spawn /snap/bin/code ENOENT\n\nCommand was: \"/snap/bin/code\" /home/marco/snap/joplin-desktop/7/.config/joplin-desktop/edit-16ede72c66bf4d629ab2be5277b90cb1.md: \n\nError: spawn /snap/bin/code ENOENT\n\nCommand was: \"/snap/bin/code\" /home/marco/snap/joplin-desktop/7/.config/joplin-desktop/edit-16ede72c66bf4d629ab2be5277b90cb1.md\n    at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)\n    at onErrorNT (internal/child_process.js:469:16)\n    at processTicksAndRejections (internal/process/task_queues.js:84:21)"}%

This is because I was setting into the Joplin desktop to use /snap/bin/code as my editor, now setting it to default, I get the file opened with another editor... That isn't code.
So the issue is indeed related to https://github.com/MrCarroll/joplin-desktop-snap/issues/16#issuecomment-822517409
At the same time the extension shouldn't rely on the default editor configured in the Joplin desktop, but I guess for this it would require some other API...

At the same time the extension shouldn't rely on the default editor configured in the Joplin desktop, but I guess for this it would require some other API...

Yes, it is currently completely dependent on the behavior of joplin action api, action api will use the default editor configured by joplin-desktop.

Maybe at some point in the future I have to implement these logics manually: https://github.com/rxliuli/joplin-vscode-plugin/issues/39#issuecomment-822423575

So, based on this I tried something else and it worked equally, without having to reset the db:

In the host I've changed the default for .md files to vscode
Once that was done, opening from Joplin was asking for the preferred application

As you suggested, after the 3rd time it just used the default.

Changing again the default application for .md files to something else (i.e. gedit) made the prompt to appear again.
So, this is indeed a workaroud. Not sure we should close the bug though, as having an editor depending on the context may be preferred (i.e. it's fine to open code in this scenarios, but otherwise I'd prefer to use gedit).

I don't mind leaving bugs open if they're valid faults, I don't get enough activity to worry about the issue tracker so if it benefits people by being visible all the better.
In terms of what's actionable though, the available API's give no influence to what takes responsibility for opening a file/protocol, it'd need to be tackled with the portals themseles. There's also the Flatpak portal which allows an confined application to call an unconfined application explicitly, but Snapcraft doesn't seem to want to adopt it (it's absolutely trivial to violate all the sandboxing if it's usable). Disregarding security, this does give the Flatpak a clear advantage for people who want absolute control over the external editor experience.
On the plus side if I remember correctly, the stored values are remembered per application, so setting .md to open in VSCode will only apply to this snap specifically and not automatically apply to any other applications that might also happen to request opening .md files.

On the plus side if I remember correctly, the stored values are remembered per application, so setting .md to open in VSCode will only apply to this snap specifically and not automatically apply to any other applications that might also happen to request opening .md files.

Sure, that's indeed a better thing, won't solve the case where one may want to use another editor for casual editing while vscode when called from the extension.
But indeed this is something that isn't related to the snap itself but more to the way the vscode extension acts and to the lack of APIs on the clipper service to do this

It looks like this should be fixed with version 0.7 of the plugin, based on the changelog here. The snap would still need to be updated to Joplin version 2.8, but if it works with the flatpak, I'd expect it to work the same here.
https://discourse.joplinapp.org/t/joplin-vscode-plugin-roadmap/11335/29

It looks like this should be fixed with version 0.7 of the plugin, based on the changelog here. The snap would still need to be updated to Joplin version 2.8, but if it works with the flatpak, I'd expect it to work the same here.
https://discourse.joplinapp.org/t/joplin-vscode-plugin-roadmap/11335/29

Essentially, version 0.7 only communicates with joplin through http, and no longer relies on joplin itself to open external editors, so it should not be restricted by the sandbox

I've published the 2.8 release and so when users receive the update for both the snap and plugin, this should be solved.


Recovair 260 Support?

Did take a look into https://github.com/signalkraft/mypyllant-component/issues/32 and wonder if this enabled generic support for all RecoVairs or if there is anythign special ( logs etc. ) requried to get the RecoVair260 working?

My Recovair 260/4 is not recognized either

I also have a Recovair 360/4 with bus coupler and address 2, but nothing is displayed for me either

It would be enough for me if I could just switch between normal and reduced ventilation levels. You couldn't do more with the Multimatic integration. But I only have two sensors under the VAR 260/4 and no climate control.

@swDomass you need to enable debug logs and ideally also post test data. Instructions are in the documentation, or in the template when you open a new ticket.

I am also missing my recovair 360/e, here is my testdata:
homes:

homeName: 3549acf2becc817fd2c2e577561aee1887211eaf
serialNumber: 01e54e49018f038468465dcdc0d140abd9f4c819
systemId: 0b6c4887abf9f7cb955c9a0f50f983538d859a22
productMetadata:
productType: VR900
productionYear: "17"
productionWeek: "13"
articleNumber: "0020197116"
state: CLAIMED
migrationState: FINISHED
migrationFinishedAt: "2024-02-12T10:41:19.302600207Z"
onlineState: ONLINE
firmware:
version: 0331.40.34
updateEnabled: true
updateRequired: false
nomenclature: VR 900
cag: false
countryCode: DE
productInformation: VR900
firmwareVersion: 0331.40.34
0b6c4887abf9f7cb955c9a0f50f983538d859a22:
control_identifier:
controlIdentifier: vrc700
time_zone:
timeZone: Europe/Berlin
diagnostic_trouble_codes:

serialNumber: 007c2b49626839339e068159b0662f1a6625894f
articleNumber: "0020266797"
codes:

code: "3"
type: MAINTENANCE
title: Probleme mit Ihrem Heizungssystem
description: Ihr Heizungssystem hat Fehler gemeldet. Bitte überprüfen.
occurrenceTimestamp: "2024-03-13T23:02:13Z"

serialNumber: 8fd9cc58d6c789022db1a35d40d13f12bc00c023
articleNumber: "0010016422"
codes: []
serialNumber: 01e54e49018f038468465dcdc0d140abd9f4c819
articleNumber: "0020197116"
codes: []
serialNumber: 31b1e5015f8faa88c721002ea6e76cba1ccdf9ae
articleNumber: "0000000000"
codes: []
serialNumber: 31b1e5015f8faa88c721002ea6e76cba1ccdf9ae
articleNumber: "0000000000"
codes: []
serialNumber: 16a223eee99b9bbcc98278c5f5865bcfd44bc37d
articleNumber: "0010016349"
codes: []
connection_status:
connected: true
system:
state:
system:
outdoorTemperature: 11.375
outdoorTemperatureAverage24h: 6.5273438
systemFlowTemperature: 33.5625
systemWaterPressure: 1.9
legionellaProtectionStartWeekday: "OFF"
energyManagerState: STANDBY
systemOff: false
zones:

index: 1
desiredRoomTemperatureSetpointHeating: 21
desiredRoomTemperatureSetpoint: 21
currentSpecialFunction: QUICK_VETO
circuits:
index: 1
circuitState: HEATING
currentCircuitFlowTemperature: 33.1875
heatingCircuitFlowSetpoint: 28.846807
calculatedEnergyManagerState: HEATING_ACTIVE
domesticHotWater:
index: 255
currentSpecialFunction: NONE
currentDomesticHotWaterTemperature: 51
ventilations:
index: 0
currentSpecialFunction: NONE
properties:
system:
controllerType: VRC700
controllerRevision: R6
systemScheme: 8
backupHeaterType: CONDENSING
backupHeaterAllowedFor: DISABLED
moduleConfigurationVR71: 3
energyProvidePowerCutBehavior: DISABLE_HEATPUMP
smartPhotovoltaicBufferOffset: 10
externalEnergyManagementActivation: false
zones:
index: 1
isActive: true
zoneBinding: NONE
associatedCircuitIndex: 1
circuits:
index: 1
mixerCircuitTypeExternal: HEATING
heatingCircuitType: MIXER_CIRCUIT_EXTERNAL
isCoolingAllowed: false
domesticHotWater:
index: 255
minSetpoint: 35
maxSetpoint: 70
ventilations:
index: 0
configuration:
system:
continuousHeatingStartSetpoint: -26
alternativePoint: -21
heatingCircuitBivalencePoint: -10
domesticHotWaterBivalencePoint: -10
adaptiveHeatingCurve: false
domesticHotWaterMaximumLoadingTime: 60
domesticHotWaterHysteresis: 5
domesticHotWaterFlowSetpointOffset: 10
maxFlowSetpointHeatpumpError: 25
domesticHotWaterMaximumTemperature: 80
hybridControlStrategy: BIVALENCE_POINT
paralellTankLoadingAllowed: false
zones:
index: 1
general:
name: Heizung
holidayStartDateTime: "2001-01-01T00:00:00Z"
holidayEndDateTime: "2001-01-01T00:00:00Z"
holidaySetpoint: 5
heating:
operationModeHeating: AUTO
setBackTemperature: 14
dayTemperatureHeating: 21.5
timeProgramHeating:
metaInfo:
minSlotsPerDay: 0
maxSlotsPerDay: 3
setpointRequiredPerSlot: false
monday:
- startTime: 310
endTime: 1250
tuesday:
- startTime: 310
endTime: 1250
wednesday:
- startTime: 310
endTime: 1250
thursday:
- startTime: 310
endTime: 1250
friday:
- startTime: 310
endTime: 1250
saturday:
- startTime: 310
endTime: 1250
sunday:
- startTime: 310
endTime: 1250
circuits:
index: 1
heatingCurve: 0.29999998
heatingFlowTemperatureMinimumSetpoint: 15
heatingFlowTemperatureMaximumSetpoint: 55
heatDemandLimitedByOutsideTemperature: 21
heatingCircuitFlowSetpointExcessOffset: 0
setbackModeEnabled: true
roomTemperatureControlMode: NON
domesticHotWater:
index: 255
operationModeDomesticHotWater: DAY
tappingSetpoint: 52
holidayStartDateTime: "2001-01-01T00:00:00Z"
holidayEndDateTime: "2001-01-01T00:00:00Z"
timeProgramDomesticHotWater:
metaInfo:
minSlotsPerDay: 0
maxSlotsPerDay: 3
setpointRequiredPerSlot: false
monday: []
tuesday: []
wednesday: []
thursday: []
friday: []
saturday: []
sunday: []
timeProgramCirculationPump:
metaInfo:
minSlotsPerDay: 0
maxSlotsPerDay: 3
setpointRequiredPerSlot: false
monday:
- startTime: 340
endTime: 500
- startTime: 690
endTime: 870
- startTime: 1020
endTime: 1260
tuesday:
- startTime: 340
endTime: 500
- startTime: 690
endTime: 870
- startTime: 1020
endTime: 1260
wednesday:
- startTime: 340
endTime: 500
- startTime: 690
endTime: 870
- startTime: 1020
endTime: 1260
thursday:
- startTime: 340
endTime: 500
- startTime: 690
endTime: 870
- startTime: 1020
endTime: 1260
friday:
- startTime: 340
endTime: 500
- startTime: 690
endTime: 870
- startTime: 1020
endTime: 1260
saturday:
- startTime: 340
endTime: 1270
sunday:
- startTime: 380
endTime: 1390
ventilations:
index: 0
maximumDayFanStage: 4
maximumNightFanStage: 6
operationModeVentilation: AUTO
holidayStartDateTime: "2001-01-01T00:00:00Z"
holidayEndDateTime: "2001-01-01T00:00:00Z"
timeProgramVentilation:
metaInfo:
minSlotsPerDay: 0
maxSlotsPerDay: 3
setpointRequiredPerSlot: false
monday:
- startTime: 480
endTime: 1290
tuesday:
- startTime: 480
endTime: 1290
wednesday:
- startTime: 480
endTime: 1290
thursday:
- startTime: 480
endTime: 1290
friday:
- startTime: 480
endTime: 1290
saturday:
- startTime: 480
endTime: 1290
sunday:
- startTime: 480
endTime: 1290
current_system:
system_type: HEATPUMP
has_emf_capable_devices: true
primary_heat_generator:
device_uuid: b0a1fda7b996df73d03092ddea11ccfb4e48072b
ebus_id: HMU00
spn: 304
bus_coupler_address: 0
article_number: "0010016422"
emfValid: true
device_serial_number: 8fd9cc58d6c789022db1a35d40d13f12bc00c023
device_type: HEATPUMP
first_data: "2020-02-28T00:00:00Z"
last_data: "2024-03-25T06:45:44.302Z"
data:
operation_mode: DOMESTIC_HOT_WATER
value_type: CONSUMED_ELECTRICAL_ENERGY
calculated: false
from: "2020-02-28T00:00:00Z"
to: "2024-03-25T06:45:40.958Z"
operation_mode: HEATING
value_type: CONSUMED_ELECTRICAL_ENERGY
calculated: false
from: "2020-02-28T00:00:00Z"
to: "2024-03-25T06:45:40.598Z"
operation_mode: DOMESTIC_HOT_WATER
value_type: EARNED_ENVIRONMENT_ENERGY
calculated: false
from: "2024-02-12T11:45:45Z"
to: "2024-03-25T06:45:42.036Z"
operation_mode: HEATING
value_type: EARNED_ENVIRONMENT_ENERGY
calculated: false
from: "2020-02-28T00:00:00Z"
to: "2024-03-25T06:45:41.661Z"
operation_mode: HEATING
value_type: HEAT_GENERATED
calculated: true
from: "2020-02-28T00:00:00Z"
to: "2024-03-25T06:45:40.598Z"
operation_mode: DOMESTIC_HOT_WATER
value_type: HEAT_GENERATED
calculated: true
from: "2024-02-12T11:45:45Z"
to: "2024-03-25T06:45:40.958Z"
product_name: flexoTHERM exclusive
secondary_heat_generators: []
electric_backup_heater: null
solar_station: null
ventilation:
device_uuid: 231c4021ff65343e5ceef44df2acb120bcc0cbbe
ebus_id: recoV
spn: 302
bus_coupler_address: 24
article_number: "0010016349"
emfValid: false
device_serial_number: 16a223eee99b9bbcc98278c5f5865bcfd44bc37d
device_type: VENTILATION
first_data: "2024-02-12T11:45:50Z"
last_data: "2024-03-25T06:45:47.006Z"
data:
operation_mode: HEATING
value_type: CONSUMED_ELECTRICAL_ENERGY
calculated: false
from: "2024-02-12T11:45:50Z"
to: "2024-03-25T06:45:47.006Z"
product_name: VAR 360/4 E
gateway: null
mpc:
devices: []
rts:
statistics:
deviceId: b0a1fda7b996df73d03092ddea11ccfb4e48072b
operationTime: 357120
onOffCycles: null
device_buckets:
startDate: "2024-03-24T00:00:00Z"
endDate: "2024-03-25T00:00:00Z"
resolution: HOUR
operationMode: DOMESTIC_HOT_WATER
energyType: CONSUMED_ELECTRICAL_ENERGY
totalConsumption: 10998.88834844371
data:
startDate: "2024-03-24T00:00:00Z"
endDate: "2024-03-24T01:00:00Z"
value: 0
startDate: "2024-03-24T01:00:00Z"
endDate: "2024-03-24T02:00:00Z"
value: 0
startDate: "2024-03-24T02:00:00Z"
endDate: "2024-03-24T03:00:00Z"
value: 0
startDate: "2024-03-24T03:00:00Z"
endDate: "2024-03-24T04:00:00Z"
value: 0
startDate: "2024-03-24T04:00:00Z"
endDate: "2024-03-24T05:00:00Z"
value:<PHONE_NUMBER>6123925
startDate: "2024-03-24T05:00:00Z"
endDate: "2024-03-24T06:00:00Z"
value: 1519.8666296193387
startDate: "2024-03-24T06:00:00Z"
endDate: "2024-03-24T07:00:00Z"
value:<PHONE_NUMBER>007769
startDate: "2024-03-24T07:00:00Z"
endDate: "2024-03-24T08:00:00Z"
value:<PHONE_NUMBER>99223
startDate: "2024-03-24T08:00:00Z"
endDate: "2024-03-24T09:00:00Z"
value:<PHONE_NUMBER>666667
startDate: "2024-03-24T09:00:00Z"
endDate: "2024-03-24T10:00:00Z"
value: 2280.8333333333335
startDate: "2024-03-24T10:00:00Z"
endDate: "2024-03-24T11:00:00Z"
value:<PHONE_NUMBER>4870723
startDate: "2024-03-24T11:00:00Z"
endDate: "2024-03-24T12:00:00Z"
value: 1000.2225927985827
startDate: "2024-03-24T12:00:00Z"
endDate: "2024-03-24T13:00:00Z"
value:<PHONE_NUMBER>953303
startDate: "2024-03-24T13:00:00Z"
endDate: "2024-03-24T14:00:00Z"
value: 1000.211287151131
startDate: "2024-03-24T14:00:00Z"
endDate: "2024-03-24T15:00:00Z"
value:<PHONE_NUMBER>693804
startDate: "2024-03-24T15:00:00Z"
endDate: "2024-03-24T16:00:00Z"
value: 0
startDate: "2024-03-24T16:00:00Z"
endDate: "2024-03-24T17:00:00Z"
value:<PHONE_NUMBER>0799778
startDate: "2024-03-24T17:00:00Z"
endDate: "2024-03-24T18:00:00Z"
value:<PHONE_NUMBER>920023
startDate: "2024-03-24T18:00:00Z"
endDate: "2024-03-24T19:00:00Z"
value: 0
startDate: "2024-03-24T19:00:00Z"
endDate: "2024-03-24T20:00:00Z"
value: 0
startDate: "2024-03-24T20:00:00Z"
endDate: "2024-03-24T21:00:00Z"
value: 0
startDate: "2024-03-24T21:00:00Z"
endDate: "2024-03-24T22:00:00Z"
value: 0
startDate: "2024-03-24T22:00:00Z"
endDate: "2024-03-24T23:00:00Z"
value: 0
startDate: "2024-03-24T23:00:00Z"
endDate: "2024-03-25T00:00:00Z"
value: 0
rbr:
rbrCapable: false

Thanks, that helped! Ventilation entities work differently on VRC700 controllers, it should work better with this pre-release: https://github.com/signalkraft/mypyllant-component/releases/tag/v0.8.3b1
However, I had to guess all the valid options for operationModeVentilation from their naming in similar VRC700 entities. If you see errors about the fan mode, it's likely because of that. In that case, please generate test data again so I can add the correct value.
Setting modes and fan speeds will probably require reverse engineering to find the correct API endpoints for VRC700 controllers. They are almost always different to the other controller types.

thank you very much for your fast reply and the build. the ventialtion device now shows up, but ventilation modes can not be changed.
Logger: homeassistant.components.websocket_api.http.connection
Quelle: components/websocket_api/commands.py:239
Integration: Home Assistant WebSocket API (Dokumentation, Probleme)
Erstmals aufgetreten: 11:56:20 (8 Vorkommnisse)
Zuletzt protokolliert: 11:57:04
[546070737344] 400, message='Bad Request, response was: {"title":"Bad Request","status":400,"detail":"400 BAD_REQUEST \"Failed to read HTTP message\""}', url=URL('https://api.vaillant-group.com/service-connected-control/vrc700/v1/systems/3705f5d1-68bf-4dfc-b156-d5b259bfa753/ventilation/0/operation-mode')
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 239, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2319, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2356, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 905, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 975, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 680, in async_handle_set_fan_mode_service
await self.async_set_fan_mode(fan_mode)
File "/config/custom_components/mypyllant/ventilation_climate.py", line 154, in async_set_fan_mode
await self.coordinator.api.set_ventilation_operation_mode(
File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 976, in set_ventilation_operation_mode
await self.aiohttp_session.patch(
File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 691, in _request
await raise_for_status(resp)
File "/usr/local/lib/python3.12/site-packages/myPyllant/http_client.py", line 49, in on_raise_for_status
raise e
File "/usr/local/lib/python3.12/site-packages/myPyllant/http_client.py", line 46, in on_raise_for_status
response.raise_for_status()
File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1060, in raise_for_status
raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request, response was: {"title":"Bad Request","status":400,"detail":"400 BAD_REQUEST \"Failed to read HTTP message\""}', url=URL('https://api.vaillant-group.com/service-connected-control/vrc700/v1/systems/3705f5d1-68bf-4dfc-b156-d5b259bfa753/ventilation/0/operation-mode')

Like I suspected, someone needs to reverse engineer the correct API endpoints for VRC700 controllers.

thanks, I'll try my best as soon as possible

i finally managed it. i hope it helps
mitm_downloads.zip
PATCH /service-connected-control/vrc700/v1/systems/3705f5d1-68bf-4dfc-b156-d5b259bfa753/ventilation/0/operation-mode HTTP/1.1
accept: application/json
ocp-apim-subscription-key: 1e0a2f3511fb4c5bbb1c7f9fedd20b1c
x-client-locale: de-DE
x-app-identifier: VAILLANT
x-app-version: 2.16.1
x-app-build: 21428
authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJKVW1FU3l3VU9Ea1JYMTZpQl9ZelppWnhXeDEzdHNZdml4NHdNMmc0VkQ0In0.eyJleHAiOjE3MTI4NDY0MDAsImlhdCI6MTcxMjg0NjEwMCwiYXV0aF90aW1lIjoxNzEyODQ1OTcwLCJqdGkiOiI3NDI0NzllZC00NTYwLTRhNTktODRhYi1kMGI5OWQwOTMwZjQiLCJpc3MiOiJodHRwczovL2lkZW50aXR5LnZhaWxsYW50LWdyb3VwLmNvbS9hdXRoL3JlYWxtcy92YWlsbGFudC1nZXJtYW55LWIyYyIsInN1YiI6IjU1MmZmMGQ4LTk4MzAtNGI2MC1hOWI5LTQyZDhhNjFmODRhYiIsInR5cCI6IkJlYXJlciIsImF6cCI6Im15dmFpbGxhbnQiLCJzZXNzaW9uX3N0YXRlIjoiMDVkM2E1ODUtZGM0ZC00YWFjLTg2ZWYtYzI1MWZhNzEyYWUyIiwiYWNyIjoiMCIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwczovL2VuZHVzZXJ2YWlsbGFudC5wYWdlLmxpbmsiLCJodHRwczovL3ZnLWlvdC1maXJlYmFzZS53ZWIuYXBwIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJkZWZhdWx0LXJvbGVzLXZhaWxsYW50LWdlcm1hbnktYjJjIiwib2ZmbGluZV9hY2Nlc3MiLCJ1bWFfYXV0aG9yaXphdGlvbiJdfSwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MgcHJvZmlsZSBlbWFpbCIsInNpZCI6IjA1ZDNhNTg1LWRjNGQtNGFhYy04NmVmLWMyNTFmYTcxMmFlMiIsInNhbGVzZm9yY2VDb250YWN0SWQiOiIwMDM2OTAwMDAzbjViR1NBQVkiLCJjb3VudHJ5IjoiREUiLCJicmFuZE5hbWUiOiJ2YWlsbGFudCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiQmVybmhhcmQgS2VwcGxlciIsInByZWZlcnJlZF91c2VybmFtZSI6ImJlcm5oYXJkLmtlcHBsZXJAZ21haWwuY29tIiwibG9jYWxlIjoiZGVfREUiLCJnaXZlbl9uYW1lIjoiQmVybmhhcmQiLCJmYW1pbHlfbmFtZSI6IktlcHBsZXIiLCJzYWxlc2ZvcmNlQWNjb3VudElkIjoiMDAxNjkwMDAwM0ZuYXdjQUFCIiwiZW1haWwiOiJiZXJuaGFyZC5rZXBwbGVyQGdtYWlsLmNvbSIsInNhbGVzZm9yY2VCcmFuZERldGFpbENvbnRhY3RJZCI6ImEyWTY5MDAwMDBGUW5BSUVBMSJ9.byG9Fum_rJddTqWO1N1Wfz-Tesd5btfspipdc59_962semPZuX6IBg20F9JE8z4tbu6dw65XmVL9nvgzfN4OX6cGpw03zhE9zHnVIT-J_JoxX0cXp5fpK4sZL6iHVNjtaJEFMRKYjRroBtbAiNG7gRlUPCAoK6oH8gvIPHX1Ai0lLom29p0y0mQfYfRVt4RPmMjEKmJw4oOhunCs3Jfy7cAJJAWlFwJRAaItv9sZJVVSQGjTHabczkYJpGK3Xjx3qFMgTpc5GFG1Kk5DokfQYVEti93CRF4t9TWnn4zPLtHlmOXTaJsyKXoqrGVeSd4EjlqugYBANK3RtJNgm7ltsQ
x-b3-traceid: 09d8b080bc38c860
x-b3-spanid: 09d8b080bc38c860
x-idm-identifier: KEYCLOAK
X-INSTANA-ANDROID: 14a29e44-35a4-4168-93ee-9703b02e369c
Content-Type: application/json
Content-Length: 24
Host: api.vaillant-group.com
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/4.9.2
{"operationMode":"AUTO"}
HTTP/1.1 202 Accepted
Content-Length: 53
Content-Type: application/json
Server-Timing: intid;desc=c9ee28e2ceca2121
Strict-Transport-Security: max-age=31536000; includeSubDomains
Set-Cookie: route=1712846303.398.21872.274700|e6cc3949b436847b1e6a533340bcc5f3; Expires=Sat, 13-Apr-24 14:38:22 GMT; Max-Age=172800; Path=/; Secure; HttpOnly
Request-Context: appId=cid-v1:8a4f690a-c4b6-4cc6-96f6-9a7b0dbe65f2
Date: Thu, 11 Apr 2024 14:38:21 GMT
Set-Cookie: TS01e49a1a=01bc99c52dd1b3dfd05100509a900840309be0af1d18a52ed546ab9af303e67d076490ffc406914e8c2d72a2062c881fb851753831; Path=/; Domain=.api.vaillant-group.com
{"messageEid":"be5312e0-db6b-4e5f-a8d2-976edeea8bea"}


Add Tensorboard Support

Would be useful to get tensorboard to visualize:

model parameters
model architecture
images
runtime

The following example is available in the PyTorch Documentation

Added in basic support for loss func, not sure how to look at non-local host from HPC would be useful to investigate this

Doing it from the HPC is quite straight forward just run an ssh port forward as explained here.

RunTime is up and coming for GPU support so left for now SLURM output script gives you some of this information. https://www.youtube.com/watch?v=6R6qydQjKD4


sundials: 3.2.0 -> 3.2.1

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/sundials/versions.
meta.description for sundials is: '"Suite of nonlinear differential/algebraic equation solvers"'.

Checks done (click to expand)

built on NixOS

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 3.2.1 with grep in /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1

directory tree listing: https://gist.github.com/d82fff6765d7eeba3a6649132d5c710e

du listing: https://gist.github.com/06ae7b7da51d149f19545cc40955a206

Outpath report (click to expand)

Outpath difference report
4 total rebuild paths
1 package rebuilds
1 x86_64-linux rebuilds
1 i686-linux rebuidls
1 x86_64-darwin rebuilds
1 aarch64-linux rebuilds
First ten rebuilds by attrpath
sundials

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A sundials https://github.com/r-ryantm/nixpkgs/archive/762eb1c67c20f92b953c0776707caf1c46c1b1a9.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1
ls -la /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1/bin

cc @idontgetoutmuch for testing.

Success on aarch64-linux (full log)
Attempted: sundials
Partial log (click to expand)
shrinking /nix/store/992mnx2mjrk5bp51c584m7dncwd6lcs1-sundials-3.2.1/lib/libsundials_sunlinsoldense.so.1.2.1
shrinking /nix/store/992mnx2mjrk5bp51c584m7dncwd6lcs1-sundials-3.2.1/lib/libsundials_sunlinsolband.so.1.2.1
shrinking /nix/store/992mnx2mjrk5bp51c584m7dncwd6lcs1-sundials-3.2.1/lib/libsundials_sunmatrixsparse.so.1.2.1
shrinking /nix/store/992mnx2mjrk5bp51c584m7dncwd6lcs1-sundials-3.2.1/lib/libsundials_sunmatrixband.so.1.2.1
shrinking /nix/store/992mnx2mjrk5bp51c584m7dncwd6lcs1-sundials-3.2.1/lib/libsundials_sunmatrixdense.so.1.2.1
shrinking /nix/store/992mnx2mjrk5bp51c584m7dncwd6lcs1-sundials-3.2.1/lib/libsundials_nvecserial.so.3.2.1
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/992mnx2mjrk5bp51c584m7dncwd6lcs1-sundials-3.2.1/lib
patching script interpreter paths in /nix/store/992mnx2mjrk5bp51c584m7dncwd6lcs1-sundials-3.2.1
checking for references to /build in /nix/store/992mnx2mjrk5bp51c584m7dncwd6lcs1-sundials-3.2.1...

Success on x86_64-darwin (full log)
Attempted: sundials
Partial log (click to expand)
-- Installing: /nix/store/al4m80bbzgavdjdd8da7fi3lrnv1vkka-sundials-3.2.1/share/examples/sunlinsol/pcg/serial/test_sunlinsol.c
-- Installing: /nix/store/al4m80bbzgavdjdd8da7fi3lrnv1vkka-sundials-3.2.1/share/examples/sunlinsol/pcg/serial/sundials_linearsolver.c
-- Installing: /nix/store/al4m80bbzgavdjdd8da7fi3lrnv1vkka-sundials-3.2.1/share/examples/sunlinsol/pcg/serial/sundials_nvector.c
-- Installing: /nix/store/al4m80bbzgavdjdd8da7fi3lrnv1vkka-sundials-3.2.1/share/examples/sunlinsol/pcg/serial/CMakeLists.txt
-- Installing: /nix/store/al4m80bbzgavdjdd8da7fi3lrnv1vkka-sundials-3.2.1/share/examples/sunlinsol/pcg/serial/Makefile
post-installation fixup
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/al4m80bbzgavdjdd8da7fi3lrnv1vkka-sundials-3.2.1/lib
patching script interpreter paths in /nix/store/al4m80bbzgavdjdd8da7fi3lrnv1vkka-sundials-3.2.1
/nix/store/al4m80bbzgavdjdd8da7fi3lrnv1vkka-sundials-3.2.1

Success on x86_64-linux (full log)
Attempted: sundials
Partial log (click to expand)
shrinking /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1/lib/libsundials_sunmatrixsparse.so.1.2.1
shrinking /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1/lib/libsundials_idas.so.2.2.1
shrinking /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1/lib/libsundials_sunlinsolsptfqmr.so.1.2.1
shrinking /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1/lib/libsundials_sunmatrixdense.so.1.2.1
shrinking /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1/lib/libsundials_sunlinsolband.so.1.2.1
shrinking /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1/lib/libsundials_sunlinsolspgmr.so.1.2.1
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1/lib
patching script interpreter paths in /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1
checking for references to /build in /nix/store/ar9s3y7pzmg2dk5ww7d4c4rq58bjwrmx-sundials-3.2.1...


The host องค๜กร is invalid : a label or domain name contains disallowed characters.

I have this errors with symfony any suggestions pls?
`
use Pdp\Manager;
use Pdp\Cache;
		$guzzleAdapter = new GuzzleHttpClientAdapter(new GuzzleClient());

		$cache = new Cache();

		$manager = new Manager($cache, $guzzleAdapter);
		$manager->refreshRules();

		$rules = $manager->getRules();
		$domain = $rules->resolve('www.github.com');

`
[Pdp\Exception]
The host องค๜กร is invalid : a label or domain name contains disallowed characters.

@tuxado thanks for using the library. Unfortunately this message mean that your internationalized domain name can not be converted into an ASCII one using the IDNA UTS46 algorithm. The exception message indicate that your domain name contains a character that can not be converted. There's not much we can do about that.

@nyamsprod  hi,
it seem that the problem come from the PLS file content encoding i add utf8_decode to the PLS content and the error gone but another error has been appear relative to the parse of the PLS file and there is the trace :
string(10) "idnToAscii"
string(2) "sh"
string(10) "idnToAscii"
string(3) "now"
[Symfony\Component\Debug\Exception\FatalThrowableError]
Type error: json_decode() expects parameter 1 to be string, boolean given
i suggest to add the PLS as php array file to prevent the encoding problem and optimise the performance

@tuxado could you provide a simple example for your issue because the first code you provided seems to be truncated so I can not reproduce the issue.
FWIW the cache file should not contains any utf8 character as the public suffix content is converted into ascii form prior to being saved.

@nyamsprod
yes plz see the  attacchment
source.txt
i have add a utf8_decode  at the converter file  and it work :

    public function convert(string $content): array
    {
        $rules = [Rules::ICANN_DOMAINS => [], Rules::PRIVATE_DOMAINS => []];
        $file = new SplTempFileObject();
        $file->fwrite($content);
        $file->setFlags(SplTempFileObject::DROP_NEW_LINE | SplTempFileObject::READ_AHEAD | SplTempFileObject::SKIP_EMPTY);
        $section = '';
        foreach ($file as $line) {
			$line = utf8_decode($line);
            $section = $this->getSection($section, $line);
            if ('' !== $section && false === strpos($line, '//')) {
                $rules[$section] = $this->addRule($rules[$section], explode('.', $line));
            }
        }

        return $rules;
    }

an otther problem when we try  to resolve  url llike http://www.github.com/some/path the  result are horible  maybe adding trim(parse_url('http://www.github.com/some/path', PHP_URL_HOST), '/') to the resolve  function  to make  sure that the url given to the  resolve are tthe host

@tuxado here's a simple snippet using the code out of the box:
<?php

use GuzzleHttp\Client as GuzzleClient;
use Pdp\Manager;
use Pdp\Cache;
use Pdp\CurlHttpClient;
use Pdp\Rules;
use Pdp\HttpClient;
use Pdp\HttpClientException;
use Symfony\Component\Cache\Simple\PDOCache;

require 'vendor/autoload.php';

final class GuzzleHttpClientAdapter implements HttpClient
{
    private $client;

    public function __construct(GuzzleClient $client)
    {
        $this->client = $client;
    }

    public function getContent(string $url): string
    {
        try {
            return $client->get($url)->getBody()->getContents();
        } catch (Throwable $e) {
            throw new HttpClientException($e->getMessage(), $e->getCode(), $e);
        }
    }
}

$rules = Rules::createFromString('https://publicsuffix.org/list/public_suffix_list.dat');
var_dump($rules->resolve('www.UlB.Ac.be')); // no cache

$rules = (new Manager(new Cache(), new CurlHttpClient()))->getRules();
var_dump($rules->resolve('www.UlB.Ac.be')); // default cache + curl http client

$guzzleAdapter = new GuzzleHttpClientAdapter(new GuzzleClient());
$rules = (new Manager(new Cache(), $guzzleAdapter))->getRules();
var_dump($rules->resolve('www.UlB.Ac.be')); //default cache + guzzle http client

I've bypassed the cache, changed the Http client but I can not reproduced your bug. I suspect the error comes from your cache or how you setup your HTTP client but not from the library itself :'( .
For your other issue, the library does not extract the host from your submitted URL you have the resposability to submit a correct domain name. URL parsing is now out of scope for the library.

@nyamsprod
thanks for the help, it is possible on windows with php 7 and  using command line console, i have this problem of encoding. so using utf8_decode twice on the content seems to solve it.

I've been trying to trace what turns out to be a similar problem I'm having on my system, it seems that, unfortunately, double utf8_decode renders anything not in the ASCII character set as a? so eliminates a significant number of TDLs from being able to match properly.
For me, at least, switching to the guzzle curl adaptor did actually resolve at least part of the issue. The first test case resolved. The second two failed on the encoding issue.
placing $part = urlencode($part); into  Converter::addRule right before $part = $this->idnToAscii(strtolower($part)); seems to allow the cache to be successfully stored, and seems to work. But I don't know if that has any sort of negative knock on effect that I'm just not seeing.
Out of curiosity, what version of PHP 7 are you using? I'm using 7.2.3 and also trying to use this with the command line version.

@dlindberg You should not add any urlencode/urldecoding call in the Converter class this is the responsability of the idnToAscii method to convert the PLS info into correct ascii characters. A simple way to understand your issue would be to:
manually donwload the PLS and then use the named constructor Rules::createFromPath to test if the data is correctly loaded. If the answer is yes then it means that the issue is the HTTP Client or the Cache Backend. Either way do not add any urlencode/decode/uf8decode into the mix has it would result in error.

Thanks, I was thinking that might short circuit something important that I wasn't noticing just yet. I fiddled with this a bit more, starting with the sample code test you sent @tuxado, and noticed that what I thought was working yesterday was actually a failure, the result wasn't matching the expected result even though there was nothing in the code path to throw an exception.
I re-read the test code and noticed it uses Rules::createFromString not Rules::createFromPath. When I use Rules::createFromPath all three tests fail with the same exception. So I tried your suggestion and manually download the PLS.
$rules = Rules::createFromPath('public_suffix_list.dat');
var_dump($rules->resolve('www.UlB.Ac.be'));

I got the same error I got from the fopen() and curl() methods from the remote data source. This was really starting to seem odd, so I tried making the text file directly return a php string using a return statement (and of course escaping the necessary characters) and using the Rules::createFromString method:
$rules = Rules::createFromString(stripcslashes(require_once ('public_suffix_list.php')));
echo json_encode($rules->resolve('www.UlB.Ac.be', Rules::ALL_DOMAINS), JSON_PRETTY_PRINT);

It also returns the same error:
PHP Fatal error:  Uncaught Pdp\Exception: The host `a�roport` is invalid : a label or domain name contains disallowed characters. in /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/IDNAConverterTrait.php:84
Stack trace:
#0 /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/Converter.php(107): Pdp\Converter->idnToAscii('a\xE3\xA9roport')
#1 /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/Converter.php(119): Pdp\Converter->addRule(Array, Array)
#2 /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/Converter.php(46): Pdp\Converter->addRule(Array, Array)
#3 /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/Rules.php(67): Pdp\Converter->convert('// This Source ...')
#4 /Users/<user>/Projects/example/example(106): Pdp\Rules::createFromString('// This Source ...')
#5 {main}
  thrown in /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/IDNAConverterTrait.php on line 84

Fatal error: Uncaught Pdp\Exception: The host `a�roport` is invalid : a label or domain name contains disallowed characters. in /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/IDNAConverterTrait.php on line 84

Pdp\Exception: The host `a�roport` is invalid : a label or domain name contains disallowed characters. in /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/IDNAConverterTrait.php on line 84

Call Stack:
    0.0005     397896   1. {main}() /Users/<user>/Projects/example/example:0
    0.0056    1134712   2. Pdp\Rules::createFromString() /Users/<user>/Projects/example/example:106
    0.0060    1173984   3. Pdp\Converter->convert() /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/Rules.php:67
    0.0179    1449432   4. Pdp\Converter->addRule() /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/Converter.php:46
    0.0179    1449456   5. Pdp\Converter->addRule() /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/Converter.php:119
    0.0180    1449896   6. Pdp\Converter->idnToAscii() /Users/<user>/Projects/example/vendor/jeremykendall/php-domain-parser/src/Converter.php:107

So I was really scratching my head at this point and took a hard look at the IDNAConverterTrait and it really seems as if it expects IDN Punycode or us-ascii as its input instead of UTF-8? If that's not it, then I really have no idea what the issue is because it doesn't seem like a curl issue anymore either. I tried asking publicsuffix.org to send a us-ascii file instead of UTF-8 using postman, but it didn't want to do that, so that doesn't account for why it works for you and not for us. I decided to just see what happens if I forced things to Punycode. I  used mso/idna-convert for the job because it can just Punycode non ASCII characters without encoding a bunch of characters that need to be left alone for the rule parsing method to work correctly.
#!/usr/bin/env php
<?php

use Pdp\Rules;
use Mso\IdnaConvert\IdnaConvert;

require_once __DIR__ . '/vendor/autoload.php';

$IDN = new IdnaConvert();

$lines = [];

foreach (file('public_suffix_list.dat') as $line) {
    if (false === strpos($line, '//')) {
        $lines[] = $IDN->encode(trim($line), 'utf8');
    } else {
        $lines[] = $line;
    }
}

$string = implode(PHP_EOL, $lines);

$rules = Rules::createFromString($string);

echo json_encode($rules->resolve('www.UlB.Ac.be', Rules::ALL_DOMAINS), JSON_PRETTY_PRINT);

And that does indeed return a test passing output:
{
    "domain": "www.ulb.ac.be",
    "registrableDomain": "ulb.ac.be",
    "subDomain": "www",
    "publicSuffix": "ac.be",
    "isKnown": true,
    "isICANN": true,
    "isPrivate": false
}

This seems like it is still not a particularly robust solution though. While it does allow php-domain-parser (on my system) to return correct results against the entire public suffix test data set, it Errors 3 unit tests and fails 2 more when I hack the solution into Converter::convert. So it is clearly still short circuiting something.

@dlindberg I've manage to find and reproduce the error. And TBH the develop branch response is better than the master one. here's how I've reproduced your bug.
<?php

use Pdp\Converter;

require 'vendor/autoload.php';

$psl = <<<EOF
// ===BEGIN ICANN DOMAINS===
ci
aéroport.ci
// ===END ICANN DOMAINS===
// ===BEGIN PRIVATE DOMAINS===
bar
a\xE3\xA9roport.bar
// ===END PRIVATE DOMAINS===
EOF;

try {
    var_dump((new Converter())->convert($psl));
} catch (Throwable $e) {
    echo '<pre>', $e->getMessage(), PHP_EOL, $e->getTraceAsString(), PHP_EOL;
}

The bug you are experiencing is because for some unkown reason beyond the package capabilities, your PSL copy seems to have converted aéroport.bar into  a\xE3\xA9roport.bar prior to being submitted for conversion. On the dev branch the issue is detected and therefore a Pdp\Exception is thrown while the conversion silently failed on the current stable branch (ie: 5.2.0).
So to me the fix is already in place on the dev branch and you should definitely look into how and why the encoding is done on your PSL file prior to be submitted to the package ? Once you have find the culprit everything else should work out of the box.

@nyamsprod thanks, there is no way I would have gotten this far without the better error messages in the dev branch. Your test case just helped me "find" the problem too. If I remove the a\xE3\xA9roport.bar line and run the sample code through the web PHP parser it succeeds. If I run the exact same code through the command line parser it fails, error as described above.
At first I hoped it was a version or setting miss match, but with both the php-cli and php-fpm versions configure the same way the cli version still errors. This seems to line up with @tuxado 's experience too where the cli version fails. There is certainly a very strange behavior that I'm not quite able to pin down, but it seems at least possible it is a bug in the php cli parser itself.
At this point, I've found that in a code path that does not include a call to:
$this->rules = Rules::createFromString($string);

Importing and then immediately dumping the PSL results in a properly encoded a clean no diff version of the PSL that went in.
If I make a call to Rules::create the dump of the PSL file is completely mangled. Even if I dump it before the call to Rules::create and even if I dump it after importing the PSL twice into two separate variables that I flush the output buffer on before I call Rules::create
#!/usr/bin/env php
<?php

use Pdp\Rules;

require_once 'vendor/autoload.php';

$string = stripcslashes((require'psl.php'));
$strung = stripcslashes((require'psl.php'));
ob_start();
echo $string;
ob_end_flush();
flush();
$this->rules = Rules::createFromString($strung);

Will fail and dump a mangled PSL file
#!/usr/bin/env php
<?php

use Pdp\Rules;

require_once 'vendor/autoload.php';

$string = stripcslashes((require'psl.php'));
$strung = stripcslashes((require'psl.php'));
ob_start();
echo $string;
ob_end_flush();
flush();

Will, well, do what one would expect it to do. When the same test case is modified for the PHP-FPM parser:
<?php

use Pdp\Rules;

require_once  '../vendor/autoload.php';

$string = stripcslashes((require'../psl.php'));
$strung = stripcslashes((require'../psl.php'));
ob_start();
echo '<pre>';
echo $string;
ob_end_flush();
flush();
$this->rules = Rules::createFromString($strung);

It is also just fine, a good PSL file is output to the browser.
I'll report back if / when I can figure out how the CLI version of PHP to do this correctly.

Found it, pull request submitted.


Remove unnecessary $ captures

This PR is remove unnecessary $ captures.

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[-] Added tests.
[-] Updated documentation.
[-] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

Thank you!


Memory Bank Update

Hi Tengda,
May I know how do you update the value of memory bank? The reading process from the memory was illustrated in the paper, but the writing process seemed to be omitted.
The parameters \phi for reading process (to produce sampling probability) is learnable.  But are the parameters for the writing also learnable?
Many thanks.

Hi!
The memory bank is created as learnable parameters (https://github.com/TengdaHan/MemDPC/blob/master/memdpc/model.py#L41). It's trained end-to-end with other components of the network, so it will be "written" by backprop.
Hope it helps.


Question: Running the Spring Boot Listener in HA Mode

Hi
Wanted to check on how to run the Spring Boot listener in HA Mode? is it possible? How to make sure each message is processed once by on the listeners

Please include the following information in your ticket.

Don't really understand what you are asking. Each MQ message will always be destructively retrieved by only a single consumer from a particular queue, though it's not guaranteed on WHICH instance of a consumer would get it. That's a fundamental rule of MQ behaviour.
If you're asking about other aspects of messaging or connectivity, for example pub/sub topologies then you need to be a lot clearer in the question.

Don't really understand what you are asking. Each MQ message will always be destructively retrieved by only a single consumer from a particular queue, though it's not guaranteed on WHICH instance of a consumer would get it. That's a fundamental rule of MQ behaviour.
If you're asking about other aspects of messaging or connectivity, for example pub/sub topologies then you need to be a lot clearer in the question.

No update received.


Admin UI don't update in real time

I think it would be great to add auto-update functionality to the admin UI. Right now, when you change data in PocketBase, the changes aren’t reflected in the admin panel until you manually reload the page.
To improve this, you could implement real-time data updates in the admin UI.
Just a suggestion — the rest is up to you. And also, it is not an issue, it is a suggestion.

There are no plans for this for now. It may added eventually as option in the future but for now major Admin UI changes out of the scope.


fix: Small typo

Checklist

[ ] run make test
[ ] PR title must follow conventional-commit-standard
[ ] tests and/or benchmarks are included
[ ] documentation is changed or added
[ ] commit message and code follows the Code of conduct

@mtt-wlsn Thanks for your contribution!


v4 ft: Allows custom tab placement inside tabs content

Short description of what this resolves:
This allows you to place custom tabbar implementations inside the shadowDOM to allow the bar to place correctly and fill the container space accurately.
Changes proposed in this pull request:

Add tabbar slot to the ion-tabs web component

Ionic Version: 4
Notice how in the before gif I cannot reach the end of the container because it does not account for my tabbar. In the after, the content is projected in the same slot and calculates against the sizing of the bar.
Before:

After:

Thank you for the PR! With the recent changes to tabs in 4.0.0-beta.15 you should have full control over customizing the ion-tab-bar and ion-tab-button elements. Here's an example:
<ion-tab-bar selected-tab="1" class="custom-tabbar">
  <ion-tab-button tab="1">
    <ion-label>Location</ion-label>
    <ion-icon name="navigate"></ion-icon>
  </ion-tab-button>

  <ion-tab-button tab="2" class="main-tab">
    <ion-icon src="/src/components/tab-bar/test/scenarios/camera.svg"></ion-icon>
  </ion-tab-button>

  <ion-tab-button tab="3">
    <ion-label>Radio</ion-label>
    <ion-icon name="musical-notes"></ion-icon>
  </ion-tab-button>
</ion-tab-bar>

.custom-tabbar {
  margin-top: 30px;
  margin-bottom: 30px;
  overflow: visible;
  contain: none;
}

.main-tab {
  border-radius: 50%;
  max-width: 80px;
  height: 80px;
  background: #3880ff;
  color: white;
  font-size: 16px;
}

I am going to close this PR since it should now be possible to customize ours and achieve the desired behavior. However, please let me know if I am misunderstanding you so we can find a solution. Thanks! 🙂


Has sign remove to search issue

Has sign remove to data search it`s not work properly please issue fixed and update

@alpeshbrainstream
Please elaborate on the issue & explain with specific details. Thank you.

Not enough info. Closed


Request for example pygmy non-standard mailhog port

Background
To avoid port conflict for other mailhog instances, it could be useful to run Pygmy's mailhog on separate ports.
Implementation
Docker
docker run --restart unless-stopped --name mailhog -p 2025:1025 -p 8025:8025 -d mailhog/mailhog

Variables
n/a

Volumes
n/a

Noting that MailHub ports will need to be changed on the container (SMTP configuration) to match the new port, the following will change the port to 2025. This has been tested:
services:
  mailhog.docker.amazee.io:
    HostConfig:
      PortBindings:
        1025/tcp:
        - HostIp: ""
          HostPort: 2025


update django to pick up CVEs

CVE-2022-28346 as example. but handful found in google container scanning

Heres the full list of django vulnerabilities in doctor

Hm, lots of failing tests. I wonder if that's just because other things are broken. Perhaps #187 will fix that....

I don't see fixes in #187 that'd help here, so I think these are things that genuinely get broken by the upgrade.

It looks like the server is returning 500s but I don't see the server logs in the test failures. Do you know how to see that?

You know, I really can't imagine how this version bump of Django would cause so much wreckage. I'm going to just merge, and we'll get this fixed in another PR if needed. Thank you!


Add support of XIBs

Is it possible to add support of XIBs names generation?

This was started in #108 but the author or this PR never gave news to my comments and requests for changes 😢
Especially I think this feature could be generalised to the generation of a list of files with any given extension, not just ".xib"
Feel free to restart a PR inspired by #108 and finish the work so we can integrate this in an upcoming version! Shouldn't really be much to add to finish this feature 👍

Wouldn't xibs (and nibs) be special cases though? Combining it with Reusable for example?

Maybe it's possible to generate any enum from mask. It's more complicated that just harrcoded variants.
But, somethings like this
swiftgen --path "/path/to/folder" --mask "*.xib" --enumName "XibEnum" --swft3 --output "path/to/fileName.swift"

@djbe but then that could just be a special template that just works well with Reusable 😉
@RomanVolkov Yeah, that was my idea. Maybe I'm overthinking this generalisation of the command and a simple nib subcommand could be enough, but I think it's not too much changes nor trouble to go to the generalised use case and it's better to do the generalisation now given that it will affect the subcommand name (swiftgen nib vs swiftgen files or something), so I think it's worth it… (except if the NIB case is really completely different and a special case, I don't think it really is but feel free to prove me wrong 😉 )


NUI Extraction

Contains
A list of dependencies that need to be resolved in order to extract NUI (org.terasology.rendering.nui) into a standalone library: MovingBlocks/TeraNUI. These can generally be resolved individually.

[ ] CoreRegistry is utilised by UIFormat, UISkinFormat and PropertyProvider. However, since the extracted library shouldn't have a Context dependency, a different way of doing dependency injection will need to be introduced here (passing constructor parameters, for instance). Refer to #1818 for some relevant discussion.
[ ] NUI depends heavily on org.terasology.input, which in turn depends on org.terasology.entitySystem. This package is currently being refactored into a gestalt library, but NUI is not expected to depend on it - a new way of handling entities will need to be developed instead.
[ ] org.terasology.input.BindableButton uses a SimpleUri as an identifier - since this class is essentially a wrapper around a gestalt-asset-core Uri string, it can potentially be moved to gestalt.
[ ] org.terasology.rendering.nui.skin.UIStyle depends on org.terasology.math.Border. This can be resolved by moving the class (and, potentially, other parts of the math package?) to MovingBlocks/TeraMath.
[ ] org.terasology.rendering.nui.databinding.BindHelper uses ReflectionUtil. The only non-common dependency this class has is NUI itself, but it is used in packages other than NUI - resolving this might be tricky. (16.01.2017 EDIT: InjectionHelper - the reflection magic helper handling stuff such as @In and @Share - might be a nice addition to an extracted NUI)
[ ] The UIText widget uses org.terasology.rendering.FontColor and org.terasology.rendering.FontUnderline. Note that this only needs to be resolved if the widgets are considered common classes that should be extracted.
[ ] One particularly hard-to-extract class UIFormat - in addition to the previously mentioned CoreRegisty, it depends on a large amount of Terasology packages:

org.terasology.i18n.TranslationSystem
org.terasology.persistence.*
org.terasology.reflection.metadata.ClassMetadata
org.terasology.utilities.ReflectionUtil
org.terasology.utilities.gson.CaseInsensitiveEnumTypeAdapterFactory

Any other dependencies that need to be resolved will be added as they are found.
Potentially relevant to @msteiger, @flo, @immortius.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

thanks for gathering the points and putting them into an issue.

Slight bump just to link http://forum.terasology.org/threads/config-context-and-security.1761 to this issue. Also to mention gestalt-entity is somewhat extracted at this point and there's interest in NUI maybe being reviewed for use in DestSol one day.

I've done some work on analysing the dependencies that need to be resolved. The actual data on this can be found here but in summary I think (in my opinion) that the following dependencies will need to be resolved (I have also left some suggestions about where to move the classes to):
Terasology-only packages (these packages should not be ported and NUI depedencies on these should be removed):

org.terasology.rendering.nui.layers (contains Terasology's main menu and HUD)
org.terasology.rendering.nui.editor (contains Terasology's NUI editor)
org.terasology.persistence (contains Terasology's serialisation system, which NUI's functionality should not depend on)
org.terasology.registry (contains Terasology's Context and CoreRegistry systems, which are not part of NUI's functionality)
org.terasology.rendering.assets.mesh - NUI does not use meshes as part of the UI
org.terasology.rendering.assets.material - NUI does not use materials as part of the UI (it uses UISkin instead)

Terasology-only classes:

org.terasology.rendering.nui.SortOrderSystem - depends on gestalt-entity-system
org.terasology.rendering.nui.NUIManager - depends on gestalt-entity-system
org.terasology.rendering.nui.ScreenLayerClosedEvent - depends on gestalt-entity-system
org.terasology.rendering.nui.BaseInteractionScreen - depends on gestalt-entity-system
org.terasology.il8n.TranslationSystem (this is used to translate UI strings) - only used by a few NUI widgets
org.terasology.input.BindableButton - this class provides the same functionality as NUI's input classes
org.terasology.input.BindButtonEvent - relates to BindableButton
org.terasology.input.BindButtonSubscriber - relates to BindableButton
org.terasology.input.binds.general.TabbingUIButton - relates to BindableButton

Common shared packages (these should be extracted into a common place for use in both NUI and Terasology):

org.terasology.reflection (used in org.terasology.rendering.nui.properties.PropertyProvider) - extract into seperate library
org.terasology.input (excluding entity-system events/systems/components) - extract into seperate library

Common shared classes:

org.terasology.rendering.nui.Color - extract with NUI
org.terasology.utilities.ReflectionUtil - extract with org.terasology.reflection
org.terasology.rendering.assets.font.Font - extract with NUI
org.terasology.rendering.assets.texture.TextureRegion - extract with NUI

Useful packages (these packages are part of Terasology and are not needed in NUI, however they might be useful with it):

org.terasology.rendering.nui.internal - most of the files here are heavily dependant on Terasology, yet could be useful if extracted as part of NUI (especially the CanvasImpl class)
org.terasology.rendering.nui.animation (contains Terasology's animation system, although this could be extracted) - possibly extract with NUI

Valid External dependencies (these dependencies are used by NUI directly):

com.google.code.gson (JSON serialiser)
org.slf4f (logging)
guava (Java utilities, transistive dependency from gestalt)
gestalt-module (module assets and @API annotations)
gestalt-asset-core (assets)
net.sf.trove4j (optimised collections)

Invalid External dependencies (these dependencies are used by NUI but should be removed):

org.lwjgl.lwjgl - NUI should not be dependant on a specific rendering back-end (the classes using this directly could be put into a nui-lwjgl library though)

Been a long time coming (/wave @rzats) but this is about to be completed by #4017 / fixed by #4017 thanks to a bunch of solid contributors 👍

Closing as completed by #4017 and many friends in module land :-)
Long time coming, but we have arrived!
A few stray modules outside the lineup or other misc bits might still need updates (server facade maybe, for instance), but close enough!


Finding all the nodes at a distance 'k' from a given node in a Binary Tree

🚀 Feature
Given a binary tree, a target node in the binary tree, and an integer value k, print all the nodes that are at a distance k from the given target node.
Have you read the Contributing Guidelines on Pull Requests?
Yes!
Motivation
Binary Tree is a special tree whose each node has at max two nodes. The above problem can be solved in O(N) time complexity and approach to the solution clears a lot of good concepts about binary tree.
Pitch
The problem should be solved in O(N) time complexity and O(N) space complexity. It can be solved using Graph or DFS. Answer should be a list of the values of all nodes that have a distance K from the given target node.

I would like to solve this issue in C++ as a part of Hackin Codes 2020

I would like to solve this issue in Java as a part of HakinCodes 2020.
Please assign it to me :) @Kajol-Kumari @siddharth25pandey

This seems an interesting question. I would like to solve this in Python.

I would like to solve this using C as a part of HakinCodes 2020.

I would like to do it in Python.

I would like to solve this issue in C as a part of HakinCodes 2020.
Please assign it to me :) @Kajol-Kumari @siddharth25pandey


Move reconcile testing out of aftersuite

Move reconcile testing out of aftersuite
Disable switch from Basic to High mode
Signed-off-by: clyang82<EMAIL_ADDRESS>

cannot pass the ci test in forked repo.


Esimates on a NuGet release?

Title. As per https://github.com/borisdj/EFCore.BulkExtensions/pull/1435#issuecomment-2003265010 the release was supposed to happen 5 weeks ago? Have I misread?

Sorry for delay, had to sort out something.
8.0.3 published


Tests "pass" under some circumstances if sources fail to build

Open exercise
Introduce some syntax error, e.g. unrecognized escape sequence like \d
Run tests
Notice how it says "Tests passed"

Reason why mvn test-compile fails:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building 01.PortScanner 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ 01.PortScanner ---
[INFO] Deleting C:\Users\Joona\Documents\IdeaProjects\TMCProjects\mooc-2016-securing-software\Set1-01.PortScanner\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ 01.PortScanner ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\Joona\Documents\IdeaProjects\TMCProjects\mooc-2016-securing-software\Set1-01.PortScanner\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ 01.PortScanner ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to C:\Users\Joona\Documents\IdeaProjects\TMCProjects\mooc-2016-securing-software\Set1-01.PortScanner\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.968 s
[INFO] Finished at: 2016-12-15T17:02:53+02:00
[INFO] Final Memory: 8M/155M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project 01.PortScanner: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

$JAVA_HOME is set to point at a JRE instead of a JDK.

I believe I found the issue. fi.helsinki.cs.tmc.intellij.services.TestRunningService::prepareThreadForRunningTests does not check the RunResult's status enum for compilation errors - it only catches exceptions.

Issue also occurs when javac is missing from the PATH.


refactor(@angular-devkit/build-webpack): port 0 WEBPACK_DEV_SERVER_BASE_PORT workaround

No longer needed due to a change in webpack-dev-server. See: https://github.com/webpack/webpack-dev-server/blob/ed67f66fc41eb1dd83fb84ecaa18703559dbe2ae/lib/Server.js#L77-L79

Confirmed that the workaround is no longer needed.


Update addFileScope to handle commonjs source files

I think this should address the issues noted in #940 and #850 and #963
In my case, I had .css.js files in node_modules that looked something like this:
'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

const _css = require('@vanilla-extract/css');

var myStyle = _css.style({});

exports.myStyle = myStyle;

When run through addFileScope, this would prepend an ESM style import to a CJS file, and would cause errors like those noted in the issues above.
I'm not 100% sure this is the fix for all scenarios (I think there may be more cases across the VE codebase where this may happen), but I wanted to push this up for discussion. It's not the most elegant way to ascertain whether a file is ESM or CJS, but it worked in my brief testing.

I can confirm that this resolves my issues similar to #940 and #963, though I still get NonErrorEmittedError sometimes (for that the workaround in #679 works at the moment).

@roginfarrer perhaps you can add a changeset as well, then there shouldn't be any more things blocking this...

@mattcompiles Good call with using a library 👍🏻. Updated!


Enhanced Vector Store Capabilities with Full-Text/Hybrid Search and Reranking

Updated the core vector store's classes to support vector search (enabled by default as today), full-text search, and reranking. Hybrid search is enabled when vector and full-text search are enabled at the same time.
Added new default methods that throw UnsupportedOperationException to prevent the need for implementation across all vector stores unless specifically required.
Implemented full-text search, hybrid search, and reranking functionalities specifically for the Azure Search AI vector store.

These enhancements improve the flexibility and functionality of the vector store classes, ensuring compatibility with various search and ranking operations while maintaining backward compatibility.

Thank you @alessiobertazzo88 ,
This is very interesting.
May you which of the supported Vector Stores provide hybrid search as well?

I was just about to merge this for M2 (even wrote docs) but then thought it might be better to push these variations into the search request and rename 'similaritySearch' to just 'search'.   There are also other improvements to the VectorStore interface that should be done (for example options wrt to add), so I'll hold off merging for now.

@tzolov Yes, from a brief research I saw that other Vector Stores provide this feature
@markpollack ok I'm going to add some things. If you have some specific propose I'm glad to integrate it.

Agree re hybrid search. Reranking perhaps should be an advisor though.

yes, reranking is a perfect use case for an advisor


Unexpected debug logs in 1.2.0

Describe the bug
I'm using gradle plugin with the following setup:
plugins {
    id("org.cqfn.diktat.diktat-gradle-plugin").version("1.2.0")
}

diktat {
    inputs {
        it.include("src/**/*.kt")
    }
}

Note that downgrading to 1.1.0 solves the issue
Expected behavior
I expect to see only issues related strings in the output
Observed behavior
I also see dozens of lines like this ones - looks like the count depends on processing files count:
09:32:05.102 [main] DEBUG org.cqfn.diktat.ruleset.rules.DiktatRuleSetProvider - Will run diktat-ruleset with diktat-analysis.yml (it can be placed to the run directory or the default file from resources will be used)
09:32:05.102 [main] DEBUG org.cqfn.diktat.common.config.rules.RulesConfigReader - Using diktat-analysis.yml file from the following path: .../diktat-analysis.yml
09:32:05.384 [Thread-0] DEBUG org.cqfn.diktat.ruleset.rules.DiktatRuleSetProvider - Will run diktat-ruleset with diktat-analysis.yml (it can be placed to the run directory or the default file from resources will be used)
09:32:05.385 [Thread-0] DEBUG org.cqfn.diktat.common.config.rules.RulesConfigReader - Using diktat-analysis.yml file from the following path: .../diktat-analysis.yml

Steps to Reproduce

Open attached sample project
run ./gradlew diktatCheck

Environment information

diktat version: 1.2.0
build tool (maven/gradle): gradle
how is diktat run (CLI, plugin, etc.): plugin
kotlin version: 1.7.0
operating system: MacOS

@PhilipDukhov thank you for this report! Looks like we made 1.2.0 release very dirty. Today or tomorrow we will releases 1.2.1 with several fixes, including this one

Yes, we'll fix it in 1.2.1 by adding configuration for logback, and we have #1394 for more thorough investigation of logging, the problem is described in that issue


Working of payment tab

Changes Made
Created workflow for adding, getting and updating account details in mentor dashboard

Cool, it look good, I think it is good to merge after backend creation!

Backend is done. I have created a pr today

Oh ok!!

@anmode you added level label 😂


pkcs11: support cert-is-private attribute

Thanks.
Tested (sign,verify,encrypt-add,encrypt) with:
SoftHSM and cert-is-private=0
YubiHSM and cert-is-private=1
YubiKey5 and cert-is-private=0
All the tests passed!


Add ESLint tutorial screenshot and link

I recently published a Pluralsight course on ESLint: https://www.pluralsight.com/courses/eslint-better-code-quality.
Adding a link to a short youtube video here. Prior context here: https://github.com/eslint/eslint.github.io/issues/324
@ilyavolodin Let me know how this looks. I can drop this line if needed (since this links to youtube anyway):
Full ESLint Course at Pluralsight

Closing in favor of https://github.com/eslint/eslint/pull/7971


schedule.every().day.at() is off by 13 hours

schedule.every().day.at('05:00').do(test5)
should run test5 at 5am yet it runs at 6pm
Is there a way to link schedule to local time?

Hey jethornton,
Can you try something for me? Will you replace the ' with " and see if that does anything for you? I ran the code on my end and used 24 hour time to make sure it was running accurately at 9:40 PM.

For anyone facing a similar problem and wanting to update something each day as the date changes the following code works well.
		today = datetime.date(datetime.now(pytz.timezone('US/Central'))) 		if lastDate != today: 			lastDate = today 			update()

Can you format the code so that i can rule out that you indented all your lines accordingly? From the sample you posted I cant tell if everything is accurately running.

Of course it runs, I don't know why the indentation gets hacked here. I have other code running on the RPi that compares dates so I set the local timezone information in my Python program. What I failed to do is set the timezone information in the RPi. The following code revealed the problem with the first print() function.
`#!/usr/bin/env python3
import schedule
import time
from datetime import datetime
print('Schedule Test {}'.format(datetime.now().strftime('%b,%d %Y %I:%M%p')))
def update():
print(datetime.now().strftime('%b,%d %Y %I:%M%p'))
schedule.every().day.at("00:01").do(update)
while True:
schedule.run_pending()
time.sleep(1)`
Output before setting the RPi timezone information is:
pi@raspberrypi:~ $ stest Schedule Test Oct,16 2018 05:10AM
And the time was 5:10PM at the time of the above test.
Output after setting the RPi timezone information is:
pi@raspberrypi:~ $ stest Schedule Test Oct,15 2018 06:15PM
The correct local time was 06:15PM when I ran the second test. I assume it will now run the update() function at 00:01AM. I will close this issue tomorrow after verifying that I didn't understand where schedule got it's time from. It might be a good thing to add to the documentation.
JT
And amazing this time the indentation is preserved.

Well the indentation was preserved until I pressed the comment button lol...

Ok this morning I see the following output which shows that it indeed does work,  now to prove or disprove the ' vs the " theory.
`pi@raspberrypi:~ $ stest
Schedule Test Oct,15 2018 06:15PM
Oct,16 2018 12:01AM
`

I have verified that it makes no difference if you use ' or " makes no difference as stated above the system time zone must be set correctly for this to work on a day basis.


Math doesn't work on example site

Do you mean LaTex？

Yeah, I mean Katex

Ok, will add it later.

So sorry for that, I forgot I have already support it by using mathjax.
It should be enabled by add mathjax: true in article head.
I have add a simple sample in README, take a look.

Hmm, is it possible to enable Katex instead?

Sure, it's easy, give me a minute.

Now, we support katex.
Take a look at: https://hugo-tania.netlify.app/post/test-katex/

Thank you! And thank you for the theme as well, it is very nice.

Hope you can use it happily.
If there has any new feature you want to add or bug you want to report, let me know.


fix the import error of cached_path, hf_bucket_url

from transformers.file_utils import cached_path, hf_bucket_url
to align with the following PR merged in transformer
https://github.com/huggingface/transformers/pull/18497
Signed-off-by: Wang, Yi A<EMAIL_ADDRESS>What does this PR do?

Fixes # (issue)
fix the import error of cached_path, hf_bucket_url
to align with the following PR merged in transformer
https://github.com/huggingface/transformers/pull/18497
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

@jiqing-feng @echarlaix @PenghuiCheng  please aware of the issue

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.