[BUG]in 'example.py'

Hello
I meet a bug in example.py,after 'python example.py',it reported 'stop_sequences: list[str] = field(
TypeError: 'type' object is not subscriptable'
Can you help me?

I meet the same problem，Did you solve this problem

@KurokoWD @Haonote can you provide the full output?

@kyegomez
Thanks to your reply.
My full output is as follow:

____    /_   /_ /  _    /     /  |    _)   |    | /  /\   /     /  |        \  |    |/    |    /__ /_______  /  |_|_|__  /
/        /                 /
Traceback (most recent call last):
File "example.py", line 2, in
from pali3.main import Pali3
File "/home/weidong/PALI3-main/pali3/init.py", line 1, in
from pali3.tokenizer import tokenize, detokenize
File "/home/weidong/PALI3-main/pali3/tokenizer.py", line 2, in
from zeta.tokenizers import TokenMonster
File "/home/weidong/anaconda3/envs/pytorch/lib/python3.8/site-packages/zeta/init.py", line 37, in
from zeta import tokenizers
File "/home/weidong/anaconda3/envs/pytorch/lib/python3.8/site-packages/zeta/tokenizers/init.py", line 5, in
from zeta.tokenizers.tiktoken import TikToken
File "/home/weidong/anaconda3/envs/pytorch/lib/python3.8/site-packages/zeta/tokenizers/tiktoken.py", line 8, in
from zeta.tokenizers.base import BaseTokenizer
File "/home/weidong/anaconda3/envs/pytorch/lib/python3.8/site-packages/zeta/tokenizers/base.py", line 9, in
class BaseTokenizer(ABC):
File "/home/weidong/anaconda3/envs/pytorch/lib/python3.8/site-packages/zeta/tokenizers/base.py", line 12, in BaseTokenizer
stop_sequences: list[str] = field(
TypeError: 'type' object is not subscriptable

@kyegomez Thanks to your reply
My error report is as follows：

____    /_   /_ /  _    /     /  |    _)   |    | /  /\   /     /  |        \  |    |/    |    /__ /_______  /  |_|_|__  /
/        /                 /
Traceback (most recent call last):
File "/home/hao/下载/PALI3-main/example.py", line 2, in
from pali3.main import Pali3
File "/home/hao/下载/PALI3-main/pali3/init.py", line 1, in
from pali3.tokenizer import tokenize, detokenize
File "/home/hao/下载/PALI3-main/pali3/tokenizer.py", line 2, in
from zeta.tokenizers import TokenMonster
File "/home/hao/下载/PALI3-main/venv/lib/python3.8/site-packages/zeta/init.py", line 37, in
from zeta import tokenizers
File "/home/hao/下载/PALI3-main/venv/lib/python3.8/site-packages/zeta/tokenizers/init.py", line 5, in
from zeta.tokenizers.tiktoken import TikToken
File "/home/hao/下载/PALI3-main/venv/lib/python3.8/site-packages/zeta/tokenizers/tiktoken.py", line 8, in
from zeta.tokenizers.base import BaseTokenizer
File "/home/hao/下载/PALI3-main/venv/lib/python3.8/site-packages/zeta/tokenizers/base.py", line 9, in
class BaseTokenizer(ABC):
File "/home/hao/下载/PALI3-main/venv/lib/python3.8/site-packages/zeta/tokenizers/base.py", line 12, in BaseTokenizer
stop_sequences: list[str] = field(
TypeError: 'type' object is not subscriptable
Process finished with exit code 1

@kyegomez @KurokoWD
More information，I accidentally used python in terminal to try to import this library and the error is the same, but before running the code and showing the error of importing the library
(venv) hao@ubuntu:~/下载/PALI3-main$ python
Python 3.8.10 (default, Nov 14 2022, 12:59:47)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

from zeta.tokenizers import TokenMonster

____    /_   /_ /  _    /     /  |    _)   |    | /  /\   /     /  |        \  |    |/    |    /__ /_______  /  |_|_|__  /
/        /                 /
Traceback (most recent call last):
File "", line 1, in
File "/home/hao/下载/PALI3-main/venv/lib/python3.8/site-packages/zeta/init.py", line 37, in
from zeta import tokenizers
File "/home/hao/下载/PALI3-main/venv/lib/python3.8/site-packages/zeta/tokenizers/init.py", line 5, in
from zeta.tokenizers.tiktoken import TikToken
File "/home/hao/下载/PALI3-main/venv/lib/python3.8/site-packages/zeta/tokenizers/tiktoken.py", line 8, in
from zeta.tokenizers.base import BaseTokenizer
File "/home/hao/下载/PALI3-main/venv/lib/python3.8/site-packages/zeta/tokenizers/base.py", line 9, in
class BaseTokenizer(ABC):
File "/home/hao/下载/PALI3-main/venv/lib/python3.8/site-packages/zeta/tokenizers/base.py", line 12, in BaseTokenizer
stop_sequences: list[str] = field(
TypeError: 'type' object is not subscriptable

@Haonote
Yes, it looks like the problem is with zeta.tokenizer, it might be related to the compatibility of some packages, hopefully the author will come up with a more detailed file about environment configuration.

@KurokoWD its fixed now please try again and let me know


ruby error logs like "already initialized constant JSON::NaN" when restart td-agent

fluentd or td-agent version:
1.0.2
Environment information:
OS: Amazon Linux AMI release 2014.09
kernel: 3.14.35-28.38.amzn1.x86_64

I restart the td-agent and the logs shows like the following:
[root@my-web-server td-agent]#service td-agent restart
Restarting td-agent: /opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:99: warning: already initialized constant JSON::NaN
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:99: warning: previous definition of NaN was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:101: warning: already initialized constant JSON::Infinity
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:101: warning: previous definition of Infinity was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:103: warning: already initialized constant JSON::MinusInfinity
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:103: warning: previous definition of MinusInfinity was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:128: warning: already initialized constant JSON::UnparserError
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:128: warning: previous definition of UnparserError was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/version.rb:3: warning: already initialized constant JSON::VERSION
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/version.rb:3: warning: previous definition of VERSION was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/version.rb:4: warning: already initialized constant JSON::VERSION_ARRAY
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/version.rb:4: warning: previous definition of VERSION_ARRAY was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/version.rb:5: warning: already initialized constant JSON::VERSION_MAJOR
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/version.rb:5: warning: previous definition of VERSION_MAJOR was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/version.rb:6: warning: already initialized constant JSON::VERSION_MINOR
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/version.rb:6: warning: previous definition of VERSION_MINOR was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/version.rb:7: warning: already initialized constant JSON::VERSION_BUILD
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/version.rb:7: warning: previous definition of VERSION_BUILD was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:99: warning: already initialized constant JSON::NaN
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:99: warning: previous definition of NaN was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:101: warning: already initialized constant JSON::Infinity
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:101: warning: previous definition of Infinity was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:103: warning: already initialized constant JSON::MinusInfinity
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:103: warning: previous definition of MinusInfinity was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:128: warning: already initialized constant JSON::UnparserError
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:128: warning: previous definition of UnparserError was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/version.rb:3: warning: already initialized constant JSON::VERSION
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/version.rb:3: warning: previous definition of VERSION was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/version.rb:4: warning: already initialized constant JSON::VERSION_ARRAY
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/version.rb:4: warning: previous definition of VERSION_ARRAY was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/version.rb:5: warning: already initialized constant JSON::VERSION_MAJOR
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/version.rb:5: warning: previous definition of VERSION_MAJOR was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/version.rb:6: warning: already initialized constant JSON::VERSION_MINOR
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/version.rb:6: warning: previous definition of VERSION_MINOR was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/version.rb:7: warning: already initialized constant JSON::VERSION_BUILD
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/version.rb:7: warning: previous definition of VERSION_BUILD was here
td-agent                                                   [  OK  ]
[root@my-web-server td-agent]#td-agent --version
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:99: warning: already initialized constant JSON::NaN
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:99: warning: previous definition of NaN was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:101: warning: already initialized constant JSON::Infinity
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:101: warning: previous definition of Infinity was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:103: warning: already initialized constant JSON::MinusInfinity
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:103: warning: previous definition of MinusInfinity was here
/opt/td-agent/embedded/lib/ruby/2.1.0/json/common.rb:128: warning: already initialized constant JSON::UnparserError
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.1/lib/json/common.rb:128: warning: previous definition of UnparserError was here
td-agent 1.0.2

but td-agent works fine and no error logs show in the /var/log/td-agent/td-agent.log, so any ideas about this? how can I fix it ?

td-agent works fine and no error logs show in the /var/log/td-agent/td-agent.log, so any ideas about this?

Yeah, this is warining during ruby parsing phase so no need logs in td-agent.log.
This warning happens when loading same file twice or loading same content in different pathes.

I have checked my td-agent conf, no same file nor same content, I uninstalled fluentd v1.0.2 and rollback to v0.14.22, it seems work
[root@my-webserver td-agent]#td-agent-gem list|grep fluentd
WARN: Unresolved specs during Gem::Specification.reset:
      strptime (~> 0.1)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
fluentd (1.0.2, 0.14.22, 0.12.31)
fluentd-ui (0.4.3)
[root@my-webserver td-agent]#td-agent-gem uninstall fluentd -v 1.0.2
WARN: Unresolved specs during Gem::Specification.reset:
      strptime (~> 0.1)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
Successfully uninstalled fluentd-1.0.2
[root@my-webserver td-agent]#service td-agent restart
td-agentng td-agent:                                       [  OK  ]
[root@my-webserver td-agent]#td-agent --version
td-agent 0.14.22


Display hyperlink errors in UI, not just in the terminal

I don't think there's actually any feature to display messages to the user (I could be wrong) so this would require implementing that from the ground up.

Closed by #91


Fix blend shape error

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
What is the current behavior? (You can also link to an open issue here)
What is the new behavior (if this is a feature change)?
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Other information:

Codecov Report

Merging #979 (aebd40a) into main (b2faaba) will decrease coverage by 0.03%.
The diff coverage is 2.43%.

@@            Coverage Diff             @@
##             main     #979      +/-   ##
==========================================
- Coverage   29.91%   29.87%   -0.04%
==========================================
  Files         333      333
  Lines       14407    14426      +19
  Branches     2202     2207       +5
==========================================
  Hits         4310     4310
- Misses       9596     9616      +20
+ Partials      501      500       -1

Impacted Files
Coverage Δ

packages/core/src/animation/Animator.ts
0.21% <0.00%> (+<0.01%)
:arrow_up:

...s/core/src/animation/internal/AnimatorTempValue.ts
20.00% <0.00%> (-5.00%)
:arrow_down:

packages/core/src/mesh/MeshRenderer.ts
1.63% <0.00%> (-0.03%)
:arrow_down:

packages/core/src/mesh/SkinnedMeshRenderer.ts
1.09% <0.00%> (-0.26%)
:arrow_down:

packages/core/src/mesh/BlendShapeManager.ts
2.89% <14.28%> (-0.03%)
:arrow_down:

packages/core/src/DisorderedArray.ts
15.00% <0.00%> (-10.00%)
:arrow_down:

packages/math/src/Color.ts
92.85% <0.00%> (+3.57%)
:arrow_up:

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


Fixed #35656 -- Added autodetector_class attribute to migration commands.

Trac ticket number
ticket-35656
Branch description
Allow changing autodetector class for migration commands
Checklist

[x] This PR targets the main branch.
[x] The commit message is written in past tense, mentions the ticket number, and ends with a period.
[x] I have checked the "Has patch" ticket flag in the Trac system.
[ ] I have added or updated relevant tests.
[ ] I have added or updated relevant docs, including release notes if applicable.
[ ] I have attached screenshots in both light and dark modes for any UI changes.

@sarahboyce sorry I mistakenly thought that deleting the fork won't affect the active PRs, and I seem to have missed up badly, this is the same PR.
I wanted a new fork because I did miss up a few things and I considered re-forking a safer solution in my case

@sarahboyce I don't have permission to view the results of the CI

@sarahboyce I don't have permission to view the results of the CI

It won't be an access issue but sometimes the results are lost. I have squashed the commits which has re-triggered the CI, so :crossed_fingers:

@sarahboyce I don't have permission to view the results of the CI

It won't be an access issue but sometimes the results are lost. I have squashed the commits which has re-triggered the CI, so :crossed_fingers:

what's the news 👀

what's the news 👀

I could see it but it's gone again. You can push up to retriever
But maybe worth looking into django-docker-box and running the tests on postgres locally for example
If I remember correctly, the new tests failed as a migration was created (created the table)

@sarahboyce figured out the issue but can't resolve it
It's not detecting the model now, do you have any thoughts about this?
class ModelForAutodetection(models.Model):
    class Meta:
        # Disable auto loading of this model as we load it on our own
        apps = Apps()

class CustomMigrationCommandTests(MigrationTestBase):
    @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations"})
    def test_custom_makemigrations_command(self):
        class CustomAutodetector(MigrationAutodetector):
            def changes(self, *args, **kwargs):
                return []

        class CustomMakeMigrationsCommand(MakeMigrationsCommand):
            autodetector_class = CustomAutodetector

        self.assertTableNotExists("migrations_modelforautodetection")
        apps.register_model("migrations", ModelForAutodetection)

        out = io.StringIO()
        command = CustomMakeMigrationsCommand(stdout=out)

        with self.temporary_migration_module() as migration_dir:
            call_command(command, "migrations", verbosity=0)

            init_file = os.path.join(migration_dir, "__init__.py")
            self.assertFalse(os.path.exists(init_file))

            initial_file = os.path.join(migration_dir, "0001_initial.py")
            self.assertFalse(os.path.exists(initial_file))
            self.assertTableExists("model_for_autodetection")

    @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations"})
    def test_custom_migrate_command(self):
        class CustomAutodetector(MigrationAutodetector):
            def changes(self, *args, **kwargs):
                return []

        class CustomMigrateCommand(MigrateCommand):
            autodetector_class = CustomAutodetector

        self.assertTableNotExists("migrations_author")

        out = io.StringIO()
        command = CustomMigrateCommand(stdout=out)

        with self.temporary_migration_module():
            self.assertRaises(
                ModuleNotFoundError, call_command, command, "migrations", verbosity=0
            )

        self.assertTableNotExists("migrations_author")

............F.....................................................................................................................................
======================================================================
FAIL: test_custom_makemigrations_command (migrations.test_commands.CustomMigrationCommandTests.test_custom_makemigrations_command)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/unittest/case.py", line 636, in run
    self._callTestMethod(testMethod)
    ^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/unittest/case.py", line 589, in _callTestMethod
    if method() is not None:
    ^^^^^^^^^^^^^^^^^
  File "/Users/leondaz/PycharmProjects/django-contrib/django/django/test/utils.py", line 446, in inner
    return func(*args, **kwargs)
    ^^^^^^^^^^^^^^^^^
  File "/Users/leondaz/PycharmProjects/django-contrib/django/tests/migrations/test_commands.py", line 3330, in test_custom_makemigrations_command
    self.assertTableExists("model_for_autodetection")
    ^^^^^^^^^^^^^^^^^
  File "/Users/leondaz/PycharmProjects/django-contrib/django/tests/migrations/test_base.py", line 39, in assertTableExists
    self.assertIn(table, connections[using].introspection.table_names(cursor))
    ^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/unittest/case.py", line 1154, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/unittest/case.py", line 717, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^^^
AssertionError: 'model_for_autodetection' not found in ['auth_group', 'auth_group_permissions', 'auth_permission', 'auth_user', 'auth_user_groups', 'auth_user_user_permissions', 'django_admin_log', 'django_content_type', 'django_migrations', 'django_session', 'django_site', 'migrations_modelwithcustombase', 'migrations_unmigratedmodel']

@LeOndaz I have pushed up a new version of the tests that I'm hoping will work and reduced the PR to minimal changes
As previously mentioned, I still think we should have a system check. I think that's the next step :+1:

@sarahboyce check this out

(bump)

(bump)

I've been at DjangoCon US and now I'm on holiday a week but it's on my list for when I get back 👍

(bump)

I've been at DjangoCon US and now I'm on holiday a week but it's on my list for when I get back 👍

that's a huge gathering of nerds, hope it went well

Can you also squash to a single commit? :1st_place_medal:

@sarahboyce ok I will do it, but shouldn't there be an option that squash-merges the PR into a single commit? this is usually the case with all my contributions, do we have any rules about this so that I can get more familiar with them?

@sarahboyce I did squash the commits, the error doesn't seem like it came from the docs I modified, can you check?

I agree this is unrelated

@sarahboyce thanks, alert me if anything is needed, I will start another PR for another feature as well, is it fine if I mention you there at that point?

@sarahboyce thanks, alert me if anything is needed, I will start another PR for another feature as well, is it fine if I mention you there at that point?

There is no need to ping fellows directly on PRs. Leaving a "bump" comments is also not very helpful. If the ticket that you're working on is in the review queue there is nothing more you need to do, just wait patiently for the review. It's completely normal that you have to wait a few weeks (or even months) for the review.


Styling regression on watermark keybinding elements

Seems not to affect other keybinding examples e.g. command palette:

/duplicate of #173660

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


support for my use case?

Hello Max,
I'm struggling to implement a dynamic filtering use case, a bit similar to the example you use in your blog post https://maxdemarzi.com/2020/08/26/faux-bitmap-indexes-in-neo4j-part-two/
I have a database with millions of publication nodes. Now I want to be able to dynamically filter (AND, OR, NOT) the publications. Some of the filterable fields are missing (empty) for some publications.
I initially tried to implement this with composite indexes on all filterable fields but found out that it's too restrictive: the fields should exist for all nodes, and there is no support for OR's. As a result the index is ignored leading to slow searches (between 2 and 10 seconds).
The solution you propose here looks quite powerful but I still have a couple of questions:

you mention that, except for range and contains fields, no indexes must be created. So since there is no "upfront optimization" why is your solution so much faster than a regular cypher query? Or in other words why doesn't the cypher implementation use the bitmaps internally?
can ordering of the results be supported? Since in my use case the filters can be quite loose and the results therefore quite large. So I guess ordering should already be done by an index upfront.

Many thanks

No indexes need to be created. This stored procedure is caching the node ids. Cypher doesn't know how to cache between requests. You can order if after getting the node ids on https://github.com/maxdemarzi/boolean_filtering/blob/master/src/main/java/com/maxdemarzi/Procedures.java#L294 you sort them by some property and then limi/offset them.

Cool thanks!
I just tried it out on my use case with a simple filter on two fields that returns most of the 1M publications and even without the ordering it already takes about 1400ms.
To compare, executing the same filter in cypher without using an index takes 17ms, with an ORDER BY clause takes 4000ms.
After adding a composite index on the two fields from the filter the cypher query with the ORDER BY clause takes 2ms.
I learned from previous neo4j experience that the ordering should be done upfront via the index. Especially since, in that case, we can stop processing the remaining items as soon as we reach our "limit". Adding the ordering afterwards would probably add another 4000ms (the time it took cypher to add ordering).
But even without considering the ordering I wonder why I don't get the speed that you mention in your blog post when using the bitmap approach.

You have to run it twice. First time it loads the cache, second time it uses it.

I just ran it again to see the impact of the caching and it took 10s the first time and 3s the following times.
I was wondering how much of the speed gain is attributable to the page cache and how much to the custom cache and it turns out that by setting the page cache very low the query took 4s.
I'm thinking of adapting your code in the following way:

start with retrieving the nodes from an index on the "order by" field (preferably in a lazy way)
for each of the returned nodes check if it applies to all filters
as soon as we have gathered enough nodes (based on the limit and offset) stop processing

As I have no experience with the internal neo4j API do you think this approach could work?

Something is weird. The first time you run it, it should create a cache of node ids, so the second time you run it, it is just grabbing nodes from a cache. It shouldn't take so long.

I deliberately chose my two filters to be very lax. Let's say 90% of the 1M nodes fall within the constraints of both filters, that means that the bitmap logic will have to be applied to 1.8M nodes, even if only the first 50 (or whatever LIMIT you gave it) need to be returned. Could that explain why it takes so much longer in my case?

Please ignore my previous question, on second thought it should not make any difference at all


lswt: 1.0.4 -> 2.0.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/lswt/versions.
meta.description for lswt is: A command that lists Wayland toplevels
meta.homepage for lswt is: https://sr.ht/~leon_plickat/lswt
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.0.0 with grep in /nix/store/5vm252zk3wazbivm2384dm96ajykvh0a-lswt-2.0.0
found 2.0.0 in filename of file in /nix/store/5vm252zk3wazbivm2384dm96ajykvh0a-lswt-2.0.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

lswt

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5vm252zk3wazbivm2384dm96ajykvh0a-lswt-2.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A lswt https://github.com/r-ryantm/nixpkgs/archive/ada47498125a023fefc36d00fe2bea9e343f9c7f.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/ada47498125a023fefc36d00fe2bea9e343f9c7f#lswt

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

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

lswt

Maintainer pings
cc @edrex for testing.

Result of nixpkgs-review pr 312644 run on x86_64-linux 1

1 package built:

lswt


[docs] Add a note on website and docs that duktape requires an OS to run

I found duktape.org while I was looking for a Javascript interpreter that could run on a microcontroller. It took me a couple minutes of digging to find https://wiki.duktape.org/portability and https://wiki.duktape.org/howtobaremetal, and the details there still left me a bit confused over exactly what the minimum system requirements (e.g. compiler standard, MMU, RTOS vs. bare metal) would be to run duktape on a microcontroller.
It would be nice if this were more explicit and obvious. Embedded developers are often looking for the "checklist" of specific libraries/features/etc. to determine whether a library will run on the specific chip they are using, and right now that is difficult to piece together. I would suggest the following changes:

Add a list item to "Main features" on the home page that says something like "Works on a wide range of operating systems, compilers, and architectures", with a link to https://wiki.duktape.org/portability.
Add a "bare metal" section to https://wiki.duktape.org/portability, with a link to https://wiki.duktape.org/howtobaremetal and a list of bare metal platform/libc/compiler combinations that have been successfully tested.
Add a note to both https://wiki.duktape.org/portability and https://wiki.duktape.org/howtobaremetal detailing whether a RTOS is a requirement, or whether it's possible to embed duktape in a bare-metal microcontroller program with no RTOS.
Add a "System requirements" section near the top of https://duktape.org/guide.html, which lists what the system would need to run duktape (e.g. a C99 compiler, a libc that supports X, Y, and Z APIs/standards), along with links to https://wiki.duktape.org/portability and https://wiki.duktape.org/howtobaremetal as necessary.

These are just suggestions, and there would be other ways to present this information.

I agree the documentation is scattered and could be improved. The main requirements are:

C89 compiler, C99 preferred
A custom allocator, or fall back to malloc(), free(), realloc()
A small set of standard library functions like s(n)printf(); I don't have an exact list at hand (this should be in the check list)
Exact IEEE double (and single) math, and math functions; again I don't have an exact list but things like fmod(), fabs(), floor(), ceil(), sin(), cos(), etc
Working integer/double casts (unfortunately not always a given)
Something to provide current date and time (this often needs manual replacement)

All these are provided via duk_config.h wrappers, e.g. no direct calls to any of the standard library functions are made. So the providers don't need to be from platform libraries themselves. For example, if something is broken in the platform libraries, you don't necessarily need to fix the platform but can just work around the specific dependency (e.g. replace a broken fmod() with a working one called my_fixed_fmod).
Because no dependencies should go around duk_config.h you can also get a sense what is expected of the platform by looking at what gets defined.

I agree the documentation is scattered and could be improved. The main requirements are:

C89 compiler, C99 preferred
A custom allocator, or fall back to malloc(), free(), realloc()
A small set of standard library functions like s(n)printf(); I don't have an exact list at hand (this should be in the check list)
Exact IEEE double (and single) math, and math functions; again I don't have an exact list but things like fmod(), fabs(), floor(), ceil(), sin(), cos(), etc
Working integer/double casts (unfortunately not always a given)
Something to provide current date and time (this often needs manual replacement)

All these are provided via duk_config.h wrappers, e.g. no direct calls to any of the standard library functions are made. So the providers don't need to be from platform libraries themselves. For example, if something is broken in the platform libraries, you don't necessarily need to fix the platform but can just work around the specific dependency (e.g. replace a broken fmod() with a working one called my_fixed_fmod).
Because no dependencies should go around duk_config.h you can also get a sense what is expected of the platform by looking at what gets defined.

I think, it is pretty easy to impement Duktape. It does not need to run under any OS, or RTOS, but it augments it a lot.
Although I have to add, that it is not something that is terribly fast (which embedded JS should not be), but it runs.
I'm running it on my ESP32, 2cores, 1 core only runs Duktape, everything else runs on the other core.

I think, it is pretty easy to impement Duktape. It does not need to run under any OS, or RTOS, but it augments it a lot.
Although I have to add, that it is not something that is terribly fast (which embedded JS should not be), but it runs.
I'm running it on my ESP32, 2cores, 1 core only runs Duktape, everything else runs on the other core.


Not able to add padding to nameCaller

when we click the call notification from notification bar, it navigate to full screen incoming call screen and showing the "nameCaller" without padding. how to add padding to the "nameCaller" ?
screenshot attached.

lib does not provide edit incoming screen. you can update it here in locally.
https://github.com/hiennguyen92/flutter_callkit_incoming/blob/5b8705cff267435025bd51ac5c7c85bb1afb1f24/android/src/main/res/layout/activity_callkit_incoming.xml#L63

@hiennguyen92 Thanks, android:paddingLeft="20dp"
can you fix this issue in the next release ?

Ok. However, you can add it locally.


Feat:Add  quiz  to the untouchable book

Describe the feature
Feat:Add  quiz  to the untouchable book
Add ScreenShots
Feat:Add  quiz  to the untouchable book
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@sailaja-adapa please merge this mam


Optional route params not work

Hello,
unfortunately my optional parameter [:id] does not work. Also with all other modules we get the error "Missing parameter id". Why? What ist wrong?
module/User/src/ConfigProvider.php:
public function getDependencies(): array
{
    return [
        'delegators' => [
            Application::class => [
                RouterDelegatorFactory::class,
            ],
        ],
        'factories' => [
              // many other things
        ],
    ];
}

module/User/src/config/RouterDelegatorFactory.php:
class RouterDelegatorFactory implements DelegatorFactoryInterface
{
    public function __invoke(ContainerInterface $container, $name, callable $callback, array $options = null)
    {
        $application = $callback();
        $application->route('/user/profile[/:id]', UserProfileAction::class, ['get', 'post'], 'user.profile');

        return $application;
    }
}

I might be wrong here but after some research I found out that optional parameters with zend-expressive-zendrouter are not what you think they are.
They seem to be optional as in http://example.com/user/profile will be matched to that route. But when generating the route it expects a value for the id. You can set it like this:
$application->route('/user/profile[/:id]', UserProfileAction::class, ['get', 'post'], 'user.profile')->setOptions([
    'defaults' => [
        'id' => ''
    ]
]);

When it has a default it will work, but not as you intended. What you can do is

create 2 routes; 1 for user.profile without the id and another one for user.profile.id with the id.
or use zend-expressive-fastroute which supports optional parameters.

@xtreamwayz
Basically this works. However, a final "/" is always added when the route is called. This slash should also be optional, right? What is wrong

That's what I'm trying to explain. It seems to be optional when trying to match a request to that route. But it's not optional when generating a route. See my explanation above.
Since you use an empty string as the id, it will render that / at the end and an empty string for the id.
So I suggest to use FastRoute which does exactly what you want or create a second route:
$application->route('/user/profile', UserProfileAction::class, ['get', 'post'], 'user.profile')
$application->route('/user/profile/:id', UserProfileAction::class, ['get', 'post'], 'user.profile.id')

BTW, the way this is "solved" in ZF2 is either as @xtreamwayz details (multiple routes), or using child routes (where /user/profile would be the parent, and /:id would be the child). The result is the same, though: when generating the URI, you would need to pick either the parent or the child to generate, and, if using the child route, provide a non-empty id parameter.
To be honest, I would use FastRoute when using Expressive, as:

it handles optional parameters in a more predictable fashion
it's faster
you can include your constraints directly in the route definition, reducing verbosity

Now we will use fastroute.
Different routing implementations will have different features. The routing abstraction in Expressive is for the basic functionality we want to ensure works across all implementations, and is restricted to how routes are registered with the application, and how URIs based on named routes are generated. How each handles things like parameter matching and substitution is completely up to the given router; these differences in router implementations also provide you, the user, with information on which router might be a better fit for your application. If a given router does not provide the features you need, check to see if another does. That's the whole reason we allow you to choose a router, instead of dictating a single router.
Alternately, open an issue against a given router implementation to request the feature or a bugfix; better yet, provide a pull request with the change!


[Feature Request] implement LUD09 for LNURL

Hello, this weekend we've tested some wallets using an offline POS from LNbits that shows a code for the offline payment.
This code is shown after a payment is successfully paid using the LUD09 successAction url parameter.
We need this in AlbyGo!

This has very recently been added, will be included in the next release! :100:

@reneaaron thank you 🤩


fix(zniffer): do not query region info on Zniffers before FW 2.55

Not sure in which version the GetFrequencyInfo command was implemented, but 2.55 definitely supports it. Before that, just assume the regions are the same ones as in 2.55.

@zwave-js-bot automerge

@zwave-js-bot pack this


Revert "Implement SumUnboundedToUnboundedFixer (#8934)"

Related to https://github.com/NVIDIA/spark-rapids/issues/9071
This reverts commit 8927411d5b96330e6265d17c5866b18b5ce6a200.
We are seeing the newly added integration test fail in some environments, so reverting the recent code change for now.

build


Rarity system

I don't understand how the rarity system is working.
I have one of my file renamed to Santa_sr, which means that it is supposed to be super rare.
When I look at the results, there is a ton of Santa_sr, proving that this system isn't working well.
Help

The rarity system has not been implemented on Main branch.
I've created a pull request, you can find my fork here

Check the new repo : https://github.com/HashLips/hashlips_art_engine

Thank You.

hey @jprillo and @teddimagg i clicked on the link downloaded it and opened it in vsc but i didnt understand anythink^^ can you help me out?

Rarity on element level isn't implemented. The rarity tags on the filename doesn't work at all. The code isn't using this tag to choose/omit an element while drawing a layer. The only way to induce rarity is at layer level. If you add a higher number than the total number of elements in a layer (in layersOrder config inside src/config.js), that probability of that layer to get included reduces. If there are 2 elements in a layer and the number in layersOrder for that particular layer is 4, there's 50% chance for that layer to get included.


APP crashed when add filter "SobelEdgesCalculator" in Faceeffect

Hi,
I would like to test the performance of the filter and add "SobelEdgesCalculator" at the end of the graph of Faceeffect by the following code.
But the APP crashes.
Could you have any ideas on fixing it?
Thanks a lot.
node {
  calculator: "ImmediateMuxCalculator"
  input_stream: "facepaint_effect_output_video"
  input_stream: "glasses_effect_output_video"
  output_stream: "output_video1"
}

node {
  calculator: "SobelEdgesCalculator"
  input_stream: "output_video1"
  output_stream: "output_video"
}

Solved.
Add calculator on BUILD
cc_library(     name = "face_effect_gpu_deps",     deps = [         "//mediapipe/calculators/core:flow_limiter_calculator",         "//mediapipe/calculators/core:gate_calculator",         "//mediapipe/calculators/core:immediate_mux_calculator",         **"//mediapipe/calculators/image:sobel_edges_calculator",**         "//mediapipe/calculators/image:image_properties_calculator",         "//mediapipe/graphs/face_effect/subgraphs:single_face_smooth_landmark_gpu",         "//mediapipe/modules/face_geometry",         "//mediapipe/modules/face_geometry:effect_renderer_calculator",         "//mediapipe/modules/face_geometry:env_generator_calculator",     ], )


Kibana SSL problem to expose

Hi,
I am trying to expose Kibana to subdomain like watchlog.example.com via Cloudflare but I don't know why it doesn't works.
This is what Cloudflare shows: Error 525 SSL handshake failed
Here is my docker-compose.yml
  kibana:
    build:
      context: kibana/
      args:
        ELASTIC_VERSION: ${ELASTIC_VERSION}
    volumes:
      - ./kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml:ro,Z
      # (!) CA certificate. Generate using instructions from tls/README.md.
      - ./tls/kibana/elasticsearch-ca.pem:/usr/share/kibana/config/elasticsearch-ca.pem:ro,z
    ports:
      - "443:5601"
    environment:
      KIBANA_SYSTEM_PASSWORD: ${KIBANA_SYSTEM_PASSWORD:-}
    networks:
      - elk
    depends_on:
      - elasticsearch

and my kibana.yml
server.name: kibana
server.host: <IP_ADDRESS>
elasticsearch.hosts: [ "https://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true

## X-Pack security credentials
#
elasticsearch.username: kibana_system
elasticsearch.password: ${KIBANA_SYSTEM_PASSWORD}

##
## TLS configuration
## See instructions from README to enable.
##
elasticsearch.ssl.certificateAuthorities: [ "config/elasticsearch-ca.pem" ]
## Communications between Kibana and Elasticsearch
## see https://www.elastic.co/guide/en/kibana/current/configuring-tls.html#configuring-tls-kib-es
#
elasticsearch.ssl.certificateAuthorities: [ "config/elasticsearch-ca.pem" ]

Am I missing something ?

@antoineco thank you for your answer.
I am trying to generate the certificate inside the Kibana container but it looks like there is no ./bin/elasticsearch-certutil inside.
However the generation works on the elasticsearch container but Kibana need to have access in order to link on the kibana.yml.
Do I have the copy the certs manually ?

Did you cd to the tls directory before issuing the commands?

Try to allow writing to the tls directory to all users, temporarily:
chmod o+rw tls/

Did you cd to the tls directory before issuing the commands?

yes of course, I also tried to create the "tls" folder inside the elasticsearch container (which did not exists) and chmod it to 777 but still the same error...

Mounting already creates the target directory inside the container, so there is no need to pre-create it.
If chmod is insufficient, another reason for the permission error could be SELinux enforcing its policies and blocking I/O operations to the host's filesystem.

@antoineco it's already chmoded to 777, you can see on the previous video I made at 0:20
And still it doesn't works

Mounting already creates the target directory inside the container, so there is no need to pre-create it.

it looks like it doesn't create

You're looking at the running Elasticsearch container, which is not supposed to have a tls directory.
When you run the docker run command, a new container is created, and that container isn't related to the running Elasticsearch instance in any manner.
Again, the chmod needs to be performed on your machine, not inside a container.

Ok, thanks for confirming. In this case I'm afraid I don't know what is going on. As you can see from the protocol above, it works on my machine.

@antoineco I tried everything from scratch and now it works (chmod 777 instead of o+rw)!
Your tuto should be integrated somewhere on the documentation!
Thank you so much

For posterity, there is now a new section inside tls/README.md which explains how to enable TLS in the Kibana server (between web browsers and Kibana), as well as a sample certificate and key which Kibana is pre-configured to use when TLS is enabled.


Target diff/apply resources by json path

I know we can now target resources by Kubernetes resource / name and that there talks about targeting by label selector but I think I would like to apply by json path.
For example, I like to use self documenting deeply nested resources as recommended in the tanka.dev jsonnet tutorial and I'd like to target groups of resources by how they are grouped in jsonnet. As a basic example, in the tutorial, I would run something like tk apply --json-target .web.nginx to apply the nginx deployment.
Would there be value in pursuing this as a feature? The current target parameter is valuable but I think there is still room for more target-like features.
On a related note I find myself putting not only more than one application in an environment but an entire (small) k8s clusters worth of resources in a tanka environment. I just read that it is not recommended to put resources from multiple namespaces in one environment. So is the rule of thumb that environments map roughly to namespaces? Am I heading towards disaster? Do we know how many resources tanka can handle in one environment before it becomes tediously slow? I just like the idea of, similar to terraform, running one command and having an entire dev environment in sync but also being able to target specific resources when necessary.
Edit: ^^ moved to https://github.com/grafana/tanka/discussions/570

That last paragraph would fit perfectly into the discussions section, plenty of advice to give on that topic.
I'm not opposed to the idea of applying by path, the code that currently supports this in tk eval -e path.to.object and inline environments has its issues, mainly breaking Top-level arguments. If we implement this, we need to clearly document which features don't work.

@Duologic This jsonpath approach wouldn't, unfortunately, replace eval -e because it wouldn't be able to reach hidden elements, as it would be applied to the resulting json which would already have excluded them.

That is an excellent point, there are at least 2 ways of implementing this:

Match json-target to the rendered Json (what @malcolmholmes suggests)
Only render the json needed for json-target (what I suggested)

I guess both have their merits and flaws.

I would definitely want to reference hidden objects. For example
{
  _config:: {
    somethingHidden: <evaluated thing>,
  },
  targetedResource: {
    configurableThing: self._config.somethingHidden,
  }
}

It sounds like this would not work if we only render the json needed? or am I misunderstanding that?

Would a reasonable solution involve storing the path while walking the json looking for kubernetes api objects so they can the api objects can be filtered before the tanka operation?

If you want to access tk eval -e targetedResource, above example would work in either solution.  Accessing tk eval -e _config would not work in solution one as _config does not show up in the rendered JSON.


Search for "Move pay as you go to CSP subscription" finds a link but then redirects to partner site - impossible to find document

A search for "move pay as you go subscription to CSP" results in the following, exactly right, except that selecting this land you on the partner page and you cannot find /access the doc.  Super frustrating.

Migrate Azure subscriptions from Pay-As-You-Go to Azure CSP
https://docs.microsoft.com/.../migration/migration-from-payg-to-csp
Migrate Azure subscriptions from Pay-As-You-Go to Azure CSP. 01/19/2019; 2 minutes to read; In this article. Here is how to assess and migrate existing Azure subscriptions from the Pay-As-You-Go program (sometimes called Azure Direct) to the Azure Cloud Solution Provider (Azure CSP) program.

Goes to  https://docs.microsoft.com/en-us/partner-center/  with no way to find the doc.

Hi @MGodfrey50
Google and other search engines can cache links to pages that are no longer available until the index is rebuilt/and our docs site is recrawled.
Sounds like we may have archived the documentation page you were searching for, and redirected the link to the base of the partner-center since there is no exact replacement doc for that page.
This article might help-
https://docs.microsoft.com/en-us/azure/cost-management-billing/manage/switch-azure-offer
https://docs.microsoft.com/en-us/azure/cost-management-billing/manage/transfer-subscriptions-subscribers-csp
Thanks, Jason
#please-close


Update quickstart page

I wanted to try giving the quickstart page a bit more structure.  The content is mainly the same, though I did add a couple of things.  Mostly it is a reorganization of what was there, putting things into sections.
If you have suggestions for style or improving the structure, let me know.  Or if you don't like the changes, that is fine too!

Very nice!


Fairness of semaphore

I was looking for fairness guarantees of the Semaphore implementation and didn't find anything mentioned in the docs. After some digging I found that event_listener::Event is used internally and documented as being fair.
However looking at the implementation of Semaphore::acquire I can see that it is implemented as a loop calling try_acquire and creating a EventListener in order to wait for a permit.
https://github.com/smol-rs/async-lock/blob/48a5b6220e3a0841535959a1f7113e87501dc1ea/src/semaphore.rs#L86-L95
If I'm not mistaken it's possible that this code listens for an event and right after being woken another tasks snatches that permit away. This could lead to starvation where the tasks never manages to get a permit.
I think I've seen that exact behavior in some of my benchmarks where some workers hung forever causing timeouts and outliers.
I was wondering if there is a "easy" and correct way to make this implementation fair.
If that's out of scope for async-lock a small text in the documentation would be nice that it is not designed to be fair.

I was wondering if there is a "easy" and correct way to make this implementation fair.

I wouldn't know of any (at least a simple-enough one). @taiki-e would you have some ideas?

If that's out of scope for async-lock a small text in the documentation would be nice that it is not designed to be fair.

Yeah, we should do that if @taiki-e doesn't have any ideas either.

A fair semaphore would also be a requirement to use this in SQLx as otherwise it can easily lead to starvation at high contention. We previously learned this the hard way when we tried to use async-std's MPMC channels as the core primitive for our connection pool: https://github.com/smol-rs/async-channel/issues/6

We could implement this in a similar way to Mutex by having a fair flag on the Semaphore. When it's set, it would make users newly acquiring the Semaphore wait for others to take it first.


[MBL-984] Setup CreateFlagging GraphQL Mutation

📲 What
As part of our Report Project initiative - Update our GraphSchema so that we can use the CreateFlagging mutation.
Latest PR for more context on this initiative
🤔 Why
We'll use this mutation to submit reports to the Trust & Safety team.
The submission view that will utilize this mutation will be built next.
🛠 How

update graphql-schema using our local bin/apollo-schema-download.sh script
create CreateFlagging.graphql in /mutations
create a new adapter file + tests
create a new input file + tests
update Service, ServiceType, and MockService

✅ Acceptance criteria

[x] GraphAPI has been updated with the new mutation and all tests pass
[x] The new CreateFlagging mutation is ready to be referenced in the app. This works is to expose the mutation. Implementation will happen next.

          1 Warning

:warning:
Big PR

SwiftFormat found issues:

File
Rules

KsApi/MockService.swift:30:1
warning: (indent) Indent code in accordance with the scope level.

KsApi/MockService.swift:340:1
warning: (indent) Indent code in accordance with the scope level.

KsApi/MockService.swift:599:1
warning: (indent) Indent code in accordance with the scope level.

KsApi/Service.swift:152:1
warning: (indent) Indent code in accordance with the scope level.

KsApi/ServiceType.swift:76:1
warning: (indent) Indent code in accordance with the scope level.

  Generated by :no_entry_sign: Danger


mm2frac()

New function mm2frac() converts object space (in millimeters) to normalized texture space (where each dimension is in range 0..1). This is the reverse transform of frac2mm(). Used together, this can allow yoking of niivue instances (e.g. when the mm value of one image is changed, the other one can be updated to show the equivalent location on a different image). This function is also the basis for loading overlays where the dimensions do not match the background image.
The formula is clearer in Matlab. Assuming a NIfTI image with dimensions dim and storm matrix m, we can convert any coordinates in millimeters (mm) to fractional object space (result):
dim = [207 256 215]
mm = [0 0 0]
m = [0.737463 0.000000 0.000000 -75.762535; 0.000000 0.737463 0.000000 -110.762535; 0.000000 0.000000 0.737463 -71.762535; 0.000000 0.000000 0.000000 1.000000];
v = [mm, 1]
invm = inv(m);
result = invm * v';
result = result(1:3) + 0.5;
result = result ./ dim'

Also adds clipPlaneUpdate() that allows you to specify the clip plane with 3 parameters:
azimuth (in range -180..180 or 0..360)
elevation (in range -90..+90)
depth: 0..+1.73 (e.g. 0.0 means clip plane at center of volume, 2 means clip plane too far away to cut object).
Example:
  clipPlaneUpdate([90, 0, 0.1]);


[BUG] VulnerabilityReference contradicting definition in JSON and XML

In XML schema definition for CDX-1.4 vulnerabilityType.references.reference the id and source are defined optional (minOccurs="0")
see https://github.com/CycloneDX/specification/blob/master/schema/bom-1.4.xsd#L1779
In JSON schema definition for CDX-1.4 the /definitions/vulnerability/properties/references/items the id and source are mandatory (they are in list of required)
see https://github.com/CycloneDX/specification/blob/master/schema/bom-1.4.schema.json#L1454
these both definitions contradict each other.
please clarify which one is correct (a discussion/comment in here would be great for the start)
and have the XSD & JSON-schema alligned.

cc: @coderpatros @DarthHater

For vulnerabilities themselves, the id and source are optional because they have to be (support for unknown vulns, etc)
For vulnerability references however, I cannot think of a scenario where the id and source would be optional. Therefore if this is the case, then I believe the proper fix would be to update the XSD and .proto to make those two fields required to match the JSON. However, this may be a breaking change to proto (which also lists these two fields as optional).
Need your input @coderpatros and @DarthHater


Support for multiple connectors

I would like to request (once again?) the development of the feature for multiple connector support.
I believe this has been worked on before, but unfortunately, it does not seem to have been included in the integration for some reason. Below is a link to the closed feature:
https://github.com/lbbrhzn/ocpp/pull/803
I really appreciate the integration—great work! I hope the multiple connector feature can finally be included and make th integration complete.

I've reopened the pull request... but there are some issues that need to be resolved before this can be merged to main.

Great, thank you.
If someone could look into the issues and resolve them, many, including myself, would be grateful!

I would also be very happy to control both Wallbpxes with this great integration. ;-)

Dual socket model support would be really great. I have 2 dual socket chargers and I can only command connector 1 (left socket) with HA. Some entities have 1 and 2 attributes like connector state and connector error but real commands would be great. Any workaeounds for this?

I would also like to use the integration for both of my Mennekes wall charging stations. Kindly let me know, if there is any beta to test multi device support.

Multi charger device support is already working. You just need to use different port and server/client names for these chargers when adding to ocpp server.
Like:
Charger 1: port 9001 server1/charger1
Charger 2: port 9002 server2/charger2
If you would have 2 sockets in one charger only the left socket would be working trough ocpp and this thread is about that need.

Thanks for the hint! I was able to connect both of my chargers by adding two integrations on separate ports, and it works as expected. So the support is there 👌


Design: Handling invalid data/errors

Feature description
We need to come up with a good design for handling invalid data / errors. If an error happens while processing a message the pipeline currently stops entirely. We need to allow the user to choose a different behavior, e.g. ignore errors, log and continue, reroute to dead letter queue. The design should define how the user specifies the behavior in the API or config file (if we have pipeline config files by then) and how it works behind the scenes.

related to https://github.com/ConduitIO/conduit/issues/681

Actually we can close this one, it's essentially a duplicate.


chore(main): release 1.21.0

:robot: I have created a release beep boop
1.21.0 (2023-03-17)
Features

npm: add npm login command (5a624f4)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/briancaffey/pulumi-aws-django/releases/tag/v1.21.0 :sunflower:


Move documentation to a docs site for navigability and accessibility

Enhancement Type
Not sure
Describe the enhancement
With the size the readme has become, it would benefit from becoming a micro-site using Mkdocs or similar.
This would be more scalable, accessible, and allow for better navigation between key concepts and features.

I like the look of this one and use of markdown: https://squidfunk.github.io/mkdocs-material/

@camalot thought I'd bring our conversation over here.
I'm now thinking a Jekyll based site generator would be ideal since that'll plug into GitHub pages without additional build support
https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages#static-site-generators

...and taking a few more minutes to read, I see that using custom site generators are fairly simple:
https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow

Looks like this https://github.com/marketplace/actions/deploy-mkdocs can be used to directly deploy an MkDocs site directly to github pages with the material theme.

Quick little test: https://camalot.github.io/mkdocs-test/ in this repo https://github.com/camalot/mkdocs-test

That looks great @camalot ! I think we should go with that. The only I'm left pondering is how to transition over.
A few sections at a time leaving major headers as a link over to new docs?
Do the whole thing at once with each major section as a "page" and then have one big link at the top that says where to find docs?

Shouldn't take too long to do in initial convert. I have been taking each "Heading2" and making those into "pages" in this test repo.
Maybe leave original readme there with a link to the docs indicating the transition, and that the doc site may be incomplete, so refer to the readme.
Can probably better organize the "pages" too, by "edition" or something. then you could technically have bedrock docs there too.
example, I created docs/deployment and that has files for helm, aws, docker-compose and they are then referenced in the nav like this:
    - "Deployment Templates and Examples":
      - "Helm Charts": "deployment/helmcharts.md"
      - "Amazon Web Services (AWS)": "deployment/aws.md"
      - "Docker Compose": "deployment/docker-compose.md"

which renders as

I also just figured out that you can do the following in the navigation
 - "Related Projects":
    - related-projects.md
    - "itzg/minecraft-bedrock-server": https://github.com/itzg/docker-minecraft-bedrock-server
    - "mc-router": https://github.com/itzg/mc-router
    - "itzg/bungeecord": https://github.com/itzg/docker-bungeecord/
    - "itzg/mc-backup": https://github.com/itzg/docker-mc-backup
    - "rcon-cli": https://github.com/itzg/rcon-cli
    - "mc-monitor": https://github.com/itzg/mc-monitor
    - "mc-image-helper": https://github.com/itzg/mc-image-helper
    - "itzg/rcon": https://github.com/itzg/docker-rcon-web-admin

Which renders the following:

There is a "related-projects.md" file which has the descriptions and links, but in the navigation, they are also direct links.

I think i have all the "README" in that test site. now would just need a repo for the actual docs, and then the "layout" and files could be modified after.

changes to the doc files could be things that would make use of the Admonitions in the mkdocs-material theme, in stead of relying upon the basic github markdown

Those admonitions are perfect! Needed those for things like the importance of having a CF_API_KEY.
Hmm, any suggestions for the overall docs repo name?
Some ones I'm thinking aren't terribly excited but track with the names of image repos

minecraft-on-docker
minecraft-docker
docker-minecraft

Any of those might actually work well. because if someone searches for those phrases, the documentation might come back. which in turn will give them the info they need on how to run it. and then if they run in to issues, they can report in this (or related) repo.

Will have to grant this permission in the docs repo so it can push to the gh-pages branch. (might also have to do this for the action to push to the GHCR too)

I curated a list of variables that can be set. a "cheat sheet", versus trying to hunt down the environment variables. There are more to add.
https://camalot.github.io/mkdocs-test/java/environment/

I curated a list of variables that can be set. a "cheat sheet", versus trying to hunt down the environment variables. There are more to add.

Awesome! I always wanted to write a tool that would pick those out of the defaults/usage. Now, I just broke that pattern with CF_API_KEY, which is directly consumed by mc-image-helper, such as. I should probably put an empty "declaration" like
: ${CF_API_KEY=}

Would that help this kind of analysis?

I was just going through the readme and looked at the dockerfile.
On Sat, Apr 1, 2023, 4:56 PM Geoff Bourne @.***> wrote:

I curated a list of variables that can be set. a "cheat sheet", versus
trying to hunt down the environment variables. There are more to add.
Awesome! I always wanted to write a tool that would pick those out of the
defaults/usage. Now, I just broke that pattern with CF_API_KEY, which is
directly consumed by mc-image-helper, such as
https://github.com/itzg/mc-image-helper/blob/e0b69537c6a8d8d349f7b0057eb0d823832a62fe/src/main/java/me/itzg/helpers/curseforge/InstallCurseForgeCommand.java#L53-L57.
I should probably put an empty "declaration" like
: ${CF_API_KEY=}
Would that help this kind of analysis?
—
Reply to this email directly, view it on GitHub
https://github.com/itzg/docker-minecraft-server/issues/1440#issuecomment-1493135478,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABJ3PGKSNFZSQQEMSQ7HHLW7CQBLANCNFSM5TUMPLNQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I got a repo setup, enabled github pages using github actions, and adjusted the GITHUB_TOKEN access:
https://github.com/itzg/docker-minecraft-docs

I could probably write something that scrapes some files or something. but it wouldnt have the descriptions.
I'll pull that repo and get an initial commit to it.

you might have to create a gh-pages branch, and have gh-pages publish from that.

you might have to create a gh-pages branch, and have gh-pages publish from that.

Ah yes, I was wondering if being a github actions style it could generate from the main branch, but I can also create a gh-pages branch to be sure.

Done: https://github.com/itzg/docker-minecraft-docs/tree/gh-pages

Mkdocs supports versioning too. so it will be possible, in theory, to "tag" the changes based on the server version, and have docs based on the version.
I'm not entirely sure how that works, but I read that you can do it in their docs.

By server version, what were you thinking exactly? The Minecraft version like 1.19.4 or the image tagged version? I'm suspecting either or another might be overkill.

i would say maybe when some type of ENV VAR changes, that would be a good time for a "doc tag", since it wouldnt work with image-tag before that version.
For example, the CF_API_KEY change, wasn't needed before the change the other day.
It was just a thought, not sure if it would be really practical or not.

First PR for the changes are here https://github.com/itzg/docker-minecraft-docs/pull/1

I didn't realize this issue was still open even the docs site has been going for a little while.


--target ES5 does not compile ES5-compatible code (String.prototype.repeat) when libs are used

TypeScript Version:  Version 2.9.2

Search Terms:
es5 string.prototype.repeat
Code
'a'.repeat(10);

tsconfig.json
{
  "compilerOptions": {
    "baseUrl": ".",
    "outDir": "./build",
    "target": "es5",
    "lib": ["es6", "dom"],
    "jsx": "react",
    "moduleResolution": "node",
    "rootDir": "./",
  },
  "exclude": [
    "node_modules",
    "build"
  ]
}

Expected behavior:
Expecting String.prototype.repeat to be polyfilled or rewritten in the same manner  that async/await syntax in transpiled correctly because the target is es5 and String.prototype.repeat is not part of ES5.
That is according to documentation

--target: Specify ECMAScript target version: "ES3" (default), "ES5", "ES6"/"ES2015", "ES2016", "ES2017" or "ESNext".

Actual behavior:
The expression appears as is
Playground Link:
https://github.com/agoldis/typescript-25853
Related Issues:
https://github.com/Microsoft/TypeScript/issues/3101

#3101 already contains a discussion around not polyfilling and I don't think much has changed since then.

@DanielRosenwasser thanks for quick response. I mentioned the issue #3101 because it's the most relevant that I could find and auto-polyfilling  would probably resolve the issue.
Let's face the fact:

documentation claims that using --target es5 creates ES5 compatible output, but it doesn't

If a user provides custom lib option, then TS will silently generate code that cannot be executed and could lead to exceptions in production (as in my case).
If auto-polyfilling is not an option, documenting the caveat properly or printing a warning or somehow preventing user from doing the mistake and investigating would make the job.
P.S.
Just out of curiosity - while async/await is transformed into a complex expression, why such a simple expression as String.prototype.repeat still needs to be figured out?

And while I agree it is a pain-point, I still think that bring-your-own-polyfill has worked reasonably well for the most part.

documentation claims that using --target es5 creates ES5 compatible output, but it doesn't

Maybe the correct wording should be "ES5 compatible syntax"?

If the dev team considers this as not an issue please close it, I still think it is misguiding and error-prone :)
Thank you guys for your time!

From the moment you added "lib": ["es6", "dom"] to your tsconfig, you are explicitly saying "assume es6 library features will be available at runtime", and the compiler correctly did assume the feature would be there. If you load typings for es6, you most polyfill it.
My opinion: this is by design.

Hi, I am a facing an issue related to that problem. I was using TS 2.7.2 + core-js with ES5 target ES6 lib, and wanted to update to 3.1. Before it was generating proper ES5 code but now it produces ES6 code and some of this code is not being polyfilled by core-js, typically the property value shorthand like {pos} instead of {pos: pos}. What are the options to generate proper ES5 code ?


Activate banner prompt for Pylance

Remove Pylance banner for Jedi users

100% Pylance banner for insiders and 50% for MPLS v1

Update tests

Remove A/B experiments of the language server

[X] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).

[X] Title summarizes what is changing.

-   [ ] Has a news entry file (remember to thank yourself!).

[X] Appropriate comments and documentation strings in the code.
[X] Has sufficient logging.
[X] Has telemetry for enhancements.
[X] Unit tests & system/integration tests are added/updated.

-   [ ] Test plan is updated as appropriate.
-   [ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
-   [ ] The wiki is updated with any design decisions/details.

I have write permission to this branch (as it's a PR), so I'm going to try and update it.

I've updated the PR to instead use the openUrl call to navigate to the extension page, and added a test to cover it.

Also fixed what I think was a bug, where the banners were awaited and would have blocked startup until a selection was made.

Codecov Report

Merging #12817 into master will decrease coverage by 60.11%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master   #12817       +/-   ##
===========================================
- Coverage   60.11%    0.00%   -60.12%
===========================================
  Files         668       13      -655
  Lines       36210       36    -36174
  Branches     5099        3     -5096
===========================================
- Hits        21769        0    -21769
+ Misses      13370       36    -13334
+ Partials     1071        0     -1071

Impacted Files
Coverage Δ

src/client/debugger/constants.ts
0.00% <0.00%> (-100.00%)
:arrow_down:

src/client/common/process/constants.ts
0.00% <0.00%> (-100.00%)
:arrow_down:

src/client/common/platform/constants.ts
0.00% <0.00%> (-100.00%)
:arrow_down:

src/client/datascience/notebook/constants.ts
0.00% <0.00%> (-100.00%)
:arrow_down:

src/client/interpreter/autoSelection/constants.ts
0.00% <0.00%> (-100.00%)
:arrow_down:

...t/datascience/jupyter/jupyterDataRateLimitError.ts
0.00% <0.00%> (-50.00%)
:arrow_down:

...datascience/interactive-common/notebookProvider.ts

...lient/activation/languageServer/analysisOptions.ts

...ent/common/insidersBuild/downloadChannelService.ts

...lient/common/application/applicationEnvironment.ts

... and 641 more

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 9467db4...370d52b. Read the comment docs.

@kimadeline I've updated this, if you wanted to take another look with my extra changes.

Sounds good! I'll take a look

Sounds good! I won't take a look just yet then lol

The missing bit would be to not offer the banner if pylance is already installed.

        if (this.extensions.getExtension(PYLANCE_EXTENSION_ID)) {
            return false;
        }

aight i'm on it


Fix: Current currency is not highlighted and not marked

Details

Current currency is not highlighted and not marked
Fixed Issues

$ https://github.com/Expensify/App/issues/17372
PROPOSAL: https://github.com/Expensify/App/issues/17372#issuecomment-1517756777
Tests

Login with any account
Click on plus icon button
Select send money option
Click on currency to go to select currency page
Verify that current currency is highlighted, marked with :heavy_check_mark: and focused

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Login with any account
Click on plus icon button
Select send money option
Click on currency to go to select currency page
Verify that current currency is highlighted, marked with :heavy_check_mark: and focused

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/129500732/234753011-b6dd9e0e-5b84-4d7a-88dd-a3a78a420db7.mp4

Mobile Web - Chrome
https://user-images.githubusercontent.com/129500732/234753033-ab9825a3-16c9-45ae-9e43-4d1f471a2730.mp4

Mobile Web - Safari

Desktop

iOS

Android
https://user-images.githubusercontent.com/129500732/234753058-b428b7da-12a3-4a82-8d43-9c61416a64ed.mp4

@iwiznia @rushatgabhane One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@rushatgabhane I just updated, please help to check again

🚀 Deployed to staging by https://github.com/iwiznia in version: 1.3.9-12 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.12-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