path2.isCCW

All Submissions:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Does your submission pass tests?

I have not found  function to check if path CW/CCW . Here is proposed function usually found on stackoverflow and similar.
if there is one already ... my bad :)

code in operations/hulls/hullpoints2.js should be also considered as it has a shortcut version for 3 points
const ccw = (i1, i2, i3) => (points[i2][0] - points[i1][0]) * (points[i3][1] - points[i1][1]) - (points[i2][1] - points[i1][1]) * (points[i3][0] - points[i1][0])

and it check versus Number.EPSILON
while (ccw(stack[M - 1], stack[M], stack[i]) < Number.EPSILON)

so the question is if implementation in this PR matches that one. It would be bad if they give different result in some cases, and it needs checking in that case which result is correct.

This is going to take a little bit of a discussion.
Should the library even try to determine handedness for paths?
In general, paths can have any shape, including paths that cross itself, open paths, closed paths, left flowing, right flowing, etc. There's no real 'direction'. And even closed paths are really nothing more.
However, users want to use paths to define shapes. These are easy to understand and construct. And sometimes, mistakes are made.
What can make paths easier to use?
Obviously, the handedness of a path becomes useful, as the proper order of points allows the path to be used in other functions, i.e. expansions, conversions, etc.
Even internally, some calculations are being performed. See expandPath2() and offsetFromPoints() in expansions.
A few utilities might be useful for both paths and 2D geometries.
What to do about mistakes?
User will make mistakes. There are some checks for parameters but nothing for point sets, etc. It's basically up to the user to supply properly ordered points, etc. And if there are errors then something deep down usually goes wrong. The error may be irrelevant or nothing at all.

My intention was not to use this all over the place to check every input. But when  writing a scrpt and i have unreliable source of paths i need this utility function. Also it was necessary for dealing with true type fonts to recognize holes.

Should the library even try to determine handedness for paths?

No. It wuold be detrimental to performance.

What can make paths easier to use?

I would welcome other useful utilities.

What to do about mistakes?

User gets unexpected result, then uses forums, user groups, docs, tutorials, stackoverflow. No automatic fixing as it is expensive in my opinion.

@z3dev just a reminder, to review or comment further 😃

Just some more information. This is not trivial, as makerjs is finding out.
https://github.com/microsoft/maker.js/issues/512

Just some more information. This is not trivial, as makerjs is finding out.
microsoft/maker.js#512

Not sure what you are referring to.
I am noticing an issue makerjs has that we do not "Fonts are imported as Bezier curves, which are then converted to arcs" and it does not preserve directions. We just generate points and I doubt we are destroying information.
Also I am interested if you think the function itself is difficult, and what issues are you seing with it ?

Closed in favor of a discussion page #929


Support folder icons everywhere

Right now folder icons can only be changed in the Bookmarks pane, and don't show anything in the Files pane.

Bookmark groups are also missing this feature.
Since they don't have a fileId - just a name - the settings interface will need a new object for them.

Implemented as the result of 3 commits:

feat: add custom icons to file pane menus https://github.com/gfxholo/iconic/commit/8d8970dca0170570bc40be7baeeb2184e7c259b0
feat: show folder icons & colors in file explorer https://github.com/gfxholo/iconic/commit/93f060362e9d08544f87c832a8463a800baf27d6
feat: support icons & colors for bookmark groups https://github.com/gfxholo/iconic/commit/d9467c4ecd02d539a772fd12c4ba56d48e6ded52


[CWS] Add CWS 7.51 release notes

What does this PR do?
Add 7.51 release notes for CWS.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided. Except if the qa/skip-qa label, with required either qa/done or qa/no-code-change labels, are applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

/merge

Hey 👋, you'll need to update this PR with the latest main (that includes a fix for the failures you currently have: https://github.com/DataDog/datadog-agent/pull/21894).


F# support: Add file above and Add file below

Motivation
I'd like to smooth the F# experience using Visual studio as a guide.
Since F# file order matters, it common to right click a file and use Add Above or Add Below.

Desired Solution
I'd like to add context menu options for the most common actions: Create File Above and Create File Below. This excludes the exiting item flow present in Visual Studio and avoids a layer of menu nesting.
These options should only be available for fsproj files, not csproj or other project types. They should be available for any file type within an fsproj, but not on folders or other tree item types. In terms of existing types, only on a ProjectFileTreeItem that belongs to an fsproj project.
Challenges
Language-specific menu items
I explored what it would take to have language-specific context menu items.

