Balance,Currency,CurrencyPair,Wallet,AccountInfo as Interface

@timmolter has requested a laser focussed debate and vote on this PR.
the author sees it as a good idea to simplify several central abstractions to pure interfaces.

some default methods were extracted from the refactored classes into the replacement interfaces
the author preserves 100% unit test success
the PR went to great lengths to minimize change of imports in the DTO's affected.  unused imports were typically removed by intellij.
there are no changes to poms or build methods in this PR.
@timmolter has expressed intent to nominate this PR against a higher version increment designation, to indicate that this involves major changes.
constructors have been converted to factory methods and builders in the interfaces.

at no point was the functionality or scope changed for any given object's construction.

the implementation classses were refactored to .impl.Class  pattern to keep clarity of the original declarative choices.
there are notable whitespace/formatting impacts
files that were touched were granted some automated tweaks in response to some of the shuffling due to builder parameters being broken out.
there's some leftover full class names which don't affect anything in the code.  these couldn't be normalized cleanly without touching new files.  there's no consequence to this decision.
when discussing java Interfaces there seems to be a perfect storm for bikeshed arguments.  to respect the reader's and the author's time, please limit the discussion to risks pertaining to the contents of this PR and limit conjecture.
The author acknowledges that opinions about code can be personal preferences but the author's opinion is that

Adapters are unnecessarily induced by the final Class DTO's.  if you like Adapters, this PR doesn't change anything for you.
A real-world example on more than one occasion has been with Balance ".total" and ".available" causing NPE's.  the consumer of a DTO should have no surprises about internal state, and so if one chooses to use an interface, there will be no surprises or unexpected NPE's by using that interface to define the method outputs specific to the API being queried.

The author of this PR seems to follow an ideology that interfaces are the golden bullets to solve every design problem and advocates that every thing should be implemented using them, even value objects. The author of this PR will insult everyone who does not agree that EVERYTHING should be used through an interface and will accuse you of being an incompetent programmer, ideolog, sabotage agent or a FUD spreader if you think otherwise. He also needs those interfaces to peruse a totally different way of implementing exchange model mapping / adaptation in his new modules without an overall consensus that this is the way our community wants to go.
To any one wondering how the "debate" looked like: https://web.archive.org/web/20180423031617/https://github.com/knowm/XChange/pull/2507
I had to resort to archiving it as the author of this PR is known to delete his own comments to obstruct the conversation.
He is also creating multiple PRs with the same code to ditch any comments:
https://github.com/knowm/XChange/pull/2524
https://github.com/knowm/XChange/pull/2523
https://github.com/knowm/XChange/pull/2522
https://github.com/knowm/XChange/pull/2507
@timmolter last comment was:
https://github.com/knowm/XChange/pull/2507#issuecomment-383413590

The author of this PR seems to [...]
Apoligies to the reader, and to Adam Walczak and @walec51  in advance for whatever the reader may perceive as too much explaining, or too little explaining, or interpreting comments as FUD when they were something else, or attempting to minimize the amount of irrelevant comments in the PR.  see #11 above.


Print from Stdin

I am looking to know if the following is capable?
Printing from STDIN Python
 echo test | python -c "import sys; print(sys.stdin.read().strip())"
test

Printin from STDIN in risor
 echo test |  risor -c `...` # what goes here

Printin from STDIN in risor
 echo test |  risor -c `...` # what goes here

Other MISC examples
❯ echo test | risor -c 'print("hello")
hello

Hi @bernadinm, thanks for asking about this. I had neglected working on any useful stdin support, as silly as that sounds.
I just took a first cut at it here: https://github.com/risor-io/risor/pull/73
Can you review the examples in the PR and let me know how it looks to you?

This is available in Risor as of release 0.10.0. Let me know if you have any trouble with it!
https://github.com/risor-io/risor/releases/tag/v0.10.0


Update module k8s.io/apiextensions-apiserver to v0.30.1

This PR contains the following updates:

Package
Type
Update
Change

k8s.io/apiextensions-apiserver
require
minor
v0.29.3 -> v0.30.1

Release Notes

kubernetes/apiextensions-apiserver (k8s.io/apiextensions-apiserver)
v0.30.1
Compare Source
v0.30.0
Compare Source
v0.29.5
Compare Source
v0.29.4
Compare Source

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

ℹ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

9 additional dependency was updated
The go directive was updated for compatibility reasons

Details:

Package
Change

go
1.21.5 -> 1.22.3

k8s.io/client-go
v0.29.3 -> v0.30.1

github.com/google/cel-go
v0.17.7 -> v0.17.8

k8s.io/api
v0.29.3 -> v0.30.1

k8s.io/apimachinery
v0.29.3 -> v0.30.1

k8s.io/apiserver
v0.29.3 -> v0.30.1

k8s.io/component-base
v0.29.3 -> v0.30.1

k8s.io/klog/v2
v2.110.1 -> v2.120.1

k8s.io/kms
v0.29.3 -> v0.30.1

k8s.io/kube-openapi
v0.0.0-20240105020646-a37d4de58910 -> v0.0.0-20240228011516-70dd3763d340


cairo-sys: fix enum types

Fixes #124

👍

Seems comments about FontExtents and TextExtents can be removed too.

.. in cairo-sys-rs/src/lib.rs line 433, 435

Should I squash any of those commits?

Yes, please, and thanks for fixing.
👍

It looks like cairo has no Region implementation yet. So I'll remove pub use enums::RegionOverlap from cairo.

CI passed

Thanks!


[CI] Docker Desktop Extension: refactor for DDE build only

Signed-off-by: leecalcote<EMAIL_ADDRESS>Description
This PR sets release channel and removes checkout of meshery/meshery.
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

This change is for the Meshery Extension for Docker Desktop workflow.


Feature Request: Add Labels in ven-export as in wkld-export

Feature Request: Add Labels in ven-export as in wkld-export
Currently, you can view/filter workloads based on labels only in wkld-export
However, you can't do that with ven-export report
Reasons why need that:

For large customers, it's important to be able to filter workloads/vens based on labels for automation and organizational purposes
ven-export report has important data that is not available wkld-export, such as (uid + ven health + ven type)
ven type specifically is important with the new updatres from Illumio and introducing Endpoint vs Server
uid is important to help troubleshoot cloned workloads

completed


Testing latest version

Updating example for the latest bandframework release

Will need to update the example:
$ python parmoo_fayans_test.py --comms local --nworkers 4
Traceback (most recent call last):
  File "/home/wild/oldcomp/repos/parmoo-solver-farm/fayans-model-calibration-2022/parmoo_fayans_test.py", line 20, in <module>
    from parmoo.extras.libe import libE_MOOP
  File "/home/wild/.local/lib/python3.10/site-packages/parmoo/__init__.py", line 14, in <module>
    from .moop import MOOP
  File "/home/wild/.local/lib/python3.10/site-packages/parmoo/moop.py", line 21, in <module>
    from parmoo.embeddings.default_embedders import ContinuousEmbedder,  \
ModuleNotFoundError: No module named 'parmoo.embeddings'

I'm not sure what we want to do here.  I like keeping some of these static (hence why I locked the version numbers in the subdirectories) as snapshots in time.  Additionally, the two existing directories are referenced by the design paper and so are linked to the version of ParMOO used to run those experiments.
We could either:

