Stops updating data

Describe the bug
After working for a short time (minutes to hours), the update of all power data stops. A restart of Home Assistant fixes the issue.
Tested with DTU Wlite S in combination with HM-300.
To Reproduce
Steps to reproduce the behavior:

Setup Home Assistant Integration.
Wait...

Expected behavior
Keep updating data.
System (please complete the following information):

Raspberry Pi 4
OS: Home Assistant 12.2

Additional context
I found the following text every 15 min in the debug log:
"DEBUG (MainThread) [custom_components.hoymiles_wifi.sensor] Returning last known value instead of 0.0 for AC-Tagesenergie to avoid resetting total_increasing counter"
Anyways, I would like to thank you for the time and effort you have invested in developing this tool!

Thanks, the error indicates that the DTU is not responding.
Now we need to figure out why.
Are you running the latest firmware on the DTU?
Are you using any other components which might access the DTU?
Are you using something else at the same time, e.g. OpenDTU?

To the best of my knowledge, my firmware version is up to date.
The only other component is S-Miles Cloud and the mobile application. But this should not affect the Home Assistant integration. There is no second DTU like OpenDTU or AhoyDTU running.
I tried to run this Addon before. However, it did not work at all (no connection to DTU) and I removed this addon before starting to use your integration. I was very happy to see data using your integration.
However, today the communication between Home Assistant and DTU works exactly once after reboot. The received data keeps being frozen until the next reboot.
DTU:
Hardware version H06.01.01
Software version V00.03.12
Inverter:
Hardware version H00.08.00
Software version V01.00.14

I'm wondering if this is related to https://github.com/suaveolent/ha-hoymiles-wifi/issues/32#issuecomment-2075150671 and this being an issue on Hoymiles side?

After reinstallation of the integration, i increased the update interval to 60 s. It appears to work fine for the last 18 hours with one minor flaw: there is loss of data at random times (cf. screenshot of voltage). This issue applies to all data.

Here is an exemplary log with issue at 19:47:30:
2024-04-24 19:46:23.504 DEBUG (MainThread) [custom_components.hoymiles_wifi.coordinator] Hoymiles data coordinator update
2024-04-24 19:46:25.891 DEBUG (MainThread) [custom_components.hoymiles_wifi.coordinator] Finished fetching hoymiles_wifi data in 2.387 seconds (success: True)
2024-04-24 19:46:25.892 DEBUG (MainThread) [custom_components.hoymiles_wifi.sensor] Returning last known value instead of 0.0 for AC-Tagesenergie to avoid resetting total_increasing counter
2024-04-24 19:47:25.505 DEBUG (MainThread) [custom_components.hoymiles_wifi.coordinator] Hoymiles data coordinator update
2024-04-24 19:47:30.517 DEBUG (MainThread) [custom_components.hoymiles_wifi.coordinator] Unable to retrieve real data new. Inverter might be offline.
2024-04-24 19:47:30.518 DEBUG (MainThread) [custom_components.hoymiles_wifi.coordinator] Finished fetching hoymiles_wifi data in 5.013 seconds (success: True)
2024-04-24 19:47:30.518 DEBUG (MainThread) [custom_components.hoymiles_wifi.sensor] Returning last known value instead of 0.0 for AC-Tagesenergie to avoid resetting total_increasing counter
2024-04-24 19:47:30.520 DEBUG (MainThread) [custom_components.hoymiles_wifi.sensor] Returning last known value instead of 0.0 for Port 1 DC-Gesamtenergie to avoid resetting total_increasing counter
2024-04-24 19:47:30.521 DEBUG (MainThread) [custom_components.hoymiles_wifi.sensor] Returning last known value instead of 0.0 for Port 1 DC-Tagesenergie to avoid resetting total_increasing counter
2024-04-24 19:48:30.505 DEBUG (MainThread) [custom_components.hoymiles_wifi.coordinator] Hoymiles data coordinator update
2024-04-24 19:48:32.346 DEBUG (MainThread) [custom_components.hoymiles_wifi.coordinator] Finished fetching hoymiles_wifi data in 1.841 seconds (success: True)
2024-04-24 19:48:32.347 DEBUG (MainThread) [custom_components.hoymiles_wifi.sensor] Returning last known value instead of 0.0 for AC-Tagesenergie to avoid resetting total_increasing counter

I'm wondering if this is related to #32 and this being an issue on Hoymiles side?

I don't think so. Daily energy keeps increasing.

After reinstallation of the integration, i increased the update interval to 60 s. It appears to work fine for the last 18 hours with one minor flaw: there is loss of data at random times (cf. screenshot of voltage). This issue applies to all data.

Thanks, It might be that the DTU is overwhelmed by the short default update interval.
The graph you posted reminds me of https://github.com/suaveolent/ha-hoymiles-wifi/issues/14.
It could be that there are some overlaps of the cycles of the integrations commands which causes the DTU to be overwhelmed. Although interestingly this does not happen to the HMS-800W-2T any more.

After reinstallation of the integration, i increased the update interval to 60 s. It appears to work fine for the last 18 hours with one minor flaw: there is loss of data at random times (cf. screenshot of voltage). This issue applies to all data.

Thanks, It might be that the DTU is overwhelmed by the short default update interval. The graph you posted reminds me of #14.
It could be that there are some overlaps of the cycles of the integrations commands which causes the DTU to be overwhelmed. Although interestingly this does not happen to the HMS-800W-2T any more.

I have a new installation with HMS-800W-2T and the updates worked fine for a day but now the values are not refreshed anymore in HA. Over the S-Miles App the Data is updated normally. HMS is o nthe latest available FW, HA was uodated to the latest Version yesterday. Restart of the HA does not help.
HA working in Hyper-V on Windows 11.

After reinstallation of the integration, i increased the update interval to 60 s. It appears to work fine for the last 18 hours with one minor flaw: there is loss of data at random times (cf. screenshot of voltage). This issue applies to all data.

Thanks, It might be that the DTU is overwhelmed by the short default update interval. The graph you posted reminds me of #14.
It could be that there are some overlaps of the cycles of the integrations commands which causes the DTU to be overwhelmed. Although interestingly this does not happen to the HMS-800W-2T any more.

I have a new installation with HMS-800W-2T and the updates worked fine for a day but now the values are not refreshed anymore in HA. Over the S-Miles App the Data is updated normally. HMS is on the latest available FW, HA was updated to the latest Version yesterday. Restart of the HA does not help.
HA working in Hyper-V on Windows 11.

Are you running your inverter together with a battery? Have you tried restarting the DTU ?

Hi,
No, no battery, just the inverter plugged in directly to the grid.
DTU turns off every night when there is no solar energy produced, I didn't
perform a factory reset of the DTU.
Kind regards
V sre., 8. maj 2024, 11:03 je oseba suaveolent @.***>
napisala:

After reinstallation of the integration, i increased the update interval
to 60 s. It appears to work fine for the last 18 hours with one minor flaw:
there is loss of data at random times (cf. screenshot of voltage). This
issue applies to all data.
Thanks, It might be that the DTU is overwhelmed by the short default
update interval. The graph you posted reminds me of #14
https://github.com/suaveolent/ha-hoymiles-wifi/issues/14.
It could be that there are some overlaps of the cycles of the integrations
commands which causes the DTU to be overwhelmed. Although interestingly
this does not happen to the HMS-800W-2T any more.
I have a new installation with HMS-800W-2T and the updates worked fine for
a day but now the values are not refreshed anymore in HA. Over the S-Miles
App the Data is updated normally. HMS is on the latest available FW, HA was
updated to the latest Version yesterday. Restart of the HA does not help.
HA working in Hyper-V on Windows 11.
Are you running your inverter together with a battery? Have you tried
restarting the DTU ?
—
Reply to this email directly, view it on GitHub
https://github.com/suaveolent/ha-hoymiles-wifi/issues/31#issuecomment-2100105999,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BDI7WOQ3RMXTKD7EWKT3LHTZBHS5HAVCNFSM6AAAAABGWOBJC2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBQGEYDKOJZHE
.
You are receiving this because you commented.Message ID:
@.***>

Could it be, that the IP-Adress you are using has changed since the install (Some routers will not assign the same ip after the device reconnects)

Shouldn't be the cause because I have defined a fixed IP address for the
DTU in the Router DHCP settings but I can double check that.
V sre., 8. maj 2024, 11:21 je oseba suaveolent @.***>
napisala:

Could it be, that the IP-Adress you are using has changed since the
install (Some routers will not assign the same ip after the device
reconnects)
—
Reply to this email directly, view it on GitHub
https://github.com/suaveolent/ha-hoymiles-wifi/issues/31#issuecomment-2100141194,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BDI7WOWG4WHP5ZSAGWRS7J3ZBHVATAVCNFSM6AAAAABGWOBJC2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBQGE2DCMJZGQ
.
You are receiving this because you commented.Message ID:
@.***>

Can you also verify if you can ping the inverter from your home assistance instance?

I had the option to check the network settings today and you were right.
From some reason the Router didn't assign the designated IP to the DTU. I
deleted the DHCP config for the DTU and created a new one, restarted the
Router and am now able to see the DTU data in HA again. Thanks for the idea!
V sre., 8. maj 2024, 17:17 je oseba suaveolent @.***>
napisala:

Can you also verify if you can ping the inverter from your home assistance
instance?
—
Reply to this email directly, view it on GitHub
https://github.com/suaveolent/ha-hoymiles-wifi/issues/31#issuecomment-2100822618,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BDI7WOUR5T7MNH4QBJB2ZE3ZBI6WZAVCNFSM6AAAAABGWOBJC2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBQHAZDENRRHA
.
You are receiving this because you commented.Message ID:
@.***>

Great,
Glad it works!
Closing the issue then.


playlist_id should be case-sensitive #8138

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

Playlist Id is now case sensitive.
Console output :
./yt-dlp.sh --verbose --ignore-config https://media.ccc.de/c/DS2023 [debug] Command-line config: ['--verbose', '--ignore-config', 'https://media.ccc.de/c/DS2023'] [debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8 [debug] yt-dlp version<EMAIL_ADDRESS>[b532a3481] (source) [debug] Git HEAD: 20fbbd924 [debug] Python 3.9.2 (CPython x86_64 64bit) - Linux-6.1.0-1parrot1-amd64-x86_64-with-glibc2.31 (OpenSSL 1.1.1n  15 Mar 2022, glibc 2.31) [debug] exe versions: none [debug] Optional libraries: sqlite3-2.6.0 [debug] Proxy map: {} [debug] Loaded 1866 extractors [media.ccc.de:lists] Extracting URL: https://media.ccc.de/c/DS2023 [media.ccc.de:lists] DS2023: Downloading JSON metadata [download] Downloading playlist: Datenspuren 2023 [media.ccc.de:lists] Playlist Datenspuren 2023: Downloading 37 items of 37 [download] Downloading item 1 of 37
Fixes #8138
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[ ] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Copilot Summary