Context menu items are decided in the package.json using when statements.
It seems the only tree context we have is viewItem which is a string takin from TreeItem.contextValue
There does not appear to be an event fired on right click such that we set custom context (i.e. vscode.commands.executeCommand('setContext',)

right click also does not trigger onDidChangeSelection

With this in mind. It appears the only route forward is to add language to TreeItem.contextValue. However, most commands are common between languages. This means most every command that currently supports ContextValues.projectFile would now need a registration for files in every supported language. Doable, but it has potential to significantly increase complexity of allowed context logic.
Positional Create file
We'd need to modify the createFile call chain to add context for where the file should be added in the proj file.
Again, doable, but not a trivial change.
Conclusions
I'm not sure this is worth adding language-specific context items at this time.
#268 and #269 may already make for a decent F# experience. Users can add files then open the project file if they want to change the order.
Questions

Did I miss an easier way to support language-specific menu items?
Are there other desired language-specific actions?
How do others feel about the complexity/benefit tradeoff?

This is not exactly the same requirement but I think that by adding the commands to move a file up or down, we cover the requested use case:

That's fantastic! With this it's quick to move a file into place even if it gets created at the bottom.
I opened a PR for a potential missed behavior permission #273
Also, I'm realizing my previous F# sorting conditional was redundant.
I guess I must not have done enough testing beforehand. Thanks for catching that!
I think this also sets the pattern for add above/below. I'll take a look.


error ın test_lanenet

Hi!  I can't run test_lanenet.py. But I have an error.  In test_lanenet.py folder, this error is  " TypeError: Dimension value must be integer or None or have an index method, got value '3.0' with type '<class 'float'>' ". I think  "ınput_tensor " variable cause error. ( input_tensor = tf.placeholder(dtype=tf.float32, shape=[1, 256, 512, 3], name='input_tensor') )
How I solve this problem?

Traceback (most recent call last):
File "./lanenet-lane-detection-master/tools/test_lanenet.py", line 164, in
test_lanenet('0.jpg',"lanenet-lane-detection-master/tusimple_lanenet")
File "./lanenet-lane-detection-master/tools/test_lanenet.py", line 94, in test_lanenet
binary_seg_ret, instance_seg_ret = net.inference(input_tensor=input_tensor, name='LaneNet')
File ".\lanenet-lane-detection-master\lanenet_model\lanenet.py", line 47, in inference
extract_feats_result = self._frontend.build_model(
File ".\lanenet-lane-detection-master\lanenet_model\lanenet_front_end.py", line 43, in build_model
return self._net.build_model(
File ".\lanenet-lane-detection-master\semantic_segmentation_zoo\bisenet_v2.py", line 1053, in build_model
detail_branch_output = self.build_detail_branch(
File ".\lanenet-lane-detection-master\semantic_segmentation_zoo\bisenet_v2.py", line 872, in build_detail_branch
result = block_op(
File ".\lanenet-lane-detection-master\semantic_segmentation_zoo\bisenet_v2.py", line 824, in _conv_block
result = self.conv2d(
File ".\lanenet-lane-detection-master\semantic_segmentation_zoo\cnn_basenet.py", line 72, in conv2d
w = tf.compat.v1.get_variable('W', filter_shape, initializer=w_init)

@zeynep-dmrl Follow readme's instruction and check if you have used the right command:）

@zeynep-dmrl Follow readme's instruction and check if you have used the right command:）

@zeynep-dmrl I'm getting the same issue and can't figure out what exactly I did wrong.

@zeynep-dmrl I'm getting the same issue and can't figure out what exactly I did wrong.

@sabih411 I couldn't find solution for this issue

@sabih411 I couldn't find solution for this issue

This problem may be occur due to tensorflow version. When i use tensorflow only 1.12.0 this properly work , not work with 1.13 or another i think.

I met the exactly same problem recently, and I found this is because the type of member of filter_shape( w = tf.compat.v1.get_variable('W', filter_shape, initializer=w_init) ) is wrong. Just turn the 'float' element to 'int', the problem would be fixed. The specific modifications are as follows:
semantic_segmentation_zoo\cnn_basenet.py (about line 50 ~ 60)
        if isinstance(kernel_size, list):
            filter_shape = [kernel_size[0], kernel_size[1]] + [in_channel / split, out_channel]
        else:
            filter_shape = [kernel_size, kernel_size] + [in_channel / split, out_channel]
            print(type(in_channel / split))

change it to
if isinstance(kernel_size, list):
filter_shape = [kernel_size[0], kernel_size[1]] + [int(in_channel / split), out_channel]
else:
filter_shape = [kernel_size, kernel_size] + [int(in_channel / split), out_channel]
print(type(in_channel / split))

I met the exactly same problem recently, and I found this is because the type of member of filter_shape( w = tf.compat.v1.get_variable('W', filter_shape, initializer=w_init) ) is wrong. Just turn the 'float' element to 'int', the problem would be fixed. The specific modifications are as follows:
semantic_segmentation_zoo\cnn_basenet.py (about line 50 ~ 60)
    if isinstance(kernel_size, list):
        filter_shape = [kernel_size[0], kernel_size[1]] + [in_channel / split, out_channel]
    else:
        filter_shape = [kernel_size, kernel_size] + [in_channel / split, out_channel]
        print(type(in_channel / split))

change it to
I met the exactly same problem recently, and I found this is because the type of member of filter_shape( w = tf.compat.v1.get_variable('W', filter_shape, initializer=w_init) ) is wrong. Just turn the 'float' element to 'int', the problem would be fixed. The specific modifications are as follows:
semantic_segmentation_zoo\cnn_basenet.py (about line 50 ~ 60)
    if isinstance(kernel_size, list):
        filter_shape = [kernel_size[0], kernel_size[1]] + [in_channel / split, out_channel]
    else:
        filter_shape = [kernel_size, kernel_size] + [in_channel / split, out_channel]
        print(type(in_channel / split))

change it to
    if isinstance(kernel_size, list):
        filter_shape = [kernel_size[0], kernel_size[1]] + [int(in_channel / split), out_channel]
    else:
        filter_shape = [kernel_size, kernel_size] + [int(in_channel / split), out_channel]
        print(type(in_channel / split))

I met the exactly same problem recently, and I found this is because the type of member of filter_shape( w = tf.compat.v1.get_variable('W', filter_shape, initializer=w_init) ) is wrong. Just turn the 'float' element to 'int', the problem would be fixed. The specific modifications are as follows:
semantic_segmentation_zoo\cnn_basenet.py (about line 50 ~ 60)
if isinstance(kernel_size, list):
    filter_shape = [kernel_size[0], kernel_size[1]] + [in_channel / split, out_channel]
else:
    filter_shape = [kernel_size, kernel_size] + [in_channel / split, out_channel]
    print(type(in_channel / split))

change it to
if isinstance(kernel_size, list):
    filter_shape = [kernel_size[0], kernel_size[1]] + [int(in_channel / split), out_channel]
else:
    filter_shape = [kernel_size, kernel_size] + [int(in_channel / split), out_channel]
    print(type(in_channel / split))


Bug fixes related to file paths

Made the hosting model slightly more flexible by fixing bugs related to how files are looked up.
Specifically around CORS, Stencil files and the Dropbox and OneDrive .js files

Merged via main repo.


Activating LND wallets as secondory option when running C-Lightning

To be tested:

activate LND mainnet in Settings menu, answere PassordC setting & get shown seed words
activate LND testnet and check seedwords in seedwords.info file

Fixing this in https://github.com/rootzoll/raspiblitz/pull/2536 and testing

[ ] activate LND mainnet in Settings menu, answere PassordC setting & get shown seed words
[ ] activate LND testnet and check seedwords in seedwords.info file

ok, tests are successful, merging https://github.com/rootzoll/raspiblitz/pull/2536


Add a block to look for OpenSSL when pkconfig is not defined.

(Sadly) AIX is no longer a supported platform - and as AIX does not have pkconfig installed, the current checks for OpenSSL will never find OpenSSL - even though it is there.
This patch is an extract from the autoconf macro AX_CHECK_OPENSSL - that bases it's find on finding ssl.h.

@aixtools OK, so I am uncomfortable taking the OpenSSL tests from the autoconf archive verbatim, and the test needs to define the TLSFLAGS, TLSLIBS, have_tls, and with_tls variables. Also, we really need to use a linking check, otherwise cross-compilation and installations in other directories will break, badly.

I added several comments in #375 - re the steps I took to get it to build for 98% (the manual bit was to create the libcups.a by adding both the 32-bit lib*.so.2 and later the 64-bit lib*.so.2 files.
So, for OpenSSL - I saw that, in any case, the TLSLIBS needed to be added. In this case TLSFLAGS was not needed, but if the entire AX_CHECk_OPENSSL macro was adopted you could also add --with-openssl=/some/where and it would take an OpenSSL from that location.
So, what might be an easy change is getting DSOFLAGS to be different (when AIX). However, I am uncertain what is needed re: LDFLAGS. (I had noticed, with the wrong flags libcups.so.2 was getting the other libraries (-liconv, -lz, -lm, -lcrypto and -lssl) information 'self-contained'. IMHO: that is an error and I continued searching - and came up with the simplest argument to ld - -G.
The make install activities does not include the libcups.a archive, so before the final packaging I used for testing I manually crested (as mentioned above) the ${prefix}/lib/libcups.a with both the 32 and 64 ${prefix}/lib*so.2 files.
My test is simply that it is accepted by ./configure by a project demanding cups support.
With some quidance I am happy to work on a PR or PR's that are acceptable for the project.

@aixtools WRT libcups.a not getting installed, if you use the "--enable-static" or "--disable-shared" configure options it will, otherwise only the shared libraries get installed.
As for mixed 32-bit and 64-bit builds, unless AIX has something like macOS's multiple-architecture binaries, I'd do two separate builds where the second build you do is 32-bit (assuming that all AIX systems will do 64-bit these days?) for just the libraries, e.g.:
CFLAGS="..." CPPFLAGS="..." LDFLAGS="..." ./configure --with-components=libcups --libdir=/path/to/32-bit/libs
make
make install-libs

refactor sounds like something I do not directly understand - so I don't know how to proceed. Hacking in the entire AX_CHECK_OPENSSL, even if I did in the spot you identified does not feel like the correct location.
I would add the macro, and call the macro - and add my extra bits in the (assumed) spaces provided by the macro.
as to libcups.a - it is not uncommon on AIX to have both shared and static installed - with the .so file ALSO in the .a file.
In the example below: since only one .so file can be installed, for mixed support you need an additional library (e.g., /usr/lib64). Common in the Linux world, but less so in AIX (it happens, but the VAR ensures the application has different dlopen search paths).
with the following, in 64-bit mode, dlopen and dynamic rtl the libcups.so file is found first, and for 32-bit mode, since the .so file is the wrong mode, the search continues and it finds the 32-bit .so in the libcups.a file. More common on AIX is no .so file, and only the .a archive with dual members.

root@adopt10:[/opt/aixtools/lib]ls -l
total 88
drwxr-xr-x   10 bin      bin             256 May  4 09:31 cups
-rw-r--r--    1 bin      bin           22388 May  4 09:53 libcups.a
lrwxrwxrwx    1 root     system           12 May  4 12:03 libcups.so -> libcups.so.2
-rwxr-xr-x    1 bin      bin            5032 May  4 09:31 libcups.so.2
lrwxrwxrwx    1 root     system           17 May  4 12:03 libcupsimage.so -> libcupsimage.so.2
-rwxr-xr-x    1 bin      bin            5045 May  4 09:31 libcupsimage.so.2
drwxr-xr-x   14 bin      bin            4096 May  4 09:31 locale
drwxr-xr-x    2 bin      bin             256 May  4 09:31 pkgconfig
root@adopt10:[/opt/aixtools/lib]ar -Xany tv libcups.a
rwxr-xr-x     2/2       5032 May  4 09:31 2022 libcups.so.2
rwxr-xr-x     2/2       5045 May  4 09:31 2022 libcupsimage.so.2
rwxr-xr-x     2/2       4681 May  4 08:46 2022 libcups.so.2
rwxr-xr-x     2/2       4694 May  4 08:46 2022 libcupsimage.so.2
root@adopt10:[/opt/aixtools/lib]ar -X64 tv libcups.a
rwxr-xr-x     2/2       5032 May  4 09:31 2022 libcups.so.2
rwxr-xr-x     2/2       5045 May  4 09:31 2022 libcupsimage.so.2
root@adopt10:[/opt/aixtools/lib]ar -X32 tv libcups.a
rwxr-xr-x     2/2       4681 May  4 08:46 2022 libcups.so.2
rwxr-xr-x     2/2       4694 May  4 08:46 2022 libcupsimage.so.2

iirc, mac calls them fat libraries - and yes, that is the default behavior for archives. Applications find the appropriate member.

I've pushed the following which should work:
[master dd9310639] Look for OpenSSL the old way if pkg-config is not available (Issue #375)
It is missing the rsaref library checks from CUPS 1.2.12 but I don't think those have been necessary for a very long time.

Thx. Is working great.


Types not working correctly

EDIT: sorry I accidentally pressed enter and created the empty issue 😆
First of all thanks for creating this library, I'm testing it and I found this issue where types are not working.

It should suggest fontFamily, fontSize etc but it's not
That said, once I write fontFamily: " then I get the correct autocomplete based on my tokens.

"react-native": "0.65.1",
"typescript": "^4.4.4"
"stitches-native": "^0.0.1-4"

EDIT: I just realised I can also do this but still the issue is there
import { Text as TextComponent } from 'react-native'
const Text = styled(TextComponent, {
// same as
const Text = styled('Text', {

@mtt87 I think I found the source of the TS bug 🐛🕵🏻♂
The typings for styled component's CSS properties should work correctly now. Can you test the latest canary version (v0.0.1-8)? 🙂
About all the remaining TS problems that have been commented under this issue: it would be better to move them to separate issues so that they can be tackled one by one more easily (and nothing gets lost in the sea of comments).

🎉  great it's working now 😄

Tomorrow when I have a moment I create separate issues, we can close this one, thank you for fixing it! 🙏


Env 0 reset has exceeded max retries(5)

[ ] I have marked all applicable categories:

[x] exception-raising bug
[ ] RL algorithm bug
[ ] system worker bug
[ ] system utils bug
[ ] code design/refactor
[ ] documentation request
[ ] new feature request

[ ] I have visited the readme and doc
[ ] I have searched through the issue tracker and pr tracker
[x] I have mentioned version numbers, operating system and environment, where applicable:

  import ding, torch, sys
  print(ding.__version__, torch.__version__, sys.version, sys.platform)
v0.4.3 1.12.1+cu116 3.9.13 (main, Aug 25 2022, 23:26:10)
[GCC 11.2.0] linux

我的代码如下：
https://github.com/jaried/study_di/blob/main/option_masac_config.py
我尝试用masac写代码，出现如下错误，请问，我该如何解决？
[09-23 12:02:55] ERROR    Env 0 reset has exceeded max retries(5)                                                                                func.py:27
Traceback (most recent call last):
  File "/home/tony/documents/DI-engine-main/ding/utils/system_helper.py", line 57, in run
    self.ret = self._target(*self._args, **self._kwargs)
  File "/home/tony/documents/DI-engine-main/ding/envs/env_manager/subprocess_env_manager.py", line 461, in _reset
    raise runtime_error
  File "/home/tony/documents/DI-engine-main/ding/envs/env_manager/subprocess_env_manager.py", line 439, in _reset
    reset_fn()
  File "/home/tony/documents/DI-engine-main/ding/envs/env_manager/subprocess_env_manager.py", line 425, in reset_fn
    raise ConnectionError("env reset connection timeout")  # Leave it to try again
RuntimeError: Env 0 reset has exceeded max retries(5), and the latest exception is: ConnectionError('env reset connection timeout')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/tony/documents/DI-engine-main/ding/utils/registry.py", line 96, in build
    raise e
  File "/home/tony/documents/DI-engine-main/ding/utils/registry.py", line 82, in build
    return build_fn(*obj_args, **obj_kwargs)
  File "/home/tony/documents/DI-engine-main/ding/worker/collector/sample_serial_collector.py", line 65, in __init__
    self.reset(policy, env)
  File "/home/tony/documents/DI-engine-main/ding/worker/collector/sample_serial_collector.py", line 130, in reset
    self.reset_env(_env)
  File "/home/tony/documents/DI-engine-main/ding/worker/collector/sample_serial_collector.py", line 80, in reset_env
    self._env.launch()
  File "/home/tony/documents/DI-engine-main/ding/envs/env_manager/subprocess_env_manager.py", line 352, in launch
    self.reset(reset_param)
  File "/home/tony/documents/DI-engine-main/ding/envs/env_manager/subprocess_env_manager.py", line 409, in reset
    t.join()
  File "/home/tony/documents/DI-engine-main/ding/utils/system_helper.py", line 64, in join
    raise RuntimeError('Exception in thread({})'.format(id(self))) from self.exc
RuntimeError: Exception in thread(139979215706288)

Process finished with exit code 1

你的环境是什么，这个报错显示的是 reset 超时，默认应该设置的是60s

环境已经贴在上面：
v0.4.3 1.12.1+cu116 3.9.13 (main, Aug 25 2022, 23:26:10)
[GCC 11.2.0] linux
代码在：
https://github.com/jaried/study_di/blob/main/option_masac_config.py

这个是指你的RL环境，不是运行环境。你换成BaseEnvManager试试呢


Feat: Add decorator

I didn't love the whole def does_something -> does_something_node = FunctionNode(func=does_something)
Usage:
from dagent import DecisionNode, FuncNode

@FuncNode()
def print_result(prev_output: int) -> None:
    """
    Print the result from a previous node.

    Note: `prev_output` is automatically passed from the previous node.
    """
    print(prev_output)
    return prev_output

@FuncNode(nexts=[print_result])
def add_two_nums(a: int, b: int) -> int:
    """A simple function to add two numbers."""
    return a + b

@FuncNode(nexts=[print_result])
def multiply_two_nums(a: int, b: int) -> int:
    """A simple function to multiply two numbers."""
    return a * b

decision_node = DecisionNode(
    model="gpt-4-0125-preview",
    api_base=None,
    next_nodes=[add_two_nums, multiply_two_nums],
)

@FuncNode(nexts=[decision_node])
def entry_func(input: str) -> str:
    """Entry point function for the workflow."""
    return input

# Compile the DAG
entry_func.compile(force_load=False)

# Execute the DAG
entry_func.run(input="if i have 2 apples and someone gives me 4, how many do i have?")
entry_func.run(input="if the dog shelter has 9 cages with 4 dogs per cage, how many dogs are there?")

a lot of the stuff should probably be renamed

I think this pattern makes sense, but unless decision node gets wrapped into the same pattern it's not consistent. plus I do like being able to do all the linking in one spot, when starting out it's probably easier to group visually on screen

Decided I don't like decorators. I think having explicit connections are best and when done in one place. Have some ideas. Will cook later :)


Twine link broken

Hello there,
When checking the documentation Configure and use pip with CodeArtifact. I can see the following snippet:
Configure twine by following the steps in [Configure and use pip with CodeArtifact](https://docs.aws.amazon.com/codeartifact/latest/ug/python-configure-pip.html).

When attempting to click Configure and use pip with CodeArtifact nothing happens as it redirects to the same page, please modify it to a working link which I assume it should be: https://docs.aws.amazon.com/codeartifact/latest/ug/python-configure-twine.html

Thank you for telling us about this issue, @michalani. The link has been fixed and will show in the next refresh coming soon. Nice catch!


Noone solution work

Can You help me with this

See https://flutter.dev/community#community-grid for resources where you can get help with your own code.
Closing as this does not describe a Flutter bug report or feature request.


dbeaver/dbeaver-ee#1493 target DDL message changed for no sql databases

Ticket: https://github.com/dbeaver/dbeaver-ee/issues/1493

verified


ESL-Share: updates from tech call

:tada: This PR is included in version 4.13.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


add initial support for config file

added --config option to accept config JSON file
added processJSON.js to handle config JSON file (parse input, stylesheet, lang option if provided, ignore all other options)

@mqnguyen5 the PR is ready for review now. Please check when you have time, thanks!

all requested changes were updated, you can check again now


SegFault - LuaJIT unable to initialize state due to mmap exhaustion

Description:
The current LuaJIT version used by envoy will, by default, pass in the MAP_32BIT flag to all of it's mmap calls. This restricts the LuaJIT's mmap allocations to 1gb of memory. When running with several lua scripts at a high enough concurrency, mmap will exhause the set of usable memory and error. This results in a NULL lua state object and results in a segfault.
We have witnessed this behavior when running without the --concurrency option on a machine with 36 cores. We were able to work around the issue by limiting our concurrency to 16. I have reproduced the crash easily by setting --concurrency to a reasonably high value and monitored the process's use of memory-maps with pmap -X <PID>.
My research has led me to believe that, on modern CPUs, there isn't a good reason to use MAP_32BIT for performance or otherwise. (fun read on MAP_32BIT). There is a flag within the LuaJIT Makefile to control this behavior and I have confirmed that setting it works around the problem.
@@ -111,7 +111,7 @@ XCFLAGS=
#XCFLAGS+= -DLUAJIT_NUMMODE=2
#
# Enable GC64 mode for x64.
-#XCFLAGS+= -DLUAJIT_ENABLE_GC64
+XCFLAGS+= -DLUAJIT_ENABLE_GC64
#
##############################################################################

Tested running with 2.5k threads (I realize a ridiculous number) and consuming >3gb via mmap. I would be willing to make a PR, but I am unsure if this is desired universally. It may be worth pointing out that in LuaJIT master, this is the default behavior and the flag flips to optionally turn MAP_32BIT back on.
Repro steps:

Configure to use several Lua scripts
Launch with high --concurrency value
Process should crash when launching worker threads (monitor anonymous mmap usage with pmap -X <PID>

Call Stack:
azel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #0: __restore_rt [0x7f461107a390]
azel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #1: luaL_openlibs [0x56521a4f71be]
azel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #2: Envoy::Extensions::Filters::Common::Lua::ThreadLocalState::LuaThreadLocal::LuaThreadLocal() [0x56521a4dc35f]
azel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #3: std::_Function_handler<>::_M_invoke() [0x56521a4dc3eb]
azel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #4: std::_Function_handler<>::_M_invoke() [0x56521ac4c6fc]
azel-out/k8-opt/bin/external/envoy/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #5: std::_Function_handler<>::_M_invoke() [0x56521ac50e4b]

I would be fine just changing the default here if you feel like doing a patch. Thank you!


fix mac_setup w/ tools+plotjuggler

Description: tools/lib/robust_logreader.py would error out when attempting to use URLFile which attempted to reference the wrong curl/openssl backend on macOS. compile flags and curl itself needed to be updated in order to properly use latest pycurl version
Verification: re-ran ./tools/mac_setup.sh and ran ./plotjugger --demo

misc: make setup script look nicer
🎯 #23458

Still getting a pycurl error on my M1 MBP
macbookpro:openpilot adeeb$ pipenv shell
Loading .env environment variables...
Launching subshell in virtual environment...
bash-3.2$  . /Users/adeeb/.local/share/virtualenvs/openpilot-3HmyGjEJ/bin/activate
((openpilot) ) bash-3.2$ cd tools/plotjuggler/
((openpilot) ) bash-3.2$ ls
README.md               juggle.py               layouts                 test_plotjuggler.py
((openpilot) ) bash-3.2$ ./juggle.py --install
Traceback (most recent call last):
  File "./juggle.py", line 14, in <module>
    from selfdrive.test.process_replay.compare_logs import save_log
  File "/Users/adeeb/openpilot/selfdrive/test/process_replay/compare_logs.py", line 16, in <module>
    from tools.lib.logreader import LogReader
  File "/Users/adeeb/openpilot/tools/lib/logreader.py", line 8, in <module>
    from tools.lib.filereader import FileReader
  File "/Users/adeeb/openpilot/tools/lib/filereader.py", line 2, in <module>
    from tools.lib.url_file import URLFile
  File "/Users/adeeb/openpilot/tools/lib/url_file.py", line 8, in <module>
    import pycurl
ImportError: pycurl: libcurl link-time version (7.64.1) is older than compile-time version (7.81.0)

Still getting a pycurl error on my M1 MBP
macbookpro:openpilot adeeb$ pipenv shell
Loading .env environment variables...
Launching subshell in virtual environment...
bash-3.2$  . /Users/adeeb/.local/share/virtualenvs/openpilot-3HmyGjEJ/bin/activate
((openpilot) ) bash-3.2$ cd tools/plotjuggler/
((openpilot) ) bash-3.2$ ls
README.md               juggle.py               layouts                 test_plotjuggler.py
((openpilot) ) bash-3.2$ ./juggle.py --install
Traceback (most recent call last):
  File "./juggle.py", line 14, in <module>
    from selfdrive.test.process_replay.compare_logs import save_log
  File "/Users/adeeb/openpilot/selfdrive/test/process_replay/compare_logs.py", line 16, in <module>
    from tools.lib.logreader import LogReader
  File "/Users/adeeb/openpilot/tools/lib/logreader.py", line 8, in <module>
    from tools.lib.filereader import FileReader
  File "/Users/adeeb/openpilot/tools/lib/filereader.py", line 2, in <module>
    from tools.lib.url_file import URLFile
  File "/Users/adeeb/openpilot/tools/lib/url_file.py", line 8, in <module>
    import pycurl
ImportError: pycurl: libcurl link-time version (7.64.1) is older than compile-time version (7.81.0)

that's weird. just did a fresh pull of OP and full reinstall of brew and encountered no issues. might be that OP is still referencing the xcode sdk version of curl? (outdated from the perspective of the newer pip pycurl).

I had to set export PYCURL_SSL_LIBRARY=openssl before installing pycurl. Does that help in your case?

Getting a similar error as @adeebshihadeh ImportError: pycurl: libcurl link-time version (7.77.0) is older than compile-time version (7.81.0)

Using system curl, but openssl from homebrew fixes things for me. Let me know if this causes issues on non-M1 machines.


fix: retry node with expression status Running -> Pending

When a retry node has expression, it may appears:
Retry node: Running, Pod node: Pending
Retry node: Pending, Pod node: Pending
Retry node: Running, Pod node: Running

Slack link:
https://cloud-native.slack.com/archives/C01QW9QSSSK/p1705656605765459

Motivation

Modifications

Verification

LGTM.
Could you raise an issue next time before making the PR, that would help us a lot to keep track of the issue

Ok, thanks I will

Thanks!


Move AAA's validation code

I moved AAA's validation code to allow it and STABmons to have their ability and move restrictions, respectively, to be viewable through /om aaa and /om stabmons

im not sure why my stabmons PR came in through this one too


Convert the client.pem to a p12/pfx bject for the keychain to be able to consume it

This cannot be done - so we will be creating a new certificate which will have a public and a pvt key. This key can be extracted from the cert and converted to pem format. The public version of which will be uploaded to the server and the pvt version and the cert would be put in the windows cert store.
The client will have to rekey the nodes based on the config sent for the changes to take effect.

Closing in favor of: https://chefio.atlassian.net/browse/INFC-7


ComponentManager now stops if a component terminates

The ComponentManager used to run components as background tasks and rely on the
BaseIsolatedComponent implementation to handle premature termination and send a ShutdownRequest to
the component manager. Now CM keeps track of the tasks running each component and terminates as
soon as any of them terminate.
With this change we may no longer need the whole ShutdownRequest mechanism. If there are no
objections I'll submit a separate PR to remove that

Yeah, I suppose it'd be nice to have the ability to have short-lived components, but as you pointed out we have never had any, and we don't get new components often, so I'd rather wait until we have an actual use case before we add the extra complexity to the component manager. Also, right now if a component terminates the base *IsolatedComponent implementation will send a ShutdownRequest, so this is not changing the existing behavior -- it's only making sure we don't fire-and-forget our component tasks, which may lead to unexpected behavior that is really hard to track down as the component errors may not be reported at all


SDK returns empty text blocks, but does not accept them

Using anthropic sdk via langchain_anthropic integration

from langchain_core.messages import AIMessage, HumanMessage, ToolMessage, SystemMessage
from langchain_anthropic import ChatAnthropic
from langchain_core.tools import tool

@tool
def type_letter(letter: str) -> str:
    """Type the given letter."""
    return "OK"

model = ChatAnthropic(model="claude-3-haiku-20240307", temperature=0).bind_tools([type_letter])

messages = [
    SystemMessage(content="Repeat the given string using the provided tools. Do not write anything else or provide any explanations. For example, if the string is 'abc', you must print the letters 'a', 'b', and 'c' one at a time and in that order. "),
    HumanMessage(content="dog")
]

model.invoke(messages)

The SDK can return empty text blocks from models:
ToolsBetaMessage(id='msg_01D6BbZbwbPYRVMPVu5SZRTp', content=[TextBlock(text='', type='text'), ToolUseBlock(id='toolu_01YHFB1pLY3xNa1edzoV4HtL', input={'letter': 'd'}, name='type_letter', type='tool_use'), ToolUseBlock(id='toolu_011ewRdDypyE8yHMniYT2gzj', input={'letter': 'o'}, name='type_letter', type='tool_use'), ToolUseBlock(id='toolu_01YKV1QaDPePiAFQVwmrSmjk', input={'letter': 'g'}, name='type_letter', type='tool_use')], model='claude-3-haiku-20240307', role='assistant', stop_reason='tool_use', stop_sequence=None, type='message', usage=Usage(input_tokens=395, output_tokens=125))

However, the SDK does not accept empty text block if re-interacting with the model (e.g., if using an agent).

Related code snippet:
import anthropic

client = anthropic.Client()

client.beta.tools.messages.create(
    model="claude-3-haiku-20240307",
    max_tokens=1000,
    tools=[
        {
            "name": "tavily_search_results_json",
            "description": "A search engine optimized for comprehensive, accurate, and trusted results. Useful for when you need to answer questions about current events. Input should be a search query.",
            "input_schema": {
                "type": "object",
                "properties": {
                    "query": {
                        "description": "search query to look up",
                        "type": "string",
                    }
                },
                "required": ["query"],
            },
        }
    ],
    messages=[
        {
            "role": "user",
            "content": [{"type": "text", "text": "What's langgraph designed to do?"}],
        },
        {
            "role": "assistant",
            "content": [
                {"text": "", "type": "text"},
                {
                    "id": "toolu_01QxzCHR55x5RigzDdwLuQ5V",
                    "input": {"query": "foo"},
                    "name": "tavily_search_results_json",
                    "type": "tool_use",
                },
            ],
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "tool_result",
                    "tool_use_id": "toolu_01QxzCHR55x5RigzDdwLuQ5V",
                    "content": "[Foo bar baz]",
                },
            ],
        },
    ],
)

Thanks for reporting. Working on fixing this asap!

This is now fixed.

Unless I am missing something, I still have the same issue with the following code:
import anthropic

client = anthropic.Client()

messages = [
    {
        "content": [{"text": "How many appointments do I have today?", "type": "text"}],
        "role": "user",
    },
    {
        "content": [
            {
                "text": '<thinking>\nTo find out how many appointments the user has today, I should use the get_day_calendar_events tool. This tool requires a "day" parameter in the format YYYY-MM-DD.\n\nEmma did not specify a date in her request, so I first need to determine what the current date is. I can use the get_current_day tool to retrieve that information.\n\nOnce I have the current date, I can pass that into the get_day_calendar_events tool to retrieve Emma\'s appointments for today.\n</thinking>',
                "type": "text",
            },
            {
                "id": "toolu_01UsBRMJWT8xAssuztCGEZNu",
                "input": {},
                "name": "get_current_day",
                "type": "tool_use",
            },
        ],
        "role": "assistant",
    },
    {
        "content": [
            {
                "tool_use_id": "toolu_01UsBRMJWT8xAssuztCGEZNu",
                "type": "tool_result",
                "content": [{"text": "2024-05-15", "type": "text"}],
                "is_error": False,
            }
        ],
        "role": "user",
    },
    {
        "content": [
            {"text": "", "type": "text"},
            {
                "id": "toolu_01YRKLXccBZjeQfYU2M7YLY8",
                "input": {"day": "2024-05-15"},
                "name": "get_day_calendar_events",
                "type": "tool_use",
            },
        ],
        "role": "assistant",
    },
    {
        "content": [
            {
                "tool_use_id": "toolu_01YRKLXccBZjeQfYU2M7YLY8",
                "type": "tool_result",
                "content": [{"text": "<TOOL OUTPUT HERE>", "type": "text"}],
                "is_error": False,
            }
        ],
        "role": "user",
    },
]

client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1000,
    messages=messages,
)

This gives me the following error:
anthropic.BadRequestError: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'messages: text content blocks must be non-empty'}}

Hi @dedeswim, was this part of your request given as output by the API or did you put it together yourself?
    {
        "content": [
            {"text": "", "type": "text"},
            {
                "id": "toolu_01YRKLXccBZjeQfYU2M7YLY8",
                "input": {"day": "2024-05-15"},
                "name": "get_day_calendar_events",
                "type": "tool_use",
            },
        ],
        "role": "assistant",
    },

The API returning 400 for {"text": "", "type": "text"} is correct, but the API returning this as content is not.

Hi @aaron-lerner, you are right, it's my fault! Sorry, I somewhat completely missed that line.
Thanks a lot for the quick reply!


testdata: update helptext

Fixes some leftover failing tests

Thanks for this! I actually fixed this in https://github.com/vishen/go-chromecast/commit/f255229b26d07b3267bbe5209cccb30ad482511e so will close this PR.

There were some more leftovers in this PR though;
https://github.com/vishen/go-chromecast/blob/master/application/application_test.go#L50 -- this test is obsolete and can be removed.
https://github.com/vishen/go-chromecast/blob/master/application/application.go#L1435 -- this struct is unused and can be removed


Fix is_action_pressed for InputEventActions

Fixes #21821. The fix itself is the assignment to p_pressed in InputMap::event_get_action_status. I don't know why InputEventAction gets treated differently, but removing that part breaks is_action. I added action_match for InputEventAction even if it gets bypassed here because it could be called by InputMap::action_add_event and such. Should be good enough for now.
@akien-mga: That said, I think a much better solution would be to rewrite input_event/input_map.cpp a bit. For example,
bool InputEvent::is_action_pressed(const StringName &p_action) const {
	return is_action(p_action) && is_pressed() && !is_echo();
}

would be much more readable (especially since echo already gets treated differently now!). Once that's done, I'm pretty sure the whole back-and-forth between input_event and input_map can be simplified. Do you think that's reasonable? If so, I can do it after the feature freeze.

The fix looks good, and I agree that the whole Input/InputDefault/InputMap needs to be refactored to remove the unnecessary complexity. That's indeed a good task to do once 3.1 is released, after discussing it with @reduz to make sure we agree on the design.

I'll merge this for now as it's a good improvement.
Some more work is needed eventually as mentioned in the Input classes. InputEventAction also needs better support for action strength (@groud).


zsh: crontab auto update is borked for omz

The naive way to run ${HOME_DIR}/.oh-my-zsh/tools/upgrade.sh in crontab doesn't work.
Maybe just git fetch origin then git reset --hard origin/main in ~/.oh-my-zsh repo to avoid the non-sense parts.
Should also consider disabling update check or find something better (to not block shell startup).

https://stackoverflow.com/questions/11378607/oh-my-zsh-disable-would-you-like-to-check-for-updates-prompt has inspiration.


Groups do not have an immutableId attribute

This article is about groups; however this sentence is incorrect:
"Azure AD Connect uses the value of mS-DS-ConsistencyGuid as the immutableId."
Since groups do not have this attribute, it's confusing to have it mentioned. It should say "sourceAnchor", which is what the outbound connector space calls it, or simply "id" which is what its called in the API: https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-beta#properties

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

ID: 09f38b6b-f87a-121d-873a-c3473af2e626
Version Independent ID: 1dc80eb3-ae22-dc8a-5e7a-1aaf53a2ba87
Content: Azure AD Connect: Migrate groups from one forest to another - Microsoft Entra
Content Source: articles/active-directory/hybrid/connect/how-to-connect-migrate-groups.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@Mike-Crowley
Thanks for your feedback! We will investigate and update as appropriate.

@Mike-Crowley
Thanks for reporting this! We have created a PR for this issue and the changes should go live soon.


Non admin user request not being passed to radar/sonarr

Description
Non admin users request are not being passed neither to radarr nor sonarr.
I have multiple profiles and for the admin users it offers to choose one, for non admin it does not.
The issue persists if there’s only 1 profile in sonarr/radarr, but in this case some times it returns “404 cannot be found”
Same goes for locally created users.
No issues with admin users.
Version
1.7.0
Steps to Reproduce

Login as non admin user
Request a media
As an admin go to “request”
Click on status
Check if the “Open in Radarr/Sonarr” button is present
If it is, check if the requested media has been passed to sonarr/radarr.

Screenshots

Logs
2024-02-28T11:52:39.218Z [warn][Media Request]: There is no default Radarr server configured. Did you set any of your Radarr servers as default?{"mediaId":18,"requestId":26}

Platform
desktop
Device
N/A
Operating System
Win10 with Docker Desktop
Browser
All of them
Additional Context
No response
Code of Conduct

[X] I agree to follow Jellyseerr's Code of Conduct

Setting up “advanced request” for non admin user fixed both of the issues.
Thanks!

Setting up “advanced request” for non admin user fixed both of the issues.
Thanks!

Still not a fix if you don't enable default server. Make sure you do. Because giving advanced request is a very different thing than your actual issue


Petercat-OAuth 授权默认不要求私有库权限

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
一般而言，开源项目更需要 AI 来自动化处理 issue，如果是私有项目，此类需求一般不是很大（比如直接考虑私有化部署）。
要求私有库控制权限也许会有安全方面的顾虑。
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

合理，已取消要求


Migrate bench to criterion and use bencher

https://bencher.dev/?utm_source=the+new+stack&utm_medium=referral&utm_content=inline-mention&utm_campaign=tns+platform

We have https://github.com/radumarias/rencfs/issues/122 for this


Move GUK from SOCs to faculty dashboard

Enhancement
Move GUK from SOCs to faculty dashboard

[ ] GUK has been moved from SOCs to faculty dashboard
[ ] the totals are adapted for each dashboard as well

It is now on the "SOCs" dashboard, this does not make sense.

@mietcls the space becomes very crowded when I add GUK to the list:

The scrollbars are there yes, but at the bottom

That's fine, that's what the scrollbars are for. I'll fix it if someone complains or it doesn't work out..


Big bug i think

When I have a factory, and cut and tray to paste and other place, the factory transform in a blueprint, and the object disappears to the inventory. Please help us

Not enough info.


[feature]: Leverage Black Mirror to handle general blacklisting

https://github.com/T145/black-mirror
Any non-deprecated sources used here can be added into Black Mirror. The exports directory holds raw source lists.

@T145 Sweet !! ..  I doubt your missing what i have lol.. can still check and send PR , need to redirect this in README😎. Will set you as collaborator, nice work👊

After reviewing the sources you've used I'm confident in saying that its content is contained w/in Black Mirror. Therefore we can replace it entirely.

After reviewing the sources you've used I'm confident in saying that its content is contained w/in Black Mirror. Therefore we can replace it entirely.

yes i removed my list of sources . I'll remove my blocklist as well for i cant keep track of it like you do


Latest Isotope and onclick layout

Update to Isotope 3.0.1
Adapt campers directive to new isotope version
Implement expand campers on click
Remove roll over effect

Closes #47 #39 maybe #2 (to test on actual mobile devices)

Still need to work on this:
fix css cos it ha broke in the attempt to rebase
old PR don't disappear with rebase  https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request


Sitemap: why sitemap-index.xml ?

https://blog.adobe.com/sitemap.xml does not exist but https://blog.adobe.com/sitemap-index.xml does (source file is https://github.com/adobe/blog/blob/main/sitemap-index.xml).
@dominique-pfister is there any specific reason for that ? Why not using standard sitemap.xml name ?

Funny, looking at the commit history of that file in GitHub, it was you that created it (comment: chore: initial business site copy). I know that there are certain naming restrictions for other sites (e.g. express-website), but AFAICT there is none for blog.adobe.com.
Some people might prefer -index in the name when it is a sitemapIndex in the document (as opposed to a simple sitemap). I'm wondering what @rofe and @davidnuescheler have to say about this...

@kptdobe I think this was changed on purpose: as @dominique-pfister pointed out, the file is a sitemap index, hence the explicit file name. However, the robots.txt does not reference the sitemap index, but instead the full list of language-based sitemaps, and I think that's probably wrong: either the robots.txt should reference the sitemap-index.xml, or we should delete the latter. Unless of course it has been submitted to Google via Seacr Console, which I don't know.
@davidnuescheler wdyt?


Latest publish does not include /dist folder

After npm installing the latest version of jest-allure, it no longer works. Looking at the package in the node_module directory reveals there is no /dist directory.
After running
npm i<EMAIL_ADDRESS>
the issue is resolved.
We should probably publish again, and ensure the build runs.

Nice catch! Updated


v1.0.1 Unity - 'EventManager' does not contain a definition for 'DispatcherDic'

When I import the latest version from the unity package into unity I get the following error:
Assets\Plugins\UPlugins\UPlugins\Events\Unity\Script\Editor\EventMonitor.cs(140,54): error CS0117: 'EventManager' does not contain a definition for 'DispatcherDic'

I'm sorry that the release version has not been tested in detail. You can temporarily solve this error by adding an Assembly Definition file in the root directory of the plug-in. I will update a version to fix this error later.

When I import the latest version from the unity package into unity I get the following error:
Assets\Plugins\UPlugins\UPlugins\Events\Unity\Script\Editor\EventMonitor.cs(140,54): error CS0117: 'EventManager' does not contain a definition for 'DispatcherDic'

I'm sorry that we haven't tested the release version in detail. You can temporarily solve this problem by adding an Assembly Definition file in root folder. I will update the version as soon as possible to fix this problem.


Fix bug when line getting wrapped

Fixing #11

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (aefcbac) 100.00% compared to head (4b60c72) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##            master       #15   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         6
  Lines          242       242
=========================================
  Hits           242       242

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Tooltip] Keep tooltip open when trigger is activated

Feature request
I'm trying to implement a tooltip that stays open when activating the trigger but couldn't find any prop to control this.
Something similar to the tooltip for reactions in slack.
Overview
Add a prop to the tooltip Root component which if set to true will keep the tooltip open even when the trigger is activated
Examples in other libraries
Chakra UI has closeOnClick prop https://chakra-ui.com/docs/overlay/tooltip#more-examples

Hi @bogdansoare,
If I understand correctly you want your tooltips to work as normal except that when clicking the trigger you don't want the tooltip to close?
If so, it should be as simple as adding an onClick to the Tooltip.Trigger part and event.preventDefault() the behaviour we run.

Hey @benoitgrelard , thanks for the suggestion.
I've tried adding onClick but it doesn't work, I thought it was because of the asChild prop but even without that prop it doesn't seem to work.
Here is a codesandbox https://codesandbox.io/s/heuristic-sutherland-5d0f6?file=/App.js

Ah sorry, my bad it looks like we have an onMouseDown too, so if you do the same in onMouseDown it should work.

Preventing default in the onMouseDown will also prevent the button from receiving focus though which isn't likely intended or a good idea.
@benoitgrelard Perhaps we need to expose a custom onDismiss event? 🤔

Wouldn't preventing default in the onMouseDown also prevent the button from receiving focus though?

Yeah, and also dragging and the :active state on some browsers.
I think relying on native event.preventDefault() is an anti-pattern, not only because of what @jjenzz said. But also because users will rely on implementation details. What if the library starts doing the action in the onPointerDown event instead of onMouseDown in the future?
Exposing props like the suggested closeOnClick is a better solution in my opinion.

Exposing props like the suggested closeOnClick is a better solution in my opinion.

We usually expose CustomEvents like onDismiss that consumers can event.preventDefault() to avoid reliance on implementation detail and unexpected side effects, hence my suggestion.
There is often an alternate behaviour people want to implement when preventing ours so the event approach gives them the opportunity to prevent and do something else at the time our behaviour would usually execute, all in one prop (reduces API surface).
In the tooltip case, it isn't likely that they need to action something else as part of that event but we like to keep things consistent.

Yeah that's all great points. We discussed this many times actually but for some reason I didn't think of it this time, so yeah perhaps we should add a custom event or something like that.

Writing this down before I forget because it just dawned on me that Tooltip could probably use DismissableLayer, which made me realise that everywhere else we're currently using Popper uses DismissableLayer:

HoverCard - we added DismissableLayer to this recently
Menu - has been using DismissableLayer forever
Tooltip - uses useEscapeKeydown but would benefit from onPointerDownOutside to solve this ticket

So, maybe it's worth baking DismissableLayer into Popper.Content? 🤔

I'm not sure it would make sense for Tooltip to use DismissableLayer, because of the whole "outside" thing, with a tooltip, you're always outside, because focus never moves inside the tooltip content itself, so not entirely sure if it's just a stretch.

I'm not sure it would make sense for Tooltip to use DismissableLayer, because of the whole "outside" thing

That's just one part of DismissableLayer that we could disable for tooltip. The "layering' is the main feature of DismissableLayer in my mind. For example, if a tooltip is open inside a dialog and someone pressed Escape key, it would close the dialog atm.

The layering is the main feature of DismissableLayer in my mind. For example, if a tooltip is open inside a dialog and someone pressed Escape key, it would close the dialog atm.

Yeah I guess that's true, but in the example given somehow I "feel" like tooltip is much more temporary, less important and therefore having to double press escape here would kinda feel wrong?

having to double press escape here would kinda feel wrong?

Escape keypress is an a11y feature for tooltip, hence the logic existing in the component. If someone is pressing escape to close the tooltip, the expectation is that the tooltip closes and not the dialog.

It typically appears after a small delay and disappears when Escape is pressed or on mouse out.

Yeah if I put my "feel" aside and think pragmatically, I think you're right, basically anything that is "dismissable" by design should dismiss just itself.

Hi!
Found this issue and want to ask u a question about the same functionality for the HoverCard component. When I'm trying to use event.preventDefault() in onClick and onMouseDown a hovercard closes anyway.

Hey @olehkhalin,
Can you show me a sandbox with what you're trying to do? Then I should be able to help you with it.
✌

Yeah, sorry for that.
I have created a sandbox based on the one used in docs. There is the link https://codesandbox.io/s/relaxed-cannon-hjhtsm?file=/App.js
I have added there event.preventDefault() on Trigger component.
Expected behavior: hovercard doesn't close on trigger click.

@olehkhalin when the link is clicked it would change the page URL so i'm unsure why keeping it open would be useful... what's your use-case?

I can contribute an example use case. :-)
Sometimes, we may have buttons or interactive components that copies a value when clicked. E.g. "click to copy URL". In such a case, we may want the tooltip to remain open after clicking on it so that we can show the the value is indeed copied to the clipboard.

Yep!
I really need this behavior myself and I thought it would already be implemented. But OK! Primitives are great, and this feature would definitely be awesome.

Closing this issue in favour of a new one capturing the change: #1290

I can contribute an example use case. :-)
Sometimes, we may have buttons or interactive components that copies a value when clicked. E.g. "click to copy URL". In such a case, we may want the tooltip to remain open after clicking on it so that we can show the the value is indeed copied to the clipboard.

Please share example code

You can also see here an example of how to keep it open on activation thanks to the update: https://github.com/radix-ui/primitives/blob/main/packages/react/tooltip/src/Tooltip.stories.tsx#L588-L614

Just to make sure that the line reference won't change
https://github.com/radix-ui/primitives/blob/768bc53149aa1f432b5e630b99589237f6333364/packages/react/tooltip/src/Tooltip.stories.tsx#L617-L643

Thanks!

Hey @dannyhkim, I have answered your question in #1524, but feel free to comment in that issue still if you need more help.


Silly test commit to validate the code owners flow

Overview
Changes

Fixes: # .

Can exactly one of you guys approve this PR? I want to test how the CR owners works with respect to the checkin checks.

It works!


v0.16.0 - Websocket error

We are seeing the following errors looping in the logs:
19:46:39.420701 client.go:359: config-poller INFO: connection sucessfully opened to config discovery server at "ws://<IP_ADDRESS>:13478/api/v1/config/watch?id=test%2Fstunner-udp-gateway"
19:46:39.421414 reconcile.go:113: stunner INFO: setting loglevel to "all:INFO"
19:46:39.421605 reconcile.go:177: stunner INFO: reconciliation ready: new objects: 0, changed objects: 1, deleted objects: 0, started objects: 0, restarted objects: 0
19:46:39.421653 reconcile.go:181: stunner INFO: status: READY, realm: stunner.l7mp.io, authentication: longterm, listeners: test/stunner-udp-gateway/udp-listener: [turn-udp://10.x.x.x:3478<32768:65535>], active allocations: 0
19:46:40.422774 client.go:334: config-poller ERROR: config file discovery service: websocket: close 1006 (abnormal closure): unexpected EOF

We are currently running v0.16.0 as our current GKE cluster doesn't support the v1 Gateway API.  It looks like the CDS process has been rewritten in later versions, but just wondering if there are any workarounds in the meantime.

Not that I know of. Managed mode was fairly new in v0.16 and we have made an almost complete rewrite during the last two releases exactly to eliminate the instability you are experiencing.
I see two alternatives for now:

Revert to the unmanaged (legacy) dataplane mode: this used to be the default in v0.16 anyway and it was rock solid at that point. This will most probably require a full reinstall though: https://docs.l7mp.io/en/v0.16.0/INSTALL/#basic-installation. Plus, compared to the now-default managed mode it's a massive step back, but it's at least super-reliable: I know of a lot of users who still run v0.16 exactly due to this.
Move from GKE Autopilot to GKE standard mode clusters and upgrade to STUNner v0.18. Standard-mode clusters do not auto-enable Google's own version of the Gateway API so you can safely install v0.18 there (make sure to untick the Gateway API checkbox on provisioning the cluster). Depending on how much you rely on the pricing model in Autopilot and how many services you already run in your cluster, this may be the better option for now to get the freshest of STUNner.

We're terribly sorry for this situation, we understand how unpleasant this state-of-affairs is to our users. We are at Google's mercy at this point: let's hope they quickly upgrade to v1. Good news is that we're not alone.

Thanks for the advice.  I'm not sure ifhttps://github.com/l7mp/stunner/issues/136 is related to this as well.  I will move to standalone mode and confirm if that resolves both issues

This looks to have resolved the issue so I'm going to close it off.


Autoselect local port for debug port forwarding

/kind bug
What versions of software are you using?

Run odo debug port-forward for one component,
C:\Temp\nodejs-ex>c:\Users\dgolo\.vs-openshift\odo debug port-forward
Started port forwarding at ports - 5858:5858

then cd to different context folder and run odo debug port-forward again
Actual behavior
C:\Temp\nodejs-ex1>c:\Users\dgolo\.vs-openshift\odo debug port-forward
Started port forwarding at ports - 5858:5858
 X  Unable to listen on any of the requested ports: [{5858 5858}]

Expected behavior
Two port forwarding works at the same time
Any logs, error output, etc?

the issue here is that local port 5858 is already in use hence this error is showing.
you can use a different port by providing --local-port argument like this
odo debug port-forward --local-port 5000

debug is still in tech-preview this is actually intentional design.
As @girishramnani mentioned you have to specify local port manually if you want to debug multiple components at the same time.
/remove-kind bug
/kind feature
/retitle Autoselect local port for debug port forwarding
/priority medium

/area debug

It should work like this:

when odo debug port-forward is executed it first should test if the DefaultDebugPort is available. If it is, then use that as a local port. This will make sure that in most cases the port number is predictable.
if DefaultDebugPort is already taken than odo can pick any available port (for example binding to port 0 does that)

User story created in https://github.com/openshift/odo/issues/2606

@kadel I think we can close because of https://github.com/openshift/odo/pull/2648


Fixed typo in part 5

Typo "redploying" --> "redeploying"

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Yep, thanks @marvin-SL :)


primary key issue

when create a table with primary key, I could not get the correct primary key info from it.
$ duckdb
SQLite version DuckDB 77599e4ae
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> create table test(i integer not null primary key, j integer);
sqlite> select * from sqlite_master();
table|test|test|0|CREATE TABLE test(i INTEGER NOT NULL, j INTEGER, PRIMARY KEY());
sqlite> describe test;
i|INTEGER|YES|||
j|INTEGER|YES|||
sqlite> PRAGMA table_info('test');
0|i|INTEGER|false||false
1|j|INTEGER|false||false
sqlite>
sqlite> create table test1(i integer not null, j integer, primary key(i));
sqlite> PRAGMA table_info('test1');
0|i|INTEGER|false||false
1|j|INTEGER|false||false
sqlite> describe test1;
i|INTEGER|YES|||
j|INTEGER|YES|||
sqlite> select * from sqlite_master();
table|test1|test1|0|CREATE TABLE test1(i INTEGER, j INTEGER, PRIMARY KEY(i));
table|test|test|0|CREATE TABLE test(i INTEGER NOT NULL, j INTEGER, PRIMARY KEY());
sqlite>

but the primary key works  in both ways,
sqlite> insert into test values(1,1),(1,2);
Error: Constraint: PRIMARY KEY or UNIQUE constraint violated: duplicated key
sqlite> insert into test values(1,1),(2,2);
sqlite> update test set j=3 where i=2;
sqlite> select * from test;
1|1
2|3
sqlite> insert into test1 values(1,1),(1,2);
Error: Constraint: PRIMARY KEY or UNIQUE constraint violated: duplicated key
sqlite> insert into test1 values(1,1),(2,2);
sqlite> update test1 set j=3 where i=2;
sqlite>

I think the only issue is that the is not shown in sqlite_master and table_info. This should indeed be fixed.

thanks @Mytherin
PRAGMA table_info('test'); works now.
describe test still does not work.
btw,  duckdb_fdw support update and delete now.

PRAGMA table_info('test'); works now.
describe test still does not work.

Thanks! I had missed that one.

btw, duckdb_fdw support update and delete now.

Very cool :)


DB update_actor_placement assert

We got an assert from the test where we run an acton program with the DB.
ddb_test_server: backend/client_api.c:799: update_actor_placement: Assertion `first_rts != NULL' failed.\n"

From the traceback we can see that this happens on line 406
 Traceback (most recent call last):
  File "/__w/acton/acton/test/./test_db.py", line 406, in test_app_resume_tcp_server
    self.assertEqual(tcp_cmd(self.p, app_port, "GET"), "1")
  File "/__w/acton/acton/test/./test_db.py", line 107, in tcp_cmd
    return tcp_cmd(p, port, cmd, retries-1)
  File "/__w/acton/acton/test/./test_db.py", line 107, in tcp_cmd
    return tcp_cmd(p, port, cmd, retries-1)
  File "/__w/acton/acton/test/./test_db.py", line 88, in tcp_cmd
    raise TcpCmdError(f"Process is dead, returncode: {p.returncode}  stdout: {p.stdout and p.stdout.read()}  stderr: {p.stderr and p.stderr.read()}")

and looking in test_db.py we see that this is after resuming the program from DB... so could it be that first_rts is sometimes not set correctly when resuming from DB?
There's also some error about unpacking client message..
backend/failure_detector/db_queries.c: 2233:\x1b[0m RTS   : error unpacking client message

this was from the job https://github.com/actonlang/acton/runs/7710752909?check_suite_focus=true , raw output:
TcpCmdError: Process is dead, returncode: -6  stdout: b''  stderr: b"07:43:38.373681 \x1b[32mINFO \x1b[0m \x1b[90mrts/rts.c           : 2008:\x1b[0m RTS   : Detected 2 CPUs: Using 4 worker threads, due to low CPU count. No CPU affinity used.\n\n07:43:38.373867 \x1b[32mINFO \x1b[0m \x1b[90mrts/rts.c           : 2062:\x1b[0m RTS   : Starting distributed RTS node, host=localhost, node_id=-1, rack_id=-1, datacenter_id=-1\n\n07:43:38.373880 \x1b[32mINFO \x1b[0m \x1b[90mrts/rts.c           : 2063:\x1b[0m RTS   : Using distributed database backend replication factor of 3\n\n07:43:38.373887 \x1b[32mINFO \x1b[0m \x1b[90mrts/rts.c           : 2075:\x1b[0m RTS   : Using distributed database backend (DDB): <IP_ADDRESS>:30400\n\n07:43:38.373893 \x1b[32mINFO \x1b[0m \x1b[90mrts/rts.c           : 2075:\x1b[0m RTS   : Using distributed database backend (DDB): <IP_ADDRESS>:30402\n\n07:43:38.373899 \x1b[32mINFO \x1b[0m \x1b[90mrts/rts.c           : 2075:\x1b[0m RTS   : Using distributed database backend (DDB): <IP_ADDRESS>:30404\n\n07:43:38.374912 \x1b[31mERROR\x1b[0m \x1b[90mbackend/failure_detector/db_queries.c: 2233:\x1b[0m RTS   : error unpacking client message\n\n07:43:38.375136 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/failure_detector/db_queries.c: 2246:\x1b[0m RTS   : Received gossip message: Membership_agreement_msg(type=2, ack_status=0, nonce=163208764967, Membership(Node(status=0, node_id=95937, rack_id=0, dc_id=0, hostname=<IP_ADDRESS>, port=30401), Node(status=0, node_id=95939, rack_id=0, dc_id=0, hostname=<IP_ADDRESS>, port=30403), Node(status=0, node_id=95941, rack_id=0, dc_id=0, hostname=<IP_ADDRESS>, port=30405), ), Client Membership(Node(status=0, node_id=131071, rack_id=0, dc_id=0, hostname=localhost, port=65535), , VC(95937:60, 95939:56, 95941:53))\nERROR: Server address <IP_ADDRESS>:30400 was already added to membership!\nERROR: Server address <IP_ADDRESS>:30402 was already added to membership!\nERROR: Server address <IP_ADDRESS>:30404 was already added to membership!\n07:43:38.375281 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  588:\x1b[0m RTS   : Added RTS localhost:65535 - 131071 (-181345760) to membership!\n07:43:38.375291 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  788:\x1b[0m RTS   : CLIENT: Updating actor placement. Previous actor membership: actor_membership()\n\n07:43:38.375302 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  825:\x1b[0m RTS   : CLIENT: Actor membership: actor_membership()\n\n07:43:38.375313 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  231:\x1b[0m RTS   : CLIENT: Installed new agreed view Membership_agreement_msg(type=2, ack_status=0, nonce=163208764967, Membership(Node(status=0, node_id=95937, rack_id=0, dc_id=0, hostname=<IP_ADDRESS>, port=30401), Node(status=0, node_id=95939, rack_id=0, dc_id=0, hostname=<IP_ADDRESS>, port=30403), Node(status=0, node_id=95941, rack_id=0, dc_id=0, hostname=<IP_ADDRESS>, port=30405), ), Client Membership(Node(status=0, node_id=131071, rack_id=0, dc_id=0, hostname=localhost, port=65535), , VC(95937:60, 95939:56, 95941:53))\n\n07:43:38.375321 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  234:\x1b[0m RTS   : CLIENT: RTS membership: RTS_membership(RTS(status=0, rack_id=0, dc_id=0, hostname=localhost, rts_id=65535, local_index=131071), )\n\n07:43:38.375374 \x1b[32mINFO \x1b[0m \x1b[90mrts/rts.c           : 2084:\x1b[0m RTS   : Checking for existing actor state in DDB.\n\n07:43:38.375791 \x1b[32mINFO \x1b[0m \x1b[90mrts/rts.c           : 2087:\x1b[0m RTS   : Found 7 existing actors; Restoring actor state from DDB.\n\n07:43:38.376086 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  834:\x1b[0m RTS   : Adding actor -30 to membership!\n07:43:38.376102 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  867:\x1b[0m RTS   : Added actor -30 (-437258406) to membership!\n07:43:38.376109 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  869:\x1b[0m RTS   : CLIENT: Actor membership: actor_membership(Actor(actor_id=-30 (-437258406), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), )\n\n07:43:38.376115 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  834:\x1b[0m RTS   : Adding actor -23 to membership!\n07:43:38.376121 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  867:\x1b[0m RTS   : Added actor -23 (-2031240869) to membership!\n07:43:38.376145 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  869:\x1b[0m RTS   : CLIENT: Actor membership: actor_membership(Actor(actor_id=-30 (-437258406), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-23 (-2031240869), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), )\n\n07:43:38.376155 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  834:\x1b[0m RTS   : Adding actor -18 to membership!\n07:43:38.376161 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  867:\x1b[0m RTS   : Added actor -18 (-883753697) to membership!\n07:43:38.376168 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  869:\x1b[0m RTS   : CLIENT: Actor membership: actor_membership(Actor(actor_id=-30 (-437258406), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-23 (-2031240869), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-18 (-883753697), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), )\n\n07:43:38.376174 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  834:\x1b[0m RTS   : Adding actor -17 to membership!\n07:43:38.376180 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  867:\x1b[0m RTS   : Added actor -17<PHONE_NUMBER>) to membership!\n07:43:38.376187 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  869:\x1b[0m RTS   : CLIENT: Actor membership: actor_membership(Actor(actor_id=-30 (-437258406), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-23 (-2031240869), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-18 (-883753697), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-17<PHONE_NUMBER>), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), )\n\n07:43:38.376194 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  834:\x1b[0m RTS   : Adding actor -14 to membership!\n07:43:38.376201 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  867:\x1b[0m RTS   : Added actor -14 (-550086187) to membership!\n07:43:38.376208 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  869:\x1b[0m RTS   : CLIENT: Actor membership: actor_membership(Actor(actor_id=-30 (-437258406), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-23 (-2031240869), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-18 (-883753697), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-17<PHONE_NUMBER>), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-14 (-550086187), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), )\n\n07:43:38.376214 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  834:\x1b[0m RTS   : Adding actor -12 to membership!\n07:43:38.376220 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  867:\x1b[0m RTS   : Added actor -12 (-264701623) to membership!\n07:43:38.376228 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  869:\x1b[0m RTS   : CLIENT: Actor membership: actor_membership(Actor(actor_id=-30 (-437258406), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-23 (-2031240869), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-18 (-883753697), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-17<PHONE_NUMBER>), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-14 (-550086187), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-12 (-264701623), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), )\n\n07:43:38.376242 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  834:\x1b[0m RTS   : Adding actor -11 to membership!\n07:43:38.376248 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  867:\x1b[0m RTS   : Added actor -11<PHONE_NUMBER>) to membership!\n07:43:38.376257 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  869:\x1b[0m RTS   : CLIENT: Actor membership: actor_membership(Actor(actor_id=-30 (-437258406), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-23 (-2031240869), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-18 (-883753697), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-17<PHONE_NUMBER>), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-14 (-550086187), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-12 (-264701623), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-11<PHONE_NUMBER>), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), )\n\n07:43:38.376429 \x1b[31mERROR\x1b[0m \x1b[90mbackend/failure_detector/db_queries.c: 2233:\x1b[0m RTS   : error unpacking client message\n\n07:43:38.376486 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/failure_detector/db_queries.c: 2246:\x1b[0m RTS   : Received gossip message: Membership_agreement_msg(type=2, ack_status=2, nonce=129738077111243, Membership(Node(status=0, node_id=95937, rack_id=0, dc_id=0, hostname=<IP_ADDRESS>, port=30401), Node(status=0, node_id=95939, rack_id=0, dc_id=0, hostname=<IP_ADDRESS>, port=30403), Node(status=0, node_id=95941, rack_id=0, dc_id=0, hostname=<IP_ADDRESS>, port=30405), ), Client Membership(Node(status=1, node_id=131071, rack_id=0, dc_id=0, hostname=localhost, port=65535), , VC(95937:60, 95939:55, 95941:54))\nERROR: Server address <IP_ADDRESS>:30400 was already added to membership!\nERROR: Server address <IP_ADDRESS>:30402 was already added to membership!\nERROR: Server address <IP_ADDRESS>:30404 was already added to membership!\n07:43:38.376622 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  559:\x1b[0m RTS   : RTS address localhost:65535 was already added to membership, updating status and metadata!\n\n07:43:38.376650 \x1b[36mDEBUG\x1b[0m \x1b[90mbackend/client_api.c:  788:\x1b[0m RTS   : CLIENT: Updating actor placement. Previous actor membership: actor_membership(Actor(actor_id=-30 (-437258406), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-23 (-2031240869), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-18 (-883753697), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-17<PHONE_NUMBER>), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-14 (-550086187), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-12 (-264701623), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), Actor(actor_id=-11<PHONE_NUMBER>), rts=localhost:65535, rts_index=131071, rack_id=0, dc_id=0, status=0), )\n\nddb_test_server: backend/client_api.c:799: update_actor_placement: Assertion `first_rts != NULL' failed.\n"

Fixed by https://github.com/actonlang/acton/pull/906


use owned advertising params

This allows modifying them by the caller in-between calls to advertise_ext.

/test


Cross Compilation failed using Docker script

I have a WPJ531 board that runs OpenWrt Linux.
I want to connect this device to IoT central application.
I have successfully run a simulated device MXchip-01 in my PC using steps given in the following link.
https://docs.microsoft.com/en-us/azure/iot-central/preview/tutorial-connect-pnp-device
Now, I need to do the same thing for my above WPJ board.
For this, I have found the below link which explains cross-compilation for the MIPS processor.
https://github.com/Azure/azure-iot-sdk-c/blob/public-preview/doc/Docker_SDK_Cross_Compile.md
When I tried to run Docker script, I am getting a below error during compilation.
$ docker build -t mipsiotbuild:latest . --network=hostSending build context to Docker daemon  6.656kB Step 1/68 : FROM ubuntu:latest  ---> 549b9b86cb8d Step 2/68 : RUN apt-get update && apt-get -y upgrade  ---> Using cache  ---> f1bffdd00318 Step 3/68 : RUN apt-get install -y cmake git wget nano  ---> Using cache  ---> 7b8891e8b5f9 Step 4/68 : RUN useradd -d /home/builder -ms /bin/bash -G sudo -p builder builder  ---> Using cache  ---> 193f1a03f595 Step 5/68 : USER builder  ---> Using cache  ---> 6fb8ab48cc6e Step 6/68 : WORKDIR /home/builder  ---> Using cache  ---> fe93a55b1915 Step 7/68 : RUN mkdir MIPSBuild  ---> Using cache  ---> 2fefbfa132ab Step 8/68 : WORKDIR MIPSBuild  ---> Using cache  ---> 36f0d8442b02 Step 9/68 : RUN wget https://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620n/OpenWrt-Toolchain-ramips-for-mipsel_24kec%2bdsp-gcc-4.8-linaro_uClibc-<IP_ADDRESS>.tar.bz2  ---> Using cache  ---> 6f1277d5b705 Step 10/68 : RUN tar -xvf OpenWrt-Toolchain-ramips-for-mipsel_24kec+dsp-gcc-4.8-linaro_uClibc-<IP_ADDRESS>.tar.bz2  ---> Using cache  ---> 0260c0ec1d09 Step 11/68 : RUN git clone https://github.com/azure/azure-iot-sdk-c.git  ---> Using cache  ---> 9c9c4280a2a4 Step 12/68 : RUN cd azure-iot-sdk-c  ---> Using cache  ---> f2018761f02f Step 13/68 : RUN git submodule update --init  ---> Running in e55f14bf1ab2 fatal: not a git repository (or any of the parent directories): .git The command '/bin/sh -c git submodule update --init' returned a non-zero code: 128
Am I on right track for the cross compilation for my Target board?
If yes then help me to solve this problem.

@koratshail Thanks for your feedback! We will investigate and update as appropriate.

Hey @koratshail  I suggest filing a github issue against the repo that hosts the script : https://github.com/Azure/azure-iot-sdk-c/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
As the azure-docs repo is meant for issues regarding the azure docs. If you need further troubleshooting I suggest asking the question on MSDN, StackOverflow, or Q&A
https://docs.microsoft.com/answers/index.html
http://stackoverflow.com/

Adding link for future reference https://github.com/Azure/azure-iot-sdk-c/issues/1382


Show Example Screenshots

Show some example Screenshots on the landingpage.
Also a little form which actually triggers the API would be great.

Added in 12a6c8825928c64cd21e0e35c5a7f9039c5a468f


enh: increase metabase connection pool

Description
We are consistently exhausting the metabase connection pool
Risk

Deploy Plan

LGTM.


[Marketing] How to list the extension in the GitHub Browser Extensions showcase?

https://github.com/showcases/github-browser-extensions
Any ideas how to enlist the extension in the showcase? Probably contact GitHub?
@sindresorhus You have two more extensions in there.

@zeke You could probably give us some insight? I know you've used the extension at one point. Thanks!

👋 I didn't know about that showcase. I will look into who's behind it and report back.

cc @leereilly who works on the showcase.

Any updates? :)

Just pinged Lee in Slack...

Added :metal:

Thanks @leereilly and @zeke!


Cannot build Gitea : invalid operation: 1 << j (shift count type int, must be unsigned integer)

Gitea version (or commit ref): ee047312a1a3238a8504200f7ded8536ebc838e3
Git version: git version 2.17.1
Operating system: Ubuntu 18.04
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
Hi,
I cannot build Gitea from source. The following errors are raised during the compilation:
$ TAGS="sqlite sqlite_unlock_notify" make build
build flag -mod=vendor only valid when using modules
CC= GOOS= GOARCH= go generate -mod=vendor -tags 'sqlite sqlite_unlock_notify'
CGO_CFLAGS="-g -O2 -DSQLITE_MAX_VARIABLE_NUMBER=32766" go build -mod=vendor -v  -tags 'sqlite sqlite_unlock_notify' -ldflags '-s -w  -X "main.MakeVersion=GNU Make 4.1" -X "main.Version=1.13.0+dev-462-gee047312a" -X "main.Tags=sqlite sqlite_unlock_notify"' -o gitea
github.com/minio/md5-simd
# github.com/minio/md5-simd
vendor/github.com/minio/md5-simd/block_amd64.go:157:14: invalid operation: 1 << j (shift count type int, must be unsigned integer)
vendor/github.com/minio/md5-simd/block_amd64.go:194:14: invalid operation: 1 << j (shift count type int, must be unsigned integer)
Makefile:545: recipe for target 'gitea' failed
make: *** [gitea] Error 2

My actual go version is go version go1.12.8 linux/amd64. According to this SO thread, go version 1.13 fixes the shift problem. Is it related to my issue ?
Thanks for the help.
:sunflower:

So it appears we only assert that Gitea compiles on 1.12 without sqlite support. Presumably at some point the gosqlite dependency has started requiring 1.13. Unfortunately you're going to have to upgrade if you want to build with sqlite support.

(This is especially important if you want to develop for Gitea - we require that go code is formatted by go fmt - the output of which can change slightly between versions of go. Not having the version of go that our CI checks your formatting with can lead to infuriating bugs.)

I've migrated to go 1.15 and now it works. Thanks

So it appears we only assert that Gitea compiles on 1.12 without sqlite support.

Maybe you can put an explicit warning on the "Installation from source" page within the doc.
:sunflower:


NTR - rln GABAergic cortical interneuron

Note - please check that the term does not already exist (check OLS: https://www.ebi.ac.uk/ols/ontologies/cl)
Preferred term label
rln GABAergic cortical interneuron
Synonyms (add reference(s), please)
Definition (free text, with reference(s), please. PubMed ID format is PMID:XXXXXX)
A GABAergic neuron located in the cerebral cortex that expresses reelin (rln).
PMID:23803971
Parent cell type term (check the hierarchy here https://www.ebi.ac.uk/ols/ontologies/cl)
cerebral cortex GABAergic interneuron - CL:0010011
What is the anatomical structure that the cell is a part of? (check Uberon: https://www.ebi.ac.uk/ols/ontologies/uberon)
UBERON:0000956 - cerebral cortex
Your ORCID
Karen Christie - 0000-0001-5501-853X
David Hill - 0000-0001-7476-6306
Additional notes or concerns

Suggests that perhaps http://purl.obolibrary.org/obo/PCL_0011054 might be promoted to CL cell type (related to discussions https://github.com/obophenotype/provisional_cell_ontology/issues/11)


Make config files built in at build

We will later allow overrides, but this means that you
can go get wingo and run it without having to install a bunch
of files all over the place as root.
Create map of file paths to []byte
If we can't open
a file we can check in the FileMap to see if it's already there.
We use the FileMap for default scripts, data, PNGs, and so on.
If a file is not found, we can fall back to the built in file.
As long as we're at it we save them in there if we open them.
This saves all the many times it opens TTF files.
Signed-off-by: Ronald G. Minnich<EMAIL_ADDRESS>

BurntSushi used panic EVERYWHERE. I don't want to fix that just now. I just removed those calls to panic ... but panic is the wingo style at present.

Note I added the output of go generate (the datafiles.go file) to make go get work. They really just about never change, and I've notice in a lot of the upstream go source, even when a go generate is done, they included the output of the go generate in the repo.


Force coveralls.travis to run in the 'test' env

Ebert has finished reviewing this Pull Request and has found:

1 fixed issue! 🎉

But beware that this branch is 3 commits behind the pinterest:thrift_tng branch, and a review of an up to date branch would produce more accurate results.
You can see more details about this review at https://ebertapp.io/github/pinterest/elixir-thrift/pulls/178.


uses multiple http client libraries, none of them much used

atomic_lib depends on ureq which (is publicly exposed but internally) seems used only for `validate which seems deprecated (see #61).
atomic_server depends on awcwhich seems used only in relation to acme_lib (which itself depends on ureq so it seems odd a) that extra client calls are even necessary, and b) a different client library is used).
It seems sensible to flag the dependency on awc as optional, tied to feature https.
It seems sensible to use only one http library.
Right now simplest is to drop awc since ureq is also used by acme_lib.
Smarter might be to drop both awcand ureq and instead use generic-async-http-client which is also used by async-acme (see #192). If I understand correctly, using that with feature tokio-rustls reuses most of the underlying libraries.
If keeping ureq then please consider disabling feature cookies as (to the best of my knowledge) cookies are not being used neither for accessing atomic servers nor to access Letsencrypt. Then crate cookie_storage should only get pulled on with feature https (because apparently acme_lib has that feature always enabled).

ureq is also used in client

Really? Where?

ah, you mean indirectly via the public interface to atomic_lib.

In client::fetch_body

Right: in atomic_lib::client::fetch_body :-)

Ohhh, now I get your point: in atomic_lib not only validate but also client calls ureq.

I missed that because I only looked for use ureq statements - I was unaware that you could load it deeper in the code.

hm, no - scratch that - I don't make sense

was it deliberate that you pushed to a branch for #331 seemingly unrelated to this issue?

deliberate!

If keeping ureq then please consider disabling feature cookies as (to the best of my knowledge) cookies are not being used neither for accessing atomic servers nor to access Letsencrypt. Then crate cookie_storage should only get pulled on with feature https (because apparently acme_lib has that feature always enabled).

I still use ureq, but the cookies feature is not enabled as far as I can see. Except that acme_lib does depend on it (as well as an older ureq version.


Ilbis Gui Buttons

Posted this on CF comments, but not sure if it'll get looked at there. with the recipe book removed (FastWorkBench or No Recipe Book), your ui elements get pushed over and cover quark's "Deposit to nearby chests" button.

Yes, I saw your comment on CurseForge. I just don't think I can fix that.

No problem, sorry for bothering you!

@mmmilord , the good news is you can move Quark's buttons. You can even do so with the in-game config (esc > q button), so you can tweak the numbers, check the placement, and tweak them again without restarting the client. I personally have the sort button at -20,-22 and the store to chests button at 0,-22, which puts the buttons just above the crafting output and doesn't conflict with anything in my setup; your mileage may, of course, vary.

Hmm, I never thought about such solution. Configurable iblis button positions could solve this issue as well.

@mmmilord , the good news is you can move Quark's buttons. You can even do so with the in-game config (esc > q button), so you can tweak the numbers, check the placement, and tweak them again without restarting the client. I personally have the sort button at -20,-22 and the store to chests button at 0,-22, which puts the buttons just above the crafting output and doesn't conflict with anything in my setup; your mileage may, of course, vary.

Omg, thank you so much Allie <3 I didn't even know that was possible, I'll give it a go!

Happy to help. :)


About calendar problems

Hello, I found some of canendar problems.
1).  displayValues is undefined
var calendarDefault = myApp.calendar({
    onChange: function(p, values, displayValues) {
        console.log(displayValues);     // output: undefined
    }
});

2). He could not be opened. I do not understand what is the reason
// can not open
$$(page.container).click(function() {
    calendarDefault.open();
});

// can open
$$(document).click(function() {
    calendarDefault.open();
});

Look at Calendar API http://framework7.io/docs/calendar.html
As for displayValues there is no such variable in callback, it is mistake in docs

But I need him, I is do so:
// line: 9764
if (p.params.onChange) {
	inputValue = [];
	for (i = 0; i < p.value.length; i++) {
		inputValue.push(formatDate(p.value[i]))
	}
	p.params.onChange(p, p.value, inputValue)
}

It work, will it wrong?

Will be good to see live example, JSFiddle, or full related code

https://github.com/MakeHui/framework7-test

https://github.com/MakeHui/framework7-test

https://github.com/MakeHui/framework7-test

No response and this seems to be a misinterpretation of the docs

For anyone facing the 2nd issue:

2). He could not be opened. I do not understand what is the reason
// can not open
$$(page.container).click(function() {
calendarDefault.open();
});
// can open
$$(document).click(function() {
calendarDefault.open();
});

I found that when you have the closeByOutsideClick property on true (by default on calendar init), the bubling cause by the click  event fires the close event of the calendar.
This is fixed by setting a handler with the e.stopImmediatePropagation(); to avoid the bubbling (I'm rewriting the original example from this issue):
$$(page.container).click(function(e) {
    e.stopImmediatePropagation();
    calendarDefault.open();
});

BTW, I'm using Framework7 v1.6.4


[Th2-2513] Spacer between messages in search

Also we have some scrolling problems right now. Groups are collapsing when we scroll up. And result list jumps strangely when we scrolled to the end.

PR merged to release_6.1 branch


Reducing the memory footprint of the TimsTOF object

Is your feature request related to a problem? Please describe.
In my application I use Ray to distribute cuboids of the raw data for multiple workers on a node. The TimsTOF object seems to occupy about 8GB in memory for one of my raw databases once it's instantiated. Shared objects in Ray are serialised in Plasma but I was wondering whether this object could be smaller.
Describe the solution you would like
Perhaps consider making RT values a numpy array of float32 rather than float64. mz values could be float32 and only float64 if high precision is required? Scan and frame indices could be uint16 and uint32 respectively rather than int64.
Describe alternatives you've considered
The current solution works fine but I'm downcasting the types once I slice into a dataframe.
Additional context
Add any other context or screenshots about the feature request here.

Dear Daryl,
You seem to ask the right question yet again. A low-memory mode has been on my own wish list for a while now as well.
Unfortunately, your casting suggestions are not the solution here. The magic of AlphaTims is that it uses a set of indices instead of the actual coordinates directly. For instance, check out data.rt_values or data.mz_values. You will notice these are actually quite small arrays when compared to data.intensity_values. In general, all arrays are neglibile with respect to data.tof_indices and data.intensity_values and these are already as small as possible (np.uint32 and np.uint16).
I personally consider on-disk memory with hdf5 files to be the way to go here. While this in theory works out of the box, the speed performance of AlphaTims is due to usage of JIT compilation with numba. Unfortunately, numba is not directly compatible with hdf5 files. I have a possible implementation already worked out to solve this, but this requires some careful bookkeeping and is not as generic as I would like just yet. Finally, it should be noted that on-disk memory usage naturally means that speed performance will be worse, but I hope to minimize this by some careful caching.

Quick addition that might partially combine well with your other issue. After creation of your TimsTOF object, you can try to cast the data._rt_values = data._rt_values.astype(np.int32) (notice the underscore, you are normally not supposed to modify this array!). This should reduce dataframe sizes if they are massivily big, even though memoery of the TimsTOF objet itself is hardly impacted... Notice that I haven't checked this properly and that there might be unexpected incompatabilities. If so, feel free to report them back to us so I can look into a fix.

Dear Daryl. I just released version 0.3.1. When using HDF files, by default it now uses mmapping for intensity_values and tof_indices which should provide a significant speed boost to load data and reducy residual memory in favor of virtual memory.  Do note that this is primarily relevant if you do only use parts of the data, which should be the case for your targeted approaches. Hopefully this solves your issue to a large extent, if not feel free to reopen it and we can look at other solutions!

This sounds excellent Sander. Thank you for working on it.