Update these examples, in which case someone needs to re-run the experiments for the design paper (someone being you, I no longer have access to those machines)
Create another Band example directory which we do update to match the BAND version (you'll have to update the BAND docs to reference this)

@wildsm

The current (using 4.1) error is
$ python3 parmoo_fayans_test.py --comms local --nworkers 4
Traceback (most recent call last):
  File "/home/wild/oldcomp/repos/parmoo-solver-farm/fayans-model-calibration-2024/parmoo_fayans_test.py", line 21, in <module>
    from parmoo.optimizers import TR_LBFGSB
ImportError: cannot import name 'TR_LBFGSB' from 'parmoo.optimizers' (/home/wild/.local/lib/python3.10/site-packages/parmoo/optimizers/__init__.py)

@thchang - can you maybe look at fayans-model-calibration-2024/?

I think the hotfix in parmoo 0.4.1 should fix the packaging issue you were having.
However, I will need to update several items for the interface-breaking changes introduced in 0.4.0
I will do so later today or tomorrow.

@wildsm , sorry I missed your comment -- yes, that is expected.  I changed the naming of many of the solver components to consolidate redundant code and create a consistent naming convention.  I tried to create aliases to maintain backward compatibility, but it's not always possible.
Also, other interface-breaking changes will cause issues, such as providing a separate gradient evaluation function instead of a gradient option in the objective.
I'll sit down and fix it later today.

@thchang - I 'm still having trouble
parmoo-solver-farm/fayans-model-calibration-2024$ python3 -m pip install -r REQUIREMENTS.txt
succeeds
parmoo-solver-farm/fayans-model-calibration-2024$ python3 parmoo_fayans_test.py --comms local --nworkers 4
yields:
Traceback (most recent call last):
  File "/home/wild/oldcomp/repos/parmoo-solver-farm/fayans-model-calibration-2024/parmoo_fayans_test.py", line 89, in <module>
    fayans_moop.solve(sim_max=200, wt_max=600)
  File "/home/wild/.local/lib/python3.10/site-packages/parmoo/extras/libe.py", line 800, in solve
    H, persis_info, flag = libE(sim_specs, gen_specs, exit_criteria,
  File "/home/wild/.local/lib/python3.10/site-packages/libensemble/libE.py", line 232, in libE
    return libE_funcs[comms_type](sim_specs, gen_specs, exit_criteria, persis_info, alloc_specs, libE_specs, H0)
  File "/home/wild/.local/lib/python3.10/site-packages/libensemble/libE.py", line 422, in libE_local
    check_inputs(libE_specs, alloc_specs, sim_specs, gen_specs, exit_criteria, H0)
  File "/home/wild/.local/lib/python3.10/site-packages/libensemble/tools/check_inputs.py", line 227, in check_inputs
    check_libE_specs(libE_specs, serial_check)
  File "/home/wild/.local/lib/python3.10/site-packages/libensemble/tools/check_inputs.py", line 37, in check_libE_specs
    assert k in allowed_libE_spec_keys, "Key %s is not allowed in libE_specs. Supported keys are: %s " % (
AssertionError: Key final_gen_send is not allowed in libE_specs. Supported keys are: ['abort_on_exception', 'enforce_worker_core_bounds', 'authkey', 'disable_resource_manager', 'dedicated_mode', 'comms', 'resource_info', 'disable_log_files', 'final_fields', 'ip', 'kill_canceled_sims', 'mpi_comm', 'num_resource_sets', 'nworkers', 'port', 'profile', 'safe_mode', 'save_every_k_gens', 'save_every_k_sims', 'save_H_and_persis_on_abort', 'scheduler_opts', 'use_persis_return_gen', 'use_persis_return_sim', 'workerID', 'worker_timeout', 'zero_resource_workers', 'worker_cmd', 'ensemble_copy_back', 'ensemble_dir_path', 'use_worker_dirs', 'sim_dirs_make', 'sim_dir_copy_files', 'sim_dir_symlink_files', 'sim_input_dir', 'gen_dirs_make', 'gen_dir_copy_files', 'gen_dir_symlink_files', 'gen_input_dir']

so maybe an issue with an OLD libEnsemble being used?

@wildsm it looks like you have an older version of libensemble -- you need libensemble>=1.0.0
Maybe we add this to the REQUIREMENTS.txt file in this repo?
I have it set as the version in the parmoo repo's REQUIREMENTS.txt, but it looks like we don't pin the version requirements in ParMOO's setup.py file 🫤

Yes, that's exactly it, the parmoo[extras]==0.4.1 was insufficient since the minimum libensemble version wasn't pull in via setup. Thanks for opening #107.

Note that this new directory will be referenced in the next BAND release (see https://github.com/bandframework/bandframework/tree/release/parmoo_v0.4/software/parmoo)


Txindex proper fallback

Successor to #1585 and updates btcd/neutrino/btcwallet to point to mainline.

Same as in original review, pushed branch to address my own comments: https://github.com/lightningnetwork/lnd/compare/master...halseth:txindex-proper-fallback2?expand=1
Feel free to cherry-pick into this PR! Otherwise LGTM :)

Pulled in latest changes


Improve scoring

I fixed some issues according to the scoring system on pub.dev
Couldn't use the newest lottie because it depends on a newer characters version.

Are you not satisfied with these changes? @leisim


Update supported-azure-ad-features.md

Adding additional clarification about group-based assignment of enterprise applications not being supported in an Azure AD B2C tenant

@jasonfritts : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@jasonfritts : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


3D Bounding Box support

It would be a nice feature to display 3D bounding boxes within the viewer.
One could probably add points to obtain the desired effect, but I believe it would be more efficient to have it coded directly in the render interface.
Is this feature a simple one to implement?

Is there any news on this?

@hecspc  any updates on this thread ?

It seems that this tool is no longer maintained. If you need features such as 3D bounding boxes I'd recommend using Mayavi or Open3D. The latter has a clear documentation wide community support.


polish rule/nat dialogs

The rules/nat dialogs have a drop down to select a few predefined protocols + (other), with other you can enter a port number or an alias.
Why not just offer a box, you can enter a number, alias or pre-existing protocol name? Seems cleaner and quicker to me, now I need to look in the list for stuff while I could just type 'ht' and select https for example.

Completely reworked since.


webpackJsonp is not defined

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
Since updating to 3.6 i'm getting "webpackJsonp is not defined" when I try to run my project.

A fresh install of everything in a new directory fixed it ¯_(ツ)_/¯

My experience on this issue was missing  inside index.html

As @jasonhoch23 stated, including the vendor.js file fixes this issue. It is to be included before main.js. https://github.com/ionic-team/ionic-app-scripts/releases/tag/v2.0.0

I have the same problem on devices running on android 4.4.4.
It works fine on newer models.

I have the same problem only on Android 4.4. Did anyone come up with a solution?

It might be a cordova plugin which does not support android 4.4.4. Please remove one by one and try to emulate it on android 4.4.4. This is how I isolated the problem and managed to find a solution for it.

still getting the same error with Android 5.0 and vendor.js is already in index.html :/


Add NormalsTextureBiasAndScale test and McUsd full assets

Test to see if a USD viewer pays attention to the bias and scale values for the three different normal maps applied.

See the readme layout here: https://github.com/erich666/assets/tree/main/test_assets/NormalsTextureBiasAndScale

Here's some feedback I received, and why I made recent changes (changing to centimeters from meters): https://github.com/erich666/McUsd/issues/3

New commits, @jcowles and anyone else, if you want to take a look and trim more fat or non-standard stuff, great.

I've now added McUsd (the full_assets model I started with) - please look it over. I decided not to change the names of the various blocks and shaders from underlined (e.g., "lava_still") to CamelCase ("LavaStill"), as these names have a real meaning in Minecraft itself. That is, it's how they're described by Minecraft; changing them to other names loses that connection.

Not changing the names because they map to Minecraft makes sense to me!


Change branch name for HACS CI action

To fix a warning with HACS GitHub Action.

I don't understand you comment. The repository https://github.com/hacs/action is already using main. So currently in blueprint the branch master is used and you have a warning in CI (check this message)
So if we want to remove the warning message we should modify blueprint to use the main branch for this action. It's what I'm doing in this PR.

instead of hacs/integration/action@main which will be removed, it's better to use hacs/action@main

Thank you for taking time. Now I understand your first comment.

Done


chore(upstream): add pluginPackage values to...

What does this PR do?
chore(upstream): add pluginPackage values to make backstage-cli happy (RHIDP-3236)
Signed-off-by: Nick Boldt<EMAIL_ADDRESS>Screenshot/screencast of this PR
N/A
What issues does this PR fix or reference?
N/A (or see commit message above for issue number)
How to test this PR?
N/A
PR Checklist
As the author of this Pull Request I made sure that:

[x] The Eclipse Contributor Agreement is valid
[x] Code produced is complete
[x] Code builds without errors
[ ] Tests are covering the bugfix
[x] The repository devfile is up to date and works, if one exists
[x] Sections What issues does this PR fix or reference and How to test this PR completed
[x] Relevant user documentation updated
[x] Relevant contributing documentation updated
[x] CI/CD changes implemented, documented and communicated

Reviewers
Reviewers, please comment how you tested the PR when approving it.

is this PR same as #1920 ?

/lgtm

is this PR same as #1920 ?

same goal, different payload. #1920 has some weird changes in it and I wasn't sure if they were correct. Left comments/questions.


Consider making xacros REP-103 compliant (coordinate systems)

The current xacro macros (in duaro_description and rs_description) appear to follow the KHI convention of X+ to the right, Y+ forward, and Z+ up.
REP-103 (Standard Units of Measure and Coordinate Conventions) specifies a convention of: X+ forward, Y+ left, Z+ up (section: Coordinate Frame Conventions - Axis Orientation).
Adhering to this convention would make it easier to combine KHI robot models with other models in ROS, and in addition would make it easier to integrate them with existing ROS applications (that expect REP-103 compliant robots).
The suggestion in this ticket is to make the KHI xacro macros REP-103 compliant.

Additional input: within ROS-Industrial we're preparing to submit a new REP to standardise robot model joint and link names, as well as coordinate conventions for use of ROS in industrial contexts.
The working title is Coordinate Frames for Serial Industrial Manipulators.
In this document, the section Coordinate Frames suggests to "map" coordinate systems from OEMs to ROS coordinate conventions by the introduction of so called base and tool0 frames. Those frames do not have to follow REP-103, but could be transformed to coincide with the coordinate systems of an OEM.
For KHI, this would mean that base (as a child of base_link) would be rotated by +90 degrees over the Z axis, such that it corresponds to the KHI Base coordinate system, and tool0 (as a child of flange, via link6) would also be rotated +90 degrees over the Z axis, such that it corresponds to all-zeros KHI Tool coordinates.
This way, the transform base->tool0 should correspond to what the KHI controller reports, while the robot model itself is still REP-103 compliant (ie: has X+ forward).

Note: the new REP has not yet been ratified, so it is not a standard right now. It's entirely up to you whether you feel it makes sense to follow its advice. I just wanted to provide you with more information and an option to allow for transformations between KHI and ROS coordinate system conventions.
Adding the additional base frame would also address the issue with the coordinate frame origins described in the readme. base would be located where it should be (ie: "Origin of base (KHI coordinate) is Robot Link1 origin.").

Thank you for explaining REP-103,REP-199.
I worried about the difference ROS and KHI cordinate.
So I want to follow Coordinate Frames for Serial Industrial Manipulators.

Just a note: REP-199 is not the final number for this REP. It's just a place-holder.

@matsui-hiro: I can start adding the base, flange and tool0 frames to the macros.
Will you take care of rotating the rest of the robot?

I was late for response.

Will you take care of rotating the rest of the robot?

In order to coexist with other robots of ROS, I think that it can not be helped to rotate the robot.
I want to know more information and an option to allow for transformations between KHI and ROS coordinate system conventions.

I want to know more information

Can you clarify what sort of information you are looking for?

and an option to allow for transformations between KHI and ROS coordinate system conventions.

I may not have been clear about this, but that is exactly what the base and tool0 frames are for.
base and tool0 would be KHI aligned. base_link and all the other links would be ROS aligned.

that is exactly what the base and tool0 frames are for.

I see.

Can you clarify what sort of information you are looking for?

I want to know the way for planning  with the same pose as now,  after adding the change(rotating the robots),
ex) /khi_rs007n_moveit_config/script/rs007n_demo.py

    group = MoveGroupCommander("manipulator")
    exec_vel = 0.5

    rospy.loginfo("pose1 start")
    group.set_max_velocity_scaling_factor(exec_vel)
    group.set_pose_target([0.5,-0.2,0.2,0.0,1.0,0.0])
    group.go()
    rospy.loginfo("pose1 end")

Can I plan by the coordinate that have base as origin and tool0 as end_effector?
Should I change the element of manipulator group?

MoveIt will always plan in a ROS-aligned coordinate system (ie: REP-103 compliant).
If you rotate your robot such that the robot's "forward" side is aligned with Y+ (as is the case now with all models in khi_rs_description and the Duaro), all poses "in front of the robot" will just have a Y+ coordinate (where they would otherwise have a similar X+ coordinate).
What changes with the introduction of base and tool0 would be that instead of specifying pose targets for MoveIt relative to base_link, you'd give target poses relative to base. Internally, MoveIt should first transform those poses to the base_link frame. That transformation will account for the 90 degree rotation between REP-103 and the KHI Base frame.
In the end the robot will go to the correct pose, and the pose expressed relative to base should correspond to what the KHI teach pendant shows. The ROS transform base_link->tool0 will not show the same values (but that would be expected: X and Y are interchanged).
MoveGroupCommander will -- by default -- use the EEF configured for the group that it wraps (or the last link if there is no EEF). So if the group runs from base->tool0, it should do the right thing if you call set_pose_target.
This last bit would have to be verified though. It's been a while since I've used MoveGroupCommander.

instead of specifying pose targets for MoveIt relative to base_link, you'd give target poses relative to base. Internally, MoveIt should first transform those poses to the base_link frame.

So if the group runs from base->tool0, it should do the right thing if you call set_pose_target.

All-zeros TCP on KHI controller is coincident with origin of link6 frame.
So, to call set_pose_target with same pose values after  introduction of base (rotated by +90 degrees over the Z axis)    and tool0(rotated by +90 degrees over the Z axis) ,
I should call set_pose_reference_frame and set_end_effector_link like below.
ex) :modified /khi_rs007n_moveit_config/script/rs007n_demo.py
    group = MoveGroupCommander("manipulator")
    exec_vel = 0.5

    rospy.loginfo("pose1 start")
    group.set_pose_reference_frame("base")
    group.set_end_effector_link("tool0")
    group.set_max_velocity_scaling_factor(exec_vel)
    group.set_pose_target([0.5,-0.2,0.2,0.0,1.0,0.0])
    group.go()

Is this way usingMoveGroupCommander reasonable?

@matsui-hiro wrote:

All-zeros TCP on KHI controller is coincident with origin of link6 frame.

So the transform between link6 and tool0 would be just a rotation of 90 degrees over Z in that case (as you write) to "compensate" for the REP-103 vs KHI difference.

So, to call set_pose_target with same pose values after introduction of base (rotated by +90 degrees over the Z axis) and tool0(rotated by +90 degrees over the Z axis) ,
I should call set_pose_reference_frame and set_end_effector_link like below.
[..]
Is this way usingMoveGroupCommander reasonable?

I would say "yes, it is". In fact, it would be best if everyone would first explicitly set pose reference frames and EEF links, but right now that is not common practice (that may be because there are not a lot of robots that have any frame other than X+ "forward" in common usage).
If I understand your example correctly this should result in the EEF ending up in the exact same location on both the KHI TP and "in ROS" (ie: when asking for the base->tool0 transform).

Thank you very much for explaining.
I understood the way for transformations between KHI and ROS coordinate system conventions.
So I'll create PR of REP-199  (adding the base and  tool0).


fix: resolve icons id without compiler option

Should fallback to return original res when user didn't provide compiler option.

@hannoeru if the compiler is raw or none your changes will not work

the icon id must be resolved, so the code is only to add the extension and allow some others to use the transformation, for example svelte, otherwise (no extension required)

The options.compiler is not resolved option, so if user didn't provide compiler option it will never resolve res...


Undetected choice conflict

For some grammars, javacc appears to detect a choice conflict if Kleene-* is used but fails to detect the same conflict if an auxiliary non-terminal is used instead of Kleene-*.
The conflict is detected in this version:
A ::= "new" T "[" "0" "]"
T ::= "int" ( "[" "]" )*
But not in this one:
A ::= "new" T "[" "0" "]"
T ::= "int" Q
Q ::= "[" "]" Q
Q ::=
Since follow(Q) = follow(T) = { "[" } I think the conflict should be detected.
(Javacc source attached.)
choice-conflict.txt

Please specify which version of JavaCC you are using?

Apologies. I've tested this with versions 5.0 and 7.0.5. Same behaviour for both.

This behavior is related to issue #86.
The | {} last part of Q() makes this production always matched (so therefore no choice conflict), which is not the same if Q is written as Q ::= [ "[" "]" Q ], which is the same form as T().
Using | {} looks to me quite weird and should be done really on purpose.

I can see that it looks like it may be related to #86, though I'm not familiar with the internals of JavaCC so not really able to judge . But I don't think there is anything weird about empty productions, they are standard in CFGs.

I've had a look at #86 in a bit more detail. A very long discussion which I don't fully understand but I notice this comment from @new-javacc :  "one more thing you should remember is that {} is NOT empty". Maybe that is my mistake. So what is the correct way to specify an empty production in JavaCC?

Now I see in the FAQ that JavaCC "does not calculate follow sets in the standard way, and cannot do so as JavaCC has no idea what your starting non-terminal will be". My expectation that JavaCC would detect the choice conflict in this example was based on my assumption that JavaCC was indeed calculating follow sets.
Can anyone clarify (or point to a clarification in the docs) when JavaCC will/won't detect choice conflicts? For example, will JavaCC always detect choice conflicts if empty productions are not used (using Kleene-* and/or optional clauses instead)?


Grascale transform cannot increase the number of color channels

🐛 Describe the bug
Background
As I understand it, the transform called Grayscale (found here in v2), should allow a user to request 1 or 3 output channels with the keyword argument num_output_channels.
Expected and Actual Behavior
I was attempting to use Grayscale to transform a grayscale image to RGB (it's a hack, I know, but a simple way to use a pretrained network like AlexNet on a grayscale dataset like MNIST). So, I tried to add Grayscale as a transform that would increase the number of output channels from 1 to 3. This failed, and maintained a single color channel after the transform.
Comment
In the case where a dataloader produces an image, label tuple, one can simply call images = images.repeat(1, 3, 1, 1) after each batch is generated by the dataloader. But it's nice to have everything prepackaged in a composed transform.
If what I've described here is not the desired behavior of Grayscale for the torch maintainers, I understand, but wonder if it would be useful to make another transform called GrayscaleToRGB with the optional input argument map that defines how much energy to put into each color channel from the gray values? (e.g. rgb = gray * map.view(3, 1, 1))
Minimum Working Example
Here is a MWE with a toy dataset to show the observed behavior:
import torch
from torchvision.transforms import v2 as transforms

class random_image(torch.utils.data.Dataset):
    def __init__(self, num_input_channels=1, transform=None):
        self.images = torch.normal(0, 1, (100, num_input_channels, 28, 28))
        self.transform = transform

    def __len__(self):
        return len(self.images)

    def __getitem__(self, idx):
        if torch.is_tensor(idx):
            idx = idx.tolist()

        sample = self.images[idx]
        if self.transform:
            sample = self.transform(sample)

        return sample

    def __getitem_notransform__(self, idx):
        if torch.is_tensor(idx):
            idx = idx.tolist()

        return self.images[idx]

def get_transform(num_output_channels=1):
    transform = transforms.Compose([
        transforms.ToImage(),
        transforms.Grayscale(num_output_channels=num_output_channels)
        ])
    return transform

# Convert RGB to Grayscale... (works as expected)
dataset = random_image(num_input_channels=3, transform=get_transform(num_output_channels=1))
item = dataset.__getitem__(1)
item_pretransform = dataset.__getitem_notransform__(1)
print("\nConverting RGB image to grayscale (num_input_channels=3, num_output_channels=1)")
print("Before:", item_pretransform.shape, "  After:", item.shape)
print("This works as expected")

# Convert RGB to RGB.... (why one would do this, don't know)
dataset = random_image(num_input_channels=3, transform=get_transform(num_output_channels=3))
item = dataset.__getitem__(1)
item_pretransform = dataset.__getitem_notransform__(1)
print("\nConverting RGB image to RGB (num_input_channels=3, num_output_channels=3)")
print("Before:", item_pretransform.shape, "  After:", item.shape)
print("This works as expected, (it's never really necessary, but confirms that Grayscale can maintain 3 color channels)")

# Convert Grayscale to RGB.... this doesn't work
dataset = random_image(num_input_channels=1, transform=get_transform(num_output_channels=3))
item = dataset.__getitem__(1)
item_pretransform = dataset.__getitem_notransform__(1)
print("\nConverting Grayscale image to RGB (num_input_channels=1, num_output_channels=3)")
print("Before:", item_pretransform.shape, "  After:", item.shape)
print("This fails to expand the grayscale image to have 3 channels")

Output
# Converting RGB image to grayscale (num_input_channels=3, num_output_channels=1)
# Before: torch.Size([3, 28, 28])   After: torch.Size([1, 28, 28])
# This works as expected

# Converting RGB image to RGB (num_input_channels=3, num_output_channels=3)
# Before: torch.Size([3, 28, 28])   After: torch.Size([3, 28, 28])
# This works as expected, (it's never really necessary, but confirms that Grayscale can maintain 3 color channels)

# Converting Grayscale image to RGB (num_input_channels=1, num_output_channels=3)
# Before: torch.Size([1, 28, 28])   After: torch.Size([1, 28, 28])
# This fails to expand the grayscale image to have 3 channels

Versions
Collecting environment information...
PyTorch version: 2.1.1
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A
OS: Microsoft Windows 10 Enterprise
GCC version: Could not collect
Clang version: Could not collect
CMake version: Could not collect
Libc version: N/A
Python version: 3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:40:31) [MSC v.1929 64 bit (AMD64)] (64-bit runtime)
Python platform: Windows-10-10.0.19045-SP0
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 3060
Nvidia driver version: 536.23
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture=9
CurrentClockSpeed=3600
DeviceID=CPU0
Family=198
L2CacheSize=2048
L2CacheSpeed=
Manufacturer=GenuineIntel
MaxClockSpeed=3600
Name=12th Gen Intel(R) Core(TM) i7-12700K
ProcessorType=3
Revision=
Versions of relevant libraries:
[pip3] numpy==1.26.2
[pip3] torch==2.1.1
[pip3] torchaudio==2.1.1
[pip3] torchvision==0.16.1
[conda] blas                      2.120                       mkl    conda-forge
[conda] blas-devel                3.9.0              20_win64_mkl    conda-forge
[conda] libblas                   3.9.0              20_win64_mkl    conda-forge
[conda] libcblas                  3.9.0              20_win64_mkl    conda-forge
[conda] liblapack                 3.9.0              20_win64_mkl    conda-forge
[conda] liblapacke                3.9.0              20_win64_mkl    conda-forge
[conda] mkl                       2023.2.0         h6a75c08_50497    conda-forge
[conda] mkl-devel                 2023.2.0         h57928b3_50497    conda-forge
[conda] mkl-include               2023.2.0         h6a75c08_50497    conda-forge
[conda] numpy                     1.26.2           py39hddb5d58_0    conda-forge
[conda] pytorch                   2.1.1           py3.9_cuda12.1_cudnn8_0    pytorch
[conda] pytorch-cuda              12.1                 hde6ce7c_5    pytorch
[conda] pytorch-mutex             1.0                        cuda    pytorch
[conda] torchaudio                2.1.1                    pypi_0    pypi
[conda] torchvision               0.16.1                   pypi_0    pypi

Thank you for the report @landoskape . I agree with you that one would expect
Grayscale(num_output_channels=3)(img_with_one_channel)
to result in an output with 3 channels.
I think this is something @ahmadsharif1 might be interested in. (If not, LMK Ahmad and we'll ask someone else to take it up). Thanks!

Closed by https://github.com/pytorch/vision/pull/8229
Thanks for the report @landoskape and @ahmadsharif1 for the fix!


Safari: color picker does not open when using swatch only

In Safari 9.1 on Mac OS X the color picker does not open when using the color picker in 'swatch only'-mode.
Reproduction scenario: open the demo page and set 'Swatch Only (swatch-only)' to Yes. Then try to open the color picker by clicking on the swatch.
After investigating the issue it seems that elements do not receive focus in Safari if either the width or the height of the element is 0. In my current project I have resolved the issue as follows:
.color-picker-wrapper.color-picker-swatch-only .color-picker-input {
	width: 1px;
	height: 1px;
}

Fixed in commit e9fa36e9839111f40b1fae2b0fb8aafd87218e2b and released in v1.0.5


Option to edit only playlists that were created by user

Currently 'Edit' button is still visible even when playlist was created by Spotify or other user.
Display it only when user is owner of that playlist.

fixed in #14


1 Drop Pouch

Duplicates https://github.com/RMC-14/RMC-14/issues/579.

Reopening since it's in some list I'm unable to edit and closing it leaves an impression it's done while it's not.

Duplicates #579.

it is not really a duplicate. Every item in ColMarTech issue have its own issue.


Installation error

running build_ext
  ../../common.mk:377: *** python-config (python-config) not found. Please set PYTHON_CONFIG_EXE in "common.mk" to appropriate python-config before installing Corrfunc.2.0.0 .  Stop.

I could resolve this issue by installing python-devel on linux (openSuse 42) and python2.7

Fixed with https://github.com/manodeep/Corrfunc/commit/172e07d84a9616a185fc73690be097d8f0a0e1f5


[enchantment] Add custom image and description for groups

Two more things to do for the groups can be to allow users to add custom images (instead of avatars), and also a custom description.

That' true I agree @Bellisario but I wanted to focus on the chats the groups were just something additional and this web app was just to get a freelancing job it's an open source project you can fork it and add this feature


fix(specs): port recommend changes

🧭 What and Why
🎟 JIRA Ticket: https://algolia.atlassian.net/browse/DI-1741
closes https://github.com/algolia/api-clients-automation/issues/2336
Changes included:

[x] fix trending facet hits
[x] add recommended for you models
[x] match naming with current client

looks good ! but this is a breaking change for dart, is it okay ?

I think so yes, IIRC it's mostly used in JS and pretty new so it's more of a fix actually


First pass at textures and script tags

Hey! Wanted to post what I have so far. Feel free to thumbs down anything of course. To demonstrate usage, I included a demo folder of what you had previously, plus an image texture, plus a webcam texture.
First off, I wrapped the GLSL code in a script tag. The shader-doodle component scans its children and finds a vertex shader and/or fragment shader. I'm not sure whats best to do with the default shader since it'll no longer work if using a texture.
Second (and totally feel push back against anything, especially this) - I've fallen into some Web Component patterns like declaring a separate template module that holds any CSS/HTML in the component so it can be separated out and not be mixed in with everything else. I stuck the default vertex shader here too. Personally, I think it's cleaner than using
Lastly, the texture stuff. I created a Base class that extends HTMLElement that does the basic texture stuff. I then created two classes that extend from this: one for a simple image, and one for a webcam.
I haven't looked into a couple outstanding things yet. The first being the best way to letterbox the image if needed (I'm not sure if that's even necessary). Second, I've hard coded some sizes on the video and base texture. It all seems to work relatively well, but it'd probably be good to not hand wave these eventually like I've done so far. The other bad thing is that when the video isn't ready yet - I create a backup texture from the image I stuffed in the demo folder. I tried creating a black pixel from data with a UInt8Array like I saw from another site, it just didn't work for me yet.
I think that's the basics of what I've done so far! Feel free to do whatever you want with this pull request of course - totally OK if there's stuff you don't like, and of course it's unfinished as well! Just wanted to pass this on and see what you think

Again, no rush - but I was able to get a backup texture working while waiting for a texture like from the webcam. I also populate texture height and width in the components, but i'm not sure what the best approach is to work with the aspect ratio. Seems like the most obvious approach is to scale the canvas to the correct size - but I'm not sure if that would go against the what folks would want on a component like this. I might think they want it to respect the size they chose and shader-doodle should letterbox or something. I think I might leave that decision to you because I'm not quite sure how I'd want to implement if not scaling the canvas- whether its in the vertex shader, fragment shader, or elsewhere.

Hey! I finally got a chance to read through this PR. I like a lot of the direction for sure (and love having someone more experienced with webcomponents defining some better patterns). This is definitely along the lines of where I'm thinking the API should head. I think this looks great to merge for now, but I may double back and just adjust some naming, etc of the components.
Thanks so much! 💯

Sure thing! Yeah - I def think those components could use a renaming. Ultimately, I think it just needs a concise namespace and then those component names won't be so long. But yeah, whatever you think needs changing, I'm down! If you change something and I don't agree, I'm happy to give you my reasoning, but i'll roll with whatever.


YBN - Linked Materials

Not sure if the bug or not been implemented yet.
Every object with the same COLLISION MATERIAL is linked and uses the same flags and properties.
The screenshot show example of one BOX that by default has no flags but in Blender have way more.
Files used for testing: hei_dt1_20_0

will be looked into thanks, have you checked exporting?

Yes, I tried with a custom object that I made the same results. Everything is linked even if i UNLINK material and change flags.
And same with Imported -> Exported vanilla game object example: hei_dt1_20_0 it makes all MATERIALS using same flags.


Update for V6.0.0 Loupedeck Request

Version

Submitting a...
[ ] Bug report
[ X] Feature request
Current behavior:

Expected behavior:

Steps to reproduce:

Other information:

We there yet? 6.0 SDK alive and working? nice. nice. I'll start looking into upgrading soon

Looks like it, I got the prompt to update today and regretted it due to the loss of this app. I use it too much hah.
I created a github account just to request, so you responding has made my day.
Thank you for your time and the app itself!

Give https://github.com/steinerd/Loupedeck.AudioSwitcherPlugin/releases/tag/v.2.0.0 a shot, let me know how it goes.

Good Morning,
I realized this was not the app I was using previously but I like it and am committed to making it better if you are  :)
I tried it out with mixed results. On the plus side it: installs through Loupedeck, and the functionality for swapping audio and PTT is there.
The "bugs" I was able to find include:

When you switch audio the status (green background) of what is in use, does not reflect properly. sometimes it switches correctly, sometimes it doesn't. Sometimes both the audio items I have are green.
The refresh button doesn't refresh the status of the devices and makes you go into another menu. I am unsure what the -,+ buttons do on that screen, as they do not seem to function.
PTT makes the microphone only function while using the button (yes I am aware that is the feature's purpose). But I had to go into Microsoft settings and troubleshoot to make my mic to function in a non PTT state.
Also PTT function only really worked when pressing down on a dial, not a touchpad button. I am using the "RAZER STREAM CONTROLLER" so unsure if the touch works correctly on other devices.

If you need any more details let me know, I will get back to you as soon as I can :)
Thanks again for getting this up and running in V6!

Good stuff!
I'll see what I can do.


Question: use of all 4 quad encoders at the same time / pin assignments

I am using all 4 quad encoders at the same time.
3 quad encoders need a home signal and the 4th one an index.
The challenge is that (on a Teensy 4.1) pins 0, 5 and 37 all use XBAR1_IN17 to rout the signal to the peripheral meaning that only 11 signals can be routed at the same time.
Can this be fixed or am I hitting a hardware limit of the RT1060 chip?
I've been looking at the processor reference manual but I have not found a good overview of all possible XBAR connections
Rob

Actually might be able to squeeze a another pin in the library but will take me a day or 2.  Right in the middle of some home improvement projects today so tonight or tomorrow.

Great - just take your time, I have a number of other things to do before I finish this.

I might have found a solution
I still have pin 9 free (B0_11) and that can be routed to XBAR1_IN23 ALT6 with DAISY = 1
If I'm right, this needs to following additions:
#define CORE_XIO_PIN9 IOMUXC_XBAR1_IN23_SELECT_INPUT   	//ALT6,1
and an entry in hardware[] with the following content:
 {???, 9, &CORE_XIO_PIN9, 6, 23, 1},
The only thing I am not sure about is the .idx field in QuadEncoder::ENC_Hardware_t - it looks like this is not being used in the code

I might have found a solution
I still have pin 9 free (B0_11) and that can be routed to XBAR1_IN23 ALT6 with DAISY = 1
If I'm right, this needs to following additions:
#define CORE_XIO_PIN9 IOMUXC_XBAR1_IN23_SELECT_INPUT //ALT6,1
and an entry in hardware[] with the following content:
{???, 9, &CORE_XIO_PIN9, 6, 23, 1},
The only thing I am not sure about is the .idx field in QuadEncoder::ENC_Hardware_t - it looks like this is not being used in the code

Sorry for some reason this got lost in my email.  Actually sounds like its a good solution.  the IDX is just a consecutive sequence number.  So just increment it in the two tables for the T4.0 and T4.1.

Mike,
sorry - I deleted that comment right after creating it. XBAR1_IN23 is actually also used for pin 30 and I confused AD_B0_11 with B0_11.
I created a list of all possible XBAR1 connections and found that there are no more pins available that can be used. So it seems I can not have all signals routed at the same time. I am now opting for a way to dynamically change pins.
The HOME signals are only used during initialization and in a sequential way (first 1 then 2 etc.)
Since no more pins seem to be available and I found an alternative connections, I think the issue can be closed.
Rob

Hi Rob
Not a problem been preoccupied with trying to get a 1GB NAND flash chip working on a T4.1 :)
Glad you found a solution.  Have to check pin 32 (B0_12) its on IO10 - forgot why i didnt use it unless it does support XBARA1.
I will go ahead and close this but can always still send comments
Mike


