text:
Reactive Modules API (proposal)

Posted here for discussion:
Reactive modules
A module related with a <JavaScript> tag supports the Reactive Modules API. This is a set of methods on module that allows the module to change the exported values and notifying the data context about the change. This allows reactive programming between modules.
Each of these APIs accept a path to the node in the exports tree. The path is a sequence of either string keys (to look up into objects) or number indices (to look up into arrays).
module.set(... path, value)
Sets the value at the path to value. Example:
exports.foo = [ {bar: "apples"}, {bar: "oranges"}]

exports.changeSomething = function() {
	// Changes the 'bar' property of the second item in the 'foo' array
	module.set("foo", 1, "bar", "bananas");
}

module.add(... path, item)
Adds item to the end of the array at the path. Example:
exports.user = { name: 'Bob', things: ["lamp", "car"] }

exports.addSomething = function()
{
	// Adds 'airplane' to the user's list of things
	module.add("user", "things", "airplane");
}

module.removeAt(... path)
Removes the item at the path. The last item in the path must be a numeric index into an array. Example:
exports.user = { name: 'Bob', things: ["lamp", "car"] }

exports.removeSomething = function()
{
	// Removes 'lamp' from users's list of things
	module.removeAt("user", "things", 0);
}

module.insertAt(... path, value)
Inserts value at the path. The last item in the path must be a numeric index into an array. Example:
exports.user = { name: 'Bob', things: ["lamp", "car"] }

exports.insertSomething = function()
{
	// Inserts 'dog' in the middle of the user's list of things
	module.insertAt("user", "things", 1, "dog");
}

I think we should go for a more natural API than this variables arguments syntax (though lacking ES6 we have to lose a few niceties).
For example:
module.get("user").get("things").add("airplane")

You can store this accessors as variables (they look like observables, but are actually just wrappers to modify the backing data)
var user = module.get("user")
user.get("things").insertAt(1, "dog")

I'm not sure get is the correct name, mabye val or var instead. But the syntax is a lot more readable. I can understand what is happening here.

@COCPORN and myself spent 3 months this spring evaluating different API designs, and concluded that the variable arguments one is the nicest, for various reasons. It is easy to build the API you are proposing (and many other APIs) on top as an abstraction layer. This is the low-level API with the minimal JS->Native API surface and overhead.

For example, with this low-level API it is easy to build a differ-based component system similar to Angular

The propsed API looks totally fine to me :)

I'd prefer to have the path argument be an array rather than leaning on arguments again. This makes a path a type, simplifies the method signature, and lets a path be referenced instead of done with literals or currying, if that is a design choice I want to make.
I also think it will teach and document better.
module.set(["foo", "bar"], true);

Other than that I think this is golden.

Again, this can be a convenience API on top. I want to keep the base API as minimal as possible

I feel like the varargs based API is actually less convenient and performs more work in terms of manipulating the arguments

I have to agree with @Sunjammer here. Doing it with an array seems a lot less magical.

Candidate implementation found here: https://github.com/fusetools/fuselibs-public/pull/208

I think this looks really weird:
module.removeAt(["foo", "bar", 1])
The array looks very redundant then

Well, that messes it up, as 1 is part of the path. That would be very inconsistent

Not if you imagine the path as terminating at an array, removeAt as a function that operates on arrays, and 1 to be the operand (ie the index at which to remove). Then your statement is the straightforward do X to the item at path Y using argument Z.
This is consistent: At path X, set Y. At path X, remove at index Y. At path X, insert Y at index Z.

Well I'm still in favor of the varargs api.
A rewrite would mean this feature not making it to 1.2 as that deadline is tonight.

There is no issue introducing an "overload" later that accepts an array for path. No difficulties creating a wrapper api on top either.

Yep, that can be easily implemented at a later point as checking if argument 0 is an array anyway

More of a question, but how would you handle a bit more complex structure?
Something like this:
exports.list = [
	{
		userId: 12,
		userName: "User 1",
		properties: {
			permissions: ["read"],
			groups: [222, 333, 444]
		}
	},
	{
		userId: 15,
		userName: "User 2",
		properties: {
			permissions: ["read", "write", "execute"],
			groups: [222, 333, 444]
		}
	}
];
exports.addGroupToUser() = function(userId, groupId) {
	// how would I add group 555 to userId 15?
}

@eksperts :
With the raw API, that would be something like
module.add("list", exports.list.indexof(...), "properties", "groups", groupId)

However, the intention is not for this API to be used much directly. It is meant as a low-level API that we build other features on top.
For example, something like:
var Component = require("FuseJS/Component")

Component(module, function() {
     this.list = [ ... ]
     this.addGroupToUser() {
        // Here, simply modify the list, and the component will update automatically through diffing
     }
})

Hence, I'm not too worried about what the low-level API looks like, as long as it is lighweight and general purpose.

Note that in the above example, Component can be implemented as a pure JS utility class

Alright, no objections. I see a point in @Sunjammer's argument, but other than that it's legit!

I just looked at the PR for this and am concered about adding these simple names directly to the module object. I know it's our object, but seeing sometihng like module.set and module.add makes it seem so "standard", yet it's not.

Does this use of exports prevent anything else from being put in the exports?  Can I still add callback functions as normal? Or can I use an OBservable as well?

The examples only go one-level deep with the JS object trees. IS an arbitrary depth intended?

makes it seem so "standard", yet it's not.

I agree, however, rooted modules in <JavaScript> tags are special, its not vanilla CommonJS, so it doesn't hurt to let it show. The modules have a life time, interact with the data context, can be instantiated multiple times etc. We already have module.disposed. It is the natural place to put things.

The examples only go one-level deep with the JS object trees. IS an arbitrary depth intended?

Yes

Does this use of exports prevent anything else from being put in the exports? Can I still add callback functions as normal? Or can I use an OBservable as well?

You can use Observables anywhere, like before. No feature regression

I'm not clear on how I share state between modules.  I have a list of users that I will need to display in multiple pages. I additionally have shared user objects in that list. They also have to appear on their on other pages.  I don't see how this is done in this framework.

I'm not clear on how I share state between modules.

You have to use the dependency injection feature to acheive that:
<JavaScript dep:users="{users}">
This imports the users list from the data context

This means any structures I wish to store have to be exported at the root of the app. I'm not sure I like that since it makes modularization more difficult.
How do I export part of that structure in another module then, that is share the data?
<JavaScript dep:users="{users}" dep:param="parameter()">
    exports.user = users[param.user_id]

This means any structures I wish to store have to be exported at the root of the app.

Not true - you can mount this at any level in the tree.

This makes modularization easier as the data is tree-local. For example, a component can expose local data that is used within its subtree only.

How do I export part of that structure in another module then, that is share the data?

Didn't understand the question

   exports.user = users[param.user_id]

Alternatively:
<JavaScript dep:user="{users[parameter().user_id]}">

What I mean is that any value I wish to use in sibling components must be mounted at a higher level.
If I do <JavaScript dep:user="{users[parameter().user_id]}"> will this be a proper two-way binding to this object?
How can I do a similar binding at the JS level?
I'm missing the insight into how one actually structures the data of an app using this system.
Another example, in the apps I've written so far I have something like a user DB stored in memory. You call a JS function getUser(id) that provides an Observable for that user. I don't see how to create such a function with this new system.

What I mean is that any value I wish to use in sibling components must be mounted at a higher level.

Yes, this creates a natural component-local data sharing scheme. If you want true globals, nothing is stopping you from doing the old :Bundle and require() trick.

If I do  will this be a proper two-way binding to this object?

This is a one-way binding, but you will get the actual object and are free to modify it. However, this won't call the reactive module API, so any changes you do remotely won't be reflected. Mutation of imported state should happen through functions exported by the owning module.

How can I do a similar binding at the JS level?

You cannot. This is what the dependency injection system is for.

I'm missing the insight into how one actually structures the data of an app using this system.

We have detailed plans for this. Once this is merged we can write new best practices docs.

Another example, in the apps I've written so far I have something like a user DB stored in memory. You call a JS function getUser(id) that provides an Observable for that user. I don't see how to create such a function with this new system.

You can still provide observables if you wish, but the whole point is to reduce reliance on observables.
In this system you would for example do ` . In the future when we have a UX syntax for calling JS functions, you can even call the function with a reactive expression.

The high level recommended structure is as follows:
<App>
	<JavaScript>
		// This is the main state container module - like a redux store
		// it contains and exports all the app-global state, and exports
		// functions for all the possible transactions

		exports.things = ["one", "two", "three"]

		exports.addThing(thing) {
			module.add("things", thing)
		}
	</JavaScript>
	<Navigator>
		<Page>
			<JavaScript dep:things="{things}" dep:addThing="{addThing}" >

				// This module can compute derived state used locally on this Page
				export.thingCount = things.length

				export.buttonClicked = function() {
					addThing("lol")
				}
			</JavaScript>

How does one bridge from a require module into this system? Say I have a user module that I want several components to have access to. How do I actually structure this sharing?
Try to extend your example to include several modules. Say we have three modules, user, task and config. How would we instantiate all three of these and provide them to a component?

Something like this?
<App>
	<JavaScript>
		exports.user = require("MyApp/user")
		exports.task = require("MyApp/task")
		exports.config = require("MyApp/config")
	</JavaScript>
	<Navigator>
		<Page>
			<JavaScript dep:user="{user}">
				...

The nice thing about this is that now it is easy to mock the environment for the script in the page for testing purposes.

If you want the modules to have access to the data context, you can do:
	<JavaScript File="MyApp/user.js" />
	<JavaScript File="MyApp/task.js" />
	<JavaScript File="MyApp/config.js" />
	<Navigator>
		<Page>
			<JavaScript dep:user="{user}">
				...```

Okay, after a long discussion in chat with @mortoray we've decided to redesign this feature slightly.
I will open a new ticket to discuss the new proposed design.

authors: Duckers Sunjammer eksperts kristianhasselknippe mortoray

repo: fusetools/fuselibs-public


text:
[requires.io] dependency update on master branch

This change is

[Current coverage][cc-pull] is 97.23%