🤖 Generated by Copilot at 94570d4
Summary
🐛🆔🔤

Fix playlist download bug in ccc.py extractor. Preserve the original case of the playlist ID instead of lowercasing it.

playlist_id fixed
No more lowercasing bugs
Winter downloads work

Walkthrough

Fix playlist download bug by removing .lower() from playlist_id (link)

Add https://media.ccc.de/c/DS2023 as a test

i hope this does the job. This is my first ever commit, i am sorry if there are any mistakes in my work.

The change is exactly right, we just need a test added to _TESTS

Understood. Thank you.

class CCCPlaylistIE(InfoExtractor):
IE_NAME = 'media.ccc.de:lists'
_VALID_URL = r'https?://(?:www.)?media.ccc.de/c/(?P[^/?#&]+)'
_TESTS = [{
'url': 'https://media.ccc.de/c/30c3',
'info_dict': {
'title': '30C3',
'id': '30c3',
},
'playlist_count': 135,
}]
So, is this where I need to add the test case? I am sorry if i am asking dumb questions.

Yeah, add a test dict to the _TESTS list. You could just duplicate the already-existing test and then change its url, id and title values. Adjust the playlist_count value so that it is correct and the test passes
Run the test like this
python test/test_download.py TestDownload.test_CCCPlaylist_1

I think that does it. Thank you for bearing with my silly mistakes.

No worries, thanks for the PR


proposal: reducing complexity of models

🚀 Feature
Reduce complexity of current model code by factoring out user-facing API as a view, business logic as a controller, and data structures as a model.
Motivation
Model code is getting excessively complex. Files are typically over 1000 lines long and difficult to parse/keep track of what's going on. Currently, our models are dealing with data management, presentation logic (i.e. Python magic & data conversion to make it better for users), and business logic.
Right now I feel like we have to make tradeoffs between nice UX and maintainability for the API and separating these components makes it easier to maintain without sacrificing our nice API. Take for example how we handle private variables: either they go without any documentation and can be confusing to the developer or they wind up awkwardly in the public-facing documentation where it doesn't really belong and confuses the user.
Furthermore, I think that the current user-facing API functions more like a view since we do a lot of input/output conversions and use custom Python syntax for a nicer user experience. Perhaps the best example of this is the LayerList.
Pitch
I want to split out the current model code into model, view, and controller classes.
Model
The model would be a simple data class that notifies when its fields are changed.
from dataclasses import dataclass

@dataclass
class PointsLayerModel(BaseLayerModel):
    data: Array = notifier()
    mode: Mode = notifier()
    ...

This makes it easy to keep track of all relevant information pertaining to the state. You can even easily convert this state into a dictionary for saving and sharing with dataclasses.asdict. Keeping this class simple may also make it easier to handle settings and create autogenerated code from the state.
View
The view would be a simple shell that mimics what you can do with the GUI. It emits events when a user interacts with it and may clean the input before handing it off to the controller.
class Points(Layer):
    @property
    def mode(self):
        return str(self._model.mode)

    @mode.setter
    def mode(self, mode):
        self.events.mode(value=Mode(mode))

Controller
The controller handles the business logic, connects the model to the view, and modifies the model. In a lot of cases it will be a simple event handler that prevents setters from being called multiple times (this can be autogenerated).
class PointsLayerController(BaseLayerController):
    def on_mode_change(self, event):
         with event.source.events.mode.blocker():
             self.model.mode = event.value

    def on_data_change(self, event):
         data = event.value
         data_view = ...
         # calculation of data view goes here
         self.model.data_view = data_view

Alternatives
We could factor out the view without separating the model and the controller and it wouldn't be too big of an issue, but I believe that it would make it easiest to maintain in the future.
Additional context
Flow of current structure (diagram by @shanaxel42):

Flow of structure in #1040 (diagram by @shanaxel42):

Flow of proposed structure:

@kne42 Thanks for writing this up! I see where you're coming from, and I'm a fan of dataclasses! I also think that our API is getting quite bloated and needs to go on a diet. :joy:
The big question for me with this design, which was neatly solved by #1040, is how you prevent an infinite loop between a view and the model. There's the blocker pattern, which results in a lot of boilerplate everywhere, and there's checking whether the notification data is any different from the existing data, but that can be expensive, or doesn't really work with in-place modifications e.g. of numpy arrays.
I also quite strongly dislike having the API view be different from the model. The model should be the API, in my opinion. The Pythonic way is to have direct access to the data. In other words, from napari.layers import Image should be the model and the preferred way to interact with said model. It's unclear to me whether in your diagram, that import would give me the API View, the Model, or the API view but also instantiate the Controller and the Model.
Thoughts?

There's the blocker pattern, which results in a lot of boilerplate everywhere, and there's checking whether the notification data is any different from the existing data, but that can be expensive, or doesn't really work with in-place modifications e.g. of numpy arrays.

The blocker pattern isn't too bad if you use autogenerated code to aid with the boilerplate. We can also do what #1040 was doing with separate setters where one emits an event and another does not.

The model should be the API, in my opinion.

I agree, in an ideal world. But I think that we're getting to the point where the code is so messy that we can no longer stick to our ideals. It is much more pragmatic to improve maintainability, especially if nothing changes on the user end. Furthermore, separating out these aspects of the program will make it much easier to fool-proof the API if we wish, in the event that we no longer want to take a "garbage in garbage out" approach.

In other words, from napari.layers import Image should be the model and the preferred way to interact with said model.

I disagree. The preferred way to instantiate and interact with layers should be via Viewer.add_* calls. Within those calls, the Controller and Model will be created with the Views and connected to each other.

This is very interesting, and I'll need to spend more time thinking about it before weighing in, but one think I want to add now, is that at this point any major redesign should really put ideas for our plugin interface and headless mode at the front and center too.

The preferred way to instantiate and interact with layers should be via Viewer.add_* calls. Within those calls, the Controller and Model will be created with the Views and connected to each other.

I think here we need to be careful and really think about what plugins will be doing when there is no viewer and how everything will keep on working seamlessly. See #1272 for some discussion already.
More feedback to come, and thanks for writing it up so clearly and providing a diagram, it really helps me to understand!!

I also quite strongly dislike having the API view be different from the model. The model should be the API, in my opinion. The Pythonic way is to have direct access to the data. In other words, from napari.layers import Image should be the model and the preferred way to interact with said model. It's unclear to me whether in your diagram, that import would give me the API View, the Model, or the API view but also instantiate the Controller and the Model.

💯

I agree, in an ideal world. But I think that we're getting to the point where the code is so messy that we can no longer stick to our ideals. It is much more pragmatic to improve maintainability, especially if nothing changes on the user end. Furthermore, separating out these aspects of the program will make it much easier to fool-proof the API if we wish, in the event that we no longer want to take a "garbage in garbage out" approach.

I don’t know. Napari hasn’t reached a 1.0 release, there’s no Napari publication, and (as far as I know) there’re few Napari users. From a maintenance perspective, publicizing classes like napari.layers.Image (and encouraging their use) will help ensure Napari’s fundamental data structures remain (or, depending on your perspective, become) ergonomic, tested, and documented.

This is very interesting, and I'll need to spend more time thinking about it before weighing in, but one think I want to add now, is that at this point any major redesign should really put ideas for our plugin interface and headless mode at the front and center too.

In my opinion, the plug-in interface shouldn’t make any assumptions about the user interface (or even the existence of a user interface). As a teenager in the late-90s, I have endearing, nostalgic memories of insane VST plug-in interfaces, but that’s not something I want to revisit!

@kne42 I love the diagram. My suggestion:

I think this has the benefit of making it orthogonal to plug-in discussions.

Hello! First off I know I've been super out of the loop on things so my opinions here may not be up to data with the current discussions. But wanted to give some input. Thanks @kne42  for writing this up, and especially for making the diagrams.
So what I like about this proposal is the addition of the "controller" as the place where you cleanup data before updating the model or add other logic. It seems like the main issue around the model files getting bloated could be solved by just adding this layer.
I see the appeal of wanting to make the separate view file for interacting with the model but I'm with @jni that "The model should be the API". At lest for the developer use case.
I would also strongly discourage moving in any direction that continues to use the blocker pattern, it just creates a high likelihood of infinite loops or repeat calls and was one of the main things I was trying to eliminate in my original proposal.
Napari is unique in that it supports interfacing with the data from both the GUI and the data directly. And now a third use case - plugins. If you wanted to incorporate the addition of controllers my suggestion would be to have any use case besides direct data manipulation go through the controller. So what this looks like for each use case:

Developer Scenario a user wants to interact with the data directly. They should be able to directly update the models which emit an event that the event handler picks up to update the views.

GUI user scenario a user interacts with the data though the GIU, an event is emitted, the event handler picks it up and calls the controller's update method which then updates the data model

Plugin Scenario A plugin interacts with the models by calling update methods defined in the controller. This also has the advantage of more control over what a plugin can/cannot do with models.

Anyway my 2 cents, thanks @kne42 for all your hard work on this!

Thanks @0x00b1 @shanaxel42 for weighing in, and great stuff @kne42 putting this together.
Echoing a lot of what has been said, I really like the idea of our models now becoming very simple and clean.
I actually think our layer models should have no concept of slicing/ dims/ cursor position/ viewed_data/ UI properties (like selected) and all these things that are on them now because we never had a controller. I could even more a lot of the crazy mesh stuff in layers like shapes/ vectors out of there too. I'd just like our models to have the full nD data and the "meta" properties associated with each layer type (i.e. the layer._get_state() dictionary) as much as possible, and to emit events when those things are changed.
Having the controller will really enable this and so sounds like a good idea.
If we want both model <==> API and to avoid blockers or diffing though, then I think we need to take the #1040 approach and have two setters and from napari.layers import Image.
Does this mean we need an event handler AND a controller, which have different functionality, the event handler ensures we avoid blockers, the controller does this additional functionality above?

I guess in that case I'd keep us moving down the #1040 path, and then maybe add in the controller afterwards.

Oh one thing we should also resolve at this point is how we deal with properties on our layer model that are list like - should they be tuples, or do we need dedicated set methods, as right now with our setters events don't get emitted when we change them in place (i.e. layer.contrast_limits[1] = 10 won't trigger an update, which is confusing if we imagine we have a python api that enables this. I know this has been discussed by most of us before, but now also seems like a good time to address that if we can (at least conceptually, PRs can happen much later).

