Godot 4 TileSet does not support editing galleries that contain tiles of different sizes.

Godot version
4.0-Beta4
System information
GLES2
Issue description
Starting with Godot 4 (the current version of Beta 4), TileSet still does not support editing galleries that contain tiles of different sizes. I can't edit it from the TileSet editor and can't find the associated API. It's supported in Godot 3 TileSet, which caused me to run into an unachievable bottleneck when migrating my project to 4.0. When I split the atlas into AtlasTexture and import it into Godot 4 TileSet, a total of 13M resources, when it ran it took up 350M of running memory, which is obviously not normal. On Godot 3, it only takes up 28M of running memory.
Key points of the issue: So far, Godot 4 does not support editing atlases that contain tiles of different sizes.
I hope you can pay attention to this problem.
Thank you very much.
Steps to reproduce

Import an image set containing blocks of different sizes
New TileMap
New TileSet
Create TileSetAtlasSouce
I found that I could only create blocks of one size, and I hit a bottleneck.
When I split the atlas into AtlasTexture and saved it locally, and then repeated this step, it took up a lot of memory, more than 20 times the size of my resources.

Minimal reproduction project
暂无

Tiles of different sizes are supported, but big tiles need to be constant multiplies, e.g. base size 16x16, big tiles 16x32, 32x32, 64x64 etc.

支持不同大小的瓷砖，但大瓷砖需要恒定乘法，例如基本大小 16x16、大瓷砖 16x32、32x32、64x64 等。

Tiles of different sizes are supported, but big tiles need to be constant multiplies, e.g. base size 16x16, big tiles 16x32, 32x32, 64x64 etc.

No, the block size in the atlas should be completely open and free, it should not be limited to a certain size, such as Godot 3.x, or a top-down MMO, RPG type of game, such as containing large and small houses, while the Godot 4 TileSet atlas can only fix one size block. This makes the whole game development difficult and leads to bottlenecks, and I think it should go back to the TileSet of Godot 3.X, where the user is free to create size and implementation is always greater than efficiency.

支持不同大小的瓷砖，但大瓷砖需要恒定乘法，例如基本大小 16x16、大瓷砖 16x32、32x32、64x64 等。

支持不同大小的瓷砖，但大瓷砖需要恒定乘法，例如基本大小 16x16、大瓷砖 16x32、32x32、64x64 等。

不可以，图集中的方块大小应该是完全开放和自由的，它不应该限制在一定的大小，比如Godot 3.x，或者一个自上而下的MMO、RPG类型的游戏，比如包含大小房子，而Godot 4 TileSet图集只能固定一个大小的方块。这使得整个游戏开发变得困难并导致瓶颈，我认为它应该回到Godot 3.X的TileSet，用户可以自由创建大小，实现总是大于效率。

Tiles of different sizes are supported, but big tiles need to be constant multiplies, e.g. base size 16x16, big tiles 16x32, 32x32, 64x64 etc.

I'm talking about different sizes, totally irregular blocks, not what you're talking about. For example, 120x102, 45x80........

Tiles of different sizes are supported, but big tiles need to be constant multiplies, e.g. base size 16x16, big tiles 16x32, 32x32, 64x64 etc.

I'm talking about different sizes, totally irregular blocks, not what you're talking about. For example, 120x102, 45x80...... It cannot edit and create blocks of different sizes in a single diagram set.

Arbitrary tile sizes makes no sense and are the reason why 3.x tile editor is a mess. In almost all cases, you want tiles to be multiples of the same size. Such constraint makes working with them infinitely easier, because you can just assume they are on a single grid and it allows to support tile palette and tile patterns among many other things.

I'm talking about different sizes, totally irregular blocks, not what you're talking about. For example, 120x102, 45x80........

This is supported using tile patterns. You can fit your irregular tiles within a rectangle.

Like this atlas, I can't use it in Godot 4TileSet, it's not as simple as you say, I think Godot should be more than just making small games.

任意的磁贴大小是没有意义的，这就是3.x磁贴编辑器一团糟的原因。在几乎所有情况下，您都希望磁贴是相同大小的倍数。这种约束使得使用它们变得无限容易，因为您可以假设它们位于单个网格上，并且它允许支持瓷砖调色板和瓷砖图案等许多其他内容。

我说的是不同的大小，完全不规则的块，而不是你在说什么。例如，120x102、45x80......

使用磁贴模式支持此功能。您可以将不规则磁贴放在一个矩形中。

Arbitrary tile sizes makes no sense and are the reason why 3.x tile editor is a mess. In almost all cases, you want tiles to be multiples of the same size. Such constraint makes working with them infinitely easier, because you can just assume they are on a single grid and it allows to support tile palette and tile patterns among many other things.

I'm talking about different sizes, totally irregular blocks, not what you're talking about. For example, 120x102, 45x80........

This is supported using tile patterns. You can fit your irregular tiles within a rectangle.

Like this atlas, I can't use it in Godot 4TileSet, it's not as simple as you say, I think Godot should be more than just making small games.

In Godot 3.x, it is completely possible, for example:


Add failing test for request for ... is not yet fulfilled

Summary
This is a test for https://github.com/facebook/jest/issues/11434

Perfect, thanks @nicolo-ribaudo! I'll try to find the time soonish to dig into this

@nicolo-ribaudo You apparently need to update test snapshots for e2e/__tests__/nativeEsm.test.ts: https://github.com/facebook/jest/blob/e1fa70b85544f72654082fc02d77683ef65b277a/e2e/__tests__/__snapshots__/nativeEsm.test.ts.snap#L11-L17https://github.com/facebook/jest/blob/e1fa70b85544f72654082fc02d77683ef65b277a/e2e/__tests__/nativeEsm.test.ts#L23-L36