Merging [#60][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master        #60   diff @@
==========================================
  Files            13         13
  Lines           796        796
  Methods           0          0
  Messages          0          0
  Branches         42         42
==========================================
  Hits            774        774
  Misses           17         17
  Partials          5          5

Powered by Codecov. Last updated by [6ce315b...c7c61d6][cc-compare]
[cc-base-branch]: https://codecov.io/gh/fusionapp/fusion-index/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/fusionapp/fusion-index/compare/6ce315bb23ff49f058b1e02474c9b5bbd69ed39b...c7c61d6606b37728557fbbbe75752974708395ab?src=pr
[cc-pull]: https://codecov.io/gh/fusionapp/fusion-index/pull/60?src=pr

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

source: gharchive/pull-request

authors: codecov-io mithrandi

repo: fusionapp/fusion-index

license: mit

license_type: permissive

license_source: bigquery


text:
Fix 'a non well formed numeric value encountered' errors

Using PHP 7.2 throws the following "Notice" errors:
Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/utils.php on line 77

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/utils.php on line 77

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/utils.php on line 86

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/system.php on line 283

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/system.php on line 323

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/system.php on line 328

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/system.php on line 334

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/system.php on line 385

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/system.php on line 385

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/system.php on line 390

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/system.php on line 390

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/system.php on line 394

Notice: A non well formed numeric value encountered in /home/liam/Git/swmp/php/system.php on line 395

This PR fixes the problem by converting to int / float prior to the calculation.

Thanks!

authors: fuzzymannerz liamjack

repo: fuzzymannerz/swmp


text:
0.12 has issues with subscription

Describe the bug
Since updating to 0.12 and restarting the server I get the error around the subscription not being renewed.
To Reproduce
Download 0.12 through HACS, have a camera integrated and restart the server.
Expected behavior
Subscription to NVR is stable
Screenshots

Environment:

Home Assistant version - 2021.1.0
NVR model - RLN8-410
Reolink camera model - RLC-420 (IPC_3816M)
Camera firmware number - 1441_19032100

Also get:

Logger: homeassistant.components.webhook
Source: components/webhook/__init__.py:84
Integration: Webhook (documentation, issues)
First occurred: 20:50:18 (11 occurrences)
Last logged: 20:50:41

Received message for unregistered webhook f325ade9929f37e83b290bef863d77d2878c0c6e694ef5e6351011c4ac67796d from 192.168.1.81
Received message for unregistered webhook f17988c587fcfea833cbd7731269a4e453a379894a9a90e59c295c68638bbf05 from 192.168.1.81
Received message for unregistered webhook 3a59d81ad5d3d640e8441c3cc69b765bad93aba07b5825c5ebb88e77fcff6695 from 192.168.1.81

Also get:

Logger: homeassistant.components.webhook
Source: components/webhook/__init__.py:84
Integration: Webhook (documentation, issues)
First occurred: 20:50:18 (11 occurrences)
Last logged: 20:50:41

Received message for unregistered webhook f325ade9929f37e83b290bef863d77d2878c0c6e694ef5e6351011c4ac67796d from 192.168.1.81
Received message for unregistered webhook f17988c587fcfea833cbd7731269a4e453a379894a9a90e59c295c68638bbf05 from 192.168.1.81
Received message for unregistered webhook 3a59d81ad5d3d640e8441c3cc69b765bad93aba07b5825c5ebb88e77fcff6695 from 192.168.1.81

Can confirm. Everything except Motion Detection seems to work the same but I am getting many Subscription errors as well.
2021-01-14 18:37:14 DEBUG (MainThread) [reolink.subscription_manager] Reolink host 192.168.1.60 got response status: 400. Payload: {<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa5="http://www.w3.org/2005/08/addressing" xmlns:xmime="http://tempuri.org/xmime.xsd" xmlns:xmime5="http://www.w3.org/2005/05/xmlmime" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsrfr="http://docs.oasis-open.org/wsrf/r-2" xmlns:ns1="http://www.onvif.org/ver10/actionengine/wsdl" xmlns:tev="http://www.onvif.org/ver10/events/wsdl" xmlns:ns10="http://www.onvif.org/ver10/events/wsdl/PullPointBinding" xmlns:ns11="http://www.onvif.org/ver10/events/wsdl/CreatePullPointBinding" xmlns:ns12="http://www.onvif.org/ver10/events/wsdl/PausableSubscriptionManagerBinding" xmlns:ns13="http://www.onvif.org/ver10/network/wsdl/RemoteDiscoveryBinding" xmlns:ns14="http://www.onvif.org/ver10/network/wsdl/DiscoveryLookupBinding" xmlns:tdn="http://www.onvif.org/ver10/network/wsdl" xmlns:ns3="http://www.onvif.org/ver20/analytics/wsdl/RuleEngineBinding" xmlns:ns4="http://www.onvif.org/ver20/analytics/wsdl/AnalyticsEngineBinding" xmlns:tan="http://www.onvif.org/ver20/analytics/wsdl" xmlns:ns5="http://www.onvif.org/ver10/events/wsdl/PullPointSubscriptionBinding" xmlns:ns6="http://www.onvif.org/ver10/events/wsdl/EventBinding" xmlns:ns7="http://www.onvif.org/ver10/events/wsdl/SubscriptionManagerBinding" xmlns:ns8="http://www.onvif.org/ver10/events/wsdl/NotificationProducerBinding" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.onvif.org/ver10/events/wsdl/NotificationConsumerBinding" xmlns:tad="http://www.onvif.org/ver10/analyticsdevice/wsdl" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl" xmlns:tls="http://www.onvif.org/ver10/display/wsdl" xmlns:tmd="http://www.onvif.org/ver10/deviceIO/wsdl" xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl" xmlns:trc="http://www.onvif.org/ver10/recording/wsdl" xmlns:trp="http://www.onvif.org/ver10/replay/wsdl" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:trv="http://www.onvif.org/ver10/receiver/wsdl" xmlns:tse="http://www.onvif.org/ver10/search/wsdl" xmlns:ter="http://www.onvif.org/ver10/error" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><SOAP-ENV:Header><wsa5:To SOAP-ENV:mustUnderstand="1">None</wsa5:To><wsa5:Action SOAP-ENV:mustUnderstand="1">http://docs.oasis-open.org/wsn/bw-2/SubscriptionManager/RenewRequest</wsa5:Action></SOAP-ENV:Header><SOAP-ENV:Body><SOAP-ENV:Fault><SOAP-ENV:Code><SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value></SOAP-ENV:Code><SOAP-ENV:Reason><SOAP-ENV:Text xml:lang="en"/></SOAP-ENV:Reason></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
}
2021-01-14 18:37:14 DEBUG (MainThread) [reolink.subscription_manager] Reolink host 192.168.1.60 got response status: 400. Payload: {<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa5="http://www.w3.org/2005/08/addressing" xmlns:xmime="http://tempuri.org/xmime.xsd" xmlns:xmime5="http://www.w3.org/2005/05/xmlmime" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsrfr="http://docs.oasis-open.org/wsrf/r-2" xmlns:ns1="http://www.onvif.org/ver10/actionengine/wsdl" xmlns:tev="http://www.onvif.org/ver10/events/wsdl" xmlns:ns10="http://www.onvif.org/ver10/events/wsdl/PullPointBinding" xmlns:ns11="http://www.onvif.org/ver10/events/wsdl/CreatePullPointBinding" xmlns:ns12="http://www.onvif.org/ver10/events/wsdl/PausableSubscriptionManagerBinding" xmlns:ns13="http://www.onvif.org/ver10/network/wsdl/RemoteDiscoveryBinding" xmlns:ns14="http://www.onvif.org/ver10/network/wsdl/DiscoveryLookupBinding" xmlns:tdn="http://www.onvif.org/ver10/network/wsdl" xmlns:ns3="http://www.onvif.org/ver20/analytics/wsdl/RuleEngineBinding" xmlns:ns4="http://www.onvif.org/ver20/analytics/wsdl/AnalyticsEngineBinding" xmlns:tan="http://www.onvif.org/ver20/analytics/wsdl" xmlns:ns5="http://www.onvif.org/ver10/events/wsdl/PullPointSubscriptionBinding" xmlns:ns6="http://www.onvif.org/ver10/events/wsdl/EventBinding" xmlns:ns7="http://www.onvif.org/ver10/events/wsdl/SubscriptionManagerBinding" xmlns:ns8="http://www.onvif.org/ver10/events/wsdl/NotificationProducerBinding" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.onvif.org/ver10/events/wsdl/NotificationConsumerBinding" xmlns:tad="http://www.onvif.org/ver10/analyticsdevice/wsdl" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl" xmlns:tls="http://www.onvif.org/ver10/display/wsdl" xmlns:tmd="http://www.onvif.org/ver10/deviceIO/wsdl" xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl" xmlns:trc="http://www.onvif.org/ver10/recording/wsdl" xmlns:trp="http://www.onvif.org/ver10/replay/wsdl" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:trv="http://www.onvif.org/ver10/receiver/wsdl" xmlns:tse="http://www.onvif.org/ver10/search/wsdl" xmlns:ter="http://www.onvif.org/ver10/error" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><SOAP-ENV:Header><wsa5:To SOAP-ENV:mustUnderstand="1">None</wsa5:To><wsa5:Action SOAP-ENV:mustUnderstand="1">http://docs.oasis-open.org/wsn/bw-2/SubscriptionManager/UnsubscribeRequest</wsa5:Action></SOAP-ENV:Header><SOAP-ENV:Body><SOAP-ENV:Fault><SOAP-ENV:Code><SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value></SOAP-ENV:Code><SOAP-ENV:Reason><SOAP-ENV:Text xml:lang="en"/></SOAP-ENV:Reason></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
}
2021-01-14 18:37:14 ERROR (MainThread) [custom_components.reolink_dev.base] Host 192.168.1.60 error renewing the Reolink subscription
2021-01-14 18:37:14 DEBUG (MainThread) [reolink.subscription_manager] Reolink host 192.168.1.60 got response status: 400. Payload: {<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa5="http://www.w3.org/2005/08/addressing" xmlns:xmime="http://tempuri.org/xmime.xsd" xmlns:xmime5="http://www.w3.org/2005/05/xmlmime" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsrfr="http://docs.oasis-open.org/wsrf/r-2" xmlns:ns1="http://www.onvif.org/ver10/actionengine/wsdl" xmlns:tev="http://www.onvif.org/ver10/events/wsdl" xmlns:ns10="http://www.onvif.org/ver10/events/wsdl/PullPointBinding" xmlns:ns11="http://www.onvif.org/ver10/events/wsdl/CreatePullPointBinding" xmlns:ns12="http://www.onvif.org/ver10/events/wsdl/PausableSubscriptionManagerBinding" xmlns:ns13="http://www.onvif.org/ver10/network/wsdl/RemoteDiscoveryBinding" xmlns:ns14="http://www.onvif.org/ver10/network/wsdl/DiscoveryLookupBinding" xmlns:tdn="http://www.onvif.org/ver10/network/wsdl" xmlns:ns3="http://www.onvif.org/ver20/analytics/wsdl/RuleEngineBinding" xmlns:ns4="http://www.onvif.org/ver20/analytics/wsdl/AnalyticsEngineBinding" xmlns:tan="http://www.onvif.org/ver20/analytics/wsdl" xmlns:ns5="http://www.onvif.org/ver10/events/wsdl/PullPointSubscriptionBinding" xmlns:ns6="http://www.onvif.org/ver10/events/wsdl/EventBinding" xmlns:ns7="http://www.onvif.org/ver10/events/wsdl/SubscriptionManagerBinding" xmlns:ns8="http://www.onvif.org/ver10/events/wsdl/NotificationProducerBinding" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.onvif.org/ver10/events/wsdl/NotificationConsumerBinding" xmlns:tad="http://www.onvif.org/ver10/analyticsdevice/wsdl" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl" xmlns:tls="http://www.onvif.org/ver10/display/wsdl" xmlns:tmd="http://www.onvif.org/ver10/deviceIO/wsdl" xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl" xmlns:trc="http://www.onvif.org/ver10/recording/wsdl" xmlns:trp="http://www.onvif.org/ver10/replay/wsdl" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:trv="http://www.onvif.org/ver10/receiver/wsdl" xmlns:tse="http://www.onvif.org/ver10/search/wsdl" xmlns:ter="http://www.onvif.org/ver10/error" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Body><SOAP-ENV:Fault><SOAP-ENV:Code><SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value></SOAP-ENV:Code><SOAP-ENV:Reason><SOAP-ENV:Text xml:lang="en"/></SOAP-ENV:Reason></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
}
2021-01-14 18:37:14 DEBUG (MainThread) [custom_components.reolink_dev] Finished fetching reolink data in 0.323 seconds

Can confirm. Everything except Motion Detection seems to work the same but I am getting many Subscription errors as well.
2021-01-14 18:37:14 DEBUG (MainThread) [reolink.subscription_manager] Reolink host 192.168.1.60 got response status: 400. Payload: {<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa5="http://www.w3.org/2005/08/addressing" xmlns:xmime="http://tempuri.org/xmime.xsd" xmlns:xmime5="http://www.w3.org/2005/05/xmlmime" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsrfr="http://docs.oasis-open.org/wsrf/r-2" xmlns:ns1="http://www.onvif.org/ver10/actionengine/wsdl" xmlns:tev="http://www.onvif.org/ver10/events/wsdl" xmlns:ns10="http://www.onvif.org/ver10/events/wsdl/PullPointBinding" xmlns:ns11="http://www.onvif.org/ver10/events/wsdl/CreatePullPointBinding" xmlns:ns12="http://www.onvif.org/ver10/events/wsdl/PausableSubscriptionManagerBinding" xmlns:ns13="http://www.onvif.org/ver10/network/wsdl/RemoteDiscoveryBinding" xmlns:ns14="http://www.onvif.org/ver10/network/wsdl/DiscoveryLookupBinding" xmlns:tdn="http://www.onvif.org/ver10/network/wsdl" xmlns:ns3="http://www.onvif.org/ver20/analytics/wsdl/RuleEngineBinding" xmlns:ns4="http://www.onvif.org/ver20/analytics/wsdl/AnalyticsEngineBinding" xmlns:tan="http://www.onvif.org/ver20/analytics/wsdl" xmlns:ns5="http://www.onvif.org/ver10/events/wsdl/PullPointSubscriptionBinding" xmlns:ns6="http://www.onvif.org/ver10/events/wsdl/EventBinding" xmlns:ns7="http://www.onvif.org/ver10/events/wsdl/SubscriptionManagerBinding" xmlns:ns8="http://www.onvif.org/ver10/events/wsdl/NotificationProducerBinding" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.onvif.org/ver10/events/wsdl/NotificationConsumerBinding" xmlns:tad="http://www.onvif.org/ver10/analyticsdevice/wsdl" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl" xmlns:tls="http://www.onvif.org/ver10/display/wsdl" xmlns:tmd="http://www.onvif.org/ver10/deviceIO/wsdl" xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl" xmlns:trc="http://www.onvif.org/ver10/recording/wsdl" xmlns:trp="http://www.onvif.org/ver10/replay/wsdl" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:trv="http://www.onvif.org/ver10/receiver/wsdl" xmlns:tse="http://www.onvif.org/ver10/search/wsdl" xmlns:ter="http://www.onvif.org/ver10/error" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><SOAP-ENV:Header><wsa5:To SOAP-ENV:mustUnderstand="1">None</wsa5:To><wsa5:Action SOAP-ENV:mustUnderstand="1">http://docs.oasis-open.org/wsn/bw-2/SubscriptionManager/RenewRequest</wsa5:Action></SOAP-ENV:Header><SOAP-ENV:Body><SOAP-ENV:Fault><SOAP-ENV:Code><SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value></SOAP-ENV:Code><SOAP-ENV:Reason><SOAP-ENV:Text xml:lang="en"/></SOAP-ENV:Reason></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
}
2021-01-14 18:37:14 DEBUG (MainThread) [reolink.subscription_manager] Reolink host 192.168.1.60 got response status: 400. Payload: {<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa5="http://www.w3.org/2005/08/addressing" xmlns:xmime="http://tempuri.org/xmime.xsd" xmlns:xmime5="http://www.w3.org/2005/05/xmlmime" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsrfr="http://docs.oasis-open.org/wsrf/r-2" xmlns:ns1="http://www.onvif.org/ver10/actionengine/wsdl" xmlns:tev="http://www.onvif.org/ver10/events/wsdl" xmlns:ns10="http://www.onvif.org/ver10/events/wsdl/PullPointBinding" xmlns:ns11="http://www.onvif.org/ver10/events/wsdl/CreatePullPointBinding" xmlns:ns12="http://www.onvif.org/ver10/events/wsdl/PausableSubscriptionManagerBinding" xmlns:ns13="http://www.onvif.org/ver10/network/wsdl/RemoteDiscoveryBinding" xmlns:ns14="http://www.onvif.org/ver10/network/wsdl/DiscoveryLookupBinding" xmlns:tdn="http://www.onvif.org/ver10/network/wsdl" xmlns:ns3="http://www.onvif.org/ver20/analytics/wsdl/RuleEngineBinding" xmlns:ns4="http://www.onvif.org/ver20/analytics/wsdl/AnalyticsEngineBinding" xmlns:tan="http://www.onvif.org/ver20/analytics/wsdl" xmlns:ns5="http://www.onvif.org/ver10/events/wsdl/PullPointSubscriptionBinding" xmlns:ns6="http://www.onvif.org/ver10/events/wsdl/EventBinding" xmlns:ns7="http://www.onvif.org/ver10/events/wsdl/SubscriptionManagerBinding" xmlns:ns8="http://www.onvif.org/ver10/events/wsdl/NotificationProducerBinding" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.onvif.org/ver10/events/wsdl/NotificationConsumerBinding" xmlns:tad="http://www.onvif.org/ver10/analyticsdevice/wsdl" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl" xmlns:tls="http://www.onvif.org/ver10/display/wsdl" xmlns:tmd="http://www.onvif.org/ver10/deviceIO/wsdl" xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl" xmlns:trc="http://www.onvif.org/ver10/recording/wsdl" xmlns:trp="http://www.onvif.org/ver10/replay/wsdl" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:trv="http://www.onvif.org/ver10/receiver/wsdl" xmlns:tse="http://www.onvif.org/ver10/search/wsdl" xmlns:ter="http://www.onvif.org/ver10/error" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><SOAP-ENV:Header><wsa5:To SOAP-ENV:mustUnderstand="1">None</wsa5:To><wsa5:Action SOAP-ENV:mustUnderstand="1">http://docs.oasis-open.org/wsn/bw-2/SubscriptionManager/UnsubscribeRequest</wsa5:Action></SOAP-ENV:Header><SOAP-ENV:Body><SOAP-ENV:Fault><SOAP-ENV:Code><SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value></SOAP-ENV:Code><SOAP-ENV:Reason><SOAP-ENV:Text xml:lang="en"/></SOAP-ENV:Reason></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
}
2021-01-14 18:37:14 ERROR (MainThread) [custom_components.reolink_dev.base] Host 192.168.1.60 error renewing the Reolink subscription
2021-01-14 18:37:14 DEBUG (MainThread) [reolink.subscription_manager] Reolink host 192.168.1.60 got response status: 400. Payload: {<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa5="http://www.w3.org/2005/08/addressing" xmlns:xmime="http://tempuri.org/xmime.xsd" xmlns:xmime5="http://www.w3.org/2005/05/xmlmime" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsrfr="http://docs.oasis-open.org/wsrf/r-2" xmlns:ns1="http://www.onvif.org/ver10/actionengine/wsdl" xmlns:tev="http://www.onvif.org/ver10/events/wsdl" xmlns:ns10="http://www.onvif.org/ver10/events/wsdl/PullPointBinding" xmlns:ns11="http://www.onvif.org/ver10/events/wsdl/CreatePullPointBinding" xmlns:ns12="http://www.onvif.org/ver10/events/wsdl/PausableSubscriptionManagerBinding" xmlns:ns13="http://www.onvif.org/ver10/network/wsdl/RemoteDiscoveryBinding" xmlns:ns14="http://www.onvif.org/ver10/network/wsdl/DiscoveryLookupBinding" xmlns:tdn="http://www.onvif.org/ver10/network/wsdl" xmlns:ns3="http://www.onvif.org/ver20/analytics/wsdl/RuleEngineBinding" xmlns:ns4="http://www.onvif.org/ver20/analytics/wsdl/AnalyticsEngineBinding" xmlns:tan="http://www.onvif.org/ver20/analytics/wsdl" xmlns:ns5="http://www.onvif.org/ver10/events/wsdl/PullPointSubscriptionBinding" xmlns:ns6="http://www.onvif.org/ver10/events/wsdl/EventBinding" xmlns:ns7="http://www.onvif.org/ver10/events/wsdl/SubscriptionManagerBinding" xmlns:ns8="http://www.onvif.org/ver10/events/wsdl/NotificationProducerBinding" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.onvif.org/ver10/events/wsdl/NotificationConsumerBinding" xmlns:tad="http://www.onvif.org/ver10/analyticsdevice/wsdl" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl" xmlns:tls="http://www.onvif.org/ver10/display/wsdl" xmlns:tmd="http://www.onvif.org/ver10/deviceIO/wsdl" xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl" xmlns:trc="http://www.onvif.org/ver10/recording/wsdl" xmlns:trp="http://www.onvif.org/ver10/replay/wsdl" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:trv="http://www.onvif.org/ver10/receiver/wsdl" xmlns:tse="http://www.onvif.org/ver10/search/wsdl" xmlns:ter="http://www.onvif.org/ver10/error" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Body><SOAP-ENV:Fault><SOAP-ENV:Code><SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value></SOAP-ENV:Code><SOAP-ENV:Reason><SOAP-ENV:Text xml:lang="en"/></SOAP-ENV:Reason></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
}
2021-01-14 18:37:14 DEBUG (MainThread) [custom_components.reolink_dev] Finished fetching reolink data in 0.323 seconds

I am getting the same error and motion detection stops working.
`Logger: custom_components.reolink_dev.base
Source: custom_components/reolink_dev/base.py:241
Integration: Reolink IP camera (documentation, issues)
First occurred: January 18, 2021, 7:49:43 AM (14 occurrences)
Last logged: 9:24:38 AM
Host 192.168.0.59 error renewing the Reolink subscription
Host 192.168.0.54 error renewing the Reolink subscription
Host 192.168.0.57 error renewing the Reolink subscription
Host 192.168.0.52 error renewing the Reolink subscription
Host 192.168.0.53 error renewing the Reolink subscription`

I am getting the same error and motion detection stops working.
`Logger: custom_components.reolink_dev.base
Source: custom_components/reolink_dev/base.py:241
Integration: Reolink IP camera (documentation, issues)
First occurred: January 18, 2021, 7:49:43 AM (14 occurrences)
Last logged: 9:24:38 AM
Host 192.168.0.59 error renewing the Reolink subscription
Host 192.168.0.54 error renewing the Reolink subscription
Host 192.168.0.57 error renewing the Reolink subscription
Host 192.168.0.52 error renewing the Reolink subscription
Host 192.168.0.53 error renewing the Reolink subscription`

I'm getting the same errors too - v0.13, HA 2021.1.5:
}
2021-02-02 12:47:45 ERROR (MainThread) [custom_components.reolink_dev.base] Host 192.168.1.81 error renewing the Reolink subscription
2021-02-02 12:47:45 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event system_log_event[L]: name=custom_components.reolink_dev.base, message=['Host 192.168.1.81 error renewing the Reolink subscription'], level=ERROR, source=['custom_components/reolink_dev/base.py', 241], timestamp=1612270065.11051, exception=, count=1, first_occurred=1612270065.11051>
2021-02-02 12:47:45 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [2798456968] Sending {"id": 10, "type": "event", "event": {"event_type": "system_log_event", "data": {"name": "custom_components.reolink_dev.base", "message": ["Host 192.168.1.81 error renewing the Reolink subscription"], "level": "ERROR", "source": ["custom_components/reolink_dev/base.py", 241], "timestamp": 1612270065.11051, "exception": "", "count": 1, "first_occurred": 1612270065.11051}, "origin": "LOCAL", "time_fired": "2021-02-02T12:47:45.118691+00:00", "context": {"id": "71e4f94ca6ebf06a362f9a414836236d", "parent_id": null, "user_id": null}}}
2021-02-02 12:47:45 DEBUG (MainThread) [reolink.subscription_manager] Reolink host 192.168.1.81 got response status: 400. Payload: {<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsa5="http://www.w3.org/2005/08/addressing" xmlns:xmime="http://tempuri.org/xmime.xsd" xmlns:xmime5="http://www.w3.org/2005/05/xmlmime" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsrfr="http://docs.oasis-open.org/wsrf/r-2" xmlns:ns1="http://www.onvif.org/ver10/actionengine/wsdl" xmlns:tev="http://www.onvif.org/ver10/events/wsdl" xmlns:ns10="http://www.onvif.org/ver10/events/wsdl/PullPointBinding" xmlns:ns11="http://www.onvif.org/ver10/events/wsdl/CreatePullPointBinding" xmlns:ns12="http://www.onvif.org/ver10/events/wsdl/PausableSubscriptionManagerBinding" xmlns:ns13="http://www.onvif.org/ver10/network/wsdl/RemoteDiscoveryBinding" xmlns:ns14="http://www.onvif.org/ver10/network/wsdl/DiscoveryLookupBinding" xmlns:tdn="http://www.onvif.org/ver10/network/wsdl" xmlns:ns3="http://www.onvif.org/ver20/analytics/wsdl/RuleEngineBinding" xmlns:ns4="http://www.onvif.org/ver20/analytics/wsdl/AnalyticsEngineBinding" xmlns:tan="http://www.onvif.org/ver20/analytics/wsdl" xmlns:ns5="http://www.onvif.org/ver10/events/wsdl/PullPointSubscriptionBinding" xmlns:ns6="http://www.onvif.org/ver10/events/wsdl/EventBinding" xmlns:ns7="http://www.onvif.org/ver10/events/wsdl/SubscriptionManagerBinding" xmlns:ns8="http://www.onvif.org/ver10/events/wsdl/NotificationProducerBinding" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:ns9="http://www.onvif.org/ver10/events/wsdl/NotificationConsumerBinding" xmlns:tad="http://www.onvif.org/ver10/analyticsdevice/wsdl" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl" xmlns:tls="http://www.onvif.org/ver10/display/wsdl" xmlns:tmd="http://www.onvif.org/ver10/deviceIO/wsdl" xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl" xmlns:trc="http://www.onvif.org/ver10/recording/wsdl" xmlns:trp="http://www.onvif.org/ver10/replay/wsdl" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:trv="http://www.onvif.org/ver10/receiver/wsdl" xmlns:tse="http://www.onvif.org/ver10/search/wsdl" xmlns:ter="http://www.onvif.org/ver10/error" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Body><SOAP-ENV:Fault><SOAP-ENV:Code><SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value></SOAP-ENV:Code><SOAP-ENV:Reason><SOAP-ENV:Text xml:lang="en"/></SOAP-ENV:Reason></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
}

