seg fault when running tests

[adding for documentation purposes in case of future errors for other users]
seg fault on Intel MacBook Pro. Poetry lock below.
click for poetry lock
generated with poetry export -f requirements.txt --output requirements.txt

adjusttext==0.8 ; python_version >= "3.10" and python_version < "4.0"
aiohttp==3.8.4 ; python_version >= "3.10" and python_version < "4.0"
aiosignal==1.3.1 ; python_version >= "3.10" and python_version < "4.0"
appdirs==1.4.4 ; python_version >= "3.10" and python_version < "4.0"
async-timeout==4.0.2 ; python_version >= "3.10" and python_version < "4.0"
attrdict==2.0.1 ; python_version >= "3.10" and python_version < "4.0"
attrs==23.1.0 ; python_version >= "3.10" and python_version < "4.0"
certifi==2023.5.7 ; python_version >= "3.10" and python_version < "4.0"
cfgv==3.3.1 ; python_version >= "3.10" and python_version < "4.0"
charset-normalizer==3.1.0 ; python_version >= "3.10" and python_version < "4.0"
click==8.1.3 ; python_version >= "3.10" and python_version < "4.0"
colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32" or python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows"
contourpy==1.1.0 ; python_version >= "3.10" and python_version < "4.0"
cycler==0.11.0 ; python_version >= "3.10" and python_version < "4.0"
distlib==0.3.6 ; python_version >= "3.10" and python_version < "4.0"
docker-pycreds==0.4.0 ; python_version >= "3.10" and python_version < "4.0"
eagerpy==0.30.0 ; python_version >= "3.10" and python_version < "4.0"
exceptiongroup==1.1.1 ; python_version >= "3.10" and python_version < "3.11"
filelock==3.12.2 ; python_version >= "3.10" and python_version < "4.0"
fire==0.5.0 ; python_version >= "3.10" and python_version < "4.0"
fonttools==4.40.0 ; python_version >= "3.10" and python_version < "4.0"
foolbox==3.3.3 ; python_version >= "3.10" and python_version < "4.0"
frozenlist==1.3.3 ; python_version >= "3.10" and python_version < "4.0"
fsspec[http]==2023.6.0 ; python_version >= "3.10" and python_version < "4.0"
geomloss==0.2.6 ; python_version >= "3.10" and python_version < "4.0"
gitdb==4.0.10 ; python_version >= "3.10" and python_version < "4.0"
gitpython==3.1.31 ; python_version >= "3.10" and python_version < "4.0"
identify==2.5.24 ; python_version >= "3.10" and python_version < "4.0"
idna==3.4 ; python_version >= "3.10" and python_version < "4.0"
iniconfig==2.0.0 ; python_version >= "3.10" and python_version < "4.0"
jinja2==3.1.2 ; python_version >= "3.10" and python_version < "4.0"
joblib==1.2.0 ; python_version >= "3.10" and python_version < "4.0"
kiwisolver==1.4.4 ; python_version >= "3.10" and python_version < "4.0"
lightning-bolts==0.6.0.post1 ; python_version >= "3.10" and python_version < "4.0"
lightning-utilities==0.3.0 ; python_version >= "3.10" and python_version < "4.0"
llvmlite==0.40.0 ; python_version >= "3.10" and python_version < "4.0"
markupsafe==2.1.3 ; python_version >= "3.10" and python_version < "4.0"
matplotlib==3.7.1 ; python_version >= "3.10" and python_version < "4.0"
multidict==6.0.4 ; python_version >= "3.10" and python_version < "4.0"
munkres==1.1.4 ; python_version >= "3.10" and python_version < "4.0"
nodeenv==1.8.0 ; python_version >= "3.10" and python_version < "4.0"
numba==0.57.0 ; python_version >= "3.10" and python_version < "4.0"
numpy==1.23.5 ; python_version < "4.0" and python_version >= "3.10"
nvidia-cublas-cu11==<IP_ADDRESS> ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Linux"
nvidia-cuda-nvrtc-cu11==11.7.99 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Linux"
nvidia-cuda-runtime-cu11==11.7.99 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Linux"
nvidia-cudnn-cu11==<IP_ADDRESS> ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Linux"
opentsne==1.0.0 ; python_version >= "3.10" and python_version < "4.0"
otdd<EMAIL_ADDRESS>; python_version >= "3.10" and python_version < "4.0"
packaging==23.1 ; python_version >= "3.10" and python_version < "4.0"
pandas==2.0.2 ; python_version >= "3.10" and python_version < "4.0"
pathtools==0.1.2 ; python_version >= "3.10" and python_version < "4.0"
pillow==9.5.0 ; python_version >= "3.10" and python_version < "4.0"
platformdirs==3.7.0 ; python_version >= "3.10" and python_version < "4.0"
pluggy==1.2.0 ; python_version >= "3.10" and python_version < "4.0"
pot==0.9.0 ; python_version >= "3.10" and python_version < "4.0"
pre-commit==2.21.0 ; python_version >= "3.10" and python_version < "4.0"
protobuf==4.23.3 ; python_version >= "3.10" and python_version < "4.0"
psutil==5.9.5 ; python_version >= "3.10" and python_version < "4.0"
pynndescent==0.5.10 ; python_version >= "3.10" and python_version < "4.0"
pyparsing==3.1.0 ; python_version >= "3.10" and python_version < "4.0"
pytest-check==2.1.5 ; python_version >= "3.10" and python_version < "4.0"
pytest==7.3.2 ; python_version >= "3.10" and python_version < "4.0"
python-dateutil==2.8.2 ; python_version >= "3.10" and python_version < "4.0"
pytorch-lightning==1.8.3.post1 ; python_version >= "3.10" and python_version < "4.0"
pytz==2023.3 ; python_version >= "3.10" and python_version < "4.0"
pyyaml==6.0 ; python_version >= "3.10" and python_version < "4.0"
requests==2.31.0 ; python_version >= "3.10" and python_version < "4.0"
scikit-learn==1.2.2 ; python_version >= "3.10" and python_version < "4.0"
scipy==1.9.3 ; python_version >= "3.10" and python_version < "4.0"
seaborn==0.12.2 ; python_version >= "3.10" and python_version < "4.0"
sentry-sdk==1.25.1 ; python_version >= "3.10" and python_version < "4.0"
setproctitle==1.3.2 ; python_version >= "3.10" and python_version < "4.0"
setuptools==68.0.0 ; python_version >= "3.10" and python_version < "4.0"
six==1.16.0 ; python_version >= "3.10" and python_version < "4.0"
smmap==5.0.0 ; python_version >= "3.10" and python_version < "4.0"
tensorboardx==2.6.1 ; python_version >= "3.10" and python_version < "4.0"
termcolor==2.3.0 ; python_version >= "3.10" and python_version < "4.0"
threadpoolctl==3.1.0 ; python_version >= "3.10" and python_version < "4.0"
tomli==2.0.1 ; python_version >= "3.10" and python_version < "3.11"
torch==1.13.1 ; python_version >= "3.10" and python_version < "4.0"
torchmetrics==0.11.4 ; python_version >= "3.10" and python_version < "4.0"
torchtext==0.14.1 ; python_version >= "3.10" and python_version < "4.0"
torchvision==0.14.1 ; python_version >= "3.10" and python_version < "4.0"
tqdm==4.65.0 ; python_version >= "3.10" and python_version < "4.0"
typing-extensions==4.6.3 ; python_version >= "3.10" and python_version < "4.0"
tzdata==2023.3 ; python_version >= "3.10" and python_version < "4.0"
umap-learn==0.5.3 ; python_version >= "3.10" and python_version < "4.0"
urllib3==2.0.3 ; python_version >= "3.10" and python_version < "4.0"
virtualenv==20.23.1 ; python_version >= "3.10" and python_version < "4.0"
wandb==0.13.11 ; python_version >= "3.10" and python_version < "4.0"
wheel==0.40.0 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Linux"
yarl==1.9.2 ; python_version >= "3.10" and python_version < "4.0"

resolved with setting numba env var to disable JIT:
export NUMBA_DISABLE_JIT=1


 component

User Story Summary
The UI system must have an input component. This component has to have a copy value function, along with hiding/revealing the value.
Stories

[x] As a user, I should be able to click a button to copy what I typed in the input.
[x] As a user, I should be able to click a button to reveal what it's hidden in an input.
[x] As a user, I should be able to click a button to show or hide my password value.
[x] As a developer, I should be able to chose to either show or hide the input label.
[x] As a developer, I should be able to pick from a range of sizes for the input component.
[x] As a developer, I should be able to show a description for what the input is used for.
[x] As a developer, I should be able to show an error message for any unexpected or invalid value.

Test
Additional Considerations

Resolved in https://github.com/Kerosz/biolnk/commit/3e0bc8781edc70f010329ae42b8d44b06a269ad4


[GEP-18] Instrument CA secret generation according to specification

How to categorize this PR?

/area security
/kind enhancement
What this PR does / why we need it:
This PR instruments the CA secret generation according to the specification outlined in GEP-18. Concretely,

CA rotation is now triggered when the rotate-ca-start operation annotation was set on the Shoot.
Old CA secrets are now ignored in phase 2 of the CA rotation ("Completing"). This will update all CA bundles to only contain the new CA and regenerate all server certificates.
Config checksums for the existing CA secrets are no longer ignored as soon as the first CA rotation is triggered.
Old seed CA secrets are now ignored when the last rotation happened 24h+ ago.

Which issue(s) this PR fixes:
Part of #3292
Special notes for your reviewer(s):
✅ ~Depends on #5779, hence this PR is still in draft state.~
Release note:

NONE

/retest

Without #5790 the e2e tests will not succeed, so I'm marking this PR as draft again. Once #5790 got merged I will rebase it.


Quickdraw Modbus pcap

These traffic is normal or abnormal ?
If its abnormal, where can i get an abnormal list?
Thank you!

Check out the modbus rules file here: https://github.com/digitalbond/quickdraw

I've now provided that link in commit 62a71394d8a94540b00c659e3ddb4d969e5f6d77


option to change order of input geojson to (lng, lat)

It currently accepts only (lat, lng) while the standard geojson spec expects it to be in the order (x,y,z) or ( longitude, latitude, altitude)
http://geojson.org/geojson-spec.html#positions

You're specifically referring to polyfill, right? To date, we've delegated this concern to the bindings (JS, Java, etc), which need to marshal data into the GeoPolygon format anyway, and which generally offer both GeoJSON and non-GeoJSON input and output options. We could potentially offer polyfillGeoJSON, but this would simply be doing the same straightforward operation you'd need to do now, copying all of the data into a new structure with reversed geo coords. As this would only apply to C consumers, and as we probably couldn't do it as efficiently as the calling application could (for example, because we don't know whether modifying the polygon in-place is acceptable), I don't see a lot of benefit to adding this wrapper.

Thanks. Will add it in the python binding and open a pull request. Curious to know why the library uses (lat,lng) by default?

Some of the core is based on DGGRID, which predated GeoJSON by several years and used lat, lon. I used lat, lon in DGGRID because such coordinates are always referred to as "latitude and longitude", not "longitude and latitude".


cannot install tooling via npm

command: npm install -g tooling
and get the following result:
$HOME/.nvm/versions/node/v5.4.0/lib
└── (empty)

npm ERR! Darwin 15.2.0
npm ERR! argv "$HOME/.nvm/versions/node/v5.4.0/bin/node" "$HOME/.nvm/versions/node/v5.4.0/bin/npm" "i" "-g" "tooling"
npm ERR! node v5.4.0
npm ERR! npm  v3.3.12
npm ERR! path $HOME/.nvm/versions/node/v5.4.0/lib/node_modules/tooling/tooling
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod

npm ERR! enoent ENOENT: no such file or directory, chmod '$HOME/.nvm/versions/node/v5.4.0/lib/node_modules/tooling/tooling'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! Please include the following file with any support request:
npm ERR!     $HOME/npm-debug.log
npm ERR! code 1

home directory has been replaced with $HOME

I've no idea how this happened,
but $HOME/.nvm/versions/node/v5.4.0/lib/node_modules/tooling/tooling looks weird,
try remove tooling and reinstalll it.

ah, ok, I reproduced this.

My bad, missing bin file in package.json, fixed.


Enable quotes by default

resolves #240
Description

Checklist

[ ] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[ ] I have updated the CHANGELOG.md and added information about my change to the "dbt-databricks next" section.

Shall we reuse test_relation.py for the unit test.
e.g.,
diff --git a/tests/unit/test_relation.py b/tests/unit/test_relation.py
index 7db1cc5..e5ce504 100644
--- a/tests/unit/test_relation.py
+++ b/tests/unit/test_relation.py
@@ -8,7 +8,6 @@ from dbt.adapters.databricks.relation import DatabricksRelation
 class TestDatabricksRelation(unittest.TestCase):
     def test_pre_deserialize(self):
         data = {
-            "quote_policy": {"database": False, "schema": False, "identifier": False},
             "path": {
                 "database": "some_database",
                 "schema": "some_schema",
@@ -21,6 +20,7 @@ class TestDatabricksRelation(unittest.TestCase):
         self.assertEqual(relation.database, "some_database")
         self.assertEqual(relation.schema, "some_schema")
         self.assertEqual(relation.identifier, "some_table")
+        self.assertEqual(relation.render(), "`some_database`.`some_schema`.`some_table`")

         data = {
             "quote_policy": {"database": False, "schema": False, "identifier": False},

and same for the following tests.


v-slot directive: Varying behavior depending on how the slot is named.

Version 2.6.7 on my computer, not sure about the version used in jsfiddle
Reproduction link
https://jsfiddle.net/cicsolutions/qkzjp520/6/
Steps to reproduce
Create three named slots: (1) with no dash in the slot name, like 'header' or 'footer', as in the docs. (2) with a dash in the name, like 'card-header' and (3) with a camelCased slot name.
Console log the slot contents at the created and mounted hooks (other lifecycle hooks not tested) of the component.
What is expected?
I would expect the slot contents for all slot name syntaxes to be available at in the lifecycle hooks and rendered in component. (unsure if hyphenated or camelCasing is preferred for compound names)
I would 100% expect that if the contents of the slot can be logged to the console during created/mounted hooks, that it could be rendered via the render function (which appears to not be true for camelCased slot names)
What is actually happening?
The slot content for a slot where the name contains a dash is undefined at the created hook, whereas the slot content where the name does not have a dash is defined as expected with the slot node object.
Most strange ... content for the slot with a camelCased name is logged to the console properly, but not rendered in the component.

Please let me know if this type of report is unhelpful.  I really don't have the time to first search the forums and such, and I'm still learning Vue, so I'm unsure if for some reason this would be intended behavior.
I do not see anything in the docs that gives notes about the syntax for the slot names that may be compound phrases/names.  However I thought I read somewhere in the docs that camelCase is not valid HTML, so i first figured the hyphenated version of the slot name would be correct.
It does make sense to me that the value that follows the colon in the directive declaration becomes the $slots object key, and the value is not rendered as a DOM element attribute, so I thought perhaps using camelCase is the proper way to have compound slot names.  But when using camelCase slot names, the slot content does appear in the console, but is not rendered via the render function.  So ... that's even stranger!?
It would be great if the docs could touch on the proper naming convention for slot names, as compound slot names seem like they would be a pretty common approach to slot naming.
Note: I did not test other lifecycle hooks.
Perhaps I'm not understanding slots properly, but it seems strange to me that a slot named with a dash will render properly but show as undefined for in the created/mounted hooks.  And the opposite: having a camelCase slot name does show a correct node value in the hooks, however does not actually render the slotted content.
Hope this helps!  Thanks so much for all you do!  Vue is simply the best framework I've ever used!

Duplicate of #9449


fix:restoring all function

This PR restores the all functionality for compatibility as people can now also call db.index to retrieve the index of a kvstore.

@shamb0t final blessing?


vmbk configure does not apply changes until safekeeping is restarted

I entered the hostname of the vcenter server incorrectly during the configuration of safekeeping. After trying to run ivd -list and seeing the error I ran the configure command and changed the VMware Platform Service Controller FQDN or IP to the correct hostname. I then ran ivd -list again but got the same error message about the incorrect hostname. After closing safekeeping and starting it again the correct hostname is being used.

on 2.0 there are some new subcommand available for the configure command
Command: configure  -  Configure Safekeeping interactively.

Usage:
	configure  -help
	configure  -vddk <version> [-save]
	configure  -load <file> [-quiet]
	configure  -reload [-quiet]

Arguments:
  -help                     Help
  -vddk <version>           Set Vddk Version
  -load <file>              Load a specific configuration file
  -save                     Save changes
  -reload                   Reload the configuration file
  -quiet                    No confirmation is asked.

What you are asking I presume the  -reload sub-command
Am I correct?


Using a different type of Cartesian Motion Planner

Running into this error when using MoveIt's Cartesian Motion Planner:
 [ERROR] [1648220633.617375544]: Validation failed: Missing velocity data for trajectory pt 0
Potential reasons:

MoveIt Cartesian Interpolator has no time parametrization, so no control over velocity or acceleration and does not store the values.
Additionally, PickNik, creators of MoveIt, say that MoveIt Cartesian Interpolator easily gets stuck in local minima as it does not provide any functionality for avoiding joint limits or restarting. Source: https://picknik.ai/cartesian planners/moveit/motion planning/2021/01/07/guide-to-cartesian-planners-in-moveit.html

Computer Environment:

Ubuntu 20 LTS
Noetic
Python 3.7

Next Steps:

Look into other Cartesian motion planners like Descartes, PILZ, Tesseract
`

I'm working on implementing an pure C++ example of the Descartes Planner. My notes are here https://github.com/OSU-AIMS/paper-glider/issues/2, but I'll cross-post here if/when I get it working.

Out of curiosity, I dug into the Python API on the default move_group.compute_cartesian_path().
def compute_cartesian_path(self,
         waypoints,
         eef_step,
         jump_threshold,
         avoid_collisions=True,
         path_constraints=None )

Thus far, I don't think we've ever tried setting the path_collisions parameter. According to the C++ API, this parameter is an instance of a custom moveit_msg called Constraints.  Msg format here.
Unfortunately, this message doesn't detail any time based info, but does allow tolerancing the positioning system.
ie Applying a tolerance to joints or tool position/orientation.  @hansen95  This may be useful for you on future projects.

One option to consider instead of pursuing an entirely separate planner would be to only grab the position data from the output path trajectory. Then write your own velocity/acceleration into the trajectory message and send that to the robot.
compute_cartesian_path() returns to variables: path and fraction.
fraction is the 0-1 (0-100%) portion of the path that the solver generated.
path is a moveit_msgs::RobotTrajectory message object containing a list of waypoints. Each waypoint has position, velocity, acceleration, and time_from_start information.
Basically, we could go in and overwrite the velocity, acceleration, and time_from_start data for each waypoint. Velocity and acceleration could be computed from a combination of the desired time to achieve, the position data, and a velocity scaling equation.
I don't think this is a great solution, but it would get you going. Further, you would be able to more finely generate a trajectory then issue additional commands.
Initially, I think we should be sending trajectories starting from each 'point' (or light-pixel) of the path to the next one and not one long continuous motion (I don't think this was your intention though). But I don't know how well this will transition to the continuous light-painting demo, but it would help get us moving.

Successfully deployed a basic demo using a Descartes DensePlanner to build a trajectory. This is a pure C++ implementation in the osu-aims/paper-glider repo.

Finished an ROS Action server implementation of a Descartes Cartesian planner which accepts an input goal pose and linear interpolates in Cartesian space from current to goal pose.
Applied in the /descartes-action-server branch.


[patch] Bump pyiron/actions target to 3.2.1

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.396%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3208

Relevant Lines:
3472

💛  - Coveralls

Ubuntu speeds up on writing cache to reading it about 1.5m -> 0.75m, windows from 5m -> 2m. OSX was waiting too long in the queue so I don't know the speedup.

OSX tests are sitting in the queue indefinitely, despite two restarts...

OSX tests are sitting in the queue indefinitely, despite two restarts...

I noticed the same, it seems to be related to https://github.com/pyiron/pyiron_workflow/issues/387


Assign ID automatically

I use usually a "prefix" to assign an ID that depends on the type of experiment, but the ID should be assigned automatically. However, I don't see where used IDs are stored. They seem to be on a queue, but there's no way to see which ones have been used already.
A simple query to redis should take care of that... IDs would be automatically assigned using auto-increment together with the prefix.

I have two ideas for this.

In EvoSpace for instance, I just used a prefix plus a timestamp, is short and sequential. For other lower level IDs like WorkerID or MessageID, we generate a UUID.

The other idea is to have a settings.py file where each advanced user can generate the JSON as he pleases.  For instance, we can have a python dictionary with an EXPERIMENT_ID key:

"EXPERIMENT_ID": str (uuid.uuid4())

Any one is OK, but the simplest, the better.

@JJ Please check d2a3143


PXS-56370 make interchange.base.datetime.joda.dateTimeBijection use t…

Copied from ticket:
Interchange's joda DateTime json encoder sets the offset by using the current time. That means, since we run our servers in a insane place that follows DST, DST is set depending on whether we are currently observing DST or not. The expected behavior would be setting DST based off whether the DST was observed on the DateTime being written.

Base branch may be wrong. Please fix if necessary.


ci: sonar cloud.

Close: #6133

@pascalgrimaud ☝

Additional params if needed:
https://docs.sonarcloud.io/advanced-setup/analysis-parameters/

Following discussion at https://github.com/jhipster/jhipster-lite/issues/6133 not sure it's needed


DUOS-1274[risk=no] Refactored searchFilteredElectionList in MetricsService for correct % SRP Approved

Addresses DUOS-1274
PR corrects null check in searchFilteredElectionList and date references in associated MetricsDAO query.
Have you read CONTRIBUTING.md lately? If not, do that first.
I, the developer opening this PR, do solemnly pinky swear that:

[ ] I've followed the instructions if I've made any changes to the API, especially if they're breaking changes
[ ] I've updated the RC_XXX release ticket with any manual steps required to release this change
[ ] I've updated the FISMA documentation if I've made any security-related changes, including auth, encryption, or auditing
[ ] I've updated Swagger to reflect any API changes

In all cases:

[ ] Get two thumbsworth of review and PO signoff if necessary
[ ] Verify all tests go green
[ ] Squash and merge; you can delete your branch after this unless it's for a hotfix. In that case, don't delete it!
[ ] Test this change deployed correctly and works on dev environment after deployment

Just to confirm, running this branch against the latest staging db shows the same incorrect info as noted in the ticket.


Matching Service: TaskList throttling to allow users to limit workflows per second

Users want to throttle the number workflows (or activities) being executed per second. For eg. User has workflow with activity that calls downstream service foo. foo has a TPS limit that user has to abide by. We want to expose configuration to users that will limit how many workflows (and in turn calls to downstream services) are executed in a time duration.

It should also accept 0 as a valid value. When 0 is specified no tasks should be dispatched on the given task list. It can be used to quickly shut down the dispatch to workers if some corruption problem with them is found.


Fixing layout issue for layouts with a right sidebar

Fixes DSD-248
This PR does the following:

Fixes a layout issue for layouts that include a right sidebar in version 0.21.2.

To see the bug in production, go to Template Storybook and in the Controls section switch the sidebar to appear on the right side. It'll look like this (this is a zoomed out screenshot):

Test

Tested this locally in storybook but also tested it in the Library Card app through npm link.

Front End Review:

[ ] View the fix in Storybook.

Updated from the latest from development.


Load style without breaking current global css/scss

I'm trying to get react-toolbox running in our new project of ours.
The problem I'm facing is that my required scss files will act as global and not "namespaced" for each component.
When I'm trying to make the style load for react-toolbox, I get it to work but in the progress I'm breaking our current scss. And of course when I revert my loaders to the original state, the style breaks for my react-toolbox element (Dropdown).
Global scss working, react-toolbox style broken
test    :  /(\.scss|\.css)$/,
loaders : [
  'style-loader',
  'css-loader',
  'sass-loader?includePaths[]=' + paths.src('styles')
]

Global scss broken, react-toolbox style working
test    :  /(\.scss|\.css)$/,
loaders: [
  require.resolve('style-loader'),
  require.resolve('css-loader') + '?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
  require.resolve('sass-loader') + '?sourceMap'
]

Is there a way of loading the style for each component and keep my own required scss global?

Hi @Agowan!
By default we are including some global styles and normalize.css. This is because we are using rems as base unit and this way we are not forcing the user to reset and stuff. If you want to include React Toolbox in a running project without applying any global styles, I think we can use a variable to accomplish it.
I'm going to keep the issue open and labeled as bug. This afternoon I can release a new version supporting a variable in your configuration stylesheet to avoid loading global styles. I'll update then.

Hi,
thanks for quick reply.
I might have misunderstood you answer but I want react-toolbox to be namespaced for it's own components and keep my own style global.
If I remove the sourceMap&modules from the loaders my style/css works but react toolbox dropdown look like this:

This is the code I'm using:
...
render() {
  const pageSizes = [
    {label: '10', value: 10},
    {label: '10', value: 10},
    {label: '20', value: 20},
    {label: '50', value: 50},
    {label: '100', value: 100}
  ];
  return (<Dropdown auto onChange={this.onChange.bind(this)} source={pageSizes} />);
}
...

And if I add it again, my previously global (working) css classes becomes namespaced and thus my global classes wont be recognised. But the style for react toolbox dropdown gets recognised and looks like this (better then previous)

But you might have a point in not loading any global styles, that might be a problem as well.

Sorry if I'm not explaining myself well enough. React Toolbox provides components with all style namespaced so they are not going to collide with your external styles. This is how it's built and it's the main purpose of the library.
Apart from that, we have a module with global CSS to provide an easy way to bootstrap your a project. This is the file that sets global styles for your page. The main reason is to reset html nodes, to add normalize, load Roboto font, etc, but you don't have to load the file if you are already reseting your stylesheet.
If you want to use components isolated you have to make sure you are adding the reset rules. For example, we are not resetting each ul tag element in each component that uses an ul, we are resetting them globally. If you don't include this globals you have to change a bit these resets to make components look nice. Anyway, this resetting should be included only if you import commons.scss manually. If you just add toolbox and import the Dropdown it's going to load only the styling for the dropdown but, again, you have to reset the list yourself. Doing the reset in each component is a violation of DRY and would make the css grow.
Feel free to ping me through Discord if you want to discuss further or need help. As soon as I make sure the globals are not imported when using a component alone I'm closing the issue.
Thanks!

Also, remember you are responsible from loading the CSS with CSS modules providing a hashed name and avoiding collisions!

Now we have commons out of App component. This means you are able to use Toolbox and the wrapper without requiring the commons we were adding. Also, we added some configuration variables that will be in the documentation for the next release:

$import-normalize
$import-font
$import-flex-attributes

Now to include the commons in your project you have to do it manually: @import "~react-toolbox/lib/commons". Still, if you don't want to use them, you'd have to reset lists, change underlines for anchors, and set the $unit size or base rem yourself.
Please check it from master. Coming in next release!

@javivelasco i think this is the same issue i am facing but the issue is actually more that all existing styling in an app is broken unless it conforms to CSS modules. I believe there should be a way to limit the loaders to just react-toolbox but I am not sure how - any ideas?
Consider an app that is currently using bootstrap (or equiv.) with a simple import 'styles/index.scss'; in its index.js. So, within components, they just assume styles like container and row to exist. <div className="container" />. When you pull in react-toolbox (and change webpack to work with react-toolbox) it breaks all default styling - as .container no longer exists (instead has to be renamed to .index__container___xxxxx) so that react-toolbox can find its styles.
This seems like a pretty intrusive approach - basically, to use react-toolbox, you have to also take on the modular approach to CSS. Whilst this approach does look like an awesome solution to styling react projects, its often unrealistic to rewrite an entire app if it would like to utilize react-toolbox.
Any ideas on how it could work without have to rewrite everything?

so, something like this will work:
      {
        test    : /(\.scss|\.css)$/,
        include : path.join(__dirname, '../../', 'src'),
        loaders: [ 'style', 'css', 'sass' ]
      },
      {
        test    : /(\.scss|\.css)$/,
        exclude : path.join(__dirname, '../../', 'src'),
        loaders: [
          require.resolve('style-loader'),
          require.resolve('css-loader') + '?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
          require.resolve('sass-loader') + '?sourceMap',
          'toolbox'
        ]
      },
      {
        test: /\.(png|woff|woff2|eot|ttf|svg)$/,
        loader: 'url-loader?limit=100000'
      }

Feels like an anti-pattern putting a dependency's compilation step into an app's webpack though.

I should add that this set up still allows you to utilize toolbox and provide your own theme... which is very cool.

Hi @mattgi thanks for you feedback! I think there are multiple things to consider here. First of all, I think there is no way to avoid including css modules in your project to use it with react toolbox. If you still want to keep some global styles for bootstrap I think there are multiple choices:

If you want to keep global styles coming from bootstrap, I think the best way would be to specify in Bootstrap CSS that it should be :global. Since it's sass, you can just include what you need in an @include file wrapped with :global or just put it in bootstrap source.

You can tell webpack it should only use css modules for files placed at react toolbox module directory. This can be achieved by modifying the test for your loader. Just put only React Toolbox css into the loader.

The problem with globals is that now we have a general commons file that makes a reset and some other styling project-wide. The thing is that we did it this way to avoid repeating resets for lists for example. Anyway there is a way to still avoid repeating ourselves and get the reset for each module with a local scope. It's coming in next version.
Hope you can configure it properly, cheers!

Also, we added some configuration variables that will be in the documentation for the next release:

$import-normalize
$import-font
$import-flex-attributes

Hey @javivelasco, are these vars available in a current release?
I can't seem to find them in 0.13.4?

Hi @victornguyen !
We removed $import-font because now you are responsible from loading the font, it's not the best practice to perform vendor imports from the CSS. Also, $import-flex-attributes was removed along with it's dependencies. About $import-normalize... apparently I removed it for no reason, I'll restore it for the next release.
Check out the changelog for more information about the font loading.
Thanks!

@mattgi thanks for the info, it indeed allows to still set a custom theme. However, overwriting specific components seems troublesome as for passing a theme to a component, it is required to be a CSS module. Does anyone has any suggestion for doing that differently?

I notice I can still add a className and set properties that way, but probably only if they are not yet set in the react-toolbox's scss?
E.g. I set the width on a button in my own, non-module, scss and pass the class via className on to <Button... is this troublesome?

I having a hell of a time with similar problem - no luck so far. I realize this issue is closed - Is it possible for someone to give me a hand?

May you expose your issue again? In the previous version you needed to support CSS Modules because importing a react-toolbox component implied to import a css module. With the 1.0 version you don't need it anymore because you can import components RAW without any CSS and then inject a theme via props or context. Considering that a theme is nothing but an object matching className in the API - real css class to apply styles, you can configure following this options:
1 - Without CSS modules: import always raw components and provide a theme to theme. You can either create wrapper components inject styles or to give a context theme object with the theme for each component. The provided theme should be created by yourself or compiled on your own from our SASS files. We don't have an example on this yet but it's quite straightforward. This is intended for people not using CSS Modules.
2 - Via variables: each component imports some variables that can be overridden. You can do so using injecting for custom variables at the beginning of each SASS compile. To achieve it you can use toolbox-loader or a sass-loader option for webpack. Just create a file with your variables override and tell your bundler to inject that file. This is for people that want to override styles widely without messing with CSS and are in fact using CSS modules.
3 - Via themes: You can also import themed components and provide a theme object. The classes you provide in that object will be mixed with the given by react toolbox meaning that adding a className to your component you can combine both in your CSS to override styles with more priority. This last one is the easiest for people who want to customize a component but use the default ones and use CSS modules.
Good luck!

hello @javivelasco,
Thanks for your information. I am, however, still struggling with getting it to work as expected, most likely because I am using it with webpack and typescript. To answer your suggestions:

This seems to not work with typescript anyway because when trying
import { Button } from 'react-toolbox/lib/button';
I get a typescript error that there is no such module: error TS2307: Cannot find module 'react-toolbox/lib/button/Button.js'.
And wouldn't it still require to use CSS modules as we would have to pass a theme to the theme parameter and the theme parameter expects a CSS module?

This seems to work with my current setup (tried overriding the primary color), however this is no option for 'page-specific' adjustments, e.g. on one page I want the button to have a 30px height and on another page it should have a 50px height (fictive example, overriding style attributes differently on several pages).

I am currently using require to get the CSS module: let buttonStyles = require('./theme');

when I pass buttonStyles to theme={} the typescript compiler also complains because the theme parameter is not defined in the react-toolbox's typings button/index.d.ts (so I just added theme: any to test it)
if I don't use require, typescript would complain as there are no typings available for the CSS module
it also seems that the file name is used to define the selector, so e.g. I want to override the height in the button, if I inspect the button the height property is set under .theme__raised___1CNoR, so I had to name the scss file with the button customisation 'theme' in order to get a .theme__raised selector, however I end up with a different hash: .theme__raised___35sY-, which also gets overriden by the one from react-toolbox itself (so my customisation doesn't get through).
If this would work, then it seems troublesome that the file name has to be theme.scss for the customisations? For example when I have a page on which I want to customise a Button but also an App-bar, then I have to place both customisations in the same theme.scss file? But then the button  styling would also be present on the appbar and vice versa?

Am I overlooking something or do you have any suggestions/ideas in what direction I can move to get any of the 3 to work? If something about my explanation isn't clear, please let me know!
I really want to get it to work because I would prefer using this library over material-UI (I prefer the separate .scss files for styling in stead of the inline styling).
Kind regards,

I managed to get mine working, have a look at my package.json and webpack.config. Let me know if you have any questions:
package.json
{
  "name": "pluralsight-redux-starter",
  "version": "1.0.0",
  "description": "Starter kit for React and Redux Pluralsight course by Cory House",
  "author": "Cory House",
  "license": "MIT",
  "//": "alternative for this include gulp and grunt",
  "scripts": {
    "//": "react specific library, you can use redux with other libraries as well, like angular etc...",
    "prestart": "babel-node tools/startMessage.js",
    "start": "npm-run-all --parallel open:src lint:watch test:watch",
    "open:src": "babel-node tools/srcServer.js",
    "lint": "node_modules/.bin/esw webpack.config.* src tools",
    "lint:watch": "npm run lint -- --watch",
    "test": "mocha --require ignore-styles --reporter spec tools/testSetup.js \"src/**/*.test.js\"",
    "test:watch": "npm run test -- --watch",
    "clean-dist": "npm run remove-dist && mkdir dist",
    "prebuild": "npm-run-all clean-dist test link build:html",
    "build": "babel-node tools/build.js",
    "postbuild": "babel-node tools/distServer.js"
  },
  "dependencies": {
    "babel-polyfill": "6.8.0",
    "bootstrap": "3.3.6",
    "css-loader": "^0.23.1",
    "jquery": "2.2.3",
    "minimatch": "^3.0.2",
    "node-sass": "^3.8.0",
    "react": "15.1.0",
    "react-dom": "15.0.2",
    "react-redux": "4.4.5",
    "react-router": "2.4.0",
    "react-router-redux": "4.0.4",
    "react-toolbox": "^1.0.1",
    "redux": "3.5.2",
    "redux-thunk": "2.0.1",
    "resolve-path-webpack-plugin": "^1.1.0",
    "sass-loader": "^3.2.1",
    "style-loader": "^0.13.1",
    "toastr": "2.1.2",
    "webpack-validator": "^2.2.0"
  },
  "devDependencies": {
    "babel-cli": "6.8.0",
    "babel-core": "6.8.0",
    "babel-loader": "6.2.4",
    "babel-plugin-react-display-name": "2.0.0",
    "babel-preset-es2015": "6.6.0",
    "babel-preset-react": "6.5.0",
    "babel-preset-react-hmre": "1.1.1",
    "babel-register": "6.8.0",
    "colors": "1.1.2",
    "compression": "1.6.1",
    "cross-env": "1.0.7",
    "css-loader": "0.23.1",
    "enzyme": "2.2.0",
    "eslint": "2.9.0",
    "eslint-plugin-import": "1.6.1",
    "eslint-plugin-react": "5.0.1",
    "eslint-watch": "2.1.11",
    "eventsource-polyfill": "0.9.6",
    "expect": "1.19.0",
    "express": "4.13.4",
    "extract-text-webpack-plugin": "1.0.1",
    "file-loader": "0.8.5",
    "ignore-styles": "^4.0.0",
    "jsdom": "8.5.0",
    "mocha": "2.4.5",
    "nock": "8.0.0",
    "normalize.css": "^4.0.0",
    "npm-run-all": "1.8.0",
    "open": "0.0.5",
    "postcss-loader": "0.8.2",
    "react": "^15.0.2",
    "react-addons-css-transition-group": "^15.0.0",
    "react-addons-test-utils": "15.0.2",
    "redux-immutable-state-invariant": "1.2.3",
    "redux-mock-store": "1.0.2",
    "rimraf": "2.5.2",
    "sass-loader": "^3.2.0",
    "style-loader": "0.13.1",
    "toolbox-loader": "0.0.3",
    "url-loader": "0.5.7",
    "webpack": "1.13.0",
    "webpack-dev-middleware": "1.6.1",
    "webpack-hot-middleware": "2.10.0"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/coryhouse/pluralsight-redux-starter"
  }
}

webpack.config

import webpack from 'webpack';
import path from 'path';
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const modulesPath = path.join(__dirname, 'node_modules');
const autoprefixer = require('autoprefixer');

  export default {
      debug: true,
      devtool: 'source-map',
      noInfo: false,
      entry: [
          'eventsource-polyfill', // necessary for hot reloading with IE
          'webpack-hot-middleware/client?reload=true', //note that it reloads the page if hot module reloading fails.
          './src/index.js'
      ],
      target: 'web',
      output: {
          path: __dirname + '/dist', // Note: Physical files are only output by the production build task `npm run build`.
          publicPath: '/',
          filename: 'bundle.js'
      },
      devServer: {
          contentBase: './src'
      },
      plugins: [
          new webpack.HotModuleReplacementPlugin(),
          new webpack.NoErrorsPlugin()

      ],
      resolve: {
        extensions: ['', '.css', '.scss', '.js', '.json'],
        modulesDirectories: ['node_modules']
      },
      postcss: [autoprefixer],

      toolbox: {
        theme: path.join(__dirname, 'src/styles/variables.scss')
      },
      // Tells webpack the types of files that we want it to handle.
      module: {
          loaders: [
              {test: /(\.js|\.jsx)$/,
                include: path.join(__dirname, 'src'),
                loaders: ['babel']
              },
              {
                test: /\.s?css$/,
                loaders: ['style', 'css', 'sass'],
                exclude: /(node_modules)\/react-toolbox/
              },
              {
                test    : /(\.scss|\.css)$/,
                include : /(node_modules)\/react-toolbox/,
                loaders : [
                  require.resolve('style-loader'),
                  require.resolve('css-loader') + '?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
                  require.resolve('sass-loader') + '?sourceMap', 'toolbox'
                ]
              },
              {test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file'},
              {test: /\.(woff|woff2)$/, loader: 'url?prefix=font/&limit=5000'},
              {test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/octet-stream'},
              {test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=image/svg+xml'}
          ]

      }
  };

hello @malexanders,
I have the general setup working as well, but as I mentioned I am currently not able to over-write the styling (apart from the general theme) for specific components.
Either I am overlooking something or maybe it is just not possible with the Typescript setup.
I hope @javivelasco has an idea or suggestion.
Kind regards,

I am using react-toolbox in an empty project.
I have rendered the AppBar and I have noticed two things.

The body still has margins, so I added normalize.css... just for precautions
My app bar height is bigger compared to the one of React-Toolbox site

It is because the toolbox site has font-size: 62.5% on the html element.
Why am I missing these settings?

You have to import a commons.scss stylesheet that includes a reset and some base settings that are used in react-toolbox :)

Now everything looks at expected. Where did I miss this key configuration's instruction?
I don't know if matters... but I am using Typescript with Webpack and now I am importing commons.scss into my global.scss

Yeah, it's missing. We should add it :/

@malexanders That did the trick, thank you!

@JeroenNelen Can you confirm whether you ever found a solution to this? I'd like to use react-toolbox in a project but a requirement is that someone who only knows css should be able to write and bundle in some of their own overrides. However, if the themed classname hash changes on each compile, this may be a deal-breaker.

@Findiglay sorry for my late reply, I'm currently no longer working with this library so unfortunately I can't offer you any advice/solution on this.
kind regards,

Hey all, I've pretty much followed @malexanders webpack config to be able to both use bootstrap, my own custom scss and react-toolbox, however i'm getting an error like this for each component theme file in the lib folder:
ERROR in ./~/css-loader?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!./~/sass-loader?sourceMap!./~/toolbox-loader!./~/react-toolbox/lib/button/theme.scss Module build failed: Error: ENOENT: no such file or directory, open '/Users/dm/Documents/programming/ll/theme.scss'     at Error (native)  @ ./~/react-toolbox/lib/button/theme.scss 4:14-230 13:2-17:4 14:20-236
My webpack config is:
`
let webpack = require('webpack');
let HtmlWebpackPlugin = require('html-webpack-plugin');
let ExtractTextPlugin = require('extract-text-webpack-plugin');
const path = require('path');
const autoprefixer = require('autoprefixer');
const modulesPath = path.join(__dirname, 'node_modules');
let HtmlWebpackPluginConfig = new HtmlWebpackPlugin({
template: __dirname + '/app/index.html',
filename: 'index.html',
inject: 'body'
});
let WebpackEnvPlugin = new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
// RETHINK_HOST: JSON.stringify(process.env.RETHINK_HOST),
PORT: JSON.stringify(process.env.PORT)
});
module.exports = {
devtool: 'source-map',
entry: [
'webpack-hot-middleware/client?reload=true',
'./app/index.js'
],
output: {
path: dirname + '/dist',
filename: 'index_bundle.js',
publicPath: '/assets'
},
resolve: {
extensions: ['', '.css', '.scss', '.js', '.json'],
modulesDirectories: ['node_modules']
},
postcss: [autoprefixer],
module: {
loaders: [
{
test: /(.js)$/,
loaders: ['babel']
},
{
test: /.s?css$/,
loaders: ['style', 'css', 'sass'],
exclude: /(node_modules)/react-toolbox/
},
{
test    : /(.scss|.css)$/,
include : /(node_modules)/react-toolbox/,
loaders : [
require.resolve('style-loader'),
require.resolve('css-loader') + '?sourceMap&modules&importLoaders=1&localIdentName=[name][local]___[hash:base64:5]',
require.resolve('sass-loader') + '?sourceMap', 'toolbox'
]
},
{
test: /.(jpe?g|png|gif|svg)$/i,
loaders: [
'file?hash=sha512&digest=hex&name=[hash].[ext]',
'image-webpack?bypassOnDebug&optimizationLevel=7&interlaced=false'
]
}
]
},
plugins: [
HtmlWebpackPluginConfig,
WebpackEnvPlugin,
new ExtractTextPlugin('css/main.css', {
allChunks: true
}),
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin()
]
}
`
If you had any input on what I'm doing wrong or overlooking that'd be much appreciated!


Glitch during Overnight Charge

Hi Nathan,
Yesterday I was looking at the Charge Needed sensor and I happily noticed that was indicating '0', now, my comprehension of this is that no charge is needed overnight during off-peak.
I noticed I had a spike tonight though, just a 10 minutes spike at precisely 00:30.

Is this a know issue or just physiological to your algorithm or shall we look into it?
Cheers.
Forgot to mention: the MaxChargeCurrent is set to 10A in my system, working out to ~2.1kW that we see here.

Thanks for raising. At first guess:
#1 - it refreshed the forecast and subsequently the battery model at 00:25 (5 mins before off-peak starts) and decided a small top up was needed.
#2 - it tried to cancel your charge at 00:30 but Fox Cloud wasn't responding and it took 10 mins of retries to succeed.
Can you include more logs/relevant data points please?
Nathan

By looking at the pic below seems like we can exclude n.1

For n.2, I'll try with these settings tonight (I've disabled the "Enable force charge from grid" switch, previously enabled). With some luck I won't need any top up tonight and we can test your theory.
(In terms of log)  What would you be interested in? Happy to share.

That makes things easier then :)
Any errors contacting Fox Cloud would be logged under Settings -> System -> Logs.
The integration will reset your Fox Cloud settings 5 minutes before the off-peak period begins, so those settings will be overwritten. Tbf there probably isn't a need for a 'pre off-peak' and 'off-peak' event since moving to an always on model. If a charge isn't required the charge windows could be cleared in the 'pre off-peak' event.

Hi, unfortunately I've experienced a fault tonight.
I lost communication through Modbus (LAN) at around 00:43 (just a little over 10 minutes after the beginning of the off-peak period).

The inverter then proceeded charging the battery at full beans after a temporary stop, probably an inverter restart (?).

I woke up with a full battery, even if the necessary charge was 0 (I double checked).
Also, I cannot establish Modbus communications anymore. I tried restarting Inverter, Router and HA.
I tried enabling DHCP again, just to check if inverter could still get an IP and it does no problems.
I'm in version 1.48, 1.02, 1.50 so no problems with the LAN Modbus. Well, so far...
Did you ever experience something like this?
Useless to say that I'm going to disable your integration for the moment, untill I understand what's going on here.

That's very odd. My modbus integration has been really stable - never had any issues. Are you using the W610 or something else?
Btw it seems Fox Cloud communicates to the inverter via Modbus over TCP (ish). If the modbus server faulted it's not surprising it was uncontactable, hence the full charge.
Fyi I reversed the logic on this recently, it used to start with no charge windows set and only enable them if needed. However we were finding the Fox Cloud to be so unstable that people were often waking up with empty batteries, hence the more 'fail safe' approach.
Hope you get it sorted soon.

No, Router to Ethernet port on the inverter.
I've downloaded the log and restored a previous snapshot and I was back up
and running in no time but I haven't yet got the chance to thoroughly
explore the log.
From a quick overview I noticed it started throwing a long chain of "Host
unreachable" on Modbus at roughly 00.30, not surprisingly.
I just can't afford being "offline" tomorrow so I'm going to enable the
integration again only tomorrow afternoon.
I kinda hope it happens again, I want to know what we are dealing with
here...
On Mon, 20 Feb 2023, 19:06 Nathan Marlor, @.***> wrote:

That's very odd. My modbus integration has been really stable - never had
any issues. Are you using the W610 or something else?
Btw it seems Fox Cloud communicates to the inverter via Modbus over TCP
(ish). If the modbus server faulted it's not surprising it was
uncontactable, hence the full charge.
Fyi I reversed the logic on this recently, it used to start with no charge
windows set and only enable them if needed. However we were finding the Fox
Cloud to be so unstable that people were often waking up with empty
batteries, hence the more 'fail safe' approach.
Hope you get it sorted soon.
—
Reply to this email directly, view it on GitHub
https://github.com/nathanmarlor/foxess_em/issues/189#issuecomment-1437439979,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABD4PLAYEE6AO5J6H5EY3OTWYO6DBANCNFSM6AAAAAAVA3S4NI
.
You are receiving this because you authored the thread.Message ID:
@.***>

No, Router to Ethernet port on the inverter.
I've downloaded the log and restored a previous snapshot and I was back up
and running in no time but I haven't yet got the chance to thoroughly
explore the log.
From a quick overview I noticed it started throwing a long chain of "Host
unreachable" on Modbus at roughly 00.30, not surprisingly.
I just can't afford being "offline" tomorrow so I'm going to enable the
integration again only tomorrow (the day after tomorrow) afternoon.
I kinda hope it happens again, I want to know what we are dealing with
here...

Well, this happened... (time period 00:25 to 04:35)

I believe the charge was ~constant throughout the charging period (looking at the FoxESS cloud data) but the inverter manager kept resetting (as I mentioned I use a straight LAN connection, router to inverter).

There was a HA restart at 00:19, that coincides with the lost of data in the first graph.
It restarted smoothly and the first error I can find for this Integration was:
2023-02-23 00:27:30.186 ERROR (MainThread) [custom_components.foxess_em.fox.fox_cloud_service] Could not make request to Fox Cloud - Error: 40257
followed by:
2023-02-23 04:32:12.508 ERROR (MainThread) [custom_components.foxess_em.fox.fox_cloud_service] Fox Cloud API error:
and
2023-02-23 04:32:23.207 ERROR (MainThread) [custom_components.foxess_em.fox.fox_cloud_service] Could not make request to Fox Cloud - Error: 40257
I can't find anything regarding solcast although something was off there too:

The API key that the integration has access to is a 50 calls one.
I also have a secondary Solcast Integration that uses a different API key, that one works flawlessly.
At this point a wonder what the differences are between our systems.
Do you connect to the Inverter in a different manner? What is your manager version?
What would you want me to try differently, as I said I'm happy to test, I believe this integration has an enormous potential and I don't want to give up yet.
For the records, I currently run on:
Master : 1.54
Slave : 1.02
Manager : 1.50
Also, to prove all is good with my system, here is the early hours of the 22nd ("the night before")

The settings for this charging session were set manually by me:
Time period 1: 00:30 to 03:30 - Force charge only
Time period 2: 03:30 to 04:30 - Force charge from grid

The latest EM update includes a change for manager version 1.57 as the API call to set maximum discharge changed. I noticed this as I was seeing error 20547 too, which is basically an invalid request. I think you can safely ignore this, and I'll find a way of ensuring it works across all manager versions at some point in the future.
The more concerning aspect is why your connection to Solcast is dropping out, and why you're losing data from the Modbus connection (and/or causing the inverter to restart). I swapped back to the 485 setup recently as I wanted to keep manager up to date - I don't see any drop outs or odd behaviour with this.
Do you lose connection at any other time, or is it just during the charge periods? Do you have any other networking components setup - pihole etc.? Also restarting HA during a charge period isn't recommended, as it loses state and will revert back to the 'fail safe' of a forced charge; if you're using watchtower or other it's best to schedule updates outside of your charge window.

Ok, so we can list comm method as a difference.
The weird behaviour with Solecast puzzles me too. I used that 50-calls API key for the past 2 years or so without a problem, then I applied for a new one (unfortunately 10-calls only) to give the "good one" to your integration a couple days ago.

The 10-calls one has no problems as you can see (the drops you can see here and there are when I tried to Disable the pure Solcast integration after seeing EM was reporting 'Unknown', I thought that maybe the Solcast server was throttling/blacklisting my IP).
I extremely rarely lose connection when EM is disabled (I think I lost communication a few times at a few months ago when I got my system installed, then turned out to be DHCP issues which I then fixed using Static IP and, a part from that, I honestly don't remember the last time that a random drop happened, it's been pretty stable).
About my setup, I run a super simple ASUS router which generally has no problems when this integration is disabled.
I did not restart HA during the charging period on purpose, nor any planned update did it.
I believe this happened at exactly 00:20 ±1min 3 times so far, those night when the EM integration was Enabled and "Disable Auto Charge" switch was OFF.
I probably run some sort of maintenance or backup over the period 00:00 - 05:00 thay may interfere with EM.
I'll report shortly.

I found 2 potential interfering tasks:

Home Assistant Google Drive Backup was running the daily backup at 02:30 -> Now moved at 05:30.
VM Virtual Box Manager is taking a weekly Snapshot of the VM at 03:30 - Because it hasn't run during any of the analysed days, I will retain this schedule for the time being.

Hi Nathan, I think I have found a clue.

It restarted (crashed) HA a couple time again and I finally noticed a potential cause

@Ndrinta are you still experiencing issues or can this be closed?

Never worked properly for me so I abandoned this about 2 weeks after these first issues.
Might not be the case now and might give it another go in the future but for now I'm happy with my custom automations right now.
Cheers for caring.


feat: redesign payment selection flow for Buy screen

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
This PR focuses on enhancing the PaymentSelectionScreen and related components in the thirdweb wallet application. It introduces a new payment selection interface, modifies existing components, and improves the handling of wallet and token balances.
Detailed summary

Added PaymentSelectionScreen to manage wallet and payment method selection.
Exported SelectTokenButton for broader use.
Removed WalletSwitcherDrawerContent in favor of new payment selection logic.
Simplified payment method handling in BuyScreenContent.
Improved balance fetching and display for connected wallets.
Introduced WalletRowWithBalances for better wallet balance representation.
Enhanced error handling and logging during balance fetching.
Updated UI components for consistency and improved user experience.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#5176  👈
main

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

Join @joaquim-verges and the rest of your teammates on  Graphite


test: add tests to check 404 handling in client-side rendering

🔗 Linked issue

📚 Description
Hi ✋
Before adding https://github.com/nuxt/nuxt/pull/29054, I would like to add tests to check whether 404 handling in client-side rendering behaves as intended.
I would actually like to add tests for the case where there are no catch-all routes, but it was difficult because there are tests that depend on catch-all routes.

If it's okay, I can create a fixtures directory without catch-all routes.

It seems that the test cases already exist 🙈
https://github.com/nuxt/nuxt/blob/main/test/basic.test.ts#L195-L211

we probably still need to cover the ssr: false example from the issue your PR resolves (maybe use a route rule to force the ssr: false?)
also maybe we could update the fixture so the catch all was only present/used for a subpath - because you are right that it conceals errors at the moment

I'm thinking of using a subpath! However, I'm currently investigating because other tests are breaking.


feat(toggle): add more M.wk fields for better user customization

Description
Add to M.wk fields for icon, color_enabled and color_disabled for more granual user customization.

Related Issue(s)
No, rather a discussion #4512

Screenshots

Checklist

[x] I've read the CONTRIBUTING guidelines.

ty!


Update README

Can you add a more complete example to the README?  Specifically:

[ ] Provide a NERSC path to a reasonable weights file.
[ ] Show how to compute the inputs that predict expects from a set of spectra in a DESI fits file.
[ ] Show how to call predict with these inputs.
[ ] Show how to use process_preds to identify which spectra are classified as QSOs.

I am assuming there is already code somewhere that does most of the work of item 2 that you can use?

These are the weights for the BOSS-trained model that we will probably use for the 1% survey:
/global/cfs/cdirs/desi/users/jfarr/QuasarNET_paper/qn_models/main_setup/coadd/prop_0.1/model_indtrain_0_0/qn_train_coadd_indtrain_0_0.h5


CreateTrustRole executable is not flagged exectuable on Mac OS

The current version of the ALKS CLI does not install the alks-iam-createtrustrole command with executable permissions.  All other commands appear to have the correct permissions.
As a workaround, users can fix the permissions with this command:
chmod +x /usr/local/lib/node_modules/alks/bin/alks-iam-createtrustrole

Issue resolved by #131


Improved README and fixed permissions for gradlew

Changes

Added clarification to README for contributors
Backported 1.20.2's sections on Docker with improvements
Fixed file permissions for gradlew on MacOS

The given docker command means that authentication is no longer required.

👍 GTM. Good stuff!


update items list - in what lifecycle hook to put itemsjs()

I use this tool in a Vue SPA where the user can add items. Up to now I run itemsjs() as a static procedure before page creation. what would be the correct lifecycle hook to put itemsjs() to reevaluate the items list after the user adds an item?

You need to simply reindex data with method: itemsjs.reindex(data)
Unfortunately there are no .add, .update, .delete functions right now


[BanyanDB][TSDB] Close components in tsdb gracefully

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Several component would kick off background goroutines to execute jobs. We should provide a unified procedure to:

Close them gracefully. Waiting until all sub component have closed.
Forbit to re-close.

This issue doesn't cover the block's closing procedure is based upon the reference count which is different from others.
Use case
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

Closed by


Windows installer is missing web search, downloaded models disappear.

After enabling web search and restarting h2oGTP the previously loaded model was lost.
Nothing worked anymore. Web search became available but no model could be loaded or downloaded.
Local GGFU Models cannot be used from their original location, they have to be imported, causing unneccessary space usage on the harddisk. Everytime "submit" is clicked many dos-windows popups appear and quickly disappear.
Other products like privateGPT, LM Studio and localGPT clearly show the location of models.
Uninstalled h2oGPT because it is an unfinished product.
Even stopping it requires killing python process.
LM Studio is much more practical for local use.

The one-lock windows installer is from Nov 5 and doesn't have certain features yet that cover all your pain points.


⚠ ClamAV has degraded performance

In 85a359b, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 207 ms

Resolved: ClamAV performance has improved in 63fce5c.


Support for Closure Compiler in Angular CLI

🚀 Feature request
This is based on the issue https://github.com/angular/angular-cli/issues/2981
Here's a request to please add support for closure compiler in Angular CLI.
Command (mark with an x)

- [x ] build

Description
Since the bundles produced by Angular compiler are compatible with Closure compiler, therefore I believe it would be great if we could have the ability to compile our Angular applications using Closure compiler in Angular CLI.
Describe the solution you'd like
Some flag in angular.json file that could allow us to use Closure compiler with ng build command.
Describe alternatives you've considered
Though I haven't tried it, but below post shows how this can be achieved using angular cli:
https://dev.to/steveblue/build-angular-like-an-architect-part-1-3ph2
What I am suggesting is ability to compile Angular applications using Closure Compiler with minimum efforts using Angular CLI.

hi @alan-agius4. just wondering whether this is on the roadmap in any form?

Let's keep tracking this as part of https://github.com/angular/angular/issues/37234 since the NPM packages of the Angular framework no longer support Closure Compiler ADVANCED_OPTIMIZATIONS.


move to java 1.8

1.6 is currently used. 1.7 is not supported already, so 1.8 is the target.

released in 5.3.0.


GEOMESA-1397 GeoHashUtils.getInternationalDateLineSafeGeometry return…

…s Try[Geometry]
Signed-off-by: Emilio Lahr-Vivaz<EMAIL_ADDRESS>

Does this sort out by @ddseapy?;)

yep, he's happy

:shipit:!

As one final question/note, do we need to sort out a 1.2.x backport?

Not necessary for me, i don't think  (if that question was for me).

yeah, i think we held off on changing this before to preserve the API in 1.2.x - so no backport necessary.


cargo fmt doesn't work with --all --manifest-path

I can invoke cargo check --workspace --manifest-path path/to/Cargo.toml and it will ostensibly do the right thing. However, cargo fmt --manifest-path does not seem to understand workspace manifests (with or without --all).

Actually, something stranger is going on:
djc-2021 split-rust bolt $ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
djc-2021 main bolt $ find . -name "Cargo.toml"
./rust/Cargo.toml
./rust/screenshot/Cargo.toml
./rust/epp/Cargo.toml
./rust/downloader/Cargo.toml
./rust/shared/Cargo.toml
./rust/vectors/Cargo.toml
./rust/gcp/Cargo.toml
./rust/whois/Cargo.toml
./rust/epoxide/Cargo.toml
./rust/loader/Cargo.toml
./rust/diachron/Cargo.toml
./rust/nominl/Cargo.toml
./rust/service/Cargo.toml
./rust/dns/Cargo.toml
./rust/servec/Cargo.toml
djc-2021 main bolt $ cargo fmt --manifest-path rust/Cargo.toml --all -- --check
djc-2021 main bolt $ git checkout split-rust
Switched to branch 'split-rust'
Your branch is up to date with 'origin/split-rust'.
djc-2021 split-rust bolt $ find . -name "Cargo.toml"
./rust/domains/Cargo.toml
./rust/domains/epp/Cargo.toml
./rust/domains/whois/Cargo.toml
./rust/domains/epoxide/Cargo.toml
./rust/domains/dns/Cargo.toml
./rust/shared/Cargo.toml
./rust/gcp/Cargo.toml
./rust/search/Cargo.toml
./rust/search/screenshot/Cargo.toml
./rust/search/downloader/Cargo.toml
./rust/search/vectors/Cargo.toml
./rust/search/loader/Cargo.toml
./rust/search/diachron/Cargo.toml
./rust/search/nominl/Cargo.toml
./rust/search/servec/Cargo.toml
./rust/service/Cargo.toml
djc-2021 split-rust bolt $ cargo fmt --manifest-path rust/domains/Cargo.toml --all -- --check
`cargo metadata` exited with an error: error: failed to read `/Users/djc/src/bolt/rust/Cargo.toml`

Caused by:
  No such file or directory (os error 2)

Thanks for the report!
When you have a chance could you provide a minimal complete and verifiable example for this. Also, what version of rusftmt are you using? That should help us track down what's going on.

This is with the current stable. I finally figured out that the issue was that one of the crates had a workspace = [".."] in its metadata pointing to a directory where no Cargo.toml was present. This didn't seem to cause issues for Cargo (which arguably should warn about this), but caused this suprising warning from rustfmt.

I do kind of feel otherwise because the error is so crappy and non-obvious. Took me a long time to figure out what was wrong. If it was possible to generate a slightly better error message, that would be much better.
On the other hand, I realize this might be a low-value improvement, but since Rust often places a high premium on good error messages, I felt I should mention I expected better.

I do kind of feel otherwise because the error is so crappy and non-obvious.
but since Rust often places a high premium on good error messages, I felt I should mention I expected better.

I definitely sense some frustration here, though I think this might be a bit more constructive if you could instead elaborate on what you think a better message might be given the context, keeping in mind that it's a real issue and silently ignoring/warning the behavior is a nonstarter.
As I mentioned previously, cargo fmt has to recursively walk all path based dependencies. That requires running discovery via cargo metadata in each respective directory along the way. cargo metadata can error for a number of ways, and the error message you are seeing is simply a reflection of the error produced by cargo metadata. If you were to change into the associated directory you mentioned in https://github.com/rust-lang/rustfmt/issues/5182#issuecomment-1018648364 and run cargo metadata, you'd see the same core error message.
I'm adamant that we need to continue to surface the underlying error produced by cargo metadata, so the only possible thing I can think of which we could do differently would be to mention the local directory where running cargo metadata is failing.
Do you think that would have helped you discover your issue more quickly? Do you have any alternative suggestions?

Yes, that would have been awesome!
I'm not really frustrated, sorry if it came off that way. I appreciate that this is a weird edge case and of course it is entirely my doing. However, I did want to express that the error did not make it easy for me to find the problem. As you suggest, the cargo metadata error is correct and it should be surfaced; however, additional context would probably have made it much more obvious that something strange was going on caused by the semantics of --all.

No worries! I was already setting up a test case so should be relatively straightforward (famous last words :sweat_smile:) to adjust the error message too. Don't think we'll need a dedicated issue for that but will drop a note here once that's been changed


hyperrogue: 12.1z -> 13.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/zenorogue/hyperrogue/releases.
meta.description for hyperrogue is: A roguelike game set in hyperbolic geometry
meta.homepage for hyperrogue is: https://www.roguetemple.com/z/hyper/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 13.0 with grep in /nix/store/b8rkqwwz829hg3y4453jv97zph06l7x0-hyperrogue-13.0
found 13.0 in filename of file in /nix/store/b8rkqwwz829hg3y4453jv97zph06l7x0-hyperrogue-13.0

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
hyperrogue

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/d19e15474a46a1381a222069c738f7fe2bf74f62#hyperrogue

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

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

1 package built:

hyperrogue

Maintainer pings
cc @rardiol for testing.

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

1 package built:

hyperrogue


tests: use file to determine library path

By using os.path.dirname(__file__) you can run the test from any directory/cwd and it will find the right path to the sample module. Without it you might accidentally import it from the wrong directory (i.e. if you have a development version of your project checked out, but you also have one installed in the system path, you may think that your tests pass when in fact they were testing the system installation rather than the development version).

:sparkles: :cake: :sparkles:


CSharp-lib: Add netstandard2.0 support

Motivation
If possible it is always nice to support old Dotnet Framework type of applications (windows only) when publishing a Nuget.
Solution
Add support for Netstandard2.0 to project. Now it can be consumed by old Framework 4.7.2 or 4.8 applications.

Thanks a lot for the contribution! I made one small comment, but it can go in afterwards!


inbox: Add "Inbox" page!

Stacked atop #371.
Still a draft for now, but wanted to share what I have so far. 🙂

#380 in its current form would fix a small deviation from the Figma. No need to have it block progress on this though.

(Cross-linking: this fixes #117, right?)

Thanks for the review! Revision pushed, and please see my reply at https://github.com/zulip/zulip-flutter/pull/381#discussion_r1396344813.

Thanks for the review! Revision pushed. Oh and here's a screenshot; @alya and @terpimost FYI:

And for Greg:

I rebased past #382 (which helpfully made PerAccountStoreTestExtension.addSubscriptions easy to implement; thanks @sirpengi!)
I did a first pass at ordering streams and topics, and I don't think it caused significant extra lag in my manual testing, but definitely will be good to get that work out of the build method.
I added and used one more color on StreamColorSwatch: the one named iconOnPlainBackground. (I think I renamed some others since the last revision.)
I added some simple tests. I tried to write them so that they wouldn't break when we reimplement with separate StickyHeaderListView items per topic and DM conversation (#389). In particular, I didn't give them access to our custom widgets like _StreamHeaderItem and _TopicItem. It might help to give the tests that access eventually; e.g., the recent-DMs widget tests are helped in their work by having access to RecentDmConversationsItem. But I felt like it might be good to hold off for now, especially with #389 on the horizon.

Thanks for the review and those fixes!


Fluid conduits connecting to Aappled Energistics cables

For some reason, EnderIO fluid conduits try to connect to AE cables and anchors. This doesn't really seem to have any side effects other than visual appearance.

Unfortunately because AE2 implements IFluidHandler on their cables, this is not fixable without a hardcoded check, sorry.


chore(CX-3625): change the Assets and the copy of the "Meet your new art advisor" as according to design

This PR resolves CX-3625
Description

Change the Assets and the copy of the "Meet your new art advisor" as according to design
https://user-images.githubusercontent.com/36167539/234009491-9b456902-1a51-44f6-b21c-864dcd71182a.mp4
PR Checklist

[x] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

change the Assets and the copy of the "Meet your new art advisor" as according to design -daria

Need help with something? Have a look at our docs, or get in touch with us.

@lordkiz images? Yes, I replaced the old images with the new ones


Postgres Quarkus Panache Suppressed: io.vertx.core.impl.NoStackTraceThrowable: Parameter at position[2] with class = [org.hibernate.engine.jdbc.BlobProxy] and value = [org.hibernate.engine.jdbc.BlobProxy@6949d1f3] can not be coerced to the expected class = [io.vertx.core.buffer.Buffer] for encoding.

Hi,
I am new to Quarkus and Hibernate reactive. I am using it with Postgres and I am getting the following error :
Suppressed: io.vertx.core.impl.NoStackTraceThrowable: Parameter at position[2] with class = [org.hibernate.engine.jdbc.BlobProxy] and value = [org.hibernate.engine.jdbc.BlobProxy@6949d1f3] can not be coerced to the expected class = [io.vertx.core.buffer.Buffer] for encoding.
My code looks like :
I have an entity class which I define as
@Lob
public byte[] data;
and in database I have a column with the following definition
data BYTEA NOT NULL
I am using Quarkus version 3.1.0.Final
with dependency management :
<dependencyManagement>     <dependencies>       <dependency>         <groupId>${quarkus.platform.group-id}</groupId>         <artifactId>${quarkus.platform.artifact-id}</artifactId>         <version>${quarkus.platform.version}</version>         <type>pom</type>         <scope>import</scope>       </dependency>
The repository is defined as :
@ApplicationScoped
public class LogoRepository extends AbstractRepository implements PanacheRepository { ...
This exception is being thrown when calling "repository.persist(entity)".
Could you please help me resolve this issue?

Did you try removing the @Lob annotation and using @Column(length=LONG) as explained here:
https://docs.jboss.org/hibernate/orm/6.5/introduction/html_single/Hibernate_Introduction.html#lobs

It's probably related to this issue in Hibernate Reactive.

Did you try removing the @Lob annotation and using @Column(length=LONG) as explained here:
https://docs.jboss.org/hibernate/orm/6.5/introduction/html_single/Hibernate_Introduction.html#lobs

Did you try removing the @Lob annotation and using @Column(length=LONG) as explained here:
https://docs.jboss.org/hibernate/orm/6.5/introduction/html_single/Hibernate_Introduction.html#lobs

I am trying to use byte[] instead of String

It's probably related to this issue in Hibernate Reactive.

I don't think so. The user states that the database column is declared:

data BYTEA NOT NULL

So they should not be using @Lob in the first place.


Custom interceptor is not called

Issue type
I'm submitting a ...  (check one with "x")

[x] bug report
[ ] feature request
[ ] question about the decisions made in the repository

Issue description
Current behavior:
I have a custom interceptor of angular included in AppModule, when I update the ngx-admin, the interceptor is not working, it is not called in several routes or it is call more than once.
Expected behavior:
The interceptor should be called in every call.
Steps to reproduce:
Update ngx-admin to last release.
Related code:
  providers: [
    { provide: APP_BASE_HREF, useValue: '/' },
    { provide: HTTP_INTERCEPTORS, useClass: AppInterceptor, multi: true, deps: [Router, AlertService] }
  ],

Other information:
npm, node, OS, Browser
# node --version
v8.11.3

# npm --version
6.4.1

Angular, Nebular
"@angular/core": "6.0.0",
"@nebular/auth": "2.0.1"

#1871

Hi @crissty. Do you have errors in dev tools console?
Probably related to https://github.com/akveo/nebular/issues/631.

Same problem here, need to include on each lazy module providers with interceptor to get it working.

So what do you mean by latest release? is it master? or what? master is neverlatest unless you pull.
So far my interceptors are working. As a matter of fact i am going to start a new project now based on the latest master branche. So i will let you know if i run in any problems with regards to yor question.
Show us your code so we can have a look at it.

I've had this problem as well.
I think it has something to do with the ng2-smart-table. Everytime I import the Ng2SmartTable module, my interceptor doesn't intercept and I have to specify it in the providers.
Can you try and see if it is the same for you?

I have the same problem with the following code in app.module.ts:
providers: [
  {provide: APP_BASE_HREF, useValue: environment.baseHref},
  {provide: HTTP_INTERCEPTORS, useClass: NbAuthJWTInterceptor, multi: true},
  {provide: NB_AUTH_TOKEN_INTERCEPTOR_FILTER, useValue: (req) => filter(req)},
],

I am importing HttpClientModule only once in app.module.ts.
The HttpClient sends empty body - no token.

This worked for me:
provide: NB_AUTH_TOKEN_INTERCEPTOR_FILTER, useValue: (req) => {
      return false;
}

Custom interceptor is not working for me. It is not being called. No error nothing.
import {
  HttpEvent,
  HttpInterceptor,
  HttpRequest,
  HttpHandler,
  HttpErrorResponse,
  HttpResponse,
} from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/do';
import { Router } from '@angular/router';
import { NbToastrService } from '@nebular/theme';

import { SharedService } from './shared.service';
import { ERRORCODES } from '../constants/error.constant';

@Injectable({
  providedIn: 'root',
})

export class InterceptorService implements HttpInterceptor {

  constructor(
    private sharedService: SharedService,
    private toasterService: NbToastrService,
    private router: Router,
  ) { }

  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    console.log('in interceptor');
    const authToken = this.sharedService.getUserData('tps', 'token');
    let authRequest;
    if (authToken) {
      authRequest = req.clone({ headers: req.headers.set('Authorization', authToken) });
    } else {
      authRequest = req.clone();
    }
    return next
      .handle(authRequest)
      .do(event => {
        if (event instanceof HttpResponse) {
          this.requestSuccess(event);
        }
      })
      .catch((error: HttpErrorResponse) => {
        if (error.error.applicationErrorCode !== undefined &&
          error.error.applicationErrorCode !== null &&
          error.error.applicationErrorCode in ERRORCODES) {
          if (error.error.applicationErrorCode === 1000) {
            this.toasterService.danger(ERRORCODES[error.error.applicationErrorCode]);
            this.router.navigate(['/auth']);
          } else {
            this.toasterService.danger(ERRORCODES[error.error.applicationErrorCode]);
          }
        } else {
          this.toasterService.danger(error);
        }
        return Observable.throw(error);
      });
  }

  private requestSuccess(res: HttpResponse<any>) {
    return res;
  }

}

app.module.ts

import { APP_BASE_HREF } from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule } from '@angular/core';
import { CustomFormsModule } from 'ng2-validation';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { RouterModule } from '@angular/router';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';

import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { ThemeModule } from<EMAIL_ADDRESS>import { InterceptorService } from './shared/service/interceptor.service';

@NgModule({
  declarations: [AppComponent],
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    AppRoutingModule,
    RouterModule,
    HttpClientModule,

    NgbModule.forRoot(),
    ThemeModule.forRoot(),
    CustomFormsModule,
  ],
  bootstrap: [AppComponent],
  providers: [
    {
      provide: HTTP_INTERCEPTORS,
      useClass: InterceptorService,
      multi: true,
    },
    { provide: APP_BASE_HREF, useValue: '/' },
  ],
})

export class AppModule {
}

I've had this problem as well.
I think it has something to do with the ng2-smart-table. Everytime I import the Ng2SmartTable module, my interceptor doesn't intercept and I have to specify it in the providers.
Can you try and see if it is the same for you?

An awesome find. I struggled for 2 days to make my Interceptor work. Finally, your tip did the trick. As stated by @IgnacioYanjari, I've updated ng2-completer to 3.0.0-beta.2. Interceptor works without any issues now.

Hi @nileshnagarwal I just wondering, updating ng2-completer to latest stable version, now is 3.0.2 will solve this problem? so I've mean, will is there no need then to import and add into each module as a provider?

Hi @nileshnagarwal I just wondering, updating ng2-completer to latest stable version, now is 3.0.2 will solve this problem? so I've mean, Is there no need then to import and add the interceptor into each module as a provider?

Hi @BruneXX I've been using ng2-completer version 3.0.0-beta.2 and have only added the interceptor to the providers in app.module.ts. No need to import it in each module separately.

Hi @nileshnagarwal excellent, I can confirm that it works with ng2-completer v3.0.2 thanks for your quick reply! :)


Crashes Immediately on macOS

macOS 12.4
Python 3.9.13
tmo-monitor 2.0.0 beta6
All dependencies installed, as far as I know. The main script crashes with:
$ ./bin/tmo-monitor.py Password: 2022/06/20 18:42:29 [DEBUG] Starting new HTTP connection (1): <IP_ADDRESS>:80 2022/06/20 18:42:29 [DEBUG] http://<IP_ADDRESS>:80 "GET /fastmile_radio_status_web_app.cgi HTTP/1.1" 200 3318 Traceback (most recent call last):   File "/Users/Administrator/Downloads/tmo-monitor-2.0.0-beta6/./bin/tmo-monitor.py", line 83, in <module>     signal_info = gw_control.get_signal_info()   File "/usr/local/lib/python3.9/site-packages/tmo_monitor/gateway/nokia.py", line 141, in get_signal_info     info = signal_request.json()   File "/usr/local/lib/python3.9/site-packages/requests/models.py", line 910, in json     return complexjson.loads(self.text, **kwargs)   File<EMAIL_ADDRESS>line 346, in loads     return _default_decoder.decode(s)   File<EMAIL_ADDRESS>line 337, in decode     obj, end = self.raw_decode(s, idx=_w(s, 0).end())   File<EMAIL_ADDRESS>line 355, in raw_decode     raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Thanks for the bug report. Can you confirm you are using the silver Nokia gateway and the firmware version you're currently on as shown on the admin dashboard at http://<IP_ADDRESS>/ in your browser?

oh I see, I got the same issue running on Windows 11 thought i'd installed it wrong. @jetblackrx89 for the Arcadyan you need to pass the --model arg else it errors
tmo-monitor.py --model ARCKVD21

@jetblackrx89 you can avoid specifying the model each time by specifying the tmo_model option in an .env configuration file without having to manually edit the script itself


[feat]: add treesitter query formatter

I found out that nvim-treesitter comes with a formatter; that they themselves use to format their queries:
https://github.com/nvim-treesitter/nvim-treesitter/blob/ea2b137f35fb1e87a6471ec311805920fdf45745/.github/workflows/lint.yml#L36-L51
They maintain it, and it ships with the plugin... So why not use it?
I threw this a little hastily together; if you have some better ideas for the condition or anything else, please let me know :-)

This is fantastic, thanks for the PR!

Thank you! For anyone using the latest nvim-treesitter, the query parser used to format the files got some breaking changes, so I had to use the following to get it to work (recognize the latest parser rather than the one bundled with neovim):
local qfmt = require('conform.formatters.format-queries')
local nvim_ts_path = vim.fn.stdpath('data') .. '/lazy/nvim-treesitter/'
util.add_formatter_args(qfmt, { '-c', 'set rtp^=' .. nvim_ts_path })

NOTE: This will only work when using lazy but you can replace nvim_ts_path with your path to nvim-treesitter and it will work

@ribru17 thanks for the tip! I've incorporated that into the formatter

Awesome, thank you!

Thanks both of you!


Mesh attribute order has changed

Describe the bug
When a mesh is exported in Blender 2.92, the attribute order is Position, Normal and Texture Coordinates (PNT):
"meshes":[{
  "name": "Circle",
  "primitives": [
    {
      "attributes": {
        "POSITION": 0,
        "NORMAL": 1,
        "TEXCOORD_0": 2
      },
      "indices": 3
    }
  ]
}]

However, with Blender 3.4.1, I see the order has changed to Position, Texture Coordinates and Normal (PTN):
"meshes":[{
  "name": "Circle",
  "primitives": [
    {
      "attributes": {
        "POSITION": 0,
        "TEXCOORD_0": 1,
        "NORMAL": 2
      },
      "indices": 3
    }
  ]
}]

To Reproduce
Steps to reproduce the behavior:

Export in Blender 2.92 any model
Export in Blender 3.4.1 the same model
See the order changed

Expected behavior
The order is maintained as in older versions since it allows tools to be written atop this.
Version

OS: Archlinux
Blender Version 3.4.1

Additional context
If attribute order can be changed by the user (via a setting), this issue wouldn't be a problem.  As it is, this isn't present, hence older tools written with PNT order gets broken due to order change.

Hello,
There is nothing in glTF specification saying that vertex attributes must come in a given order. There are identified by their names.
So there is no reason to have a fix order during export.

Thanks for the reply @julienduroure .  Agreed, the spec doesn't mandate any order.  However, if there're tools written depending on the order, it'd be nice to have some consistency.
My understanding of storing a glTF document as .gltf + .bin is that the binary file can be uploaded to the GPU as-is without any shuffling.  This facilitates shaders accessing those attributes in the order of the bin.  Having to re-wire the shader inputs every time after an export becomes additional work.
I might be missing something that's obvious for most graphics devs, so correct me if I'm wrong.

The order of these JSON keys is just the tip of the iceberg in terms of vertex layout — the keys may have an order entirely unrelated to the byte order of the vertex attributes, vertex attributes may be organized into buffer views differently, and vertex attributes may be interleaved in various ways.
There is no one vertex layout that would fit all engines, but whatever your engine requires, it's probably possible to pre-process a valid glTF file to that layout. If you're building an engine or loader, I think you have three choices here:

(A) Allow some flexibility in the vertex layouts your engine supports
(B) Pre-process the glTF files offline with a consistent optimizer
(C) Pre-process the glTF files at runtime

In three.js we do (A), and can upload a flexible range of glTF vertex layouts directly to the GPU. We recommend (B) in addition, since most glTF files can optimized a lot beyond what DCC tools like Blender export. We avoid (C) in all cases except sparse accessors.
A few good options for pre-processing glTF files would be:

gltfpack
cgltf
gltf-transform

I believe gltfpack will be fairly consistent about its ordering and interleaved output. The latter two may require configuration to set the order as specifically as you're describing.

I'll defer to @julienduroure on the practicality of the request here, but I think you may be looking for stricter constraints (identical GPU vertex layouts across Blender versions) than would be compatible with long-term maintenance of this addon, and a pre-processing step would be both more stable and more efficient, since further glTF optimizations can be included.

I change the order of attribute, even if we should not care about it.
I also added a hook to be able to change it if needed.
Example here: https://github.com/julienduroure/gltf-hooks-examples/blob/main/attributes_order_change.py

Didn't expect this, thank you @julienduroure!


Unable to access weaviate cluster installed on K8S through verba 2.0

Description
I am trying to access verba 2.0 version with weaviate cluster 1.26.3 version installed on kubernetes.
export params
export WEAVIATE_API_KEY_VERBA=“password”
export WEAVIATE_URL_VERBA=https://:6383
Error :
https://::6383 with Auth
✘ Couldn’t connect to Weaviate, check your URL/API KEY: Invalid port:
‘6383:443’
✘ Failed to connect to Weaviate Couldn’t connect to Weaviate, check
your URL/API KEY: Invalid port: ‘6383:443’
INFO: <IP_ADDRESS>:65400 - “POST /api/connect HTTP/1.1” 400 Bad Request
Note : It was working fine with verba 1.0 version ! with weaviate-client v3
Installation

installed python 3.12.4 version
installed weaviate-client v4
installed verba using "pip install goldenverba"
started the verba server using "verba start --port 27048 --host

(myenv) pip3 freeze|grep verba
goldenverba==2.0.0
(myenv) pip3 freeze|grep weav
weaviate-client==4.7.1
Weaviate Deployment

Weaviate cluster created using helm charts on kubernetes cluster, http and grpc url's exposed through istio virtual service to access outside the cluster.
Configuration
Installation issue
Steps to Reproduce
Provided the steps i followed for installation and reproducing the issue above.
Additional context

I added a new deployment option Custom which should allow to connect to custom Weaviate instances with custom hosts + ports. Let me know if this works for your kubernetes setup!

I added a new deployment option Custom which should allow to connect to custom Weaviate instances with custom hosts + ports. Let me know if this works for your kubernetes setup!

Thank you for fixing this !
But when i use pip install goldenverba, it still installs [v2.0.0]. Will there be new version with Custom weaviate instance ?

For now, I would recommend installing from source since it's the most up-to-date, we'll release v2.1.0 version to PyPI a bit later

Hey, I just to released 2.1! 🚀 Let me know if the issue still persists


Syntax:
'defaults' [-currentHost | -host ] followed by one of the following:

I have played around and kind of fixed it
current=$(date +"%Y-%m-%d %l:%M:%S +0000")      # Record the timestamp of the last auto update check.     if [[ $DEBUG_MODE == false ]]; then     /usr/bin/defaults write "$PLIST" LastAutoUpdate -date "$current"     fi
Although could be fixed in other ways depending on what date stamp you want.

Oops, thanks for catching that! I forgot to remove the +%s.