The test will fail regardless (or rather, the snapshot will then encode a failing test as correct, which it's not 🙂 )

FWIW, I believe the underlying issue here is one of the ones tracked in https://github.com/nodejs/node/issues/37648 (specifically the shared cache thing), so I'm waiting for that to be resolved upstream before spending more time on it in Jest


Update databases.md

In a recent opam-repository PR I came into contact with some databases that I didn't know of.
I think we should also list them here to involve more the community.

LGTM. @bluddy ?

Yeah looks good. Merging.

Thanks!


legacy: remove miscutil dependency

How can I remove this dep? See https://github.com/inveniosoftware/invenio-search/blob/master/invenio_search/cache.py#L27
@jirikuncar

See invenio_collections.cache + flask_cache.memoize.

Solved in 1.0.0.


feat: updates alt_title keywords for Tasks in HCC search

This is needed to overcome some shortcomings of current search solution,
mainly case sensitivnes.
RHINENG-8428

@Hyperkid123, could we also have your brief look/help us merge the PR?

thank you guys


Fix a JS crash when recurrence.language_code is not defined

LGTM and proposed by @GergelyKalmar, rebasing and merging into main branch.


ci(Mergify): configuration update

This change has been made by @monfresh from https://mergify.io config editor.

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 93937d4baff25d47b45e76b755ed76e416e68d9a

Here is the documentation for Mergify queues: https://docs.mergify.io/actions/queue/?highlight=queues#single-queue


Poor performance for Tx-es and queries

Crate
relayer
Summary of Bug
Tx-es and queries take a long time to complete. For example getting the account information takes ~1sec:
Jan 07 14:05:31.681  INFO relayer::chain::cosmos:  => getting account info
Jan 07 14:05:32.581  INFO relayer::chain::cosmos:  => got account info

Sending a Tx takes ~2sec:
Jan 07 14:05:32.663  INFO relayer::chain::cosmos:  => sending tx
Jan 07 14:05:34.728  INFO relayer::chain::cosmos:  => received tx response

The problem is here:
https://github.com/informalsystems/ibc-rs/blob/9c5d4f60732db62626cd7163f7e3b87f9f3c289a/relayer/src/chain/cosmos.rs#L132-L134
Version
master
Steps to Reproduce
Run relayer loop or CLIs an notice the slow processing times.

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate milestone (priority) applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

After replacing some of the self.block_on with util's block_on:
https://github.com/informalsystems/ibc-rs/blob/5c9739c536ee253baa5bba2b4f2b20968b3489b7/relayer/src/util/block_on.rs#L6-L13
in anca/relayer_profiling branch, the performance improves dramatically:
Old:
Jan 07 14:05:31.681  INFO relayer::chain::cosmos:  => getting account info
Jan 07 14:05:32.581  INFO relayer::chain::cosmos:  => got account info
Jan 07 14:05:32.663  INFO relayer::chain::cosmos:  => sending tx
Jan 07 14:05:34.728  INFO relayer::chain::cosmos:  => received tx response

New:
Jan 07 14:14:30.121  INFO relayer::chain::cosmos:  => getting account info
Jan 07 14:14:30.125  INFO relayer::chain::cosmos:  => got account info
Jan 07 14:14:30.205  INFO relayer::chain::cosmos:  => sending tx
Jan 07 14:14:31.035  INFO relayer::chain::cosmos:  => received tx response

These changes also uncovered a bug (also fixed in same branch) in relayer loop where latest height minus one is used for proofs when building packets. This is a problem because at h-1 and with now fast processing this may become a non-membership proof (e.g a send packet was not present at h-1)

After replacing some of the self.block_on with util's block_on:
https://github.com/informalsystems/ibc-rs/blob/5c9739c536ee253baa5bba2b4f2b20968b3489b7/relayer/src/util/block_on.rs#L6-L13
in anca/relayer_profiling branch, the performance improves dramatically:
Old:
Jan 07 14:05:31.681  INFO relayer::chain::cosmos:  => getting account info
Jan 07 14:05:32.581  INFO relayer::chain::cosmos:  => got account info
Jan 07 14:05:32.663  INFO relayer::chain::cosmos:  => sending tx
Jan 07 14:05:34.728  INFO relayer::chain::cosmos:  => received tx response

New:
Jan 07 14:14:30.121  INFO relayer::chain::cosmos:  => getting account info
Jan 07 14:14:30.125  INFO relayer::chain::cosmos:  => got account info
Jan 07 14:14:30.205  INFO relayer::chain::cosmos:  => sending tx
Jan 07 14:14:31.035  INFO relayer::chain::cosmos:  => received tx response

These changes also uncovered a bug (also fixed in same branch) in relayer loop where latest height minus one is used for proofs when building packets. This is a problem because at h-1 and with now fast processing this may become a non-membership proof (e.g a send packet was not present at h-1)


Reduce docker privilages to use non-root for FE

Configures FE docker nginx image to run as a non-elevated user

Looks good! Thanks @acherla


Tap using a Package ID / Index

OpenTest version number:
Issue description:
Is it possible to tap a element using the Package ID, or index if the resource ID & xpath is not given?

The package ID only applies to identifying the application to test and not UI elements. If you have multiple elements that match a certain XPath expression and there's no other locator type that works for you, XPath still allows you to identify the exact element you want, by index (which sounds like what you want to do). Look at this SO question and see if it helps: https://stackoverflow.com/questions/4007413/xpath-query-to-get-nth-instance-of-an-element.

Close please


Feature/#10 mount cmd line param paths

#10: Mount command line parameter paths
Having a hard coded list of all parameters which must point to a file or path,
we now collect all paths and add them as mount points to the docker run command.

I think, we need to mention in the Readme, the limitation of the docker starter with symlinks


drivers: i2c: fix build break for nrfx_twi* with newlib

When running sanitycheck for reel_board which selects
CONFIG_NRFX_TWIM it fails the following tests:
tests/misc/test_build/test_newlib
tests/kernel/errno/kernel.common.errno.newlib
tests/lib/mem_alloc/libraries.libc.newlib
/zephyr/drivers/i2c/i2c_nrfx_twim.c:144:3: error: expected declaration
specifiers or '...' before '(' token
(bitrate == I2C_BITRATE_STANDARD ? NRF_TWIM_FREQ_100K
^
/zephyr/drivers/i2c/i2c_nrfx_twim.c:151:3: note: in expansion of macro
'I2C_NRFX_TWIM_FREQUENCY'
I2C_NRFX_TWIM_FREQUENCY(
^~~~~~~~~~~~~~~~~~~~~~~
/zephyr/drivers/i2c/i2c_nrfx_twim.c:184:1: note: in expansion of macro
'I2C_NRFX_TWIM_DEVICE'
I2C_NRFX_TWIM_DEVICE(0);
^~~~~~~~~~~~~~~~~~~~
/zephyr/drivers/i2c/i2c_nrfx_twim.c:154:3: error: expected declaration
specifiers or '...' before string constant
"Wrong I2C " #idx " frequency setting in dts");
^
/zephyr/drivers/i2c/i2c_nrfx_twim.c:184:1: note: in expansion of macro
'I2C_NRFX_TWIM_DEVICE'
I2C_NRFX_TWIM_DEVICE(0);
^~~~~~~~~~~~~~~~~~~~
zephyr/drivers/i2c/CMakeFiles/drivers__i2c.dir/build.make:62: recipe
for target
'zephyr/drivers/i2c/CMakeFiles/drivers__i2c.dir/i2c_nrfx_twim.c.obj'
failed
To fix this, let's replace the use of static_assert() with a more
generic macro: BUILD_ASSERT_MSG()  This should work across minimal
libc, newlibc and c++.
Signed-off-by: Michael Scott<EMAIL_ADDRESS>

Sanitycheck error shown in SHIPPABLE checks here: https://github.com/zephyrproject-rtos/zephyr/pull/11783

@carlescufi NOTE: drivers/sensor/qdec_nrfx/qdec_nrfx.c might fail when building with newlibc as well.  I didn't check it.

Codecov Report

Merging #11785 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #11785   +/-   ##
=======================================
  Coverage   48.27%   48.27%
=======================================
  Files         280      280
  Lines       43321    43321
  Branches    10371    10371
=======================================
  Hits        20913    20913
  Misses      18258    18258
  Partials     4150     4150

Continue to review full report at Codecov.

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


Move testing libraries to devDependencies

Is your proposal related to a problem?

The 3 libraries @testing-library/jest-dom, @testing-library/react and @testing-library/user-event reside in dependencies in package.json. Since they are part of testing, they can be moved into the devDependencies.
Describe the solution you'd like

Describe alternatives you've considered

Since sometimes I don't need the testing tools, I just remove them out, and install as a dev dependency whenever required.
Additional context

Nothing additional, just the fact that I think the libraries meant for testing should ideally be in devDependencies.

See Dan's point of view:

In the end we went with just putting everything into dependencies. If you disagree you can always rearrange package.json as you deem reasonable.

See Dan's point of view:

In the end we went with just putting everything into dependencies. If you disagree you can always rearrange package.json as you deem reasonable.

Oh, that makes sense then. Thanks for the input. I'll close this one out.

Oh, that makes sense then. Thanks for the input. I'll close this one out.

Are you suggesting we use:
/* eslint-disable import/no-extraneous-dependencies */
to overcome the linting error associated with putting it in the devDependencies?

@abryant710 This sounds like a configuration issue.


Gradle: Upgrade GraphQL dependencies to version 5.3.0

See 1.
Signed-off-by: Sebastian Schuberth<EMAIL_ADDRESS>

Merging without another review as this was just rebased.


feat(linter) add fixer to jsx-props-no-spread-multi

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#5145  👈
#5144
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @camc314 and the rest of your teammates on  Graphite


Extension throws 'not found' error for commands after publishing.

VSCode Version: 1.6.1
OS Version: win 7

Steps to Reproduce:

make a extension in js.
debug it it will work.
publish it and install or make vsix and install.
run a command. it doesnt work.

@AkashGutha Please update this issue with precise steps that allow me to reproduce. Like, the actual extension snippet that is causing this and an actual error message.

it was problem with package.json . i had the dependecies as devependencies instead of dependencies.
now it's fixed. it's not a problem with vscode


Fix card headers on the diagnose page (#2536)

Pull request opened by the merge tool on behalf of #2536

Merged in 21e6998afdc31bede1032244e91fdb99a46a3cd8


Add undocumented MoviesSearch to post_commands

Description
add MoviesSearch to post_commands. undocumented API that is the radarr equivalent of sonarr EpisodeSearch. It triggers a search for the given movie the same as clicking the "Search Movie" button in the UI.
Related issues
Closes #155
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] CI / Tests update
[ ] Documentation update

How has this been tested
Tested in a python script on my system against a live Radarr installation. I used info from this Radarr issue https://github.com/Radarr/Radarr/issues/3315

[x] I have added new tests where required
[ ] I have run nox -s tests locally and passed
[X] I have tested this feature in a python script

Script used to test

Hi @LRomandine,
Before I can merge the version would need to be bumped by one minor in the pyproject.toml file. this will make all tests pass.

Done.


Certificate keys

On the home page it says:

Enabling secure connections requires two things: using the scheme wss instead of ws, and pointing Fleck to an x509 certificate containing a public and private key
var server = new WebSocketServer("wss://localhost:8431");
server.Certificate = "MyCert.cer";
server.Start(socket =>
{
//...use as normal
});
AFAIK, if a cert file should contain a private key it has to be a .pfx, not a .cer - and if it has a private key we need a password... right?

Yes, a pfx with both public/private key is needed at the moment, not a cer. My bad on the readme. A password isn't required, I've tested it without one. However, in the case of needing a password, Fleck doesn't support it at the moment. This is an issue.

I thought about this yesterday, maybe just changing the Certificate property to be an X509Certificate2. That would take the responsibility away from Fleck to support all of the varying ways of dealing with certificates.


General use full stack test harness, migrate health bot to Go client

This branch started with the simple goal of making the healthbot use the Go client instead of direct JSON RPC calls. Turned out to be easier said than done, but resulted in some very useful changes:

router.ConfiguredRouter args are now the higher level interfaces that it needs, improving the ability to test using other implementations/mocks.
Some full stack test harness code that existed for the Go client has been moved to a general use function that supports providing custom/mock implementations of many stack dependencies.
Go client doesn't require a "provider" be configured if the user just wants to make read and realyed write calls.
Healthbot now uses Go client.
Healthbot is not tested using the new full stack test harness.

One realization/question that came out of this (cc @jsign @brunocalza): We're not running healthbot for mainnet networks (that don't support write relay). Do we want to? Now that we're using the Go client, it should just work as long as the account behind the configured private key has a sufficient balance. We'll also need to add an alchemy or infura api key to the config.json. The Go client takes care of recognizing whether or not the current chain supports relayed writes or not, and makes the appropriate calls.

One realization/question that came out of this (cc @jsign @brunocalza): We're not running healthbot for mainnet networks (that don't support write relay). Do we want to? Now that we're using the Go client, it should just work as long as the account behind the configured private key has a sufficient balance. We'll also need to add an alchemy or infura api key to the config.json. The Go client takes care of recognizing whether or not the current chain supports relayed writes or not, and makes the appropriate calls.

The last time I talked with @jsign about this, the take was that we don't want to be spending real money on that. But maybe there's a strong case for it? Or maybe we want to make it so other validators can run healthbot on mainnets if they want to?

Hey, yea I was hesitating a bit to merge this one because it requires some major config file changes for anyone running the validator, which always seemed to be a friction point. I was planning on keeping this branch up to date until a good time when we release other changes requiring config file change, but yes, with the new API work, it's probably just a re-write that is needed. Let me know how I can help out.

Go ahead and close this if it makes sense. We can look at the closed PR as a reference for some of the dependency and testing stuff.


Added e-net, a network model (based on e-shoppen model (case 'e-net')).

Types of changes

[ ] Enhancement (project structure, spelling, grammar, formatting)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

A description of the changes proposed in the Pull Request

Added e-net, a network model (based on e-shoppen model (case 'e-net')).

hey @jmcook1186 can you pls review? thx


Slides extracted into components

Standard slide wrapping divs extracted to components.

This has been done. Done over a couple of commits but finished in 4c9d23ed66b8ca5318a00db85281390b451cfa9f


WIP: use fontdue instead of ab_glyph for text rendering

Work in Progress
A quick proof of concept to use fontdue instead of ab_glyph. Just wanted to see how hard this would be and if there is any interest in this. If you have any thoughts, please let me know!

What would be the main motivation for this change?
There is slightly less dependencies, which is nice. It would be nice to see before/after benchmarks to see if there is any improvement.
The main thing I want to address with text is to use a text layout library supporting things like right-to-left, which fontdue doesn't have yet.

I don't know but maybe one of them could help and support RTL(right to left)
https://github.com/RazrFalcon/rustybuzz
https://github.com/dfrg/swash
https://github.com/yeslogic/allsorts

Yeah, RTL and advanced features like shaping currently don't seem to be supported in fontdue, so it make sense to revisit this at a later date.
Performance/better feature support might be reasons for a switch, although a deeper analysis should be done to inform any decisions.
As I said, I mainly wanted to see how easy it would be to swap the font rasterization engine.


EDM-613: Remove redundant config discriminator

Our device.config API currently uses discriminators to determine the config provider type, e.g.
- name: a-git-config
  configType: GitConfigProviderSpec
  gitRef:
    repository: default-repo
    [...]

The configType is a discriminator that leaks an internal schema name (GitConfigProviderSpec) and is both clunky from user perspective and redundant, as the schema can be inferred from the gitRef property as we do with other schemas (e.g. ApplicationSpec):
- name: a-git-config
  gitRef:
    repository: default-repo
    [...]

@fzdarsky The UI currently relies on the field for managing the configurations.
I will make the necessary adaptations to go with this PR tomorrow, as it's been used in a few places.

@fzdarsky The UI currently relies on the field for managing the configurations. I will make the necessary adaptations to go with this PR tomorrow, as it's been used in a few places.

Thanks @celdrake. IDK your backlog for v0.3. It'd be nice to get this in, but no huge issue if we have to bump to next. Please decide at your own discretion.


Multiple demands??

There is no instruction on how to pass multiple demands. What is the seperator, also this doesn't elaborate how to set keyword arguments. Just -exists version.

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

ID: e7541ee6-d2bb-84c0-fead-1aa8ee7d2372
Version Independent ID: 5cf7c51e-37e1-6c67-e6c6-80262c4eb662
Content: Demands - Azure Pipelines
Content Source: docs/pipelines/process/demands.md
Product: devops
Technology: devops-cicd
GitHub Login: @andyjlewis
Microsoft Alias: alewis

@mcgov Thanks to the following link, I was able to figure this out. Looks like they only support exists and equals checks right now, but this is how you'd do an equals check:
jobs:
  - job: Build
    pool:
      name: Your Pool Name Here
      demands:
        - Agent.OS -equals Linux # check if agent OS == Linux
        - SomeOtherDemand # this is an exists check

Ref -- https://github.com/Microsoft/azure-pipelines-agent/issues/1740

Thank you! This is super helpful.

@mcgov I've opened a PR to help other developers with this in the future. (AKA avoid another DenverCoder9 situation! 😂)


sample: fix googlecloudstoragesource.yaml sample

This is an invalid change, please do not merge 🙅♂
https://github.com/triggermesh/triggermesh/blob/main/config/300-googlecloudstoragesource.yaml#L100

btw, with the 1.25 release spec.auth.serviceAccountKey is not accepted.

btw, with the 1.25 release spec.auth.serviceAccountKey is not accepted.

what do you mean by "not accepted"? It was merged in February and released in 1.24.0:
https://docs.triggermesh.io/1.24/reference/sources/#sources.triggermesh.io/v1alpha1.GoogleCloudSourceAuth

what do you mean by "not accepted"?

Oh sorry. I forgot I am running the Tanzu packaged version. It's the older release. My bad!


[improve][test] Bump TestNG to 7.5

Motivation
Bump TestNG to 7.5.
Modifications

Bump TestNG to 7.5
Fix build

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/nodece/pulsar/pull/14

Try to bump TestNG to 7.6.1.

All tests passed. Merging...


chore: bump juju to 3.4

Description
bump juju version from 3.1 to 3.4
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that validate the behaviour of the software
[ ] I validated that new and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have bumped the version of the library

The fix for failing integration tests is here.


chore: revisit logic on how and when to show alteration summary (hl-1472)

Description :sparkles:
Alteration summary didn't show up if ahjo automation was not used. Change this and bunch of other logic on when to display this information

Always display alterations in all envs: remove flag NEXT_PUBLIC_ENABLE_ALTERATION_FEATURES
To display alteration, the application must have either

handledByAhjoAutomation, ahjoCaseId as "HEL 20xx-xxxx" and ahjoStatus as "details_received"
handledByAhjoAutomation as false and batchStatus as "sent_to_talpa" (Talpa robot visit) or "completed" (archived by handler after Talpa robot).

APPLICANT branch is deployed to platta: https://helsinkilisa-ui-pr3335.dev.hel.ninja :rocket::rocket::rocket:

HANDLER branch is deployed to platta: https://helsinkilisa-ui-handler-pr3335.dev.hel.ninja :rocket::rocket::rocket:

API branch is deployed to platta: https://helsinkilisa-pr3335.api.dev.hel.ninja/healthz :rocket::rocket::rocket:

TestCafe result is success for https://helsinkilisa-ui-pr3335.dev.hel.ninja :laughing::tada::tada::tada:


CartForm refactor to allow greater customisation

I've refactored things even further, especially note the introduction of CartEditField.
I've done away with the static method all together.
@wilr

Could someone please review this and give the OK to merge?

Sorry, Jeremy, I saw the "Merged" badge above and didn't realize it was refering to PR 332. I thought you'd already merged this.

cool thanks @markguinn


Add SameSite directive #174

This PR allow to add the SameSite directive in SetCookie header
See #174

Hi @webimpress
Thanks for your return.
I have added a constant for None value.

Thanks, @MadCat34!


Ldaps

Can I use LDAP over TLS (STARTTLS) instead of LDAP (without encryption)?

No, as mentioned in the docs. Unfortunately, the underlying ldapjs server does not support this: https://github.com/ldapjs/node-ldapjs/issues/663
However, the use of LDAP over SSL would work.

Thanks, I'll try LDAP over SSL. What are the names of the variables to configure in .env?

Thanks, I hadn't seen the page


Pass parent props to validate function

I need create a configurable validation function. Simplest example is ENUM validation based on a data from a server.
So, what are you think about providing props to the validate function as a second argument?

Also I want to use react-intl to translate error messages.
react-intl provides @injectIntl decorator that provides intl prop with translation functions.


Vision Image Detector API is not detecting color properly

Hi I have tried a couple of scenarios with the different images the color is not getting properly
Here are  images I have used

I transferred this issue to the nodejs-vision client library repository


MP3 Player

Audio is as important as text today if not more important. Since audio files are digital files, you’ll need a tool that can play them. Without a player, you’ll never be able to listen to the contents of an audio file.
This is where the MP3 Player comes in. The MP3 Player is a device for playing MP3s and other digital audio files. This MP3 Player GUI project idea attempts to emulate the physical MP3 Player. You can build software that allows you play an MP3 files on your desktop or laptop computer.
When you are done building the MP3 Player project, users can play their MP3 files and other digital audio files without having to purchase a physical MP3 Player. They’ll be able to play the MP3 files using their computers.
Examples of MP3 Players
Here are some implementations of the MP3 Player idea:
MusicBee
Foobar2000

I'm Interested!

Hey! I just made an Mp3 player with GUI using Tkinter. Can you please review it?


Provide nicer output on test failure

Current dependencies on/for this PR:

main

PR #27

PR #28

PR #29   👈

This comment was auto-generated by Graphite.

Will rework per #35


Clean up top navigation?

The navigation bar is getting crowded:

I added the "Home" element because I couldn't figure out how to make the project name "Introduction to Python" link to the index page. If this can be fixed, we can probably get rid of the "Home" link. Before getting rid of this, we should make sure the new navigation works on mobile.
I'm also not sure about the social media buttons. I'm not sure we need all three there.

I believe this is taken care of well enough for now.


feat(header): header & primary navigation redesign

Remaining To Dos:

[x] User details component
[ ] Link focus style

I m believing its not responsive yet.

@maulik-thaker1 Your screenshots are the old version of the header. Were you looking at the deploy preview?

@maulik-thaker1 Your screenshots are the old version of the header. Were you looking at the deploy preview?

oh yeah. I had a branch named feat/header and was looking locally. Sorry my bad. :)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Commit IaaS

