Cryptic Errors Related to "compath_utils.models.CompathPathwayMixin" when running pathme wikipathways bel

Hi there,
This packages seems really awesome thanks for building it! I'm running into errors in the initial setup however. First installing via python3 -m pip install git+https://github.com/PathwayMerger/PathMe.git in a fresh conda environment I'm getting a number of version conflicts:
ERROR: compath-utils 0.3.2 has requirement bio2bel>=0.3.2, but you'll have bio2bel 0.2.1 which is incompatible. ERROR: compath-utils 0.3.2 has requirement pybel>=0.14.1, but you'll have pybel 0.13.2 which is incompatible. ERROR: compath-utils 0.3.2 has requirement sqlalchemy==1.3.8, but you'll have sqlalchemy 1.3.15 which is incompatible. ERROR: bel-repository 0.1.0 has requirement pybel<0.15.0,>=0.14.2, but you'll have pybel 0.13.2 which is incompatible.
The package builds though, and it is able to do python3 -m pathme wikipathways download just fine. However then when I go to python3 -m pathme wikipathways bel, I run into some cryptic errors:
  File "~/utils/miniconda3/envs/pathways2/lib/python3.8/runpy.py", line 193, in _run_module_as_main     return _run_code(code, main_globals, None,   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/runpy.py", line 86, in _run_code     exec(code, run_globals)   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/site-packages/pathme/__main__.py", line 8, in <module>     main()   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/site-packages/click/core.py", line 764, in __call__     return self.main(*args, **kwargs)   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/site-packages/click/core.py", line 717, in main     rv = self.invoke(ctx)   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/site-packages/click/core.py", line 1137, in invoke     return _process_result(sub_ctx.command.invoke(sub_ctx))   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/site-packages/click/core.py", line 1137, in invoke     return _process_result(sub_ctx.command.invoke(sub_ctx))   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/site-packages/click/core.py", line 956, in invoke     return ctx.invoke(self.callback, **ctx.params)   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/site-packages/click/core.py", line 555, in invoke     return callback(*args, **kwargs)   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/site-packages/pathme/wikipathways/cli.py", line 72, in bel     resource_files = iterate_wikipathways_paths(resource_folder, connection, only_canonical)   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/site-packages/pathme/wikipathways/utils.py", line 379, in iterate_wikipathways_paths     wikipathways_manager = WikiPathwaysManager(connection)   File "~/utils/miniconda3/envs/pathways2/lib/python3.8/site-packages/compath_utils/manager.py", line 46, in __init__     raise TypeError(f'{self.pathway_model} should inherit from {CompathPathwayMixin}') TypeError: <class 'bio2bel_wikipathways.models.Pathway'> should inherit from <class 'compath_utils.models.CompathPathwayMixin'>
Any thoughts?
Thanks!
MT

We’re right in the middle of a major upgrade of the entire compath and bio2bel ecosystem to rely on pybel 14 and PyOBO. Is there a reason using the docker image or installing from PyPI isn’t sufficient?

Though I would be happy to prioritize fixing this all up so you can get the bleeding edge code working! Just out of curiosity, what are you going to use this for? @ddomingof @10mubeen and I will be happy to support you

Oh I installed 1.13 dev from git thinking it might solve the issue, I had the same thing happen on 1.12 from PyPi. I also can't use docker on my cluster due to security, but can use singularity if there's a singularity container?
I've got a whole bunch of single cell RNAseq and I was going to try to do some quick tinkering with predicting signaling pathway receptivity before I test in vivo. What I need to get to is the networkx graph of bel relationships!
M

Hi @mtvector can you provide me with your package list installed in pip

The bio2bel packages look okay
bio2bel              0.2.1
bio2bel-chebi        0.2.1
bio2bel-hgnc         0.2.2
bio2bel-kegg         0.2.5
bio2bel-reactome     0.2.3
bio2bel-wikipathways 0.2.3

But it looks like pip installed a different compath?
compath-utils        0.3.2

Ok, that should be the problem install
compath-utils                 0.2.1

python -m pip install compath_utils==0.2.1 should fix it

hmmm actually now that I have compath_utils 0.2.1, I get ModuleNotFoundError: No module named 'compath_utils'

Okay actually after pip uninstall compath_utils and then python -m pip install "compath_utils==0.2.1" it works! Thanks for the help, I imagine this is getting streamlined with the current work you're doing

Oops well it loads the database now, and then I get :
Exporting WikiPathways to BEL in /wynton/home/ye/mschmitz1/.pathme/wikipathways/bel:   0%|                                                    | 0/509 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pathme/__main__.py", line 8, in <module>
    main()
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pathme/wikipathways/cli.py", line 75, in bel
    wikipathways_to_pickles(resource_files, resource_folder, hgnc_manager, export_folder)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pathme/wikipathways/rdf_sparql.py", line 301, in wikipathways_to_pickles
    bel_graph = wikipathways_to_bel(pathway_path, hgnc_manager)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pathme/wikipathways/rdf_sparql.py", line 275, in wikipathways_to_bel
    return rdf_wikipathways_to_bel(rdf_graph, hgnc_manager)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pathme/wikipathways/rdf_sparql.py", line 264, in rdf_wikipathways_to_bel
    return convert_to_bel(nodes, complexes, interactions, metadata, hgnc_manager)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pathme/wikipathways/convert_to_bel.py", line 59, in convert_to_bel
    nodes.update(complexes_to_bel(complexes, nodes, graph))
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pathme/wikipathways/convert_to_bel.py", line 128, in complexes_to_bel
    for complex_id, complex_dict in complexes.items()
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pathme/wikipathways/convert_to_bel.py", line 129, in <dictcomp>
    if _check_empty_complex(complex_dict, nodes)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pathme/wikipathways/convert_to_bel.py", line 27, in _check_empty_complex
    for member_id in complex['participants']
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pathme/wikipathways/convert_to_bel.py", line 28, in <setcomp>
    if member_id in nodes
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pybel/dsl/node_classes.py", line 100, in __hash__
    return hash(self.as_bel())
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pybel/dsl/node_classes.py", line 285, in as_bel
    return super().as_bel(use_identifiers=use_identifiers)
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pybel/dsl/node_classes.py", line 181, in as_bel
    self.obo if use_identifiers and self.entity.identifier and self.entity.name else self.curie,
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pybel/dsl/node_classes.py", line 175, in obo
    return self.entity.obo
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pybel/language.py", line 77, in obo
    ensure_quotes(self.identifier),
  File "/wynton/home/ye/mschmitz1/utils/miniconda3/envs/pathways2/lib/python3.7/site-packages/pybel/utils.py", line 96, in ensure_quotes
    return '"{}"'.format(s) if not s.isalnum() else s
AttributeError: 'int' object has no attribute 'isalnum'
Exporting WikiPathways to BEL in /wynton/home/ye/mschmitz1/.pathme/wikipathways/bel:   0%|                                                    | 0/509 [00:19<?, ?it/s]

Which version of pybel is that. It should be 0.13.2. With that error I think it is 0.14.x. I think installing pathme from the dev completely built the updated dependencies that are broken. Please check that is the problem. Otherwise cant you install pathme from PyPi cause that should work https://pypi.org/project/pathme/

Apologize for the mess

These are the requirement that should have been installed from setup.cfg
click==7.0
pandas==0.24.2
tqdm==4.31.1
numpy==1.16.3
rdflib==4.2.2
bio2bel==0.2.1
bio2bel_hgnc==0.2.2
bio2bel_chebi==0.2.1
bio2bel_kegg==0.2.5
bio2bel_wikipathways==0.2.3
bio2bel_reactome==0.2.3
pybel==0.13.2
pybel-tools>=0.7.2
pybel-cx==0.1.3

Okay so those packages had gotten all messed up when I tried installing compath_utils without uninstalling. Making a fresh conda env in python 3.8, then:
pip install pathme
pip uninstall compath-utils
python -m pip install "compath_utils==0.2.1"
python3 -m pathme wikipathways bel
appears to work! thanks for your patience!


v1.502 Assert Failed

When I try to use v1.502 with previously created brushes I receive following error:

Also triggered on line 2066, and 2038.
Can't use the new version because of the messages constantly popping out.
Did someone forget to remove assert? :)

Hi, no apparently I accidentally compiled in Debug mode instead of Release mode when switching computers. I released version 1.503 to fix this, thanks for letting me know


refactor: architectural change for ui

Create an ui folder for React application and start new architecture.
Everything related to React application should now be in ui folder.

Page folder must contain only tree structure (one .tsx and one .scss maximum per folder)
Views folder contain anything related to what is now called a "view". For example, "dataverse" is a view. It will have its own components, hook, style...
Anything shareable throughout the react app will stay in the root of the "ui" folder, such as the "component" or "style" folder. The component folder in ui must only have atomic component (shareable)

@GeoffreyPicard this is minor but your commit description should start by a verb (see wiki):
Something like that (you can adapt):
- refactor: architectural change for react app
+ refactor: revamp UI folder structure and file organization

Please @GeoffreyPicard add a GPG key to sign your commits


ReadMe text Q on listener config

Per the readme - "The DoH-Translator listens on port 80..."
Is that correct? Or is it TCP/443? Or both TCP/80 and TCP/443?

NGINX on TCP/443 --> TCP/80 to translator (written in Go) --> DNS UDP/53

That's right! The translator is meant to be used with an NGINX front-end which terminates the 443 connections which forwards request to the translator’s port 80.


[Draft] Testing eBPF for windows programs

Reason for Change:

Experimentation with ebpf-for-windows
Issue Fixed:

Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests

Notes:

@vakalapa should this PR be reopened?


Merge latest upstream

Codecov Report