Link in HA log to issues is not working, directs to https://github.com/briis/affald/issues

Describe the issue
The correct URL is https://github.com/briis/affalddk/issues
What version of Home Assistant Core has the issue?
core-2024.2.5
What was the last working version of Home Assistant Core?
core-2024.2.5
What type of installation are you running?
Home Assistant Supervised
Diagnostics information
Not relevant
Anything in the logs that might be useful for us?
No response
Additional information
No response

Bummer... Tak for det, den var lige smuttet. 👍
Det er rettet, og kommer med i næste release.


logical not, invert, as type for numeric field

#163 logical not and invert function for numeric field and numeric mem field
#165 astype for numeric field

Codecov Report

Merging #230 (d5ebe6b) into master (e605b52) will increase coverage by 0.05%.
The diff coverage is 94.94%.

@@            Coverage Diff             @@
##           master     #230      +/-   ##
==========================================
+ Coverage   75.82%   75.88%   +0.05%
==========================================
  Files          44       44
  Lines       13539    13593      +54
==========================================
+ Hits        10266    10315      +49
- Misses       3273     3278       +5

Impacted Files
Coverage Δ

exetera/core/fields.py
79.70% <93.87%> (-0.16%)
:arrow_down:

tests/test_fields.py
99.80% <96.00%> (-0.20%)
:arrow_down:

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 e605b52...d5ebe6b. Read the comment docs.