@RajeevRangappa : Thanks for your contribution! The author, @RajeevRangappa, has been notified to review your proposed change.

@RajeevRangappa : Thanks for your contribution! The author, @RajeevRangappa, has been notified to review your proposed change.

@RajeevRangappa : Thanks for your contribution! The author, @RajeevRangappa, has been notified to review your proposed change.

@RajeevRangappa : Thanks for your contribution! The author, @RajeevRangappa, has been notified to review your proposed change.

@RajeevRangappa : Thanks for your contribution! The author, @RajeevRangappa, has been notified to review your proposed change.

@RajeevRangappa : Thanks for your contribution! The author, @RajeevRangappa, has been notified to review your proposed change.

@RajeevRangappa : Thanks for your contribution! The author, @RajeevRangappa, has been notified to review your proposed change.

@RajeevRangappa - Microsoft authors of articles need to make updates through the private repository so the updates can be staged and validated by the current validation rules. Read about article authors working in the public repo for more information. Thank you.


fix(DatePicker): fix tabbing through in range mode

Refs https://github.com/IBM/carbon-components-react/issues/1899#issuecomment-467212036. Accordion to Flatpickr author, this issue has been fixed in 4.5.5 and I can see it in our Storybook environment.
Changelog
Changed

Flatpickr dependency to 4.5.5

@emyarod Yeah the plan is opening up tickets. I think it starts with request for supporting our UX pattern, especially in range mode.


Executable fails to link when using Regex with --static-swift-stdlib (Linux)

Describe the bug
The new Regex type cannot be used together with --static-swift-stdlib. I've confirmed this on Swift 5.7.1 and on the latest main snapshot (2022-11-03). Sometimes clean builds work, but subsequent incremental builds fail with a linker error. Similar behavior is observed when using just -Xswiftc -static-executable.
Steps To Reproduce
Steps to reproduce the behavior:

Create an executable that uses the Regex type in some way (e.g. try Regex("abc"))
Execute swift build --static-swift-stdlib
If step 2 didn't fail, make a change to the executable's source and issue the same build command

Expected behavior
Building and linking should succeed.
Screenshots
Here's some example output:
error: link command failed with exit code 1 (use -v to see invocation)
/usr/bin/ld.gold: error: /home/patrick/.swiftly/toolchains/5.7.1/usr/lib/swift_static/linux/libswiftCore.a(UnicodeScalarProps.cpp.o): multiple definition of '_swift_stdlib_getScript'
/usr/bin/ld.gold: /home/patrick/.swiftly/toolchains/5.7.1/usr/lib/swift_static/linux/libswift_StringProcessing.a(UnicodeScalarProps.c.o): previous definition here
/usr/bin/ld.gold: error: /home/patrick/.swiftly/toolchains/5.7.1/usr/lib/swift_static/linux/libswiftCore.a(UnicodeScalarProps.cpp.o): multiple definition of '_swift_stdlib_getScriptExtensions'
/usr/bin/ld.gold: /home/patrick/.swiftly/toolchains/5.7.1/usr/lib/swift_static/linux/libswift_StringProcessing.a(UnicodeScalarProps.c.o): previous definition here
/home/patrick/.swiftly/toolchains/5.7.1/usr/lib/swift_static/linux/libswift_StringProcessing.a(_StringProcessing.o):_StringProcessing.o:function $s17_StringProcessing5RegexV5MatchV6outputxvg: error: undefined reference to '$s12_RegexParser16TypeConstructionO5tuple2ofypxn_tSKRzyp7ElementRtzlFZ'