@shanaxel42 For sure. I think controllers will resolve most of the issues.

@kne42 I don’t want to step on your toes but I’d be more than happy to work on this with you. Let me know.

Thanks to everyone for weighing in! It seems that there is pretty strong consensus towards keeping the public API a model, so I'll ditch that idea, but I'm glad that people are considering the use of a controller (no surprise from @shanaxel42 tho since she was the one who first proposed it :P). Maybe we can use this issue to work out what belongs in the controllers vs everything else.
@0x00b1 I'd love to work on this with you! I don't have any experience in architecture/other stuff so I would really appreciate your knowledge on what to do :)

right now with our setters events don't get emitted when we change them in place (i.e. layer.contrast_limits[1] = 10 won't trigger an update, which is confusing if we imagine we have a python api that enables this

@sofroniewn you'll need to create custom classes that mimic python data structures like what we did with LayerList. However, I'm not sure how much @jni would be a fan of this :P

with our work around pydantic data classes, I think we can close this issue?

Probably? I haven't been active on this repo in a while, can you catch me up to speed on what we're doing with those?

The main thing we've done is turn things into pydantic evented models - see here https://github.com/napari/napari/blob/978dd9e8108a3cd243c2266013eed4b3d2a604fc/napari/utils/events/evented_model.py#L66-L104 (though we havn't done this for layers yet)

I certainly think the specifics of how we would reduce complexity now are different from mid-2020, so perhaps a new issue is warranted.


Add 'azure-rm' ubuntu image details.

Same used with elasticsearch image.

This is not needed, see the lines immediately below:
       "custom_managed_image_name": "{{user `azure_elasticsearch_image_name`}}",
       "custom_managed_image_resource_group_name":"{{user `azure_resource_group_name`}}",

Please follow the instructions and specify azure_elasticsearch_image_name after generating the ES image. The Kibana image is based on the ES image.


Warning: The set-output command is deprecated and will be disabled soon.

There are two warnings in the logs of builds like the below when using the action.
Warning: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Here is the GitHub notification on it: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
I can't see any instances of set-output in the code, so it is probably just a matter of bumping a few packages up to start using the versions that have updated this.
Here is an example for @actions/core: https://github.com/actions/toolkit/issues/1218#issuecomment-1292412551

We are calling the setOutput function from the @actions/core library, so we either need to bump it as you said, or maybe there is a new function call we should be using.
https://github.com/balena-io/deploy-to-balena-action/blob/c9d7b49b03ee6d083c6298d48e79cf93a7678914/src/action.ts#L143-L144

This Renovate PR should have fixed it, but we closed it.
https://github.com/balena-io/deploy-to-balena-action/pull/221


fix: search_table API swagger file bug fix

Summary of Changes
The swagger file of search_table API did not show the request body in the UI because of which API was inaccessible. In this MR, the swagger file's indentation is fixed and an unwanted property from the request body has been removed.
Documentation
N/A
CheckList
Make sure you have checked all steps below to ensure a timely review.

[x] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[x] PR includes a summary of changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does

thanks for the contribution! could you fix the DCO?


Support load config in ~/.config/.nirc

Clear and concise description of the problem
As a user, I'd like every CLI's config file can put in a folder like ~/.config instead of putting on user's root folder. It would make my root folder mess and inconvenient to manage.
Suggested solution
Currently, ni only read config in ~/ . I hope that you could path in ~/.config
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Hi, bro, I have find a way to automatically read nirc file from the custom path, just use Environment Variable, If your machine is based on windows, you can follow this blog.

I think based on the readme, you can "just" add this to your shell rc to use a custom configuration file path?
# ~/.bashrc

# custom configuration file path
export NI_CONFIG_FILE="$HOME/.config/ni/nirc"


Fix Theme docs

Added strings needed for tabsUI
Change some outdated strings
Added strings used in nexx's plugins
Reorganized some strings
😼

that's a lot of work! appreciate that ❤


Simplify file completeness check

This is a semantic noop, but the old code was bugging me.

CI expecting every PR to touch the changelog is maybe not entirely sensible.

Yeah, will adjust.


[english web site] 'useing' should be 'using'?

https://dubbo.apache.org/en-us/docs/user/dependencies.html
the bottom of this page :
‘In theory, Dubbo only depend on JDK, not depend on any 3rd party libs, you can finish logic by useing JDK. ’
'useing' should be ‘using’.

I will fix this.


Update slack invite link to https://qisk.it/join-slack

Summary
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.003%) to 85.357%

Files with Coverage Reduction
New Missed Lines
%

qiskit/circuit/tools/pi_check.py
1
91.23%

qiskit/pulse/library/waveform.py
3
91.67%

Totals

Change from base Build<PHONE_NUMBER>:
-0.003%

Covered Lines:
68039

Relevant Lines:
79711

💛  - Coveralls


add release watch subcommand

This PR adds a new subcommand watch to the release command.
The user interactively adds Drone builds, GitHub releases or pull requests to add to a list. The list will poll each resource periodically to update its status badge.
When the user adds or removes items, the list is saved to ~/.ecm-distro-tools/watch_list.json

The alias tea for charmbracelet/bubbletea is a convention they introduce in their documentation.

casette.tape is a script for the gif utility vhs for generating animated terminal images for README files.


Issue/fix formatting

pull req to fix formatting / fake bug

Comment on pull request!

Going to merge this the instructions don't rlly say so I'm going to


Cache system

Pull-request

[x] I have read the code of conduct.
[x] I have created a relating issue.

Changes

[x] Existing code
[x] New feature

Closes : #36
Description
Replace this sentence with general description of what your Pull Request does.

Codecov Report

Merging #45 (45033ca) into master (1f6ee92) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master     #45    +/-   ##
=======================================
  Coverage    0.00%   0.00%
=======================================
  Files         255     264     +9
  Lines        5197    5488   +291
  Branches      642     626    -16
=======================================
- Misses       5197    5488   +291

Impacted Files
Coverage Δ

...io/github/realyusufismail/cache/CacheStorerer.java
0.00% <0.00%> (ø)

...o/github/realyusufismail/cache/SnowFlakeCache.java
0.00% <0.00%> (ø)

...ub/realyusufismail/cache/SortedSnowflakeCache.java
0.00% <0.00%> (ø)

...thub/realyusufismail/cache/member/MemberCache.java
0.00% <0.00%> (ø)

...ub/realyusufismail/event/adapter/EventAdapter.java
0.00% <ø> (ø)

...b/realyusufismail/event/recieve/EventReceiver.java
0.00% <ø> (ø)

...ealyusufismail/event/recieve/util/ClassWalker.java
0.00% <ø> (ø)

.../realyusufismail/event/respond/EventResponder.java
0.00% <ø> (ø)

...thub/realyusufismail/logger/LoggerColorScheme.java
0.00% <ø> (ø)

...ub/realyusufismail/websocket/HandleDisconnect.java
0.00% <ø> (ø)

... and 261 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


import mxnet errors

Description
If I use pip(which is provided by OS, is not the version through get-pip.py script) to install mxnet, there are some errors occur when I run "import mxnet as mx".
Environment info
Operating System:
Ubuntu 14.04
Compiler:
gcc 4.8.4
Package used (Python/R/Scala/Julia):
Python
MXNet version:
0.10.0.post2
MXNet commit hash (git rev-parse HEAD):
Python version and distribution:
python 2.7
Error Message:

OSError                                   Traceback (most recent call last)
 in ()
----> 1 import mxnet as mx
/usr/local/lib/python2.7/dist-packages/mxnet/init.py in ()
5
6 from .context import Context, current_context, cpu, gpu
----> 7 from .base import MXNetError
8 from . import base
9 from . import contrib
/usr/local/lib/python2.7/dist-packages/mxnet/base.py in ()
50 version = libinfo.version
51 # library instance of mxnet
---> 52 _LIB = _load_lib()
53
54 # type definitions
/usr/local/lib/python2.7/dist-packages/mxnet/base.py in _load_lib()
42     """Load libary by searching possible path."""
43     lib_path = libinfo.find_lib_path()
---> 44     lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_GLOBAL)
45     # DMatrix functions
46     lib.MXGetLastError.restype = ctypes.c_char_p
/usr/lib/python2.7/ctypes/init.pyc in init(self, name, mode, handle, use_errno, use_last_error)
363
364         if handle is None:
--> 365             self._handle = _dlopen(self._name, mode)
366         else:
367             self._handle = handle
OSError: /usr/local/lib/python2.7/dist-packages/mxnet/libmxnet.so: invalid ELF header
Minimum reproducible example
I don't use wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py, and I directly use the pip which provided by OS. The pip version is pip-1.5.4.
Steps to reproduce
or if you are running standard examples, please provide the commands you have run that lead to the error.

What have you tried to solve it?

I try to uninstall my pip and use the pip which gained through get-pip.py. After that, mxnet is running normally.

pip 1.5.4 is too old, so you might have got a wrong version of mxnet.

Hi,
I have the same problem when i try to import package under python :

Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import mxnet
Traceback (most recent call last):
File "", line 1, in
File "mxnet_init_.py", line 25, in
from .base import MXNetError
File "mxnet\base.py", line 86, in
_LIB = _load_lib()
File "mxnet\base.py", line 78, in load_lib
lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL)
File "C:\Python27\lib\ctypes_init.py", line 362, in init
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] Le module spÚcifiÚ est introuvable

I recompiling this morning with the HEAD.
And I launch the command after compilation: 'python setup.py install'
I work on windows 10.
Could you please give an advise ?
regards

Windows pip wheels are provided now for mxnet and mxnet-cu80 (CUDA8.0 support) packages. You can try it by invoking pip install -U --pre mxnet.
Feel free to reopen if it's still an issue.


Fix SemanticLogger.on_log

As described in #97, trying to use SemanticLogger.on_log produces the following error:
/usr/local/bundle/gems/semantic_logger-4.2.0/lib/semantic_logger/semantic_logger.rb:226:in `on_log': undefined method `on_log' for #<SemanticLogger::Appender::Async:0x00000000033fb328> (NoMethodError)

Thank you @tsauerwein for the fix


TypeError: source code string cannot contain null bytes

I'm getting this error each time i try to use this program. I'm running python version 3.
Traceback (most recent call last):   File "safaribooks.py", line 9, in <module>     import requests TypeError: source code string cannot contain null bytes

The program is working. The error was caused by my installation.


add prettier along with pre-commit hook to autoformat code, fixes #1266

I'm going to update this after everything has been moved into /functions.

Does prettier implement anything useful that lint doesn't check for? Personally, I'm finding our lint precommit hook annoying lately, because lint is really slow (on my computer, maybe 5-10 seconds) and I usually commit after a full npm test (though there are exceptions). So now I'm in the habit of git commit -n to avoid the preconmit hook. Adding more to the hook would be inconvenient... Also, I feel a little weird about having code modify my code from under me.