The camera streams themselves are working fine. I don't have any of the other sensors enabled so can't comment on them.

As an experiment I cloned the current master repository and am using this instead of v0.13, but the problem persists.

source: gharchive/issue

license: MIT

license_source: github-api


text:
Add world countries to he_IL provider addresses

Added world countries in Hebrew (was TODO)
A bit of code alignment for array data, removed very long lines.

Is the datasource for name and places the same that's mentioned in the phpDoc comments?

Yes, Lists have not been changed. I just broke the long lines into ~200 chars.

Thanks!

authors: fzaninotto yonirom

repo: fzaninotto/Faker


text:
Absolutely No Useful Documentation

Hi. I would like to request that you add a small piece of documentation (or, if it exists, make it more obvious) explaining how to use this. Please.
Update: It's been fixed. Thank you so much!

If you're wondering why I need this, I'm making an HTTP server software and want to include a PHP parser so it'll be even remotely useful. I was hoping to develop a plugin based on this, but I need to know how to

Run a PHP file (passing the source code as an argument)

Get the HTML output of said PHP file

Pass URL arguments into this PHP file.

Any help would be much appreciated, and I will provide attribution in the ACKNOWLEDGEMENTS.md file. And of course use proper licensing (though I may need to adjust the license I've licensed it under to fit)

Thanks, I haven't been working on this code in a while, but I've just added a usage section to the readme (and moving it to the package root so it shows up in github).
Also, I fixed a few old bugs and added support for redirecting stdout for the php script, as it previously was hard coded to python's sys.stdout. to easily keep track of it I started versioning the code, currently it's at v0.2.3.
In any case, you would have to import the pyphp.executer module and call the execute_php function with the php code, and use StringIO to capture the output. To pass url arguments to the script you would have to pass a global $_GET variable which would be a PHPArray with whatever contents you want it to have.
This code:
import pyphp.executer
import pyphp.phparray
import cStringIO

phpcode="<?php var_dump($_GET);  ?>";

stdout=cStringIO.StringIO()

phpglobals={
    "$_GET" : pyphp.phparray.PHPArray(
        ('drink' , 'coffee'),
        ('hot', True)
   )
}

pyphp.executer.execute_php(phpcode, phpglobals, stdout=stdout)

print stdout.getvalue()

should output:
array(2) {
  ['drink']=>
  string(6) 'coffee'
  ['hot']=>
  bool(true)
}

Hope this helps.

Thanks! You're really awesome. I doubt I could write a PHP... thing like you did.
Finding this was a lifesaver for me. Now, off to fix my license such that it allows me to use this as a plugin! :P

OK, with a modified version of the code, I'm getting an error:
import pyphp.phparray
import cStringIO

def main(script, args={}):
    phpcode=script

    stdout=cStringIO.StringIO()

    a = [(x, args[x]) for x in args]
    print a
    phpglobals={
        "$_GET" : pyphp.phparray.PHPArray(*a)
    }

    pyphp.executer.execute_php(phpcode, phpglobals, stdout=stdout)

    return stdout.getvalue()

That's modified so it's a valid plugin for my server. When I give it a valid PHP hello world, though:
>>>main('<?php echo "Hello, World"; ?>')
[]

Traceback (most recent call last):
  File "<pyshell#0>", line 1
    main('<?php echo "Hello, World"; ?>')
  File "C:\Users\Nathan\Desktop\Programming\Python\Web\Servers\HTTP-WalServeUs\plugins\php.py", line 16, in main
    pyphp.executer.execute_php(phpcode, phpglobals, stdout=stdout)
  File "C:\Users\Nathan\Desktop\Programming\Python\Web\Servers\HTTP-WalServeUs\plugins\pyphp\executer.py", line 556, in execute_php
    phpcode = parser.parse_php(phpcode)
  File "C:\Users\Nathan\Desktop\Programming\Python\Web\Servers\HTTP-WalServeUs\plugins\pyphp\parser.py", line 420, in parse_php
    return P.parse()
  File "C:\Users\Nathan\Desktop\Programming\Python\Web\Servers\HTTP-WalServeUs\plugins\pyphp\parser.py", line 128, in parse
    self.read_outcode()
  File "C:\Users\Nathan\Desktop\Programming\Python\Web\Servers\HTTP-WalServeUs\plugins\pyphp\parser.py", line 402, in read_outcode
    if len(outcode_text) > 0:
TypeError: object of type 'NoneType' has no len()```
Am I doing something blatantly wrong?

Oh, this must be a bug, i'll check on the code and let you know.

@g-i-o- Thanks.

I moved this bug to its own issue #3, so as to open/close it properly. In any case, it was a parser bug.

@g-i-o- Great.

I'll see if I can get it to work now

I'd say there's useful documentation now.

repo: g-i-o-/pyphp


text:
Added Support for Mingw-w64

The Freeimage DLL was not properly copied to the build directory.
Platform detection for specifically mingw32 cannot be done , but we assume most users run x64 nowadays, I also added  a warning though.
Do not use the CMAKE_SIZEOF_VOID_P  trick to detect bitness, it is not reliable

Thanks for contributing!

authors: Groovounet WildRackoon

repo: g-truc/ogl-samples


text:
Android Deprecated API

Note: C:\src\flutter.pub-cache\hosted\pub.dartlang.org\device_apps-1.2.0\android\src\main\java\fr\g123k\deviceapps\DeviceAppsPlugin.java uses or overrides a deprecated API.
Please can you fix it?
Thank you!

This is just a warning, not an issue.


text:
∆+

https://github.com/ga-dc/curriculum/issues/267

https://github.com/ga-dc/curriculum/issues/593

https://github.com/ga-dc/curriculum/issues/592

authors: andrewsunglaekim mattscilipoti

repo: ga-wdi-curriculum/angular-directives


text:
Verify portless webservice url works with UI

With the fix to #1594, the UI will be now be working with a webservice base url that no longer explicitly specifies the port, i.e, instead of  https://dockstore.org:443/api and https://staging.dockstore.org:443/api, the base will be https://dockstore.org/api and https://staging.dockstore.org/api. This has implications not only for API calls themselves, but for urls that the UI generates.
At least the following should be verified:

[x]  The UI can successfully execute API calls against the webservice
[x]  Sign in with both Google and GitHub continues to work
[x]  The generated TRS urls are correct and work on the info tab of containers and workflows
[x]  Download as zip
[x]  Downloading the CLI
[x]  Launch with instructions for tools and workflows work
[x] The link to Swagger and RSS at the bottom of the page work
[x]  Launch with DNAnexus still works (Dockstore passes TRS url to them)
[x]  Should also go through the onboarding tutorial again
[x]  Verify this PR is visible in the docs.
[x] Possibly other things that I'm missing.

┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Issue Number: DOCK-604

Verified a bunch with
DockstoreAPI - 1.6.0-beta.4
DockstoreUI - 2.3.0-rc.0
Waiting for collab

When no server-url is specified in the config file, the default URL used no longer works

@garyluu could you do a PR to modify the default URL?

ok

Launch with instructions for tools and workflows work

working with CWL tools

identified and split out https://github.com/ga4gh/dockstore/issues/2297

Identified and split out #2300

Confirmed that I was able to import https://staging.dockstore.org/workflows/github.com/vrockai/dockstore-whalesay:dnastack?tab=info into into DNAnexus with:
DockstoreAPI - 1.6.0-rc.0
DockstoreUI - 2.3.0-rc.1

Cool, I think we'll address "Possibly other things that I'm missing." separately as we think of them

authors: coverbeck denis-yuen garyluu


text:
Replace NCBI taxon ID integer with ontology term

In #612 I mentioned the inconsistency in representing the NCBI taxon ID as an integer on a reference when the biometadata objects use an Ontology term. This PR closes #612 by replacing the NCBI taxon ID int32 with an ontology term.

-1 on this in the current implementation.
Species is defined inbio_metadata.Individual.species
So this should be a reference to the individual (or a copy of the same structure, as a fudge).
  // For a representation of an NCBI Taxon ID as an OntologyTerm, see
  // NCBITaxon Ontology
  //   http://www.obofoundry.org/ontology/ncbitaxon.html
  // For example, 'Homo sapiens' has the ID 9606. The NCBITaxon ontology ID for
  // this is NCBITaxon:9606, which has the URI
  // http://purl.obolibrary.org/obo/NCBITaxon_9606
  OntologyTerm species = 7;

Thanks @mbaudis, that makes sense I've changed the field to be named species.

+1 (and removal of the -1 above)

Updated to include using an Ontology Term on reference sets as well. Thanks @ejacox !

Implemented in the server here, and client with demonstrated tests in compliance.


text:
🛑 Plex is down

In 363a3f3, Plex (https://plex.gabebryk.com/web/index.html) was down:

HTTP code: 523
Response time: 1821 ms

Resolved: Plex is back up in 761a7bb after 5 minutes.

repo: gabrielbryk/vigilant-octo-carnival


text:
#3 filename with headers and more.

Fixed initial usage issues:

filename with header and hash was invalid.
proposal to use __cache__ following jest naming.
NodeJSStore not exported.
possible circular dependency JFMCCacheContent.
ts-jest complains about createCachingMock not a function (changed to named export).

@gadicc I am facing an issue with TypeError: Store is not a constructor.
Searching for an answer this could be related to having the local package linked with npm.
There are similar reports from other using ts-jest.
If you have the time I would appreciate a release with this PR, so I can use the released package without link.

Hey @nocodehummel!  Thanks for all this.  All very sensible changes / fixes :pray:  Just a few minor comments from my side:

ts-jest complains about createCachingMock not a function (changed to named export).

Sounds good, but does it still work if we also retain the default export?  This way we can retain backwards compatibility too.  Potentially we could also wrap default export with a deprecation warning, but not really a big deal.

proposal to use cache following jest naming.

Happy to make this user configurable, it should have been so anyway.  However, I'd rather retain the existing default of ./tests/fixtures/http.  Besides for backwards compatibility, __cache__ (for me at least) really implies temporary cache files, whereas the package (despite the possibly misleading name), is really designed not just to speed up tests but also ship the http "cache" and commit to the repo as fixtures for consistent testing.  You also sometimes see __cache__ in things like .gitignore which would complicate matters.

constructor(location?: string) {

Just thinking ahead here, especially since JFMCNodeFSStore extends JFMCStore.  Could we rather have the constructor take an options object, of which location is an optional key?
In general, again, all the changes are very sensible and well executed, so thanks again for all your efforts here :pray:  I think we're in a similar timezone, but if I don't hear back from you, I'll merge and make the above changes and publish, as I'm around this morning and I know you're waiting for this.

@nocodehummel, working on this now.  I also created a new dev branch and merged to there, as all commits on main trigger a publish.

@nocodehummel, closing as this is all merged.  GitHub isn't showing that because I did some rebasing by hand, but you'll see in the commit history, it's all there.  Thanks again!  Merging to main and there should be an automatic message here on the published release.

@gadicc, thanks for the quick follow-up with a new release!
The changes are working as expected.

Awesome news!  Thanks for reporting back, and sorry for my late reply.

authors: gadicc nocodehummel

repo: gadicc/jest-fetch-mock-cache


text:
🛑 Trends is down

In 87f8061, Trends (https://trends.gab.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Trends is back up in 1416a9c after 56 minutes.

repo: gadmln/gabstatus


text:
🛑 Trends is down

In e83b117, Trends (https://trends.gab.com) was down:

HTTP code: 502
Response time: 517 ms

Resolved: Trends is back up in 1212f2d after 50 minutes.


text:
First CI try

Create a workflow that runs the tests

Will try this another time, it's hell to install guile deps on the vm

repo: gagbo/xile


text:
Ensure that one of the dependent jobs succeeded.

The tag-and-release job depends on the package-from-pr or package-from-manual jobs succeeding.  However, the packaging jobs are mutually exclusive so we need to test if one, but not both, have succeeded.
See Stack Overflow
Closes #452

No, this will only tag the latest commit/version.  I have a separate script I used to tag/release previous versions.  That script didn't include --generate-notes since the commit messages have been vague and consist almost entirely of "Automatic Version Bumping from X to X+1". We can regenerate them if needed though.
I'll add my tag-and-release.sh script to the repo in a separate PR.

So --generate-notes doesn't do the same thing as here?

Is there someway we can make it add the changelog? That would be perfect.

No, it does not seem to when generated releases from past tags.  See the 5.8.0 and 5.9.0 releases I just generated.  Note that is just when generating release notes from previous tags/commits.  It should be find going forward.

Should be good to go then?

I think so...

authors: ksuderman nuwang

repo: galaxyproject/galaxy-helm


text:
Internal Server Error

When I try to generate a skeleton for a new galaxy tutorial it gives the following error:
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

All parameters were filled in.
Galaxy instance chosen is usegalaxy.eu

I'm sorry I missed this @Dirowa (feel free to ping me in person as well).  We were experiencing timeouts for a period, but it might be better now.

Closed pending further response from submitter.

authors: Dirowa hexylena

repo: galaxyproject/ptdk


text:
Clustering in Machine Learning Tutorial (V 2.0)

Hi,
This PR is a new version of https://github.com/galaxyproject/training-material/pull/1850
I had problems with my branches in the local repository so I created a fresh branch for it.
In this new PR:
Anup comments are applied.
The problem with one figure is solved.
The introduction part is extended.
Two important parameters in DBSCAN are described.
Data-library.yml file is modified.
@anuprulez, @bgruening please let me know your comments.

Thanks to @anuprulez , the tutorial has been modified using your comments.

:+1:

authors: anuprulez khanteymoori

repo: galaxyproject/training-material


text:
Add metadata to Alevin tutorial for Spanish version

@nomadscientist we just needed to add some metadata to the English version to make it show up in the interface (and Spanish version of the tutorial should use _ES.md instead of -ES.md)

OHHHHH doh. I didn't even think to check the English one for metadata. I will know this for next time!!!

authors: nomadscientist shiltemann


text:
Update Salmon parameters in workflow Part 2

Fixed missing --writeMappings parameters, updated to newest Salmon version, rearranged input boxes.

cooli!

authors: bgruening malloryfreeberg


text:
custom reference with the viral sequence added to human reference

Hi,
Thank you for developing a great tool! Does the tool only take unaligned reads from cellranger's output?
I ran cellranger count on my files with a custom reference containing the human reference genome and the viral genome added to it as a single exon. This also results in viral transcripts being 'aligned' to this reference. Does it make sense to run scpathoquant on such output files?
Thanks in advance!

Hi,
It does not make sense to run scPathoQuant on that output if the viral genome has already been added to the human reference genome.  scPathoQuant would not find any viral reads as they have already been aligned in the first analysis.
Thanks for your question and let me know if you have others!

Thanks for your response!

repo: galelab/scPathoQuant


text:
Add additional build info in table

Changes

This makes the table that contains the builds for each target platform collapsible.
More detailed information about the build / docker image publication appears (renders on-open)
Fix last updated timestamp for all jobs

Checklist

[x] Read the contribution guide and accept the code of conduct
[ ] Readme (updated or not needed)
[ ] Tests (added, updated or not needed)

This is still a work in progress, but i'm merging it because it's already a bit more useful than last time.

repo: game-ci/documentation


text:
Add Android Build Settings and macOS buildNumber

Adds parameters for Android for #34:
-androidAppBundle
-androidKeystoreName
-androidKeystoreBase64
-androidKeystorePass
-androidKeyalias
-androidKeyaliasPass
Need to update PlayerSettings.macOS.buildNumber for each submission to the Mac App Store. Per Unity  and Apple  documentation, just applying the auto-generated version makes the most sense.

@webbertakken
I think the Tests check failed only because of some transient problem? At the least, I don't see a problem with the tests themselves.
I do have another problem with this PR, though. I'm currently getting an error when submitting to the Mac App Store:
[Transporter Error Output]: ERROR ITMS-90061: "This bundle is invalid. The value for key CFBundleVersion [1.30.6] in the Info.plist file must contain a higher version than that of the previously uploaded version [38]. Please find more information about CFBundleVersion at https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion"
My build number is currently at 38 since I had been manually incrementing the number by 1, similar to what I had been doing for the Android releases (a mistake, in hindsight).
I can't use the the androidVersionCode: Apple will interpret that number as the first number for CFBundleVersion, which is limited to 4 digits, while the androidVersionCode takes 7 digits with how we currently have it.
This PR may not be the appropriate place to ask, but I figured I'd ask for any suggestion on what I should do?

See contribution guide.
Specifically this part:

Please note that commit hooks will run automatically to perform some tasks;

format your code
run tests
build distributable files

The test fails because the distributable file is not automatically generated. Did the pre-commit hook fail?

Pre-commit hook ran fine for me.
I just re-ran yarn build again, and I'm not seeing an error:

Right. It was actually yarn getting a 502. I reran the tests and now they are green.

@davidmfinol could androidCreateSymbolsZip be implemented in the same way?

Yeah, I think you should be able to raise a PR for it.
I think you would need to add androidCreateSymbolsZip to action.yml, input.ts, build-parameters.ts, docker.ts, build.sh, and AndroidSettings.cs.
We'd also want to add it to the documentation.
I actually wonder if there is a better approach that would easily enable us to set all of the EditorUserBuildSettings through our default build script. That's probably a question for another time, though.

@davidmfinol how about this :
      - uses: game-ci/unity-builder@v2.0-alpha-6
        name: Build unity project to Android
        with:
           unityVersion: ${{ matrix.unityVersion }}
           targetPlatform: ${{ matrix.targetPlatform }}
           buildsPath: build-${{ matrix.targetPlatform }}
           buildName: ${{ secrets.BUILD_NAME }}
           versioning: Custom
           version: ${{ steps.versionstep.outputs.buildVersion }}
           androidVersionCode: ${{ steps.versionstep.outputs.buildNumber }}
           androidAppBundle: true
           androidKeystoreName: ${{ secrets.ANDROID_KEYSTORE_NAME }}
           androidKeystoreBase64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
           androidKeystorePass: ${{ secrets.ANDROID_KEYSTORE_PASS }}
           androidKeyaliasName: ${{ secrets.ANDROID_KEYALIAS_NAME }}
           androidKeyaliasPass: ${{ secrets.ANDROID_KEYALIAS_PASS }}
+          customParameters: -androidCreateSymbolsZip

You can do it that way if you want to quicker solution for your project. You would also need a custom buildMethod that applies EditorUserBuildSettings.androidCreateSymbolsZip = true;

You can do it that way if you want to quicker solution for your project. You would also need a custom buildMethod that applies EditorUserBuildSettings.androidCreateSymbolsZip = true;

Somebody else also tried with that setting and no success https://answers.unity.com/questions/1767637/batchmode-command-not-generating-symbolszip-file.html?childToView=1822466#answer-1822466 but maybe they didn't add the setting in the cli.
So @davidmfinol you're saying both settings are required? The EditorUserBuildSettings.androidCreateSymbolsZip = true and additionally the -androidCreateSymbolsZip flag in the CLI? That could be a solution to his problem then as well

Passing -androidCreateSymbolsZip in the CLI could be useful to check if that flag was passed in your build script, but it's not necessary.
My understanding is that only EditorUserBuildSettings.androidCreateSymbolsZip = true is required, so I'm not sure why it didn't work for him.

Passing -androidCreateSymbolsZip in the CLI could be useful to check if that flag was passed in your build script, but it's not necessary.
My understanding is that only EditorUserBuildSettings.androidCreateSymbolsZip = true is required, so I'm not sure why it didn't work for him.

Because for me - passing it in the CLI - is also not sufficient. There may be a bigger issue at play here :|

authors: davidmfinol mastef webbertakken

repo: game-ci/unity-builder


text:
Parity with unity builder image version regex

Changes

Fix image tag checks for Unity 6+

Checklist

[x] Read the contribution guide and accept the code of conduct
[x] Docs (If new inputs or outputs have been added or changes to behavior that should be documented. Please make a PR
in the documentation repo)
[x] Readme (updated or not needed)
[x] Tests (added, updated or not needed)

I reviewed this after it god merged, but it looks good to me 👍 Thanks for bringing Unity 6 support in here 🚀

authors: AndrewKahr GabLeRoux

repo: game-ci/unity-test-runner


text:
Betreft onduidelijkheid implementatie van method

Beste meneer Erik Hooijmeijer,
Tijdens het werken aan het project kwamen we diverse problemen tegen met het geleverde framework.
De interfaces bevatten methods waarvan het ons onduidelijk wat de bedoeling is van de implementatie van deze methode. Het voornaamste voorbeeld hiervan is de method volg van de interface Pad.
Is het mogelijk voor u om de bijbehorende documentatie op te sturen? Wellicht dat dat onze verwarringen verheldert.
Alvast bedankt,
Met vriendelijke groet,
Kishan, Waqar & Josh

Wij, als groep, lopen tegen hetzelfde probleem aan.
Het toevoegen van JSDocs aan methods/classes, en het specificeren van de source repository in de Maven configuratie zou een mooi begin zijn.
Tim Visée

Opmerkelijk, ik zou zweren dat ik het geheel gedocumenteerd heb.. En inderdaad :-)
/**
 * bepaalt op welk coordinaat je uit komt als je het pad volgt.
 * @param start het start coordinaat.
 * @return het eindpunt van het pad.
 */
Coordinaat volg(Coordinaat start);

Wellicht doet je IDE alsof er broncode is door de class files te decompileren. Echter de Javadoc zit er dan niet bij, daarvoor heb je de source code nodig. Het downloaden van de source code kan je met maven of je IDE doen. Ook kan je de bibliotheek gewoon uitchecken van github.
Implementatie tips
Een Pad is de uitkomst van het snelste pad algoritme. Afhankelijk van welk algoritme je implementeert is een bepaalde Pad implementatie handiger. Vandaar ook dat deze zelf gemaakt moet worden.
In principe is Pad een wrapper rond een Richting array. De volg (het Pad) functionaliteit kan eenvoudig geïmplementeerd worden op basis van de Coordinaat.naar(Richting) methode.
De Pad implementatie wordt (deels) gecontroleerd in de HandelaarImplTest.zouEenPadMoetenVinden() methode.
@timvisee het specificeren van de source repository in de Maven configuratie zegt alleen iets over de broncode van het project waar de pom een deel van uit maakt maar niets over de broncode van de gebruikte bibliotheken.

authors: Wnzebkhan ctrl-alt-dev timvisee

repo: gameoftrades/gameoftrades-student-kit


text:
Support changing lights on Alienware Alpha

This makes you able to select Alien FX in the menu if you have an Alienware Alpha or Steam Machine to change the color of the lights on the system.
I've created a package on the AUR which takes the script from the steamos-base-files. This is what is used here.
I did find a bug while working on this. The files in /etc/sudoers.d aren't loaded by sudo because build.sh adds a line below the include line in the sudoers file. With this pull request this is fixed by writing to the second to last line instead.

AUR link of the package: https://aur.archlinux.org/packages/alienware-alpha-wmi

repo: gamer-os/gamer-os


text:
⚠ Avatar API Endpoint has degraded performance

In 733fc2c, Avatar API Endpoint (https://avatar.roblox.com/v1/avatar-rules) experienced degraded performance:

HTTP code: 200
Response time: 1535 ms

Resolved: Avatar API Endpoint performance has improved in 8913e39.


text:
[suggestion] Vector Rotate

suggested name: Centripetal Exaltation
takes a vector, an axis, and an angle (in rads), and outputs that vector rotated by that amount
This isn't trivially implementable with patterns as they are now, so it might be better to make an actual pattern.

What's next, Cartesian-to-cylindrical-to-spherical transformations?

MoreIotas supports this with Rotation Distillation via matrices - does Hex really need to implement it?

authors: gedeknepper object-Object yrsegal

repo: gamma-delta/HexMod


text:
Error - Won't load with SSMS 2019.150.18142.0 (v18.2)

ActivityLog.zip

To fix this go to the wakatime.dll, right click properties  and click unblock then okay and it’ll work on restart

authors: KrunchMuffin lastowl

repo: gandarez/ssms-wakatime


text:
sourceMappingURL is set to absolute path of local source map

The source maps cannot be displayed by the browser dev tools since the source map urls are absolute paths to the local resources. There should be a way to specify relative paths to the location of the source maps so that a web server can serve these.
I get this:
//# sourceMappingURL=/Users/<user>/project/dist/index.js
But want this:
//# sourceMappingURL=dist/index.js
Here are my configs:
13:06 $ cat .languagebabel
{
	"projectRoot": true,
	"babelMapsAddUrl": true,
	"babelSourcePath": "src",
	"babelTranspilePath": "dist",
	"babelMapsPath": "dist",
	"transpileOnSave": true,
	"createTranspiledCode": true,
	"createMap": true
}

15:26 $ cat .babelrc
{
	"presets": [
		["env", {
			"targets": {
				"chrome": "40",
				"ie": "11"
			}
		}]
	]
}

Can you try 2.81.1 and let me know how it goes.

Amazing @gandm. That works! Thanks for the speedy fix.

authors: gandm mdupls

repo: gandm/language-babel


text:
Fix bug in Q44 code

This PR fixes a bug in Q44 code

The proper code is this:
  var args = Array.prototype.slice.call(arguments);
  args.unshift('your app name');
  console.log.apply(console, args);
}```
the `arguments` being a keyword.

authors: andela-jomadoye ganqqwerty


text:
在pycharm中没打印出来

我在我的pycharm中的terminal中运行，好像打印结果不对，不知道是不是我的用法不对还是有bug

是我的问题，我忘了实例化，尴尬

objprint的color还没fix，估计会在这周完成。

Fixed in #64

repo: gaogaotiantian/objprint


text:
[Bug] Users who upper case their email address will experience an error

Sentry.io alerted an error in a downsteam service.
Solution: Lowercase username / email fields during login / signup

no longer an issue.


text:
Consistently use namespaceMatchLabels across rules

What would you like to be added:
Some rules match namespaces by labels and other do it by names. We should make this consistent across all rules even though this is going to be a breaking change. See example of such inconsistent usage.

/assign

authors: dimityrmirchev georgibaltiev

repo: gardener/diki


text:
Why increase the default socket buffer size?

How to categorize this issue?

/area os
/kind question
Gardener overwrites the OS-specific default values for socket buffer size on the shoot nodes, see https://github.com/gardener/gardener/blob/3ee1070ce8d8144d3479809ecbafe9ba0cff9c7f/pkg/operation/botanist/component/extensions/operatingsystemconfig/original/components/kernelconfig/component.go#L69-L71
We have now had at least one case where this setting causes excessive memory allocation for applications which open multiple sockets. It is likely that other applications will run into the same problem in future too.
So the question is: do we need this change of the default buffer size?
There is a similar configuration in kops (https://github.com/kubernetes/kops/blob/f2f9252a797df5211a059677c80b3afdbccf58a7/nodeup/pkg/model/sysctls.go#L79-L81) and they reference this old kubernetes issue (https://github.com/kubernetes-retired/kube-deploy/issues/261), but none of these actually explains why this is done or if it is still needed.

cc @rfranzke @DockToFuture @MrBatschner

repo: gardener/gardener


text:
Update redis test image to multi arch image

How to categorize this PR?

/area delivery
/kind enhancement
What this PR does / why we need it:
This PR updates the bitnami/redis test images from bitnami/redis to redis and adapts the required changes for it. Also, the new redis image is multi-arch.
Which issue(s) this PR fixes:
Part of https://github.com/gardener/backlog/issues/19
Special notes for your reviewer:
/cc @ialidzhikov I have tested the guestbook test locally and it works fine.
Release note:

NONE

/cc @ialidzhikov

/test pull-gardener-integration

FYI @dguendisch

authors: acumino ialidzhikov


text:
Problem Metric Integration

Create an extension of the base APIMetric class for use with problem detection API.

Also remember to add to .yml configuration files.


text:
Update showall.dart

Description
Give a description of what this PR is about.
Jira Ticket

https://garrysjh.atlassian.net/browse/DIP-[your ticket number]

taskbar

we not using this page i think

repo: garrysjh/NTUMart


text:
Update introduction.md

Fix a typo.

Pull Request Test Coverage Report for Build 1

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.2%) to 87.85%

Files with Coverage Reduction
New Missed Lines
%

lib/tortoise/package/connect.ex
1
88.24%

Totals

Change from base Build 39:
-0.2%

Covered Lines:
564

Relevant Lines:
642

💛  - Coveralls

Thanks. At least I got the file name right :)

authors: coveralls gausby mariosant

repo: gausby/tortoise


text:
Misc bigblocks bugfixes

Found these whilst doing a second code review and investigating why the regression tests were failing.
Note: includes a patch to set softlimit == hardlimit by default.

Merged into my blocksize_fork_0.11 branch.

authors: gavinandresen mikehearn

repo: gavinandresen/bitcoin-git


text:
Use gulp-sass@^2.0.4 to fix Node v4.2.1 compat

Support NodeJS v4.2.1 by upgrading gulp-sass depedency to version ^2.0.4 which fixes the error:
./node_modules/gulp-iconify/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:22
    throw new Error('`libsass` bindings not found. Try reinstalling `node-sass`?');
    ^

Error: `libsass` bindings not found. Try reinstalling `node-sass`?
    at getBinding (./node_modules/gulp-iconify/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:22:11)
    at Object.<anonymous> (./node_modules/gulp-iconify/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:188:23)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (./node_modules/gulp-iconify/node_modules/gulp-sass/index.js:3:17)
    at Module._compile (module.js:435:26)

ah, didn't see this pull request, and was about to submit one of my own. Much appreciated if this could make it to the next iconify version.

Commit https://github.com/gavro/gulp-iconify/commit/a551d35fef21a191286fe7eb2a1f559a1889e140 fixes this (see pull request #23). Version bumped to 0.4.0.

authors: LaurensRietveld aripalo gavro

repo: gavro/gulp-iconify


text:
[bullet-featherstone] Ignore collision between static objects and objects with world joint

🎉 New feature
Summary
Skip collision checking between collisions from a static model and collisions in the base link that has a fixed world joint.
This is done by setting the collision filter mask / flags to use the StaticFilter, which is already done for static objects (<static>true</static>), i.e. static objects already ignore collisions with each other.
This is for perf optimization. When you have overlapping complex meshes with fixed world joints, they would cause a perf hit and these changes would allow bullet to skip collision checking between them.
Added a test in collisions.cc that checks contacts between static objects and objects with fixed world joint.
Checklist

[x] Signed all commits for DCO
[x] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

homebrew build failed. A closer inspection found that the DetachableJointTest/0.CorrectAttachmentPoints also started failing in the gz-physics7 release branch - this is dartsim plugin and there haven't been changes to dartsim implementation recently.
I found that there is a new dartsim 6.13.2_2 bottle this week - not sure if it's caused by this

homebrew build failed. A closer inspection found that the DetachableJointTest/0.CorrectAttachmentPoints also started failing in the gz-physics7 and main branches this week - this is dartsim plugin and there haven't been changes to dartsim implementation recently.
I found that there is a new ode 0.16.5 bottle this week, which dartsim 6.13.2_2 depends on - not sure if it's caused by this.

it looks like some ode build configuration options were removed in https://github.com/Homebrew/homebrew-core/pull/167158/files#diff-740579038a60e496fde8245acb12845f8c4784bb2f5a891ee126926e99187b20L36-L39

repo: gazebosim/gz-physics


text:
Memory Map: rom spaces

The bank at 0000-3FFF is able to be swapped around by some MBCs (most notably the MBC1). It should rather be called either "ROM0", "ROM0 space", or "$0000-3FFF"

@AlvaroBurnett want to take a look at this too?

Maybe "ROM bank X0". Because it can be assigned banks 00, 20, 40, 60.

authors: AlvaroBurnett avivace

repo: gbdev/pandocs


text:
FAVICON!

I added favicons to all the examples. Congrats to underscorefunk on the new logo!

Wonderful, thanks!

authors: benwis gbj

repo: gbj/leptos


text:
Validation and re-validation when leaving a field

Is there a way to validate and revalidate a field upon leaving it, blur? I looked into the docs, but wasn't able to find this.
To implement this, each field would probably need a "dirty" flag and only show the error if that dirty flag is set or the form has been attempted to be submitted at least once.

Is there a way to validate and revalidate a field upon leaving it, blur?

At the moment no, I think you'll be able to do that when https://github.com/gcanti/tcomb-form/issues/53 lends in v0.5

Hi @ustun, I wrote an example for v0.5 (currently on master branch). Is it helpful?
https://github.com/gcanti/tcomb-form/issues/101

authors: gcanti ustun

repo: gcanti/tcomb-form


text:
Windows Filetime mod

Small change to Windows Filetime input and output to allow hex. Hex is often seen in registry settings and Tool output. Decimal is often seen in LDAP and PowerShell usage.

Thanks, this is a useful addition. I've updated the tests to specify the new argument values.

repo: gchq/CyberChef


text:
Make expectOutput actually check the output, fix one failing test

Previously the expectOutput function did not check anything. After fixing it, one test was failing but that was because it didn't account for output encoding autodetection.

Always good to check your tests actually do something.


text:
FederatedStore isAddingUser rename

Braking change.
change isAddingUser and similar reference to isCreatingUser

After discussion offline, this small change would be quick to implement, so include in alpha-3 release.

Closed by https://github.com/gchq/Gaffer/pull/2832

repo: gchq/Gaffer


text:
Update documentation for GetElements

There is very little documentation around exactly what the different flags and seeds do when executing a GetElements operation. This makes it very difficult to write a new Gaffer Store.

Merged into develop.


text:
Gh 2485 replace hamcrest with assertj

Mostly done using the following script: https://github.com/mkordas/hamcrest-to-assertj/blob/master/hamcrest-to-assertj.sh
Some manual updating also had to be done, and ran a script to update order of dependencies.
Related Issue

Resolve #2485

Codecov Report

Merging #2491 (bdc51b7) into develop (85324d9) will increase coverage by 9.62%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #2491      +/-   ##
=============================================
+ Coverage      66.23%   75.85%   +9.62%
+ Complexity      2397      185    -2212
=============================================
  Files            965       11     -954
  Lines          31628      584   -31044
  Branches        3835       50    -3785
=============================================
- Hits           20948      443   -20505
+ Misses          9041      100    -8941
+ Partials        1639       41    -1598

Impacted Files
Coverage Δ

...gchq/gaffer/operation/impl/get/GetAdjacentIds.java

.../gov/gchq/gaffer/operation/impl/DiscardOutput.java

...s/sampling/ReservoirLongsSketchKryoSerializer.java

...chq/gaffer/access/predicate/NoAccessPredicate.java

...ialisation/json/HyperLogLogPlusJsonSerialiser.java

...ration/handler/FederatedAddGraphHandlerParent.java

...ov/gchq/gaffer/operation/impl/output/ToStream.java

...r/store/operation/handler/compare/SortHandler.java

...gchq/gaffer/store/serialiser/EdgeIdSerialiser.java

...v/gchq/gaffer/commonutil/iterable/AlwaysValid.java

... and 933 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5170aff...bdc51b7. Read the comment docs.


text:
Explorer item selector ends up choosing System if it can't find item

The extraction pipeline selection in view keeps getting set to System when you change other items and save as it can't find a the dynamic tagged item.

Working in 7.3

repo: gchq/stroom


text:
Expose client connection options

It would be nice to expose the host/port that were used to initialize the client e.g. for logging which server we're now connected to after a reconnect event.

Yeah fair enough. I don't see what harm it could do.

authors: gdaws rkhmelichek

repo: gdaws/node-stomp


text:
Create calculadoraSimples

calculadora simples com as operações de soma, subtração, multiplicação e divisão

ta liberado


text:
Camera Controls Tab

I'd like to be able to control the webcam's settings using OctoPod. OctoLapse implements this fairly well (scroll down to the "Better Camera Controls" section on this page). This is separate (but maybe a first step?) from OctoLapse integration into OctoPod down the road.

Hi @GoodyGizmos,
Thanks for this request. It seems like OctoLapse is a very popular plugin. Been getting more request to add support for this plugin. It is currently scheduled for release 3.12. It seems to have a lot of functionality so it will take me some time to implement it.
Regards,
Gaston

Hi @GoodyGizmos,
Thanks for this request. It seems like OctoLapse is a very popular plugin. Been getting more request to add support for this plugin. It is currently scheduled for release 3.12. It seems to have a lot of functionality so it will take me some time to implement it.
Regards,
Gaston

@gdombiak Since I originally posted this request, this plug-in (https://plugins.octoprint.org/plugins/camerasettings/) came out. I'm definitely interested in having this level of control over a connected webcam, but don't think OctoLapse integration is necessary. My $0.02. 😀

authors: GitHubGoody gdombiak

repo: gdombiak/OctoPod


text:
Support for 3dFace entity

I have added two functions for 3d face support that mimic the polyline parser but only parse 4 vertices (max for a 3dFace, seems weird to have a non triangle face??)  Will file PR tomorrow when the code is cleaned up.

Sweet, sounds good. thanks!

authors: bzuillsmith kpetrow

repo: gdsestimating/dxf-parser


text:
wire components with bbox

Manhattan routing using wire.py components (wire_corner, wire45, and wire_corner_sections) currently does not handle cross_section bbox:
    from gdsfactory.cross_section import metal_slotted

    metal_slotted_bbox = metal_slotted(
        bbox_layers=("M1", "M2"),
        bbox_offsets=(2, 4),
    )

With this PR, there is a new with_bbox argument to the wire components that allows cross_section bbox to be carried over (defaults to False to conserve old behaviour):
    c = gf.Component()
    route = gf.routing.get_route_electrical(
        input_port=port1,
        output_port=port2,
        bend=wire_corner_sections(cross_section=metal_slotted_bbox, with_bbox=False),
        cross_section=metal_slotted_bbox,
    )
    c.add(route.references)
    c.show()

Thank you Simon!

authors: joamatab simbilod

repo: gdsfactory/gdsfactory


text:
add at-least-once test

@manuzhang please review the at-least-once test

Current coverage is 61.02%

Branch #1585 has no coverage reports uploaded yet.

No diff could be generated. No reports for integrationtest found.

Uncovered Suggestions

+0.21% via .../master/Master.scala#116...127
+0.20% via ...cutor/Executor.scala#187...197
+0.20% via ...cutor/Executor.scala#98...108
See 7 more...

Powered by Codecov. Updated on successful CI builds.

updated

+1

authors: codecov-io huafengw manuzhang

repo: gearpump/gearpump


text:
Remove prefixed spaces / tabs after a  block

This can be very tricky, but here is my use-case:
This doc:
        /// <summary>
        /// Returns a <see cref="string"/> that represents the type name of the instance.
        /// <para />
        /// If the <paramref name="instance"/> is <c>null</c>, this method will return "null". This
        /// method is great when the value of a property must be logged.
        /// </summary>
        /// <param name="instance">The instance.</param>
        /// <returns>A <see cref="string"/> that represents the type of the instance.</returns>
        public static string ToTypeString(object instance)

Gets converted to:
Returns a [String](#) that represents the full type name of the instance.

    If the instance is `null`, this method will return "null". This
    method is great when the value of a property must be logged.

As you can see, the text after a <para /> block somehow indented. Would you accept a PR that removes this indentation?

This text:
"\r\n    Argument validator class to help validating arguments that are passed into a method.\r\n    "
will now be converted to:
"Argument validator class to help validating arguments that are passed into a method."
A more complex example:
"\r\n    Use this enum to provide a valid reason for excluding coverage. Expand this enum \r\n    if you encounter a new type of reason. \r\n    "
will become:
"Use this enum to provide a valid reason for excluding coverage. Expand this enum if you encounter a new type of reason."
If you agree, I will create the PR.

As you can see here, it's now generating correctly formatted documentation, even when the source docs contain a lot of "\r\n" or indents.
http://docs.catelproject.com/vnext/reference/Catel.Core/Catel/CatelEnvironment/

This behavior seems like a bug. A PR would be nice 👍

authors: GeertvanHorrik geaz

repo: geaz/sharpDox


text:
Fix issue with data sets in series exceeding the maximum of 1000 points

If you add series with data sets that exceed 1000 points HighCharts will fail with the current setup. I've added some code to return lists of lists of points, as suggested by HighCharts.

@gjong I had done a code review, please see the comments.

With regards to the 800 / 900 i've been playing to see what the maximum or optimal points are before Highchart becomes slower in generation. The official cap is 1000, but I've found it better to set it to 900.

To me it would make most sense to set the cap to the official limit. It is up to the user of the API if it is too slow.

@a5hik Could you recheck the code and see if it's ok?

@gjong the interface needs to be more clear to the user.
the JsonPointArray needs to be represented in a better way to depict 'lists of lists of points' in the interface. also you need to have a way to set the original JsonArray to be backward compatible.

authors: a5hik gjong pvanassen

repo: geckoboard-java-api/highchart-java-api


text:
Error: Cannot find module 'XMLHttpRequest

I get this both when I do the 'use as package' and 'use as CLI tool' option.
$ node ee-runner.js examples/hello.js
module.js:472
    throw err;
    ^

Error: Cannot find module 'XMLHttpRequest'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> ([ ... ]/ee-runner/index.js:16:25)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)

$ node --version
v7.10.1

Do you have all dependent packages?
Any error after:
npm run init
?

I actually get the same error as above.
`node ee-runner.js examples/hello.js
module.js:471
throw err;
^
Error: Cannot find module 'XMLHttpRequest'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. (/home/maffie/scripts/gee/ee-runner/index.js:16:25)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
`
And I do not get an error after npm run int.
I installed xmlhttprequest separately, but with/without -g option. Did init again, but I still get the same error.
Any ideas?

@gena no, no errors after npm run init

Can you try it once again?

Great, https://github.com/gee-community/ee-runner/commit/690d11c3fbe78305458f3ecf410ccd7f6dc47dfd seems to have done the trick!

authors: gena iamlukesky matthiasdemuzere

repo: gee-community/ee-runner


text:
🛑 Public Stremify Stremio Addon is down

In 1be704a, Public Stremify Stremio Addon (https://stremify.elfhosted.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Public Stremify Stremio Addon is back up in 58d0673 after 8 minutes.

repo: geek-cookbook/elfhosted-upptime


text:
Soup-to-nuts with a distribution

Issue Type

Support Request

Your Environment
Vagrant 1.9.4
VirtualBox 5.1.18r114002
ansible 2.2.2.0
config file =
configured module search path = Default w/o overrides

macOS (version)

Summary
I'm using the soup-to-nuts documentation routinely to build my local environment with great success. Thanks for pulling that together.
I just want to confirm the necessary changes to my configuration files in order to build with Lightning. I've added the following, which works:

drupal_composer_project_package: "acquia/lightning-project:^8.1.0"
drupal_composer_project_options: "--prefer-dist --stability rc --no-interaction"

Any other configuration settings I should observe? Thanks in advance.

Might be more, but at least:
drupal_core_path: "{{ drupal_composer_install_dir }}/docroot"

I think it might be nice to document this somehow. Maybe just in a comment on that blog post, or elsewhere (doesn't need to be in Drupal VM directly). It would be nice to make sure people know how easy it is to build new local/prod sets for any distribution.

authors: geerlingguy minorscience oxyc

repo: geerlingguy/drupal-vm


text:
Spanish translations?

Issue Type

Feature Idea

Summary
Hello I would like to collaborate with your project by serving as a translator to Spanish. could translate your text documents.

Hello @UlisesTJ . I'm not a maintainer, but I assume the additions would be welcome. You could write the content and submit a pull request to the project on GitHub. If you don't know how to create a pull request, please let me know and I can help you with that.
I think the only "technical" issue here would be how to organize the files, but I expect that creation of the translations would be welcome. If this is something you'd like to pursue, I recommend that you translate specific files and submit those new files via a pull request.

ok thanks a pleasure, I will soon send you the pull requests @ashabed

@UlisesTJ - can you be more specific about what you'd like to help with, and whether you'd be willing to be a long-term 'spanish translation manager' or something of that sort?
Basically, I've been burned plenty of times on projects where someone offers a translation of something, then they drop a file that translates everything using something like Google Translate, and I never hear from them again. I'm not saying you're doing this... I just want to make sure that we don't leave this ticket open indefinitely unless there's some movement and motivation.
As someone who has tried to maintain multilingual docs for years on various projects... I know how Herculean such a task can be, unless there are dedicated and ongoing-committed volunteers.

Nevermind about the above—found https://github.com/geerlingguy/drupal-vm/pull/1709/files :)

Did you like the PR @geerlingguy ? Are you going to merge it?

@UlisesTJ are you considering translating the rest of the docs? Just wondering the scope of this.

authors: UlisesTJ ashabed geerlingguy rubenvarela


text:
Route HTTP requests through one node via reverse SSH tunnel

(or VPN). Basically, what this answer states: autossh + tcp forwarding + remote port forwarding.
I want to be able to set down my Turing Pi 2 cluster anywhere in the world, and as long as I can get an Internet connection, be able to serve website traffic through it for a given domain, assuming I have a server that has the DNS pointed at it hosted somewhere persistent, to which the Turing Pi cluster will connect automatically at boot (or retry if failed).

See notes in Test Quectel EC25-A LTE Cat 4 mini PCIe module — my original idea was to pop an LTE card in the mPCIe slot in node 1, use SixFab or just an AT&T SIM and use it to create a reverse SSH tunnel to my current jeffgeerling.com DigitalOcean VPS... however, it looks like the USB data line to the mini PCIe card is not working correctly (it's wired into the BMC via some sort of internal USB hub, but it's not able to connect to the LTE card).
So I got that card working with a USB 2.0/USB 3.0 adapter, but the total solution might be a bit funky, since I don't have a nice enclosure/ruggedized mounting solution for the USB adapter.
Therefore I'm going to borrow a Cradlepoint with an unlimited AT&T SIM and use that for this purpose. It seems to be pretty darn reliable (though limited to 12 up / 12 down).

Three options I'm considering:

autossh (as mentioned earlier); see this post or this one for multiple ports (e.g. 22 and 80).
sshuttle (might be more performant? Might not do what I need though.)
ngrok (probably not intended for hosting though... just for dev work?)

To test HTTP requests through the tunnel I'm running a dead simple Python server through port 80:
echo -e "\n\n    Usage: after running this script, visit http://localhost:8000/cgi-bin/hello    \n\n"
mkdir /tmp/cgi-bin/
cat > /tmp/cgi-bin/hello <<EOF
#!/bin/bash
echo -e "Content-Type: text/plain\n\n"; date; echo; env
EOF
chmod +x /tmp/cgi-bin/hello
(cd /tmp; sudo python3 -m http.server --cgi 80)

Testing Traefik in K3s routing through the default port 80:
First, created a hello, world index.html:
<html>
<head>
  <title>Hello World!</title>
</head>
<body>Hello World!</body>
</html>

Created a ConfigMap with the HTML inside:
$ kubectl create configmap hello-world --from-file index.html

Deployed the 'website' into an Nginx container and exposed it via Traefik Ingress. Saved the following to hello-world.yml:
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hello-world
  annotations:
    kubernetes.io/ingress.class: "traefik"
spec:
  rules:
  - http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: hello-world
            port:
              number: 80

---
apiVersion: v1
kind: Service
metadata:
  name: hello-world
spec:
  ports:
    - port: 80
      protocol: TCP
  selector:
    app:  hello-world

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-world-nginx
spec:
  selector:
    matchLabels:
      app: hello-world
  replicas: 3
  template:
    metadata:
      labels:
        app: hello-world
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        volumeMounts:
        - name: hello-world-volume
          mountPath: /usr/share/nginx/html
      volumes:
      - name: hello-world-volume
        configMap:
          name: test-html

Deployed with:
$ kubectl apply -f hello-world.yml

Tested through my SSH tunnel... and:
TODO.

Also wrote up my entire methodology here: SSH into a Raspberry Pi behind CG-NAT via a reverse tunnel.

The tunnel is also working over a few different networks (including LTE), so I think I can close this out and call it a day!
One downside to my current setup is it only works if mDNS is enabled on the LAN on which all the Pis are running.
Maybe I should set one of the Pis up more as a router and have it manage DNS for the entire cluster. There's currently no management UI in place for the Realtek built-in switch on the Turing Pi, so any routing would need to be done on another device.
Cradlepoint apparently doesn't support multicast stuff by default, either.


text:
Cannot find module '/opt/homebrew/lib/node_modules/generator-btp-diagram-icons/node_modules/@ui5/webcomponents-icons-tnt/dist/generated/assets/SAP-icons-TNT.json'

While installing the bhp icons faced an issue: "Cannot find module '/opt/homebrew/lib/node_modules/generator-btp-diagram-icons/node_modules/@ui5/webcomponents-icons-tnt/dist/generated/assets/SAP-icons-TNT.json'"
As a result, nothing was installed.

Just published a new version to NPM, containing the latest webcomponents and fixing this path issue.
Can you try it out?

authors: geert-janklaps mikhail-gorbunov


text:
XSS vulnerability in visualize

It is currently possible to inject disrupting code into visualize that could be used to create an XSS attack for users on bad links. For example, the following URLs illustrate this, disrupting the variable creation:
https://amigo-staging.geneontology.io/visualize?mode=client_amigoquas%22--%3E %3Csvg/onload=alert(document.domain)%3E%3C!--[2]
https://amigo-staging.geneontology.io/visualize?mode=client_amigoquas%22--%3E %3Csvg/onload=alert(document.domain)%3E%3C!-- [https://amigo- staging.geneontology.io/visualize?mode=client_amigoquas%22--%3E%3Csvg/ onload=alert(document.domain)%3E%3C!--]
Noted on staging.

It appears to have been an error in error handling. Fix applied, tested against given URLs, and rolled out to endpoints.

No further report from LBL; closing for now.

repo: geneontology/amigo