clang-13: error: linker command failed with exit code 1 (use -v to see invocation)

Environment (please fill out the following information)

OS: Ubuntu 20.04
Swift 5.7.1, Swift version 5.7-dev (LLVM d5f117e38620783, Swift d8b7ece39940996)

cc @MaxDesiatov @etcwilde

FWIW I just found this issue after posting a longer breakdown on the forums here. In short, I can confirm this is breaking Android builds as well currently.

Sorry. Haven't had a chance to look yet. It's definitely good that the error is catching though. It's UB otherwise.
We shouldn't be linking the same .o file into both libraries. I'll have to poke around the build and see why it's liking UnicodeScalarProps.c.o into both libraries and remove it from one of them.

So, this is way worse than I thought, and is definitely UB
So the one from the stdlib is defined in UnicodeScalarProps.cpp, but it's exposes as an extern "C" function, so it will look like a C symbol.
https://github.com/apple/swift/blob/9936a60333676d1e5e4af34fd50e50163f60b418/stdlib/public/stubs/Unicode/UnicodeScalarProps.cpp#L492-L495
Meanwhile, we also have:
https://github.com/apple/swift-experimental-string-processing/blob/335a0c23aeb755fbdbc5a0a32c726f6daf35f303/Sources/_CUnicode/UnicodeScalarProps.c#L70-L87
So, yeah, there are two, different, implementations of these functions. One uses C calling conventions, the other Swift. If you did manage to get a binary out of this, I would tell you not to touch it because it's going to be buggy in hard-to-debug ways. Thanks for bringing this up.

I imagine this will be the same for other linux builds.

Yeah, this is UB everywhere. Fixing it should work, yes.

@etcwilde good to know! I did get a binary out of this by using the dodgy hack described in my link above to the Swift Forums.
I then ran into another issue, which may or may not be related, namely that the static Android build (which should be similar to the linux build in most ways) fails when looking for symbols from the objc runtime, which shouldn't be linked at all on Linux. Again, not sure if that's related to the issue here – it seems unlikely, but maybe?

Wait, no, those are different. I'll have to take a closer look later.

I wouldn't trust anything that you get out though. If you have two of the same symbol, it's UB and can do anything it likes.

Thanks a lot for the advice! That's good to know.
I didn't plan to trust it, but even if I wanted to, the resulting binary fails to link at runtime due to the unsatisfied link error looking for the objc runtime (objc_retainAutoreleasedReturnValue). Just an FYI 🙏🏼

This should have made it into the 5.7 branch: https://github.com/apple/swift-experimental-string-processing/pull/544

@etcwilde that's interesting. I don't really understand how certain commits are chosen for a particular release. I am using swift-5.7-RELEASE.xctoolchain and Android SDK build made from that same tag, so looks like this fix you linked above is indeed still needed 🙏🏼 Thanks so much for looking into this!
By the way, the objc runtime issue was unrelated. For that I also needed to link -lDispatchStubs which presumably just stubs out those objc methods. So the fix here is the main thing stopping us from using static linking on Android. Exciting times! Thanks again

I don't really understand how certain commits are chosen for a particular release.

Before the release branch is cut, everything going onto main will end up in the release.
After the release branch is cut, we have to remember to cherry-pick everything from main onto the release branch.
After the release is released, only certain bug fixes get cherry-picked back to a given release for a dot-release.

I have been using the swift:5.9 docker image, and after I implicitly got the updated 5.9.1, I did get this error. Downgrading to 5.9.0 on linux solved it for me, seems to be a regression.

I'm going to close this as the duplicate symbol was resolved in 5.7.2. @koliyo if you are still seeing this, please file a new issue, thanks! It could be completely unrelated 🤔


Validate affineTransform API

@targos, do you agree with this API for the affine transform function?
The inputs of the functions are 3xN matrices consisting of the source and the destination points. The third dimension for Z must be padded with zeros. The output is an object containing the x and y translations as well as the angle in degrees.
export interface AffineTransformParameters {
  rotation: number;
  translation: { x: number; y: number };
}

export function getAffineTransform(
  source: Matrix,
  destination: Matrix,
): AffineTransformParameters;

Discussed in person


python312Packages.pykeepass: fix No module found pkg_resources

Description of changes
A recent channel update has led to keepmenu no longer working with a Module not found error: pkg_resources in pykeepass. This led me to add setuptools to pykeepass. I think this is due to Python 3.12 no longer including this module by default.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

I think this is due to Python 3.12 no longer including this module by default.

No, it's actually because I erroneously removed setuptools from the dependencies in 805943e5fa5e0985ad01cc691327a4382a7f3d99.

Done. Thanks.

Please fix the commit message according to the PR title.

All done. Thanks.


Property validation and tests

Message moved ahead of mm3Types Properties, basic placeholders implemented in replaceValues() to be compatible with full i18n.Message
Int/float min/max, String min/max chars and regex pattern validate() generated, optionally translatable generic error messages.
Base model for Int/Float property, to share validate() generation and min/max.
Fix for Property.validate() with no args specified
Tests in js/foam/test/Types.js

LGTM


Add trackpad settings

Should add  my default trackpad settings.
Reference:

https://github.com/shunk031/dotfiles/blob/master/install/macos/common/defaults.sh
https://macos-defaults.com/

Related to #81
Get trackpad settings:
defaults read | grep -A 5 trackpad
defaults read | grep -A 5 Multitouch

defaults read com.apple.AppleMultitouchTrackpad
{
    ActuateDetents = 1;
    Clicking = 1;
    DragLock = 0;
    Dragging = 0;
    FirstClickThreshold = 1;
    ForceSuppressed = 0;
    SecondClickThreshold = 1;
    TrackpadCornerSecondaryClick = 0;
    TrackpadFiveFingerPinchGesture = 2;
    TrackpadFourFingerHorizSwipeGesture = 2;
    TrackpadFourFingerPinchGesture = 2;
    TrackpadFourFingerVertSwipeGesture = 2;
    TrackpadHandResting = 1;
    TrackpadHorizScroll = 1;
    TrackpadMomentumScroll = 1;
    TrackpadPinch = 1;
    TrackpadRightClick = 1;
    TrackpadRotate = 1;
    TrackpadScroll = 1;
    TrackpadThreeFingerDrag = 0;
    TrackpadThreeFingerHorizSwipeGesture = 2;
    TrackpadThreeFingerTapGesture = 0;
    TrackpadThreeFingerVertSwipeGesture = 2;
    TrackpadTwoFingerDoubleTapGesture = 1;
    TrackpadTwoFingerFromRightEdgeSwipeGesture = 3;
    USBMouseStopsTrackpad = 0;
    UserPreferences = 1;
    version = 12;
}

For Sonoma the API has changed. I haven't found documentation about how to disable natural scrolling via defaults API.


Reorg Repository and Start Documentation

Reorganize the Repository layout and Start Documentation

Codecov Report

Merging #2 (008653f) into main (d5e8061) will increase coverage by 10.60%.
The diff coverage is 0.00%.

:exclamation: Current head 008653f differs from pull request most recent head 83a71e0. Consider uploading reports for the commit 83a71e0 to get more accurate results

@@             Coverage Diff             @@
##             main       #2       +/-   ##
===========================================
+ Coverage   56.06%   66.66%   +10.60%
===========================================
  Files           1        2        +1
  Lines          66       96       +30
===========================================
+ Hits           37       64       +27
- Misses         29       31        +2
- Partials        0        1        +1

Impacted Files
Coverage Δ

internal/utils/copymap.go
90.00% <ø> (ø)

loggers/std/std.go
56.06% <0.00%> (ø)

Continue to review full report at Codecov.

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


Add provider.retired_backends

What is the expected behavior?
As part of the new design docs, the retired backends of a provider are to be displayed in its own entity, instead of being part of the regular provider.backends():
provider.retired_backends() #  -> [<IBMQBackend('ibmq_retired_A')>,
                            #      <IBMQBackend('ibmq_retired_B')>]
provider.get_retired_backend('ibmq_retired_A')
provider.retired_backends.ibmq_retired_B

Likely related to Qiskit/qiskit-ibm-provider#297 for deciding the splitting of backends.

Stale issue, closing


Launch tutorial for Humble error

The tutorial for Humble leads to an error when using colcon build (source/Tutorials/Intermediate/Launch/Launch-system.rst). To note, the line in the setup.py file to add the launch file causes the issue.
import os
import glob
# Other imports ...

package_name = 'py_launch_example'