Does prettier implement anything useful that lint doesn't check for? Personally, I'm finding our lint precommit hook annoying lately, because lint is really slow (on my computer, maybe 5-10 seconds) and I usually commit after a full npm test (though there are exceptions). So now I'm in the habit of git commit -n to avoid the preconmit hook. Adding more to the hook would be inconvenient... Also, I feel a little weird about having code modify my code from under me.

@edemaine lint takes about the same time for.  Most of what we use lint for can be replaced with prettier.  Removing the rules that prettier covers might speed up a lint a little bit, but probably not by much.  The nice thing about prettier is that it'll fix any issues automatically.  It feels a little weird at first having something muck with your code.  It's changed how I code though.  I no longer waste time thinking about line length or indentation or trailing commas or whatever.  I let prettier do it's thing.
One thing we might look at to speed up lint is https://github.com/alansouzati/eslint-parallel.

I tried eslint-parallel and there was no appreciable speed up.

Maybe instead of adding prettier we can turn on a couple of more eslint rules.  The main thing that I wanted was some consistency about how we do imports with destructuring.  In some places we have import { foo } from "./foo" and in other places we have import {bar} from "./bar".

This sounds preferable to me.  Thanks!


Controlled Input not working

Describe the bug
Using native-base version 3.2.2. Following the documentation of Input specifically controlled input, I have found that I could never read the value of the input. Either the documentation is incorrect or the usage doesn't work.
To Reproduce
Follow the example in documentation. Check the value in onChange method.
Expected behaviour
Controlled input value is not being read.
CodeSandBox/Snack link
The documentation example doesn't work.
Platform

NativeBase version - 3.2.2
Device: iPhone 12
OS: iOS 15
React Native version - 0.64.3
Expo sdk version - 43.0.2
node >= 16

@rs6g10 Can you check this implementation and see if this solves your problem?
https://snack.expo.dev/@adityaj_geekyants/example

Same issue I used onChangeText instead

@rs6g10 Can you check this implementation and see if this solves your problem? https://snack.expo.dev/@adityaj_geekyants/example

Still doesn't work. event.target.value comes undefined on both iOS and Android. Works for web though. You can try with following simple example:
import React from "react"
import { Input, Text, Center, NativeBaseProvider } from "native-base"
export const Example = () => {
  const [inputText, setInputTextValue] = React.useState("")

  const handleChange = (event: any) => { setInputTextValue(event.target.value); }

  return (
  <>
    <Text>{inputText}</Text>
    <Input
      w={{
        base: "75%",
        md: "25%",
      }}
      onChange={handleChange}
      placeholder="Value Controlled Input"
    />
    </>
  )
}

export default () => {
  return (
    <NativeBaseProvider>
      <Center flex={1} px="3">
        <Example />
      </Center>
    </NativeBaseProvider>
  )
}

onChangeText

Thanks this works but you don't get the value from event.target.value.

@rs6g10 onChangeText prop takes a callback function that receives the input's text changes so event.target.value is not applicable there and if you want to use the onChange prop you can use event.nativeEvent.  https://snack.expo.dev/@cyrus2505/nativebase-starter-snack

Please update the docs then:
https://docs.nativebase.io/input#controlled-input
The controlled input seems to be wrong there
Facing the same issue.

this calback directly returns value

@NilsBaumgartner1994  You can check the working example here. This will be updated in the docs soon.


Move delete all left action to contrib

Move delete all left text to contrib and add test cases for it.
Currently there is one failing test, which is caused by an existing bug. I'll address this issue after syncing with Alex.

Right now I'm using executeEdits which generate a cursor for each edit if possible. While if we use executeCommand, the cursor number is not as expected (maybe I missed something there), see below gif.

LGTM 👍


AT+CIUPDATE does not work

Environment
Module or chip used:  ESP8266 on a custom board with 64Mbit SPI FLASH. Programmed with the ESP8266 Download Tool V3.8.8:

Firmware used: v<IP_ADDRESS> - ESP8266-IDF-AT_V2.0_0.zip
AT+GMR
AT version:<IP_ADDRESS>(88c2cde - Jul  9 2019 11:03:33)
SDK version:v3.2
compile time:Jul 15 2019 09:23:26
Bin version:2.0.0(WROOM-02)

OK

Problem Description
AT+CIUPDATE command fails.
The board is connected to the WiFi network and can resolve DNS:
AT+CIPDOMAIN="espressif.com"
+CIPDOMAIN:<IP_ADDRESS>

OK

Update command fails:
AT+CIUPDATE
+CIPUPDATE:1
+CIPUPDATE:2
+CIPUPDATE:3

ERROR

Happy to provide further debug info if you could advise how to get debug log output (as in #103), I don't see any debug output on either AT console or UART0?

@omerk Hi, please take a look https://docs.espressif.com/projects/esp-at/en/latest/Get_Started/Hardware_connection.html#esp8266-series
Log output is from UART1, please provide the log output from UART1 and UART0.

@ustccw What baud rate does UART1 use? No mention of this anywhere in the docs, I see data just nothing that makes sense at common baud rates that I have tried.

@omerk baud rate of UART0 and UART1 is 115200. thanks! will add the note to docs.
in addition, how u get the this firmware.

if the firmware is downloaded from ESP-AT GitHub Actions or AT Binary Lists, it should work
if the firmware is generated by self-compile, please according to the guide: https://docs.espressif.com/projects/esp-at/en/latest/Compile_and_Develop/How_to_implement_OTA_update.html

@omerk any updates? we added the note here at the same time: https://docs.espressif.com/projects/esp-at/en/latest/Get_Started/Hardware_connection.html

Closing due to lack of response, please feel free to reopen if this is still an issue and you can supply more details. Thanks.


Malayalam News classification

Uploaded another example using the pattern.web module. An Indian language named Malayalam was added here and according to the search results obtained by entering a Malayalam keyword, a classification was done for categorising.
Would add more examples using Malayalam.

Coverage decreased (-0.9%) to 67.422% when pulling 2f4913562f004d89414c99dc14f88ba6e31ebe5f on abhijithneilabraham:master into 5b85d998c30ddc6772b56310713530224466083a on clips:master.

I also uploaded a function "translated" to get the search results in translated form in the preferred language for the "Twitter" class.


Error installing Microsoft .Net Core 2.2.7 Windows Server Hosting

Describe the bug
I tried installing Microsoft .NET Core 2.2.7 Windows Server Hosting on Windows Server 2008 R2 (Hyper-V) but an error has ocurred:

I also tried dotnet --info but an error is thrown:

OS Info

Installation Logs

Further technical details

ASP.NET Core version
Include the output of dotnet --info
The IDE (VS / VS Code/ VS4Mac) you're running on, and it's version

@whizkidwwe1217 thanks for contacting us.
@jkotalik @shirhatti Can you help route this to the appropriate folks?

@joeloff ?
@whizkidwwe1217 if you could post the log file with the failure rather than screenshots, that would be useful. My guess is there may be a component that needs to be installed on WinServer 2008 that is available on Win8+.

@javiercn @jkotalik Okay I just figured out what's causing the issue. It throws an error when installing the hosting bundle because it needs an internet connection and regarding the other error, "failed to load hostfxr.dll", I need to install KB2533623 Windows Server update.

Yup, there are KBs required for the runtimes on certain OS versions. I'm curious what required the internet connection. The runtime in 1.x used to have a C++ redist dependency that it would download, but that was removed during 2.x development AFAIK

The CABs are definitely signed, so the theory about needing to download the cert to verify the signature would make sense. When the signature is verified it will usually walk the complete chain of issues up to the root authority and any intermediate certificates would need to be downloaded AFAIK. I don't see a good mitigation for this inside environments that are locked down, e.g. internal servers with no outside connection.


How to load a history file?

Is it possible to load a history file with SimpleHandler?
When I use  a history file from https://geofabrik.de/ with SimpleHandler than I get the following error:
RuntimeError: Way ID twice in input. Maybe you are using a history or change file?
Osmium-tool can handle history file, could it pyosmium too?

History files should be working fine. Can you post the script your are trying to run?

Python 3.8.2
osmium 2.15.4
I get the error with history & diff files.
With changeset files, it works fine.
Code:
from osmium._osmium import SimpleHandler
from osmium.osm._osm import Area, Node, Way

class OSMHandler(SimpleHandler):
    def __init__(self):
        SimpleHandler.__init__(self)

    def node(self, node: Node):
        pass

    def way(self, way: Way):
        pass

    def area(self, area: Area):
        pass

def run_import():
    osmhandler = OSMHandler()

    # scan the input file and fills the handler list accordingly
    osmhandler.apply_file(
        filename="/app/bremen-internal.osh.pbf",
        locations=False,
        idx="flex_mem"
    )

Output:
Traceback (most recent call last):
  File "manage.py", line 30, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.8/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.8/dist-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.8/dist-packages/django/core/management/base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.8/dist-packages/django/core/management/base.py", line 369, in execute
    output = self.handle(*args, **options)
  File "/app/ohdm_django_mapnik/ohdm/management/commands/import_osh.py", line 10, in handle
    run_import()
  File "/app/ohdm_django_mapnik/ohdm/import_osh.py", line 24, in run_import
    osmhandler.apply_file(
RuntimeError: Way ID twice in input. Maybe you are using a history or change file?

The area handler is the culprit here. It cannot be used together with history files. If you remove it, everything works fine. You can add a relation callback if you are interested in those kind of objects.
Background: The area callback gets geometries that are built implicitly from OSM way and relation objects. This requires looking up locations from nodes. In a history file there are multiple versions of a node and finding out which one to use is not trivial. So osmium doesn't have support for that.

Thank you for detailed answer 🙂


How to get java methods at runtime for adding them in reports

Hi Cedric,
Thanks for writing this awesome piece.
I have a query....
At run time, how can I get the method names called under a testMethod
ex. ITestContext exposes the testMethods [I need to get java methods which are not annotated ].
Need:
@Test(dataProvider="itenary")
public void testBooking(StringArray data){
homePage(data);
searchPage(data);
bookingPage(data);
}
Now if a test fails in bookingPage() flow then I want to show the method name bookingPage(), similarly for all other methods [but as per my current understanding I can just show the test method name]
What I tried: thought to have different tests for all above 3 methods but since I need same data from dataprovider to be passed in all, so It can't be possible.
Can you please suggest, any alternative or a object which exposes methods at run time , so that I can make my reports more relevant.

@nullin @cbeust @VladRassokhin

To store data between methods you could use @Factory on class constructor and fields.
So could would look like:
class TestClass {
final Object[] args;
@Factory(dataProvider="itenary")
TestClass(Object[] args) {this.args = args}

@Test
void homePage() ...;
@Test(dependsOn="homePage")
searchPage(data) ...;
@Test(dependsOn="searchPage")
bookingPage(data) ... ;
}

But there exists another approaches, e.g. change method name in ITestResult, etc.

@VladRassokhin : thanks for replying , i'm trying this and will update on the same.
however, can you just forward any link which can give little more details on "e.g. change method name in ITestResult,"

@VladRassokhin : I tried using Factory but it doesn't serve my purpose, here is my code
public class TestClass {
	final int args;
	@Factory(dataProvider="itenary")
	public TestClass(int args)
	{
		this.args = args;
	}

	@DataProvider
	static public Object[][] itenary() {
	  return new Object[][] {
	    new Object[] { 41 },
	    new Object[] { 42 },
	  };
	}
	@Test(description="homePage /././.",dataProvider="itenary")
	public void homePage(int data){
		System.out.println("in searchPage, data="+data);
	}

	@Test(dependsOnMethods="homePage",dataProvider="itenary")
	public void searchPage(int data){
		System.out.println("in searchPage, data="+data);
	}

	@Test(dependsOnMethods="searchPage",dataProvider="itenary")
	public void bookingPage(int data){
		System.out.println("in bookingPage, data="+data);
	}
}

and the output is-
in homePage, data=41
in homePage, data=42
in homePage, data=41
in homePage, data=42
in searchPage, data=41
in searchPage, data=42
in searchPage, data=41
in searchPage, data=42
in bookingPage, data=41
in bookingPage, data=42
in bookingPage, data=41
in bookingPage, data=42
PASSED: homePage(41)
        homePage /././.
PASSED: homePage(42)
        homePage /././.
PASSED: homePage(41)
        homePage /././.
PASSED: homePage(42)
        homePage /././.
PASSED: searchPage(41)
PASSED: searchPage(42)
PASSED: searchPage(41)
PASSED: searchPage(42)
PASSED: bookingPage(41)
PASSED: bookingPage(42)
PASSED: bookingPage(41)
PASSED: bookingPage(42)

===============================================
    Default test
    Tests run: 12, Failures: 0, Skips: 0
===============================================

rather my desired output is  [Since I want all the tests should run for the same data in one cycle]-
in homePage, data=41
in searchPage, data=41
in bookingPage, data=41
in homePage, data=42
in searchPage, data=42
in bookingPage, data=42

My requirement is , when a test fails, so related enclosing method name should be displayed in test report
Ex.
when failure occurs in in bookingPage() flow then bookingPage() should be shown in test report but not testBooking()
[so that my report becomes more narrowed to understand which function caused the fail in entire booking flow testing]

@nullin @VladRassokhin @lukasj : anyone felt need of this an tried !

@cbeust : i'm naive at this, a little idea will help me achieve the custom requirement and if this feature is straight forward added in lib will definitely make more usable .

Using "ITestResult" also returns "testName" declred in testng xml file but not the java method called from the testMethod where the code had failed.
public void onTestFailure(ITestResult tr) {
	tr.getMethod().getMethodName().toString(); //returns testMethod name but not the method name from where onTestFailure is actuated
	tr.getMethod().getClass().getCanonicalName(); //returns class name
}

You can try: tr.getMethod().getConstructorOrMethod().getName()

@juherr : this too returns "testBooking" the name of annoted method rather I'm looking for name like "homePage" or "searchPage" etc from wherever the call is transfered to the respective listener method (onTestFailure / onTestSuccess / onTestSkipped)

@p00j4 Could you create a little and runnable project? That will be easier to understand.

@juherr : thanks for taking time out, here is the code- https://github.com/p00j4/customReoprt

Ok, I understand now.
Maybe you could try something with result.getThrowable() but not sure if it is possible.
I never have to use it, but maybe FluentLenium could help you too.

@p00j4
you can use this code inside any method-
int size = Thread.currentThread().getStackTrace().length;
System.out.println("size -"+size);
String methodName = Thread.currentThread().getStackTrace()[size-29].getMethodName().toLowerCase(); //there are other 28 methods call so ignore them
This piece of code will always give you the method name which is running currently inside @Test method, like - homePage.


Setup dependabot

Closed by https://github.com/philipcristiano/nomad-events-logger/commit/d32a828979caf089cdbf85b79b9920c2b01780fc


Added a new exploit

Added one that disables extensions by using the print page (really weird but works)

The exploit you described is the LTMEAT Print one, which I already included in the doc.

just noticed that mb


test if media is m3u8 if URL doesn't contain m3u8

This allows playing HLS video from URLs that do not contain m3u8, e. g. blobs.
If the URL does not contain m3u8 the first 1024 bytes are downloaded using a HTTP range request to verify if the file is a HLS playlist by testing if it contains #EXTM3U.
Note:

For this to work the HTTP Server needs to support HTTP range request. However this is widely supported by Apache, Nginx, S3 and many othes
Existing range headers set by users of the library are generally accounted for. However only the first range is used for file type verification
To allow HTTP requests the package http was added as a dependency

Will merge this today . Thanks for the contribution 😁

Released 0.1.11+3 on pub.dev with this fix. Thanks once again for the contribution @valentinleistner .


Specific group of route for some middleware

Hi all
Currently we must define path as string but it is good to have ability of define as Array :
middleware-pipeline.global.php:
'm2' => [
'middleware' => [
App\Middleware\My::class,
],
'path' => ['/ping','/another/one'],
'priority' => 10000,
],
Please see this commit:
https://github.com/ooghry/zend-stratigility/commit/dde05123261cd6bdd2176eab8e12b47f50932360

@weierophinney what are your thoughts on this?
Personally, I think it blurs the line between routing and piping and adds extra complexity to the MiddlewarePipe implementation without enough benefit to justify.
This can already be accomplished by attaching middleware from the route side instead, eg:
return [
    'routes' => [
        [
            'name' => 'ping',
            'path' => '/ping',
            'middleware' => [
                'App\Middleware\My::class',
            ],
        ],
        [
            'name' => 'another-one',
            'path' => '/another/one',
            'middleware' => [
                'App\Middleware\My::class',
            ],
        ],
    ],
];

That's an Expressive example, but in the case of using Stratigility directly it's also straightforward to do already:
$middleware = new \App\Middleware\My();
$app->pipe('/ping', $middleware);
$app->pipe('/another/one', $middleware);

Unless I've missed the point?

This issue is confusing because it's posted against Stratigility, but referencing configuration from Expressive, which makes evaluation difficult.
The ability to define an array of middleware in order to define a pipeline is specific to configuration-based marshaling of an Expressive application, and not a feature of Stratigility.
What you're requesting, if I understand correctly, is to be able to do similarly with the path configuration, which would be analogous to passing an array of paths to Zend\Stratigility\MiddlewarePipe::pipe().
The chief problem with adding such a feature, whether here or in Expressive, is that doing so adds a lot of complexity; determining if an array means an array of paths or indicates a PHP callable to use as middleware can become messy. Basically, any additional overloading of arguments makes maintenance much more difficult.
On top of that, while we'll be keeping the current config-based pipeline creation, our plan for Expressive 1.1 is to recommend instead programmatic creation of both the pipeline and the routing. Our experience so far is that doing so makes learning Expressive (and Stratigility) easier for newcomers, and provides a much more clear indication of the actual pipeline and routes than is presented in the configuration.
If you really want such a feature, I think a better approach would be to have a specialized MiddlewarePipe implementation that provides this ability through a new method, or via its constructor, or to create such pipelines separately, capture them in variables, and reference those within your configuration.


cgroup: fix regression when running systemd

commit 223fe64dc0a592fd44e0c9fde9f9e0ca087d566f introduced the
regression.
When running on cgroups v1, bind mount only /sys/fs/cgroup/systemd as
rw, as the code did earlier.
Also, simplify the rootless code as it doesn't require any special
handling when using --systemd.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1737554
Signed-off-by: Giuseppe Scrivano<EMAIL_ADDRESS>

LGTM, if it can pass the tests.

/lgtm
/hold

@giuseppe Can you rebase? Master is green again

rebased :arrow_up:

/lgtm

/hold cancel


Metadata validation

Seems to have a bit of an overlap with ingestion validation, e.g. identify a level of completeness for a metadata file (match against a set of expectations from a SoilWise perspective)

Ingestion validation and metadata validation were merged to one component. Functionality description will be consolidated.


HIVE-28005: Remove upgrade-acid module

What changes were proposed in this pull request?

Why are the changes needed?

Remove upgrade acid module, since it is relevant only for version 2 & 3
Dev List:
https://lists.apache.org/thread/39m8ccz2y8rhlz5pygowb3rk0sjk929c
Does this PR introduce any user-facing change?

No
Is the change a dependency upgrade?

No
How was this patch tested?

cc @ayushtkn


Add ack() after executing the subscriber handler

Right now we cannot catch the event when a subscriber handler finishes the execution. Something would be nice to solve this. Here I used the broker.Publication(), but maybe something else that allow us to inject our code to handle this event would be even better.

Acking cannot be supported in server subscribe due to the fact that multiple handlers can handle a single message in parallel. For acking users should use the broker directly.


Fix attribute allocation bug when using partial update with double precision

For https://github.com/uber/deck.gl/issues/3838
Was calling buffer.subData with Float64Array.

Coverage decreased (-0.005%) to 82.747% when pulling e58fff13f3918755b99abba7630d013864950410 on x/attribute-copy-fix into e031eabbe50936b0f7bbe0d0d336ebec75d163c8 on master.


how to monitor worker processes

We plan to use 'delayed' as an asynchronous processing worker on Kubernetes pods.
So we need a way to do healthcheck of the worker process and we have the following method to do the healthcheck now.
livenessProbe:
    exec:
      command:
        - bash
        - -lc
        - '[[ $(ps aux | grep delayed | grep -v grep | wc -l) > 0 ]]'

However, if there is a better method, we would like to adopt it.
So, do you have any other methods?
I'd like to know it for reference because I saw that you use kubertenes in other issues.

Hi @daichi5! We currently don't run our worker pods with a readinessProbe or livenessProbe, largely because they don't accept any outside HTTP traffic, so we don't really need the health checks for load balancing purposes. Instead we rely on the default behavior, which is that if the main process (at PID 1) exits, the container restarts.
We also use our cron/scheduler process to enqueue a background job once per minute, and that job emits a metric that we can use to alert ourselves if there are no workers running. But this exists outside of our k8s infrastructure, and we haven't shipped a generic version of this behavior, since it depends on the specifics of our internal monitoring/alerting infrastructure.

Hi @smudge! Thanks for the response.
I understand how you operate worker pods.

Instead we rely on the default behavior, which is that if the main process (at PID 1) exits, the container restarts.

As you said, health check may not be necessary because the container will be restarted if the main process exits.
However, we have enabled shareProcessNamespace, so our situation may be a little different.

We also use our cron/scheduler process to enqueue a background job once per minute, and that job emits a metric that we can monitor to alert ourselves if there are no workers running

The idea of this monitoring jobs is very helpful.
I think we'll try to use a similar approach to this one to manage worker processes.
Thank you!


[Adblock BUG] ui ads still showing up

Describe bug
ui ads still showing up
Steps to replicate
idk they come randomly
Necessary screenshots

Spicetify and Spotify Version
spicetify: 2.23.0
spotify: not sure how to check sorry
Config file:
nil

i have the same problem with the latest version of spotify and spicetify, it just like my spotify become darker fade like when there's an invisible banner ad and it makes me can't click anything other than the 3 dots on the top-left. so i just reset the spotify app.

i have the same problem with the latest version of spotify and spicetify, it just like my spotify become darker fade like when there's an invisible banner ad and it makes me can't click anything other than the 3 dots on the top-left. so i just reset the spotify app.

I get the ads that play every few songs aswell

same issue here.


samples / incorrect BigQuery Authorize Dataset Logic

https://github.com/googleapis/java-bigquery/blob/HEAD/samples/snippets/src/main/java/com/example/bigquery/AuthorizeDataset.java#L59
In the authorize dataset logic for bigquery sample, the user dataset acl is updated with that of source dataset, but it should be the other way round.

https://github.com/googleapis/java-bigquery/pull/2189
This is now fixed


spinlock

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

Comparison is base (260135b) 99.45% compared to head (2ae109b) 99.39%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main       #2      +/-   ##
==========================================
- Coverage   99.45%   99.39%   -0.06%
==========================================
  Files           1        1
  Lines         184      166      -18
==========================================
- Hits          183      165      -18
  Misses          1        1

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


something wrong when using crop_pic.py

Hello! I generate lists successfully. But when I crop face using crop_pic.py, I met a problem.
As for 300W, it cropped 3636 faces totally, not 3837.
As for AFLW, it cropped 21123 faces totally, not 24386.
Could you please tell me why the numbers are not equal?

Sorry for the late reply!
It might be because that some faces are cropped from the same image (one image may have different faces), and after cropping, these faces in the same image might be saved as the same name. This is just my guess, I will check this after CVPR.


Build input file cannot be found: '/Users/mac/forkcommerceBefours/build/ios/Debug-iphonesimulator/Runner.app/Runner' (in target 'Runner' from project 'Runner')

Xcode's output:
↳
error: Build input file cannot be found: '/Users/mac/forkcommerceBefours/build/ios/Debug-iphonesimulator/Runner.app/Runner' (in target 'Runner' from project 'Runner')
note: Using new build system
note: Planning build
note: Constructing build description
Could not build the application for the simulator.
Error launching application on iPhone 11 Pro Max.

@mbilawisdom,
You seem to have opened similar issue earlier today, 62634.
Please follow-up there for updates and kindly don't open multiple tickets for same issue.
Closing this as duplicate.


Proposed Car Abstraction Layer

Anything obvious I'm forgetting?
using Cxx = import "c++.capnp";
$Cxx.namespace("cereal");

@0x8e2af1e708af8b8d;

# ******* main car state @ 100hz *******
# all speeds in m/s

struct CarState {
  errors @0: List(Error);

  # car speed
  vEgo @1 :Float32;       # best estimate of speed
  wheelSpeeds @2 :WheelSpeeds;

  # gas pedal, 0.0-1.0
  gas @3 :Float32;        # this is user + computer
  gasPressed @4 :Bool;    # this is user pedal only

  # brake pedal, 0.0-1.0
  brake @5 :Float32;      # this is user pedal only
  brakePressed @6 :Bool;  # this is user pedal only

  # steering wheel
  steeringAngle @7 :Float32;   # deg
  steeringTorque @8 :Float32;  # TODO: standardize units
  steeringPressed @9 :Bool;    # if the user is using the steering wheel

  # cruise state
  cruiseState @10 :CruiseState;

  # button presses
  buttonEvents @11 :List(ButtonEvent);

  # which packets this state came from
  canMonoTimes @12: List(UInt64);

  struct WheelSpeeds {
    # optional wheel speeds
    fl @0 :Float32;
    fr @1 :Float32;
    rl @2 :Float32;
    rr @3 :Float32;
  }

  struct CruiseState {
    enabled @0: Bool;
    speed @1: Float32;
  }

  enum Error {
    # TODO: copy from error list
    commIssue @0;
    steerUnavailable @1;
    brakeUnavailable @2;
    gasUnavailable @3;
    wrongGear @4;
    doorOpen @5;
    seatbeltNotLatched @6;
    espDisabled @7;
    wrongCarMode @8;
    steerTemporarilyUnavailable @9;
    reverseGear @10;
    # ...
  }

  # send on change
  struct ButtonEvent {
    pressed @0: Bool;
    type @1: Type;

    enum Type {
      unknown @0;
      leftBlinker @1;
      rightBlinker @2;
      accelCruise @3;
      decelCruise @4;
      cancel @5;
      altButton1 @6;
      altButton2 @7;
      altButton3 @8;
    }
  }
}

# ******* radar state @ 20hz *******

struct RadarState {
  errors @0: List(Error);
  points @1: List(RadarPoint);

  # which packets this state came from
  canMonoTimes @2: List(UInt64);

  enum Error {
    notValid @0;
  }

  # similar to LiveTracks
  # is one timestamp valid for all? I think so
  struct RadarPoint {
    trackId @0: UInt64;  # no trackId reuse

    # these 3 are the minimum required
    dRel @1: Float32; # m from the front bumper of the car
    yRel @2: Float32; # m
    vRel @3: Float32; # m/s

    # these are optional and valid if they are not NaN
    aRel @4: Float32; # m/s^2
    yvRel @5: Float32; # m/s
  }
}

# ******* car controls @ 100hz *******

struct CarControl {
  # must be true for any actuator commands to work
  enabled @0: Bool;

  # range from 0.0 - 1.0
  gas @1: Float32;
  brake @2: Float32;

  # range from -1.0 - 1.0
  steeringTorque @3 :Float32;

  cruiseControl @4: CruiseControl;
  hudControl @5: HUDControl;

  struct CruiseControl {
    cancel @0: Bool;
    override @1: Bool;
    speedOverride @2: Float32;
    accelOverride @3: Float32;
  }

  struct HUDControl {
    speedVisible @0: Bool;
    setSpeed @1: Float32;
    lanesVisible @2: Bool;
    leadVisible @3: Bool;
    visualAlert @4: VisualAlert;
    audibleAlert @5: AudibleAlert;

    enum VisualAlert {
      # these are the choices from the Honda
      # map as good as you can for your car
      none @0;
      fcw @1;
      steerRequired @2;
      brakePressed @3;
      wrongGear @4;
      seatbeltUnbuckled @5;
      speedTooHigh @6;
    }

    enum AudibleAlert {
      # these are the choices from the Honda
      # map as good as you can for your car
      none @0;
      beepSingle @1;
      beepTriple @2;
      beepRepeated @3;
      chimeSingle @4;
      chimeDouble @5;
      chimeRepeated @6;
      chimeContinuous @7;
    }
  }
}

Think about EV : braking is part regen and part hydraulic , no RPM, no gear ratio, etc..
Radar you can probably add angle of detection and direction of TrackID
Plausible to broadcast to radio with Bluetooth for any audible Sound ?
Might be interested in the stock LKA status and front cam information since some integration will leave it "running" ?

Good point about EVs, the controls software doesn't really need gearRatio and RPM, so I'll remove them.
angle = tan(dRel/yRel)
The NEO itself can do sound, but it's not as reliable and doesn't lower the volume when it plays.
We remove the stock front cam, and that's how openpilot will be supported. Soon we will have support for cars that don't have stock cams.

Thanks.

Could you bring us some clarifications on how the radar report it's trackIDs on the Honda/Acura?  Does dRel represent the D and yRel represent the R like on this drawing :

Also , how the TrackIDs are sequenced? For example, on mine Track ID 1 is the obstacle in front of the vehicle, Track ID 2 is the obstacle in front of Track ID 1, Track ID 3 / 5 is an obstacle on the left lane , Track ID 4/6 is an obstacle on the right lane. Are they reported somewhat like this on the Honda ?

For the sound from the NEO, if you could do it like Waze does, at least on my car, it lower the music sound level and bring the Waze's notifications at the same level the music was. Pretty much like the alert sound does with the stock collision warning.

As for blind spot detection , I do have them on mine although I never looked for the CAN information. If they're supported , I will hunt the CAN data for sure!

One other thing you could add is the gap distance setting that some ACC has, usually 3-4 settings possible. Handy sometime to be able to change the gap.

dRel is the adjacent and yRel is the opposite on the right triangle to the car. The trackIds are sequential counting up.
That works if the NEO is playing the music only. Coming soon!
Yea, let me know re: BSI.
I don't like choices, more to qualify. I also feel the really short following distances supported on some cars are dangerous, since the user doesn't have time to react if the car messes up following closely.

I don't like choices, more to qualify. I also feel the really short following distances supported on some cars are dangerous, since the user doesn't have time to react if the car messes up following closely.

I agree with this thinking too. That said, with the stock Ford functionality at lower speeds cars behind me try to overtake me and then my car ends up leaving another big gap and it happens again. If it is not optional, hopefully openpilot maintains a safe distance in time units instead of meter units.

It's time units, yea.


fix(content-docs): warn when files are not tracked

Refs https://github.com/cardano-foundation/developer-portal/pull/557
Refs https://github.com/facebook/docusaurus/pull/6593

@Josh-Cena there are some changes here related to devcontainer configuration. Please let me know if you would like me to detach them from this PR.

Ref: https://github.com/jest-community/vscode-jest/pull/846/files

BTW, it's great that we have people developing with dev containers/vscode jest extensions, etc. I've personally never figured out how that worked so I just have it disabled😅 If you want to write some contributing guides, or improve our infrastructure around that, it would be great!


update rhel7 kernel cmdline to use mpath as the root

By default, the UUID is used as the root path when starting the OS.
Previously we only hardcode to mpath path as root for "RHEL8".
For RHEL7, we still use the default root fs UUID. But in our test, we
found that RHEL7 may also use single path as root when system boot.
This commit change the RHEL7 to explicitly specify mpath path as root.

Please do NOT merge now @bjhuangr , I will add some comments soon


Improve error messages when concurrent modifications to an app time out.

Currently, when too many clients try to modify the same app concurrently, and some clients time out, they get an obscure error message: Futures timed out after [10000 milliseconds], and response code 504.
The error message should be more descriptive, ex. Too many concurrent modifications for APP_NAME. Please try again later., along with a client error code; 409 Conflict seems most appropriate.

Note: This issue has been migrated to https://jira.mesosphere.com/browse/MARATHON-2956. For more information see https://groups.google.com/forum/#!topic/marathon-framework/khtvf-ifnp8.


Lua error and reverb isnt heard

[Dynamic Weapon Reverb] lua/autorun/client/dwr_client.lua:448: attempt to index upvalue 'blacklist' (a nil value)
1. func - lua/autorun/client/dwr_client.lua:448
2. unknown - lua/includes/extensions/net.lua:33

Fixed. Will be pushed to workshop shortly


Issue while creating image from source image using az image create

I'm trying to create a new VM using an existing VM that I've setup recently.
I'm following this official tutorial but I'm having issue with this step to create an image using the source vm
az image create --resource-group ontarget-servers --name myImage --source int-server-vm

It throws error:
Source Virtual Machine 'int-server-vm' specified in the request does not exist in this Azure location.

Not sure what exactly is the problem. But this vm is exactly in the same resource-group that I've mentioned above. And also, I have only one resource group so far. I couldn't find any solution or more information about what actually is the issue.
Had this process been available from GUI, I would have done it that way. But seems like replicating a vm to create a new one is only an option using Azure CLI and I'm stuck here.

@yugangw-msft can you take a look?

it is likely the region doesn't match. Your command doesn't provide the location arg, so CLI defaults to the location of group  ontarget-servers , but if the location of int-server-vm is different, an error will occur. To create the  image, the location must match.

Please reactivate if it was caused by other things

Thanks. I tried the command with --location=eastus arg as my previous vm was in East US and it did work perfectly.

Would be great to add this clarification to the azure docs.


Can't create a VRF Metal Gateway

When I use this SDK to create a VRF Metal Gateway, the gateway is created but I get an error that the response is not valid:
Error when calling `MetalGatewaysApi.CreateMetalGateway`: data matches more than one schema in oneOf(FindMetalGatewayById200Response)

This is happening because a VRF Metal Gateway matches both the MetalGateway.yaml schema and the VrfMetalGateway.yaml schema.  In order to avoid this error, either the VrfMetalGateway and MetalGateway schemas need to be collapsed into a single schema that represents both types, or the MetalGateway schema has to be updated so that a VRF Metal Gateway is not a valid example of that schema.

Note: the model name FindMetalGatewayById200Response is also a problem; the oneOf construct for Metal Gateways is duplicated inline in a few places in the spec, and should be extracted to a named component to simplify the generated code.

This can be worked around by adding include=ip_reservation on all requests for Metal Gateways.  The IP reservation schemas have clear, reliable type differentiation, and we can leverage that to distinguish Metal Gateway types, at least until the API includes an attribute or attributes to Metal Gateways that can be used to more directly determine types.

This repo is deprecated.  A corresponding issue has been created on the equinix-sdk-go repo, which replaces this one: https://github.com/equinix/equinix-sdk-go/issues/64


[dash-sonic-hld]: Update doc for SONiC DASH virtual switch

HLD for SONiC DASH virtual switch

Move this PR to: https://github.com/sonic-net/SONiC/pull/1634


Install profile

This PR updates the demo box to be built using islandora-sandbox, which uses the islandora_install_profile_demo. Part of https://github.com/Islandora-Devops/isle-dc/pull/160

Once sandbox (https://github.com/Islandora-Devops/islandora-sandbox/pull/5) gets merged, we could update the instructions for which commit to pull down. At the very least, I'd be in favour of updating it to pull from islandora-devops not dannylamb.

Changed the repos...
I'm not sure why it's printing passwords... is it just letting you know that the password for the container you just built is the thing you set it as in the file in buildkit?

Tried testing this today with isle-dc though it looks like some aspect of Drush has changed?

I'm not sure why it's printing passwords... is it just letting you know that the password for the container you just built is the thing you set it as in the file in buildkit?

echo goes to stdout and that all gets captured by Docker logs, I'll just remove those lines as part of testing. The user of isle-dc can change the file on disk for the password, or there could be an isle-dc command or last step that prints passwords out. It's just that it's not only isle-dc that consumes these images some people are running in ECS/Kubernetes etc and for them they wouldn't want their administrative passwords going into a log aggregator.

Sorry for taking a while to get around to this @rosiel, I've raised a pull request that fixes the merge conflict with main and brings in the changes from main into this branch. Also remove the spots where passwords would be printed out.
https://github.com/Islandora-Devops/isle-buildkit/pull/177
I really tried to test it with isle-dc in particular with this branch: https://github.com/Islandora-Devops/isle-dc/pull/160
But it was failing and I wasn't able to sort out why. So I've not actually been able to test the changes for the install profile.

@nigelgbanks thanks for the review! The demo/Dockerfile is still conflicting, but we want to remove all those extra commands from that Dockerfile, right?

@rosiel Yup, I just merged main to get rid of them. I tested with https://github.com/Islandora-Devops/isle-dc/tree/install-profile but it doesn't seem to work with make demo.
log.txt
I also tried make demo-install-profile which finished running but the site was missing content and kinda broken.

missing content: yes, that's the plan for the moment because we dont' have a way of putting default content in. @Natkeeran was working on a method using Workbench.
Kinda broken: yes. That's not buildkit's fault as far as I can see.
make demo doesn't work? oh dear. I'm not sure what to do about that. @dannylamb ?

Just to put a note here, I'm working on automating the deployment of the sandbox and will update this with the output of that work once complete.

With the merge of https://github.com/Islandora-Devops/isle-dc/pull/160 does this need to be merged, and a new version released?

@misilot you can reference 211bfffb9679221dee76562b699d7ae61cbabc86 for now, one this has been confirmed to work it will be merged.

@rosiel any chance you could rebase this PR  again? We ran into an issue with our system, so looking to test this again and stand up a new system.

@nigelgbanks do we need to update the TAG in isle-dc with this version? Since it is referencing the old (before rebasing) version currently

I am seeing the following when trying to build with  TAG=211bfffb9679221dee76562b699d7ae61cbabc86
@DonRichards I see it here https://hub.docker.com/layers/drupal/islandora/drupal/211bfffb9679221dee76562b699d7ae61cbabc86/images/sha256-66d57d2bd486d8034d07d3b2ff9fc54e74ab4c455e3fa707cf668b61dfa7ee4e?context=explore (At least I assume this is the same?)
 [error]  Config search_api.server.default_solr_server does not exist
 [error]  Config search_api.server.default_solr_server does not exist
make[1]: [Makefile:155: update-config-from-environment] Error 1 (ignored)
WARNING: Some services (activemq, alpaca, blazegraph, cantaloupe, crayfits, drupal, fcrepo, fits, homarus, houdini, hypercube, mariadb, matomo, milliner, recast, solr, traefik) use the 'deploy' key, which will be ignored. Compose does not support 'deploy' configuration - use `docker stack deploy` to deploy to a swarm.

In SolrCommandHelper.php line 119:

  Unknown server default_solr_server

ERROR: Could not generate SOLR config.zip!
In Drupal, check Configuration -> Search API -> SOLR Server, and use the
+ Get config.zip option which should give you information into the actual error.

make[1]: *** [Makefile:167: solr-cores] Error 1
make[1]: Leaving directory '/klib/app/docker-compose/isle-dc'
make: *** [Makefile:390: local-install-profile] Error 2

I've rebased and raised https://github.com/Islandora-Devops/isle-buildkit/pull/209 using the latest commit from the sandbox in hopes to solve the make demo issues on https://github.com/Islandora-Devops/isle-dc/pull/248 to get isle-dc into a working state.


Add the ability to exclude files when using the git file generator

When using the git directory generator it is possible to exclude specific paths like this
  - git:
      repoURL: https://github.com/argoproj-labs/applicationset.git
      revision: HEAD
      directories:
      - path: examples/git-generator-directory/excludes/cluster-addons/*
      - path: examples/git-generator-directory/excludes/cluster-addons/exclude-helm-guestbook
        exclude: true

When using the git file generator I would like to be able to add files using a wildcard and then exclude specific files like this
spec:
  generators:
  - git:
      repoURL: https://github.com/argoproj-labs/applicationset.git
      revision: HEAD
      files:
      - path: "examples/git-generator-files-discovery/cluster-config/**/config.json"
      - path  "examples/git-generator-files-discovery/cluster-config/staging/config.json"
        exclude: true

Of course if there is another way to do this that I am not aware of then I would be happy to use that. If not I am also happy to implement this change if it is agreed.

@adamjohnson01 I'm not aware of a workaround. Would you be willing to contribute the feature?

@crenshaw-dev yes I am happy to contribute.

i need same feature, @adamjohnson01 you make this chances? if not call for me i write this.

@templarfelix, I have this working. Will create a PR soon.

Will this feature also support exclude directories like /foo/** or /foo  in the git files generator?

Will this feature also support exclude directories like /foo/** or /foo in the git files generator?

/foo/** would work but /foo would not as the entire path needs to match. There needs to be either a ** or any pattern that is accepted by path.Match
pattern:
   { term }
term:
   '*'         matches any sequence of non-/ characters
   '?'         matches any single non-/ character
   '[' [ '^' ] { character-range } ']'
               character class (must be non-empty)
   c           matches character c (c != '*', '?', '\\', '[')
   '\\' c      matches character c

character-range:
   c           matches character c (c != '\\', '-', ']')
   '\\' c      matches character c
   lo '-' hi   matches character c for lo <= c <= hi

Any updates on this?
For me this would simplify the definition of ApplicationSets a lot

@DjoleLepi I'm not sure if this PR was ever moved over to argoproj/argo-cd after applicationset was integrated with that repo.

No sorry its for scm generator  not git

HI that would great to have this feature


Testing front end

Pull Request
Description

The test files for every single screen and component used in the front-end
Changes Made
Created individual test files for all screens, and components while intrinsically covering dark mode and store. Do not know what to do with app.test.js, but can be deleted later if not needed. Overall 100% coverage for all components, but only 65% coverage for screens as there were a few hiccups with the connection with backend. Also Document viewer has not been tested yet as a PR to implement it into FilesScreen will be made very shortly.

Screenshots (if applicable)

Coverage for all ^

Tests passing ^ (the one suite that fails is App.js as there is no tests that can be performed for it yet)
Checklist

[x] I have tested the changes locally.
[x] My code follows the project's coding style.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings or errors.
[x] I have added tests that prove my fix is effective or that my feature works.

Additional Notes (if any)

npm run test a -- --coverage
to see coverage and test yourself ^^

Updated approval comment to fit updated commit

Keep this on hold till further changes are merged. MVP is priority and I don't want the team working on that to have merge conflicts/ other issues

Sounds good! Will re-review any changes that need to be made once MVP is complete

Keep this on hold till further changes are merged. MVP is priority and I don't want the team working on that to have merge conflicts/ other issues

fixed


feat: remove deprecated network component from gateway and batcher

Stack:

#167 ⬅
#166
#161
#160

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

This change is

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

Project coverage is 53.62%. Comparing base (50af768) to head (70248a5).

Additional details and impacted files
@@                                  Coverage Diff                                   @@
##           pr/Itay-Tsabary-Starkware/tsabary/mempool/1f1e0bfc     #167      +/-   ##
======================================================================================
- Coverage                                               53.68%   53.62%   -0.06%
======================================================================================
  Files                                                      22       22
  Lines                                                     788      787       -1
  Branches                                                  788      787       -1
======================================================================================
- Hits                                                      423      422       -1
  Misses                                                    345      345
  Partials                                                   20       20

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


gitlab: 15.0.0 -> 15.0.1

Description of changes
https://about.gitlab.com/releases/2022/06/01/critical-security-release-gitlab-15-0-1-released/
Fixes CVE-2022-1680, CVE-2022-1940, CVE-2022-1948, CVE-2022-1935, CVE-2022-1936, CVE-2022-1944, CVE-2022-1821, CVE-2022-1783
release-21.11 backport: #175842
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

What about release-21.11?

https://github.com/NixOS/nixpkgs/pull/175842


Tezos v9-release with florence/granada not working

2021/06/02 10:20:44.074918 INFO MAIN Using configuration file config.json
1s
22021/06/02 10:20:44.075013 INFO MAIN Blockwatch tzindex v8.0.1 -- e6e4128
1s
32021/06/02 10:20:44.075031 INFO MAIN (c) Copyright 2018-2021 -- Blockwatch Data Inc.
1s
42021/06/02 10:20:44.075045 INFO MAIN Starting Blockwatch-tzindex/v8.0.1.e6e4128 on 6 cores
1s
52021/06/02 10:20:44.075069 INFO MAIN Go version go1.16
1s
62021/06/02 10:20:44.080871 INFO MAIN Profiling mutex/blocking at 1.00% sample rate.
1s
72021/06/02 10:20:44.081369 INFO MAIN Using bolt database /data/index
1s
82021/06/02 10:20:44.089579 INFO BLOC Initializing blockchain crawler in sync mode.
1s
92021/06/02 10:20:44.089617 INFO BLOC Creating blockchain storage.
1s
102021/06/02 10:20:44.091547 INFO BLOC Creating account index.
1s
112021/06/02 10:20:44.115888 INFO BLOC Creating contract index.
1s
122021/06/02 10:20:44.149544 INFO BLOC Creating block index.
1s
132021/06/02 10:20:44.197256 INFO BLOC Creating op index.
1s
142021/06/02 10:20:44.224018 INFO BLOC Creating flow index.
1s
152021/06/02 10:20:44.241893 INFO BLOC Creating chain index.
1s
162021/06/02 10:20:44.261389 INFO BLOC Creating supply index.
1s
172021/06/02 10:20:44.278890 INFO BLOC Creating rights index.
1s
182021/06/02 10:20:44.284084 INFO BLOC Creating snapshot index.
1s
192021/06/02 10:20:44.307680 INFO BLOC Creating income index.
1s
202021/06/02 10:20:44.330585 INFO BLOC Creating gov index.
1s
212021/06/02 10:20:44.363308 INFO BLOC Creating bigmap index.
1s
222021/06/02 10:20:44.386183 INFO BLOC Initializing account index.
1s
232021/06/02 10:20:44.387133 INFO BLOC Initializing contract index.
1s
242021/06/02 10:20:44.387791 INFO BLOC Initializing block index.
1s
252021/06/02 10:20:44.388579 INFO BLOC Initializing op index.
1s
262021/06/02 10:20:44.389526 INFO BLOC Initializing flow index.
1s
272021/06/02 10:20:44.390503 INFO BLOC Initializing chain index.
1s
282021/06/02 10:20:44.391599 INFO BLOC Initializing supply index.
1s
292021/06/02 10:20:44.392262 INFO BLOC Initializing rights index.
1s
302021/06/02 10:20:44.392866 INFO BLOC Initializing snapshot index.
1s
312021/06/02 10:20:44.393512 INFO BLOC Initializing income index.
1s
322021/06/02 10:20:44.394197 INFO BLOC Initializing gov index.
1s
332021/06/02 10:20:44.394929 INFO BLOC Initializing bigmap index.
1s
342021/06/02 10:20:44.395515 INFO BLOC Connecting to RPC server.
1s
352021/06/02 10:20:44.802565 INFO BLOC Fetching genesis block.
1s
362021/06/02 10:20:44.804623 INFO BLOC Crawling Tezos Sandbox.
2s
372021/06/02 10:20:44.806644 INFO BLOC Starting blockchain crawler.
2s
382021/06/02 10:20:44.806857 WARN SRVR HTTP Server reachable on all interfaces (<IP_ADDRESS>)
2s
392021/06/02 10:20:44.806948 INFO BLOC Starting blockchain sync from height 1.
2s
402021/06/02 10:20:44.806997 INFO BLOC Starting blockchain ingest.
2s
412021/06/02 10:20:44.807014 INFO BLOC Starting blockchain monitor.
2s
422021/06/02 10:20:44.809122 INFO SRVR Starting HTTP server at <IP_ADDRESS>:8002
2s
432021/06/02 10:20:45.604475 INFO BLOC Fetching bootstrap rights for 3(+1) preserved cycles
2s
442021/06/02 10:21:16.825678 INFO BLOC Building genesis dataset.
34s
452021/06/02 10:21:16.954633 WARN BLOC RPC connection error: rpc: generic operation: invalid operation type 'endorsement_with_slot'
34s
462021/06/02 10:21:18.978813 INFO BLOC Processed 1 block in 34.88s (16 transactions, height 1, 2021-03-04 20:00:03 +0000 UTC, q=1, t=2.153116199s, s=connecting)
36s
472021/06/02 10:21:18.980481 INFO BLOC New protocol PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i detected at 2
36s
482021/06/02 10:21:22.935176 INFO BLOC Fetching bootstrap rights for 3(+1) preserved cycles
40s
492021/06/02 10:21:44.793124 INFO BLOC Reorg at height 1: parent BMFCHw1mv3A71KpTuGD3MoFnkHk9wvTYjUzuR9QqiUumKGFG6pM is not on our main chain, have BM2EMxsQsjCqud7g3VKE4qK8hXwpjnqjUWUHqNtDtwwVcD5cm1c
61s
502021/06/02 10:21:44.794208 INFO BLOC REORGANIZE: searching fork point side=BM2EMxsQsjCqud7g3VKE4qK8hXwpjnqjUWUHqNtDtwwVcD5cm1c main=BMAP2ZWJAhqCidHvTAxZ9d3vaL9winSaPQ7tnnbjEoAB59uzdAF
61s
512021/06/02 10:21:44.880239 ERRO BLOC Reorg failed: cannot find fork point in last 100 blocks
62s
522021/06/02 10:21:44.881897 WARN BLOC RPC connection error: rpc: generic operation: invalid operation type 'endorsement_with_slot'
62s
532021/06/02 10:21:44.934753 INFO BLOC Reorg at height 1: parent BMFCHw1mv3A71KpTuGD3MoFnkHk9wvTYjUzuR9QqiUumKGFG6pM is not on our main chain, have BM2EMxsQsjCqud7g3VKE4qK8hXwpjnqjUWUHqNtDtwwVcD5cm1c
62s
542021/06/02 10:21:44.934804 INFO BLOC REORGANIZE: searching fork point side=BM2EMxsQsjCqud7g3VKE4qK8hXwpjnqjUWUHqNtDtwwVcD5cm1c main=BMAP2ZWJAhqCidHvTAxZ9d3vaL9winSaPQ7tnnbjEoAB59uzdAF
62s
552021/06/02 10:21:44.998322 ERRO BLOC Reorg failed: cannot find fork point in last 100 blocks
62s
562021/06/02 10:21:45.057526 INFO BLOC Stopping blockchain sync due to too many errors at 2.
62s
572021/06/02 10:21:45.141543 ERRO BLOC Exiting monitor loop on cancelled context
62s
582021/06/02 10:21:49.882512 INFO BLOC Context cancelled. Stopping blockchain ingest.

Looks like you're running Blockwatch tzindex v8.0.1 -- e6e4128. Granada is not supported yet.

yes, I am using: image: blockwatch/tzindex:latest
this log is from florence run

@echa
should this v8.0.1 work with florence protocol?

Only v9+ works with Florence. Just pushed v9.0.1 to Docker hub.
For the most recent version v9.1 with new API and much faster indexing time, please compile from master. We're still testing a few issues. Will be released soon.


Fixed typo: factions => fractions

Thank you for submitting this pull request, however I do not see a valid CLA on file for you. Before we can merge this request please visit https://yahoocla.herokuapp.com/ and agree to the terms. Thanks! :smile:

Ha funny typo! Thanks!


Revamped the README and moved the log file

I noticed that the download was a folder from November 15th 2020
Instead I have replaced it with the necessary commands to install from github using git
Hope this is alright
PS: This may break the update system, I haven't tested however I feel it will be fine due to the update.py file using raw.github anyway

Also moved log file into Commanderpi folder

@Jack477

@Jack477

@Jack477 Are you going to ever push or review this commit?

Why have you closed without any explanation?

"Usage" is for installation and there was too many pull requests for change README.md file which is not important that much. start.sh I changed manually today.

"Usage" is for installation and there was too many pull requests for change README.md file which is not important that much. start.sh I changed manually today.

Usage is usage, installation is installation, usage is not installation 😝 .

"Usage" is for installation and there was too many pull requests for change README.md file which is not important that much. start.sh I changed manually today.

Usage is usage, installation is installation, usage is not installation 😝 .

I've used bad word to explain this 😝

Regardless, please explain why you are closing and let it be debated a little rather than closing without input. Thanks for your time regardless.


Add an option to enable suppression of the error popup

This small PR adds a parameter which enables suppression of the popup (while still logging the error to the console)
see: https://github.com/TheQwertiest/foo_spider_monkey_panel/pull/147

this is no longer necessary, as I've deduced the patching mechanism, and  included a .patch for it in TheQwertiest/foo_spider_monkey_panel#147