Frontend requests hoc

Hey Luca :) Three things:

RequestStatusHOC: the way this component is currently written, it's not really a higher-order component, just a normal React component; maybe take the HOC out of the name?
The different request statuses:case 'notStarted': [...]
case 'pending': [...]
case 'succeeded': [...]
case 'failed': [...]

I think these would best be replaced with constants, e.g. requestStatus.PENDING instead of just plain
strings. That way it's more resistant to typos and we can use autocomplete.
The way error messages are passed:pending={() =>
 Loading collaborations
}
notStarted={() =>
 Loading collaborations
}
failed={() => <ApiError message={errorMessage} />}

Personally I think it might be better to make dedicated components for all of these types of request statuses (the way it's now done with ApiError) and to make their use obligatory? E.g. just pass the message string to the  That way there's a central place in which the HTML for all status messages can be edited (for example, to add a loading animation); if most messages are rendered as plain paragraphs, that becomes much harder to do.


use time.Duration Replace int32

What this PR does:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

# #214


(feat): custom reopen with read_elem_as_dask for remote h5ad

Not sure about the typing on reopen (with Generator[...] as before, it was complaining, but a normal Callable with  return felt wrong); however, the following seems to work:
import dask.distributed as dd
import remfile
import h5py
from anndata.experimental import read_elem_as_dask

# optionally log all requests to see roughly that this is lazy https://stackoverflow.com/a/24588289/8060591
import logging
import contextlib
from http.client import HTTPConnection

def debug_all_requests():

    HTTPConnection.debuglevel = 1
    logging.basicConfig()
    logging.getLogger().setLevel(logging.DEBUG)
    requests_log = logging.getLogger("requests.packages.urllib3")
    requests_log.setLevel(logging.DEBUG)
    requests_log.propagate = True

def debug_no_requests():

    HTTPConnection.debuglevel = 0
    root_logger = logging.getLogger()
    root_logger.setLevel(logging.WARNING)
    root_logger.handlers = []
    requests_log = logging.getLogger("requests.packages.urllib3")
    requests_log.setLevel(logging.WARNING)
    requests_log.propagate = False

ADATA_URI = "https://allen-brain-cell-atlas.s3.us-west-2.amazonaws.com/expression_matrices/WMB-10Xv2/20230630/WMB-10Xv2-TH-log2.h5ad"

file_h5 = h5py.File(remfile.File(ADATA_URI), "r")
def reopen():
   yield h5py.File(remfile.File(ADATA_URI), "r")["X"]

elem = read_elem_as_dask(file_h5["X"], reopen=reopen)
cluster = dd.LocalCluster(n_workers=1, threads_per_worker=1, processes=False)
client = dd.Client(cluster)
elem = read_elem_as_dask(file_h5["X"], reopen=reopen)
elem[:20, :].compute()

The question is whether or not we'd want to internalize this - my guess is "no."  I think we should only promise support for core zarr/hdf5.  The flip side then is how do we test this....good questions to grapple with!

[x] Towards https://github.com/scverse/anndata/issues/634#issuecomment-1906214981 with dask
[ ] Tests added
[ ] Release note added (or unnecessary)

I should note that I could not figure out how to extract the remfile.RemFile.RemFile object out of the h5py.File object. If I could, maybe no need for a reopen param...

Do you know what the difference is between what remfile and fsspec are doing?

@ivirshup My understanding is that fsspec + kerchunk requires writing a separate JSON index file: https://fsspec.github.io/kerchunk/reference.html#kerchunk.hdf.SingleHdf5ToZarr.  remfile reads directly.


⚠ Bofrost.de has degraded performance

In 62888ef, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1171 ms

Resolved: Bofrost.de performance has improved in 6d98b83.


add warning about expired subscription

Ref https://nebraltd.slack.com/archives/C024BNQ1Y6T/p1689944554483239?thread_ts=1689944554.483239&cid=C024BNQ1Y6T
Issue

Link:
Summary:

How

Screenshots

References

Checklist

[ ] Tests added
[ ] Cleaned up commit history (rebase!)
[ ] Documentation added
[ ] Thought about variable and method names


[Feature Request] Adding firmware version to Home Assistant

Having current code as:
https://github.com/technyon/nuki_hub/blob/71314ffccf2beab38c819e0a151113df0fdaa277/src/Network.cpp#L761-L770
The idea would be to send the nukiDevice variable and add something like:
json["dev"]["hw"] = _nukiConfig->hardwareVersion().c_str();
json["dev"]["sw"] = _nukiConfig->firmwareVersion().c_str();

📝 Details here: https://github.com/home-assistant/core/blob/dev/homeassistant/components/mqtt/abbreviations.py#L263-L280

Additionally for the Nuki Hub, it is also possible to add an update entity:
https://www.home-assistant.io/integrations/update.mqtt/

We already have a Home Assistant update entity.
https://github.com/technyon/nuki_hub/blob/71314ffccf2beab38c819e0a151113df0fdaa277/src/Network.cpp#L984
Because HTTPS OTA is not implemented (yet, it is  on my To-Do list) it only notifies you of new versions and links to the release notes. When HTTPS OTA is implemented you will also be able to update with one click from HA.
As to adding HW and SW version to device config I have no objection.
Seeing as you basically already have the code worked out (you would need to add hw/sw in the arguments of publishHASSConfig and call it with these values from Nuki(Opener)Wrapper) is this something you need us to implement or can you create a PR yourself?

I can try copy the strings and pass them to the function, however I was expecting something more like "sending the whole device variable data", but the few attempts I did were not successful...
So I raised this issue more to have an agreement on, how would should we proceed best?

I haven't been following all the recent PRs in detail, but one thing I wanted to change for some time is untangling Nuki Hub and the Nuki Smart Lock in HA. Ideally, there should be separate devices in HA for the Nuki Hub, the Smart Lock and the Opener (and maybe the Keypad and the Door Sensor, though I don't know if the BLE API includes enough information about those to warrant handling them as separate devices).
The Lock and Opener would be connected via the Hub. (I have it all written down on paper, but making a nice RFC about it was delayed all the time.), and each device could display its correct HW and FW version via the HA device registry. There's currently a draft PR for enabling a new device-based discovery schema for HA (it was merged already, but got pulled out of 2024.6.0 at the last minute), which would greatly reduce the number of discovery messages that need to be sent.


Details on how to intergrate ramulator2.0 to gem5

In the README document, the fourth step in the instructions for integrating emulator2.0 into gem5 mentions "Put the Ramulator2 wrapper code to gem5/src/mem/", but the only relevant code found in the source code is "src/frontend/impl/external_wrapper/gim5_frontend. cpp", and this code seems incomplete.
And the fifth step also mentioned the need to register "Ramulator2. py" as the SimObject of Gem5, but there is no reference to Ramulator2. py in the source code.
May I ask if anyone can provide references for ramulator2. cc, ramulator2. hh, and Ramulator.py? I would greatly appreciate it!

Sorry for the inconvenience. We missed some files when preparing the public version.
We have added the missing files back at gem5_wrappers
Note that the gem5 frontend (src/frontend/impl/external_wrapper/gim5_frontend. cpp) is complete. It is a "dummy" frontend in Ramulator 2 that serves the purpose of receiving memory requests from gem5 and forward them to the memory system. Hope this helps!

Thank you so much!


Pin libitk for two latest releases of ANTs

Checklist

[x] Used a static YAML file for the patch if possible (instructions).
[x] Only wrote code directly into generate_patch_json.py if absolutely necessary.
[x] Ran pre-commit run -a and ensured all files pass the linting checks.
[x] Ran python show_diff.py and posted the output as part of the PR.
[x] Modifications won't affect packages built in the future.

$ python show_diff.py
================================================================================
================================================================================
linux-armv7l
================================================================================
================================================================================
win-32
================================================================================
================================================================================
osx-arm64
osx-arm64::ants-2.5.1-h2ffa867_0.conda
-    "libitk"
+    "libitk >=5.3,<5.4"
osx-arm64::ants-2.5.3-h420ef59_0.conda
-    "libitk"
+    "libitk >=5.4,<5.5"
================================================================================
================================================================================
linux-ppc64le
================================================================================
================================================================================
linux-aarch64
================================================================================
================================================================================
noarch
================================================================================
================================================================================
win-64
================================================================================
================================================================================
osx-64
osx-64::ants-2.5.1-h7728843_0.conda
-    "libitk"
+    "libitk >=5.3,<5.4"
osx-64::ants-2.5.3-h3c5361c_0.conda
-    "libitk"
+    "libitk >=5.4,<5.5"
================================================================================
================================================================================
linux-64
linux-64::ants-2.5.3-h434a139_0.conda
-    "libitk",
+    "libitk >=5.4,<5.5",
linux-64::ants-2.5.1-h00ab1b0_0.conda
-    "libitk",
+    "libitk >=5.3,<5.4",

cc @ghisvail, who maintains the feedstock.
xref https://github.com/conda-forge/ants-feedstock/pull/12, which patches the recipe to ensure the libitk dependency does get pinned in the future.

I'm trying to fix this long term with:
https://github.com/conda-forge/libitk-feedstock/pull/93


Fixed curl-output used for auto-completion

Removed the status-output with the -s argument.

Merged #6898 instead (with your co-authorship). Thanks for bringing this to my attention.


Build weston demo clients

Issue description
I want to test my Wayland setup, so i searched for an glxgears alternative, which seem to be weston-gears. It is not included in the package.
Please add the client demos:

'weston-terminal' is a simple terminal emulator, not very compliant at all, but works well enough for bash
'weston-flower' draws a flower on the screen, testing the frame protocol
'weston-gears' glxgears, but for wayland
'weston-smoke' tests SHM buffer sharing
'weston-image' loads the image files passed on the command line and shows them
'weston-view' does the same for pdf files
'weston-resizor' demonstrates smooth window resizing (use up and down keys)
'weston-eventdemo' reports libtoytoolkit's events to console (see weston-eventdemo --help)

https://wayland.freedesktop.org/building.html
https://gitlab.freedesktop.org/wayland/weston/-/tree/main/clients
Technical details
cc @primeos

weston-gears has been unbuildable for years

https://gitlab.freedesktop.org/wayland/weston/-/issues/620#note_1395696
and i don't really care about the other demos


Add support for llama2

https://ai.meta.com/resources/models-and-libraries/llama/

Llama 2 is fully supported if you're using a local inference server like LM Studio.


Refactor Communication editor type plugin

The plugin was one of the first within OpenSCD and need a refactor to go along with the rest of the editors.

Is done!


Add a "Compare Identities" tab to our Compare page

Is your feature request related to a problem? Please describe.
It would be good to compare flag values for two different Identities.
Describe the solution you'd like
Add a tab in the Compare area that allows you to select 2 identities and see the difference in flag states between the two Identities.
Describe alternatives you've considered
None
Additional context
None

Based on feedback from Crisp:

Could we not have the view limited to 2 identities?
Could we add an ability to compare specific features?


user friendly error message in Validation error child errors

It's quite difficult to generate a user friendly error response from the current Validation error object format. Atleast in each child error, a message property should exist with a user friendly error message like the one's generated by Joi etc.

routing-controllers only execute class-validator validation and send Validation Errors as response. However you can create your own mapping function which transform it to the format you want.
You should to the transform on frontend side but if your backend has to return frontend friendly errors, you need to create your own error handler like this.


[ OpenSearch ] : Add AOSS Support to OpenSearch

Description
This PR includes the following changes:

Adds AOSS (Amazon OpenSearch Service Serverless) support to OpenSearch. Please refer to the documentation on how to use it.
While creating an index, AOSS only supports Approximate Search with nmslib and faiss engines. During Search, only Approximate Search and Script Scoring (on doc values) are supported.
This PR also adds support to efficient_filter which can be used with faiss and lucene engines.
The lucene_filter is deprecated. Instead please use the efficient_filter for the lucene engine.

Maintainers
@rlancemartin, @eyurtsev, @navneet1v

lgtm, thanks @naveentatikonda!

Hi @naveentatikonda - Should you add a default value for the new input param is_aoss: bool = False? https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/vectorstores/opensearch_vector_search.py#L339
Otherwise, upgrading langchain versions leads to broken code, because of this MR.

@timxieICN this is a vaild concern. I think for this code it is not needed in this function. We can completely remove this variable from init function arguments. @naveentatikonda can you fix this.

Hi @naveentatikonda - Should you add a default value for the new input param is_aoss: bool = False? https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain/vectorstores/opensearch_vector_search.py#L339
Otherwise, upgrading langchain versions leads to broken code, because of this MR.

@timxieICN Thanks for finding it. Fixed it with this PR : https://github.com/langchain-ai/langchain/pull/8600

Thank you both @navneet1v @naveentatikonda . PR looks great!


fix: wrong 'Size' value when creating mesgDef from mesg

The value should be calculated from DeveloperField.Value and DeveloperField.BaseType using proto.Sizeof.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (35b27c3) to head (95fab11).

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #166   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           42        42
  Lines         3471      3471
=========================================
  Hits          3471      3471

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Running python eureka.py env=forward_locomotion gets KeyError: 'consecutive_successes'

Pretty much as described. The interesting thing is that in the directory of eureka/outputs/eureka/[TIMESTAMP], the relevant .txt files do not contain any data logging information, only the initial setup of the GPU logging information.
The logging process is rather ambiguous, so I'm not sure of the bug

Pretty much as described. The interesting thing is that in the directory of eureka/outputs/eureka/[TIMESTAMP], the relevant .txt files do not contain any data logging information, only the initial setup of the GPU logging information.
The logging process is rather ambiguous, so I'm not sure of the bug

Hello, can you successfully reproduce it?


can I fragment a slide into steps ?

do you offer 'fragments' as reveal.js does? I like the general setup of webslides better, but this would be an important feature for me ...

As I know so far not supported yet.


add steps for rendering and viewing presentation

Just want to make it crystal clear for myself and others how to use this thing and where the files end up

I really like the quick-start example idea. However, as-is the example only downloads presentation.md without the media folder which I think would be worth downloading as well.
A little bit clumsier, but something like the code below could do the trick.

Download the example presentation.md folder.

 wget "https://gitlab.com/da_doomer/markdown-slides/-/archive/master/markdown-slides-master.zip?path=example"; unzip markdown-slides-master.zip\?path=example; cd markdown-slides-master-example/example;

I'm merging this request and then changing the file.


use image from master machine for new machinesets

Each remotemachineset actuator had its own way of determining which OS image to use when generating machinesets. Some actuators used a hard-coded value, some actuators looked into existing machinesets, and some actuators search the cloud provider for images. With these changes, all actuators will instead get the OS image from an existing master machine on the target cluster.
https://issues.redhat.com/browse/CO-1098

This builds on #1116.

/test e2e-gcp

/test e2e-azure

lgtm, just one question

/test e2e-gcp
/test e2e-azure

/lgtm


error in method _scores_to_accuracy() of Matcher.py

Got error when i tried to run the example at:
m.fit_scores(balance=True, nmodels=10)
When the function calls the static method _scores_to_accuracy(), got error of mis matching size.
In this function, y is a DataFrame with shape as (n, 1), while preds is a list. I fixed the code by convert preds to a matrix
def _scores_to_accuracy(m, X, y):
    preds = [1.0 if i >= .5 else 0.0 for i in m.predict(X)]
    return (y == preds).sum() * 1.0 / len(y)

def _scores_to_accuracy(m, X, y):
    preds = [1.0 if i >= .5 else 0.0 for i in m.predict(X)]
    # return (y == preds).sum() * 1.0 / len(y)
    return (y.to_numpy().T == preds).sum() * 1.0 / len(y)

The code above works for me.

I found the same problem! I fixed it with
return (y.values == preds).sum() * 1.0 / len(y)

The solution @caixiaocherry worked for me, but @xiaolinzhuo 's didn't.

@caixiaocherry 's solution worked for me. This was with these versions:
pandas==0.25.1
-e git+git@github.com:benmiroglio/pymatch.git@982778f3fe438f6d6b2905472a3951722edca266#egg=pymatch

@caixiaocherry it may be worth making a PR given multiple people had this issue?

Actually on additional inspection, this seems similar to
https://github.com/benmiroglio/pymatch/pull/12

Hey everyone, I am quite new to python and am having this issue as well. Can anyone tell me how to make the changes that @caixiaocherry suggested? I tried to google it but to no avail. Thanks a lot!

@diogoalvesderesende , you only need to comment out the following return statement:
return (y == preds).sum() * 1.0 / len(y)
to following return statement:
return (y.to_numpy().T == preds).sum() * 1.0 / len(y)
This shall solve the problem.

@caixiaocherry 's solution did not for me, it returned error Fitting Models on Balanced Samples: 1\100Error: 'DataFrame' object has no attribute 'to_numipy' While. @xiaolinzhuo 's solution works, but the average accuracy seems wrong, it returned value, which was greater than 1. I was using lending club's data as this article https://medium.com/@bmiroglio/introducing-the-pymatch-package-6a8c020e2009.

U sure u wrote the correct function name? It should be to_numpy not
to_numipy.
On Sat, May 16, 2020 at 3:38 PM w2998<EMAIL_ADDRESS>wrote:

@caixiaocherry https://github.com/caixiaocherry 's solution did not for
me, it returned error Fitting Models on Balanced Samples: 1\100Error:
'DataFrame' object has no attribute 'to_numipy' While. @xiaolinzhuo
https://github.com/xiaolinzhuo 's solution works, but the average
accuracy seems wrong, it returned value, which was greater than 1. I was
using lending club's data as this article
https://medium.com/@bmiroglio/introducing-the-pymatch-package-6a8c020e2009
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/benmiroglio/pymatch/issues/23#issuecomment-629714725,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIG56LA2LKGIIGY4NXGA6ZDRR4IXLANCNFSM4I45MO3Q
.

--
Xiao Cai
Data Science Team |<PHONE_NUMBER> (c) |<PHONE_NUMBER> (o) |<EMAIL_ADDRESS><EMAIL_ADDRESS>AstrumU

Oh, yes. that was a typo. Now, it works, and results make sense.

I tried both
return (y.values == preds).sum() * 1.0 / len(y)
return (y.to_numpy().T == preds).sum() * 1.0 / len(y)
in the Matcher.py file but neither of them worked. Is there another way to get around this error?
This is the error I'm receiving:
Fitting Models on Balanced Samples: 1\100Error: Unable to coerce to Series, length must be 1: given 4484
Fitting Models on Balanced Samples: 1\100Error: Unable to coerce to Series, length must be 1: given 4484
Fitting Models on Balanced Samples: 1\100Error: Unable to coerce to Series, length must be 1: given 4484
Fitting Models on Balanced Samples: 1\100Error: Unable to coerce to Series, length must be 1: given 4484
Fitting Models on Balanced Samples: 1\100Error: Unable to coerce to Series, length must be 1: given 4484
Average Accuracy: nan%

Unable to coerce to Series, length must be 1

Could you print out y and preds to check the shape? It seems the broadcast failed.

@diogoalvesderesende , you only need to comment out the following return statement:
return (y == preds).sum() * 1.0 / len(y)
to following return statement:
return (y.to_numpy().T == preds).sum() * 1.0 / len(y)
This shall solve the problem.

this worked for me fine, thanks

@caixiaocherry 's solution works like a charm. Thanks!

I am facing the same issue. Can anyone please explain how to change in the source code?

@RishabhArora90 , i think this bug had been patched, so you might only need to re install the package?

Hello,
I am currently having this issue although I have added @caixiaocherry solution to the source code:
    @staticmethod
    def _scores_to_accuracy(m, X, y):
        preds = [1.0 if i >= .5 else 0.0 for i in m.predict(X)]
        # return (y == preds).sum() * 1.0 / len(y)
        return (y.to_numpy().T == preds).sum() * 1.0 / len(y)

Am I missing something? Do I need to downgrade pandas?
Thanks

How do I get in to change the source code?

I made the recommended change but now I am getting an accuracy of 219400.0%. Any ideas??

I found the same problem! I fixed it with
return (y.values == preds).sum() * 1.0 / len(y)

It worked for me. I have installed the package today

I installed pymatch and I also getting this error. I understand that I need to change the pymatch code. I downloaded the package using pip install pymatch. Could someone point me a tutorial to help me change the code and use this function ? Thank you very much

Go on
C:\Users{YOURUSER}\AppData\Local\Programs\Python\Python36\Lib\site-packages\pymatch
or if you use anaconda
C:\Users{YOURUSER}\Anaconda3\Lib\site-packages\pymatch
And edit into Matcher.py
return (y == preds).sum() * 1.0 / len(y)
to following statement:
return (y.to_numpy().T == preds).sum() * 1.0 / len(y)

I am encountering this error in April 2022, but I can see that Matcher.py has already been fixed in lines: 523-526 to:
@staticmethod
  def _scores_to_accuracy(m, X, y):
      preds = [[1.0 if i >= .5 else 0.0 for i in m.predict(X)]]
      return (y.to_numpy().T == preds).sum() * 1.0 / len(y)

Is there another solution to this bug?

@kelleyjbrady same error here - also in April 2022 🤷🏽♂

@kelleyjbrady and @philffm follow my tutorial above, it will solve your problem I am sure.
They din't fixed it in
master/build/lib/pymatch/Matcher.py
@kelleyjbrady you probably are looking to
master/pymatch/Matcher.py
But when you install it with PIP, then you will get from the build folder.

Thanks @CarlosDullius I will check it out. I ended up using a propensity matching package that is being presented in July at EMBC 2022, the author has written a blog post on Medium and uploaded to PyPi, but the author (@adriennekline) hasn’t updated the github page yet. I think anyone who has followed this thread all the way down here will be able to figure out how to use the package despite current lack of extensive documentation (the PyPi page has a 'quick start'). It was pretty easy to get it up and running on a simple age+sex match I was working on.

@staticmethod
def _scores_to_accuracy(m, X, y):
    preds = [1.0 if i >= .5 else 0.0 for i in m.predict(X)]
    # return (y == preds).sum() * 1.0 / len(y)
    return (y.to_numpy().T == preds).sum() * 1.0 / len(y)

Has anyone updated the code in the package? or has anyone created a clone with corrected code? I am not sure if I am able to correct the code at my end.


TextureRect fails to tile when SubViewport node in the same tree

Godot version
4.1.stable
System information
Godot v4.1.stable - Windows 10.0.19044 - Vulkan (Compatibility) - NVIDIA GeForce RTX 3080 (NVIDIA; <IP_ADDRESS>79) - AMD Ryzen 9 3900X 12-Core Processor (24 Threads)
Issue description
When a SubViewport node is in the same tree as a TextureRect with Stretch Mode (stretch_mode) set to Tile, the texture will fail to tile at runtime. Note that in Godot itself it displays correctly.
Without SubViewport:

With SubViewport:

I've also just discovered that this behavior also occurs when you resize the window:

Steps to reproduce

Create a new project with a root Node object.
Add a TextureRect
Assign the TextureRect an image texture.
Set Stretch Mode to Tile
Make The TextureRect large enough to see tiling
Add a SubViewport
Run the project.

Minimal reproduction project
repro_project.zip

Thanks for the report! Consolidating in https://github.com/godotengine/godot/issues/79315.


Question: Can I make tileable(seamless) textures?

Can I make tileable(seamless) textures using this library? If so how?

Ended up here through an internet search and I have the same question! :)

Adding this comment to bump the issue up, had the same question.
Seamless textures in FastNoise might help with getting them in the R package ambient which is what I really want to use.

FastNoise2 has support for tileable 2D textures using 4D noise. I've looked into adding it for FastNoise (lite) but it is beyond the library's scope


Brave not redirecting on login

When clicking "Sign In" from the Fusion window it opens the login screen on Brave. After signing in, it never redirects back to Fusion.
To Reproduce

Start Fusion
Click on 'Sign in'
Brave Browser Tab opens
Log into Autodesk Account
Nothing happens

Expected behavior

Start Fusion
Click on 'Sign in'
Brave Browser Tab opens
Log into Autodesk Account
Redirection to Fusion with successful login

Desktop:

Kubuntu 22.04
KDE Plasma 5.24.7
OpenGL-Mode

Additional context
when starting brave via konsole it give this error message:
wine: failed to open "C:\\rogram Files\\utodesk\\ebdeploy\\roduction\\a22ca515421cec8a3addbf5f00fde68499915d7\\utodesk Identity Manager\\dskIdentityManager.exe": c0000135

Doing the same thing with firefox as default browser works as expected as mentioned here

Looks like backslashes in the adskidmgr-opener.desktop file need to be escaped: https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#exec-variables

I have this problem too and it's still stuck on Sign In.  I'm on Linux Mint with FireFox.

I have had the same problem yesterday, it seems that webdeploy changes path on every update and then the .desktop file for for adskmgr link is broken.
Open ~/.local/share/applications/adskidmgr-opener.desktop and look if the Exec Path matches the actual directory:
Exec=env WINEPREFIX="/home/#USER#/.fusion360/wineprefixes/default" wine "C:\Program Files\Autodesk\webdeploy\production\#CHANGES#\Autodesk Identity Manager\AdskIdentityManager.exe" %u
Navigate to your Wineprefix Directory and search for "AdskIdentityManager.exe"
find . -name "AdskIdentityManager.exe"
The result should be something like this:
./drive_c/Program Files/Autodesk/webdeploy/production/#CHANGES#/Autodesk Identity Manager/AdskIdentityManager.exe
Then replace the path in the .desktop file and try the sign in again

@sd1337 Thank you! I was just able to log in with it under Linux Mint and Firefox. <3

I have had the same problem yesterday, it seems that webdeploy changes path on every update and then the .desktop file for for adskmgr link is broken. Open ~/.local/share/applications/adskidmgr-opener.desktop and look if the Exec Path matches the actual directory: Exec=env WINEPREFIX="/home/#USER#/.fusion360/wineprefixes/default" wine "C:\Program Files\Autodesk\webdeploy\production\#CHANGES#\Autodesk Identity Manager\AdskIdentityManager.exe" %u Navigate to your Wineprefix Directory and search for "AdskIdentityManager.exe" find . -name "AdskIdentityManager.exe" The result should be something like this: ./drive_c/Program Files/Autodesk/webdeploy/production/#CHANGES#/Autodesk Identity Manager/AdskIdentityManager.exe Then replace the path in the .desktop file and try the sign in again

Holy crap that worked.  That seems like an easy mistake to make.

I have had the same problem yesterday, it seems that webdeploy changes path on every update and then the .desktop file for for adskmgr link is broken. Open ~/.local/share/applications/adskidmgr-opener.desktop and look if the Exec Path matches the actual directory: Exec=env WINEPREFIX="/home/#USER#/.fusion360/wineprefixes/default" wine "C:\Program Files\Autodesk\webdeploy\production\#CHANGES#\Autodesk Identity Manager\AdskIdentityManager.exe" %u Navigate to your Wineprefix Directory and search for "AdskIdentityManager.exe" find . -name "AdskIdentityManager.exe" The result should be something like this: ./drive_c/Program Files/Autodesk/webdeploy/production/#CHANGES#/Autodesk Identity Manager/AdskIdentityManager.exe Then replace the path in the .desktop file and try the sign in again

This also worked for me! For anyone having trouble still, dont forget that the windows paths are with a backslash \ instead of /, so you would need to replace all of them. Works like a charm!

Hi, i'm currently trying to launch fusion360 but i've encountered the same issue. I tried changing the AdskIdentityManager path in the adskidmgr.desktop file, I even replaced slashes by back-slaches, it seems like firefox doesn't find any application to handle the thing that is going out of the autodesk connexion page. I tried changing the default system app firefox choose to open adskidmgr to "AdskIdentityManager.exe", with no results... can someone help me pls ?? Thanks

@imrYder

Find the AdskIdentityManager.exe file
When Firefox opens the identification website, authenticate yourself
On the next page, look for the "try again" link.
Right click, copy that link.  It should start with adskidmgr:/login
Execute:

 $ env WINEPREFIX="/home/micha/.fusion360/wineprefixes/default" wine 'C:\Program Files\Autodesk\....\AdskIdentityManager.exe' 'adskidmgr:/login?...'

I am closing this issue since the original problem got solved by changing the following line in /home/reneas/.local/share/applications/adskidmgr-opener.desktop:
old:
Exec=env WINEPREFIX="/home/reneas/Programme/Fusion" wine "C:\Program Files\Autodesk\webdeploy\production\0a22ca515421cec8a3addbf5f00fde68499915d7\Autodesk Identity Manager\AdskIdentityManager.exe" %u

new:
Exec=env WINEPREFIX="/home/reneas/Programme/Fusion" wine "C:\\Program Files\\Autodesk\\webdeploy\\production\\0a22ca515421cec8a3addbf5f00fde68499915d7\\Autodesk Identity Manager\\AdskIdentityManager.exe" %u

(just added an extra backslash \  to each existing backslash)


Manifest v3 compatibility

Manifest v3 likely brought some changes that broke this script. I never tested it, but it should be. At a minimum, injectScript with code doesn't work. Fixed in https://github.com/fregante/webext-content-scripts/pull/5

From https://docs.google.com/document/d/1nPu6Wy4LWR66EFLeYInl3NzzhHzc-qnk4w4PX-0XMw8/edit#

In Manifest V3, we want activeTab-style host permissions to be the default, with a number of extra options.  Instead of being granted access to all URLs on installation, extensions will be unable to request <all_urls>, and instead the user can choose to invoke the extension on certain websites, like they would with activeTab.  Additional settings will be available to the user post-installation, to allow them to tweak behavior if they so desire.

This hints at webext-domain-permission-toggle and webext-dynamic-content-scripts being natively implemented by Google Chrome 🎉
With MV3, I think you can declare your content scripts with <all_urls> and the user will be able to enable the script on each site with this UI:

This means that for an extension like Refined GitHub you'll now only need:
  {
- 	"permissions": [
- 		"contextMenus",
- 		"activeTab"
- 	],
- 	"optional_permissions": [
- 		"*://*/*"
- 	],
- 	"browser_action": {
- 		"default_icon": "icon.png"
- 	},
- 	"background": {
- 		"scripts": [
- 			"webext-domain-permission-toggle.js",
- 			"webext-dynamic-content-scripts.js",
- 			"background.js"
- 		]
- 	},
  	"content_scripts": [
  		{
  			"matches": [
+ 				"*://*/*",
  				"https://github.com/*",
  				"https://gist.github.com/*"
  			],
  			"js": [
  				"refined-github.js"
  			]
  		}
  	]
  }

😍

However it might be a long time before Firefox and Safari support it

https://bugzilla.mozilla.org/show_bug.cgi?id=1578284

A check needs to be updated here:
https://github.com/fregante/webext-domain-permission-toggle/blob/e125b40129e53342bc6ac07a1afc29696da347a4/index.ts#L157-L160
because *://*/* won't appear in optional_permissions anymore:
https://developer.chrome.com/docs/extensions/mv3/intro/mv3-migration/#host-permissions

This change might be required as well. Otherwise the action would not show up in the menu.
https://github.com/fregante/webext-domain-permission-toggle/blob/e125b40129e53342bc6ac07a1afc29696da347a4/index.ts#L168
		contexts: ['action', 'page_action', 'browser_action'],

And 'page_action', 'browser_action' might not be required anymore, but I did not test that.

And another line needs update as well, replace optional_permissions with optional_host_permissions
https://github.com/fregante/webext-domain-permission-toggle/blob/e125b40129e53342bc6ac07a1afc29696da347a4/index.ts#L142

@fregante I have taken a stab at this and it seems to work:
https://github.com/fregante/webext-domain-permission-toggle/compare/main...aspiers:webext-domain-permission-toggle:mv3
although I noticed that executeScript() in webext-content-scripts seems to require the scripting permission, since v3 replaces tabs.executeScript() with scripting.executeScript().

Thanks for checking! It's possible that this only needs:

a dependencies update
a readme update (see permissions block at the top of https://github.com/fregante/webext-content-scripts/tree/baca20c4d6fb48f3b8a75a2ba0351b2936c6f137#webext-content-scripts-)

Thanks, I'll check the README for accuracy.  Sorry for the dumb question but by dependencies update do you mean just an npm update or similar?

My go-to is trash node_modules package-lock.json && npm-check-updates -u && npm i && npm test

Thanks, working on that.  npm test found some type errors.  Turns out there is an attribute missing in the latest @types/chrome: https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/68051

Alright, seems to be sorted now.  I've force-pushed to my mv3 branch (the same one linked above):
https://github.com/fregante/webext-domain-permission-toggle/compare/main...aspiers:webext-domain-permission-toggle:mv3

Any thoughts on this yet?


Added 'text-decoration': .none, .through and .underline for text

I would like to add the ability to change the text formatting using the textDecoration modifier, which has the values:

.underline
.through
.none

The .none value can also be used for links if you want to place a link without the underscore

Wonderful – thank you!


Add BFO section of page for intervals of existence

This PR is being tested with BFO shapes in PR 147.
After CI finishes on that commit, I'll be merging this PR.


Change time format (issue #30)

Change time format from HH-MM-SS to HH:MM:SS.
Also some minor formatting improvements.

merged issue #30


Fix patch client

Workaround to fix #104 as long as cf-java-client v2 isn't available.
Fixes start / stop / bind by UUID and not by names

That's due to a bug in the client library patch
public void bindService(UUID appGuid, UUID serviceGuid) {
    cc.unbindService(appGuid, serviceGuid);
}

:fearful:

Fixed by #138


Need to an alternative docker image for testing faktory with tls

We are currently using the acjensen/faktory-tls image from dockerhub, however this image doesn't allow us to specify which faktory version we are testing.
We should either look at an alternative image that allows use to choose the faktory version or we should create our own tls faktory image.

Note to self https://github.com/contribsys/faktory/pull/76


Added ability to capture all headers while recording

Added the ability to capture all headers while recording by setting a parameter in the RecordSpec class. Useful when you want to simply see what calls are coming in or for very specific request matching

This seems like quite a lot of code added for something that doesn't seem all that useful. I can't see why you'd want to constrain a stub on all of the headers a typical UA would send, and if you just want to see which requests you're receiving you can turn verbose logging on.

Could this be useful for verifying analytic request timing? Screen tracking requests, etc

@tomakehurst In my opinion, recording all request headers to the stub, so that it can be edited later offline is a very useful feature.
I have the following setup:
WireMock user does not know exact requests/responses being done to the remote API (i.e. they contain sensitive information).
If I could:

Deploy WireMock as a proxy to serve requests to some remote server
Record complete stubs with all headers
Edit the stubs to remove unneeded headers
Use edited stubs using an automated process to obfuscate sensitive data (i.e. simple sed on the stub to replace known sensitive fields before sending back stub to developers)
This would solve my problems.

Without this feature, I need to parse WireMock logs for headers obfuscation (that are not that easy to parse compared with JSON stub).

Sorry, I still think this is a bad idea.
Based on previous experience, I think it'll lead to a lot of Stackoverflow questions about why recorded stubs aren't matching anything.
Also, how many request headers are really useful as matching constraints? I find it hard to believe any API has so many that fall into this category that the workflow you've described would yield any kind of time saving.

@tomakehurst
The problem is that I don't know header names before running WireMock or any other kind of request-response capture (and some of them may or may not contain sensitive information).
Typically it is 3-5 header names to be used as constraints (HATEOAS-alike links and IP/Geolocation)
I understand that using this feature without understanding the consequences of the requirement of a complete header set match is a problem, but it is optional setting not enabled by default.
How about having a regex filter for headers to record?

I'd suggest that if you don't know which request headers the target API cares about, then it would be a good idea to learn a bit more about it before hitting record.
I already see questions fairly regularly from people who've hit record without really understanding what its doing and therefore why it's not producing the expected result on playback. This, I think, would just tempt people into another click-it-and-pray situation.
Also, if you're keen to inspect headers before committing to recording, you can already do this by making a load of requests through a proxy stub then snapshotting them after taking a look at the request log.

@tomakehurst
Ok, thanks for quick replies and great tool!
Just a couple of final questions regarding this issue:

I'm going to proceed with the fork of this repository to include the desired functionality. I'll implement header recording into stub (in the fork) by recording all not-blacklisted headers (compared to whitelist functionality that is present in WireMock now)
--record-headers-without-user-agent - record headers excluding Cache-Control,Content-Encoding, etc.
--record-headers-excluding=<List of headers to exclude>
Does it make sense to contribute with this functionality in this repository?

I see that there is some work done on the plugin system for WireMock (and I could use the plugin system for the pt.1 to solve my problem):
https://github.com/tomakehurst/wiremock/pull/1032
Is there anything I could help with plugin system implementation?

You're welcome to do what you wish in your own forks certainly, but I don't want to merge what you're suggesting.
I think the plugin system PR is a long way from being usable. TBH I think the creator and I have some slightly conflicting design goals.
There is already an extension mechanism though - have you looked at whether this is enough for your requirements?
Another thing that might help - the legacy recorder (the one activated via CLI parameters) is just a RequestListener impl. You could just subclass/clone and modify that if you want to get the behaviour you've described.

There is already an extension mechanism though - have you looked at whether this is enough for your requirements?

Thanks, looks like it is a better idea compared with building a fork

Another thing that might help - the legacy recorder (the one activated via CLI parameters) is just a RequestListener impl. You could just subclass/clone and modify that if you want to get the behaviour you've described.

:+1: Oh, that's great, probably will go with this one


HELP:  Cannot get Z-Way Server to connect

I am getting the following error when I execute Homebridge and connect to the Z-Way Server:
/usr/local/lib/node_modules/homebridge-legacy-plugins/platforms/ZWayServer.js:43
if(response.statusCode == 401){
^
TypeError: Cannot read property 'statusCode' of undefined
at Request._callback (/usr/local/lib/node_modules/homebridge-legacy-plugins/platforms/ZWayServer.js:43:24)
at self.callback (/usr/local/lib/node_modules/homebridge-legacy-plugins/node_modules/request/request.js:373:22)
at emitOne (events.js:77:13)
at Request.emit (events.js:169:7)
at Request.onRequestError (/usr/local/lib/node_modules/homebridge-legacy-plugins/node_modules/request/request.js:971:8)
at emitOne (events.js:77:13)
at ClientRequest.emit (events.js:169:7)
at TLSSocket.socketErrorListener (_http_client.js:259:9)
at emitOne (events.js:77:13)
at TLSSocket.emit (events.js:169:7)
I am assuming I am getting this error because the HTTP request is failing for some reason and as a result Request in undefined.  I have Z-way installed behind the NGINX running as a reverse router and a SSL cert.  For the time being with testing I have turned of httpaccess for additional security.
Here is the result of /ZAutomation/api/v1/devices on port 8085 of my z-way server.
{"data":{"structureChanged":true,"updateTime":1446959828,"devices":[{"creatorId":11,"deviceType":"toggleButton","h":557861321,"hasHistory":false,"id":"LightScene_11","location":0,"metrics":{"level":"on","icon":"","title":"Morning"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954699},{"creatorId":13,"deviceType":"switchBinary","h":2095255578,"hasHistory":false,"id":"HTTP_Device_switchBinary_13","location":6,"metrics":{"icon":"switch","title":"Overhead Lamp","level":"off"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954700},{"creatorId":14,"deviceType":"switchBinary","h":2095255579,"hasHistory":false,"id":"HTTP_Device_switchBinary_14","location":7,"metrics":{"icon":"switch","title":"Thomas Office","level":"off"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954700},{"creatorId":15,"deviceType":"switchBinary","h":2095255580,"hasHistory":false,"id":"HTTP_Device_switchBinary_15","location":3,"metrics":{"icon":"switch","title":"Back Porch Light","level":"on"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954700},{"creatorId":16,"deviceType":"switchBinary","h":2095255581,"hasHistory":false,"id":"HTTP_Device_switchBinary_16","location":3,"metrics":{"icon":"switch","title":"Side Yard Flood","level":"on"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954700},{"creatorId":17,"deviceType":"switchBinary","h":2095255582,"hasHistory":false,"id":"HTTP_Device_switchBinary_17","location":3,"metrics":{"icon":"switch","title":"Carport","level":"on"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954700},{"creatorId":8,"deviceType":"battery","h":-592588977,"hasHistory":false,"id":"BatteryPolling_8","location":0,"metrics":{"probeTitle":"Battery","scaleTitle":"%","title":"Battery digest 8","level":80},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954704},{"creatorId":1,"deviceType":"switchBinary","h":1078449915,"hasHistory":false,"id":"ZWayVDev_zway_2-0-37","location":1,"metrics":{"icon":"switch","title":"Sink","level":"off"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954703},{"creatorId":1,"deviceType":"switchBinary","h":1135708217,"hasHistory":false,"id":"ZWayVDev_zway_4-0-37","location":1,"metrics":{"icon":"switch","title":"Overhead","level":"off"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954703},{"creatorId":1,"deviceType":"switchBinary","h":1164337368,"hasHistory":false,"id":"ZWayVDev_zway_5-0-37","location":2,"metrics":{"icon":"switch","title":"Outlet","level":"on"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954703},{"creatorId":1,"deviceType":"switchBinary","h":1192966519,"hasHistory":false,"id":"ZWayVDev_zway_6-0-37","location":4,"metrics":{"icon":"switch","title":"Foyer","level":"off"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446957903},{"creatorId":1,"deviceType":"switchBinary","h":1221595670,"hasHistory":false,"id":"ZWayVDev_zway_7-0-37","location":3,"metrics":{"icon":"switch","title":"Garage","level":"on"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954704},{"creatorId":1,"deviceType":"switchBinary","h":1250224821,"hasHistory":false,"id":"ZWayVDev_zway_8-0-37","location":"3","metrics":{"icon":"switch","title":"Front Door","level":"on"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954704},{"creatorId":1,"deviceType":"doorlock","h":-1646206616,"hasHistory":false,"id":"ZWayVDev_zway_13-0-98","location":"1","metrics":{"level":"open","icon":"door","title":"Door Lock"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954704},{"creatorId":1,"deviceType":"battery","h":507194638,"hasHistory":false,"id":"ZWayVDev_zway_13-0-128","location":0,"metrics":{"probeTitle":"Battery","scaleTitle":"%","level":80,"icon":"battery","title":"Battery 13-0"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954704},{"creatorId":1,"deviceType":"switchBinary","h":-1617577652,"hasHistory":false,"id":"ZWayVDev_zway_14-0-37","location":5,"metrics":{"icon":"switch","title":"Thomas Bedside","level":"off"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954705},{"creatorId":1,"deviceType":"switchBinary","h":-1588948501,"hasHistory":false,"id":"ZWayVDev_zway_15-0-37","location":5,"metrics":{"icon":"switch","title":"Robert Bedside","level":"off"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954705},{"creatorId":1,"deviceType":"switchBinary","h":-1560319350,"hasHistory":false,"id":"ZWayVDev_zway_16-0-37","location":1,"metrics":{"icon":"switch","title":"Entry","level":"off"},"permanently_hidden":false,"tags":[],"visibility":true,"updateTime":1446954705}]},"code":200,"message":"200 OK","error":null}
Here is the platform section for z-way out of my config.son file:
     {
        "platform": "ZWayServer",
        "url": "https://<IP_ADDRESS>:8085/",
        "login": "home",
        "password": "bridge",
        "poll_interval": 2,
        "split_services": false,
        "opt_in": false
    }

The user in z-way is a normal user, not an admin and not a local user.  I have tried all variations on the root url including <IP_ADDRESS>, localhost, etc.  If I use HTTP instead of https I do not get the error, but I do get a time out.  I imagine this is just because the server is not answering without the secure connection.
also here is the result of name -a  (I am running on a ras pi B+ with Raspbian jesse
Linux ae35.rheahometn.com 4.1.7+ #817 PREEMPT Sat Sep 19 15:25:36 BST 2015 armv6l GNU/Linux
and node -v
v4.2.1
If I take the Z-Way server out of my config.son file Homebridge connects to other HTTP services just fine.  The only issue it has is with the Z-Way Server.
Please Help!  I have been hammering away at this for almost two days now and can't find anything.  So far I am loving home bridge so much more than the crappy home kit implementation in Z-Way itself and am excited to get my family set up completely.
EDIT:  I should Mention that I am running Razberry/Z-Way Server 2.1.1

OK, So I made the following updates to the ZWayServer.js to trap the undefined response.  I do not get the error when I run homebridge.  The problem, however, is that it now even though homebridge execute, it times out when trying to connect to Z-Way.  No devices are discovered and loaded.
When I execute the logon from the command line with CURL, I do get a response immediately (Homebridge and Z-Way are running on the same pi).
This is the CURL I am using:
curl --insecure -i -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d '{"form": true, "login": "XXXXXX", "password": "XXXXXX", "keepme": false, "default_ui": 1}' 'https://XXXXXXX:XXXXXXX@<IP_ADDRESS>:8085/ZAutomation/api/v1/login' -c cookie.txt
and the lines from config.son
     {
        "platform": "ZWayServer",
        "url": "https://XXXXXXX:XXXXXXX@<IP_ADDRESS>:8085/",
        "login": "XXXXXXX",
        "password": "XXXXXXX",
        "poll_interval": 2,
        "split_services": false
    },

ZWayServerPlatform.prototype = {
zwayRequest: function(opts){
    var that = this;
    var deferred = Q.defer();

    opts.jar = true;//this.jar;
    opts.json = true;
    opts.headers = {
        "Cookie": "ZWAYSession=" + this.sessionId
    };

    request(opts, function(error, response, body){
        if(response === undefined || response.statusCode != 200){
            debug("Authenticating...");
            request({
                method: "POST",
                url: that.url + 'ZAutomation/api/v1/login',
                body: { //JSON.stringify({
                    "form": true,
                    "login": that.login,
                    "password": that.password,
                    "keepme": false,
                    "default_ui": 1
                    "keepme": false,
                    "default_ui": 1
                },
                headers: {
                    "Accept": "application/json",
                    "Content-Type": "application/json"
                },
                json: true,
                jar: true//that.jar
            }, function(error, response, body){
                if(response != undefined && response.statusCode == 200){
                    that.sessionId = body.data.sid;
                    opts.headers["Cookie"] = "ZWAYSession=" + that.sessionId;
                    debug("Authenticated. Resubmitting original request...");
                    request(opts, function(error, response, body){
                        if(response.statusCode == 200){
                            deferred.resolve(body);
                        } else {
                            deferred.reject(response);
                        }
                    });
                } else {
                    deferred.reject(response);
                }
            });
        } else if(response != undefined && response.statusCode == 200) {
            deferred.resolve(body);
        } else {
            deferred.reject(response);
        }
    });
    return deferred.promise;
}

Any ideas why I might be getting a timeout?

Hello @rhearob , Did you get this working? I'm finally back and am working on a module version of the platform. My guess would be that the underlying request module is rejecting or failing to connect because of a self-signed certificate--which I infer because you're using the  --insecure flag in your curl command.
In short, that is expected behavior. Though I can see the use case for allowing it. There are two options:

Make your self-signed cert trusted by the underlying OS where Homebridge is running, which hopefully will allow the request module to trust the cert (and probably wouldn't have to use the curl --insecure flag, either)

I can add a config parameter that would let you specify the filename of your (public) certificate file, which would be passed through to request so that it would allow the connection.

Reconfigure your NGINX proxy to not use SSL (or to be bypassed entirely) for local network requests

Since I'm assuming that your Homebridge installation and your ZWay server instance are on the same network, I'd recommend option no. 3. There's substantially less reason to mess with SSL-enabling on your local network (lots of reasons to do it if you're hitting your ZWay server from the internet!). Unless you're on a dorm/shared network, or running wifi unsecured or something, you already have pretty substantive layers of protection surrounding your local network traffic. Option no. 1 is also probably the quickest way to get it going. This should be pretty easy to Google how to do, depending on the OS your Homebridge is running on.
If you're still stuck, please open an issue on the new plugin repo.

Hello @rhearob , Did you get this working? I'm finally back and am working on a module version of the platform. My guess would be that the underlying request module is rejecting or failing to connect because of a self-signed certificate--which I infer because you're using the  --insecure flag in your curl command.
In short, that is expected behavior. Though I can see the use case for allowing it. There are two options:

Make your self-signed cert trusted by the underlying OS where Homebridge is running, which hopefully will allow the request module to trust the cert (and probably wouldn't have to use the curl --insecure flag, either)

I can add a config parameter that would let you specify the filename of your (public) certificate file, which would be passed through to request so that it would allow the connection.

Reconfigure your NGINX proxy to not use SSL (or to be bypassed entirely) for local network requests

Since I'm assuming that your Homebridge installation and your ZWay server instance are on the same network, I'd recommend option no. 3. There's substantially less reason to mess with SSL-enabling on your local network (lots of reasons to do it if you're hitting your ZWay server from the internet!). Unless you're on a dorm/shared network, or running wifi unsecured or something, you already have pretty substantive layers of protection surrounding your local network traffic. Option no. 1 is also probably the quickest way to get it going. This should be pretty easy to Google how to do, depending on the OS your Homebridge is running on.
If you're still stuck, please open an issue on the new plugin repo.


Create a base image - broken links

File: develop/develop-images/baseimages.md
In section Create a full image using tar, links BusyBox and Debian / Ubuntu are broken.

Thanks for reporting; some of those scripts were outdated and have been removed; I opened a PR to link to the directory instead; https://github.com/docker/docker.github.io/pull/12045

Thanks for reporting; some of those scripts were outdated and have been removed; I opened a PR to link to the directory instead; https://github.com/docker/docker.github.io/pull/12045


Fix the "your account has an issue" error when resetting with a trivial password

Steps to reproduce:

Click "forgot password" on the sign-in screen
When you get the reset password email and open the form, enter the password Aaaaaaa0
Click "reset password"

You get an error:

There is an issue with this library account. To resolve this, please contact Library Enquiries<EMAIL_ADDRESS>
This should tell you to use a more complex password instead.

Happy to work on this together with somebody.

Follows on from https://github.com/wellcomecollection/wellcomecollection.org/issues/7816; password triviality is determined by Sierra as per https://documentation.iii.com/sierrahelp/Default.htm#sgwpac/sgwpac_using_pins.html


Maybe unsound in CodeAttribute

hello, thank you for your contribution in this project, I am scanning the unsoundness problem in rust project.
I notice the following code:
pub struct CodeAttribute {
    pub max_stack: u16,
    pub max_locals: u16,
    pub code_length: u32,
    pub code: *mut Vec<u8>,
    pub exception_table_length: u16,
    pub exception_table: Vec<Exception>,
    pub attributes_count: u16,
    pub attributes: Vec<AttributeInfo>,
}

impl CodeAttribute{
..............................
    pub fn read_u8_from_code(&self, start: usize) -> usize {
        let code = unsafe { &*self.code };
        code[start] as usize
    }
pub fn read_u16_from_code(&self, start: usize) -> usize {
        let code = unsafe { &*self.code };
        ((code[start] as usize) << 8) + code[start + 1] as usize
    }
pub fn dump_bytecode(&self) {
......................
}

Considering that pub mod class, code is a pub field, and read_u16_from_code read_u8_from_code........ are also pub function. I assume that users can directly manipulate this field. This potential situation could result in *self.code being dereference a null pointer, and directly dereferencing it might trigger undefined behavior (UB). For safety reasons, I felt it necessary to report this issue. If you have performed checks elsewhere that ensure this is safe, please don’t take offense at my raising this issue.
If there is no external usage for CodeAttribute, I suggest it should not marked as pub, at least its field should not marked as pub.

ping

Hi, I'll look into that. But this is my old codebase, so don't expect much of further information.

Ok, thanks for your reply! I just want to comfirm whether this pattern is unsound.

From your explanation, I think the pattern is unsound. It'd be better if you could explain the definition unsoundness though.

Of course, thanks  for your reply! Here is the definition of soundness in Rust:
Soundness is a type system concept (actually originating from the study of logics) and means that the type system is "correct" in the sense that well-typed programs actually have the desired properties. For Rust, this means well-typed programs cannot cause Undefined Behavior. This promise only extends to safe code however; for unsafe code, it is up to the programmer to uphold this contract.
Accordingly, we say that a library (or an individual function) is sound if it is impossible for safe code to cause Undefined Behavior using its public API. Conversely, the library/function is unsound if safe code can cause Undefined Behavior.

Well, then my code here is unsound :)


Cannot make an internal variable an alias when starting sandbox

Update: See Comments

[X] I have searched the FAQ and the documentation for solutions.
[X] I have searched the issue tracker for similar issues (the closed issues too).
[X] I have searched the Discourse for any errors and solutions.
[X] I can reproduce my issue on the latest commit of Doom Emacs.
[X] I have read How to Debug Issues and found no solution.

What did you expect to happen?
When I start the sandbox with M-x doom/sandbox C-c C-d, vanilla Doom loads without errors.
What actually happened?
When I start the sandbox with M-x doom/sandbox C-c C-d, an error of type “Cannot make an internal variable an alias” occurs. These are the messages, as I have been unable to produce a backtrace:
Loading /home/janfel/.config/emacs/core/core.el (source)...
progn: Cannot make an internal variable an alias

Describe your attempts to resolve the issue
I have used rg to search for defvaralias in core/ and have narrowed the issue down to this line. Removing this line fixes the issue for me.
Steps to reproduce

Open Emacs
M-x doom/sandbox C-c C-d

System Information
https://pastebin.com/3VteX0SG

As of 87d1570 it should be resolved.


Add tools and self-service opportunity channels to UP blueprint

User story
As an RS teammate, I want to be able to clearly and easily visualize the tools and self-service opportunities at each step of the ReportStream Universal Pipeline process, so that I can know where the team needs to make updates, create new tools, and, implement other improvements.
Background & context
@jsutantio and @dylansmith-Nava conducted a major overhaul of the initial COVID service blueprint which can be found in this Mural. As the ReportStream team migrates ReportStream to the Universal Pipeline (UP), the blueprint now needs to be updated to show UP processes and reflect the "delta" from COVID processes.
We will need to show 1 initial scenario (as other major scenario [Migrating from COVID to UP] has too many unknowns):

Scenario 1: Onboarding straight to the UP

Working links

COVID Service blueprint This is the service blueprint mural that has been widely distributed and linked to.
Service blueprint Workspace This is the temporary space that contains drafts and in progress work.
Interest & Intake Self-Service Opportunities Mural This is WebEx Mural that focuses on the "Intake" section and opportunities there

Acceptance criteria

[x] The creation of a 'tools, materials, and artifacts' swim lane
[x] The creation of a 'Opportunities' swim lane
[ ] Share-out, especially of 'opportunities' swim lane, to broader scrum team as well as Product team

Not within scope:

[ ] Precise timing/ durations for each step
[ ] Documenting "before onboarding" steps (e.g., patient testing/ test submission)
[ ] Documenting "post onboarding" step specificities (e.g., specific bugs and errors during maintenance, etc.)
[ ] Conceptual features, wireframes, etc. based on opportunity areas

Meeting with Brandon this week to discuss the updates! Hoping for a bit of feedback, and then the blueprint can be finalized.

Updated UP blueprint can be found in the CDC ReportStream Onboarding Service Blueprints Mural. As such, moving to Done. @chinelo-ikejimba


nvm install fails with "The filename or extension is too long"

My Environment
Windows 8
I'm using NVM4W version:
1.1.5
My issue is related to (check only those which apply):

[ ] settings.txt
[ ] proxy support (Have you tried version 1.1.0+?)
[ ] 32 or 64 bit support (Have you tried version 1.1.3+?)
[ ] Character escaping (Have you tried version 1.1.6+?)
[x] A standard shell environment (terminal/powershell)
[ ] A non-standard shell environment (Cmder, Hyper, Cygwin, git)

Expected Behavior
Install node version 8.2.1
Actual Behavior
Fails with error The filename or extension is too long
Steps to reproduce the problem:
λ nvm install 8.2.1
Downloading node.js version 8.2.1 (64-bit)...
Complete
Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...2017/07/21 09:02:31 mkdir C:\Users\suhas.karanth.RB\AppData\Roaming\nvm\temp\nvm-npm\npm-5.3.0\node_modules\libnpx\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\node_modules\error-ex\node_modules\is-arrayish: The filename or extension is too long.

While this is an issue, I doubt there is a direct way to fix it. However, creating this issue to share how I got around it and how maybe it could be avoided.
I installed the latest pre-release version of nvm(v1.1.6) but this time installed it to C:\nvm\ to conserve path length. Was able to successfully install node v8.2.1 after this. Do you think it makes sense to install nvm to this path by default?

Something is off about this installation... Did you have two versions of NVM installed at the same time by any chance?
It may be too late at this point, but what does echo %NVM_SYMLINK% output?

No. I did not have 2 versions of NVM installed at the time when the error occurred.
λ echo %NVM_SYMLINK%
C:\Program Files\nodejs

Additionally, I had installed and was using multiple versions of NVM before:
λ nvm list

  * 8.1.2 (Currently using 64-bit executable)
    8.1.1
    8.1.0
    8.0.0
    6.10.3
    6.10.0
    5.12.0
    4.8.0
    4.2.6

I am having the same issue.
Windows 10
Cmder shell
NVM 1.1.5
This is occurring with node 8.2.0 and 8.2.1
8.1.4 and 8.1.3 are working fine.
$ nvm install 8.2.0
Downloading node.js version 8.2.0 (64-bit)...
Complete
Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...2017/07/22 00:15:41 mkdir C:\Users\Christopher\AppData\Roaming\nvm\temp\nvm-npm\npm-5.3.0\node_modules\libnpx\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\node_modules\error-ex\node_modules\is-arrayish: The filename or extension is too long.

I wonder if we should take this up with npm upstream..
@clowenhg If you install nvm directly to C:\nvm, the issue will be resolved but your existing node installations will not longer be recognised. I had moved the multiple node folders to C:\nvm and was able to see them listed but never got a chance to test any of it out. Thanks to windows update and boot loop.

That would probably work, but just seems like a temporary work around until the next thing wants to go one more directory deep. So yea, raising this as an issue for NPM would probably be a good call.
Seeing as 8 isn't at it's final LTS version yet, I'm just reverting to 8.1.4 for now.

There do appear to be a number of issues with the new versions of npm, specifically those that include npx support. I've added support for npx in the master branch and will release it when 1.1.6 becomes official (currently being tested). However; even in that branch, npx still fails (it also fails through the standalone windows Node installer without NVM4W).
I believe this is an npm issue, not an NVM4W issue. I'm closing the issue and marking it as an upstream-issue.

@coreybutler A small clarification if you don't mind. Why did you have to make changes for npx support? Even with node v8.1, npx was available and usable, although buggy on windows. But nvm shouldn't have to do anything for this.

Node 8.1 did not ship with npx support. If you have it in 8.1, you must have run npm install -g npm somewhere along the line to upgrade npm. The npx command was added in npm v5.3.0, and the first version of Node to ship with npm 5.3.0 was 8.2.1. For specific details, see #288.

Yea.. You are probably right. I do remember upgrading npm.

I had the same issue, the solution i have is to:

install 8.2.1, which will fail you, that's fine.
install v6.11.2 and copy 2 files (npm and npm.cmd ) from /c:/[username]/AppData/Roaming/nvm/v6.11.2 to folder v8.2.1
in folder v8.2.1, do git clone https://github.com/npm/npm.git

then you should be good

Thank you @michaelkdh It works for me. 👍
Slightly different thing was that when I cloned the 'npm.git' it created 'npm' folder. And I had to move the 'npm' folder to 'node_modules'.

@gblue1223 same thing, just need npm in place. cheers,

@coreybutler According to the issue you linked you can override the paths to install to.

If you install latest (1.1.6) and instead of C:/Users/<username>/AppData/Roaming/nvm´ you select C:/nvmas the installation folder, it should work. I had no problem installing8.4.0` :)
For me, using nvm root to change the path of nvm did not work, I got weird error messages. It did not copy nvm <commands> and then even node stopped working.

@peterbakonyi05 It's still hackish to redefine the nvm folder just to install it too.

@Sieabah I agree, the whole problem is weird. However I think it is still better than the other 2 proposed solutions (actually none of them worked for me)

For those still running into this, could someone provide steps for recreating this error? Or perhaps a screencast? I have yet to actually see this in action.
Also, I've noticed alot of people are copy/pasting from their terminals... and the syntax like /c/whatever, lambdas, etc keep showing up.... all of which indicate people are using things like Cygwin, git shells, cmder, etc. Please note that these shells do not always adhere to the Windows platform standards, and they do affect how paths are read. There are several other issues citing this, so try everything in a standard terminal before posting to make sure it's an NVM4W issue and not a terminal-shell issue.

@coreybutler Here you go, with cmd.exe
C:\Users\Christopher>nvm install 8.4.0
Downloading node.js version 8.4.0 (64-bit)...
Complete
Creating C:\Users\Christopher\AppData\Roaming\nvm\temp
Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...2017/09/05 16:50:14 mkdir C:\Users\Christopher\AppData\Roaming\nvm\temp\nvm-npm\npm-5.3.0\node_modules\libnpx\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\node_modules\error-ex\node_modules\is-arrayish: The filename or extension is too long.
C:\Users\Christopher>where nvm
C:\Users\Christopher\AppData\Roaming\nvm\nvm.exe
C:\Users\Christopher>nvm install 8.4.0
Downloading node.js version 8.4.0 (64-bit)...
Complete
Creating C:\Users\Christopher\AppData\Roaming\nvm\temp
Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...2017/09/05 16:50:14 mkdir C:\Users\Christopher\AppData\Roaming\nvm\temp\nvm-npm\npm-5.3.0\node_modules\libnpx\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\node_modules\error-ex\node_modules\is-arrayish: The filename or extension is too long.
C:\Users\Christopher>which nvm
'which' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\Christopher>where nvm
C:\Users\Christopher\AppData\Roaming\nvm\nvm.exe

I'm also on nvm version 1.1.5 if that makes a difference (maybe you're on 1.1.6?)

I can confirm that the upgrade to 1.1.6 fixes this issue. Makes sense since it looks like some of the filepath management now uses native Go libraries.
That would also mean that the filepath bug was within nvm rather than npm itself. Any bug filed over at npm might want to be looked over again.

Thanks @computerquip-streamlabs. I got this problem and solved by upgrading nvm with,
scoop install<EMAIL_ADDRESS>
And then I could install node 8.7.0 with nvm.

Installing nvm 1.1.6 fix bug with "npm installing: The filename or extension is too long"

From: C:\Users\[username]\AppData\Roaming\nvm

Change file settings.txt

root: C:\nvm
path: C:\Program Files\nodejs
arch: 64
proxy: none

Copy two files elevate.cmd and elevate.vbs to: C:\nvm

Then it worked for me!

Reopening since several users are still running into this.

FWIW, I'm running Windows 10, I did enable long file paths, but still couldn't install node versions above 6.x... because of the issue with long file path in npm v 5.6, upgrading to nvm 1.1.6 fixed the issue for me.


App always redirects to the overview page on first load

To Reproduce
Steps to reproduce the behavior:

Install Odigos
Port forward: kubectl port-forward svc/ui 3000:3000
Type http://localhost:3000/create-destination?dest=coralogix to your browsers addressbar
The app immediately redirects to /overview

OR

Navigate anywhere in the app
Refresh the page

Expected behavior
I'd expect to stay at the page where the URL pointed to.
Desktop (please complete the following information):

OS: Linux
Browser Chrome @ 123, Firefox @ 124

Hey @rauno56 👋
We've released the new UI recently.
Can you please update Odigos to latest version (v1.0.139 or higher), and let us know if the issue still occurs?
brew upgrade odigos-io/homebrew-odigos-cli/odigos
odigos upgrade
odigos ui

We've also patched this in the legacy UI, which can be accessed using the --legacy flag:
odigos ui --legacy


Memory leak when actor metrics are enabled

Describe the bug
Enabling actor metrics:
	system := actor.NewActorSystem(actor.WithMetricProviders(global.MeterProvider()))

causes a memory leak when actors are stopped.
To Reproduce
Run the following main:
package main

import (
	"fmt"
	"github.com/asynkron/protoactor-go/actor"
	"github.com/google/uuid"
	"go.opentelemetry.io/otel/metric/global"
	"log"
	"math/rand"
	"net/http"
	_ "net/http/pprof"
	"os"
	"os/signal"
	"syscall"
	"time"
)

func main() {
	system := actor.NewActorSystem(actor.WithMetricProviders(global.MeterProvider()))

	go func() {
		log.Println(http.ListenAndServe("localhost:6060", nil))
	}()

	for i := 0; i < 20_000; i++ {
		message := &MyData{id: uuid.New().String(), value: randomString(100_000)}
		props := actor.PropsFromProducer(func() actor.Actor {
			return &myActor{data: make(map[string]*MyData)}
		})
		pid, err := system.Root.SpawnNamed(props, message.id)
		if err != nil && err != actor.ErrNameExists {
			fmt.Printf("Error while sending message to actor=%v err=%v\n", pid, err)
		}
		system.Root.Send(pid, message)
		if err := system.Root.PoisonFuture(pid).Wait(); err != nil {
			fmt.Printf("Error while terminating actor=%v err=%v\n", pid, err)
		}
		time.Sleep(5 * time.Millisecond)
	}
	fmt.Println("-- Done.")

	sigs := make(chan os.Signal, 1)
	signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
	<-sigs
}

type myActor struct {
	data map[string]*MyData
}

type MyData struct {
	id    string
	value string
}

func (a *myActor) Receive(ctx actor.Context) {
	switch msg := ctx.Message().(type) {
	case *MyData:
		a.data[msg.id] = msg
	}
}

func randomString(length int) string {
	const letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	b := make([]byte, length)
	for i := range b {
		b[i] = letterBytes[rand.Intn(len(letterBytes))]
	}
	return string(b)
}

A few GB of RAM are retained even though the actors are stopped immediately after sending the data message.
By replacing
	system := actor.NewActorSystem(actor.WithMetricProviders(global.MeterProvider()))

with
	system := actor.NewActorSystem()

the memory leak disappears.
Expected behavior
The memory is released when the actors are stopped.
Additional context
In props.go the default spawner contains this code:
		ctx := newActorContext(actorSystem, props, parentContext.Self())
		mb := props.produceMailbox()

		// prepare the mailbox number counter
		if ctx.actorSystem.Config.MetricsProvider != nil {
			sysMetrics, ok := ctx.actorSystem.Extensions.Get(extensionId).(*Metrics)
			if ok && sysMetrics.enabled {
				if instruments := sysMetrics.metrics.Get(metrics.InternalActorMetrics); instruments != nil {
					sysMetrics.PrepareMailboxLengthGauge()
					meter := global.Meter(metrics.LibName)
					if err := meter.RegisterCallback([]instrument.Asynchronous{instruments.ActorMailboxLength}, func(goCtx context.Context) {
						instruments.ActorMailboxLength.Observe(goCtx, int64(mb.UserMessageCount()), sysMetrics.CommonLabels(ctx)...)
					}); err != nil {
						err = fmt.Errorf("failed to instrument Actor Mailbox, %w", err)
						plog.Error(err.Error(), log.Error(err))
					}
				}
			}
		}

Specifically  the closurefunc(goCtx context.Context) captures mb and ctx, and is not unregistered after the actor is stopped.
This seems to be the root cause of the memory leak.

Also, it's not clear to me how that metric (ActorMailboxLength) should work.
Shouldn't it sum the mailbox length for all the living actors?
It instead seems to replace the gauge value with the mailbox length of the last called back actor.

I'm keen to help with this issue.
Any hint on how to fix the leak and correctly implement the mailbox metric?

Thanks for the detailed report.
I have to dive into this to see what the memory issue could be

It should be due to the registered callback for each actor, which keeps references to its mailbox and context via the closure.
So changing the callback logic should also fix the leak.
I'm thinking about registering a single callback in the OpenTelemetry Meter. Go implementation of the Meter doesn't provide a way to unregister the callback (although this seems mandated by the spec...). Therefore this should be handled explicitly. WDYT?
Thanks for the response.


Error messages on launch after upgrading to 4.2.5

Describe the bug
I've just been prompted to update Lens to 4.2.5, and have done so, but now I'm seeing errors about file permissions when I launch Lens.
To Reproduce
Steps to reproduce the behavior:

Have Lens installed
Click the upgrade button on the banner in the app, when prompted
Enter admin credentials
App restarts itself
See errors as below.

Expected behavior
App should 'just work' ☺
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

Lens Version: 4.2.5 (from a recent version only a few weeks since I first installed)
OS: MacOS 11.4 (20F71) (Upgraded from 10.15 yesterday)
Installation method: Homebrew

Logs:
When you run the application executable from command line you will see some logging output.  Please share your kubeconfig, remember to remove any secret and sensitive information.
your kubeconfig here

Additional context
Whilst writing this issue I realised that the problem was with the file permissions in my personal the Application Support
directory, as the files in /Users/toby/Library/Application Support/Lens/node_modules/ are actually just symlinks to the files in /Applications/Lens.app/Contents/Resources/extensions, and those files were only writable by root.
Whilst my issue is resolved, since I had already written these ticket details I thought I would share in case there's anything that can be done about addressing this issue for others who might be running Lens via Homebrew using a non-admin user.

chmod a+rwx /Users/<username>/Library/Application Support/Lens/node_modules/* solved the problem for me

This is no longer a problem in Lens5 as they should not be symlinks anymore. Thanks for the report.


Energy monitoring in HA

Hi,
[request for enhancement]
Would it be possible, please, to add an entity into the code to allow Home Assistant to pick it up for Baterry monitoring (Energy dashboard)?

Hello, where we hav to had this code?

https://github.com/KinDR007/VictronSmartShunt-ESPHOME


Certify Clinical decision support § 170.315(a)(9)

Official Documentation
Proctor Sheet
Safety Enhanced Design requirement

Abbreviated sheet: https://docs.google.com/document/d/1-RM9IN3vqvUhrR4DUk9cjvtyR7tA7zBFszbJISR2xQk/edit?usp=sharing

After meeting with Drummond, confirmed that this criteria (a)(9) will be deprecated in favor of the coming soon (b)(11) criteria.  They will not accept new certifications for (a)(9) at this time.
https://www.healthit.gov/topic/laws-regulation-and-policy/health-data-technology-and-interoperability-certification-program


prepare for v0.2.0 release

Current coverage is 66.77% (diff: 100%)

Merging #80 into master will not change coverage

@@             master        #80   diff @@
==========================================
  Files            11         11
  Lines           629        629
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            420        420
  Misses          209        209
  Partials          0          0

Powered by Codecov. Last update 1330ea4...c740f6a

Current coverage is 66.77% (diff: 100%)

Merging #80 into master will not change coverage

@@             master        #80   diff @@
==========================================
  Files            11         11
  Lines           629        629
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            420        420
  Misses          209        209
  Partials          0          0

Powered by Codecov. Last update 1330ea4...c740f6a


[zh] Taints in kubernetes.io and k8s.io namespace are also reserved

https://github.com/kubernetes/website/pull/48665/files

This tiny change has been included in #48696.


PyCondorPlugin checking condor log too often

While investigating my last fix to pycondorplugin, I noticed it fails to get job info from the schedd for one or 2 jobs out of 1k, and then it fallback to the condor log, e.g.:
2016-03-11 10:17:51,398:139714205484800:DEBUG:PyCondorPlugin:Opening condor job log file: /data/srv/wmagent/v1.0.14.pre8/install/wmagent/JobCreator/JobCache/amaltaro_SUS-RunIIWinter15pLHE-00232_00153_v2__160309_151840_9882/Production/JobCollection_2323_0/job_17580/condor.8561.11.log
2016-03-11 10:17:51,414:139714205484800:DEBUG:PyCondorPlugin:/data/srv/wmagent/v1.0.14.pre8/install/wmagent/JobCreator/JobCache/amaltaro_SUS-RunIIWinter15pLHE-00232_00153_v2__160309_151840_9882/Production/JobCollection_2323_0/job_17580/condor.8561.11.log is CORRUPT
2016-03-11 10:17:51,415:139714205484800:INFO:PyCondorPlugin:Retrieved 0 Info from Condor Job Log file /data/srv/wmagent/v1.0.14.pre8/install/wmagent/JobCreator/JobCache/amaltaro_SUS-RunIIWinter15pLHE-00232_00153_v2__160309_151840_9882/Production/JobCollection_2323_0/job_17580/condor.8561.11.log
2016-03-11 10:17:51,415:139714205484800:DEBUG:PyCondorPlugin:No job log Info for jobid=17580. Assume it is Complete. Check DB.

I have to check whether it comes from my patch, and if not we need to keep an eye on the impact in large scale.
From what I understood, when a job gets completed, the schedd fails to provide info for that job - as expected - and then the component tries reading the log file.

Isn't going to the condor log a fallback ? Wasn't there a way to get information about a recently completed job from memory ? Not sure how long this is buffered though...

Well, since you read this thread, do you from time to time see this message in JobStatusLite "Retrieved 0 Info from Condor Job..."?
Yes, reading the condor logs is a fallback mechanism. I always thought this was the schedd log file, but from a quick look at the code, it seems to be the condor.JOBID.log file instead.

Fixed by #7210


[cinder-csi-plugin] Multi-region support for provisioning Cinder storage.

/kind feature
I have a scenario where we would need to implement high-availability across two datacenters, each operating as their own OpenStack region. As both regions are in the same City with a high speed low latency (<1ms) network between then it would be possible to create a stretched cluster between the regions. (I'm aware it's not possible to create proper high-availability of etcd with just two regions, but I belive it can be managed and it's a separate issue).
We do have some components that need persistent storage in our cluster, and we would like to be able to deploy these components in Kubernetes and use the built-in region awareness to deploy apps and their volumes.
Seems it should be possible to label each node with an appropriate topology.kubernetes.io/region label and then configure the Cinder CSI to map regions to a set of OpenStack credentials. Then get kind of similar to how for example the AWS EBS CSI manages different availability zones, with the awareness that only nodes in the correct region will be able to mount the volumes.
This might be a duplicate of #1924 , but I only really care about the storage part, we wouldn't need for instance the LoadBalancer support.

OpenStack region

openstack region concept is multiple openstack cluster running and share keystone / horizon
I think you are talking about AZ, which you mihgt refer to
ignore-volume-az key word at https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/cinder-csi-plugin/using-cinder-csi-plugin.md

No, I'm specifically talking about region. It would be really nice if OpenStack providers has their shit together at the same level as AWS, GCP, etc.. But it seems more common than not that providers chose to deploy separate regions in the same area as opposed to deploying a big OpenStack cloud with proper availability zones set up. Due to this I think it would be good if the Cinder CSI driver would work with this scenario. In my case there is no shared keystone either, presumably to fault isolate the regions or something..
At the very least OVH and Hetzner has this availability zone less setup, and it seems more common than not with public providers and I'm guessing the same may be true for many privately hosted setups.

I'm guessing the same may be true for many privately hosted setups.

Can confirm with ~ 10 of our private clusters

Seems it should be possible to label each node with an appropriate topology.kubernetes.io/region label and then configure the Cinder CSI to map regions to a set of OpenStack credentials.

ok, this make sense, some thoughts:

we support multiple cloud definition so this should be good
we should be able to pass region param in controllerServer.CreateVolume
with 1) 2), we are able to talk to different region to create volume
during attachment, need more time to know how to find corresponding node to do the attachment (e.g same region )

as I don't have those env ,so I am happy to get someone cooperate on this topic if you like , thanks

I wrote such a MVP implementation about 1yeat ago but the PR never got reviewed.
If there is more interest in this now, I'd be happy to rebase and re-submit a PR.
Sent from a typical smartphone. If this is illiterate, it’s the voice recognition’s fault.

From: ji chen @.>
Sent: Thursday, December 15, 2022 2:31:24 AM
To: kubernetes/cloud-provider-openstack @.>
Cc: Romain Cambier @.>; Comment @.>
Subject: Re: [kubernetes/cloud-provider-openstack] [cinder-csi-plugin] Multi-region support for provisioning Cinder storage. (Issue #2035)
Seems it should be possible to label each node with an appropriate topology.kubernetes.io/region label and then configure the Cinder CSI to map regions to a set of OpenStack credentials.
ok, this make sense, some thoughts:

we support multiple cloud definition so this should be good
we should be able to pass region param in controllerServer.CreateVolume
with 1) 2), we are able to talk to different region to create volume
during attachment, need more time to know how to find corresponding node to do the attachment (e.g same region )

as I don't have those env ,so I am happy to get someone cooperate on this topic if you like , thanks
—
Reply to this email directly, view it on GitHubhttps://github.com/kubernetes/cloud-provider-openstack/issues/2035#issuecomment-1352441862, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACTBVYZ4NTQVRPJ5PNWVZL3WNJYGZANCNFSM6AAAAAASCG7TCI.
You are receiving this because you commented.Message ID: @.***>

please resubmit so at least I an help review , thanks for the feedback~

@cambierr could you please help submit? Thanks

/reopen

/reopen
This seems to be a sane thing.

/reopen

/remove-lifecycle rotten

/remove-lifecycle stale

Anyone to made this PR https://github.com/kubernetes/cloud-provider-openstack/pull/2551 move forward ?

/remove-lifecycle stale

/reopen


skipEmpty option for KML

This module currently produces features with geometry: null if Placemarks don't have geometry. This could be an option, because downstream tools often don't support this variation of GeoJSON.

The upside:

Would let some applications skip an extra Array.filter

The downside:

There are currently no options to pass to the kml method. This would add an options argument and make that method more complicated.


Implement UserType for CreateAutoTimestamp

Implement CreateAutoTimestampType, which allows us to persist
CreateAutoTimestamp objects to hibernate in the same way that we do to
objectify.
The current implementation comes with caveats:

Since CreateAutoTimestamp is immutable, it is currently necessary to evict
the object from the cache immediately after persisting it to prevent future
queries from using the cached version which does not have the correct
timestamp.  An alternate approach would be to allow only the user type to
mutate the underlying timestamp.
We currently store the ZonedDateTime through OffsetDateTime, which is the
only way that JDBC knows how to do it out of the box.  This strips the
timezone data because an offset isn't adequate to capture that.  We've decided that this is
acceptable.

This change is

We can close this now right?


Add command to allow/disallow charging from the grid and exporting energy to the grid.

Add a command line (see CLI options) to pypowerwall to allow user to set grid charging and exporting.
Using FleetAPI: https://developer.tesla.com/docs/fleet-api/endpoints/energy#grid-import-export
API: POST /api/1/energy_sites/{energy_site_id}/grid_import_export

energy_site_id - ID field of an energy site from /api/1/products endpoint.
customer_preferred_export_rule - The desired behavior for grid exporting. The available options are battery_ok, pv_only, and never.
disallow_charge_from_grid_with_solar_installed - The desired behavior towards importing from the grid. Charging from the grid is disabled when set to true and enabled when set to false.

Proposed addition to CLI:
python3 -m pypowerwall set -gridcharging VALUE
# where VALUE is true or false

python3 -m pypowerwall set -export VALUE
# where VALUE is battery_ok, pv_only, or never

Released as: https://pypi.org/project/pypowerwall/0.10.10/


Fixed Entity mapping on line 48

Changed Entity mapping on line 48 - It was populated with an empty value
Required items, please complete
Change(s):

Changed line 48 entity mapping from "IPCustomEntity" to "IPAddress"

Reason for Change(s):

Template Error

Version Updated:

New version 1.0.4

Hi @kapetanios55,
Please fix the validation errors.
Thnaks

Hi @kapetanios55, Please fix the validation errors. Thanks

@v-mchatla - what exactly is the validation error here? Can you please elaborate on what I need to fix?

Hi @kapetanios55,
I didn't get a chance to check on this. Today I will check and update you the details.
Thanks

Hi @kapetanios55,
Sorry for the delay. I have assigned with priority work, didnt get a chance to look into it. Let me check and get back to you.
Thanks

Hi @kapetanios55,
Sorry for the delay in response. You need to remove IPCustomEntity = IPAddress this part from the extend then you can directly map the column IPAddress to the entity. Please refer #6995 test pr i have raised to check the validation failure as validation build in this PR is no more available.
Thanks

Hi @kapetanios55, Sorry for the delay in response. You need to remove IPCustomEntity = IPAddress this part from the extend then you can directly map the column IPAddress to the entity. Please refer #6995 test pr i have raised to check the validation failure as validation build in this PR is no more available. Thanks

@v-mchatla. What I have done here is

Closed by mistake - Understood, I will check this gain


dm.read_smi() copies a file to an already existing location

When I try to load a remote .smi file using Datamol, I run into the following exception:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
(...)

File ~/mambaforge/envs/mood/lib/python3.10/site-packages/datamol/io.py:320, in read_smi(urlpath)
    318 if not fsspec.utils.can_be_local(str(urlpath)):
    319     active_path = pathlib.Path(tempfile.mkstemp()[1])
--> 320     dm.utils.fs.copy_file(urlpath, active_path)
    322 # Read the molecules
    323 supplier = rdmolfiles.SmilesMolSupplier(str(active_path), titleLine=0)

File ~/mambaforge/envs/mood/lib/python3.10/site-packages/datamol/utils/fs.py:250, in copy_file(source, destination, chunk_size, force, progress, leave_progress)
    247     raise ValueError(f"The file being copied does not exist or is not a file: {source}")
    249 if not force and is_file(destination_file):  # type: ignore
--> 250     raise ValueError(f"The destination file to copy already exists: {destination}")
    252 with source_file as source_stream:
    253     with destination_file as destination_stream:

ValueError: The destination file to copy already exists: /tmp/tmpkzrm7u58

Seems like this function is not up-to-date with recent changes in the dm.utils.fs module? Seems to me like active_path should be set differently to a non-existing file.

Thanks. Using force=True should do the job here.
In general, I don't recommend using this kind of reader/saver and instead use the CSV reader/saver which should work with any .smi files.

I'm not sure I understand. You're saying .smi files can also be read (or actually; should be read) using dm.read_csv()?

Yes. There is nothing specific to .smi. It's just a csv-like format.

Does Datamol implement these read functions separately? Seems like 'read_smi()' should then just be a light wrapper of 'read_csv()'?

Yes I remember hesitating doing that at the very beginning of datamol but I prefer to stick to rdkit here in case the rdkit function is modified. If a user use read_smi he will expect the equivalent rdkit function under the hood.

Thanks for reporting the bug @cwognum !


add collection subscribe support

This pr is based on the last pr generic collection support
simple usage example, don't deal error
package main

import (
	"log"

	"github.com/r--w/pocketbase"
)

func main() {
	client := pocketbase.NewClient("http://localhost:8090")
	collection := pocketbase.CollectionSet[map[string]any](client, "posts_public")

	stream, err := collection.Subscribe()
        defer stream.Unsubscribe()
	err = stream.WaitAuthReady() // This step is required, the subscribe target maybe is error

	for ev := range stream.Events() {
		log.Print(ev.Action, ev.Record)
	}
}

Hi @shynome thats great contribution, can you fix the linter suggestions before I do the review?

This time I ran make check before committing and it fixed the linter suggestion

This closes #7
thank you @shynome, I made some minor changes hope you don't mind

🎉
( Of course I don't mind
Radoslaw Wesolowski @.***> 于 2022年12月12日周一 22:10写道：

This closes #7 https://github.com/r--w/pocketbase/issues/7
thank you @shynome https://github.com/shynome, I made some minor
changes hope you don't mind
—
Reply to this email directly, view it on GitHub
https://github.com/r--w/pocketbase/pull/11#issuecomment-1346575521, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AEEDRS5KNPZSGGPV3NBREALWM4W53ANCNFSM6AAAAAAS3BRVNU
.
You are receiving this because you were mentioned.Message ID:
@.***>


Missing on Packagist?

This package doesn't seem to be listed on Packagist. The Craft 3 version is, but not the 2.x compatible version. Is this an oversight or is it intentionally being omitted from Packagist?

I think it's an oversight :)

Finally: https://packagist.org/packages/nystudio107/cookies
:)


How to use Unity Cloud Build CI/CD platform + Firebase symbol upload for Android

[READ] For Firebase Unity SDK issues, please report to Firebase Unity open-source
Once you've read this section and determined that your issue is appropriate for this repository, please delete this section.
[REQUIRED] Please fill in the following fields:

Unity editor version: 2021.3.16f
Firebase Unity SDK version: 10.7.0
Source you installed the SDK: .unitypackage
Problematic Firebase Component: Crashlytics
Other Firebase Components in use: Analytics
Additional SDKs you are using: None
Platform you are using the Unity editor on: Mac
Platform you are targeting: iOS, Android
Scripting Runtime: IL2CPP

[REQUIRED] Please describe the issue here:
Is there any way to use the Unity Cloud Build CI/CD platform and automatically upload Android symbols?
We want to have automatic builds via CI/CD and make sure that Crashlytics/Firebase has all relevant symbols.
Steps to reproduce:

Build the game via Unity CI/CD
Have a crash on Android
Do not get symbolized stack traces because the symbols are missing

Relevant Code:

None

There is some information on uploading symbols for crashlytics on Android here:
https://firebase.google.com/docs/crashlytics/get-started?platform=unity#set-up-symbol-uploading
The summary is that you need to get the firebase CLI, update your build settings, and run a command to upload android symbols after you build your Unity project.

@AlmostMatt
I understand that and used it, locally on my computer. The questions: How to automate it when using the Unity CI/CD solution, Unity cloud build: https://unity.com/solutions/ci-cd
Have you ever tried that / made a test project for this?
Without being able to use CI/CD + Firebase Crashlytics, it's pretty hard to fit in the workflow :)

Oh, I understand the issue now.
We do not have experience working with Unity's CI/CD, so I do not have a tested solution.
I think the desired solution would be a way to run custom scripts as part of the automated build process and have the custom script interact with the Firebase CLI. I see some mention of Script Hooks in Unity documentation that might be able to accomplish this: https://docs.unity.com/devops/en/manual/build-target-configurations#Script_hooks, and https://docs.unity.cn/2020.3/Documentation/Manual/UnityCloudBuildScriptHooks.html
Searching online, this blog post appears to do something with firebase cli as a post-script in Unity CI automated builds, it might be a good example.
https://blog.kakeragames.com/2019/11/03/firebase-app-distribution-with-unity-cloud-build.html

@AlmostMatt Thank you so much, we will try this and come back to you if we need anything :)
In case you (now or later) decide to make any samples with Unity CI/CD that'd be amazing and definitely help everyone using Crashlytics to integrate it more seamlessly :)