Inconsistent use of BIT to hide?

Using BIT ($2c) to give different entry points of a different routine a unique entry value is not too uncommon and the disassembler does a great job in displaying this like so:

Here it however doesn't and I can't see what is different that would call for different handling :

The difference is that you haven't uncovered the code that calls address $82f8, so at this point the code analyzer just sees the BIT.

OK - this also explains why this is, where it has parsed them differently.

This is on the first example that the address in the table IS the place where the code is called. In some cases there are no other jumps to that address. How to I enforce it to be the address hidden by the BIT if there is no jump or branch to it?

If there are no other jumps to the address, there's no reason to expose it, because that path is never taken.  If you expect that you'll find one eventually and want to get ahead of the game:

select $8ea5 and Ctrl+H Ctrl+D to mark it as code-stop; this gives you access to the individual bytes
select $8ea6 and Ctrl+H Ctrl+C to mark it as code-start
select $8ea5 and Ctrl+H Ctrl+R to remove the code-stop you added in step 1

Just for clarity - just doing the code start on the first address that
isn't parsed as code, how is that different from just doing step 2? Adding
the stop in step 1 and then deleting it again in step 3 doesn't make sense
to me, unless that is the only way to achieve something.
/Pontus Berg
Bergatrollet AB
CEO & Owner
Tel/SMS: +46 735 082860
www.bergatrollet.se
Den sön 1 aug. 2021 kl 18:13 skrev Andy McFadden @.***>:

If there are no other jumps to the address, there's no reason to expose
it, because that path is never taken. If you expect that you'll find one
eventually and want to get ahead of the game:

select $8ea5 and Ctrl+H Ctrl+D to mark it as code-stop; this gives
you access to the individual bytes
select $8ea6 and Ctrl+H Ctrl+C to mark it as code-start
select $8ea5 and Ctrl+H Ctrl+R to remove the code-stop you added in
step 1

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fadden/6502bench/issues/101#issuecomment-890547042,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGZWZSU2TFVMCWABDLD4QXDT2VXEJANCNFSM5BLDJGVQ
.

The start/stop gymnastics are required because you can't select a mid-instruction byte.  You need to put the code-entry marker on $8ea6, but $8ea5 is treated as a single 3-byte unit, so you need to break it apart by effectively declaring it to be data, setting the code-start on the middle byte, and then removing the data declaration.
The UI could have a feature that lets you tag the 2nd/3rd/4th of a multi-byte instruction, or some sort of "explode this into one byte per line" feature", but this should be a very rare operation, since these things are normally found automatically.  Once you have the code that jumps to $8ea6 uncovered, everything will just fall into place.  It's generally better to wait for the code to be found because, until you find the part that branches to $8ea6, you don't actually know that it exists... it's possible the code was pulled in from a library and not all features got used.  You may not want to wait, or you may want to show all possible entry points in the disassembly even if they're not used, so you have the option of overriding it manually.
Code start points aren't meant to be used much.  They're really a way of saying, "code outside the program calls here", which means that the state of the status registers can't be known.  (That situation matters more for 65816 code, where the state of the M/X bits determines the length of certain instructions.)  Usually if code isn't being found it's because there's a jump table that needs to be formatted, or inline data that needs to be side-stepped.  Sometimes you get self-modifying code or a JMP (indirect) and you have to deal with it by hand; that's where you have no choice but to tag the code.

Many thanks - I see the point in using a workaround to access the
inaccessible.
I also understand the point with code start/stop. After working with other
tools that are a LOT less smart, I am used to manually selecting it all, so
seeing something that is code an not being meant to define it as code is
that itch where you are not supposed to scratch, but basically can't stop
yourself ;-)
/Pontus Berg
Bergatrollet AB
CEO & Owner
Tel/SMS: +46 735 082860
www.bergatrollet.se
Den sön 1 aug. 2021 kl 22:46 skrev Andy McFadden @.***>:

The start/stop gymnastics are required because you can't select a
mid-instruction byte. You need to put the code-entry marker on $8ea6, but
$8ea5 is treated as a single 3-byte unit, so you need to break it apart by
effectively declaring it to be data, setting the code-start on the middle
byte, and then removing the data declaration.
The UI could have a feature that lets you tag the 2nd/3rd/4th of a
multi-byte instruction, or some sort of "explode this into one byte per
line" feature", but this should be a very rare operation, since these
things are normally found automatically. Once you have the code that jumps
to $8ea6 uncovered, everything will just fall into place. It's generally
better to wait for the code to be found because, until you find the part
that branches to $8ea6, you don't actually know that it exists... it's
possible the code was pulled in from a library and not all features got
used. You may not want to wait, or you may want to show all possible entry
points in the disassembly even if they're not used, so you have the option
of overriding it manually.
Code start points aren't meant to be used much. They're really a way of
saying, "code outside the program calls here", which means that the state
of the status registers can't be known. (That situation matters more for
65816 code, where the state of the M/X bits determines the length of
certain instructions.) Usually if code isn't being found it's because
there's a jump table that needs to be formatted, or inline data that needs
to be side-stepped. Sometimes you get self-modifying code or a JMP
(indirect) and you have to deal with it by hand; that's where you have no
choice but to tag the code.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fadden/6502bench/issues/101#issuecomment-890584114,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGZWZSXSCVHXBKPMAMD4AEDT2WXCVANCNFSM5BLDJGVQ
.


How to integrate in react project

Easiest way would be to export the main App object (in app.js) and import that in your react component.
Next to that, you would have to override ui.js line 19 to not append the main container to document.body, but probably to some other element that you return in the render function of your react component.

ok,got it. I have been integrated,copy all code into my project
Steffest @.***> 于2023年12月25日周一 22:37写道：

Easiest way would be to export the main App object (in app.js) and import
that in your react component.
Next to that, you would have to override ui.js line 19 to not append the
main container to document.body, but probably to some other element that
you return in the render function of your react component.
—
Reply to this email directly, view it on GitHub
https://github.com/steffest/DPaint-js/issues/19#issuecomment-1868989308,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A65VQMIMSJ3LARTPPR7XPULYLF6TNAVCNFSM6AAAAABBB6XFFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNRYHE4DSMZQHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
□■━━━━━━━━━━━━━━━━━
CTW株式会社
刘静强   @.***
〒106-0032 東京都港区六本木1−9−10
アークヒルズ仙石山森タワー29F
TEL：080-2075-0187
http://ctw-inc.net/
━━━━━━━━━━━━━━━━━■□


feat: Port/Combinatorics.Composition

[ ] depends on: #2144

Remaining issues:

[ ] disjoint_range depends on wlog -- merge when wlog available
[ ]  mem_range_embedding_iff has change..at.. issues
[ ]  Major nthFoo to get refactoring
[ ]  remaining proof issues

This PR/issue depends on:

leanprover-community/mathlib4#2144
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib4#2144
By Dependent Issues (🤖). Happy coding!


Path traversal

You asked me to read the source code, so I did:
As far as I can see, if LE issue a challenge token of '../../../../../etc/passwd' (or some writable file) you'll blat that file.

Should be fixed in 1775b7065438004322e47809e0552f2522e3bbb5, please confirm?

Oh, sorry, you fixed it before I filed the issue! :thumbsup:


feat: port AlgebraicTopology.DoldKan.SplitSimplicialObject

[ ] depends on: #3561

This PR/issue depends on:

leanprover-community/mathlib4#3561
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib4#3561
By Dependent Issues (🤖). Happy coding!

bors r+


Allow TRE workspace owners manage permissions for researches and data engineers using the Unity Catalog in Azure Databricks workspace service

Description
As a TRE Workspace owner
I want to be able to give Researches and Data Engineers access to their data stored in the workspace storage
So that they can analyze it and write back as needed
Acceptance criteria

[ ] TRE Workspace owner can give researchers permissions to their data stored in the workspace storage account using Unity Catalog
[ ] TRE Researchers able to access their data stored in the workspace storage.

this may help:
Deploying pre-requisite resources and enabling Unity Catalog

Workspace users usually get full access to everything in the workspace, there're almost no permissions enforced inside the workspace. So what is the angle for this story/product to be used in a workspace?

If all researchers and data engineers should have access to the whole data inside the workspace then Unity Catalog might be an overkill for this scenario, and simply mounting the shared workspace storage would be sufficient.


Feat :Adding a Field visit section in the navbar

Describe the feature
Field visits allow farmers to witness best practices, engage with experts, and gain real-world insights. hence field visit section can be added to the navbar in which a form will be displayed asking for a field visit[farm visit] to help farmers resolve their issues and get tips from experts. This feature will be a game-changer as it creates a close interaction between agricultural experts and enthusiasts with the farmers. , a
Add ScreenShots

this is just an example the actual form will not look the same as shown in the figure.
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

This feature is not required.


