Strings from database should be read as UTF8

UTF8 characters in the database are not returned correctly by sqlalchemy. Danish characters get replaced by ?'s. Here's an example: Hj?rnet Irlandsvej - Gyldenrisvej.K?benhavns Belysningsv?sens Koblingsstation. A workaround is to set the NLS_LANG environment variable:
import os
os.environ["NLS_LANG"] = "DANISH_DENMARK.UTF8"
from sqlalchemy.orm import aliased
from fireapi import FireDb

When I use cx_oracle I can fix it like this: con = cx_Oracle.connect(f'{usr}/{pwd}@{server}:{port}/{service}', encoding="UTF-8", nencoding="UTF-8"). Presumably there's a similar construct in sqlalchemy.

It is documented here: https://docs.sqlalchemy.org/en/latest/dialects/oracle.html#unicode

I've fixed it (or so it seems) in 5681a18. There may be other things needed, I remember cx_Oracle requiring several settings for CLOB's to be read properly.

Hmm where does that commit live? :)

https://github.com/Septima/fikspunktsregister/pull/61

Hmm where does that commit live? :)

On the intertubes! :)

Various fixes to minor things :D

in #64 I have added a unit test for round tripping utf8. And it fails on my machine and on CI.
On my machine it works if i add
os.environ["NLS_LANG"] = "DANISH_DENMARK.UTF8"

which obviously stinks...