Merging #214 into v2-master will decrease coverage by <.01%.
The diff coverage is 53.01%.

@@              Coverage Diff              @@
##           v2-master     #214      +/-   ##
=============================================
- Coverage      53.18%   53.18%   -0.01%
=============================================
  Files            918      918
  Lines          25290    25329      +39
  Branches        4336     4344       +8
=============================================
+ Hits           13451    13470      +19
- Misses         11839    11859      +20


TLA+ for IBC Core -- ICF deliverable

Closes: #404
Description
The TLA+ specification for the IBC core protocols ready for submitting to ICF.
Additions:

verbose README file
connection handshake versions
timeout handlers
ports

For contributor use:

[ ] Updated the Unreleased section of CHANGELOG.md with the issue.
[ ] If applicable: Unit tests written, added test to CI.
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[x] Updated relevant documentation (docs/) and code comments.
[x] Re-reviewed Files changed in the Github PR explorer.

I quickly looked through the TLA+ files. This is an impressive piece of work. I guess I will use it to learn about IBC :-)


Docker container for Raspberry Pi

Hi Timo,
do you think it is possible to create the Docker container for arm64 in addition to the amd64 platform? Then you could run the whole thing very energy-efficiently on a Raspberry Pi.
Many greets
Dirk

Hi Dirk,
I am really interested to this topic also and am confused now. I thought that this should be also possible with the current image.
Do you fear incompatibility or would wish a more performant image?
Kind regards
Selçuk

Hi Selçuk,
unfortunately it is not compatible. Until then I also thought that a Docker container runs on any platform. Unfortunately that is not the case. In this case you get the following error message:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested.
greeting
dirk

Hi Dirk,
I read something about problems on arm based archs and docker. There might be a problem to recognize the needed platform image correctly.
Can you try to define the arch explicitly like:
FROM --platform=linux/arm64/v8 node

Unfortunately I do not have a rpi actually which is up and running.
Would be great if you can give me some feedback 😊.
Kind regards
Selçuk

Hi Selçuk,
I've already tried that. Unfortunately does not work.
Then the only way left is to define the Docker container for multiplatform. Then it should work.
For now, I've done a setup at heroku.com. Works well and I don't have to leave the Windows PC running 24 hours a day. But I'm still interested in getting the whole thing to run on a Pi ;-)
greets
Dirk

You could just run docker create (https://docs.docker.com/engine/reference/commandline/create/) with the given dockerfile directly on the raspberry pi. Then a Arm-based image is created and can be used there.

I just release version 1.7.1 with support for ARM64 platforms. :)
Feel free to try it on your RPi @cubybox.

I added version 1.7.2 with support for ARMv7 (Raspberry Pi 3). Was able to run it on my device. I don't have a RPi 4 available for testing but on the RPi 3 the container runs just fine. :)

Hi Timo,
it runs great on an old raspberry PI3 that I still had here. Many thanks for the quick help!
All data is uploaded correctly to nightscout - but the same error message keeps appearing in the log. In addition, the number of uploaded BG values in the log does not seem to be correct:
2022-06-14T21:37:02.101357111Z [info]: Received blood glucose measurement items
2022-06-14T21:38:03.215503542Z [error]: "\r\n<title>504 Gateway Time-out</title>\r\n\r\n
504 Gateway Time-out
\r\n
nginx/1.21.6\r\n\r\n\r\n"
2022-06-14T21:39:03.335260470Z [info]: Upload of 0 measurements to NightScout succeeded
Many greetings
Dirk


Fix GpuRegExExtract about inconsistent to Spark

Closes #5135
Signed-off-by: sperlingxx<EMAIL_ADDRESS>This PR fixes two inconsistent to Spark problems of GpuRegExExtract, which are raised in #5135.

build


Fix typo and spelling

Fixed some typo and word spelling.

and Thank you for considering this PR.


Issues if player logs out inside a minecart

If a player logs out while inside of a minecart, then logs back in, the following error is encountered, and the player will fail to log in. The minecart is then removed from the world, and the next time the player logs in, they will be inside of the block that the minecart was sitting on top of. I tested this just now with the latest code on the master branch.
java.lang.ClassCastException: net.minecraft.entity.item.EntityMinecartEmpty cannot be cast to net.minecraft.entity.player.EntityPlayer
	at org.spongepowered.common.event.CauseTracker.processSpawnEntity(CauseTracker.java:1003) ~[CauseTracker.class:?]
	at net.minecraft.world.World.spawnEntity(World.java:1285) ~[World.class:?]
	at net.minecraft.world.World.handler$onSpawnEntityInWorld$0(World.java:1275) ~[World.class:?]
	at net.minecraft.world.World.spawnEntityInWorld(World.java) ~[World.class:?]
	at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:339) ~[ServerConfigurationManager.class:?]
	at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:148) ~[ServerConfigurationManager.class:?]
	at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:137) ~[NetHandlerLoginServer.class:?]
	at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:64) ~[NetHandlerLoginServer.class:?]
	at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:287) ~[NetworkManager.class:?]
	at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:172) [NetworkSystem.class:?]
	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:206) [MinecraftServer.class:?]
	at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:356) [DedicatedServer.class:?]
	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:657) [MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]

I want to clarify what I mean by "they will be inside of the block that the minecart was sitting on top of."
If the player is in the minecart pictured below when they log out, they will be standing on top of the glass block (and partially inside the brick block) when they log back in. If there is no block two blocks down from where the minecart was, the player will log in and fall down to the next block.

Since this is also an issue in SpongeForge, would you mind moving this issue to SpongeCommon so it can be fixed there?

@Minecrell Moved to https://github.com/SpongePowered/SpongeCommon/issues/769.


Can't use command to re-sync directory to S3

Hi,
I have successfully dsync'ed a directory containing my apps (as symbolic links).
Now I have updated them and I would like to deploy them again, however I ended up with this error:
s4cmd dsync --debug --recursive --sync-check --delete-removed --API-CacheControl="max-age=604800,public" apps s3://REDACTED
  (D)s4cmd:129  >> dsync_handler(<__main__.CommandHandler object at 0x7f0f0191d690>, ['dsync', 'apps', 's3://REDACTED'])
  (D)s4cmd:129  >> validate(<__main__.CommandHandler object at 0x7f0f0191d690>, 'cmd|s3,local|s3,local', ['dsync', 'apps', 's3://REDACTED'])
  (D)s4cmd:131  << validate(<__main__.CommandHandler object at 0x7f0f0191d690>, 'cmd|s3,local|s3,local', ['dsync', 'apps', 's3://REDACTED']): None
  (D)s4cmd:129  >> dsync_files(<__main__.S3Handler object at 0x7f0f0191d790>, 'apps', 's3://REDACTED')
  (D)s4cmd:129  >> relative_dir_walk(<__main__.S3Handler object at 0x7f0f0191d790>, 'apps')
  (D)s4cmd:129  >> local_walk(<__main__.S3Handler object at 0x7f0f0191d790>, 'apps')
  (D)s4cmd:131  << local_walk(<__main__.S3Handler object at 0x7f0f0191d790>, 'apps'): []
  (D)s4cmd:131  << relative_dir_walk(<__main__.S3Handler object at 0x7f0f0191d790>, 'apps'): []
  (E)s4cmd:183  [Runtime Failure] Sync command need to sync directory to directory.

The CWD contains a directory with some links.
tree -L 2
.
└── apps
    ├── admin-app -> ../../../my-app-XY
    ├── my-app -> ../../../my-app-XY
    └── translations

I'm using s4cmd from Debian Testing
s4cmd --version
s4cmd version 2.1.0
uname -a
Linux daos-sv 4.18.0-2-amd64 #1 SMP Debian 4.18.10-2 (2018-10-07) x86_64 GNU/Linux

Any idea why am I getting that error?
Regards,

I can confirm symbolic link handling is broken on my machine.
I have ran the same command but instead of symbolic links I had read files and it worked as expected.
I believe this is related to #141 .


Update area-body_shape_entered-exited signal documentation.

Closes #42614.
Updates the documentation of the area_shape_entered, area_shape_exited, body_shape_entered and body_shape_exited signals for Areas and RigidBodies 2D and 3D to clearly state what each of the parameters provide.
Added a second commit to rename the final parameter of the Area area_shape_entered, area_shape_exited, body_shape_entered and body_shape_exited signals to local_shape to make it consistent with RigidBody and remove the confusion that it may refer to the entering Area's shape.

Rebased following merge of #42881.

Rebased following merge of #42881.

Thanks!

Thanks!


Handle homophones (similar sounding words)

I have a custom sentence in french like this :
[mets] [le] volume [à|a] {volume} [pourcent|%]
(it means, put the volume to x percent)
Often, Nabucasa STT understands mais and the sentence does not match. to make it work i changed to
[mets|mais] [le] volume [à|a] {volume} [pourcent|%]
[mets|mais] are two words that means put for the first one, and but for the second one.
both are similar sounding words, confusing them is a dyslexia symptom.
We (probably) can't fix what Nabucasa STT says it understands, but maybe we can change the displayed sentence in the prompt ?
I thought of something like this :
[mets!|mais] [le] volume [à|a] {volume} [pourcent|%]
with ! after the word that is the correct one.
that ways even if Nabucasa STT understands mais volume à 10 % it will write it as mets volume à 10 %
this could also work in expansion rules.
to go even further, we could even imagine displaying mets le volume à 10 % even if mais volume 10 was understood/said.
with a sentence written like this :
[mets!|mais]! [le]! volume [à|a]! {volume} [pourcent|%!]!
notice the ! after the ] as a way to allow the word not to be said, but still keeping it in the displayed sentence.
when using []! syntax if there is no ! inside [] it will keep the first option.
side note : i do feel like this was more a https://github.com/home-assistant/hassil issue, but most of the other in this project too.

We (probably) can't fix what Nabucasa STT says it understands, but maybe we can change the displayed sentence in the prompt ?

You can't do that. Whatever the STT engine understands (whichever STT engine you use), that's what gets passed on in the pipeline to the intent recognition engine, not the other way around.
That's only fixable in one of two ways:

better STT model for your language (this is outside HA's scope)
if the STT engine supports it, multiple potential STT results with corresponding confidence scores, all of which should be parsed, in order of confidence, until one of them matches a possible sentence (this is in HA core's scope, not the intents repo)

I am not sure the second option is available in the underpinnings of the Nabu Casa STT engine, but maybe it's something @synesthesiam wants to take a look at.

notice the ! after the ] as a way to allow the word not to be said, but still keeping it in the displayed sentence.

What is the use case here? I mean... if you don't say the words and the recognized words get passed on to the intent recognition service (e.g. volume à 60 %), which needs to match to your sentence ([mets!|mais]! [le]! volume [à|a]! {volume} [pourcent|%!]!), who cares what gets displayed? The intent recognition has already taken place at this point, right?

what i'm suggesting is to rewrite the end result, unsing the intent string that matched as a "regexp" : mets instead of mais. only for display purposes.

Written where? In the Assist dialog box? That gets displayed before any intent matching is done.
Also, the plan is to only recognize grammatically correct sentences in order to train a recognition model that can "catch" more sentences than just those which were manually defined, so recognizing mais le volume a 90% is just a band-aid on a broken bone which will do more harm than good in the long run.

My two cents on this.
Handling common errors that the STT system does makes the system more robust and should be highly recommended where needed.
Trying to rewrite the sentence might potentially be useful someday but seems to be over complicating things for now.
I recommend doing something like this:
[mais|<stt_error_mais>] [le] volume [à|a] {volume} [pourcent|%]
with an expansion rule:
stt_error_mais: "mets" or stt_mais: "(mets|...|...)" if there are other common errors (replace the dots with the other errors)
This accomplishes two things:

The added robustness adds minimal cluttering to the sentences
If the time comes, it is easy to add a fallback word for the error: stt_error_mais -> "mais"

I handled this kind of issue in Rhasspy with a ":" operator in sentence templates, so "mais:mets" would match "mais" but output "mets". There were two output sentences too, one with the literally recognized text (mais) and one with the transformed text (mets).
I could see adding this to hassil, but we need to make a clear case for it. I don't want to mask STT errors, but we also want to be robust to them.

Another example of the same issue, this time in German https://github.com/home-assistant/intents/pull/1373#issuecomment-1673842039

For information, another similar issue is for numbers (1 or one),
especially for range of numbers,
I have this issue in french but it might be the same for english :
I say "Chronomètre 1 minute" ("Time 1 minute")
and the returned text is "Chronomètre une minute" ("Time one minute") so the range doesn't work.
The workaround is to create a specific sentence, but if I want a time like x hours x minutes x seconds ... I have to define all possible combinations 1xx x1x xx1 xxx ... not very nice 😅
For all other numbers the returned text is made of digits<PHONE_NUMBER> and works as expected.
Maybe when expecting a range, template matcher could accept written numbers? A lot of work :'(
Edit : I finally found a better workaround using only one sentence based on default value defined by slot.

@Kelesis that specific problem regarding numbers has been addressed and will be included in the following releases

How hard would it be to match intent not by their text but by their SOUNDEX or equivalent algorithm?
The idea would be to:

While building the intent possibility tree : convert the intent to SOUNDEX or a sequence of phoneme
Convert STT output to SOUNDEX (or a sequence of phoneme) too
Compute similarity between the latter and each node of the tree, ranking the higher matching first (maybe even doing a leveinstein search on the tree so we can stop search for all intents after a given number of insertion/substitution errors ?
Drop any match if it's below a given matching threshold

What do you think?

stt_error_mais: "mets" or stt_mais: "(mets|...|...)" if there are other common errors (replace the dots with the other errors)

This is not wanted since it create exponential growth on the potential sentences. In French (and probably other language) there are multiple spelling for the same sound (like "Ouvrer / Ouvrez / Ouvré / Ouvrait / Ouvraient / ...") so a simple sentence with "Ouvrez les volets roulants" could be written as "Ouvrer les volets roulants" (which is perfectly correct grammatically and semantically) even "Ouvre haie lait veau lé roue lent" (incorrect grammatically and semantically). The STT engine can't decide on the former or the latter since there's no context, so it's perfectly right to choose either one (and it's 100% correct).
In a YAML, you can't list all possibility and it would be impossible to match against those even if you did.

How hard would it be to match intent not by their text but by their SOUNDEX or equivalent algorithm?

That sounds a lot like this suggestion, doesn't it?

Exactly like this. Thanks for linking it!

Hey @synesthesiam, please have a look to my tinkering here and more specifically the tests (run with hatch run test:pytest -s) for example usage.
I've used Epitran to support many languages (close a hundred) for G2P and implemented an fussy intent matching on top based on a IPA mapping. The intent are built using a tree where you have either a simple Basic node (simple text that must be here), an Optional node (a text that can be missing), a Parametric node (a value, like forty two) or an Alternative node (some text or some other text).
I think it should match more or less what HA intent type that exist. Yet, it's able to match sentences like:
Fermée le veau les for intent expecting Fermez les volets that a Leveishtein algorithm can't match easily because it's converting both to IPA strings first and then doing a kind of Levenstein match on the IPA space, not the textual space.


setenv template prints out env_vars

Would it make sense to suppress the output0 of the template resource in resources/service_sysv_init.rb ? Or at least trickle down the option? (first time poster, big fan)

Hmmm I guess you have sensitive info there (passwords, etc.) ?

ya i'm passing in a key into the config via environment vars

I've added a sensitive property to tomcat_service in the 2.2.2 release.


[FLINK-24329][connector/pulsar] Fix PulsarSourceITCase fails due to port conflict

What is the purpose of the change
Fix PulsarSourceITCase fails due to port conflict
Brief change log

PulsarMockRuntime use runtime dynamic port

Verifying this change
(Please pick either of the following options)
This change is to fix unit test failed issue .
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

There's an unused import, and if this change works then the PordBindingUtils can be removed.

I have checked the internal logic on the Pulsar side. Change the port to zero should work for both Pulsar broker and Pulsar WebService. Tks for your fix.

@xmarker PortBindingUtils should also be removed.

@xmarker PortBindingUtils should also be removed.

Hi syhily , thinks for review，I checked again and PortBindingUtils import has been removed by the second commit

@xmarker PortBindingUtils should also be removed.

Hi syhily , thinks for review，I checked again and PortBindingUtils import has been removed by the second commit

I mean, remove the PortBindingUtils class.

@xmarker PortBindingUtils should also be removed.

Hi syhily , thinks for review，I checked again and PortBindingUtils import has been removed by the second commit

I mean, remove the PortBindingUtils class.

OK, I pushed again


runned python -m skyblock and...

I ran the command in command prompt in inside the skyblock-main folder
I have Python 3.11
this is the error I:
Traceback (most recent call last):
File "", line 198, in run_module_as_main
File "", line 88, in run_code
File "C:\Users*****\Desktop****** supplies\Other\Skyblock\skyblock-main\skyblock_main.py", line 18, in
skyblock_main()
File "C:\Users*\Desktop**** supplies\Other\Skyblock\skyblock-main\skyblock_main.py", line 12, in skyblock_main
init()
File "C:\Users*\Desktop****** supplies\Other\Skyblock\skyblock-main\skyblock\install.py", line 41, in init
install_data()
File "C:\Users*\Desktop****** supplies\Other\Skyblock\skyblock-main\skyblock\install.py", line 29, in install_data
run(['rm', '-rf', data_dir])
File "C:\Users**\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 546, in run
with Popen(popenargs, kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users****\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1022, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users*\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1491, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified

The code was working fine for me, and I'm using the full path to find the data folder, so I'm not entirely sure what's the problem yet. However, I've added a try statement to bypass the error when the pathlib doesn't work as intended. Please pull the newer version soon and try again!


License missing

The README states that the project is licensed under the MIT license, hovewer the link to it does not work, and there is no license anywhere else in the project either.

The MIT license is still being processed. will notify when the license is fixed

No this is not completed, the MIT license does not need to be processed


Instance stuck in "networking" state forever.

Fresh install of v0.69.1
Created and activated few services with health check enabled and global flag on.
There were also 2 Lb services , 1 global and another with scale 1.
Upgrade to v1.0.0-rc1
After upgrade , 1 of the instance of LB from both the Lb services got removed and recreated.
Stopped the global lb service and started it again.
When LB service was started , 1 out of the 3 instances got stuck in "starting" state ( stuck in "networking" state).
Trying to start any other instance in this host also results in being stuck in "starting" state.
Following exception is seen repeatedly in logs:
2016-03-23 00:57:46,094 INFO  [:] [] [] [] [tp639313753-230] [i.c.p.c.s.impl.ConfigItemServerImpl ] Processing [hosts] for client [agent:6]
2016-03-23 00:57:46,502 ERROR [:] [] [] [] [ecutorService-3] [.p.c.v.i.ConfigItemStatusManagerImpl] Failed null, exit code [7] output [INFO: Updating hosts
INFO: Downloading http://<IP_ADDRESS>:8080/v1//configcontent//hosts current=hosts-337-46bf3f2cd5e10e348cea0a9b2c2f20e1ff10eda99e38ca8db85820b45973a1d8
INFO: Running /var/lib/cattle/download/hosts/hosts-370-df032449a7f08eeb26687a2e6ec2649d7fa7da0a45f897a92f55dc1b1d2451c1/apply.sh
INFO: HOME -> ./
INFO: HOME -> ./etc/
INFO: HOME -> ./etc/cattle/
INFO: HOME -> ./etc/cattle/metadata/
INFO: HOME -> ./etc/cattle/metadata/answers.yml
INFO: HOME -> ./etc/cattle/dns/
INFO: HOME -> ./etc/cattle/dns/answers.json
[[scripts.sh:184] script_env
[[scripts.sh:109] '[' -n http://<IP_ADDRESS>:8080/v1 ']'
[[scripts.sh:110] return
[[scripts.sh:186] export CATTLE_HOME=/var/lib/cattle
[[scripts.sh:186] CATTLE_HOME=/var/lib/cattle
[[scripts.sh:187] export CATTLE_CONFIG_URL=http://<IP_ADDRESS>:8080/v1
[[scripts.sh:187] CATTLE_CONFIG_URL=http://<IP_ADDRESS>:8080/v1
[[scripts.sh:188] export CATTLE_STORAGE_URL=http://<IP_ADDRESS>:8080/v1
[[scripts.sh:188] CATTLE_STORAGE_URL=http://<IP_ADDRESS>:8080/v1
[apply.sh:23] DNS=
[[apply.sh:25] awk '{print $2}'
[[apply.sh:25] grep '^nameserver'
[[apply.sh:25] sed 's/^# nameserver/nameserver/'
[[apply.sh:25] cat /etc/resolv.conf
[apply.sh:25] for address in '$(cat /etc/resolv.conf  | sed '\''s/^# nameserver/nameserver/'\'' | grep ^nameserver | awk '\''{print $2}'\'')'
[apply.sh:26] '[' <IP_ADDRESS> = <IP_ADDRESS> ']'
[apply.sh:30] '[' -z '' ']'
[apply.sh:31] DNS='"<IP_ADDRESS>"'
[apply.sh:37] sed -i 's/"PARENT_DNS"/"<IP_ADDRESS>"/g' content-home/etc/cattle/dns/answers.json
[apply.sh:39] stage_files
[scripts.sh:77] local monit=false
[scripts.sh:79] '[' -d content-home ']'
[scripts.sh:80] find content-home -name '*.sh' -exec chmod +x '{}' ';'
[scripts.sh:81] sed 's/^/INFO: HOME -> /'
[scripts.sh:81] tar xvf - --no-overwrite-dir -C /var/lib/cattle
[scripts.sh:81] tar cf - -C content-home .
INFO: HOME -> ./
INFO: HOME -> ./etc/
INFO: HOME -> ./etc/cattle/
INFO: HOME -> ./etc/cattle/metadata/
INFO: HOME -> ./etc/cattle/metadata/answers.yml
INFO: HOME -> ./etc/cattle/dns/
INFO: HOME -> ./etc/cattle/dns/answers.json
[scripts.sh:84] '[' -d content ']'
[scripts.sh:102] '[' false = true ']'
[apply.sh:41] ip addr add <IP_ADDRESS>/32 dev eth0
[apply.sh:41] true
[apply.sh:42] grep -q <IP_ADDRESS>
[apply.sh:42] ip route show
[apply.sh:46] reload_service dns 8113
[apply.sh:7] local service=dns
[apply.sh:8] local port=8113
[apply.sh:9] '[' '!' -e /etc/init.d/rancher-dns ']'
[[apply.sh:14] pidof rancher-dns
[apply.sh:14] PID=594
[apply.sh:16] '[' -z 594 ']'
[apply.sh:19] curl -sf -X POST http://localhost:8113/v1/reload

This is an issue with the update scripts needed a newer rancher-dns and rancher-metadata but they have not yet been installed.  We need to install the newer services first, then update config.

This issue was not seen when testing upgrades from v0.69.1 to v1.0.0-rc2/v1.0.0-rc4.


Issue with websocket notifications in Self-Service UI

Hi guys.
If I try to access VM console from Self-Service UI I get the error in "Browser Web Console" that Firefox can't establish a connection to the server at wss://miq02.example.com/ws/notification:
Use of getPreventDefault() is deprecated.  Use defaultPrevented instead.  lib-4910db4b2e.js:2:8929
Invalid chrome URI: /
Invalid chrome URI: /
Use of getPreventDefault() is deprecated.  Use defaultPrevented instead.  lib-4910db4b2e.js:2:8929
Use of getAttributeNode() is deprecated. Use getAttribute() instead.  lib-4910db4b2e.js:1:2487
Firefox can’t establish a connection to the server at wss://miq02.example.com/ws/notifications.  lib-4910db4b2e.js:54:19809
tooltip-popup is now deprecated. Use uib-tooltip-popup instead.  lib-4910db4b2e.js:5
Firefox can’t establish a connection to the server at wss://miq02.example.com/ws/notifications.  lib-4910db4b2e.js:54:19809

I see related error from log/production.log:
INFO -- : Started GET "/ws/notifications" [WebSocket] for <IP_ADDRESS> at 2017-04-04 13:07:27 +0300
INFO -- : Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: WebSocket)
ERROR -- : An unauthorized connection attempt was rejected
ERROR -- : Failed to upgrade to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: WebSocket)
INFO -- : Finished "/ws/notifications" [WebSocket] for <IP_ADDRESS> at 2017-04-04 13:07:27 +0300

Than if I login to https://miq02.example.com/api I can see related notification in SSUI and logs like this:
INFO -- : Started GET "/api/auth?requester_type=ws" for <IP_ADDRESS> at 2017-04-04 13:07:30 +0300
INFO -- : Processing by Api::AuthController#show as JSON
INFO -- :   Parameters: {"requester_type"=>"ws"}
INFO -- : Completed 200 OK in 19ms (Views: 0.2ms | ActiveRecord: 3.1ms)
INFO -- : Started GET "/ws/notifications" [WebSocket] for <IP_ADDRESS> at 2017-04-04 13:07:42 +0300
INFO -- : Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: WebSocket)
INFO -- : Registered connection (Z2lkOi8vdm1kYi9Vc2VyLzY)
INFO -- : NotificationChannel is transmitting the subscription confirmation
INFO -- : NotificationChannel is streaming from notifications_6

But for vm console I get the another error "Access Forbidden":
INFO -- : Started POST "/api/vms/254" for <IP_ADDRESS> at 2017-04-04 13:17:23 +0300
INFO -- : Processing by Api::VmsController#update as JSON
INFO -- :   Parameters: {"resource"=>{"protocol"=>"html5"}, "c_id"=>"254", "vm"=>{}}
INFO -- : Completed 200 OK in 48ms (Views: 0.2ms | ActiveRecord: 10.8ms)

INFO -- : Started GET "/api/tasks/846?attributes=task_results" for <IP_ADDRESS> at 2017-04-04 13:17:24 +0300
INFO -- : Processing by Api::TasksController#show as JSON
INFO -- :   Parameters: {"attributes"=>"task_results", "c_id"=>"846"}
INFO -- : Completed 403 Forbidden in 27ms (Views: 0.3ms | ActiveRecord: 4.5ms)

And for this task (/api/tasks/846?attributes=task_results) I see the error:
{"error":{"kind":"forbidden","message":"Use of the read action is forbidden","klass":"Api::ForbiddenError"}}

I use euwe-2 but I add some changes related to https://github.com/ManageIQ/manageiq/issues/14573

Hello,
Just wondering, does it work with any other browser (Chrome, etc)?

@chalettu can you take a look here?

@chriskacerguis
This happens in all browsers. I found that the user can receive notification and get into the console of the virtual machine only if it is a member of the role "super_administrator". My previous test and  logs was for a user in the  "administrator" role.

Seems like all is "working", just an issue with role settings.  That said, @AllenBW is going to take a look and make sure.

Hi @ITD27M01 :wave:
OK so I gotttaaaaaa few questions for ya... off the bat, this does indeed appear to be missing product feature, so first thing we should investigate is the product features associated with the role assigned to the current group of the user in question, for the sake of thoroughness can you confirm "Access Rules for all Virtual Machines" is selected?

Hi @AllenBW
I have not changed the default settings of the roles. And for the boxed EvmRole roles these settings are read-only.

bahahhahahahaha @ITD27M01 YOU PUT THE IN THE TIME TO ROLL YOUR OWN SMILELY <3 <3 <3
Soooooo that the arrow product feature, can you ensure its selected for the active group of the user you want to give limited privileges to?  (and report back, as this should result in the desired behavior)
The 403 you reported is the tell here, indicating this isn't so much a ui issue.

Are you able to open the virtual machine console with that user via classic ui?  @ITD27M01  :thinking:

@AllenBW Yeah, I forgot to report it. I can open the console in the classic UI.

@AllenBW Currently I use only Openstack backend and have only html5 novnc console for vms. I think that if Super-Administrator have access to consoles then this role have some check box that can allow access for limited user.

@AllenBW
Double check and found that this check box is Tasks checkbox. This box for some reason not very well marked for the role of administrator. Although all nested elements marked:

If I create new role from this builtin role and uncheck then check this Tasks item, everything is working I can access to html5 console.
I found another issue with console buttons from SUI that prevent me to fast troubleshoot the issue and confused me. Pop-up text prevents the console button from being pressed.

At the beginning of the creation of this issue I thought I don't get the message/notifications at the click of a button. Now I realize that I just could not click that button.
It turns out that there are two issues that forced me to create a current:

Not very well marked checkbox Tasks in the role EvmRole-administrator.
The pop-up text, which prevents pressing the console access.
I need to create two of these issues or can I leave through this issue?

@ITD27M01 oh snap, learning about new product features every day!   So the issue of the tooltip getting in the way is something I can handle, totally an sui thing, the issue of product feature clustering would be a here issue (miq) and and if you could create a new, clean, laser focused  message of "hey, product features are confusing sometimes, maybe they should be revamed" referencing this issue, that would go a LONG way, adding steam to an already boiling pot... I'll followup once an issue of is created for the sui thing!

@AllenBW Ok, in this case, I'm waiting for your help at the "tooltip" and create a corresponding issue related to the first point.

@ITD27M01 https://bugzilla.redhat.com/show_bug.cgi?id=1439319
bug made for the tooltip issue, thanks!

Looks like things are working (less the BZ).  Going to close this.
@miq-bot close_issue


Make CurrentBlockStream able to return most recently seen block

This is useful for users of the struct that do not need to react to the
stream in realtime but only poll whether the block has changed some
times.
As part of this the initialization function has become async so that it can fetch the initial block immediately. This also plays nicely with the channel because we no longer need a None default value.
Test Plan
adjusted test

Is this ready to be merged, so I can depend on it in #376?


Separate lib and bin dependencies

Describe the feature you'd like
Separate dependencies of trippy's public library components and it's CLI binary tool. This way, when trying to use trippy within another rust project, I can cargo add trippy without its version of clap (or any of the other TUI/CLI related dependencies) clashing with my own.
Describe alternatives you've considered
I'm not sure there is an alternative, besides me not using trippy as a library.
Additional context
I'm trying to use trippy's tracer within another rust project.

Hi there @wgreenberg and thank you for raising this topic.
I previously attempted to split the library and bin out as you describe (see https://github.com/fujiapple852/trippy/pull/640) but eventually abandoned the PR as it became very out of date.
I’m still undecided on whether this separation makes sense for Trippy, which will mostly be used as a stand-alone tool rather than a library, but I’m open to being persuaded.
what is your use case for using Trippy as a library?

@fujiapple852 I'm working on software that detects machine-in-the-middle attacks via timing analysis (https://arxiv.org/abs/2308.09213) written in rust, and I'd love to be able to use trippy in-process rather than having to start something like https://github.com/heistp/irtt as a child process.

@wgreenberg this has been merged and the new crates will be published to crates.io in the 0.11.0 release.  Note that the public API of trippy-core should be considered highly unstable for the moment, it will change in the future (it was created to support the Trippy tool only, it was never designed for public consumption).

@fujiapple852 thank you very much for taking the time to do the split. I think even if it changes often it will still provide value.

thanks a ton @fujiapple852! agreed, even if it's not stable yet this'll be helpful.


[kmac] Options for SCA of KMAC on ES with masking disabled

Similar to AES, we also need an option for performing SCA on KMAC with the masking switched off (see #14240 for details on AES). The main purpose of this is to allow EM probe positioning and SNR evaluation. We did have a quick conversation on this in the OT SCA meeting. This issue is to keep track of this and to continue the discussion.
Here what we have been thinking so far. The EnMasking is obviously a compile-time parameter. However, KMAC thankfully has several control knobs that can be leveraged:

CFG_SHADOWED.msg_mask: allows to disable the re-masking of the prefix/key/message when loading into the SHA3 core.
CFG_SHADOWED.entropy_fast_process: allows to control whether the PRNG is updated when the SHA3 core processes only the key or always (including also prefix and message). If the PRNG is not updated, constant masks result.

This means the masking cannot be disabled when the key is processed but we can perform the testing using the prefix phase instead. The prefix itself can be provided through software using the eleven PREFIX_0 - PREFIX_10 registers (together with the customization string). This means we should indeed be able to do a fixed-vs.-random TVLA using the prefix phase.
Additional notes:

In the latest version of KMAC we don't re-use intermediate results as randomness as in AES, so constant masks will indeed be equal to all-zero masks.
Providing a software seed and computing all masks won't work because, the effective masks depend on the PRNG state and some secret netlist constants (several permutations). To allow software providing a full seed of all 25 LFSRs and bypass these secret permutations, some RTL changes would be needed. It's not impossible but we should avoid it if we can.
Previous versions of KMAC further allowed to start processing the key without setting CFG_SHADOWED.entropy_ready (w/o enabling the PRNG). IIRC this is required for ROM_CTRL but it's no longer possible to start processing software commands/loading keys without the PRNG being enabled.

Thanks Pirmin for this summary!
@eunchan it would be mega nice if you could quickly read through to make sure we understand right. thx!
cc @moidx @tjaychen for viz

@vogelpi just a clarifying question.
For testing during prefix phase only, do you need some kind of instrumentation to know when that period is? Or it's fine to figure out based on the collected traces?  What I'm gathering is that the key portion will always be masked right?
thanks for the investigation!
btw, if for whatever reason we do decide we need to modify something, let's talk things through with @moidx / @cindychip first, since kmac has technically reached V2S milestone already.

Hey @tjaychen ,
this is a good point. On FPGA, we have modified KMAC design slightly to first provide all the inputs, put Ibex to sleep and then trigger the processing with a delay (see 74cc22123ef9e74312dd4c66f90d43d9e9866f19 for details).
On ES, KMAC will start processing the prefix even before Ibex has provided the full message and has gone to sleep. This is good to generate additional noise when the key is processed. We can adapt the software slightly to wait with providing the message till after the prefix phase for our own analysis. Also, won't have a high-precision trigger output signal for any of the crypto blocks. But their activity will be visible from the traces. And the prefix phase is always the first of three activity phase of KMAC. It should be easy to spot. We will need to invest some effort into trace post-processing (filtering and aligning) to work around having no precise trigger. I don't see a way around that but it should be doable. I don't think we need further HW modifications.
Independent of all this, the key phase is always masked. There is no way around that.

Just had a discussion with @johannheyszl and he noted that if the PRNG is updated when processing the key, the masks will still be different for the prefix phase of the next message. So my initial proposal to do the analysis on the prefix phase actually doesn't work. However, there is an alternative: Johann suggested to do the analysis with masking off using the SHA3-only mode, i.e., without key.

thx Pirmin. cc @ballifatih for viz

thanks for clarifying @vogelpi / @johannheyszl . Doing analysis during SHA3-only mode sounds good to me.
Should we run an experiment (maybe it's already been done) that it actually behaves the way we think it should?

I believe we spoke about this one in the OT-SCA meeting earlier this week, I'm just catching up here.  Using the SHA3 mode sounds good for characterizing things.
Forgive me if this is obvious, but for the ES, you may be able to generate a low/medium-precision but definitive trigger just using one of the GPIOs?  Then it's just a matter of aligning the traces, and the power/EM trace shape should be pretty recognizable to align to (though the overlap of the SHA3 processing with wind-down Ibex activity will obviously make it noisier).  I guess it depends on how "fancy" our alignment step is.

Thx @cdgori for pointing out. This sounds about right. Let's discuss in in the next OT SCA meeting to make sure we don't miss anything

i feel like the trigger alignment is okay right?
Originally I was asking whether we wanted to generate something directly from kmac, but if @vogelpi is okay without that, then I assume a trigger via software or just directly analyzing the trace would both be okay.  So we may not need to open it up for more discussion :)

Sorry @tjaychen , I completely forgot to reply to you here. Yes, I think it should be fine regarding the triggering. We anyway need some re-alignment because unlike on the ChipWhisperer setup, the target and scope won't be fully synchronized when measuring the ASIC. Also, we won't be able to switch of Ibex for actual KMAC measurements on the ASIC because Ibex first needs to configure the command, then provide the data while KMAC is already processing the prefix. It has been designed that way to aggravate SCA. We added the option to first write the data, and then hit start for FPGA only. I think it will be fine.
Regarding analyzing SHA3 with masking off, @m-temp taking care of the FPGA measurements to confirm this works before M2. I've thus assigned him to this issue now.

@wettermo and I are working on this issue. The corresponding PRs (https://github.com/lowRISC/ot-sca/pull/104 and https://github.com/lowRISC/opentitan/pull/15929) are still WIP and need some fine tuning. Nevertheless, the first tvla results look promising.
Using 5,000 traces we can see a huge difference between:

the masked version CFG_SHADOWED.msg_mask = true and CFG_SHADOWED.entropy_fast_process = false
the unmasked version CFG_SHADOWED.msg_mask = false and CFG_SHADOWED.entropy_fast_process = true

There is some leakage for both versions right at the beginning, which I assume to be the initial bus transfer / loading, as

Masking
The message FIFO does not generate the masked message data. Incoming message bitstream is not sensitive to the leakage. If the EnMasking parameter is set and CFG_SHADOWED.msg_mask is enabled, the message is masked upon loading into the Keccak core using the internal entropy generator. The secret key, however, is stored as masked form always.

We might want to investigate that further, but this might go beyond this issue.

masked
unmasked

 5,000 traces
 5,000 traces

 500,000 traces
 500,000 traces

Things to do:

use the latest bitstream with all kmac countermeasures in place
fine tuning of the capture parameters
use a different computer with more RAM for larger traces

this is great! it would be good to know about the initial parts more as you say :)
Because I thought the initial loading would at least do the keys in shares...

this is great! it would be good to know about the initial parts more as you say :) Because I thought the initial loading would at least do the keys in shares...

Well, in sha3 there are no keys. Thus, it cannot be provided in shares ;) The message itself shouldn't be critical.
The idea here is to use the sha3 mode to test the (un)masked Keccak core and to show later in the ES that our masking really changes the side-channel behavior. We do that in sha3 mode, because in kmac mode the key-masking cannot be disabled and thus we cannot show the difference.
@johannheyszl correct me, if my summary needs more clarification.

o that's right, thanks for the reminder!

Thanks @m-temp and @wettermo!
Re leakage at the beginning, trying to summarize: @m-temp seems to think that the leakage at the very beginning could be due to bus transfers of data (not key) to the core. This seems very reasonable to me since even with CFG_SHADOWED.msg_mask = true, the msg is transferred over the TLUL bus unmasked. Note that this is no issue for KMAC since the msg is supposed to be non-confidential.
Yes, all true, we test on SHA-3 to assess leakage of the datapath which is the same as when KMAC'ing. This should check out.

Nice, thanks for sharing the figures @m-temp and @wettermo !
I'm pretty sure the initial leakage is not due to bus transfers because when the capture starts, Ibex is already sleeping. After the last bus transfer which kicks off the processing, it takes another 40 clock cycles (800 samples) on FPGA until the processing as well as the capture actually starts. So this leakage is mostly due to loading the data from the message FIFO into the SHA3 core. Maybe due to padding. But I wouldn't worry. As @johannheyszl pointed out it's not a secret. What really matters is during the high-activity phase, i.e. between samples 1000 and 3500 in the plots above.
I fully agree with your plan. @vrozic should be able to help you with the bitstream. Two remarks:

When you trim down the capture window from 5k to 2.5k samples you will be able to take 1Mio traces with the same machine. That should be sufficient for now.
It would be nice to also see the step plot showing when the t-test starts to detect leakage for the unmasked case. You can enable this by setting number_of_steps in tvla_cfg_sha3_masks_off.yaml to say 10 or 20.

I agree, bus transfer was not very precise. What I meant was: Leakage is due some transfer/loading, but before the SHA3 core.
anyways, I made some more measurements for the masked version
1 Mio traces with and without an offset of 800

no offset
800 samples offset

 (first and second order leakage according to the tvla script)
 (only second order leakage according to the tvla script)

And the corresponding Statistics vs. Number of Traces with 20 steps
without offset

and with 800 smaples offset

For completeness I also added a  Statistics vs. Number of Traces with 20 steps for the unmasked 5,000 traces with an offset of 800 samples, which basically leaks right away

This is great, thanks for sharing the new plots. So what remains is just running the experiments with a more recent bitstream. Looking forward to these results :-)

I've run the experiments with the bitstream from https://github.com/lowRISC/ot-sca/pull/103/commits/787af0521a26b66d4d9f46599236ec24a8309735
However, the results are slightly worse. There's now some 1st order leakage, but the difference between masked and unmask is still huge.
1 Mio traces with and without an offset of 800

no offset
800 samples offset

(first and second order leakage according to the tvla script)
(first and second order leakage according to the tvla script)

And the corresponding Statistics vs. Number of Traces with 20 steps
without offset

and with 800 smaples offset

For completeness I also added a  Statistics vs. Number of Traces with 20 steps for the unmasked 5,000 traces with an offset of 800 samples, which basically leaks right away

Nice, thanks for rerunning the experiments and sharing the results! I think we have high confidence now that we will be able to perform the experiments on the ASIC.
I wouldn't worry about the results of the masked implementation. We ran plenty of experiments when designing the countermeasures. I see two potential reasons for observing worse results for the new bitstream:

Place & route variation + overall FPGA utilization: I am pretty sure generating another bitstream with a very subtle change in a source file unrelated to KMAC (just to modify P&R) will give you different resutlts again.
In the step plots there is an implicit window applied (the y-axis label indicates which samples are actually plotted). When using a sample offset of 800, the step plots still shows samples 520 - 2459. This should be changed based on the sample offset. Probably something in the order of 250 - 2500 makes more sense (similarly, for the "without offset" it should be something in the order of 1000 - 3500+). You can see in the first plot series here that the previous bitstream likely shows some leakage in the first couple of rounds that is ignored in the step plot.

Thanks @m-temp @wettermo and @vogelpi !


New to this, any ideas how to use the docker?

Hi,
I've downloaded the docker from here:
https://hub.docker.com/r/rubygem/chatterbot/
When I run the docker it simply outputs a log stating the various command options and then ends. I don't suppose you have any ideas how I proceed?
I understand this is outside of normal issue tracking hence will not be offended if it's closed without comment :)

Oh weird, I've never seen that before? It looks like some sort of auto-generated docker image?
I've used docker but not to run a bot, but it seems like something that might be handy, so if you explore that at all and want to write up how you went about it, adding it to the docs seems like a great idea.

I agree, it would be a superb way of using Chatterbot, that said, right now I'm just banging my head off the table trying to get it working...

@muffinista progress... I have it running, the issue is that during various stages of the setup it wants to open a browser window when enter is hit, this causes the docker to crap out as I guess it's unable to find certain commands? Is it possible to skip that part?

Yeah, you could generate the auth config manually, or outside of docker, but I'm noticing that the entrypoint in the Dockerfile is chatterbot-register which will restart the registration process whenever it's run I think? So this docker setup might not actually work at all.


RVC Colab issue..

Gak tau masalahnya di colab atau RVC atau notebook nya.
Ada yg ngalamin google colab( free)selalu disconnect pas traning juga inference gak lebih dari 10min.
Jadi sudah gak bisa lagi pakai yang free , gak tau sih yg pro .belum nyoba.
Ada solusinya gak ya?
Atau adakah  alternatif Colab yg free. Yg bisa rvc ? .thx

What notebook are you using?
What appear on the screen when you get disconnect?
Your only alternative is to Train It Yourself (using your PC GPU and CPU).

What notebook are you using?

What appear on the screen when you get disconnect?

Your only alternative is to Train It Yourself (using your PC GPU and CPU).

Tidak ada notifikasi apapun hanya runtime disconnect dan pas di connect kan lagi semua file di colabnya hilang ,dan harus diinstal ulang lagi rVC dan toolsnya semua.gitu terus aja. Kalau dulu masih mending file instalasinya gak hilang pas google colabnya disconnect.

I am going to reproduce this just to make sure.
Might learn Bahasa sometime, I guess :/

Interesting. It just straight up give up. The training isn't even started 💀
Also, is this the screen you are getting? (Don't mind the Vietnamese language I'm using)

Yes, that's it. I don't understand Vietnamese. But I saw the red play button .

It seams to be only related to this particular notebook I tried a different rvc web UI one and it didn't disconnect me. How ever this one is more practicakl then the other one so would be great if it worked again.

 They already banning many colab that contain stable diffusion. And now they're starting to banning RVC colab. Hosting WebUI/Gradio is against colab ToS
This is what it's look like for colab that gets banned
This is what Chris Perry (google colab product lead) said on his twitter.
Fast Alternative is to join colab pro. But if you want the free alternative is to use kaggle instead of colab, and i will make the tutorial soon

Thing is I would buy google Colab but they don't allow PayPal for what ever reason so no look there.

There is already a notebook for cvc training for caggle platform but it is not in English.

Sudah coba kaggle tp gak ngerti. Tunggu tutorial aj.,,🙏

Kira-kira bisa gak sih rvc di launch dari luar colab?
Is it possible deploying the RVC without google colab? Like using VSCode?

Kira-kira bisa gak sih rvc di launch dari luar colab?
Is it possible deploying the RVC without google colab? Like using VSCode?

What do you mean of deploying the RVC?
Yes, you can use RVC without Colab but you will need special GPU with a lot of VRAM, and patience.

Is there any tutorial how to do this without colab? It doesn't matter how long the training for me

Is there any tutorial how to do this without colab? It doesn't matter how long the training for me

You can train it using your computer or Kaggle, but the Kaggle notebook is not done yet.

I'll train using my computer, where i can find the code script?

Kaggle juga error' ,😱👽 ...
"Canceled by backend. Exit code: 137"
Setelah itu langsung disconnect.
Setelah beberapa hari pake ,dan mungkin juga udah banyak yg pake kemungkinan di bann juga?💀

well adleast for you the thing opens, when I try to open this link: https://www.kaggle.com/code/ardhasemaranatha/rvc-v2-kaggle it only shows me the code but I can't run any cell.

well adleast for you the thing opens, when I try to open this link: https://www.kaggle.com/code/ardhasemaranatha/rvc-v2-kaggle it only shows me the code but I can't run any cell.

Have you followed Ardha's tutorial?
On that page, select Copy & Edit like this image and you can use Kaggle.

I'll train using my computer, where i can find the code script?

3 weeks huh?
Go to this this repository and follow the instructions here.


V0.3.5

Version 0.3.5

https://github.com/ccsm-cds-tools/ccsm-cds-dashboard/pull/77
https://github.com/ccsm-cds-tools/ccsm-cds-dashboard/pull/78
https://github.com/ccsm-cds-tools/ccsm-cds-dashboard/pull/79
https://github.com/ccsm-cds-tools/ccsm-cds-dashboard/pull/80

This can be merged in to make a release once #80 is merged.

Still need to update ccsm-cds-with-tests dependency once new version is released to npm.


pkg/api: expose alertmanager status

cc @brancz I think that as long as we are exposing statuses via the operator's API, we should also expose Alertmanager statuses.
cc @brancz @metalmatze

I totally forgot we do this. Actually I think we should remove the other endpoint. We initially did this to circumvent that TPRs/CRDs used to not be able to have a status subresource, but that's possible now, so we should just remove this and actually write the status into the Prometheus/Alertmanager status subresources.

Sounds good. I started working on t by saw that Alec just opened #2074. I’ll close this :)


Jump to definition jumping to intero file in /tmp

When using jump to definition on one of my declared function, the cursor jump to the definition in /tmp/intero6165KMA.hs instead of jumping to the definition of the function.
Example:
module Lib
    ( someFunc
    ) where

someFunc :: IO ()
someFunc = putStrLn "someFunc"

doFun :: IO ()
doFun = someFunc

I was afraid this would happen as a result of https://github.com/commercialhaskell/intero/pull/248.
I think we can probably fix this by only collecting type info for the requested :load module.

Oh wait, it's an easier fix than that.

Done!

That was quick :-). Thank you very much.


Add ability to set language on a code block

Would be great to be able to select a language when hovering over a code block. Once selected, the syntax would highlight appropriately.

Hi @hudsonfoo
Are there any good library you know?

@JiHong88 I had been looking at https://highlightjs.org/ for the wide language support. I was nearly able to integrate it with SunEditor but the SunEditor styles would override Highlight.js. Is there a way to disable SunEditor styles for a specific node?

We also use https://prismjs.com for syntax highlighting. This would be awesome if we could define a language for a code block so that it would apply a class/attribute!

I'll modify to disable the style of a specific area.

@hudsonfoo I added the se-code-language class.
If you give the class se-code-language to the <pre> tag,
the default css will not be applied to the lower <span> tags.

The 2.33.0 version has been updated.
If this issue has not been resolved, please reopen this issue.
Thank you.

If you have an issue with a code block, please register a new issue.


 Multiple charts makes it fail faster.

ai_timelines_and_stuff(t) = {t}
ai_timelines_and_stuff2(t) = {t}
ai_timelines_and_stuff3(t) = {t}
ai_timelines_and_stuff4(t) = {t}

Resize the chart area a bunch of times. This can be done by changing the width of the full browser, or by dragging the line in the middle, a bunch of times.
It should eventually freeze.
If you try reloading the page, it also should break. I see this screen:

Things that I've tried:

Downloading the new, Beta, version of Firefox. (It still broke)
Using Firefox in Private mode, so my browser extensions wouldn't apply (It still broke)
Rolling back Squiggle to 0.8.0, from a few months back. (It still broke).

This is very annoying, makes it difficult to use the app in Firefox.

I did more research. The useCanvas() file/method seems to be the thing that breaks it.
Working with ChatGPT, I messed around with solutions. This change seems to work. However, my guess is that we'd want to clean it up before submitting.
It basically adds Throttling to the call. This  does by 100ms.
import { useCallback, useEffect, useReducer, useRef } from "react";

export type DrawContext = {
  context: CanvasRenderingContext2D;
  width: number;
};

type DrawFunction = (context: DrawContext) => void;

type CanvasState = {
  context?: CanvasRenderingContext2D;
  width?: number;
};

type CanvasAction =
  | { type: "setContext"; context: CanvasRenderingContext2D }
  | { type: "setWidth"; width: number };

function canvasReducer(state: CanvasState, action: CanvasAction): CanvasState {
  switch (action.type) {
    case "setContext":
      return { ...state, context: action.context };
    case "setWidth":
      return { ...state, width: action.width };
    default:
      return state;
  }
}

export function useCanvas({
  height,
  init,
  draw,
}: {
  height: number;
  init?: DrawFunction;
  draw: DrawFunction;
}) {
  const [state, dispatch] = useReducer(canvasReducer, {});
  const currentCanvas = useRef<HTMLCanvasElement | null>(null); // Track the current canvas
  const throttledUpdateRef = useRef<ReturnType<typeof setTimeout> | null>(null);

  const updateSize = (entries: any) => {
    if (!entries[0]) {
      return;
    }
    dispatch({ type: "setWidth", width: entries[0].contentRect.width });
  };

  const throttledResize = (entries: any) => {
    if (!throttledUpdateRef.current) {
      throttledUpdateRef.current = setTimeout(() => {
        updateSize(entries);
        throttledUpdateRef.current = null;
      }, 100); // Throttle updates to once every 100ms
    }
  };

  const observer = new ResizeObserver(throttledResize);

  useEffect(() => {
    return () => {
      observer.disconnect();
      if (throttledUpdateRef.current) {
        clearTimeout(throttledUpdateRef.current);
      }
    };
  }, []);

  const ref = useCallback(
    (canvas: HTMLCanvasElement) => {
      if (!canvas || canvas === currentCanvas.current) return;

      currentCanvas.current = canvas;

      const usedWidth = canvas.getBoundingClientRect().width;
      dispatch({ type: "setWidth", width: usedWidth });

      const context = canvas.getContext("2d");
      if (!context) {
        throw new Error("Failed to initialize 2d context");
      }

      context.resetTransform();
      context.scale(window.devicePixelRatio, window.devicePixelRatio);

      dispatch({ type: "setContext", context });
      init?.({ context, width: usedWidth });

      observer.observe(canvas);
    },
    [init]
  );

  useEffect(() => {
    const { width, context } = state;

    if (!width || !context) return;

    const canvas = context.canvas;

    canvas.style.height = `${height}px`;
    if (canvas.width !== width * window.devicePixelRatio) {
      canvas.width = width * window.devicePixelRatio;
    }
    if (canvas.height !== height * window.devicePixelRatio) {
      canvas.height = height * window.devicePixelRatio;
    }

    context.resetTransform();
    context.scale(window.devicePixelRatio, window.devicePixelRatio);

    draw({ width, context });
  }, [draw, state, height]);

  return {
    ref,
    width: state.width,
  };
}


sql/analyzer: implement a rule to assign indexes

Closes #176
This commit introduces the assign_indexes rule, which finds expressions that are indexed and pushes them down to their respective tables. This rule works in combination with the pushdown rule. It simply finds indexes and combines them to wrap their table node with a placeholder node that has the indexes.
Then, is in the pushdown when the table node is wrapped with the final pushed down version with the projection, filters and indexes. These two rules work together because a sql.Indexable table also requires the filters and the projection to be pushed down. Since this logic is already implemented in the pushdown rule, this avoids repeating this complicated logic by simply delegating that work to the pushdown rule and only finding the indexes and combining them in assign_indexes.
How does finding indexes work?

Every expression is checked against the index registry to check if it's indexed.
When expressions inside OR or AND nodes are encountered, they are combined, if such combination is possible.

In OR expressions, filters for the same table are combined using Union.
In AND expression, filters for the same table are combined using Intersection.
If no combination is possible, the first-most index is kept and the others are discarded.

All indexes are grouped by its table, generating a map between table name and a sql.IndexLookup.

NOTE: multiple column indexes are not handled yet. They will be handled in a subsequent PR as a second iteration.

@erizocosmico shall we rebase again?

On it

Fixed @ajnavarro

So, I stumbled across a few problems:

the pilosa mappings can only have a single instance, so I had to change how the lookup iter and value iter of pilosa work as well as the mappings, because otherwise an index could only be used by one query at a time. This one is already solved.

Since what we pass to the table is a IndexValueIter there is no way to release this index (right now we're doing reference counting for waiting until an index is no longer in use to delete it), because for that you need the actual index.

I thought about doing a wrapper in the analyzer rule the automatically releases the index when the iter is drained. That will not work, though, because IndexLookup rely on the type implementing certain interfaces for some logic such as knowing if it has set operations, is mergeable, etc.
Do you have any idea (either to move from ref count to something else) or how to handle this? I can't figure out a way to release the index after the query (the query iterator, actually) is done.

how about auto close?
when iter wants to return an error he can call close. Also when offset is equal total we can close iter.
wdyt?

It's not that simple. The index needs to be released from the Catalog, but IndexLookup and IndexValueIter don't have access to neither Catalog nor the Index itself.
One idea about how we could solve this is the following:

Delegate the ref count to the index. Instead of doing the retain/release manually in the index registry, add a new parameter to IndexDriver.Create and IndexDriver.LoadAll so every index has access to the shared ref counter instance.
When Index creates an IndexLookup passes down the instance of the ref counter. The ref counter ideally should be able to block the Index from creating more lookups, so it returns nil instead.
If the ref counter allowed the Index to create an IndexLookup, when IndexLookup will create a IndexValueIter, retain the index and pass down the ref counter instance.
When IndexValueIter is done, it will release the index.

This has the downside of delegating the responsibility of releasing the index to the index itself and every index type must implement this logic.
WDYT? @kuba-- @ajnavarro

Your proposal sounds a little bit like a context (ultimately we can take this approach, but I'll have to look into details to understand it better).
In my previous comment I thought particularly about index/pilosa/sqlIndexLookupIter, where internally we can check if we get EOF (or any other error) or it.offset == it.total and then close mapping.
Or maybe we can close mapping all the time, and for each operation/transaction we'll add extra check if db is opened (by checking ErrDatabaseNotOpen). In other words, just thought about some kind of transparent solution.

Done @kuba--


Fixes #1622 - Adds space_after_named_function option for ES6 classes

Description
Adds space_after_named_function option for ES6 class functions
Fixes Issue:

Fixes #1622

@bitwiseman This PR also adds this flag this._flags.parent.class_start_block which I think will be very helpful in the future to detect a bunch of cool states.

Sorry about the multiple review passes.

@bitwiseman Reviews are nice, this is where I get to learn.

Should this be called just class_block?

It is intentionally called class_start_block because the flag is only true for the TK_START_BLOCK -> { token and and not the entire block since I didn't want to assume that the closing brace will exists for the class. Example:
// missing the closing bracket but still should parse correctly.
// parent for "constructor" is `{`

class A {
     constructor(){}

I'm thinking there should be a class_definition flag as well - set when the class reserved word is seen

I can take a look at this, should be straight forward I think.

Then that continues until a { is seen, at which point class_definition is cleared and class_block is set.

Is there an example of a continuing flag in the code? I am not sure how to set those for multiple tokens.

Do you see what I'm saying?

Yes, I think you suggested changes are better. I am going to attempt the requested changes.

I am looking for some help.
Example: class A extends B {
So how do I define a flag for multiple tokens without looking back. So for example, when assigning class_definition as true for the above example checking for class and extends token will be easy and can be assigned true. However, checking that A and B are also part of the class_definition will require me to look back and check that the previous token is of type RESERVED and has text class or extends.
Similar question for class_block which will need to be set to true on {. Without looking back it will be hard to confirm that this is still the class_definition going or just a random brace.

Flags are set per scope. Look at the if-block and else-block behavior. Also look at expressions - they are started by ( and continue until a matching ) is encountered.

I'm being too picky.  This is a solid, well-tested fix.  We can address internal tweaks later.


stale flag docs

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: \ updating stale flags docs with new definition and details of upcoming release changes.
Jira/GitHub Issue numbers (if any): \ FFM-11046
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[X] Successful preview build.
[X] Code owner review.
[X] No merge conflicts.
[X] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://663caf0fb53863a51372dc15--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://663cb2f9b53863a87f72dd2b--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66420e1d03039c15978a7686--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66420e68a44e000d88945c30--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66420e9403039c15ef8a7668--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66420eb678ed2314009d483f--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66420ed14874fb0877a222e5--harness-developer.netlify.app


Upgrading jetty to latest stable 9.2.x

Can one of the admins verify this patch?

@confluentinc It looks like @The-Alchemist just signed our Contributor License Agreement. :+1:
Always at your service,
clabot

ok to test

@The-Alchemist If you retarget this to the 3.4.x branch, we could get it into an earlier release.

Test PASSed.

Test PASSed.

Test PASSed.


[feature] methods or flags to check if form (all fields) is dirty, pristine, valid, etc.

Is your feature request related to a problem? Please describe.
Currently, except if I'm missing something, it is possible to check if a form is pristine (i.e. if every field is pristine) only by adding custom code in the component like:
get pristine() {
  return Object.keys(this.fields).every(key => this.fields[key].pristine);
}

(I could find a comment in another issue mentionning it as well, see https://github.com/baianat/vee-validate/issues/822#issuecomment-332830454)
Describe the solution you'd like
Wouldn't it make sense to offer such methods directly instead of having to add them manually to the component? I can submit a PR if you think this is interesting (if so, what would be the best place for such methods?).
Describe alternatives you've considered
It is possible to add custom code in the component as stated above.

I recommend using Validation Components introduced in 2.1.0 which makes most use cases much simpler than the directive and faster too.
Anyways if you do not want to use them now, you can use the mapFields helper which will automate generating computed props that reflect the status of the inputs.

@logaretm Thank you for your answer! I missed the mapFields helper sorry... It looks like it is not available in TS typings, right? Neither are ValidationProvider or ValidationObserver I think... Can I submit a PR to expose them?

@cexbrayat You definitely can, will be a large help.


Add Hail Batch developer setup instructions

Added a few comments and suggestions that came up when I was replicating the steps.

Thanks very much for these! I've incorporated all your suggestions.


[Question] Use different ip

Since i run bot on my dedic is there way to force bot to use different that default ip ?
I run bots without problems, but looks like niantic change limit per ip or smth since yesterday i got instantly ban when i run more than 4 bots.
I have few IPs on dedi, so will be nice to be able to use it.

There is no built in way to choose which ip address you use at this time.


Robotics;Notes Elite [PCSG00352]

Game summary

Game name: Robotics;Notes Elite
Game serial: PCSG00352

Vita3K summary

Version: 0.01
Build number: 404
Commit hash: https://github.com/vita3k/vita3k/commit/d4cd595

Test environment summary

Tested by: waterflame
OS: Windows 7
CPU: Intel i7-2600
GPU: AMD Radeon HD 6700 Series
RAM: 8 GB

Issues
Fails at opening syse.dat and softlocks. Seems their is a problem with opening dat files or just with the format within dat files as Steins;Gate(#97) also had a problem opening a dat file then softlocking(same engine, though the actual name isn't known it's commonly referred to as "MAGES engine". Maybe just M Engine seeing as the company also has an engine called "M2" which is a step above the MAGES format. For more info have a look at CommitteeOfZero/compendium. No noticeable regressions against 328-https://github.com/vita3k/vita3k/commit/6525c1c
Steins;Gate
...
[18:19:00.856] |I| [export_sceIoOpen]:  Opening file: app0:/gamedata/shader.bin
[18:19:00.877] |I| [write_file]:  *** TTY: File Load Error : shader.bin

Screenshots

Log
vita3k-404.log
Recommended labels

softbug

Vita3K summary

Version: v0.1
Build number: 571-70599d3
Commit hash:  https://github.com/Vita3K/Vita3K/commit/70599d3

RoboticsNotesElite.log

Vita3K summary

Version: v0.1
Build number: 805
Commit hash: https://github.com/vita3k/vita3k/commit/4279f967

Issue
Still soft-locked at sysse.dat, just freshening log
Log
RoboticsNotesElite.log

Vita3K summary

Version: v0.1
Build number: 1315
Commit hash: https://github.com/vita3k/vita3k/commit/5b070aac

RoboticsNotesElite.log
-Game now loads to menu, effects and all.
-Requires hardware flip
-Pressing New Game crashes
-In settings, if you go to page two (using the L or R trigger) it'll crash with a shader compile error
RoboticsNotesElite_shaderCrash.log
Note: On first launch when it's creating save data, it'll ask if you have a save from the trial(You'll know because the box has a O and X option), pick no(いいえ) otherwise you will be stuck in a loop of it telling you it can't find the trial data.

Vita3K summary

Version: v0.1.5
Build number: 2680
Commit hash: https://github.com/vita3k/vita3k/commit/6dd6576d
CPU backend: Dynarmic

Test environment summary

Tested by: othmanead
OS: Windows 11
CPU: Intel i5-10300H
GPU: RTX 3060 mobile
RAM: 16 GB

Issue:

Game plays with no issues

Screenshots:

Log
vita3k.log
Recommended labels

Playable

Vita3K summary
Version: v0.2
Build number: 3584
CPU backend: Dynamic
Hardware
Device: Xiaomi Redmi Pad
OS: Android 13 (MIUI 14.0.5)
CPU: MediaTek Helio g99
GPU: Mali-G57 MC2
RAM: 4 GB + 2 GB (extended/swap/page file)
Software
The game was patched with an English translation
2x upscale (1920x1088)
Memory Mapping Method: Native buffer
Issues
The game would often crash during CG's when:

Upscale is enabled
Using skip during CG's (Fast-forwarding)

Changing the Memory Mapping Method to a Native buffer, made the game more stable however it still would sometimes crash during CG's.
The game would also sometimes randomly crash after a few hours of gameplay.
Missing save file pre-view pictures.
Screenshots/video of a crash

https://github.com/Vita3K/compatibility/assets/109830016/83a5dbcc-e1cf-4c80-923f-58d04bde22b0
My final thoughts
Even with these crashes, I managed to finish the game with no problem.

App summary

App name: Robotics;Notes Elite
App serial: PCSH00165

Vita3K summary

Version: v0.2
Build number: 3587
Commit hash: https://github.com/Vita3K/Vita3K/commit/5b070aac
CPU backend: Dynarmic
GPU backend: Vulkan

Test environment summary

Tested by:  steamdeck
OS: Linux
CPU: AMD Zen 2 w/ 4-cores/8-threads, variable frequency @ 2.4 – 3.5 GHz
GPU: 8x RDNA 2 CU, 1.0-1.6GHz
RAM: 16 GB

Issues

You can't advance past where the 3d part starts and Steam Deck is off
I'm not an expert

Log
I don't know how to float the SteamDeck log. sorry
Screenshots:

Recommended labels
https://github.com/Vita3K/compatibility/labels/Ingame -

https://github.com/Vita3K/compatibility/labels/Ingame -


feat: npm publishing only relevant files

What’s the focus of this PR
This PR is intended to remove from the npm published package all the files that are not relevant for consumers (eslintrc, travis...) keeping optional ones like the examples folder that may be useful at some point.
If you think the systemic's npm package should contain all these development files simply reject this PR but in my humble opinion, it would better to publish a clean package containing only the files that matter.
How to review this PR
Check how we can whitelist the files we want to include in the package by using the files property in package.json, this way there is no need to have a npmignore file.
The whitelisted files are these ones:
- index.js
- LICENSE.txt
- CHANGELOG.md
- examples

package.json and README.md are added by default, no need to include them in the array

Hi @danielherrerohernando,
If we were to create another (necessary) file, is there anything that will remind us to add it to the white list?

Hi @danielherrerohernando,
If we were to create another (necessary) file, is there anything that will remind us to add it to the white list?

@cressie176 No, that's the downside of this approach. If you think that's going to happen quite often in the future it's better to use the npmignore blacklisting approach

I think npmignore is a safer approach.

@cressie176 ok, I've updated the PR accordingly, now just using .npmignore


[REVIEW] Updates to streamz_weblogs

[x] Include output of remaining cells
[x] Producer logic added to python
[x] Switched file writes during streamz to append mode (need to discuss file handling for the Kafka case Reverted to overwrite mode. Added comment
[ ] Discuss adding shell command for starting up the Kafka server within the notebook. Decided against this. The Quickstart guide is useful + users might want to setup Kafka slightly differently based on their use.
[x] Added Conda install for python confluent Kafka which was missing

@randerzander Can you view the final notebook and suggest changes if/where required.
Notebook has been tested with the nightly from docker on ubuntu 16.04, cuda10

@randerzander please review and let me know when to merge/merge it


VUEX2.0 and phantomjs-window2.1.1

I ran into a problem,about VUEX2.0 and phantomjs-window2.1.1

ps: This domain is my local domain,that is a demo with vue2.0 Family bucket app.

As the error says: You need a Promise polyfill.