setup(
    # Other parameters ...
    data_files=[
        # ... Other data files
        # Include all launch files.
        (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*launch.[pxy][yma]*')))
    ]
)

Issue:

from glob import glob

Misread of instructions


org.apache.kafka.common.utils.Utils.newThread(Ljava/lang/String;Ljava/lang/Runnable;Ljava/lang/Boolean;)Ljava/lang/Thread;

Hi,
I am not able to call kafka broker from kafka consumer in java.
    public SimpleCounterKafkaFileConsumer(){
        Properties properties = new Properties();

//	        properties.put("bootstrap.servers","localhost:9092");
properties.put("zookeeper.connect","localhost:2181");
properties.put("group.id","test-consumer-group");
properties.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
properties.put("value.deserializer", "org.apache.kafka.common.serialization.ByteArrayDeserializer");
ConsumerConfig consumerConfig = new ConsumerConfig(properties);
consumerConnector = Consumer.createJavaConsumerConnector(consumerConfig);
}
If I replace zookeeper.connect then it says java.lang.IllegalArgumentException: requirement failed: Missing required property 'zookeeper.connect'
Please suggest how to get connection with Kafka broker.

Hi @taufiquealam007, which version of Kafka server and Kafka lib did you use?

Hi @taufiquealam007,
Kafka_2.10-<IP_ADDRESS> is an old (pretty old) version of Kafka client. The new client is pure Java and called  kafka-clients. However, you are not required to specify the kafka-clients dependency because it's already defined in ddth-kafka's POM file (https://github.com/DDTH/ddth-kafka/blob/master/pom.xml), unless you are using a newer version of kafka-clients.
You may want to see the example in README file: https://github.com/DDTH/ddth-kafka/blob/master/README.md
Regards,
Thanh  Nguyen


Add rubygems source to Gemfile line in README

Users at Shopify encounter a warning during bundle install due to the fact that the gem is registered at rubygems.org and in our internal package system:
Warning: the gem 'maintenance_tasks' was found in multiple sources.
Installed from: https://rubygems.org/
Also found in:
  * https://packages.shopify.io/shopify/gems/
You should add a source requirement to restrict this gem to your preferred source.
For example:
    gem 'maintenance_tasks', :source => 'https://rubygems.org/'
Then uninstall the gem 'maintenance_tasks' (or delete all bundled gems) and then install again.

IMHO we should tell users to source the gem from the public source in the README to prevent this issue.

Even when there's a warning it installs the latest version, which is from rubygems, so I'm not sure it's a problem.

Yep, I don't think it's actually problematic per se, but it's come up a couple of times now as a source of confusion for adopters. Given that most of our users are internal at this point, I thought maybe it was simplest to specify the version at the cost of being redundant for external users.
I think going with bundle add is good, that way there isn't confusion / people not updating if we ever do bump the major version.

Ah okay great, I was indeed thinking that dependabot might not update if a major version is released (although given bundle add adds the version requirement to the Gemfile anyways, not sure why I thought they would behave differently 🤦♀ ). I think this is still better, it prevent us from having to change the version in the README whenever we do a major version release, and it makes things a bit simpler by removing the extra bundle line.


TLS/SSL support

Hi, are there plans to impliment tls/ssl with this app?

Yes there is, currently I am working on a update/port to Polymer 1.0 https://github.com/sandro-k/MQTTLensChromeApp/tree/polymer_v1 and then would switch to https://github.com/mqttjs/mqtt-elements, wich already has support for TLS/SSL

@sandro-k were you able to make any progress on TLS/SSL support?

The short answer is no.. As of https://blog.chromium.org/2016/08/from-chrome-apps-to-web.html Chrome Apps are deprecated and will not work on Mac, Windows or Linux after the second half of 2017. That is why I need to port MQTTLens to Atom or something else that runs HTML and JavaScript as a desktop application. When switching to Atom it should be possible to just use MQTT.js without the need to bundle it via Browserify and use the native SSL/TLS support of the library.


CB-9109 Switching to using .ratignores

Switched to using a repository's .ratignore file instead of the ratExcludes property inside of coho.

Looks good (well, apart from those blank lines you insist on adding at the beginning of blocks :smile:).

LGTM


Division by zero crashes editor and builds instead of logging error message

Godot version
v4.2.beta1.official [b1371806a]
System information
Godot v4.2.beta1 - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2070 (NVIDIA; <IP_ADDRESS>40) - AMD Ryzen 7 5800X 8-Core Processor (16 Threads)
Issue description
When you are dividing ints by 0 builds and editor hard crashes.
In 4.1.2, both editor and builds, there's an error message logged.
(Editor crashes only happen when using @tool)
Floats doesn't crash, and doesn't log an error, instead it results in "inf".
The editor warns about division by zero if you try 1/0 etc.
Boxing the divisor in a variable yeilds no warning:
var zero:int = 0
1/zero

Steps to reproduce

Open the supplied minimal project in Godot 4.2 beta 1
Press "Run Project"
Observe the float example resulting in "inf" and then a hard crash when it tries to do the same with ints

Minimal reproduction project
div-by-zero-bug.zip
Edit: Fixed erroneous godot version. Got confused and copied from the wrong window.

Godot version
Godot v4.1.2.stable

To clarify, I believe you meant to report this against 4.2-beta1.
I tested locally on Linux with 4.2-beta1 and it's not crashing for me:

Might be Windows specific.

To clarify, I believe you meant to report this against 4.2-beta1.
Good eye, sniper!
My bad. Updated the issue, copying from the right godot instance.

Might be Windows specific.
Does seem like it, yes. The other person replicating this over on chat.godotengine.org also ran Windows.

Oh right I forgot to post this image. It's the console log for when I replicated the crash on rocket chat. Not sure if it's any use though. I could only get the backtrace when using my custom build of 4.2(probably my fault), but I got the same crash on the official.

As text:
CrashHandlerException: Program crashed
Engine version: Godot Engine v4.2.beta.custom_build (19d962e1aa50f2089392761549216c106fae646c)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[0] <couldn't map PC to fn name>
[1] <couldn't map PC to fn name>
[2] <couldn't map PC to fn name>
[3] <couldn't map PC to fn name>
[4] <couldn't map PC to fn name>
[5] <couldn't map PC to fn name>
[6] <couldn't map PC to fn name>
[7] <couldn't map PC to fn name>
[8] <couldn't map PC to fn name>
[9] <couldn't map PC to fn name>
[10] <couldn't map PC to fn name>
[11] <couldn't map PC to fn name>
[12] <couldn't map PC to fn name>
[13] <couldn't map PC to fn name>
[14] <couldn't map PC to fn name>
[15] <couldn't map PC to fn name>
[16] <couldn't map PC to fn name>
[17] <couldn't map PC to fn name>
[18] <couldn't map PC to fn name>
[19] <couldn't map PC to fn name>
[20] <couldn't map PC to fn name>
-- END OF BACKTRACE --

Please build with debug symbols

Furthermore: backtrace of the repro
float: div by zero: inf

================================================================
CrashHandlerException: Program crashed
Engine version: Godot Engine v4.2.beta.custom_build (7b33ad354a1884c027487892f2e44e8cc6862076)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[0] OperatorEvaluatorDivNZ<__int64,__int64,__int64>::validated_evaluate (D:\Libraries\Documents\GodotSource\latest\godot\core\variant\variant_op.h:181)
[1] OperatorEvaluatorDivNZ<__int64,__int64,__int64>::validated_evaluate (D:\Libraries\Documents\GodotSource\latest\godot\core\variant\variant_op.h:181)
[2] GDScriptFunction::call (D:\Libraries\Documents\GodotSource\latest\godot\modules\gdscript\gdscript_vm.cpp:686)
[3] GDScriptInstance::callp (D:\Libraries\Documents\GodotSource\latest\godot\modules\gdscript\gdscript.cpp:1849)
[4] Node::_notification (D:\Libraries\Documents\GodotSource\latest\godot\scene\main\node.cpp:187)
[5] Node2D::_notificationv (D:\Libraries\Documents\GodotSource\latest\godot\scene\2d\node_2d.h:37)
[6] Object::notification (D:\Libraries\Documents\GodotSource\latest\godot\core\object\object.cpp:839)
[7] Node::_propagate_ready (D:\Libraries\Documents\GodotSource\latest\godot\scene\main\node.cpp:232)
[8] Node::_propagate_ready (D:\Libraries\Documents\GodotSource\latest\godot\scene\main\node.cpp:221)
[9] Node::_set_tree (D:\Libraries\Documents\GodotSource\latest\godot\scene\main\node.cpp:2941)
[10] OS_Windows::run (D:\Libraries\Documents\GodotSource\latest\godot\platform\windows\os_windows.cpp:1470)
[11] widechar_main (D:\Libraries\Documents\GodotSource\latest\godot\platform\windows\godot_windows.cpp:182)
[12] _main (D:\Libraries\Documents\GodotSource\latest\godot\platform\windows\godot_windows.cpp:206)
[13] main (D:\Libraries\Documents\GodotSource\latest\godot\platform\windows\godot_windows.cpp:218)
[14] __scrt_common_main_seh (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[15] <couldn't map PC to fn name>
-- END OF BACKTRACE --
================================================================

Tested on Windows 10 on current master (a574c0296b38d5f786f249b12e6251e562c528cc), I get the crash too. Error message is
Stop reason: Exception 0xc0000094 encountered at address 0x7ff7d0032079
0xc0000094 is Windows SEH code for EXCEPTION_INT_DIVIDE_BY_ZERO, which makes sense. Error happens here, because argument right is zero:
https://github.com/godotengine/godot/blob/a574c0296b38d5f786f249b12e6251e562c528cc/core/variant/variant_op.h#L181
Looks like the basic OperatorEvaluatorDivNZ::evaluate() function does have a check for zero division, but the validated_evaluate() and ptr_evaluate() versions don't:
https://github.com/godotengine/godot/blob/a574c0296b38d5f786f249b12e6251e562c528cc/core/variant/variant_op.h#L166-L187

It seems that all OperatorEvaluators in https://github.com/godotengine/godot/blob/a574c0296b38d5f786f249b12e6251e562c528cc/core/variant/variant_op.h suffer from the same problem. If the evaluate() checks some error situations, validated_evaluate() and ptr_evaluate() either crash or return something weird. Some examples:
	var a := -1
	print(12 << a) # prints "0" instead of error message

	var b := 0
	print(12 % b) # crashes


Is formhub/uuid still useful?

Or can it be removed from the output (both XML nodes, and the bind)?

This only makes sense in Ona(onadata), it is something we inject after we get the XML from pyxform as such this probably should be an issue for http://github.com/onaio/onadata.
When it was introduced in Formhub, the intention was to allow us to identify a form uniquely since the form_id aka id_string was only unique in one account. The behaviour still is that the user defines the form_id.
How would you suggest we approach the issue of uniquely identifying a form when you have multiple accounts and the only items you have is a form submission?

Thanks. I guess it would be nice to be able to turn it off but I was just wondering if it was still being used.

We still use it, quite more heavily since we allow submissions at ona.io/submission where people have access to forms with the same id_string on different accounts. If it has to be turned off, that will need to happen on the Ona data report. Pyxform does not introduce it. Any specific reason why it is a bother?

Aha, totally misunderstood. I thought pyxform added it. I'm using Ona almost exclusively for Enketo development, so I see it all the time. Apologies!


Audio elements cannot be initialized when a Livekit connection is established without user interaction

Describe the bug
I cannot get the voices of the existing participants when I do these operations without any interaction from the user to set up the Livekit connection and enter the room. I think it's a browser. How can I solve this situation in Livekit ?
Reproduction
When I attempt to establish a Livekit connection directly via a link, without any user interaction (such as clicking a button), I am unable to receive any audio. This entry is made with a URL. When I try to do this using JavaScript click events, I still cannot receive audio. The browser console logs the following error:
The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page
Logs
The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page

System Info
Windows 11 pro, 123.0.6312.58

Severity
annoyance
Additional Information
No response

you'll have to call room.startAudio() directly from a user's gesture, e.g. a click handler


caculate basePath only once in DiskCache

finished a TODO in class DiskCache line 17

@CaptainTeemo what do you think ?

@dcharbonnier if we put that calculate stuff in getter of static var
public static var staticBasePath: String {
    let cachesPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0]
    let hanekePathComponent = HanekeGlobals.Domain
    let basePath = (cachesPath as NSString).stringByAppendingPathComponent(hanekePathComponent)
    return basePath
}

it will be executed multiple times too.
So I think you mean
public static var staticBasePath: String {
    return privateBasePath
}

but that's the same as a class function if basePath will never be changed.
public class func basePath() -> String {
    return privateBasePath
}

if I was wrong please tell
thx 😆

why not a lazy initialization ?

omg I thought a lazy init variable must be declared with lazy.
thanks man


WHATWG spec reference boxes have a usability regression

Navigate to https://infra.spec.whatwg.org/#strings and click on the bold "string" definition. In the reference box that pops up, click #string at the top. In the past (and in maybe every other bikeshed specification) this would fragment-navigate you to #string, centering on that definition. Instead, the reference box does this awkward slow animation as it slides to the bottom left of the screen, and no navigation occurs.
If you want to navigate to the #string definition, you have to click on any reference within that reference panel, and then go back up and click on #string at the top of the reference panel to center you correctly on the definition. This seems like a usability regression:

I think anytime you click on #string at the top of the box, you should be fragment-navigated to the definition.
Why does the mouse turn into a question mark when you hover over definitions now?
Why does the reference box animate now, slowly to the corner instead of just snapping there?

I noticed all of these on most WHATWG standards, but not really any other bikeshed specs. Any thoughts as to what is happening here?

Hi Dominic.  Since I was the instigator (and primary implementor) of these changes, I am very interested to hear your feedback.  It seems to be working now as intended, so maybe we need to make some more changes so the behavior is less confusing.

Navigate to https://infra.spec.whatwg.org/#strings and click on the bold "string" definition. In the reference box that pops up, click #string at the top. In the past (and in maybe every other bikeshed specification) this would fragment-navigate you to #string, centering on that definition.

The way it used to work, which I found very confusing, was that two things would happen when you clicked on the #string link:

The window scrolled, putting the definition I had hovered over in the center of the window.
The reference box disappeared and was immediately displayed at the bottom of the window.

Consequently, I wasn't aware that the reference box was moved to the bottom of the window; it just seemed to disappear.  The scrolling motion of the navigation was effectively like a slight-of-hand distraction that obscured the immediate redisplay of the reference box at the bottom corner of the window.

Instead, the reference box does this awkward slow animation as it slides to the bottom left of the screen, and no navigation occurs.

The initial redisplay of the reference box is immediate, straight down to the bottom of the window, and then the animation that slides the box to the left should be done in about a second.  The intention of the animation was to make the repositioning visible so you know what happened to it, rather than appearing to merely disappear.
Scrolling the definition (that you were already looking at when you clicked on the link) to the center of the window is not particularly helpful, and instead, it seems to be more of a distraction since you are not really navigating to a link that is somewhere else.  The definition is already visible in the window where you were hovering and clicking.   If you need to see what was above the definition, you can do that by scrolling (with the mousewheel or by other means) instead, even while the reference box is displayed under the definition.

If you want to navigate to the #string definition, you have to click on any reference within that reference panel, and then go back up and click on #string at the top of the reference panel to center you correctly on the definition.

The current behavior is a little different from what you describe in some cases.  If the destination that a link would navigate to is already visible on the page, then no scrolling occurs.  Rather, the destination is highlighted, and the highlight fades over one second.  The intention is to make the destination visible without the distraction of a scrolling event.  When you click on the #string link, the definition itself is not highlighted, unless scrolling is required to make it visible on the page.  I think that lack of highlighting is actually a bug, and it should instead highlight every destination in all cases, regardless of whether scrolling is required.
I tend to think that the highlighting of the destination is not quite enough to be noticeable.  Scrolling the destination to the top of the window is not particularly desirable if it is already visible within the window, but it may serve to draw attention to that destination on the first line, if the scrolling is not otherwise distracting.

This seems like a usability regression:

I think anytime you click on #string at the top of the box, you should be fragment-navigated to the definition.

Navigation to a page with a link that includes a fragment actually scrolls the page to display the destination at the top of the window, not the center.  Is there some user-customized behavior I am unaware of?

Why does the mouse turn into a question mark when you hover over definitions now?

The definition link does not behave like other links that navigate to somewhere else.  Instead, clicking on the definition displays information about the thing you just clicked on; hence, the question mark cursor seems entirely appropriate.

Why does the reference box animate now, slowly to the corner instead of just snapping there?

Unless you are already aware that the reference box will appear in the corner, you will tend to not see it.  I know that was true for me.  I wonder how many other people were similarly confused.

I noticed all of these on most WHATWG standards, but not really any other bikeshed specs. Any thoughts as to what is happening here?

This should be true of all bikeshed specs that have been regenerated since the last release of Bikeshed.  I suspect your experience of being surprised by the change is more about what you were used to than that the new behavior is a regression.    I am curious if you might get used to the current behavior.  I am also curious about what other people have experienced.

The way it used to work, which I found very confusing,

Do we know for sure that other people found this very confusing? I personally find it more confusing that one link (for the actual definition) in the reference panel now behaves totally different compared to all of the other links in the panel. I think we should figure out if the old behavior was actually causing problems or confusion to most spec consumers before changing it.

The reference box disappeared and was immediately displayed at the bottom of the window.

Consequently, I wasn't aware that the reference box was moved to the bottom of the window; it just seemed to disappear.

Just to be clear, are you saying that after clicking the definition link in the reference panel, you couldn't see it down in the bottom left of, e.g., this screenshot:

Again, is this a known issue that has caused editors or implementers pain that needed to be addressed?

The scrolling motion of the navigation was effectively like a slight-of-hand distraction that obscured the immediate redisplay of the reference box at the bottom corner of the window.

I don't think I understand this. Normally (in the past) you'd just get an immediately synchronous same-document fragment navigation with the reference panel still appearing at the bottom left of the screen. What was the problem with that? I think everyone understands that links in standards are generally same-document fragment navigations, so that behavior seemed really consistent with just how the web works. I would love to see that part of this change reverted.

The intention of the animation was to make the repositioning visible so you know what happened to it, rather than appearing to merely disappear.

I don't think I ever saw it just randomly disappear, after clicking a link in the reference window. Is this a widely known issue that I'm not aware of? I never had any issues with this.

Scrolling the definition (that you were already looking at when you clicked on the link) to the center of the window is not particularly helpful, and instead, it seems to be more of a distraction since you are not really navigating to a link that is somewhere else.

Yeah this part makes sense, I have no qualms with simply highlighting the definition if it is already on-screen for you to see (instead of scrolling you to it). I just think that clicking links in the reference pane should always navigate the fragment/URL bar to that link or reference. That's exclusively how I would get links to specific references of definitions all the time to send people. Now that is often hard or impossible. For example if you navigate to https://dom.spec.whatwg.org/#trees and I want to send someone a link to the "descendants" definition, I think clicking the bold descendants should change the URL bar to #concept-tree-descendant (while preserving the scroll position on the page, if you really want that behavior). Same goes for if I want to send someone a specific reference to that term that happens to be within my viewport. For example: https://dom.spec.whatwg.org/#ref-for-concept-tree-descendant①. Now I have to click any random reference in the panel that's way out of viewport just to scroll me far away, and then finally click on the reference that I actually want, in order for it to fragment-navigate me back up to the top and give me the URL of the reference I actually want to send someone a link to it. And that's not even always possible, since there's no guarantee there's a reference out-of-viewport. Either way this is a terribly hacky workflow.

The current behavior is a little different from what you describe in some cases. If the destination that a link would navigate to is already visible on the page, then no scrolling occurs. Rather, the destination is highlighted, and the highlight fades over one second.

Fair enough, I just think the URL bar should either always change or never change. Whether the reference or definition is within the viewport should have no impact on how usable my URL bar becomes while navigating around a spec.

Scrolling the destination to the top of the window is not particularly desirable if it is already visible within the window, but it may serve to draw attention to that destination on the first line, if the scrolling is not otherwise distracting.

Do other people think this? Was this a common complaint that editors and implementers (i.e., spec readers) had? I feel like it wasn't, and this decision may have been made without that data.

Unless you are already aware that the reference box will appear in the corner, you will tend to not see it. I know that was true for me. I wonder how many other people were similarly confused.

I have never heard of this complaint before, and I believe I am very tapped into the spec editor ecosystem. Please, please, please, consult avid spec users before making this kind of change on a whim/hunch.

Not updating the URL to correspond with any link you click on was not intentional.   I can see why that change would be disruptive, and we should be able to fix that while preserving the rest of the behavior.
I made these changes with Tab, who I am confident has lots of connections with spec users.  It certainly wasn't done on a whim or hunch.  We didn't do any study of users experiences with spec documents, but I believe it is widely known that there can be many confusing aspects of web link behavior.  A general problem I observed, as a new user of spec documents, is that it was very confusing to be confronted with a large number of links that had a variety of very different behaviors, all looking otherwise identical.  I generally want to know where a link goes or what it does before clicking on it.

I personally find it more confusing that one link (for the actual definition) in the reference panel now behaves totally different compared to all of the other links in the panel.

That link, tho, is by definition to the exact element you're already looking at, and hovered immediately prior. I'm not sure I understand what benefit there would be of scrolling that element to the top of the screen.
Hm, tho, I hadn't noticed the behavior where if the target of any of the panel links is already on screen, it doesn't change the URL. We should fix that, that's weird.

Just to be clear, are you saying that after clicking the definition link in the reference panel, you couldn't see it down in the bottom left

It wasn't that I couldn't see the reference panel if I looked in the corner; it was that I didn't notice that the reference panel had moved.  After the page was done redisplaying, or scrolling, or whatever the link took me to, the box that suddenly appeared in the lower left corner was the same as the box I was just looking at when it seemed to just vanish under my mouse.  Furthermore, the definition I started on is still visible somewhere on the page.  As a new user, I would have to know that before I click on a link at the top of the reference box, it will do what it is about to do.  Then, the next time I do something similar, I can expect that it will behave in a similar manner.  But how can I tell one kind of link from another if they all look the same?

I also would like to support the general sentiment of "if it isn't broken, don't change it..." Adding new capabilities is cool (e.g. the linking text info), but changing how existing things work would best be done with a bit more data and editor consultation than seems to have been behind this change.
In particular, "I believe it is widely known that there can be many confusing aspects of web link behavior" doesn't ring true with my experience. Previously, all links behaved like normal <a> elements. Now this link in particular behaves very differently.

Note that I've deployed some fixes here. I've removed the code that attempted to prevent a scroll from occurring if the anchor was already on the page, as it was causing the other issues (and working around that to still have the URL update, etc., wasn't worth the difficulty).
I've also changed the trigger for showing the panels. Having them activate on hover has been bothering me for a while; it's just a little bit too busy, and results in panels popping up when you're just moving your mouse over the link on the way to a different location.  I probably want to add a delayed hover effect as well, but writing a proper delay behavior when you can trigger a bunch of overlapping delays is non-trivial and I didn't have time to dig into it on Friday.

And the weird slow-mo slidey definition panel is definitely a strange experience that other people don't get if they open infra.spec.whatwg.org/#string in a new tab.

Someone freshly visiting the page won't get a dfn panel at all until they click the dfn. That's always been the case. The slide just makes the "teleport from next to the dfn to the corner of the screen" behavior a little more obvious; without it it is easy to miss if the dfn wasn't anywhere near that corner originally.
Tho perhaps we can shorten the duration when the panel is already close to its final position, so the "slow-mo" effect isn't as pronounced.

Fully agree with @ domfarolino's initial comment here. Rather annoying usability regression, without any good reasons.
Especially the animation feels awkward to my eyes, and the "clicking on a fragment identifier not working the way clicking on a fragment identifier works everywhere else " is just broken.

Again, I've fixed several nits in the last few releases; they've been out for several weeks, so if you're still seeing the link issues it's just because those specs haven't been rebuilt recently. I haven't touched the animation yet.


Update 28.0.0 Changelog with labels

FYI @iajoiner -- here are some proposed changes to the changelog (by running the update_changelog_script)

As I am going to create the RC shortly, I will make a new PR against apache master. Thank you


Update the TaskList Component

I have updated the TaskList Component into functional one. I tried to convert App.js  into a functional component as well but it didn't work . Also if there is an error in the TaskList Component please let me know and if you could help with that it would be great.

I've pulled the tasks list up a component level to App.js which is now being passed down to TasksList, I think this makes more sense than the ref approach I originally used for the class components. Also means there's no need for useImperativeHandle and forwardRef which made things a bit confusing. My bad for the weird structure 🥴
Thanks for the work on this @ayush-git228! ✨

This is also merged into all extension branches now :tada:

I've pulled the tasks list up a component level to App.js which is now being passed down to TasksList, I think this makes more sense than the ref approach I originally used for the class components. Also means there's no need for useImperativeHandle and forwardRef which made things a bit confusing. My bad for the weird structure 🥴
Thanks for the work on this @ayush-git228! ✨

Sorry for the late reply as I see your comment just right now. Okay so the idea behind using forward ref and useRef was that initailly I was trying to convert the App.js and TaskList comp. both into Func. Comp with react hooks. and so the traditional refs don't work here, the forward ref is to pass the function of child comp. to use in parent comp. and this ref comes useWitha imperative Handler. But it didn't work that well, will more on that in the future but thankyou so much for pointing out the errors, really appreciated and I will make my code more clear.


null-terminated strings in templates

Did I miss something, or is support for null-terminated strings missing in the templates?
I added a proc to do this, but then evaluating the template is very slow (unusable in my case).
proc c_str {label} {
	set char [uint8]
	set length 0
	while {$char} {
		set char [uint8]
		incr length
	}
	move -$length
	move -1
	if {$length} {str $length "utf8" $label} else {entry $label ""}
	int8
}

I added a cstr command in 0c25bb5f38206856991af8948684376e99205590 (tagged wrong issue number). You can use it like so:
cstr utf8 Name

where "utf8" is any existing valid string identifier, and "Name" is the label, optional.

Thanks! This is much easier to use, however there is no real speed improvement (for a few MB document). I tried to implement a quick and dirty cache in [HFTemplateController readBytes:size:], and this is definitely where we can get speed improvements: my template is then executed 15 times faster.
Here is my cache implementation, however I have absolutely no knowledge of HF internals so it certainly can't be used as is (and the cache needs to be released somewhere):
@property unsigned char *bytesCache;
@property HFRange bytesCacheRange;
- (BOOL)readBytes:(void *)buffer size:(size_t)size {
    const HFRange range = HFRangeMake(self.anchor + self.position, size);
    if (!HFRangeIsSubrangeOfRange(range, HFRangeMake(0, self.controller.contentsLength))) {
        return NO;
    }
    HFASSERT(range.length <= NSUIntegerMax); // it doesn't make sense to ask for a buffer larger than can be stored in memory
    HFASSERT(HFRangeIsSubrangeOfRange(range, HFRangeMake(0, [self.controller contentsLength])));
    if ((!_bytesCache) || (range.location < _bytesCacheRange.location) || (range.location + range.length > _bytesCacheRange.location + _bytesCacheRange.length)) {
        if (_bytesCache)
            free(_bytesCache);
        _bytesCacheRange.location = range.location;
        _bytesCacheRange.length = 1024 * 1024;
        if (_bytesCacheRange.location + _bytesCacheRange.length > [self.controller contentsLength])
            _bytesCacheRange.length = [self.controller contentsLength] - _bytesCacheRange.location;
        _bytesCache = malloc(_bytesCacheRange.length);
        [self.controller.byteArray copyBytes:_bytesCache range:_bytesCacheRange];
    }
    memcpy(buffer, _bytesCache + range.location - _bytesCacheRange.location, size);

    self.position += size;
    return YES;
}

Thanks! I added your code with a few slight changes. Let me know if that works.


Other Sampling Rates

Yo Nate! :)
So I'm back to working on my radio website that I've talked to you about in the past, but fortunately my question today is quite small!
The issue is that I'm streaming mp3 files from all over the internet, and thus, they don't come in a same pretty pattern, they all have completely different bit rates and sampling rates. The bit rate problem I managed to solve, but the sampling rates problem sort of depends on this lib, hehe.
https://github.com/TooTallNate/node-lame/blob/master/lib/parse.js#L30
This array only allows those sampling rates, and when a file comes with a sampling rate of say 22050 (I'm spawning a process of ffprobe to figure out this info on a track), then it bugs everything and doesn't run, haha.
To make a big story short, is adding new sampling rates as easy as adding numbers to that array? Or is the issue deeper than that?
By the way, I'll be writing a huge blog post about the part 2 of the radio website and you can expect another big thank you in there :P
Cheers,

For anyone messing with sample rates there exists node-resampler (libresample) and node-samplerate (libsamplerate) both are backed by incredibly well maintained and performant native modules. I would recommend using them if you are still having a resample issue.


Stellar Wallet won't open and load assets and pages

Почему

I'm also seeing this issue. Using the CLI to list balances works, but send operations fail.

Hello
I've received the message that my lumes has been sent, but it's not showing in my wallet.

keybase wallet send doesn't work and throws
▶ ERROR internal error

Same issue ! 🆙

Same problem.

I have a feeling they are aware of the issue, just need to wait this out.

Seems the issue is now resolved


Replace API and Session Token Logic with Flask-Login and Permissions

Flask-Login is a Flask extension that, per its description, "handles the common tasks of logging in, logging out, and remembering your users' sessions over extended periods of time." It is quite popular, with over 170K users, and has been maintained as recently as a few weeks ago.
If I'm understanding the library correctly, with this logic we can get rid of the access tokens logic as well as the sessions token logic. It will manage sessions automatically, and the access tokens logic can be replaced as described below:
When we log in a user, instead of using an access token, we determine what permissions are assigned to that user, and use that to determine whether they can access a particular endpoint. Through the session management, we maintain a secure state.
This should be able to work in both browser and a requests environment (i.e., via a CURL request). Session/cookies can be preserved between two requests through the methods described here.
We would replace the @api_required decorator with a @login_required decorator (provided by Flask-Login) and a @permissions_required(permissions) decorator, which would check the user against the permissions assigned to them in the database, and see if they have the permissions passed as the parameter.
With this, we should be able to reduce the amount of logic that we have to manage. It will likely make logic such as that with #296 considerably easier.
Things that would need testing include:

That the user session management can work in both a browser and a requests environment (i.e., via a CURL request).

@maxachis It seems like flask-login is complementary to authlib, so that's good. Just dropping the link to plans for the broader auth refactor:  https://github.com/Police-Data-Accessibility-Project/data-sources-app/issues/318
I think this issue is a duplicate of #322 , yes? Do you want to close this and add the description to that issue, or am I reading that wrong?

I think this issue is a duplicate of https://github.com/Police-Data-Accessibility-Project/data-sources-app/issues/322 , yes? Do you want to close this and add the description to that issue, or am I reading that wrong?

@josh-chamberlain There's definitely overlap! I think part of it can be consolidated into that, but the question of API Access Tokens is a little more uncertain.
flask-login can handle any actions taken from the browser. And technically, the cookies provided by flask-login can be used in non-browser requests, but it's a little less user-friendly than an API key. Hence, I could see a few options:

flask-login for requests that can only occur through browser, and api keys for non-browser API calls
flask-login for both
flask-login for neither, and we try something else.

I'm also creating a proposal label to indicate that I am not treating this as WE MUST DO THIS 👿 but more MAYBE WE CAN DO THIS 🧐

@maxachis normally I'm against divergent logic, but the idea of combining them or doing neither seem worse. I think option 1 is my favorite.
Yes, that's why I made the new idea label! I'm just going to merge my label into yours

@josh-chamberlain I'll also want to bring @joshuagraber into this discussion, as he's also quite well-informed on authentication and permissions logic, so his input would be valuable here.

@josh-chamberlain To your earlier point about whether this is a duplicate of #322, I think we can consider #322 to be one component, which would be followed-up by this. I'll direct my attention now to that issue, and then this would follow-up on that.

As far as technical details of the library we use, I'll trust your Python expertise @maxachis. But from my perspective, we should implement the following for auth:

A basic authentication structure for all public-facing APIs, which will provide essentially a key:value pair that clients can use to hit any API that does not require user auth. (i.e. data_sources_app:a54os... or jane_researcher:354no98h32...)
A bearer authentication structure for all APIs that require user authentication. This token should be a JWT and should encode the usual things (expiration, etc.) as well as any permissions that the user is entitled to.

We've wayyyyy implemented this, so we can close this!


Field display bug without elements

When searching
https://spec.edmcouncil.org/fibo/ontology/FND/Quantities/QuantitiesAndUnits/Quantity
field IS-A restrictions inherited from superclasses: has no items but is displaying.

Issue solved.


[FR] Make "Uninstall App" button be confirmable

While testing the Tool, I accidentally uninstalled the app twice. I would suggest to move the button away from "Send Push" or make it at least so, that it needs to be confirmed.

While testing the Tool, I accidentally uninstalled the app twice. I would suggest to move the button away from "Send Push" or make it at least so, that it needs to be confirmed.

is it means that 'could not uninstall app'?

@zengpeici Uninstalling works - too good I would mean :D I think it would be a better usability to move the button away from the current location, because it can to easily be hit on accident. Or at least a confirmation ala "Really uninstall?" should come

@vandres  good suggestion.

@davedelong I moved the button in https://github.com/twostraws/ControlRoom/pull/30. Do we still want to add the confirmation alert?

Yes, let's re-purpose this as making it a confirmable action

Fixed by #39


Could not load type 'System.IdentityModel.Tokens.TokenValidationParameters'

ERROR
I've upgraded my project to the latest release of System.IdentityModel.Tokens.Jwt (5.0.0).
Now I get a runtime exception in my host:
Could not load type 'System.IdentityModel.Tokens.TokenValidationParameters' from assembly
'System.IdentityModel.Tokens.Jwt, Version=<IP_ADDRESS>, Culture=neutral,
PublicKeyToken=31bf3856ad364e35'.
( others at https://github.com/IdentityServer/IdentityServer3/issues/3017 saw the same with JWT breaking change)
FIX
Run the below command on Package Manager Console for both Projects (TodoSPA & ToGoAPI)
Install-Package System.IdentityModel.Tokens.Jwt -Version <IP_ADDRESS>221351
Then build, select root Solution TodoSPA, and press F5 to start both websites and run the solution.  Should work OK now.

I recorded a video on the install steps on my blog.
Want to add to documentation README.MD?
http://www.spjeff.com/2017/10/05/video-azure-ad-protected-web-api-in-an-angularjs-spa/

Closing this as we are archiving this sample. Please check out the new sample at ms-identity-javascript-angular-spa-aspnetcore-webapi.


Do not match HostKeyAlgorithms in SSH config file

Modern versions of SSH support a config option called HostKeyAlgorithms
that identifies the algorithms that will be offered or accepted (in the
case of SSHD). Since _fzf_complete_ssh does a case insensitive grep for
host, this line--if present--is also picked up.
The line being changed is:
https://github.com/junegunn/fzf/blob/master/shell/completion.bash#L244
The addition is: command grep -v 'HostKeyAlgorithms |'

Turns out there are 14 other config options that use the word "host". I'm not sure that stringing them all together in a big grep -v is a great idea.

Thanks. How about if we command grep -i '^host ' (with a trailing space)?

Duh. That makes perfect sense.

Cool, can you update this pull request?

I'm unsure why this change is causing the test to fail. Digging into it.
merlot:fzf jayed$ git diff origin/master
diff --git a/shell/completion.bash b/shell/completion.bash
index 86b7852..54b61a8 100644
--- a/shell/completion.bash
+++ b/shell/completion.bash
@@ -241,7 +241,7 @@ _fzf_complete_telnet() {

 _fzf_complete_ssh() {
   _fzf_complete '+m' "$@" < <(
-    cat <(cat ~/.ssh/config /etc/ssh/ssh_config 2> /dev/null | command grep -i '^host' | command grep -v '*' | awk '{for (i = 2; i <= NF; i++) print $1 " " $i}') \
+    cat <(cat ~/.ssh/config /etc/ssh/ssh_config 2> /dev/null | command grep -i '^host ' | command grep -v '*' | awk '{for (i = 2; i <= NF; i++) print $1 " " $i}') \
         <(command grep -oE '^[[a-z0-9.,:-]+' ~/.ssh/known_hosts | tr ',' '\n' | tr -d '[' | awk '{ print $1 " " $1 }') \
         <(command grep -v '^\s*\(#\|$\)' /etc/hosts | command grep -Fv '<IP_ADDRESS>') |
         awk '{if (length($2) > 0) {print $2}}' | sort -u
diff --git a/shell/completion.zsh b/shell/completion.zsh
index 1e3ced8..b15b264 100644
--- a/shell/completion.zsh
+++ b/shell/completion.zsh
@@ -114,7 +114,7 @@ _fzf_complete_telnet() {

 _fzf_complete_ssh() {
   _fzf_complete '+m' "$@" < <(
-    command cat <(cat ~/.ssh/config /etc/ssh/ssh_config 2> /dev/null | command grep -i '^host' | command grep -v '*' | awk '{for (i = 2; i <= NF; i++) print $1 " " $i}') \
+    command cat <(cat ~/.ssh/config /etc/ssh/ssh_config 2> /dev/null | command grep -i '^host ' | command grep -v '*' | awk '{for (i = 2; i <= NF; i++) print $1 " " $i}') \
         <(command grep -oE '^[[a-z0-9.,:-]+' ~/.ssh/known_hosts | tr ',' '\n' | tr -d '[' | awk '{ print $1 " " $1 }') \
         <(command grep -v '^\s*\(#\|$\)' /etc/hosts | command grep -Fv '<IP_ADDRESS>') |
         awk '{if (length($2) > 0) {print $2}}' | sort -u

This is the failing test:
  def test_accept_non_empty
    tmux.send_keys %(seq 1000 | #{fzf '--print-query --bind enter:accept-non-empty'}), :Enter
    tmux.until { |lines| lines.match_count == 1000 }
    tmux.send_keys 'foo'
    tmux.until { |lines| lines[-2].include? '0/1000' }
    # fzf doesn't exit since there's no selection
    tmux.send_keys :Enter
    tmux.until { |lines| lines[-2].include? '0/1000' }
    tmux.send_keys 'C-u'
    tmux.until { |lines| lines[-2].include? '1000/1000' }
    tmux.send_keys '999'
    tmux.until { |lines| lines[-2].include? '1/1000' }
    tmux.send_keys :Enter
    assert_equal %w[999 999], readonce.split($INPUT_RECORD_SEPARATOR)
  end

Just rerunning the test worked.

Added a commit that exclude the ?-wildcard in hostnames.

Merged, thanks!

I'll take a look at that flaky test case.


[Bug] elasticstack_elasticsearch_security_role_mapping: jsonencode convert list to string if only one item will be passed in the list

Describe the bug
When I create a elasticstack_elasticsearch_security_role_mapping resource and pass the field "groups" as a list, the terraform plan and apply will be executed correctly, but it will be stored as string in the .tfstate file instead of a list. The Terraform tries to change this again with every new Plan/Apply
To Reproduce
Steps to reproduce the behavior:
resource "elasticstack_elasticsearch_security_role_mapping" "role_mapping" {
  enabled  = true
  name     = each.value.project_name
  roles    = ["kibana_admin"]
  rules = jsonencode({
    all: [
      {
        field: {
          "realm.name": "abc"
        }
      },
      {
        field: {
          groups : ["project1"]
        }
      }
    ]
  })
}

Expected behavior
The group "project1" will be saved as list in the .tfstate file
Versions (please complete the following information):

Terraform Version: v1.5.7
Provider version: 0.9.0
Elasticsearch Version: 8.10.4

Additional context
I thought first that this a global terraform problem, but they directed me back to you (https://github.com/hashicorp/terraform/issues/34107)

Correct, this is not expected. We have several role mappings (around 36) and each time we want to make a small update (to any other terraform resource), terraform shows there are 36 "changes" to make to the role mappings.
Some of our role mappings are linked to 1 group only, and some others to 2+ groups. Running "terraform apply" shows "changes" only for the role mappings with 1 group linked, not the others.
Looks like terraform takes the role mappings that only have 1 group as strings. so whenever we apply a different change, it detects we're trying to change that string to a list, which is not correct, because during the first run, we applied a list, but for some reason in terraform it is saved as a string.
Attaching some screenshots

This looks more like an issue on elastic side to me. When you check the mapping rules in json editor of kibana you will see that when a list of strings with only one entry is passed it is saved a string. If you however pass a list of strings with multiple values it stays like that.
      "field": {
        "groups": "Azure-K8s-Unicorns-RW"
      }

vs
      "field": {
        "groups": [
          "Team-Infrastructure",
          "Team-Network-Operations"
        ]
      }


Filters panel and button disappear when filtering down to 0 results (react-search-refiners)

Category

[ ] Question
[x] Bug
[ ] Enhancement

Authors
@FranckyC
@wobba
Expected or Desired Behavior
When filtering down to 0 results (i.e., no results match the current combination of filters), the filters panel remains available.  Deselecting filters so that >0 match the current filter combination causes results to show up.
Observed Behavior
When filtering down to 0 results (i.e., no results match the current combination of filters), the filters panel  and filters panel button both disappear.  It is then no longer possible to open the filters panel or deselect filters (making it impossible to see any search results).  The user must refresh the page and perform a new search to be able to start filtering again.
This is especially an issue because search result counts for filters are just based on original results, and not on the currently-filtered subset, so the user has no way of knowing when applying a new filter will kill the filters panel and force them to start over.
Steps to Reproduce

Set up a page with search bar and search results web parts (search results coming from the search bar).  These can either have a query template specified in the results web part, or use a site or site collection result source.
If desired, configure the results web part by adding refiners, changing the display template, etc.  (The issue can also be replicated with no extra configuration.)
Search for something.
Apply multiple filters that, all together, have 0 overlapping results.  This causes the filters panel and filters panel button to disappear.

@mgordin Should be resovled. You can take a look.


Unit Test for TargetGroup Target Type seems to prevent using a parameter to specify the value

TargetGroup(AWSObject)
def validate(self):
    one_of(self.__class__.__name__,
           self.properties,
           'TargetType',
           [
               None,
               TARGET_TYPE_INSTANCE,
               TARGET_TYPE_IP,
               TARGET_TYPE_LAMBDA
           ])

I have to hardcode the value of instance, ip, or lambda into my code. Any reason why this is forced particularly? I'd like to reuse the same template and in some environments I want a different target type.

Adding to the issue, you can also not use Ref('AWS::NoValue') which should clearly be possible, since this value is optional.