Clear split info buffer in cost efficient gradient boosting before every iteration (partially fix #3679)

This is to fix the case provided by @mshivers in #3679. It turns out that the bug is not related to the core algorithm of LightGBM, but due to the cost-efficient gradient boosting module.
In the code snippet below, the best split of SerialTreeLearner can be updated by CostEfficientGradientBoosting,
https://github.com/microsoft/LightGBM/blob/fc0c8fd4521ab4814fe3f59999115b70984e76c1/src/treelearner/cost_effective_gradient_boosting.hpp#L85-L110
However, CostEfficientGradientBoosting did not clear its buffer of splits splits_per_leaf_ before a new boosting iteration starts, which causes it to contain splits from previous trees. And these splits with wrong split information (sum of gradients and hessians, gain, etc.) will be mixed into the current tree.

Did you accidentally tag the wrong issue in the description? This doesn't seem related to https://github.com/microsoft/LightGBM/issues/4969 at all.

Sorry, it should be #4946. Corrected.

n1 = 800000
n2 = 2200
x = np.random.random((n1,n2))
y= np.random.random((n1))
model = lgb.LGBMRegressor(num_leaves=100, n_estimators=20, device='gpu')
model.fix(x,y)
Segmentation fault (core dumped)

@bluesummerv Thanks for using LightGBM. It seems that your example is not related with this PR. Could you please open a new issue for your bug report?

Sorry, it should be https://github.com/microsoft/LightGBM/issues/4946. Corrected.

More accurately, this PR only fixes the case provided by @mshivers in #3679.

Also, is it possible to create a test that reproduces the bug this PR addresses, to ensure this fix is working and prevent it from being accidentally re-introduced in the future?

@jameslamb Thanks for the suggestion. But TBH I don't think we need a test case for this fix. It just fixes a logical mistake in the code of CEGB, which is not a corner case that is likely to be introduced again by future modification. I think it make sense to add test cases to guarantee the code to work in some tricky scenarios. But perhaps it is not necessary to add a test case for obvious logical mistakes in programming. WDYT?

WDYT?

I believe a test should be added in this PR.
I strongly believe that PRs which fix bugs in software should also introduce tests confirming that the software no longer exhibits those bugs, unless the effort involved in creating the tests or the cost of running the tests is too large.
Given that we have already have a clear reproducible example of a bug in LightGBM (https://github.com/microsoft/LightGBM/issues/3679#issuecomment-938652811), the effort required to convert it to a test case should not be too much, and I think it is worth it for the increased confidence that this bug won't be reintroduced. That test would also give us some additional code coverage of using CEGB, which isn't tested thoroughly in the project today.
In my opinion, tests should not just be used for "corner cases" or "tricky scenarios". Tests should try to cover the ways that users might use the software, and check that the software behaves as those uses would expect it to. Testing gives us confidence that once a bug is fixed, it won't be reintroduced.
This project is very large and there are many, many possible code paths based on e.g. different combinations of training parameters, compilation options, data characteristics, operating systems, etc. That set of combinations is far too large for us to just rely on maintainers' knowledge and pull request reviews to catch regressions.

@jameslamb Done with adding the test case. Please check.

@guolinke This is very important bugfix for our long living bug. Could you please help to review it?

bugfix for our long living bug

Note that this only fixes the case when CEGB is used (that's why the word partially is used in the title of this PR). I need further verification to see if the same bug (Check failed: (best_split_info.left_count) > (0)) still happens in normal cases.

Note that this only fixes the case when CEGB is used (that's why the word partially is used in the title of this PR).

Thanks for the clarification!
However, GitHub autoclosing mechanism doesn't understand this and will close #3679 after merging this PR.
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
I propose changing the title to "fix partially #3679" to not close that issue automatically.

@StrikerRUS

LGTM, thanks!

Could you please remove the change requests so that we can merge this RP? Currently it is blocked by the change requests. Thanks!


offset method doesn't accept DB::raw

offset method requires int as a parameter. Same as limit. It would be nice if I can also pass an instance of Expression.
return DB::table('question_categories')
            ->select('id')
            ->offset(DB::raw('floor(random() * (select count(*) from question_categories))'))
            ->limit(1)
            ->get();

why don;t you generate a PR on this?

What SGDB are you using? Because in MySQL LIMIT and OFFSET must be constants.

Closing this for inactivity. Please feel free to ping me if you have more details about the issue.


Create Glencoe page

[x] Create page
[x] Add description of what is being covered
[x] Add description of checks required on this content, compiled from current protocol documents
[x] Add examples covering correct and incorrect scenarios, as required to support checks
[ ] Becky approved page
[x] Melissa approved page
[ ] Fred approved page
[ ] James approved page
[ ] Naushin approved page
[ ] Share page with Exeter and invite feedback

Definition of done

[ ] Page revised after team comments
[ ] Team reviewed and approved page?

@Melissa37, @naushinthomson, @bcollins14, @JGilbert-eLife, please review this page - https://elifesciences.gitbook.io/productionhowto/-M1eY9ikxECYR-0OcnGt/pages-in-progress/glencoe.

Videos are uploaded to the Glencoe FTP once during the production process at pre-editing by Exeter. If there are any changes to required to the videos during proofing, then this is done at post-author validation.

I think the first "to" should be removed:

Videos are uploaded to the Glencoe FTP once during the production process at pre-editing by Exeter. If there are any changes required to the videos during proofing, then this is done at post-author validation.

Exeter supply videos and metadata to the Glencoe FTP. This is an automated process, except in cases where the videos for an article are cumulatively large enough in file size, that they need to be manually uploaded.

Do we know what this size is?

Typically we don't receive notifications from Glencoe when video processing has failed (although in some cases we may). This is simply because the metadata or videos themselves have been provided in such a way that they cannot be processed to begin with.
If Exeter are unsure of the reason why videos have failed processing, they will contact the eLife production team.

I am not sure I really understand - is the point that we rarely get failure messages generated by Glencoe, but we do get a fair few failures. Exeter alert us to these because the Glencoe system does not even pick them up as they happen so early?

If there is a folder in the zip, this will be shown in the output, for example:

Can you explain a bit more about what the image is showing. Is this wrong or right?
It's a bit confusing as the bit underneath seems to be referring to something else, the XML file. Is the idea that the user looks at the XML file, but that's not part of the image above?

Is there a schematron that can be run on the XML file to check the issues you mention?

The videos can then be interacted with using Glencoe's API. For example https://movie-usa.glencoesoftware.com/metadata/{doi} (where {doi} is replaced with an actual doi) will return a JSON response containing information relating to all the videos uploaded for that article. Similarly individual videos can be found using the following convention http://movie-usa.glencoesoftware.com/video/{doi}/{video-id} (where {video-id} is the value of the id attribute for the media element in the XML for the corresponding video).

Can you provide some real examples, for instance the DOI could be the full https string or just the number and people may not know what the video-iid is

Exeter supply videos and metadata to the Glencoe FTP. This is an automated process, except in cases where the videos for an article are cumulatively large enough in file size, that they need to be manually uploaded.

Do we know what this size is?

No, I can ask Exeter to confirm when we send it over.

If there is a folder in the zip, this will be shown in the output, for example:

Can you explain a bit more about what the image is showing. Is this wrong or right?
It's a bit confusing as the bit underneath seems to be referring to something else, the XML file. Is the idea that the user looks at the XML file, but that's not part of the image above?

I have tried to clarify. Let me know if this is still unclear.

path-to-zipfile should be replaced with an actual path the the zip file (including the zip filename - for example unzip -l /Users/fredatherden/Desktop/elife_Nov_16.video.zip).

Should this be

path-to-zipfile should be replaced with an actual path to the zip file (including the zip filename - for example unzip -l /Users/fredatherden/Desktop/elife_Nov_16.video.zip).
?

Providing publication dates at the start of the workflow resolves this race condition, but it does come with a caveat - if the number videos in an article are changed

Should be

Providing publication dates at the start of the workflow resolves this race condition, but it does come with a caveat - if the number of videos in an article are changed

Troubleshooting video upload failures
What is the expected action if any of the checklist items fail? Can production address these or do they need to go back to Exeter?

Is there a schematron that can be run on the XML file to check the issues you mention?

No schematron - there is an XQuery (included on that page) which does however. The XQuery is preferable since it pulls out all the data from the zips without the user having to unzip themselves. At some point I will update the BaseX page (and link to it from here), so that anyone can use this XQuery with ease.
I may be able to make it work in oXygen, if that's desirable, but it would take some more time.

Maybe change the description to "Videos in eLife articles are hosted by Glencoe software Inc."?

Would it be possible to add screenshots of an example file structure on the FTP site to "How are videos supplied"? Just to visualise what's being described.

I think this should be "Once the videos have been processed by Glencoe, Exeter then embeds the links in Kriya, so that the videos are displayed for proofing."

I may have misunderstood but is it possible to clarify what happens in "Why pub dates are included in the XML" if an article does not yet have a publication date? E.g. what is this pub-date if not the article pub-date?

This is really useful, thanks Fred!

I may have misunderstood but is it possible to clarify what happens in "Why pub dates are included in the XML" if an article does not yet have a publication date? E.g. what is this pub-date if not the article pub-date? (I assume it's just today's date, but that's not stated outright)

I've tried to clarify the text - the publication date in the XML supplied to Glencoe is the date of upload, no longer anything to do with article publication date.

Inside the folder two zips are placed (this isn't actually a requirement from Glencoe, it could just be one zip, this is simply how Exeter have implemented it).

Just out of curiosity, do we know why they did it this way?

Inside the folder two zips are placed (this isn't actually a requirement from Glencoe, it could just be one zip, this is simply how Exeter have implemented it).

Just out of curiosity, do we know why they did it this way?

Beats me :shrug:.

I cannot remember what article this relates to but we received a processing email that despite all the URLs being in the success section, the ends (I think) were plain text so this was an error. Would this be worth mentioning or was it so rare that not really?

Otherwise, I have nothing further to add. Thanks Fred, I certainly learnt some things here 👍

I cannot remember what article this relates to but we received a processing email that despite all the URLs being in the success section, the ends (I think) were plain text so this was an error. Would this be worth mentioning or was it so rare that not really?

Hmm, I don't remember this or what the cause of the problem was. If we can find the article, then I can look into why it caused issues and add it as an example.

Inside the folder two zips are placed (this isn't actually a requirement from Glencoe, it could just be one zip, this is simply how Exeter have implemented it).

Just out of curiosity, do we know why they did it this way?

I just worked out why it was done this way. It's legacy reasons relating to the old workflow, the XML was re-uploaded with the actual publication date of the article (the first deposit had no pub date). Doing ti with separate zips meant that the videos did not have to be re-uploaded to the ftp. I will update the page with this info.


Add GT.write_html() as a helper function for easier HTML output

Hello team,
I've noticed that some users expect an easier way to interact with our tables. While GT.as_raw_html() is great, it doesn’t fully meet those expectations. To address this, I’d like to propose adding GT.write_html() as a helper function, simplifying the process of writing the table’s HTML directly to a file without needing to use open().
I believe this is a useful addition, and if necessary, we could even rename it to GT._write_html() for unofficial use.

I've found that utilizing the parameters of GT.as_raw_html() might be a better approach. I suggest we keep the make_page and all_important parameters undocumented, similar to how it's done in GT.as_raw_html().

Thanks for this @jrycw -- @rich-iannone and I are pairing on this right now, and thinking about the use of both .as_*() and .write_*() in the Great Tables API.
We noticed that polars .write_*() methods will return a string, if not filename is specified. WDYT of that approach. So in that case, we would deprecate the as_*() methods in favor of write_*() methods.
Basically, it seems like there are 3 possible approaches:

polars: .write_*() methods return a string when no filename given
two kinds of methods: each render target has a .as_*() and .write_*() method.
polars approach, but with .as_*(): use .as_*() instead of .write_*()

Would love to get your input!

Hello Team,
I’m inclined to go with the first option as the higher-level abstraction while retaining .as_*() for internal use.

To issue a deprecation message to users, we could take a similar approach to what Polars uses. We might consider decorating as_raw_html() in the GT object, like this:
class GT(GTData):
    ...

    as_raw_html = deprecate_function("Use `GT.write_html()` instead.", version="0.15.0")(as_raw_html)
    write_html = write_html

This method avoids directly decorating as_raw_html(), which could trigger the message unintentionally when using write_html(). Once we’re ready for full deprecation, we can simply remove the line: as_raw_html = ....


[bug] Quiet -- compact mode makes usernames and chat clip left off off that app.

If using Quiet and have compact mode turned on on discord, it seems to end up pushing chat to the left which in turn clips off parts of usernames and text..
http://i.imgur.com/U053DbD.png shows an example of what I mean.

Just came here to report this. Also, please add a link in the theme description--finding the theme again was difficult because no google results.

I have an idea as in why this is happening I will fix tomorrow.

I lied I decided to fix it now


linux arm64 pointer, prctl  auth control follow-up.

r? @Amanieu
(rust-highfive has picked a reviewer for you, use r? to override)

Thanks! @bors r+

:pushpin: Commit bbdec588624a80e8ecab693a65675992eb5e5915 has been approved by JohnTitor

:hourglass: Testing commit bbdec588624a80e8ecab693a65675992eb5e5915 with merge 7b2c4317624895ffe9064df75ef60e693173f8f4...

:broken_heart: Test failed - checks-actions

@bors retry

:hourglass: Testing commit bbdec588624a80e8ecab693a65675992eb5e5915 with merge 0f0ff8cd8383074d33121283a218c6a86a9bd2f1...

:broken_heart: Test failed - checks-actions

@bors r+

:pushpin: Commit fbe15c6125bbb633cc79e4913d1c09433ae313d5 has been approved by JohnTitor

:hourglass: Testing commit fbe15c6125bbb633cc79e4913d1c09433ae313d5 with merge a2f7dac029df303110b16405928671ec191dac72...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14
Approved by: JohnTitor
Pushing a2f7dac029df303110b16405928671ec191dac72 to master...


VS code extentsion not working well with NVM

Bug Description
I use nvm to manage my node versions on my computer.
Some background about nvm that I think is related:
The way NVM loads and manages node & npm versions are by using the .zshrc/.bashrc file, every time you load a shell, it reconfigures your node version. so without running the nvm script during shell creation, you will not find node & npm in your PATH.
My bug:
When launching mirrord from the vs code ext, the process never starts and in my Kubernetes cluster, it tries to create many agent pods that are complete and deleted by the cluster.
Endless pod creating by the job:

The process never starts inside vs code:

I think that this is related to the mirrord process on my machine can't find node version (because NVM was not loaded)
When trying to lunch the vs code task (debug my node server), without mirrord, vs code knows which node & npm executables to use.
Example for vs code (Please note that vs code was able to find my executable):

Also, You can specify to vs code which executable to use, when doing so, and setting it to /home/liadd/.nvm/versions/node/v16.17.0/bin/node, I was able to run it using mirrord, this let me think it's related to nvm.
I can't "hard-code" this option into my .vscode/launch.json file because other developers in my company may use different paths or they might manage their node without nvm
Furthermore, when running mirrord directly from zsh with this command mirrord exec  --target deployment/manager node ./dist/index.js, It does work, but in this shell NVM already loaded the node & npm configuration
Steps to Reproduce

Remove all previues node config
Install nvm and load into .zshrc/.bashrc
Launch using vs code extension with mirrod

Backtrace
No response
Relevant Logs
No response
Your operating system and version
Ubuntu 20.10
Local process
run with vscode
Local process version
mirrord 3.12.0
Additional Info
No response

Thanks for the detailed reported! We will investigate and try to resolve it ASAP :)

hi @liaddrori1,

I think that this is related to the mirrord process on my machine can't find node version (because NVM was not loaded)

do you see the see similar behavior when running with the CLI? perhaps the process you are running forks? which is why you see that many pods

When trying to lunch the vs code task (debug my node server), without mirrord, vs code knows which node & npm executables to use.

I tried to reproduce the issue but wasn't able to. I had a homebrew installation for node, I uninstalled it and then installed nvm. Then ran nvm install 17.0.0 && nvm use 17.0.0. I ran with vscode after this and got this error message along the lines of "Cannot find runtime 'node' on PATH". In my launch.json, I set the runtimeExecuteable to "node" and that didn't seem to work either, with or without mirrord then I just removed the runtimeExecuteable and did nvm default 17.0.0 and restarted vscode, everything seemed to work smoothly with/without mirrord. We don't really change anything related to which executable vscode picks, we just set the env for mirrord which includes the dylib responsible for talking to remote

I can't "hard-code" this option into my .vscode/launch.json file because other developers in my company may use different paths or they might manage their node without nvm

understood, maybe they can leverage runtimeExecuteable in their launch.json and use the node they want to? since I am unable to reproduce it, I believe it just depends on how node is setup for the person locally

Furthermore, when running mirrord directly from zsh with this command mirrord exec --target deployment/manager node ./dist/index.js, It does work, but in this shell NVM already loaded the node & npm configuration

that makes sense, were you able to debug your process though?

Fixed in 3.14.0


Update logging style & bugfix

Fixed issue:
https://github.com/rancher/rancher/issues/11948

https://github.com/rancher/rancher/issues/11876

Thanks!. Updated


Missing key 'CentralStorageKey' when running API locally

Moving conversation from slack for visibility:
I was trying to run the API locally but getting the following error. Looks like the keys are missing. Can someone help me with the test keys?
[2024-12-21T17:14:26.624Z] Executing 'Functions.Calculate' (Reason='This function was programmatically called via the host APIs.', Id=78f4940a-4f99-4006-bbe4-afa577104629)
[2024-12-21T17:14:26.785Z] The key --> 'CentralStorageAccountName' is missing sweetheart! Contact us for a testing Key --> vedastro.org/Contact.html
[2024-12-21T17:14:26.895Z] Dynamic URL:Stable
[2024-12-21T17:14:26.896Z] The key --> 'CentralStorageKey' is missing sweetheart! Contact us for a testing Key --> vedastro.org/Contact.html

Ok let's make sure we are on same page:

are you running server from release : https://github.com/VedAstro/VedAstro/releases ?

if above is true, you have latest code, then this is clearly a bug. 🐞 and it should be fixable 🪛 in Calculate.cs

there is another function called "DasaAtRange", which should work as expected, because start & end time is specified

I just remembered the online API has access to massive timezone database, given a coordinate it can access the database & get timezone.
The inputed 05:30 timezone is actually not respected even in online API. But online gets timezone from DB, but your offline version doesn't have access, because it needs this sensitive DB keys which I can't publish because then any malicious user can just delete the DB.
So possible solution 🤔
We need modify code to respect inputed timezone for local use


trival_fix_of_doc

if minimal-mistakes-jekyll.gemspec is deleted, Gemfile should be deleted too,
otherwise there will be an error when you run  jekyll serve
such as "There was an error parsing Gemfile: There are no gemspecs at /tmp/minimal-mistakes-master. Bundler cannot continue."

Gemfile is needed. I guess the docs could be more descriptive and explain that the Gemfile in the root of the project needs to be updated as  in it's current state it's for development only.
This section is where I explain that. I think the only issue is when people fork the theme. They really shouldn't be starting with the root files as they're incomplete and configured for building the theme gem. A better start is the files in /docs.

OK, Thanks. I will close this pull request then.


Relogging only lets you chat in LOOC and OOC

reproduction steps
-be in a game
-relog
-all other chat channels gone

maybe server thinks you just joined the lobby or something

Do you not see the chat channels on the selector?

you do not

you can fix this by /ghost-ing and going back into your body too

Thanks to test subject Kaishiba, the issue has been narrowed down. The console say command still works, and their doesn't appear to be anything wrong about the person in VV, so it is probably related to the UI not being updated correctly on re-login, the issue does not appear to happen to admins.

I have a similar problem. However, along with chats, the pause menu does not work, and the oxygen tank icon does not switch it.


Add workflow rules for running G123 and IHS GWSS

Currently for H12 we have a dedicated notebook and a task in the workflow to run the GWSS for all contigs and cohorts.
However, we don't have equivalent tasks for G123 or IHS.
Later, when building the cohort pages, IHS and G123 scans get run because they are requested when building the plots. This is OK, but it might be nice to have dedicated tasks so we can see when those scans are actually being run during a snakemake build.

Closed with #44


Adds the protocol option when creating a STunnel server

This allows a particular protocol to be configured with a given connection.
See https://www.stunnel.org/static/stunnel.html for a list of available options.
stunnel_connection 'postgres_pgbouncer' do
  accept node['postgres']['stunnel']['port']
  connect node['postgres']['pgbouncer']['port']
  protocol 'pgsql'
  notifies :reload, 'service[stunnel]'
end

Hi @maraca
Thanks for sending in this pull request. DNSimple has adopted this cookbook from Heavy Water and I've cleaned up the master branch to get the test suites working correctly again. If you would like to get these changes into master, please rebase against master and we can look at merging this in once again.

@martinisoft done!

Do you think you will be able to cut a release from master soon after the merge?

Since it's passing initial checks we'll do a code review and see about merging and shipping a release.

Thanks for the prompt response!

Rebased into #50


Adding SPFX tutorial

Docs Build status updates of commit 0ddc8a4:
:warning: Validation status: warnings

File
Status
Preview URL
Details

tutorials/spfx.yml
:warning:Warning

Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

docfx.json
:white_check_mark:Succeeded

tutorials/spfx.yml

Line 1, Column 1: [Warning-unknown-language-code] Unrecognized language value '.scss' in code snippet 'rowScssSnippet' in file '../demo/graph-tutorial/src/webparts/graphTutorial/GraphTutorialWebPart.module.scss'. Your code snippet might not render correctly. If this is the case, you can request a new value or use range instead.
Line 1, Column 1: [Warning-unknown-language-code] Unrecognized language value '.scss' in code snippet 'addSocialBtnSnippet' in file '../demo/graph-tutorial/src/webparts/graphTutorial/GraphTutorialWebPart.module.scss'. Your code snippet might not render correctly. If this is the case, you can request a new value or use range instead.

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


Messages list in CollectingOutputChannel always empty

Rasa version: 1.0.6
Rasa X version (if used & relevant): 0.19.0
Python version: 3.7.3
Operating system : Windows 10 1709 Build 16299.1146
Issue: Messages list in CollectingOutputChannel always empty.
I have attempted to modify the Google Assistant connector example from this link to work with Sanic in Rasa 1.0 (the Sanic server works). However, the above-mentioned output channel never returns any reply from Rasa. Please let me know what is the issue.
Error (including full traceback):
Message handling no reply for user message 'Hello there'.
list index out of range

Command or request that led to error:
@google_webhook.route("/webhook", methods=["POST"])
async def receive(request):

    payload = request.json
    sender_id = payload["user"]['userId']
    intent = payload['inputs'][0]['intent']
    text = payload['inputs'][0]['rawInputs'][0]['query']

    try:
        if intent == "actions.intent.MAIN":
            message = "<speak>Hello! <break time=\"1\"/> Welcome to the Rasa-powered Google Assistant skill. You can start by saying hi."
        else:
            out = CollectingOutputChannel()
            new_message = UserMessage(text,out,sender_id,input_channel=self.name())
            #NO EFFECT
            await on_new_message(new_message)
            responses = [m["text"] for m in out.messages]
            message = responses[0]
    except LookupError as e:
            logger.error("Message handling no reply for user message '{}'.".format(text))
            logger.error(e)
            message = "RASA_NO_REPLY"

Thanks for raising this issue, @tmbo  will get back to you about it soon.

Did you solve the problem?

@DiegoProtec, unfortunately, no, I'm still waiting to hear from @tmbo. Hopefully, he'll update us soon.

Do you get a complete stacktrace @epiicme, that would help a lot (or at least the complete log)

@DiegoProtec could you link the issue you created here?

#3711

I do not know how Agent.load loads the interpreter. When using RasaNLUInterpreter class, occurs error: not found models / metadata.json. How to set interpreter if needed for Agent's lib: from rasa.core.interpreter.NaturalLanguageInterpreter?
import ga_connector as ga
from rasa.core.agent import Agent
from rasa.utils.endpoints import EndpointConfig

action_endpoint = EndpointConfig(url="http://localhost:5055/webhook")

agent = Agent.load(
unpacked_model_path='models/',
# error interpreter
action_endpoint=action_endpoint
)

input_channel = ga.CustomAction()
agent.handle_channels(channels=[input_channel], http_port=8877)

Did the test with Postman passing the body:
{
  "user": {
    "userId": "xpto",
    "locale": "pt-BR",
    "lastSeen": "2019-06-06T14:04:26Z"
  },
  "conversation": {
    "conversationId": "xpto",
    "type": "NEW"
  },
  "inputs": [
    {
      "intent": "actions.intent.TEXT",
      "rawInputs": [
        {
          "inputType": "KEYBOARD",
          "query": "oi"
        }
      ]
    }
  ],
  "surface": {
    "capabilities": [
      {
        "name": "actions.capability.AUDIO_OUTPUT"
      },
      {
        "name": "actions.capability.ACCOUNT_LINKING"
      },
      {
        "name": "actions.capability.SCREEN_OUTPUT"
      },
      {
        "name": "actions.capability.WEB_BROWSER"
      },
      {
        "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
      }
    ]
  },
  "isInSandbox": true,
  "availableSurfaces": [
    {
      "capabilities": [
        {
          "name": "actions.capability.WEB_BROWSER"
        },
        {
          "name": "actions.capability.AUDIO_OUTPUT"
        },
        {
          "name": "actions.capability.SCREEN_OUTPUT"
        }
      ]
    }
  ],
  "requestType": "SIMULATOR"
}

But the stetament:
collector = CollectingOutputChannel()
    await on_new_message(
        UserMessage(
             text, collector, sender_id, input_channel=self.name()
        )
    )
message = [value["text"] for value in collector.messages][0]

return error: list index out of range
The list is empty
My service:
from rasa.core.agent import Agent
from rasa.utils.endpoints import EndpointConfig

import google_assistant.ga_connector as ga

action_endpoint = EndpointConfig(url="http://localhost:5055/webhook")
agent = Agent.load(
    unpacked_model_path='models/',
    action_endpoint=action_endpoint
)

actions_channel = ga.GoogleAssistantAction()

agent.handle_channels(channels=[actions_channel], http_port=8877)

This is the extent of the log that I'm getting, @tmbo . Let me know if I can help you with more info.
Exception occurred while handling uri: 'http://abcdef.org/webhooks/google_assistant/webhook'
Traceback (most recent call last):
  File "C:\Users\john\AppData\Local\Continuum\anaconda3\envs\rasa_dev\lib\site-packages\sanic\app.py", line 917, in handle_request
    response = await response
  File "c:\GoogleAssistant\rasa-x\ga_connector_simple.py", line 73, in receive
    message = responses[0]
IndexError: list index out of range

I found the problem, but I don't know fixed it, here is the UserMessage's assinatur:
class UserMessage(object):
    """Represents an incoming message.

     Includes the channel the responses should be sent to."""

    DEFAULT_SENDER_ID = "default"

    def __init__(
        self,
        text: Optional[Text] = None,
        output_channel: Optional["OutputChannel"] = None,
        sender_id: Text = None,
        parse_data: Dict[Text, Any] = None,
        input_channel: Text = None,
        message_id: Text = None,
    ) -> None:

output_channel: Optional["OutputChannel"] = None,
Here is how I call it:
collector = CollectingOutputChannel()
await on_new_message(
       UserMessage(
               text, collector, sender_id, input_channel=self.name()
       )
)

collector = CollectingOutputChannel()
Incompative types

Got I help u?

Would that I need to implements the CollectingOutputChannel???

What do you mean with Incompatible types, do you get an exception or an error that says that? Because from what I can see the types should be fine.

@DiegoProtec Did you fixed this bug ?

Not yet... but on this issue, Juste promised that will update the tutorial.


material-ui Dialog takes focus, can we add notice about such default behavior in docs?

Not sure where to post such info but when using material-ui Dialog and rendering tinymce inside it, material-ui dialog is getting focus by default which makes tinymce dialogs uneditable.
The solution is to add disableEnforceFocus to the dialog. Would like to mention such info somewhere on documentation but can't decide where and what sentence would be best to provide such notice. I believe people have the same issue with any other dialog rendered inside material-ui Dialog. It was a headache for some time, would love to have noticed on docs.
I believe having some yellowish notice here https://material-ui.com/demos/dialogs/ would make sense.

@liesislukas You will find this information in https://material-ui.com/utils/modal/. It's a default accesibiliy behavior all modal should have.

Maybe a selector whitelist to allow a focus change on some elements would work @oliviertassinari ?

@sashless Do you have a reproduction of the issue? It would help explore the different option to solve the problem.

so i assume disableAutoFocus={true} would solve this? Can't try atm

It's basically the same issue as #15694 and #15450.

Thanks a lot brother..Was stuck in this thing for two days ..couldnt even have thought of this...I tried it and it worked like a charm


Add Calix ONU Vendor ID

Source:
http://web.archive.org/web/20240604184845/https://i.ebayimg.com/images/g/N1UAAOSwM~RlVTjO/s-l1600.jpg
(look at FSAN marking on the label)
Confirmed from Uboot logs.

the list is sorted alphabetically please keep the order

Corrected, my appologies.


esc-pos-encoder is not compatible with Apple m1 arm architecture

The example app uses esc-pos-encoder. It does not currently work with Apple's sillicon chips.

@AbuMareBear actually you don’t need esc pos encoder. It’s used for showing how to send raw data . So you can remove it

That's what I figured.


Feature: Add dark mode (prefers-dark-mode)

Could maybe be based on https://github.com/tolking/vuepress-theme-default-prefers-color-scheme

It may not be as trivial as you suggest since I'm not sure how well it will work with embedded charts which would need to support different colors based on this dynamic light/dark query (see below). I will probably not have time to invest in this feature soon but actually, I'm not even sure I want to deal with different themes in the datalabels docs.
Since there is already a plugin for it, why not just use it directly in the docs you need it?

Ideally I'd like https://chartjs.org/docs to behave based on the user preference. Could allow overriding light, so not every site needs to support it. Chart colors would need to be changed based on the mode, but I'd not expect that to be done by the theme.


.cinnamon/spices.cache should be moved to XDG_CACHE_HOME

addresses https://github.com/b3nj5m1n/xdg-ninja/pull/196/files/0ba2fc96b3fac3136cf66aa7238d64d27afacf5a#r1031425335

Thanks!


[WFLY-13445] Upgrade RESTEasy to 3.12.0.Final

https://issues.redhat.com/browse/WFLY-13445

@ronsigal I don't see this release on nexus, e.g. https://repository.jboss.org/org/jboss/resteasy/resteasy-jaxrs/

Hi @bstansberry,
I created this pull request just to move along https://issues.redhat.com/browse/EAP7-1386 "Incorporate MicroProfile Config in RESTEasy". I expect to do the release tomorrow. Sorry for the confusion. Still getting used to the EAP process guide.
-Ron

Hi @ronsigal (and CC @bstansberry) while evaluating this let's keep in mind that there's https://github.com/smallrye/smallrye-open-api/pull/325 to solve the issues with MP OpenAPI that we've had since we added the standalone.microprofile.profile - activated by the -Dts.standalone.microprofile property - to RESTEasy test suite configuration and that are currently skipped through the ExpectedFailingBecauseOfSmallRyeMicroprofileOpenApi11 JUnit category.

Hey @fabiobrz,
My feeling (feel free to disagree) is that, since the standalone.microprofile.profile profile is about testing, it's not that urgent. I'm eager to release RESTEasy 3.12.0.Final (this evening is my plan) to have a little cushion before the feature freeze. @bstansberry, what do you think?
-Ron

Hey @fabiobrz,
My feeling (feel free to disagree) is that, since the standalone.microprofile.profile profile is about testing, it's not that urgent. I'm eager to release RESTEasy 3.12.0.Final (this evening is my plan) to have a little cushion before the feature freeze. @bstansberry, what do you think?
-Ron

Hi @ronsigal, definitely not arguing about your point f view, also because you've got a deeper knowledge about the RESTEasy process than I have, for sure.
My point was just to make visible that RESTEasy test suite in 3.12.0.Final will skip Wildfly integration tests that are failing due to a SmallRye OpenAPI bug when executed with the microprofile.standalone.profile. That's all.
My 2 lire :)

@ronsigal I have no opinion. :) You gentlemen know best.

I have tagged and uploaded RESTEasy 3.12.0.Final. I ran a bunch of tests, as described here: https://issues.redhat.com/browse/RESTEASY-2583

Besides upgrading RESTEasy, I also bumped <version.com.fasterxml.jackson> to 2.10.4. That was at @asoldano's suggestion.

Thanks, @bstansberry.