Yeah, see the same thing here. I must accidently have left the NLS_LANG thing in my code when I tested the `create_engine(..., encoding='utf8') change.
According to the sqlalchemy docs this shouldn't happen if the database is configured to use unicode. I have no idea what the default setting is. I am trying to find out how our database is set up.

I think I have the solution


Improve makefile checks

Makefile targets and scripts should check proper env vars and quit with error message if not properly set up.

This is currently done


@8.x.x: Package subpath './dist/index.js' is not defined by "exports"

Describe the bug
Use uuid 8.x.x in:

Lambda
node.js 12

infrastructure is created and deployed by pulumi
Get the following err:
{
    "errorType": "Error",
    "errorMessage": "Package subpath './dist/index.js' is not defined by \"exports\" in /var/task/node_modules/uuid/package.json",
    "code": "ERR_PACKAGE_PATH_NOT_EXPORTED",
    "stack": [
        "Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './dist/index.js' is not defined by \"exports\" in /var/task/node_modules/uuid/package.json",
        "    at throwExportsNotFound (internal/modules/esm/resolve.js:285:9)",
        "    at packageExportsResolve (internal/modules/esm/resolve.js:508:3)",
        "    at resolveExports (internal/modules/cjs/loader.js:424:36)",
        "    at Function.Module._findPath (internal/modules/cjs/loader.js:464:31)",
        "    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:802:27)",
        "    at Function.Module._load (internal/modules/cjs/loader.js:667:27)",
        "    at Module.require (internal/modules/cjs/loader.js:887:19)",
        "    at require (internal/modules/cjs/helpers.js:74:18)",
        "    at /var/task/__index.js:81:37",
        "    at Runtime.__f0 [as handler] (/var/task/__index.js:114:6)"
    ]
}

While in 3.x.x and 7.x.x, things work properly.
How to reproduce

clone a simple pulumi sample for lambdan & api-gatway
use uuid in lambda function.
Deploy and call the api

Runtime
node.js 12

The issue template clearly states:
REQUIRED: Provide a Minimal, Complete, and Verifiable example so that we (the uuid maintainers) can reproduce the problem. Issues that do not provide this will be closed without investigation.
Please follow the issue template as we can otherwise not provide you with platform-specific support.

The issue template clearly states:
REQUIRED: Provide a Minimal, Complete, and Verifiable example so that we (the uuid maintainers) can reproduce the problem. Issues that do not provide this will be closed without investigation.
Please follow the issue template as we can otherwise not provide you with platform-specific support.

For reference:
This is due pulumi code generation when uuid is used within a serialised function. Pulumi captures references used in the code being serialised and uses require.cache to resolve the path.
This results in the following being generated require("uuid/dist/index.js") which is not allowed in 8.x.x.
Allowing ./dist/index.js in the package.json would prevent this error. However I am not convinced that this is the right approach here.
A workaround is to use require within the function, or to wrap uuid in another module that pulumi can require properly.


TreeItem Icon not loading in 1.54 (VSCode Extension)

VS Code Version: 1.54.1
OS Version: Windows 10

Steps to Reproduce:
I have a vscode extension that loads a File/Folder in TreeItem. Tree-Item icon is not loading in 1.54 released version.
If I load the extension on 1.52 older version, the icon is visible.
Are there any update on Icon loading?

Does this issue occur when all extensions are disabled?: Yes/No

I'm not able to reproduce this issue. I see icons in extension provided tree view loading as expected:

If this is an issue with a specific extension, I would recommend that you file an issue with that extension.

Just for information.
I think the issue got resolved with vscode update 1.55.0.
Nothing changed from the extension, but now the icons are loading correctly after this vscode update. not sure if anything else caused this issue.


Visualization with Caffe does not work due to protobuf incompatabilities

Issues related to migrating from protobuf 2 to protobuf 3 for tensorflow

Other bug reports: https://github.com/NVIDIA/DIGITS/issues/591, https://github.com/NVIDIA/caffe/issues/303
Upstream fixes: https://github.com/BVLC/caffe/pull/5010, https://github.com/BVLC/caffe/pull/5477, https://github.com/BVLC/caffe/pull/5487

Fixed as of today


Code 1.90.1 crashes on startup

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.90.1
OS Version:  4.18.0-553.5.1.el8_10.x86_64, running in an virtual environment

Steps to Reproduce:

Updated VSCode to the current version 1.90.1
Start with verbose code --verbose
VSCode crashes with the following message:

[0617/085433.786964:ERROR:elf_dynamic_array_reader.h(64)] tag not found
[0617/085433.789584:ERROR:file_io_posix.cc(145)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: No such file or directory (2)
[0617/085433.789605:ERROR:file_io_posix.cc(145)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: No such file or directory (2)
[0617/085433.791755:ERROR:directory_reader_posix.cc(43)] opendir /net/machine/home/user/Development/vscode-1.90.1/userdata/Crashpad/attachments/bf6a73bb-efa8-4200-9654-29274ccf1a6c: No such file or directory (2)

Using the version 1.88.1, everything works.
Best regards,
Frank

Disabling the custom title bar seems to not cause those crashes anymore, it is maybe related

Can you share the crash dump using the steps from https://github.com/microsoft/vscode/wiki/Native-Crash-Issues#creating-a-crash-report

@deepak1556 is it possible to send you the dump directly via email to not publish it here on github?

Sure, you can send it to<EMAIL_ADDRESS>

Thanks for the crash logs, attaching the symbolicated trace
Crash reason:  SIGSEGV /SEGV_MAPERR
Crash address: 0x10
Process uptime: 0 seconds

Thread 0 (crashed)
 0  code!ui::BuildDisplaysFromXRandRInfo(ui::DisplayConfig const&, unsigned long*) [vector : 595 + 0x0]
    rax = 0x0000000000000000   rdx = 0x00005559e99141c8
    rcx = 0x0000000000000004   rbx = 0x00007ffea20f2500
    rsi = 0x00007ffea20f25e0   rdi = 0x0000000000000000
    rbp = 0x00007ffea20f26e0   rsp = 0x00007ffea20f2100
     r8 = 0x000000000000fffe    r9 = 0x0000000000000080
    r10 = 0x0000000000000010   r11 = 0xaaaaaaaaaaaaaaaa
    r12 = 0x000012b0004b8f20   r13 = 0xaaaaaaaaaaaaaaaa
    r14 = 0x0000000000000008   r15 = 0x000012b000263000
    rip = 0x00005559e601c870
    Found by: given as instruction pointer in context
 1  code!ui::XDisplayManager::FetchDisplayList() [x11_display_manager.cc : 102 + 0x8]
    rbx = 0x00007ffea20f26f8   rbp = 0x00007ffea20f28a0
    rsp = 0x00007ffea20f26f0   r12 = 0x0000000000000000
    r13 = 0xaaaaaaaaaaaaaaaa   r14 = 0x000012b0007a4780
    r15 = 0x00007ffea20f28e0   rip = 0x00005559e601a6e3
    Found by: call frame info
 2  code!ui::XDisplayManager::Init() [x11_display_manager.cc : 48 + 0x8]
    rbx = 0x000012b0007a4780   rbp = 0x00007ffea20f28d0
    rsp = 0x00007ffea20f28b0   r12 = 0x0000000000000000
    r13 = 0xaaaaaaaaaaaaaaaa   r14 = 0x00007ffea20f28b8
    r15 = 0x00007ffea20f28e0   rip = 0x00005559e601a63c
    Found by: call frame info
 3  code!aura::ScreenOzone::ScreenOzone() [screen_ozone.cc : 28 + 0x9]
    rbx = 0x000012b0006efc80   rbp = 0x00007ffea20f2920
    rsp = 0x00007ffea20f28e0   r12 = 0x0000000000000000
    r13 = 0xaaaaaaaaaaaaaaaa   r14 = 0x000012b0000683f0
    r15 = 0x00007ffea20f28e0   rip = 0x00005559e6a3befc
    Found by: call frame info
 4  code!views::CreateDesktopScreen() [desktop_screen_ozone.cc : 16 + 0x8]
    rbx = 0x00007ffea20f2950   rbp = 0x00007ffea20f2940
    rsp = 0x00007ffea20f2930   r12 = 0x00007ffea20f2950
    r13 = 0xaaaaaaaaaaaaaaaa   r14 = 0x000012b0006efc80
    r15 = 0x00007ffea20f2950   rip = 0x00005559e6a3be2f
    Found by: call frame info
 5  code!electron::ElectronBrowserMainParts::PreCreateThreads() [electron_browser_main_parts.cc : 327 + 0x8]
    rbx = 0x000012b000044820   rbp = 0x00007ffea20f2a00
    rsp = 0x00007ffea20f2950   r12 = 0x00007ffea20f2950
    r13 = 0xaaaaaaaaaaaaaaaa   r14 = 0x00000000a20f2801
    r15 = 0x00007ffea20f2950   rip = 0x00005559e1c2872f
    Found by: call frame info
 6  code!content::BrowserMainLoop::PreCreateThreads() [browser_main_loop.cc : 794 + 0x5]
    rbx = 0x000012b0000909a0   rbp = 0x00007ffea20f2a50
    rsp = 0x00007ffea20f2a10   r12 = 0xaaaaaaaaaaaaaaaa
    r13 = 0x00007ffea20f2a20   r14 = 0x0000000000000000
    r15 = 0x00007ffea20f2a00   rip = 0x00005559e3f82851
    Found by: call frame info
 7  code!content::StartupTaskRunner::RunAllTasksNow() [callback.h : 156 + 0x3]
    rbx = 0x000012b000ae0e40   rbp = 0x00007ffea20f2a90
    rsp = 0x00007ffea20f2a60   r12 = 0x000012b0008a4cc0
    r13 = 0x00007ffea20f2aa0   r14 = 0x00005559e9870000
    r15 = 0x00007ffea20f2a68   rip = 0x00005559e45711dd
    Found by: call frame info
 8  code!content::BrowserMainLoop::CreateStartupTasks() [browser_main_loop.cc : 915 + 0x5]
    rbx = 0x00007ffea20f2b00   rbp = 0x00007ffea20f2b00
    rsp = 0x00007ffea20f2aa0   r12 = 0x000012b0007a83c0
    r13 = 0x00007ffea20f2aa0   r14 = 0x00005559e9870000
    r15 = 0x000012b0000909a0   rip = 0x00005559e3f82be8
    Found by: call frame info
 9  code!content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams) [browser_main_runner_impl.cc : 139 + 0x5]
    rbx = 0x00007ffea20f2b18   rbp = 0x00007ffea20f2bb0
    rsp = 0x00007ffea20f2b10   r12 = 0x000012b0000303f0
    r13 = 0x000000b06bcd6982   r14 = 0x0000000000000000
    r15 = 0x0000000000000001   rip = 0x00005559e3f85885
    Found by: call frame info
10  code!content::BrowserMain(content::MainFunctionParams) [browser_main.cc : 30 + 0xb]
    rbx = 0x00007ffea20f2c68   rbp = 0x00007ffea20f2c20
    rsp = 0x00007ffea20f2bc0   r12 = 0x00007ffea20f2c30
    r13 = 0x00007ffea20f2d90   r14 = 0x000012b0000303f0
    r15 = 0x00007ffea20f2bc0   rip = 0x00005559e3f812d2
    Found by: call frame info
11  code!content::RunBrowserProcessMain(content::MainFunctionParams, content::ContentMainDelegate*) [content_main_runner_impl.cc : 716 + 0x8]
    rbx = 0x00007ffea20f3240   rbp = 0x00007ffea20f2d20
    rsp = 0x00007ffea20f2c30   r12 = 0x00007ffea20f2c30
    r13 = 0x00007ffea20f2d90   r14 = 0x00007ffea20f2c68
    r15 = 0x00007ffea20f2ca0   rip = 0x00005559e1e43224
    Found by: call frame info
12  code!content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams, bool) [content_main_runner_impl.cc : 1307 + 0x8]
    rbx = 0x00001f24002a3100   rbp = 0x00007ffea20f2e10
    rsp = 0x00007ffea20f2d30   r12 = 0x00000000ffffffff
    r13 = 0x00007ffea20f2d90   r14 = 0x00007ffea20f2e20
    r15 = 0x00007ffea20f2d38   rip = 0x00005559e1e448e0
    Found by: call frame info
13  code!content::ContentMainRunnerImpl::Run() [content_main_runner_impl.cc : 1152 + 0xf]
    rbx = 0x00001f24002a3100   rbp = 0x00007ffea20f2f30
    rsp = 0x00007ffea20f2e20   r12 = 0x00007ffea20f2ef0
    r13 = 0xaaaaaaaaaaaaaaaa   r14 = 0x00007ffea20f2e20
    r15 = 0x0000000000000000   rip = 0x00005559e1e446f9
    Found by: call frame info
14  code!content::RunContentProcess(content::ContentMainParams, content::ContentMainRunner*) [content_main.cc : 334 + 0x8]
    rbx = 0x00001f24002a3100   rbp = 0x00007ffea20f3190
    rsp = 0x00007ffea20f2f40   r12 = 0x0000000000000000
    r13 = 0x00007ffea20f3130   r14 = 0x0000000000000000
    r15 = 0x00007ffea20f2fc1   rip = 0x00005559e1e4217b
    Found by: call frame info
15  code!content::ContentMain(content::ContentMainParams) [content_main.cc : 347 + 0x8]
    rbx = 0x00007ffea20f3210   rbp = 0x00007ffea20f3200
    rsp = 0x00007ffea20f31a0   r12 = 0x00007ffea20f31c8
    r13 = 0x00007ffea20f33b0   r14 = 0x00007ffea20f31c0
    r15 = 0x00007ffea20f31a8   rip = 0x00005559e1e42280
    Found by: call frame info
16  code!main [electron_main_linux.cc : 45 + 0x8]
    rbx = 0x00007ffea20f33b8   rbp = 0x00007ffea20f32e0
    rsp = 0x00007ffea20f3210   r12 = 0x00007ffea20f3290
    r13 = 0x00007ffea20f33b0   r14 = 0x00007ffea20f3290
    r15 = 0x00007ffea20f3210   rip = 0x00005559e1b540f8
    Found by: call frame info
17  libc.so.6 + 0x3a7e5
    rbx = 0x0000000000000000   rbp = 0x00005559e1af0b20
    rsp = 0x00007ffea20f32f0   r12 = 0x00005559e1757000
    r13 = 0x00007ffea20f33b0   r14 = 0x0000000000000000
    r15 = 0x0000000000000000   rip = 0x00007f257c7e07e5
    Found by: call frame info
18  ld-linux-x86-64.so.2 + 0x921a
    rsp = 0x00007ffea20f3370   rip = 0x00007f25823a121a
    Found by: stack scanning
19  code!_start + 0x2a
    rsp = 0x00007ffea20f33a0   rip = 0x00005559e175702a
    Found by: stack scanning
20  0x7ffea20f33a8
    rsp = 0x00007ffea20f33a8   rip = 0x00007ffea20f33a8
    Found by: call frame info
21  ld-linux-x86-64.so.2 + 0x231130
    rsp = 0x00007ffea20f33b0   rip = 0x00007f25825c9130
    Found by: stack scanning

Seems like this might be addressed with https://chromium-review.googlesource.com/c/chromium/src/+/5324886. Can you try our exploration build based on Chromium 124 which should contain the linked fix.

This looks very promising. Thank you!

When will this fix go into an official release?

Thanks for confirming! we are planning to push the version to Insiders next month, so very likely 1.92 will contain this version. In the meantime I will backport the fix to current runtime version.

Ok, sounds great!

Howdy. I am facing the same issue. Waiting for update

Will this also fix the crashes for Wayland?

@Akryum nope, this issue only affects x11 backend.

See my previous comments, it also affects Wayland sessions

That would be a different issue atleast based on the crash dumps posted by @fr43nk, can you forward the crash logs following the steps at https://github.com/microsoft/vscode/issues/215924#issuecomment-2179781189

This bug has been fixed in the latest release of VS Code Insiders!
@fr43nk, you can help us out by commenting /verified if things are now working as expected.
If things still don't seem right, please ensure you're on version 7ed4cdc56d037146b2c4c890f09e78b2ba14b49d of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.
Happy Coding!

/verified


Remove hostedtoolcache from docker build scripts

Due to the large size of both CUDA and TF itself we are running into disk issues on the docker build scripts when a large change has been made.  This will delete the hostedtoolcache to free up space.

Context: Out of space on the clang 17 upgrade: https://github.com/tensorflow/tensorflow/actions/runs/6227924038


Document how to show default values for options in helptext

It would be nice if I defined an option:
@click.command(
    help='Command helptext'
)
@click.option(
    '--test',
    default='foobar'
    help='Option helptext
)
def cli(test):
    pass

I would get an output that defined the default value of options:
$ cli --help
Usage: cli [OPTIONS]

  Command helptext

Options:
  --test TEXT   Option helptext. Default: 'foobar'
  --help        Show this message and exit.

After looking through the source code I found that that there is a show_defaults=True parameter I can add to the @click.option() decorator... this more-or-less does what I want. It should be documented, though, as it's missing from http://click.pocoo.org/6/options/

http://click.pocoo.org/6/api/#click.Option mentions show_defaut. Not everything can be written in prose...

@untitaker point taken, but:

as a new user of Click, I could not find that part of the documentation easily
as a new user of Click, I am much more likely to go down the table of contents and look at the Options page before I look at the API specification
in the higher-level Options document, defaults are specifically mentioned and this is where I looked for this information

Feel free to close the issue, but I feel it would be more user-friendly to co-locate this option with the first mentions of default in the Options documentation.

That's totally fair, as a more generic solution that doesn't just serve show_defaults we might link to the Options API doc more explicitly from the prose docs.

Just to note, I would expect to be able to turn/switch this show_defaults on to all options at once as a command option

I second @alanjds' comment. 👍

@unittaker every other click.Option argument is mentioned in the guide. And, for the  future readers of this issue who don't look at the API page, it's show_default!

every other click.Option argument is mentioned in the guide.

No, that's not true, allow_from_autoenv is not documented there.
I suppose given that show_default appears to be popular, it should be added.

every other click.Option argument is mentioned in the guide.

No, that's not true, allow_from_autoenv is not documented there.
I suppose given that show_default appears to be popular, it should be added.

context_settings could be used as a global switch for show_default.

I have an option like this:
@click.option('--password', prompt=True, required=True, hide_input=True)
When I do '--help' in the options section I can see '--password'. I don't want this option to be visible in '--help' and still prompt for a password. Is there a way to do this?

@tejas619 That sounds like a new issue not having to do anything with show_default

@jmarkow I might be misunderstanding you but you could pass show_default=True for all your option decorators. Or you could monkey patch the function here .

My idea was to allow the following:
@click.command(
    help='Command helptext',
    context_settings=dict(show_default=True))
@click.option("--test", default="foobar", help="Option helptext")
def cli(test):
    pass

That would allow getting the discussed behavior working:
$ cli --help
Usage: cli [OPTIONS]

  Command helptext

Options:
  --test TEXT   Option helptext. Default: 'foobar'
  --help        Show this message and exit.

context_settings is already used to configure global settings anyway, in my understanding it fits.

Ahh I see, @mchwalisz could you actually make another issue for this, since it is an enhancement proposal, and the parent issue is now about documentation changes.

@jcrotts monkey patching worked fine for my needs.  As a reference,
orig_init = click.core.Option.__init__

def new_init(self, *args, **kwargs):
    orig_init(self, *args, **kwargs)
    self.show_default = True

click.core.Option.__init__ = new_init

At the top of my script after the imports worked fine.

Great, closing this issue, feel free to take the discussion on the enhancement to https://github.com/pallets/click/issues/1018

@jcrotts monkey patching worked fine for my needs. As a reference,
orig_init = click.core.Option.__init__

def new_init(self, *args, **kwargs):
    orig_init(self, *args, **kwargs)
    self.show_default = True

click.core.Option.__init__ = new_init

At the top of my script after the imports did the trick.

Great 👌, or this way...
from functools import partial

import click

click.option = partial(click.option, show_default=True)

Just for info it's show_default not show_defaults.


Remove dependence on the global modules from the cloudsc-fortran

This commit removes the dependence on the parameters from global modules from the clouds computation.

[DO NOT MERGE UNTIL RESOLVED!] Not quite sure what's going on here, but this change seems to drop CPU performance of the changed variant significantly; I'm getting a drop from around 88GF/s to 58GF/s! Please hold off on review/merge until this is understood.

Intel

I have checked that the performance on Mac+gfortran 12 doesn't depend significantly on the availability of cloud indices 1...5 at compile time. To be checked on ATOS.

I have checked that with Intel the current commit has matching performance to the 'Apple' commit. It seems that with gcc the performance is less dependent on the strategy of passing of indices.


Bad links for "Teams interactions with Microsoft 365 services" files

The links for "Teams interactions with Microsoft 365 services" PDF and Visio files result in 404.

Teams interactions with Microsoft 365 services
Teams interacts with multiple services in Microsoft 365 - including data governance, security, and compliance capabilities.
This series of illustrations provides a view into the logical architecture of productivity services for enterprise architects.
Thumb image for Teams logical architecture poster.
PDF | Visio

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

ID: ad3ad624-9792-91b7-c85f-09b839b1ea44
Version Independent ID: e8288f91-11bd-599b-8a88-074917b315a4
Content: Microsoft Teams IT architecture and voice solutions posters - Microsoft Teams
Content Source: Teams/teams-architecture-solutions-posters.md
Service: msteams
GitHub Login: @MicrosoftHeidi
Microsoft Alias: heidip

Hello @aamillerMSFT I'm working on this

Links were fixed and an updated version of the article will soon be published. Thank you


Rust analyzer starting two instances when script is opened

Description
Hello. Whenever I open a cargo project, when the first rust script is opened in neovim (lazyvim distro), two rust analyzers start indexing the project. One client is called "rust-analyzer" and the other one "rust_analyzer" (see picture below). This is pretty annoying, as they end up eating twice the RAM needed (which is already fairly high for one instance).
I tried killing one of the processes : no matter which one I kill, the other works just fine and I still have my diagnostics, but the dead comes back when I open a new script. I do not have any additional configuration for lspconfig. I have a rustacean config, but deleting it does not change anything.
Thank you in advance for helping me out !

ask in rustacean


Update DG and PPP

Codecov Report
Base: 68.12% // Head: 68.12% // No change to project coverage :thumbsup:

Coverage data is based on head (0828fdd) compared to base (cd0c00f).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #222   +/-   ##
=========================================
  Coverage     68.12%   68.12%
  Complexity      996      996
=========================================
  Files           153      153
  Lines          3310     3310
  Branches        451      451
=========================================
  Hits           2255     2255
  Misses          864      864
  Partials        191      191

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Store __inverseRels__ not cleaned up with transform option { useBuffer: true }

We are using

settings.defaultTransformOptions = { useBuffer: true };

as otherwise the performance of indexeddb bulk operations is very very slow.
Unfortunately, with the latest version, we see that the store for keeping track of rels is not touched at all when removing a record.

Example:
// source = indexeddbsource
source.push([
  source.transformBuilder.removeRecord({ id: '123', type: 'test' })
]);

// Result in indexeddb with `useBuffer: true`
// 1. Record '123' is removed from store `test`
// 2. All relationships in store `__inverseRels__` of record '123' are still there

// Result in indexeddb with `useBuffer: false`
// 1. Record '123' is removed from store `test`
// 2. All relationships in store `__inverseRels__` of record '123' are removed

After some digging, I think the AsyncCacheIntegrityProcessor processor creates the transforms that clean up the __inverseRels__ store with useBuffer: false.
With useBuffer: true, it seems to be the job of SyncCacheIntegrityProcessor, but somehow it fails to return the changeset to remove the inverse rels @
const changes = buffer.stopTrackingChanges();

Versions
"@orbit/indexeddb": "0.17.2",
"@orbit/indexeddb-bucket": "0.17.0",
"@orbit/jsonapi": "0.17.1",
"@orbit/records": "0.17.0",
"@orbit/serializers": "0.17.0",

https://github.com/orbitjs/orbit/blob/b57cfcbaf560d32f54d7041e5b7b4c3f05f413c3/packages/%40orbit/record-cache/src/simple-record-transform-buffer.ts#L213


TypeScript support

Any way to get TypeScript working with this?

node_modules/express-jsdoc-swagger/index.js' implicitly has an 'any' type.
Try npm install @types/express-jsdoc-swagger if it exists or add a new declaration (.d.ts) file containing declare module 'express-jsdoc-swagger';ts(7016)

yarn add @types/express-jsdoc-swagger
yarn add v1.22.5
[1/4] Resolving packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/@types%2Fexpress-jsdoc-swagger: Not found".

I can work on this, currently I am working on an express project with typescript and I am happy to have this feature on my api project.

Hi @saeidalidadi and @connorads,
We are working on this in this branch https://github.com/BRIKEV/express-jsdoc-swagger/tree/fix/ts-support to merge this. After we merge that we will create a new release 👍


add controller for image generation

Provides an endpoint to trigger a refresh of the cache of the singularity images saved on the HPC.  The jobs can now be run without pulling the images.

This looks good.
I assume the simulation job submission waits for the image updating job to complete. I didn't read the code enough to check.
If I understand correctly, the PR doesn't determine whether an image needs to be updated. Can you use Docker to determine that outside an SBATCH job?

The simulations are actually completely separate from the updating.
The jobs will use the latest image of each tag is on the HPC.  If it is a new tag, then the latest image can just be downloaded as a part of the job.  If it is an older tag that has been updated on GHCR, then it would still use the older cache.
The endpoint that is created here would be called by the github CI or just someone manually to have the hpc update its cache for a specific tag. That way, if the image is updated, any simulations after calling this endpoint would use the up to date image

This looks good.
I assume the simulation job submission waits for the image updating job to complete. I didn't read the code enough to check.
If I understand correctly, the PR doesn't determine whether an image needs to be updated. Can you use Docker to determine that outside an SBATCH job?

The simulations are actually completely separate from the updating.
The jobs will use the latest image of each tag is on the HPC.  If it is a new tag, then the latest image can just be downloaded as a part of the job.  If it is an older tag that has been updated on GHCR, then it would still use the older cache.
The endpoint that is created here would be called by the github CI or just someone manually to have the hpc update its cache for a specific tag. That way, if the image is updated, any simulations after calling this endpoint would use the up to date image

I understand the plan now.
I can incorporate a call to the new endpoint into the workflow for committing simulators into the database. If you'd like me to set that up:

Can you describe the endpoint that should be called in biosimulators/Biosimulators_test_suite#17?
The workflow already gets a key for the biosimulators API. If this needs a different key, can you create the key and add it as a secret for the https://github.com/biosimulators/Biosimulators repo (where the workflow runs)?

I understand the plan now.
I can incorporate a call to the new endpoint into the workflow for committing simulators into the database. If you'd like me to set that up:

Can you describe the endpoint that should be called in biosimulators/Biosimulators_test_suite#17?
The workflow already gets a key for the biosimulators API. If this needs a different key, can you create the key and add it as a secret for the https://github.com/biosimulators/Biosimulators repo (where the workflow runs)?


ROT.Map.Uniform only uses the set seed for rooms, not for corridors

Greetings,
it would appear that the corridors do not use the seed from
ROT.RNG.setSeed( PP.game.seed * PP.game.level );
An example is here:
http://konijn.github.io/project-pandora/
Just start a game by pressing 1, then hit control S to save, every time you reload game 1 , you will see the rooms and the player in the same spot, but the corridors are every time different.

This is caused by a collision with your own ArrayRandom function that conflicts with the rot.js-based one:
Array.prototype.random = function ArrayRandom(){
  return this[Math.floor(Math.random() * this.length)];
}

Removing this function of yours might completely solve your issue :-)

Oh my, you rock!!


new Sensor FinTS

Description:
This PR adds a new sensor FinTS to read bank account information. This only works with banks that support the FinTS (aka HBCI) standard. For each account you have with the bank, a separate sensor is created.
This is a follow-up request for #13453 as requested by @balloob
Related issue (if applicable): N/A
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#5016
Example entry for configuration.yaml (if applicable):
 - platform: fints
    name: <give the bank a name>
    bank_identification_number: <for your bank>
    username: <your FinTS user name>
    pin: <your FinTS pin>
    url: <FinTS url of your bank>

Checklist:

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

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

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

If the code communicates with devices, web services, or third-party tools:

[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

Looks good. Thanks @ChristianKuehnel! 🎉


Mekanism models causing crash in TiCo Workbench

Crash here: http://pastebin.com/ugEw05za
java.lang.RuntimeException: No OpenGL context found in the current thread.
This crash is WITHOUT optifine and happens when Tinker's tables render Mek items.. but it isn't consistent.  In this particular crash we were trying to make the advanced tank.

I got this crash yesterday WITh optifine, removed it and it works now. Maybe you have another render-touching mod?

@andyion negative on another rendering mod. I did remove BetterFPS to test but still experienced the same crash.

This is a known issue and there's honestly not much more I can do.  You can disable the fancy TiCo table render in their config.

That's a strange response. No other mod (that I know) currently has problems with rendering on the TiCo table. The problem is that you are doing GL calls in IBakedModel which is an absolute no-go and can cause problems with other mods too that need to render your blocks like this. The code is here:
https://github.com/aidancbrady/Mekanism/blob/master/src/main/java/mekanism/generators/client/render/item/BakedGeneratorItemModel.java#L63


travis: use openjdk8 and xenial (ubuntu 16.04)

This fixes Travis to use openjdk8 and Xenial (Ubuntu 16.04) as base
distro.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[x] Cleanup (Code refactoring and cleanup, that may add test cases)

This only changes Travis config and does not require smoketests. PR may be merged solely when Travis passes.

Merging this based on Abhishek and Anurag's LGTM and Travis passed.


[Feature request] Avoiding .venv in production

Related to: https://github.com/astral-sh/uv/issues/7341
When making a Docker image with my application I would like to achieve the equivalent of Poetry's POETRY_VIRTUALENVS_CREATE=false to use the only Python interpreter in the container. This would reduce need for consideration over the .venv directory being mixed in the host and in the container (as the container would not have one)

Don't the following satisfy your request:

--system flag:
https://docs.astral.sh/uv/reference/settings/#pip_system
UV_SYSTEM_PYTHON=true environment variable:
https://docs.astral.sh/uv/configuration/environment/

?

Please see https://docs.astral.sh/uv/concepts/projects/#configuring-the-project-environment-path and https://docs.astral.sh/uv/guides/integration/docker/#using-the-environment

This was addressed in https://github.com/astral-sh/uv/pull/6834

Sorry, I saw this but did not connect the dots that it's about that problem, for anyone else, https://github.com/astral-sh/uv/pull/6834#issuecomment-2319253359 this is a perfect solution.

Don't the following satisfy your request:
* `--system` flag:
  [docs.astral.sh/uv/reference/settings#pip_system](https://docs.astral.sh/uv/reference/settings/#pip_system)

* `UV_SYSTEM_PYTHON=true` environment variable:
  [docs.astral.sh/uv/configuration/environment](https://docs.astral.sh/uv/configuration/environment/)

?

Don't see the --system flag in 0.4.9 but I do see --python-preference=only-system
but then when I set ENV UV_PYTHON_PREFERENCE=only-system uv sync --frozen --no-install-project --no-dev still creates .venv
uv --system sync errors out error: unexpected argument '--system' found


Investigate buffer producer speeds

I need to see if the buffer producer could be optimised by some means, creating buffers and concatenating them is a bit slow and I would hope to maybe just write to one buffer instead. Probably need to see about buffers that can grow in size too though, otherwise if such a thing does not exist, maybe just keep the current system?

Using Deno, has plenty of utils and support.


Stop Kernel in Notebook Toolbar - Native Notebook Editor

Users during Python Extension Native Notebook QP (8/8) requested stop kernel as option in notebook toolbar

Closing as the Jupyter extension was able to contribute this 🎉


Horizontal scrolling in a long line?

I just started using fzf-lua so sorry if this sounds like a trivial question (haven't found project discussions section so posting it here).
When for example using FzfLua files, it opens two panes one for file list and one for contents preview. Sometimes the path in the file list is pretty long, so it adds ... to indicate truncated line. Is there a way to horizontally scroll there to see the missing part? Using horizontal arrow keys didn't do it. I figured I can expand the panes with F2 to full width, but that still can potentially hit a very long line.
Thanks!

Unfortuntely, this is controlled by the fzf binary and not fzf-lua, not currently supported and doesn't seem to be a plan to implement such feature: https://github.com/junegunn/fzf/issues/2236.
As mentioned in the above issue you can use --keep-right via fzf_opts:

Can also be set via the setup function

:lua require'fzf-lua'.files({ fzf_opts = { ['--keep-right'] = '' } })


chore: check core contracts storage changes on pr

Resolves: #775
This GitHub action checks pull requests for all core contracts storage changes.

@gitcoindev korba please rebase branch and update it

@gitcoindev korba please rebase branch and update it

GitHub UI allows me to directly merge the pull request. If you want I can do it for you

@gitcoindev korba please rebase branch and update it

GitHub UI allows me to directly merge the pull request. If you want I can do it for you

his fork is outdated https://github.com/gitcoindev/ubiquity-dollar/compare/feature/core-contracts-storage-check...ubiquity:ubiquity-dollar:development


📝 documentation - more explicit wrapper examples

This tripped me up while using Next.js for the first time.
I didn't understand that the withSomething() function had to wrap the configuration object.
So I added an extra comment to each wrapper call to explicitly state that it should wrap the object.
// next.config.js

module.exports = withSass({
  /* config options here */
})

Thanks!


Custom certificate duration and more flexible names

As per request on issue #530 I added the ability to make client certificates last a custom number of days.
I also relaxed the check for characters in the username as suggested in #696.
@Giraffe1966 pointed out that clients starting with dot would be hidden, so I chose just not to allow them.
Similarly, names starting with dash should also not be allowed since they would be interpreted as command line arguments when provided via... command line argument.

Seems alright to me... I've tested the test branch everything seems quite right, merging this PR into test.
Thanks @orazioedoardo


Module 04 - Serverless User Interfaces for Machine Learning Systems.

Hi, I would like to know the set up of hopsworks is done in the .app file while delpoying the gradio app on huggingface. Like how do you login the hopsworks key.

Create your API key in Hopsworks.
Then, create an environment variable in Huggingface spaces called
HOPSWORKS_API_KEY
https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/secrets.png
https://huggingface.co/docs/hub/spaces-overview


Unify session selection logic, Fixes #287

Unify the session loading logic between Telesecop session-lens and AutoSession search so that we always use the session file to load the session (vs relying on changing directory). Set a flag to make sure cwd_change_handling (if enabled) doesn't also try to restore the session This also fixes a session load failure when a session with a git branch name is selected from Telescope session-lens or Autosession search.
Removed the non-functional (as far as I can see) code for buftypes_to_ignore. That code would not bwipeout a buffer if it matched but the buffers get wiped out by the sourcing the session file anyway and having that code generates an error when the buffer is opened in another process which interrupts the session swap. Made the option deprecated and asked anyone using it to report it on GH.

Also fixes #314

Just added a fix for #295 as well

Should be all set now. thanks!

Is these PR will fix this? Thanks very much.

@tan-wei Yes, this should fix loading a git session from either :Autosession search or :Telescope session-lens. Once it's integrated, give it a shot and let us know

@tan-wei Yes, this should fix loading a git session from either :Autosession search or :Telescope session-lens. Once it's integrated, give it a shot and let us know

Wow, great!

Great. Seems all works well now!!!


libxc: init at 2.2.3

Motivation for this change
Libxc is a library with density functionals used by quantum chemistry programs
(e.g. octopus, PR will follow).
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x]  Fits CONTRIBUTING.md.

meta.description should not have a period at the end.
Please configure your editor to delete whitespace at the ends of the lines.
I have fixed this and switched to building a shared library.
Is it important to package the older version 2.2.3 when the current is 4.0.3?

I have fixed the license: it is LGPL 3, not GPL 3.

Sorry for the merge confusion.

I'll clean it up. So, is it important to package the older version 2.2.3 when the current is 4.0.3?

They have three active packages out there at moment. The manual of octopus recommends 2.2.3 at the moment. I'll go with 2.2.3 as stable version for now.


feat: add binaries for kubernetes v1.30.0

What type of PR is this?
/kind feature

What this PR does / why we need it:
add binaries for kubernetes v1.30.0 into VHD
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 56.75%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2909

Relevant Lines:
5126

💛  - Coveralls


Update authentication-authorization-overview.md

updated incorrect image references

@bengimblett

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

NOTE: the images seem to be displaying as intended on https://learn.microsoft.com/en-us/azure/api-management/authentication-authorization-overview ... @K-a-n-n-a-n-K , this article uses the learn platform's :::image::: syntax to call images... likely no hanges are needed.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

looks good

#sign-off

The images display correctly in the live view of the article, so we'll close the PR as correct-as-is.
@K-a-n-n-a-n-K - If the issue persists, please open another PR and add a screenshot to show where the image references are incorrect.


Using monthsShown and minDate together is not working as expected

Describe the bug
When monthsShown is set, the navigation arrows are enabled and the user can view 1 month in the past depending on whats set in minDate e.g if my minDate is set to today (18-02-21) and the user selects a date in march the prev navigation arrow is enabled and the user can navigate to January.
To Reproduce

Given the following implementation

const [startDate, setStartDate] = useState(new Date());
  const today = new Date();
  return (
    <DatePicker
      inline
      selected={startDate}
      onChange={(date) => setStartDate(date)}
      monthsShown={2}
      minDate={today}
    />
  );

Previous arrow is not enabled, Next arrow is enabled
Click any date in March
Previous arrow is now enabled and the user can navigate back to January

Expected behavior
If the minDate is set to new Date("2021", "01", "18") then the user should not be able to view months previous to February.
Code example
https://codesandbox.io/s/react-datepicker-multi-months-uhktw

There is the same problem.
I know it's been a long time, but if you found a solution, could you please share it?😀


Update the path of chip-all-clusters-app into scripts/tests/test_suit…

…es.sh so it can either be runned from CI or from a build from ./gn_build.sh
Problem
./scripts/tests/test_suites.sh uses out/debug/chip-all-clusters-app for the path of the server. Building with ./gn_build.sh usually results into out/debug/standalone/chip-all-clusters-app.
Change overview

This PR update the path of the bash script to make it easier to run the tests suite locally.

Testing

This was tested locally by running ./scripts/tests/test_suites.sh.
The CI changed will be tested by the CI

@Damian-Nordic @LuDuda @andy31415 @jepenven-silabs ?

/rebase

/rebase

@Damian-Nordic @LuDuda @andy31415 ?


The dialog_id specified is invalid or does not exist. Include a valid dialog_id on the URL.

/home/felipe/dialog-nodejs/app.js
i have
var dialog_id = process.env.DIALOG_ID || dialog_id_in_json || 'pizzafelipe';
i create pizzafelipe.js
there
sudo nano /home/felipe/dialog-nodejs/dialogs/pizzafelipe.js

##
  {
	  "pizza_sample_94b6e4d4": {
		  "id": "pizzafelipe",
		  "fullPath": "/dialogs/pizza_sample.xml"
	  }
  }

##

and not work

pizzafelipe is a file and you are supposed to specify a dialog-id

take a look at the documentation https://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/dialog.html


Why does tokenized Kanji features never contains Hiragana ?

I was wondering how come that this 寿司 produces these 名詞,一般,*,*,*,*,寿司,スシ,スシ features and doesn't include すし

Readings are written in katakana (スシ), which can be converted to hiragana (すし) if if that's better for your use-case.


enhancement: Load apps to run directly to the ESP32 and return to MOS with a reset

Matt Heffernan suggested this.

Closing as this is a duplicate of #53


Can't install lwip on Mac OSX 10.10.3:  "Completion callback never invoked!"

I can run everything else fine such as grunt, sass, ruby.
I went through the steps to ensure I installed node-gyp
npm install node-gyp

I do have python, make and gcc installed fine as far as I can tell

I just can't get past this issue.
npm install lwip
\
><EMAIL_ADDRESS>install /Users/******/Documents/repos/*******/node_modules/lwip
> node-gyp rebuild

gyp ERR! Completion callback never invoked!
gyp ERR! System Darwin 14.3.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/******/Documents/repos/******/node_modules/lwip
gyp ERR! node -v v0.12.4
gyp ERR! node-gyp -v v1.0.3
gyp ERR! This is a bug in `node-gyp`.
gyp ERR! Try to update node-gyp and file an Issue if it does not help:
gyp ERR!     <https://github.com/TooTallNate/node-gyp/issues>
npm ERR! Darwin 14.3.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "lwip"
npm ERR! node v0.12.4
npm ERR! npm  v2.10.1
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 6
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the lwip package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls lwip
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/******/Documents/repos/******/npm-debug.log

Note:  I added **** where my names was.

Hmm...when I run this it fails.  Maybe not an issue with lwip.
node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp http GET http://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: connect ETIMEDOUT
gyp ERR! stack     at exports._errnoException (util.js:746:11)
gyp ERR! stack     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
gyp ERR! System Darwin 14.3.0
gyp ERR! command "node" "/usr/local/bin/node-gyp" "rebuild"
gyp ERR! cwd /Users/*****/Documents/repos/****
gyp ERR! node -v v0.12.4
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok

For anyone that has this type of issue in the future, it's usually network related.  Try changing to a different network.  There might be firewalls.  Once I changed it finally worked.  Hope that helps.


Migration database problem

Executing this command Python manager.py migrat to migrate data to MySQL times the following error：
pymysql.err.OperationalError: (1833, "Cannot change column 'id': used in a foreign key constraint 'engine_labeledboxatt_box_id_fef0f2e3_fk_engine_la' of table 'cvat.engine_labeledboxattributeval'")
How can I solve this problem

The problem has been solved
Delete the files in the following two directories with each ___ Cache__, and please do not delete ___. Py
cvat/apps/git/migrations
cvat/apps/engine/migrations
To perform
python manage.py migrate


Fix userlocation setting

Current behaviour
The two command forms:
@PockyBot userlocation set <location> me and
@PockyBot userlocation set <location> @<user1> @<user2>
both result in no visible response, and the users' locations are not updated.
Expected behaviour
The user me should update the userlocation of the user making the request. Multiple users mentioned in a userlocation set command should set the location for each of those users to the specified location.

:tada: This issue has been resolved in version 1.16.2 :tada:
The release is available on:

v1.16.2
GitHub release

Your semantic-release bot :package::rocket:


Added ASCII art logo

Type of changes

[ ] Bug fix
[ ] New feature
[ ] Documentation / docstrings
[ ] Tests
[X] Other

Checklist

[ ] I've run the latest black with default args on new code.
[ ] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[ ] I've added tests for new code.
[X] I accept that @willmcgugan may be pedantic in the code review.

Description
Please describe your changes here. If this fixes a bug, please link to the issue, if possible.
Added ASCII Art logo asset, no code changes.

Fantastic thanks. Not sure where I'll use it yet, but I'll find a place. Should I link to your twitter handle as attribution?

Twitter handle is great (@DanWesely), my ASCII art sig is "dew" (no quotes) if you're pressed for space.

Played around a bit to make it in a more "modern" style, don't know what I prefer tho. I'll have another stab at this over the weekend probably so please give suggestions Dan/Will (feel free to remix too).

  .───────────.
 ╱/___________\╲
 \             /
  \_ o8o88o __/
  ╱88888888888╲
 ·──────┰(.'.)─·
 ║  `.    \ /  ║
 ║   )\___|^|  ║
 `══(________)═´
   (__________)

If my take is more appropriate for whatever excuse Rich can have to display an ASCII logo, Dan's original can be used as a fallback after some system checks. I will colour and style both anyway into ANSI-encoded files for whatever use anywho (could just hard code the resulting Text or Segment objects ofc).
A "dew" or "dew+hon" signature may be out of place for a compact use case, so if we can't find a way to add them to the art there could something like a single char carousel effect? I'll play around with glitter effects too—see this tweet for what I mean.

That looks great. Thanks both! Not sure where I'm going to use this yet, but I have to use it.
@honno Color is perfect. Snake stands out.

Because ANSI tooling kinda sucks for this kind of "precise" art I just re-did my piece manually in Rich markup over at honno/rich-logo heh.


unused css being removed?

if i have rules in my scss that don't apply to any dom elements could it be that they aren't complied? its is a  bit if a problem because i'm adding a class using JS, and the rules don't appear in the complied css file.

@arbel yeah i'm using purgecss. Feel free to customize it or just remove it in postcss.config.js!


Bounding box of SkinnedMeshRenderer support added

Overview
Bounding box does not support SkinnedMeshRenderer. That makes manipulation with models using SkinneMeshRenderer very hard. This PR resolves that issue.
Changes
Added support of bounding box for SkinnedMeshRenderer

Thanks for the PR @lvonasek! Could you also update this code in BoundsControl? The BoundingBox has been deprecated in favor of BoundsControl for awhile now.

Thanks for the PR @lvonasek! Could you also update this code in BoundsControl? The BoundingBox has been deprecated in favor of BoundsControl for awhile now.


Add support for user group dependent stream visibility

For our zulip usage, we have 3 classes of streams:

Public, open to all
Non-public, but intended to be available to all staff
Non-public but available to a subset of staff

For public streams, users can see their existence and leave/join at will. Ideally, the same would be possible for the 2nd category above, by marking a stream as visible+joinable by members of a given user group.
The best workaround right now is probably to add the relevant users to streams in the 2nd category and encourage them to mute if they're not actually interested.
Issue was mentioned here: https://chat.zulip.org/#narrow/stream/9-issues/topic/stream.20visibility/near/742796

@asb just to clarify your specific situation, I assume "staff" is a subset of the non-guest users in your organization?
I do think we'll want to do something of this form, and potentially it's a cleaner approach to or element of subscribing user groups to a stream (in that probably one wants to not block users from unsubscribing from streams)

@asb just to clarify your specific situation, I assume "staff" is a subset of the non-guest users in your organization?

Exactly.

I do think we'll want to do something of this form, and potentially it's a cleaner approach to or element of subscribing user groups to a stream (in that probably one wants to not block users from unsubscribing from streams)

Yes, I think this feature is much more useful than #9480 alone as it allows self-service subscribe/unsubscribe (and indeed, viewing without subscription).

Cool.  There's a good chance we'll end up building some version of this during the summer.

Closing as a duplicate of #10552.


Can't see the environment variables when in light mode

I've patched this issue in a recent commit: https://github.com/hoppscotch/hoppscotch/commit/b95e2b365a330709609e362d73ee9dc86e3fd149.
Kindly hard refresh the app to take effect the recent changes. Do let me know if this issue isn' solved.


uses of face recognition

Facial recognition is used when issuing identity documents and, most often, combined with other biometric technologies such as fingerprints (preventing ID fraud and identity theft). Face match is used at border checks to compare the portrait on a digitized biometric passport with the holder's face.

nimadur


show correct burnt amount in SystemEpochInfoEventV1

Description of change
Show correct burned tokens amount in the SystemEpochInfoEventV1 emitted from the advance_epoch function
Links to any relevant issues
fixes #4114
Type of change

Bug fix (a non-breaking change which fixes an issue)

How the change has been tested
Review only

@valeriyr

One more question, should we update the framework snapshots in this PR?

Since this is going to be merged in protocol/burn_slashed_rewards-RD1, we are going to work in preparation for the protocol upgrade there!

@valeriyr

One more question, should we update the framework snapshots in this PR?

Since this is going to be merged in protocol/burn_slashed_rewards-RD1, we are going to work in preparation for the protocol upgrade there!

It is ok, just want to clarify that without snapshots updated green CI could be misleading because some tests work with the outdated snapshots


Kirstie update (covering the last 3 weeks)

This is an absolutely monster update - I did a LOT in the last few weeks 🙀
Some really good stuff though!
@maxinemack and @sprak0323 - you've been invited to review. Mostly for you to see what I've been up to, but also to see if there are any typos or missing points 😃

Haha! Thank you @maxinemack!
You’ve reminded me that we haven’t written down anywhere that usually the person who submit the PR does the merge.
In this case @sprak0323 may have had comments that I could respond to, so it makes sense for the reviewer to “approve” (or not) but not to complete the PR :smiley:
Thank you though! I’ll get to reviewing yours ASAP (in the park with Luna at the moment :dog::paws:

Hi @sprak0323! Sorry for the slow reply!
Well done on figuring out PR and ASAP! Thank you for having a look around. I made a Git-and-Github.md cheatsheet file in the onboarding repository so please add any things that you find out to that file! It will make life much easier for future students 🚀 🤗
Your suggestions for the Turing Way are really excellent. We want to build up some checklists first so that we have ways of saying "you should do version control, archive your data, put in some tests etc". And once we have those there's a great next step of suggesting some "levels".
The difficult part is that different areas different fields will have very different typical behaviours and so general levels across all of data science is tough!
If you're interested in trying to define them though, I'd be really happy to help....just a little heads up that it's harder than you think 😉
One thing we could do though, is come up with some standards for neuroimaging studies though? That might be a good first step?
As this pull request is closed, the best next place to comment (it was totally right to comment here in the first place!) is on the Turing Way repository (if you want to do something for the Turing way project) or as an issue in this repository. Remember that everything we write here is public, so if you'd rather write something privately then just ping me on slack or email 😸

Thanks @KirstieJane !  I'll contribute to cheatsheet file when I can, and PR and ASAP is just too easy 🤣
This is a great feedback for me!  I now totally agree that building up some checklists is necessary to make the first step of change.


Display hotkeys for Edit/Chat when there is a selection active

VS Code has hotkey hints at the end of the selection:

I've implemented the same functionality for JetBrains:

Test plan
Updated TESTING.md with several tests to ensure the hotkey hint behavior is working as intended.

@danielmarquespt  I found using no spaces around the "+" made it a little cramped:

However it's trivial to remove the spaces if we want.

Somehow wound up with a gazillion unwanted commits on this branch.


fix: fix-flaky-revision-test

This PR updates pre-commit black version and fix FE E2E revision test that was flaky when FE had to fetch lots of collections

Rerunning a flaky BE test!
Paper trail:


Feature Request: Add mutating methods on vectors

It would be great to have a way to do vector operations without allocating more memory.
It's very common when doing graphical programming to have lines like:
vector(x,y).sub(...).normalize().mulitply(...)

It would be great to be able to write this more performantly as:
vector(x,y).subMut(...).normalizeMut().mulitplyMut(...)

Approach 1
Name the mutable methods in the same way as the rest of the lib: .subMut or .subtractMut, addMut
Approach 2
Matter.js takes in as input an output vector to assign the result.
https://brm.io/matter-js/docs/classes/Vector.html

I'm not sure if I should add mutable methods for everything though, I'm trying to balance performance and bundle size, and I'm currently already unhappy with the bundle size. I've been adding mutable & non-allocating methods to the hot paths that I found while implementing pencil, but Vector wasn't used very much compared to Point and Matrix so I've focused my efforts there.
The approach #2 is interesting though, I'll think about it.


Added styling, updated gulpfile

:+1: or :-1: ?

Let's remove the dist folder ...

The /public/css folder contains transpiled css, we can remove it too

lgtm


Mention required OAuth scope in API documentation

The read:org scope is required for the GitHub token used for querying the projects API. We should mention that point int he authentication section of the API documentation.

Fixed with 610006701dffd13ab1748


pathlib._Flavour implementation for URI handling

Starting new issue as requested based on comment in issue #26.

after digging deeper into the code, and exploring the pathlib implementation, I am wondering if UPath would benefit from having something like a _URI_Flavour derived from the pathlib._Flavour class. This might make it easier to have consistent path handling across the fsspec based implementations.

The base class: pathlib._Flavour
The posix implementation: pathlib._PosixFlavour
Here is a list of the members of the class for an idea of what may need to be implemented:
pathlib._PosixFlavour

altsep
casefold
casefold_parts
compile_pattern
gethomedir
has_drv
is_reserved
is_supported
join_parsed_parts
make_uri
parse_parts
pathmod
resolve
sep
splitroot

Of course it probably makes sense to base as much as possible on fsspec functionality, especially considering its ability for url chaining.
Here are some possibly related functions from fsspec.core:

_un_chain
url_to_fs
split_protocol
strip_protocol

A few notes regarding flavours:
With #114 coming up, future versions of universal_pathlib will probably derive from  the pathlib.PathBase base class (probably available in python>=3.13). Support for older pythons (<3.13) will likely be provided through a backport of PathBase in pathlib2 (see: https://github.com/jazzband/pathlib2/issues/70#issuecomment-1652303469)
As far as I understand it, custom "flavour" implementations would then be equivalent to  overriding PathBase.pathmod (see: https://github.com/python/cpython/pull/106533) which is basically using a subset of the public interface of posixpath and ntpath.
This is relevant for providing support for urllib.parse.urljoin-like joining behavior.

See this message about the timeline and back/future-port of the ABC: https://github.com/drivendataorg/cloudpathlib/issues/347#issuecomment-1877496952

see: https://github.com/python/cpython/issues/114575


Set 3 independent grid stacks

Situation
We want to simplify the grid stack project for the first phase. We will not focus on having grid guardians from the community for now. We want to have redundancy and resiliency in a simple manner for now.
Specs
We want to have:

3 independently running full tfgrid stack, running 3 times the same grid stack
running on bare metal (ubuntu), not running on ZOS
using docker compose, not flists nor dashboard apps
set up in a way that it doesn't crash and is reliable
3 different names + DNS for each stack
with a load balancer

Updates
When we need to update the grid to new releases, we can have 1 of the 3 stacks that is updated and we can then test it and see if everything is OK before the other 2 can update with the new release.
Future
Once we have this set up properly, we can think about going commercial or setting up the grid guardian project.
So for now we want to keep it simple and have redundant grid stacks running independently.
Full Grid Stack

Grid stack for each network (done): https://github.com/threefoldtech/grid_deployment/tree/development/docker-compose
Hub (WIP): https://github.com/threefoldtech/grid_deployment/issues/49
Boot Generator (WIP): https://github.com/threefoldtech/grid_deployment/issues/50
Validator code (WIP): https://github.com/threefoldtech/grid_deployment/issues/52

References
WIP being done by @coesensbert and @maxux

Status
@coesensbert has set many mainnet grid stacks.
See info_grid issue for links to stacks: https://github.com/threefoldtech/info_grid/issues/625

current list of mainnet backend stacks

https://dashboard.grid.tf (DE)
https://dashboard.be.grid.tf
https://dashboard.fin.grid.tf
https://dashboard.sg.grid.tf
https://dashboard.us.grid.tf

docs: https://docs.grid.tf/threefold/itenv_threefold_main/src/branch/master/grid_operations/grid_backend/mainnet
no loadbalancer / geo forwarder yet, will update that ticket

all specs satisfied, except the load balancer see: https://github.com/threefoldtech/grid_deployment/issues/56#issuecomment-2312085979
5 independent grid backend stacks deployed
infra docs: https://docs.grid.tf/threefold/itenv_threefold_main/src/branch/master/grid_operations/grid_backend/mainnet
all links: https://github.com/threefoldtech/tf_operations/blob/master/docs/all-grid-v3-links.md
ops ticket: https://github.com/threefoldtech/tf_operations/issues/2649


Eagerly de-duplicating items when submitting request

Resolves #4394
Description

In order to support the packs, we want the request items to be collapsed at save, so the banks only see one line per item in the request.
On save, the request items should be collapsed so that there is only one request item per item.
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

We have added unit tests to cover all the scenario and verified manually by going through the flow on local machine.
Screenshots

Added data migration in #4417. Dunno if that's the right way to do that, but I don't want us to have to worry about data persisting that would fail the newly added validation.

Blerg. Found a place where we can end up adding dup items in the seed: https://github.com/rubyforgood/human-essentials/blob/0b8818493b3c8389fa12babee70baf83e58cbb52/db/seeds.rb#L370-L382

[ ] Will need to pre-sample all the items we intend to add so that we don't end up adding dups.

I'm good for this. Is it blocked on #4417 ?

No, this specific merging action isn't blocked -- it will prevent new duplicates and old-duplicates aren't affected by this since they (contents) aren't edited after create. We still want to de-duplicate the historical records for cleanliness, and it will allow the mailer refactor and a cleaner assumption.


Generating coverage report fails in output-lines with message: ERROR: unmatched string: <

When running xspec -c on my tests, I commonly get ERROR: unmatched string: < when producing the coverage reports. When setting terminate to "no" on the xsl:message, the report appears to be generated, but I am not sure it is still correct.
A small xspec test I am having this issue with is here: https://github.com/jhellingman/tei2html/blob/master/xspec/betacode.xspec. Most of the other test I prepared have the same issue.

Looks like src/reporter/coverage-report.xsl cannot parse DOCTYPE line.


Add extra tests around whether to skip with multiple guards

I was trying to answer a question I had today about whether a resource would be executed when multiple guards are assigned. Unfortunately, I could not find any info on this subject within the web docs. So I checked the specs, and found the resource spec with some relevant tests.
I noticed that there were a few extra tests that could be included to fully answer my question. This pull request adds them.

So I'm pretty sure the AppVeyor build failing is not because of my commit. It looks like it may be failing intermittently on other pull requests. Do we have anyone looking into what my be going on?

:+1:
nice, finally a PR that we don't have to ask for more specs around the use case...
i'm pretty confident appveyor failures aren't your fault...

:+1:

:+1:


labs.play-with-docker.com is not working

Hi!
labs.play-with-docker.com is not working.
Thank you.

Is now resolved? Why this morning is not working?


Circular dependencies broken when records are in different files.

Hello,
I'm trying to define a circular type like this:
alphas.js
const {Record, Array, Lazy, Undefined} = require("runtypes");
const CircleBeta = require("./betas");

const CircleAlpha = Lazy(() =>
    Record({
        betas: Record({
            cat1: Array(CircleBeta),
            cat2: Array(CircleBeta)
        }).Or(Undefined)
    })
);

module.exports = CircleAlpha

const sampleCircle = {
    betas: {
        cat1: [{alphas: [{}, {}]}, {alphas: [{}, {}]}],
        cat2: []
    }
};

betas.js
const {Record, Null, Lazy, Tuple} = require("runtypes");
const CircleAlpha = require("./alphas");

const CircleBeta = Lazy(() =>
    Record({
        alphas: Tuple(Null.Or(CircleAlpha), Null.Or(CircleAlpha))
    })
);

module.exports = CircleBeta

After a few tricks to make ts happy. When I run my code: I got this error:
TypeError: CircleAlpha.Or is not a function
tried to use Null.Or(CircleAlpha) and then I get this error instead:
Error: impossible
Edit: updated the example with sample data. Actually this example works correctly, but I'm still getting this error: TypeError: targetType._innerValidate is not a function with my true data. I going to try to isolate the error.
Edit2: Updated the example again. This time it reproduces my error. It seems that having the schemas in separate files causes TypeError: targetType._innerValidate is not a function. Any idea of what to do? My schemas are very big and I want to have a file for each one.

After testing several circular dependencies solving techniques, I found one that works for my case:
alphas.js:
const {Record, Array, Lazy, Undefined} = require("runtypes");
const CircleBeta = require("./betas");

const CircleAlpha = Lazy(() =>
    Record({
        betas: Record({
            cat1: Array(CircleBeta.CircleBeta),
            cat2: Array(CircleBeta.CircleBeta)
        }).Or(Undefined)
    })
);

const sampleCircle = {
    betas: {
        cat1: [{alphas: [{}, {}]}, {alphas: [{}, {}]}],
        cat2: []
    }
};

module.exports.CircleAlpha = CircleAlpha;

CircleAlpha.check(sampleCircle);

betas.js:
const {Record, Null, Lazy, Tuple} = require("runtypes");
const CircleAlpha = require("./alphas");

const CircleBeta = Lazy(() =>
    Record({
        alphas: Tuple(
            Null.Or(CircleAlpha.CircleAlpha),
            Null.Or(CircleAlpha.CircleAlpha)
        )
    })
);

module.exports.CircleBeta = CircleBeta;

the trick is in the way the records are exported and imported.


Move RetrieveAppNameEnv and ExtractCredentialsJSON and others to non main package

As an third party app developer, I would love to just import some of this logic but right I can cant since it's in the main package.
The logic that gets the VCAP_SERVICES and other env vars could be re-used for other plugins

Hello James, this sounds like a good idea.
My Go language skills are pretty weak though and I'm not sure exactly how to re-work the project to support this. I do not have time to work on this at the moment.
Would you be able to submit a PR with these changes to the project?
Assuming the tests still pass, it should be a simple merge.


[UIE-2] Enable Typescript

This enables using Typescript in Terra UI.

Upgrade Yarn to v3.2.3 for compatibility between Typescript 4.8 and Yarn PnP.
Add Typescript and types packages by following instructions in Create React App's "Adding Typescript" documentation.
Add Yarn Typescript SDK (yarn dlx @yarnpkg/sdks).
Replace jsconfig.json with tsconfig.json.

Most configuration is taken from CRA's Typescript template.
baseUrl and paths are added to make imports from src/... work.
Added noImplicityAny: false to ease migration by allowing a module to be partially type annotated.

Upgrade Typescript ESLint plugin. This package was already included via react-scripts but needed to upgraded for compatibility with Typescript 4.8.
Add @types/lodash.

To use Typescript in a module, change the file's extension from .js to .ts.
In the event of any "Error: Required unplugged package missing from disk" errors, run yarn to update packages.
Build time
Longer build time for the first build after switching branches is probably due to Babel / Webpack caches.
 Not sure what else to measure here besides webpack output.
Before
webpack 5.70.0 compiled successfully in 335 ms
webpack 5.70.0 compiled successfully in 311 ms
webpack 5.70.0 compiled successfully in 264 ms
webpack 5.70.0 compiled successfully in 528 ms
webpack 5.70.0 compiled successfully in 280 ms

After
webpack 5.70.0 compiled successfully in 344 ms
webpack 5.70.0 compiled successfully in 417 ms
webpack 5.70.0 compiled successfully in 268 ms
webpack 5.70.0 compiled successfully in 279 ms
webpack 5.70.0 compiled successfully in 251 ms

Notes
Since type checking runs in parallel with the build, there can be a slight delay between the build succeeding and the browser reloading and type checking failing. Type checking errors are shown inline in the browser.

This behavior can be changed by running TSC_COMPILE_ON_ERROR=true yarn start, which will show type errors in the console but still build and run the app in the browser.
https://create-react-app.dev/docs/advanced-configuration

@msilva-broad I had done some work on improving types for react-hyperscript-helpers in 0283a0f00e391e522efa83b46c8b776e268269b0. Should that be added to this PR?

@nawatts This branch is pretty out-of-date now, so it would probably be good to rebase.


Handling React state management with Hookstate

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Proposed title of article
Handling React state management with Hookstate
Introduction paragraph (2-3 paragraphs):
Building React applications has a major challenge with managing state. Many libraries such as redux exist but are highly opinionated forcing us to use actions and reducers.
This is where Hookstate library comes in to simplify state management in React apps. Hookstate works almost exactly like the React useState Hook. It utilizes React hooks, and a couple of other impressive techniques to deliver great development experience and performance. Among its advantages include:

First-class Typescript support
Plugins System making it easy to use, add features and feature-rich
Development Tools to trace, set state values, and breakpoints on state changes

Key takeaways:

Setting up Hookstate in React
A guide on Hookstate and its features
Building a React application with Hookstate
Creating, updating, and handling events and global store in Hookstate

References:
Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

@marienjus
Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

@marienjus
Sounds like a helpful topic - lets please be sure it add value beyond what is in the official docs and what is covered in other blog sites.
Please be sure to double check that it does not overlap with any existing EngEd articles or incoming topic suggestions (if you haven't already) to avoid any potential article closure, please reference any relevant EngEd articles in yours. - Approved

Had closed due to my inactivity as the platform recommends


Not able to contribute

I am not able to contribute into project (I could not create PR). Please checkout these changes as project has very old dependencies.
https://github.com/Karumi/Shot/compare/master...vudzkostek:update_project?expand=1

Hi @vudzkostek, your branch update_project is 81 commits behind the current master branch, you need to fetch the last changes from master.

How is it possible if I forked project yesterday and started from master? I don't see chanhes on master from yesterday so I should be up to date. Nevertheless, I will check later and fix it, and then close issue

@tonilopezmr my bad, I am trying to cobtribute to Kata code, not shot, but by mistake I've reported issue here

@vudzkostek I'm checking your link and I don't get why you can not send the PR. Anyway, we are not interested in updating any dependency on the example projects, so please, do not implement these changes. I'm closing this issue.

@vudzkostek In the future if you want to do a PR from a fork take a look at https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork


feat: add a simp attribute to isUnit_iff_ne_zero

!bench
I think this is useful. I don't expect any performance problems, but let's check to be sure.

!bench

Not sure about the output (does this single lemma really increase linting time that much)?
But I think this lemma is fine.
bors merge


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_fa41ec4d-9a12-4110-85e6-42ccc494512c/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_fa41ec4d-9a12-4110-85e6-42ccc494512c.git

Docs Build status updates of commit 5f62bb8:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_master_2021-06-10-05-59-53 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


lily_find_function should support dotted names.

It currently doesn't support lookups through modules (ex: sys.getenv) or lookups through a class (ex: Integer.to_s). The interpreter should make sure that the name given is an identifier throughout (no hidden lambdas, etc.). Dotted lookup should still occur from the context of the first file/string loaded.

Closing this as part of the gitlab migration: https://gitlab.com/FascinatedBox/lily/issues/357


Can I use button instead navbar to show panels?

I want to replace the navbar and use buttons for different panels [Widgets]. Is it possible to do that?
Thank you.

Should be doable.
Do you need the accordion functionality where just one panel is ever open at a time and the others auto-close when a new one is selected? If so, you should just need to change the selector here to listen to clicks on your buttons and then it will sync up all the panels. Set this when you load the calcite-maps library.
If you don't need the auto-close functionality, just wire up the buttons to each panel the standard way using bootstrap. You might need a separate panel container for the non-auto-closing panels.


Let's Encrypt / Certbot integration

For proper SSTP need valid HTTPS certificate. It's possible to obtain certificate for xxxx.softether.net only if 443 port is open. There are ability to register certificate without exposing 443 port - just via DNS records:
https://community.letsencrypt.org/t/dns-based-challange-for-verification-of-letsencrypt-ssl-certs/28561/6
So need to modify SoftEther DynDns implementation

I think you are confused, as Let's Encrypt HTTP challenge requires you to listen the port 80, not 443. Put a web server such as NGINX, it won't interfere with SSTP 443 and let certbot put his challenges there with the webroot method. It will work like a charm.
Furthermore, if you want to automatically renew your SoftEther VPN SSTP certificate, you can automate it via CRON and vpncmdclient, though you will have to expose your server password in a file, that is dangerous. More information here (sorry, spanish only)

the question is answered. can we close the issue ?
or maybe you are going to do some PR ?

Looks like SoftEther isn't well-integrated with Let's Encrypt at the moment, which could be a nice feature for those VPNs which require a valid cert (say, SSTP).
The reply above mentions nginx, certbot, cron and vpncmd in one combination, which is four pieces of software too many for managing such a routine task as getting a required cert from a de-facto standard provider for running SoftEther primary features.
It feels like SoftEther could listen on 80 and do the full trick on its own, every two months. I mean, it's already a great swiss army knife with many servers inside, would be nice to enable cert handling with just setting a few more options.

I wholeheartedly agree this would be an amazing and much needed feature.  Seems like people are already able to do it pretty in a scripted fashion too based on the below.
https://serverfault.com/questions/1019499/can-we-use-ca-signed-certificate-like-lets-encrypt-in-softether-vpn-server

Automatic renewal can only be done with a certbot plugin. It's not the responsibility of the server implementation, not Apache, nginx, nor Softether.
You can either use the above mentioned script-based approach or write your own plugin for certbot.

Nobody said it was the responsibility of softethervpn, but it would be handy if it was supported. There are tons of other things that aren't even webservers and need ssl automated which also interface with or automate the SSL renewal process. I totally get its probably not super high on anyone priority list so not a big deal.
I have actually written a script and it worked beautifully to renew and import.
I found out the issue here is that viscosity and openvpn clients do NOT like the ssl from LE. I finally stumbled on this when trying to figure out why openvpn ssl verify would fail no matter what: https://www.sparklabs.com/forum/viewtopic.php?t=2453
It worked fine for SoftEther VPN client, but all the others failed even with the LE CA intermediate and fullchain provided in the client conf inline and in order. So i ended up abandoning it since self signed or commercial CA seem to work better.
In case anyone does find it useful since its already coded and universal might as well share it here since i spent most of my afternoon writing and testing it.
Standalone script which can be set as cron with credentials in the same file.
#!/usr/bin/env bash

# Source Reference: https://calnus.com/2017/07/09/autorenovacion-de-certificado-de-softether-vpn-con-lets-encrypt/
# touch ${HOME}/softethervpn-renew-letsencrypt.sh
# chmod +x ${HOME}/softethervpn-renew-letsencrypt.sh

####### Begin Config ########
# adminhub . The HUB in which we will operate by default. I have put AZURE, but it will be the one you have in your configuration
HUBNAME="AZURE"
# PASSWORD . The HUB administrator password.
ADMIN_HUB_PASSWORD="passworddeadministrador"
# Hostname for the SSL for softethervpn
VPN_HOSTNAME="vpn.calnus.com"

# recommended to use config file and source it defining the path below will allow it to be sourced instead if it exists
CONFIG_FILENAME="${HOME}/softhervpn-hub-creds.sh"
####### Begin Config ########

echo
# Below loads the config if it exists which will overwrite the variables above so the script can be reused and the config sourced for credentials.
if [ -f "${CONFIG_FILENAME}" ]
then
    if [ -s "${CONFIG_FILENAME}" ]
    then
        echo "Config File: ${CONFIG_FILENAME} exists and not empty. Sourcing now..."
		source "${CONFIG_FILENAME}"
    else
 echo "Config File: ${CONFIG_FILENAME} exists but empty. Skipping sourcing"
    fi
else
    echo "Config File: ${CONFIG_FILENAME} not exists. Skipping sourcing"
fi

echo

# If VPN_HOSTNAME is not set from script or config lets use hostname then as a fallback if it resolves.
if [[ -z "$VPN_HOSTNAME" ]]; then
	# Get hostname from host
	HostName=$(hostname --fqdn)
	# If hostname resolves externally use this by default for the VPN_HOSTNAME
	if [ -n "$(dig @<IP_ADDRESS> +short "${HostName}")" ]; then
		echo "${HostName} resolves to a valid IP"
		VPN_HOSTNAME=$HostName
	fi
fi

# Renew certificate
certbot renew --quiet

# Uncomment the below to see command echo'd vs executed to confirm it looks as expected before run
#echo ; echo "Command that would been run: "; echo "/usr/local/vpnserver/vpncmd /server localhost /adminhub:"${HUBNAME}" /PASSWORD:"${ADMIN_HUB_PASSWORD}" /CMD ServerCertSet /LOADKEY:/etc/letsencrypt/live/"${VPN_HOSTNAME}"/privkey.pem /LOADCERT:/etc/letsencrypt/live/"${VPN_HOSTNAME}"/cert.pem"

echo "Checking SoftherVPN ServerInformation with provided password via DEFAULT value"
softethervpn_auth_check=$(/usr/local/vpnserver/vpncmd /server localhost /password:${ADMIN_HUB_PASSWORD} /adminhub:DEFAULT /cmd ServerInfoGet)

if [ $? -eq 0 ]; then
	echo "${softethervpn_auth_check}"
	echo "Successfully authenticated via admin hub. Importing Certificate now.."
	# Import Certificate
	/usr/local/vpnserver/vpncmd /server localhost /adminhub:"${HUBNAME}" /PASSWORD:"${ADMIN_HUB_PASSWORD}" /CMD ServerCertSet /LOADKEY:/etc/letsencrypt/live/"${VPN_HOSTNAME}"/privkey.pem /LOADCERT:/etc/letsencrypt/live/"${VPN_HOSTNAME}"/cert.pem
else
	echo "Authenticated failed please check password is specified correctly in config and rerun script" >&2
fi

If you want to keep credentials separate just create the config file like below and update the above with its path and when its sourced it will override any defaults set.
#!/usr/bin/env bash

# touch ${HOME}/softhervpn-hub-creds.sh
# chmod +x ${HOME}/softhervpn-hub-creds.sh

####### Begin Config ########
# adminhub . The HUB in which we will operate by default. I have put VPN, but it will be the one you have in your configuration
HUBNAME="VPN"
# PASSWORD . The HUB administrator password.
ADMIN_HUB_PASSWORD="differentadminpass"
# Hostname for the SSL for softethervpn if not set at OS level level.
VPN_HOSTNAME=""
####### Begin Config ########

# Export variables so they can be sourced in cron script
export HUBNAME
export ADMIN_HUB_PASSWORD
export VPN_HOSTNAME

You are mixing up two things.
Certificate renewal can't be done with softether and there's nothing can be done as it's a certbot thing.
OpenVPN authentication with intermediate certificates is an issue of softether but it's irrelevant with the original issue and should be opened in a new thread.

Moreover, your script does not integrate with certbot. Of course you can schedule it with cron but certbot has its own renewal function and has already provided a deploy hook for exactly the situation like this.
My suggestion is not calling certbot renew by yourself but put your script in the deploy hook folder of certbot. That will have these benefits.

Certificates are only renewed when necessary
Server certificates are only replaced when the renewal is successful

Certbot documentation is here:
https://certbot.eff.org/docs/using.html#renewing-certificates

Automatic renewal can only be done with a certbot plugin. It's not the responsibility of the server implementation, not Apache, nginx, nor Softether.
You can either use the above mentioned script-based approach or write your own plugin for certbot.

Just a note to add to the confusion, Apache HTTP Server actually has the module mod_md since version 2.4.30 from February 2018:

Managing domains across virtual hosts, certificate provisioning via the ACME protocol
This module manages common properties of domains for one or more virtual hosts. Its serves two main purposes: for one, supervise/renew https: certificates via the ACME protocol (RFC 8555). Certificates will be renewed by the module ahead of their expiration to account for disruption in internet services. There are ways to monitor the status of all certificates managed this way and configurations that will run your own notification commands on renewal, expiration and errors.

Yeah I agree @paulmenzel . Not sure why there seems to be "tension" from @domosekai  about this being suggested.... and that it has to be some certbot whatever.
I literally provided modular reusable script which could easily be called whatever such as a "certbot" script which you could hook into renewal events to reimport the new cert.
To be super clear if you want it as a post-hook or whatever that is totally possible and not much difference. the fact it is so easy shows that integrating something so simple could easily be done even if its not on a cron if it were built in and the service restarts and has an expired or near expiry cert it could call the renewal script via the os provided certbot binary.....
It is literally small potatoes to add one line to the cron file with however you wanted to call it....
Setting a cron Weekly: https://crontab.guru/#5_1___0
5 1 * * 0 bash ${HOME}/softethervpn-renew-letsencrypt.sh
Would be the same as taking the certbot renew --quiet command out and doing this
5 1 * * 0 certbot renew --quiet --deploy-hook ${HOME}/softethervpn-renew-letsencrypt.sh
Updated the original script in post above with the suggestions and alternative options.  Setting a cron for the script was kinda an assumed thing that would obviously be needed if someone was going to do it which is why i didn't mention it originally. I have added that for clarity in case people are not familiar with scripting and whatnot.

I believe it’s only right – especially for security things – to question, if something needs to be implemented and if existing alternatives are better. I have not dug into the issue, so cannot comment.

I apologize if my English is not enough to convey what I meant. In plain words, if you would like to implement ACME in softether, fine, do it. That's not trivial though.
But if you are going to stick with existing solutions like certbot, I recommend do it in the certbot way instead of scheduling your own script with cron.

I believe most of this issue of Let's encrypt integration will be solved if SoftEtherVPN refers to the certificate path and reads the certificate rather than register copies to its configuration file.
Currently, the certificate and the private key are stored in the configuration file.
                byte ServerCert MIIDvjCCAqagAwIBAgIBADANBgkqhkiG9w0BAQsFA(snip)
                byte ServerKeybyte ServerKey MIIEpAIBAAKCAQEA2kp1YOLLU/DSB(snip)

I suggest switching from stored certificates to the stored paths.
                string ServerCertPath /path/to/certificate
                string ServerKeyPath /path/to/privkey

Are there any security reasons SoftEtherVPN stores copies of certificates rather than storing their paths?

I think it's just for convenience because you can copy a single file and retain the entire configuration.
However, adding support for reading the certificate from a file is very easy. Automatic reloading when the file changes would be nice as well.

Nobody said it was the responsibility of softethervpn, but it would be handy if it was supported. There are tons of other things that aren't even webservers and need ssl automated which also interface with or automate the SSL renewal process. I totally get its probably not super high on anyone priority list so not a big deal.
I have actually written a script and it worked beautifully to renew and import.
I found out the issue here is that viscosity and openvpn clients do NOT like the ssl from LE. I finally stumbled on this when trying to figure out why openvpn ssl verify would fail no matter what: https://www.sparklabs.com/forum/viewtopic.php?t=2453
It worked fine for SoftEther VPN client, but all the others failed even with the LE CA intermediate and fullchain provided in the client conf inline and in order. So i ended up abandoning it since self signed or commercial CA seem to work better.
In case anyone does find it useful since its already coded and universal might as well share it here since i spent most of my afternoon writing and testing it.
Standalone script which can be set as cron with credentials in the same file.
#!/usr/bin/env bash

# Source Reference: https://calnus.com/2017/07/09/autorenovacion-de-certificado-de-softether-vpn-con-lets-encrypt/
# touch ${HOME}/softethervpn-renew-letsencrypt.sh
# chmod +x ${HOME}/softethervpn-renew-letsencrypt.sh
# Setting a cron Weekly: https://crontab.guru/#5_1_*_*_0
# Crontab to set via `crontab -l`
# 5 1 * * 0 bash ${HOME}/softethervpn-renew-letsencrypt.sh

####### Begin Config ########
# adminhub . The HUB in which we will operate by default. I have put AZURE, but it will be the one you have in your configuration
HUBNAME="AZURE"
# PASSWORD . The HUB administrator password.
ADMIN_HUB_PASSWORD="passworddeadministrador"
# Hostname for the SSL for softethervpn
VPN_HOSTNAME="vpn.calnus.com"

# recommended to use config file and source it defining the path below will allow it to be sourced instead if it exists
CONFIG_FILENAME="${HOME}/softhervpn-hub-creds.sh"
####### Begin Config ########

echo
# Below loads the config if it exists which will overwrite the variables above so the script can be reused and the config sourced for credentials.
if [ -f "${CONFIG_FILENAME}" ]
then
    if [ -s "${CONFIG_FILENAME}" ]
    then
        echo "Config File: ${CONFIG_FILENAME} exists and not empty. Sourcing now..."
		source "${CONFIG_FILENAME}"
    else
 echo "Config File: ${CONFIG_FILENAME} exists but empty. Skipping sourcing"
    fi
else
    echo "Config File: ${CONFIG_FILENAME} not exists. Skipping sourcing"
fi

echo

# If VPN_HOSTNAME is not set from script or config lets use hostname then as a fallback if it resolves.
if [[ -z "$VPN_HOSTNAME" ]]; then
	# Get hostname from host
	HostName=$(hostname --fqdn)
	# If hostname resolves externally use this by default for the VPN_HOSTNAME
	if [ -n "$(dig @<IP_ADDRESS> +short "${HostName}")" ]; then
		echo "${HostName} resolves to a valid IP"
		VPN_HOSTNAME=$HostName
	fi
fi

# Renew certificate directly via script
# certbot renew --quiet

# Alternatively you could call the script as post hook in a cron if thats more to your liking
# 5 1 * * 0 certbot renew --quiet --deploy-hook ${HOME}/softethervpn-renew-letsencrypt.sh

# Uncomment the below to see command echo'd vs executed to confirm it looks as expected before run
#echo ; echo "Command that would been run: "; echo "/usr/local/vpnserver/vpncmd /server localhost /adminhub:"${HUBNAME}" /PASSWORD:"${ADMIN_HUB_PASSWORD}" /CMD ServerCertSet /LOADKEY:/etc/letsencrypt/live/"${VPN_HOSTNAME}"/privkey.pem /LOADCERT:/etc/letsencrypt/live/"${VPN_HOSTNAME}"/cert.pem"

echo "Checking SoftherVPN ServerInformation with provided password via DEFAULT value"
softethervpn_auth_check=$(/usr/local/vpnserver/vpncmd /server localhost /password:${ADMIN_HUB_PASSWORD} /adminhub:DEFAULT /cmd ServerInfoGet)

if [ $? -eq 0 ]; then
	echo "${softethervpn_auth_check}"
	echo "Successfully authenticated via admin hub. Importing Certificate now.."
	# Import Certificate
	/usr/local/vpnserver/vpncmd /server localhost /adminhub:"${HUBNAME}" /PASSWORD:"${ADMIN_HUB_PASSWORD}" /CMD ServerCertSet /LOADKEY:/etc/letsencrypt/live/"${VPN_HOSTNAME}"/privkey.pem /LOADCERT:/etc/letsencrypt/live/"${VPN_HOSTNAME}"/cert.pem
else
	echo "Authenticated failed please check password is specified correctly in config and rerun script" >&2
fi

If you want to keep credentials separate just create the config file like below and update the above with its path and when its sourced it will override any defaults set.
#!/usr/bin/env bash

# touch ${HOME}/softhervpn-hub-creds.sh
# chmod +x ${HOME}/softhervpn-hub-creds.sh

####### Begin Config ########
# adminhub . The HUB in which we will operate by default. I have put VPN, but it will be the one you have in your configuration
HUBNAME="VPN"
# PASSWORD . The HUB administrator password.
ADMIN_HUB_PASSWORD="differentadminpass"
# Hostname for the SSL for softethervpn if not set at OS level level.
VPN_HOSTNAME=""
####### Begin Config ########

# Export variables so they can be sourced in cron script
export HUBNAME
export ADMIN_HUB_PASSWORD
export VPN_HOSTNAME

Any new solutions?Vpncmd commands not working for new version


neomutt: wrapProgram to add lib/neomutt to PATH

This is needed to have the auxillary tools pgpewrap, pgpring and smime_keys in PATH.
Fixes #31609.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Does this need to be ported to stable?

Would be nice to have :-)

done

Thanks!


Feature Request - Commit.toJSON()

I often find myself building a large promise chain to get the full data out of a commit, which eventually looks like commitData[iDiff][iPatch][iHunk][iLine]. It would be really great to have a method like commit.toJSON() that would just dump all of that at once.

:+1: