Add Promise resolve/reject stubs

This commits adds support for resolving/rejecting promises on asynchronous methods.
Example:
when(mock.fetchData('a')).thenResolve({id: 'a', value: 'hello world'});
when(mock.fetchData('b')).thenReject(new Error('b does not exist'));

Motivation:
Without this support, you might try to use thenReturn(), like this:
when(mock.fetchData('b')).thenReturn(Promise.reject(new Error('b does not exist')));

However, this gives you this error:
(node:77288) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): [object Object]
(node:77288) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

This is because the rejected promise is created when the mock is set up, not when the function is actually called. If the call occurs in the next process tick, then you get this error.
A better way to do it is this:
when(mock.fetchData('b')).thenCall(() => Promise.reject(new Error('b does not exist')));

Now the promise is created when the method is called, not when it is set up.
This PR adds thenResolve/thenReject, which makes it easier to get these things right the first time, and is also shorter.

+1 Thanks for adding this, @johanblumenberg.

Is there anything blocking this PR from being merged?

@johanblumenberg sorry for my late reply. You found great way to type thenResolve method 🎉
Thanks for contributing! Merging.

I have updated readme: https://github.com/NagRock/ts-mockito#resolving--rejecting-promises
Once again thanks for this great new feature!

Published as 2.3.0
https://github.com/NagRock/ts-mockito/releases/tag/v2.3.0


severe bug with DependencyNotifyingDomFacade reporting too many nodes

    <fx-fore>
        <fx-model>
            <fx-instance id="default">
                <data>
                    <prerequisite name="targetServer" description="checking target server...">checking</prerequisite>
                    <prerequisite name="github" description="checking github...">checking</prerequisite>
                    <prerequisite name="airtable" description="checking airtable...">checking</prerequisite>
                    <prerequisite name="filesystem" description="checking the filesystem...">checking</prerequisite>
                    <prerequisite name="tuttle" description="checking Tuttle...">checking</prerequisite>
                    <prerequisite name="proceed" description="checking if all prerequisites are matched...">checking</prerequisite>
                </data>
            </fx-instance>

            <fx-bind ref="prerequisite[5]" calculate="//prerequisite[1]"></fx-bind>
        </fx-model>

        <fx-output ref="//prerequisite[5]" label="calculated value">

        </fx-output>
    </fx-fore>

will crash the browser window due to creating circular dependencies in the graph and an endless loop.
Error occurs in this block of code:
  _getReferencesForProperty(propertyExpr) {
    if (propertyExpr) {
      const touchedNodes = new Set();
      const domFacade = new DependencyNotifyingDomFacade(otherNode => touchedNodes.add(otherNode));
      this.nodeset.forEach(node => {
        evaluateXPathToString(propertyExpr, node, this.getOwnerForm(), domFacade);
      });

      return Array.from(touchedNodes.values());
    }
    return [];
  }

which returns too many references.
Other similar use cases bring up other errors.

btw - that does not mean that calculate is not working in general - the subgraph demo and other calculation demos work.

First thought is that FontoXPath is not properly optimizing //prerequisite[1]. It's expanding it to descendant-or-self::node()/(child::prerequisite[1]). Likely breaking any kind of lazy evaluation it usually does.
That, or the //prerequisite[5], which kind-of does have a dependency on the (existence of) earlier prerequisite elements, but not on its content.

Hm. I'm not liking this.
Turns out we are traversing into all those prerequisites to see whether there is a new prerequisite in them. It's doing this because the XPath //prerequisites[1] has to return those prerequisites as well.
See this playground to see what I'm talking about: https://xpath.playground.fontoxml.com/?state=H4sIAJyTMGIAA52SzW6DMBCEX2W15wjaa0R5h6q9lR4cvIFVsaHrJUoU5d3rgFCTSOTvZms%2Bz2jXs0fXWsLlywI3RtisGgq4xP0BF7h1TTxm1qjJCw%2BQdUJCvz0HVgJvHL0VqEYq0g%2BSDUmBYCmUwp1y66NY1lT%2BsK9gpCAMWJIkBeaTduaa5ll6ep%2FPrVjrfjWfOOoXUXd6GxY9bmLefSKe819z3PIuKLkrG6sJ%2FrnncrRXvTbF56CP3hff8GhUJ21JZOezeA2maeD0bQAjBM5ohOyNCbN0qOGxle89yS4WMz1jvl6%2Fo1i2XmmrE4KHPxCoF6PgAgAA
Full reason why XPath does this is because the //x query is expanded to /descendant-or-self::node()/child::x. And that [1] part binds only to the child::x part: return all first elements called x. Not the first one overall in document order.
We'll need to dust off the the idea that the spec introduces: distinction between nodes we're returning and those we are 'just passing'.


Client - Unhandled error in background task: Non-hexadecimal digit found

Describe the bug
Warning message about Non-hexadecimal digit found

Steps to reproduce

Run perpetual connectors using scripts and the perpetual market-making strategy. (reproduced as well on spot)
Perform a series of trades and intentionally leave an open position.
Stop the Hummingbot client.
Relaunch the Hummingbot client.
Observe the "unhandled error" in the log panel upon starting the client, even before importing any data or performing any actions.

Release version
dev-1.20.0
Type of installation
Source
Attach required files
Issue hexideximal.zip
logs_hummingbot.log

I have the same issue with dev-1.20.0, works fine when downgrading to dev-1.18.0

reproduced on dev-1.22.0.
Seems not related to data folder since no trades happened
Steps to reproduce:

do the fresh source installation of latest development branch
connect some exchanges (on our case its binance spot + perp and kucoin spot + perp)
then relaunch Client with just ./start

Actual:
After restart Client returns an error Unhandled error in background task: Non-hexadecimal digit found
2023-11-22 12:25:24,506 - 3238495 - hummingbot.core.utils.async_utils - ERROR - Unhandled error in background task: Non-hexadecimal digit found
Traceback (most recent call last):
  File "/home/nikita/staging1/hummingbot/core/utils/async_utils.py", line 9, in safe_wrapper
    return await c
  File "/home/nikita/staging1/hummingbot/core/utils/async_call_scheduler.py", line 127, in call_async
    return await self.schedule_async_call(coro, timeout_seconds, app_warning_msg=app_warning_msg)
  File "/home/nikita/staging1/hummingbot/core/utils/async_call_scheduler.py", line 116, in schedule_async_call
    return await fut
  File "/home/nikita/staging1/hummingbot/core/utils/async_call_scheduler.py", line 79, in _coro_scheduler
    fut.set_result(await coro)
  File "/home/nikita/miniconda3/envs/hummingbot/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/nikita/staging1/hummingbot/client/config/security.py", line 55, in decrypt_all
    cls.decrypt_connector_config(file)
  File "/home/nikita/staging1/hummingbot/client/config/security.py", line 61, in decrypt_connector_config
    cls._secure_configs[connector_name] = load_connector_config_map_from_file(file_path)
  File "/home/nikita/staging1/hummingbot/client/config/config_helpers.py", line 668, in load_connector_config_map_from_file
    _load_yml_data_into_map(config_data, config_map)
  File "/home/nikita/staging1/hummingbot/client/config/config_helpers.py", line 750, in _load_yml_data_into_map
    config_validation_errors = cm.validate_model()  # try coercing values to appropriate type
  File "/home/nikita/staging1/hummingbot/client/config/config_helpers.py", line 199, in validate_model
    self.decrypt_all_secure_data()
  File "/home/nikita/staging1/hummingbot/client/config/config_helpers.py", line 237, in decrypt_all_secure_data
    decrypted_value = Security.secrets_manager.decrypt_secret_value(attr=traversal_item.attr, value=value)
  File "/home/nikita/staging1/hummingbot/client/config/config_crypt.py", line 59, in decrypt_secret_value
    value = binascii.unhexlify(value)
binascii.Error: Non-hexadecimal digit found

for Workaround:
Use ./start -p yourpassword (instead of just ./start)
In this case Client not showing this warning on startup

There is a problem somewhere in ClientConfigAdapter, maybe in decrypt_all_secure_data() logic. Basically for me I see that during parsing of conf/connectors/kucoin.yml kucoin_secret_key is decrypted twice.
In the following code block of decrypt_all_secure_data() :
            if isinstance(value, SecretStr):
                value = value.get_secret_value()

First time secret value is long encoded string as seen in the connector config
Second time it is decoded value, and it's trying to decode it second time and here is binascii.Error: Non-hexadecimal digit found error is happening.
Decrypted value is assigned in line
setattr(config_model, final_config_element, decrypted_value)

The question is why the same config param is processed twice. Looks like traverse() method is emitting same config element twice for some reason.
Here is a quick dirty fix to workaround the issue.
diff --git a/hummingbot/client/config/config_helpers.py b/hummingbot/client/config/config_helpers.py
index d0718eedb..45544f9a1 100644
--- a/hummingbot/client/config/config_helpers.py
+++ b/hummingbot/client/config/config_helpers.py
@@ -54,6 +54,9 @@ class ConfigTraversalItem:
     field_info: FieldInfo
     type_: Type

+    def __hash__(self):
+        return hash((self.depth, self.config_path))
+

 class ClientConfigAdapter:
     def __init__(self, hb_config: BaseClientModel):
@@ -222,11 +225,11 @@ class ClientConfigAdapter:
     def decrypt_all_secure_data(self):
         from hummingbot.client.config.security import Security  # avoids circular import

-        secure_config_items = (
+        secure_config_items = {
             traversal_item
             for traversal_item in self.traverse()
             if traversal_item.client_field_data is not None and traversal_item.client_field_data.is_secure
-        )
+        }
         for traversal_item in secure_config_items:
             value = traversal_item.value
             if isinstance(value, SecretStr):

What's happening here is that using set comprehension all duplicated config items are eliminated. It's not fixing the root cause.
Also I'm disappointed that such core components like config parser doesn't have a dedicated unit-tests.

It has not been fixed yet. This problem occurs after connecting exchange. (for me, binance futures)

For Docker users, add command in docker-compose.yml. As you may know, this is just the workaround.
(command: ["/bin/bash", "-lc", "conda activate hummingbot && ./bin/hummingbot_quickstart.py -p [your_password] 2>> ./logs/errors.log"])

I confirm. I am observing the same issue with password enabled and kucoin and binance connected; on the latest version 2.1.0. Yet the workaround above indeed works.


Tutor plugins

Ralph plugin for Tutor

ClickHouse plugin for Tutor - in progress

SuperSet plugin for Tutor - in progress, Jill

These plugins exist and updates to them are being managed separately now!


Show members causing failure in array validation

When a nested validation occurs, the whole array is returned inside the invalid() items. This allows the system to return only the items which caused the validation to fail.
Related to #28599.

Is this a bug or feature enhancement?
I'm just wondering if it really should go to 5.9, since people might be relying on the current behavior (even if they had a workaround in place)?

Well, the varies whether you want the items which cause the invalidation such as "the phone numbers array contains invalid items", or you want the specific item which causes this like "the item N is invalid inside the phone numbers array"  or "555 213 4548" seems invalid" directly. The fix enables you to get both. Still you are receiving the "phones" item as the key of the main invalid() output, and the subitems give you the invalid ones. The current code returns all the subitems, which you can't understand which one is invalid.

For example, the current code gives this result for the given code:
$validator = \Illuminate\Support\Facades\Validator::make([
    "testvalid" => "filled",
    "testinvalid" => "",
    "records" =>
    [
        "ABC123",
        "ABC122",
        "ABB132",
        "ADCD23"
    ]
],[
    "testvalid" => "filled",
    "testinvalid" => "filled",
    "records.*" => [
        "required",
        "regex:/[A-F]{3}[0-9]{3}/"
    ]
]);

if($validator->fails()){
    dump($validator->invalid());
}

The output is:
array:2 [▼
  "testinvalid" => ""
  "records" => array:4 [▼
    0 => "ABC123"
    1 => "ABC122"
    2 => "ABB132"
    3 => "ADCD23"
  ]
]

And with the modification, it will be
array:2 [▼
  "testinvalid" => ""
  "records" => array:1 [▼
    3 => "ADCD23"
  ]
]

Not sure we would want to ship this on a patch release.

@taylorotwell to which branch should I create a pull request then?

@tpaksu - to the master branch to target 5.9

@laurencei  Ok, thank you.


[MM-21870] Default help text for "Invite People” should not wrap to another line

Summary
Expands the minimum width of the Main Menu dropdown to prevent English help text from wrapping to a second line.
Ticket Link
https://mattermost.atlassian.net/browse/MM-21870
Related Pull Requests
N/A
Screenshots

@bradjcoughlin Is this ready to merge or does it need any other reviews?

@amyblais this is ready to merge. Working on it now.

/update-branch

New commit detected. SpinWick will upgrade if the updated docker image is available.

Test server creation failed. See the logs for more information.

New commit detected. SpinWick will upgrade if the updated docker image is available.

Test server creation failed. See the logs for more information.

Test server destroyed


Popup renders behind the Android navigationbar

@microspaze  I have customised the sample project available to make the popup page have verticaloptions as End. This makes the page render behind the device navigation menu bar in Android

You can try to hide the system bottom navigation bar when page poped-up.
            _loginPopup = new LoginPopupPage();
            _loginPopup.Loaded += (sender, args) =>
            {
                #if ANDROID
                //Hide bottom navigation bar when page poped-up
                if (sender is PopupPage { Handler.PlatformView: Android.Views.View { Parent: Android.Widget.FrameLayout decorView } })
                {
                    var uiFlags = Android.Views.SystemUiFlags.LayoutStable | Android.Views.SystemUiFlags.HideNavigation;
                    decorView.SystemUiVisibility = (Android.Views.StatusBarVisibility) uiFlags;
                }
                #endif
            };

I have add the demo code to the sample project by commit: https://github.com/microspaze/RGPopup.Maui/commit/701132a75a7c192c293203f58e192b5c9741ac0a

https://github.com/microspaze/RGPopup.Maui/assets/17372096/c23c3ccc-5ff3-4bc8-ada1-ef9f4f2e69f0

Thanks for the quick turnaround. But I have a usecase of having multiple popups in my app, So it wont be a good idea to hide the system nav bar multiple times. Can we have something like using safe area for ios..

@jaison-t-john You can try the latest version 1.0.9. It includes some fix about this issue.


Please merge revision 0af5298845574517862e0a4cfabace1488ec2196 into stable channel

@whesse @mit-mit @kasperl
<Describe the critical problem this merge is fixing - include issue numbers if applicable>
Issue #24693. This allows users to create a SecurityContext that trusts the builtin root CAs, and which can be modified without affecting other code that relies on SecurityContext.defaultContext (which was previously the only way to obtain a SecurityContext with builtin trust roots).
This is needed by Dart gRPC, to allow us to modify the SecurityContext to specify protocols for ALPN, without other libraries making TLS requests suddenly (and unexpectedly) defaulting to HTTP/2.
<What revision(s) needs to be merged - please annotate revisions with reason if more than one>
0af5298845574517862e0a4cfabace1488ec2196

This merged cleanly.

Merged in stable 1.24.3.  This is still in the process of being released, but the linux and windows SDKs are available at http://gsdview.appspot.com/dart-archive/channels/stable/raw/1.24.3/sdk/ . Please test them to see that this issue is fixed, and that the merge of https://codereview.chromium.org/2903743002 also works as intended.

Thanks! I've tested the linux, windows, and macOS builds. All work for me. :)


Service periodically restarted

Hi,
I see something similar to #1366 on my setup:

3 nodes, Ubuntu 16.04, etcd 2.2.3, fleetd 0.11.5
started service with "X-Fleet : MachineID="
i'm trying to run/manage a service on the third node
every 15-20 second the service is reloaded:
Log:
Jan 14 14:39:24 o11n203 fleetd[4494]: DEBUG reconcile.go:257: Desired hash "5672ec4bdaefa511f7617e25c40a50fd6814bde1" differs to current hash 08e8f21aa9788333ec99d7eed7ef9754a33fb724 of<EMAIL_ADDRESS>- unloading
Jan 14 14:39:24 o11n203 fleetd[4494]: DEBUG reconcile.go:321: AgentReconciler attempting tasks [{UnloadUnit unit loaded but hash differs to expected<EMAIL_ADDRESS>{map[Unit:map[After:[ovs-watcher-framework.service] Description:[ovs snmp server] Requires:[ovs-watcher-framework.service]] Service:map[ExecStart:[/usr/bin/python2 /opt/OpenvStorage/ovs/extensions/snmp/ovssnmpserver.py --port 161] Restart:[on-failure] RestartSec:[5] TimeoutStopSec:[60] Type:[simple] Environment:[PYTHONPATH=/opt/OpenvStorage] WorkingDirectory:[/opt/OpenvStorage]] Install:map[WantedBy:[multi-user.target]] X-Fleet:map[MachineID:[93aae5bf7736d103238cb3b0569655ae]]] [0xc82086ef60 0xc82086efc0 0xc82086f020 0xc82086f080 0xc82086f0e0 0xc82086f140 0xc82086f1a0 0xc82086f200 0xc82086f260 0xc82086f2c0 0xc82086f320 0xc82086f3b0]} })} {UnloadUnit unit loaded but hash differs to expected<EMAIL_ADDRESS>{map[Unit:map[Description:[Open vStorage support agent]] Service:map[Type:[simple] Environment:[PYTHONPATH=/opt/OpenvStorage] ExecStart:[/usr/bin/python2 /opt/OpenvStorage/ovs/extensions/support/agent.py] Restart:[on-failure] TimeoutStopSec:[3600]] Install:map[WantedBy:[multi-user.target]] X-Fleet:map[MachineID:[93aae5bf7736d103238cb3b0569655ae]]] [0xc82018b770 0xc82018b7d0 0xc82018b830 0xc82018b890 0xc82018b8f0 0xc82018b950 0xc82018b9b0 0xc82018ba40]} })} {LoadUnit unit scheduled here but not loaded<EMAIL_ADDRESS>{map[Unit:map[Description:[ovs snmp server] Requires:[ovs-watcher-framework.service] After:[ovs-watcher-framework.service]] Service:map[Environment:[PYTHONPATH=/opt/OpenvStorage] WorkingDirectory:[/opt/OpenvStorage] ExecStart:[/usr/bin/python2 /opt/OpenvStorage/ovs/extensions/snmp/ovssnmpserver.py --port 161] Restart:[on-failure] RestartSec:[5] TimeoutStopSec:[60] Type:[simple]] Install:map[WantedBy:[multi-user.target]] X-Fleet:map[MachineID:[93aae5bf7736d103238cb3b0569655ae]]] [0xc82086ef60 0xc82086efc0 0xc82086f020 0xc82086f080 0xc82086f0e0 0xc82086f140 0xc82086f1a0 0xc8208
Jan 14 14:39:24 o11n203 fleetd[4494]: INFO manager.go:138: Triggered systemd unit<EMAIL_ADDRESS>stop: job=165352
Jan 14 14:39:24 o11n203 fleetd[4494]: INFO manager.go:259: Removing systemd unit<EMAIL_ADDRESS>
I looked at #720, but i don't see a way to fix this.
Any ideas?

Hash seems to "flip" between values:
root@o11n201:~# fleetctl list-unit-files
UNIT					HASH	DSTATE		STATE		TARGET
...
<EMAIL_ADDRESS>08e8f21	launched	launched	93aae5bf.../<IP_ADDRESS>
...
couple of seconds later
UNIT					HASH	DSTATE		STATE		TARGET
...
<EMAIL_ADDRESS>5672ec4	launched	launched	93aae5bf.../<IP_ADDRESS>
...

Reproduced:

Ubuntu 15.10, single node
installed:
wget  http://launchpadlibrarian.net/223781734/fleet_0.11.5+dfsg-1_amd64.deb
apt-get install golang-go -y
dpkg -i fleet_0.11.5+dfsg-1_amd64.deb
git clone https://github.com/cnelson/python-fleet
cd python-fleet && python setup.py install
created service
fleetctl list-units
UNIT						MACHINE				ACTIVE		SUB
...
<EMAIL_ADDRESS>e0ed4c9b.../<IP_ADDRESS>	active		running
...
unit file
fleetctl list-unit-files
<EMAIL_ADDRESS>a73d54f	launched	launched	e0ed4c9b.../<IP_ADDRESS>
...
couple of seconds later
<EMAIL_ADDRESS>50dc3f0	launched	launched	e0ed4c9b.../<IP_ADDRESS>

Requested information:
etcdctl cluster-health
member c13b2ac7dd38d0e5 is healthy: got healthy result from http://<IP_ADDRESS>:2379
cluster is healthy
etcdctl member list
c13b2ac7dd38d0e5: name=unqjMrez0JhNaaCk peerURLs=http://<IP_ADDRESS>:2380 clientURLs=http://<IP_ADDRESS>:2379
Thanks,
Eduard

@eduardBM how did you submit this unit?

fleet currently uses go-systemd @ cf3cdf77462baaad163ad2d5d1984b9c1b493701:
https://github.com/coreos/fleet/blob/81d6c4a0f77f65b987b6223e5a71d966e1cf1d20/Godeps/Godeps.json#L45
https://github.com/coreos/go-systemd/commit/cf3cdf77462baaad163ad2d5d1984b9c1b493701
First thing to check is that that version of go-systemd guaranteed stable serialisation of units.
(There have been a number of changes since then, e.g. https://github.com/coreos/go-systemd/commit/66542898b0f082300f28123eccc6bea01b4ec343 and https://github.com/coreos/go-systemd/commit/3130945d94f8300bece93f1c4ca6a0be965072fa, but that won't be relevant until #1375 lands)

@kayrus
I used both the cli command "fleetctl load X.service" (where X.service is a local file containing the file) and the python client (https://github.com/cnelson/python-fleet) "fleet_client.create_unit... ".

@jonboulle
not sure how to check that.

@eduardBM sorry, that was a note for @kayrus or @tixxdz to look into it, not you :-)

@eduardBM can you reproduce this behavior with the pure fleetctl start unifile.service?

@kayrus , yes i was able to reproduce it with the cli command.
I will reinstall and retest tomorrow with latest code.

Here is how I reproduced the issue on ubuntu 15.10 vm:
$ apt-get install build-essential golang-go python-dev pipexec -y
$ wget https://launchpad.net/ubuntu/+source/etcd/2.2.3+dfsg-1/+build/8799711/+files/etcd_2.2.3+dfsg-1_amd64.deb
$ wget https://launchpad.net/ubuntu/+source/etcd/2.2.3+dfsg-1/+build/8799711/+files/etcd_2.2.3+dfsg-1_amd64.deb
$ dpkg -i fleet_0.11.5+dfsg-1_amd64.deb etcd_2.2.3+dfsg-1_amd64.deb
$ git clone https://github.com/cnelson/python-fleet
$ cd python-fleet && python setup.py install
$ systemctl start fleet
$ fleetctl list-machines --full
MACHINE                                 IP              METADATA
22e41ca31da38ea956ade49269567301        <IP_ADDRESS>  -
$ cat app.service
[Unit]
Description=simple app

[Service]
Type=simple
ExecStart=/bin/bash -c 'while true; do echo Hello, World; sleep 1; done'
Restart=on-failure
RestartSec=5
TimeoutStopSec=60

[Install]
WantedBy=multi-user.target

[X-Fleet]
MachineID=22e41ca31da38ea956ade49269567301
$ fleetctl start app
Unit app.service inactive
Unit app.service launched on 22e41ca3.../<IP_ADDRESS>
$ fleetctl start app
WARNING: Unit app.service in registry differs from local unit file app.service
$ fleetctl start app
WARNING: Unit app.service in registry differs from local unit file app.service
$ fleetctl start app
$ fleetctl start app
$ fleetctl start app
WARNING: Unit app.service in registry differs from local unit file app.service
$ sha1sum app.service
fb30d997678396b3938b82ffcef1b5ac4d214e0a  app.service
$ etcdctl ls --recursive /_coreos.com/fleet/unit
etcdctl ls --recursive /_coreos.com/fleet/unit
/_coreos.com/fleet/unit/39e247ee21fae23bf0f1a907d33f249d6f90d27f

And the normal behavior should be:
$ sha1sum app.service
fb30d997678396b3938b82ffcef1b5ac4d214e0a  app.service
$ etcdctl ls --recursive /_coreos.com/fleet/unit
/_coreos.com/fleet/unit/fb30d997678396b3938b82ffcef1b5ac4d214e0a
$ etcdctl get /_coreos.com/fleet/job/app.service/object | sed -r 's/.*\[([,0-9]+)\].*/\1/g' | tr ',' '\n' | xargs -I{} printf "%x" {} && echo
fb30d997678396b3938b82ffcef1b5ac4d214e0a

I've added extra debug code into ubuntu package:
if err == nil && luf.Hash() != suf.Hash() {
  stderr("ERROR: %s", err)
  stderr("WARNING: %s != %s", luf.Hash(), suf.Hash())
  stderr("WARNING: Unit %s in registry differs from local unit file %s", su.Name, loc)
  return
}

And here is the result:
fleetctl start app.service
ERROR: %!s(<nil>)
WARNING: 55651717f8a83c2815ff428b328bf26000135988 != 28887a7ede907207d9ea8a8e8dbda1d9d98b1e8a
WARNING: Unit app.service in registry differs from local unit file app.service
root@ubuntu1:~# fleetctl start app.service
ERROR: %!s(<nil>)
WARNING: 28887a7ede907207d9ea8a8e8dbda1d9d98b1e8a != 28887a7ede907207d9ea8a8e8dbda1d9d98b1e8a
WARNING: Unit app.service in registry differs from local unit file app.service
root@ubuntu1:~# fleetctl start app.service
ERROR: %!s(<nil>)
WARNING: 39e247ee21fae23bf0f1a907d33f249d6f90d27f != 28887a7ede907207d9ea8a8e8dbda1d9d98b1e8a
WARNING: Unit app.service in registry differs from local unit file app.service
root@ubuntu1:~# fleetctl start app.service
ERROR: %!s(<nil>)
WARNING: 55651717f8a83c2815ff428b328bf26000135988 != 55651717f8a83c2815ff428b328bf26000135988
WARNING: Unit app.service in registry differs from local unit file app.service

Sometimes when you submit new unit, fleet just returns this:
$ fleetctl start app
2016/02/11 11:50:54 WARN fleetctl.go:801: Error retrieving Unit(app.service) from Registry: googleapi: got HTTP response code 500 with body: {"error":{"code":500,"message":""}}

Looks like desired units structure has different order every loop. And this bug is valid only in Ubuntu Xenial build. If you build fleet in docker env using ./build-docker it works as expected.

Now that go-systemd has been bumped in fleet master, could you please check whether this issue persists?

Oh, I think this wasn't entirely clear from previous discussion (at least not to me): The problem manifests only with the Ubuntu packaging for the (yet unreleased) "xenial" distribution (i.e. 16.04). A "manual" build (using docker) works fine, even on Ubuntu xenial.
Considering that, should we still consider it part of the release milestone?...

@antrik
I will check first thing in the morning if this issue persists.
For clarification: i was using fleet 0.11.5 deb package on Ubuntu 15.10, so if a new package is available i can test with that, otherwise i need to wait until the package is available.

@eduardBM no, there is no new package; just an update in the upstream master branch. Also, it turns out this is actually unlikely to change anything...
BTW, is this issue known to the Ubuntu packagers? It seems to me that in this instance they might actually be more qualified to investigate it...

@antrik
If there's no new package then i have to manually build fleet from git (i'll try that later).
Not sure if this issue is known to the Ubuntu packagers? How do i get their attention?

@eduardBM we still don't know exactly what causes this bug (code in fleet, go dependencies or something else). but you are free to report a bug here: https://bugs.launchpad.net/ubuntu/+source/fleet/+filebug

@eduardBM you can use the "reportbug" command line tool, or the web interface kayrus linked if you prefer. Either way, be sure to include a link to this discussion :-)
As for building it manually, this should help if you need a working version urgently. (Use the "build-docker" script for a known working result.) Otherwise you might want to wait for feedback from the Ubuntu packagers...

I've just compiled and tested this fleet package:
https://packages.debian.org/sid/fleet
with the golang-github-coreos-go-systemd-dev=v5 and golang-dbus-dev=v3 dependency.
this bug doesn't exist.
Default go-systemd package in ubuntu xenial has v3 version. It looks like go-systemd should be bumped.

@eduardBM go-systemd v4 has fix for serialization order: https://github.com/coreos/go-systemd/commit/3130945d94f8300bece93f1c4ca6a0be965072fa

Bump request was reported here: https://bugs.launchpad.net/ubuntu/+source/golang-github-coreos-go-systemd/+bug/1568902

Consider closed

@kayrus  Thanks for your help, i'll keep an eye on the other bug report.


Reference tables by table ID is code

Describe the bug
Trying to reference a table by ID gives compilation error in al. -  In C/AL, the below compiled and would delete all records in tables e.g. 17, G/L Entry table. Now does not compile in AL.
To Reproduce
Steps and to reproduce the behavior:
Create a codeunit in AL and in the OnRun trigger, type:
"17".DELETEALL;
This produces a compilation error.
Expected behavior
This code compiled in C/AL, and I would expect that this would compile in AL.
Versions:

AL Language: 3.0.126630

Business Central: 14.0.29530

Update?

Hi,
This is not something that we will support in AL. Is this part of converting from C/AL to AL?
Thanks,
Thaddeus

Yes, we used this syntax in a pre go-live situation to clear transactional data without clearing master data. Wouldn't compile after conversion.

In AL, you will need to reference the table by name instead of id. We are not going to support using the id.
Was this generated by the TXT2AL tool to convert, or is this a manual conversion?

It was jut a manual conversion. Related question - I have now written something using the Object table where type = Table and RecRef.Deleteall to do this. However, custom tables do not appear in the object table. Is this correct? And is there an alternative way to access these custom tables in anothe way?

Use the record AllObjWithCaption

I am closing this issue because it appears that it has been resolved. Please open a new issue if you believe this has not been resolved and reference the current issue.


Ingest third party sources

LThanda https://docs.google.com/spreadsheets/d/1f988o68HDvk335xXllJD16vxLBuRcmm3vg6U9lVaYpA/edit#gid=0
Perlervault
https://docs.google.com/spreadsheets/d/1JRCxWcLE-5NRq1t5r-WHjVQYLaoZxHx_-6jfarpR5Ys/edit#gid=493319341
Jeppewl
https://docs.google.com/spreadsheets/d/1Ordv1eQV0HszqxWJf5oM4alch4Q2v5dtiJb-Vui8Rh0/edit?usp=sharing

Done.


[INLONG-2200][DataProxy]DataProxy add supporting to http protocol for reporting data

DataProxy add supporting to http protocol for reporting data
Fixes #2200

Codecov Report

Merging #2201 (5b762bd) into master (013b31e) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2201      +/-   ##
============================================
- Coverage     12.59%   12.58%   -0.01%
  Complexity     1208     1208
============================================
  Files           417      417
  Lines         35735    35735
  Branches       5590     5590
============================================
- Hits           4500     4499       -1
- Misses        30433    30435       +2
+ Partials        802      801       -1

Impacted Files
Coverage Δ

.../inlong/tubemq/corebase/policies/FlowCtrlItem.java
38.88% <0.00%> (-1.12%)
:arrow_down:

.../tubemq/corebase/policies/FlowCtrlRuleHandler.java
34.07% <0.00%> (-0.45%)
:arrow_down:

.../producer/qltystats/DefaultBrokerRcvQltyStats.java
46.09% <0.00%> (+0.78%)
:arrow_up:

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 013b31e...5b762bd. Read the comment docs.


add echoshader to idea list

@MathewBiddle @ocefpaf : Apologies for this super delayed PR, but @valentina-s and I finally put this together. No problem if this is too late already and we can't join this year. Thanks for organizing this.

@leewujung, I think you're okay. Although @ocefpaf has the definitive answer.

@leewujung, I think you're okay. Although @ocefpaf has the definitive answer.

Definitely OK and we'll merge to register the ideas. However, it seems that we did not make the cut this year :-/
We'll try again in 2024!


FYI: Successful Docker Installation

I was able to successfully get this working with Docker yesterday. A few setup details:

Running on a Synology DS411+ii NAS
NAS sits on same network as Kodi HTPC

Does not require opening Kodi up to to internet through port forwarding

Let's Encrypt certificate used

DDNS forwards my domain to local server

Port forwarding from 443 on router to Docker container

Dockerfile
FROM python:2.7-alpine
MAINTAINER Michael Carroll<EMAIL_ADDRESS>
#install necessary dependencies
RUN apk update && apk add git build-base libffi-dev openssl-dev

ENV INSTALL_PATH /kodi-alexa
RUN mkdir -p $INSTALL_PATH

WORKDIR $INSTALL_PATH

#get latest
RUN git clone https://github.com/m0ngr31/kodi-alexa.git .

#install requirements
RUN pip install -r requirements.txt

#faster fuzzy matching
RUN pip install python-Levenshtein

CMD gunicorn --certfile /config/$CERTFILE --keyfile /config/$KEYFILE -b <IP_ADDRESS>:8000 alexa:app

Build Command
docker build -t kodi-alexa .
docker-compose.yml
version: "2"
services:

  kodi-alexa:
    container_name: kodi-alexa
    image: kodi-alexa
    ports:
      - 8443:8000
    environment:
      KODI_ADDRESS: htpc
      KODI_PORT: 8080
      KODI_USERNAME: kodi
      KODI_PASSWORD: kodi
      TZ: $TZ
      SKILL_TZ: $TZ
      CERTFILE: fullchain.pem
      KEYFILE: privkey.pem
    volumes:
      - $CONFIG/kodi-alexa:/config

Where $TZ and $CONFIG are located in a .env file:
TZ=America/Los_Angeles
CONFIG=/volume1/docker

And /volume1/docker/kodi-alexa hs the fullchain.pem & privacy.pem from letsencrypt.
Docker Compose Command
docker-compose up -d
Runs in daemon mode, creates container with proper
Conclusion
I hope these details help someone as a starting point. It proves that it is possible to run this through Docker. I do not plan on creating a pull-request for this, as I just wanted to try it out. In my testing, I found it to be too slow to respond for my usage (and the girlfriend approval factor).

Thanks for doing that. Is your synology an ARM box? I wonder if that's what it was so slow?

The DS411+ii has a dual-core Intel Atom D525 processor (http://ark.intel.com/products/49490/Intel-Atom-Processor-D525-1M-Cache-1_80-GHz). Fairly old, but not too slow. I didn't do too much investigating to see why it was slow, but I've got a Gigabit internet connection so the network connectivity part shouldnt've been it. I saw the requests (& response) come through almost immediately on the docker console, but Alexa spent some time "spinning" before processing the command.

If the request and the response showed up quickly in the log, it's odd that it took that long for the device to respond.  The response packet to the Echo is small.

Anyone up for actually documenting this and creating a PR?

I'm willing to try this on my Syno if someone can help me thru it... I'm not sure what I need to do.
Do I need to create/get a cert?
Do I need to edit docker-compose.yml after the install?
... etc

Hello all,
I've tested the above and it works good for me. It's actually faster than the lambda function. I am running it on a J3160 CPU, with other dockerised apps on there.
I've started to do some work on integrating it into the repo here https://github.com/mboeru/kodi-alexa.
And a built image available here https://hub.docker.com/r/mboeru/kodi-alexa/ if anyone wants to test it.
It can be run locally like this:
docker run --name=kodi-alexa -d -v ~/ka-config:/config -p 8000:8000 -e "KODI_ADDRESS=<IP_ADDRESS>" -e "KODI_PORT=8080" -e "GUNICORN_LOGLEVEL=debug" mboeru/kodi-alexa

Or via docker-compose like this:
version: '2'
services:
  kodi-alexa:
    container_name: kodi-alexa
    image: mboeru/kodi-alexa:latest
    network_mode: bridge
    restart: always
    ports:
      - 8000:8000/tcp
    environment:
      - TZ=Europe/Bucharest
      - KODI_ADDRESS=<IP_ADDRESS>
      - KODI_PORT=8080
      - GUNICORN_LOGLEVEL=debug
      - SKILL_APPID="amzn1.ask.skill.XXXXXX"
      - MAX_UNWATCHED_SHOWS=15
      - MAX_UNWATCHED_EPISODES=15
      - MAX_UNWATCHED_MOVIES=15

As a default I did not implement https in gunicorn, as probably most folks tent to have a reverse proxy setup for other apps as well.
I expose it via nginx like this:
location /bobby {
	    rewrite           ^/bobby/(.*)  /$1  break;
	    proxy_pass        http://<IP_ADDRESS>:8000;
            proxy_redirect    http://<IP_ADDRESS>:8000 /bobby;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Server $host;
            proxy_set_header   X-Forwarded-Host $server_name;
	}

in a standard nginx server block.
If it looks good, I will send a PR request after I create some proper documentation on this.

Thanks for having a look at it.  Assuming it works, a PR would be welcome :)
My only comment is about all of the print statements you added.. if anything, they should be centralized somewhere like Kodi.SendCommand(), and they definitely should not be enabled by default.
We can talk about adding a debug option, though I don't believe it belongs in this particular PR.

Also, in your docker-compose example, why are you setting environment variables for configuration rather than reading kodi.config?  The environment variables are really there for Heroku deployments, simply because apparently it won't pick up anything out of repo.

You are right about the prints. I am bad at programming :) as I am a systems guy. Tried to find a centralised way, but could not find one so I did all the prints. I will remove them anyway, as they don't seem to go to stdout, and docker logs is not picking them.
In Docker, I think it's easier to have the same as in heroku, env variables defined. And in my opinion should be the way to go. And if a kodi.confing file is available in /confing path, then that should take priority over the config files.
For starting out it's definetly easier with env vars, rather than seeing the complicated vars in the config, as most people probably use it with one Alexa device and one Kodi instance.
Let me know what you think.

You don't get support for multiple Kodi instances though if you use the environment vars. Honestly I wish we could dump them entirely because right now we are maintaining configuration defaults in 3 places.
Unless it simply can't be done with docker, I think it should read kodi.config

Well, I can create an entrypoint.sh that creates the configuration file with it's defaults, or we can just map it as a volume.
In any case it would be another file to manage. external in a way to docker.
I will think of a way and test in the next couple of days.
Still, since these vars are used by Heroku,  I would still keep them, and use them as a simple example in docs. Then provide the advanced way of setting it up from the config file.
For me docker should be a simpler way of setting kodi-alexa, than using a lambda function and doing everything in aws.
Right now I have two kodi-alexa instances, one in aws and one in docker and testing them both.

I'll look at it it in a bit, but it seems odd to me that you can't just do it the same way as for AWS: point the user at the template, have them edit it, and place it in the same directory.
I wasn't trying to say that we needed to generate the configuration with a script or anything.

If the image comes with an explicit version of the code, embedded in that image, we would meed to symlink the config somewhere outside the image, and add it as a volume.
As an example, in the app directory there would be a symlink kodi.config -> /config/kodi.config, and /config would be a volume mounted in the container.
Another way would be if we could specify where the config file is located, which complicates things.
I think we come from two different places of doing things :), but that is typically how docker works, because you want that config to be persistent.
This way, you could just do a docker pull kodi-alexa, remove the old conainter, create a new one with the same config file, and you are now upgraded.
Docker hub even builds the images automatically based on pushes to branches, and new tags.

You are correct that I don't have much experience with Docker. I'm out at the moment, but I'll do a bit of reading when I get home.
I'd rather not eliminate a feature (Device ID mapping) for Docker users though unless it's absolutely necessary.
We already have an easier-than-AWS deployment method: Heroku.  Docker without Device ID mapping would still have the advantage of running locally (and thus faster), but it's hard to top Heroku as the 'easy' option.
I don't think we should forgo feature parity with AWS just because it's more difficult, especially since it'd ultimately be the best option (in terms of features and speed) of the three if it did support the configuration file.

FWIW, env vars are already supported and override stuff in the configuration file, so you can have it the way you want it anyway. I'm speaking more about what I'd like to document for other users.

I fully understand, and you are right, AWS is fully featured. In terms of speed I would say it's not really the case, as depending on a lot of factors, it can be faster having it locally, as it is my case (I am in Eastern Europe, and the kodi-alexa lambda is setup on eu-west-1).
Having a docker, and an easier version might bring more traction to the project, albeit a big might. :)
Did not check for variable precedence, but thought that might be the case. I just used the env vars i found in app.json.
I have a dedicated mini PC for this kind of stuff, and for home automation, so it makes sense for me to keep kodi-alexa local. My point being that I am sure there are others running a similar scenario. A lot of people in the home assistant community for instance.
Let me know what you think is best in terms of Docker image, and I will help however I can.

I host locally as well just for speed too, so I understand.  I'm old fashioned though and just use Apache in a chroot jail :)
Docker would be viable for others to self-host, but I think we can make it fully-featured too.
I've been wanting to look at Docker more anyway.. now I have an excuse.

That's good to hear :) let me know your thoughts.

Ok after a little bit of reading, I get how to handle the config file and that part wouldn't be terribly hard to document.  We can push the symlink up to the repo and leave it dangling until someone runs this in a Docker container.
The bigger problem (documentation-wise) will be that Alexa requires an HTTPS endpoint. If we make the assumption that users know how to set up a proxy and deal with certs, we can probably also assume that they know how to get this running in Docker or whatever on their own too.
Ultimately, that's what this Issue is:  documentation.  If you feel like writing up how to set up certs and an HTTPS proxy (or however else you can make it work in a Docker container), we'd definitely accept that PR.  But without that piece of the puzzle documented, we'll just be inundated with support requests since everyone will certainly want to do this for the reduced latency.

The easy way would be using self signed certs, and we can maybe create them on the fly at first docker run. We can have a flag maybe, SSL_ENABLE which is enabled by default. In order for the image to be self conained. Then if anyone wants to use it with letsencrypt or something else they can disable it via the flag and have http only, and expose kodi alexa via their reverse proxy.
I can try this on my fork if it sounds good to you.

Generating self-signed certs for a default installation is fine.  There's a specific option though they'll need to tick in the skill builder, which should be documented.
The flag wouldn't be disabled for Let's Encrypt (or whatever other CA) -- they'd just swap out the key and cert.  I realize you probably know this and just worded it a bit wrong, but I think there should be a blurb in the docs about it.
BTW, if you'd prefer, it might be easier to chat about this on Slack.

Sure, I can join slack. It seems I need an invite. My e-mail address is my user at gmail.

created custom entrypoint that handles the SSL certificate check and creation, and also makes sure the kodi.config itself and the symlink exist.
It's still rough around the edges and I will work on polishing it a bit more next week
To build locally, from my fork
docker build -t kodi-alexa .

To run from locally created image:
docker run --name=kodi-alexa -d -v ~/ka-config:/config -p 8000:8000 -e "KODI_ADDRESS=<IP_ADDRESS>" -e "KODI_PORT=8080" -e "GUNICORN_LOGLEVEL=debug" kodi-alexa

To run direcly from dockerhub:
docker pull mboeru/kodi-alexa
docker run --name=kodi-alexa -d -v ~/ka-config:/config -p 8000:8000 -e "KODI_ADDRESS=<IP_ADDRESS>" -e "KODI_PORT=8080" -e "GUNICORN_LOGLEVEL=debug" mboeru/kodi-alexa

Where ~/ka-config is a directory on the host, and will hold the ssl cert files and kodi.config
Did not get a chance to fully test (with Alexa), but that part should still work. Let me know how it looks so far.

I've stumbled upon an issue, and it seems that if the config file exists the env variables are ignored
https://github.com/m0ngr31/kodi-voice/blob/master/kodi_voice/kodi.py#L243
So variable precedence is config file first and if that does not exist then use env vars.
Maybe we can add a switch (meaning a env variable for docker), default being to use the config file?

Yes, it's supposed to be one or the other, not a combination of the two.
I'm not sure I see why this is a problem, though?

I haven't really had time to think about this much yet, but the idea was not to automatically create kodi.config -- it was to just commit a dangling symlink to it.  The user would be responsible for actually creating the file, same as we do for AWS.

Oh, ok, I can remove that part if necessary. I thought it would be easier for someone, if the config was autocreated, then adjusted, and then they would issue a restart of the container.
The issue is that if the config is autocreated, then the env would no longer be used at all, even if specified.

Yeah, just don't create it and then you'll be able to use env vars.
The creation of the configuration file will be a documentation issue as it is for AWS.
Kodi-Voice already reads the example file to seed defaults. From there you (as a user) can override with either env vars or your own config file, but not both.
I'm setting things up here to play with this, but I don't know how far I'll get as we are also preparing for the hurricane.

Sorry to hear about the hurricane.
Ok, now I get it with the kodi.config. I'll remove that part and start documenting the rest, inside the README file.

FWIW, I've got it up and running here.  In entrypoint.sh I just changed it to test for presence of the symlink and if it doesn't exist, it creates it.
One thing worth mentioning is you could add pip install python-Levenshtein to Dockerfile to speed up the fuzzy matches some.

not working for me I'm getting 500 everytime i send it something
[2017-09-10 14:41:47,022] ERROR in app: Exception on / [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python2.7/site-packages/flask_ask/core.py", line 670, in _flask_view_func
    result = self._map_intent_to_view_func(self.request.intent)()
  File "/kodi-alexa/alexa.py", line 1102, in alexa_mute
    kodi.ToggleMute()
  File "/usr/local/lib/python2.7/site-packages/kodi_voice/kodi.py", line 901, in ToggleMute
    return self.SendCommand(RPCString("Application.SetMute", {"mute":"toggle"}), False)
  File "/usr/local/lib/python2.7/site-packages/kodi_voice/kodi.py", line 357, in SendCommand
    r = requests.post(url, data=command, auth=(self.username, self.password), timeout=timeout)
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 112, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/adapters.py", line 508, in send
    raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='<IP_ADDRESS>', port=8080): Max retries exceeded with url: /jsonrpc (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f742d1aa5d0>: Failed to establish a new connection: [Errno 111] Connection refused',))

did the required modifications, added some docs and created pull request #224
If all is ok, are you willing to adding automated build on dockerhub for just getting the images directly, instead of building them?

Sure, provided it's documented well in the README.
While I have a really good understanding of the underlying stuff that Docker uses, I don't have the same understanding of their wrappers for it all.
I'll read up on it a bit more when I get a chance, but I've never really looked at dockerhub.  Who would be updating the images and how would they be updated?  Also, remember that it requires that the users update their interaction models too, so it can't be an automated update, or the model will go out of sync with the skill code.

If you enable automated updates, then github will push a build request to dockerhub.  So everytime you push a change to the github repo, or create a tag, it would start to build a new image. This is cusomisable based on tags and branches, so you can only enable a certain branch to create an automatic build.

That sounds fine to me.

This is what the build settings looks like.

One of the project collaborators or the owner will need to set this up.

Looks easy enough :)
We might want to document both building and using the pre-built images.  @m0ngr31 thoughts?

@mboeru, how do i set the SSL_ENABLE flag for my installation? I'd like to drop this docker project behind a reverse proxy which already handles all SSL encryption requests but can't because the connection is already encrypted.
Thanks

You cannot, but you can set it via https in your reverse proxy. This is what I have in my nginx config for instance
            location /kodi-alexa {
	    rewrite           ^/kodi-alexa/(.*)  /$1  break;
	    proxy_pass        https://192.168.54.XXX:8000;
            proxy_redirect    https://192.168.54.XXX:8000 /kodi-alexa;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Server $host;
            proxy_set_header   X-Forwarded-Host $server_name;
	}

So use https:// instead of http:// when declaring proxy_pass
Than works great for me, and I am behind nginx+letsencrypt

Actually that kind of helped me a bit.  I maintain my entire infrastructure use compose + git and use nginx-gen w/ letsencrypt-nginx-proxy-companion to handle the automatic generation and maintenance of my SSL certs and virtual host. All I had to do was add VIRTUAL_PROTO=https to the environment variables.
Literally all I need to do bring up a new service within my infrastructure is add the following snippet to my docker-compose.web.yml and add the dns entry to point to the host and it handles the rest.
kodi-alexa:
    image: mboeru/kodi-alexa:latest
    restart: always
    environment:
      - VIRTUAL_HOST=kodi-alexa.example.com
      - VIRTUAL_PORT=8080
      - VIRTUAL_PROTO=https
      - VIRTUAL_NETWORK=nginx-proxy
      - LETSENCRYPT_HOST=kodi-alexa.example.com
      -<EMAIL_ADDRESS>    volumes:
      - "./kodi-alexa/kodi.config:/config/kodi.config:ro"
    networks:
      - proxy-tier

Thanks

Is there any headway with this? I've been trying to follow along, trying different combinations but have yet to get any successful docker image up and running.

Are there any further updates on this? Ive set up everything, alexa skill sends via https ddns to my nginx which redirects into mboeru's docker machine and I can see the docker machine receiving POST requests, but nothing is then sent to my Kodi installation and the alexa skill gets a null response.

Never mind, solved it myself. Working now.

I just wanted to comment that I used this image and it worked very well in my Pi 3:
https://github.com/linuxserver/docker-kanzi


hide a playlist and it hides all and only shows the hidden

This issue is still there since day 1 and happened again this morning. If you have a playlist hidden than it hides all and shows the hidden one (a toggle that is doing the opposite of what it should). The only workaround is to hide something new go out hit refresh a couple time and all show but hidden, go back and uncheck the new hidden (that you just used as a workaround "trigger" for this), and than it's back to normal. This happens some mornings when coming in and I would say it occurs (since we do have some MS dynamically pulled content hidden), 5 times a month

Can you please validate that you have the latest version of the web part https://github.com/pnp/custom-learning-office-365#current-release-version

Hi @juliemturner - I've found exactly the same behaviour on the following version (fresh install)

Version
<IP_ADDRESS>

Release Date
September 2019

The current version of the web part is 2.0.17, please see here to update:
https://github.com/pnp/custom-learning-office-365#current-release-version
After you've updated let me know if you're still seeing the same behavior.

I will look at upgrading to version 3, since that appears to be a critical update. I see the notice on back up of content and assume that the content that is custom and added will remain? and this will just install over? We do have sharegate and I can try and backup, but just wondering if this was tested as a install on top and custom content is thought to be fine? Right now, it appears that some update came in with new content (that's great) but completely hid my stream section section (custom) it's in the admin, but I can't seem to get to show. It also appears to have added accessibility under all the other O365 applications (not the right spot for it) ...Hopefully the update will repair this?

The bug referred to in this thread should be fixed by 2.0.17.
To address your other questions, Yes version 3 is out and the update makes several schema changes to the content. We have tested it with custom content and the update worked fine in our testing but it's always good to have a backup so you can restore the list items if necessary, give you have ShareGate that's a great answer if only to copy the list items to backup lists in the same site.
The v2 content was also updated, so you can get a content update without moving to version 3 of the web part. I would like to stress that content updates are completely decoupled from web part updates, so if you expect a web part update to fix content issues that will not happen.
For any issues I didn't address please open a new issue as they are unrelated.


Make FluentApp.routers color property optional

Fix #782

[x] I have updated CHANGELOG.md with my changes
[x] I have run "dart format ." on the project

@WinXaito merged master

@WinXaito merged master

I just do a review, I let @bdlukaa validate and merge that 😉


Add exact tensor network C++ backend to LT

Before submitting
Please complete the following checklist when submitting a PR:

[ ] All new features must include a unit test.
If you've fixed a bug or added code that should be tested, add a test to the
tests directory!

[ ] All new functions and code must be clearly commented and documented.
If you do make documentation changes, make sure that the docs build and
render correctly by running make docs.

[ ] Ensure that the test suite passes, by running make test.

[ ] Add a new entry to the .github/CHANGELOG.md file, summarizing the
change, and including a link back to the PR.

[ ] Ensure that code is properly formatted by running make format.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.

Context:
[sc-72879]
Description of the Change:
Benefits:
Possible Drawbacks:
Related GitHub Issues:

do we want to change this method string to exacttn?
https://github.com/PennyLaneAI/pennylane-lightning/blob/3e2cd564f9e14a71f470f699aba000e6c54c7856/pennylane_lightning/core/src/simulators/lightning_tensor/tncuda/ExactTNCuda.hpp#L54


[Feature] Kubefile APP instruction support flags

Issue Description
At build stage,  sealer try to judge an obvious application type by walking  through build context .
and the matching rule is based on the file suffix and only support helm, kube and shell .
could we support flags for APP instruction:
FROM scratch
APP myapp --type kube --files ["ns.yaml","myapp.yaml"] local://myapp
LAUNCH myapp

so that ,we can support much more  application types.
Type: feature request
Describe what feature you want
Additional context
Add any other context or screenshots about the feature request here.

@VinceCui @Starnop , could you pls give us your comment about this feature  ? 😀


Release Variables In Service Connections

Hi, I'm trying to add a service connection to use in a release task.
I would like to populate a field of the service connection with a release variable populated from another release task (say key vault).
Is it possible to pass release variables to service connections?
thanks!

@keggster101020 Thank you for the feedback. Can you let me know which article this feedback is for (or which article was missing the steps you needed), so I can assign it to the author? You can reply here with the URL of the topic, or you can create a new issue by browsing to the topic on docs.microsoft.com and choosing Content feedback at the bottom.

@alexhomer1 Do you know any details about this, or know who might?

I would like to populate a field of the service connection with a release variable populated from another release task (say key vault).

I presume, you're trying to update the fields of service connection from a variable and not the service connection itself. If yes, have you tried ##vso[task.setendpoint]value? check out the agent logging commands
If you intend the latter, that is setting the service connection as a variable, then it is not supported.


Fix issue #8

@jsumners

Please be patient. I need time to review and test.

Please be patient. I need time to review and test.

Sorry, no problem. Just wanted to know that you have well seen it


Request for Apache License 2.0

I did not see any licensing in feedback. I have a use-case that would require using your code with a separate extension and want to know if the code is available under Apache License 2.0?

Mike,
Of course, feel free to use it as you wish. I made it pretty quick and
dirty so also don't hesitate to make any changes!
Thanks for asking!

Alex

On Tue, Nov 21, 2017 at 9:50 AM, mikewiluszatgoogle <
<EMAIL_ADDRESS>wrote:

I did not see any licensing in feedback. I have a use-case that would
require using your code with a separate extension and want to know if the
code is available under Apache License 2.0?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/alexmacy/SSRS-in-Google-Chrome/issues/1, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AG4v1S4MsoOIq_2C2H5Q7ohwxt2nx3_tks5s4w1GgaJpZM4QmPZ1
.

Also added the license. Thanks for the heads-up!


migrate to api.search.io

This change migrates to api.search.io from jsonapi.sajari.net.
The major things that have changed are:

Client was rewritten.
Client.query returns the API response directly (we no longer modify the response in the client).
QueryPipeline was removed, including the Client.pipeline method.
Session and all implementations of it were removed. SearchIOAnalytics should be used instead.
PosNegLocalStorageManager was removed. SearchIOAnalytics should be used instead.
Values was removed.
Filter was removed.
EventEmitter was removed.

ENG-3242

Just saw this. Will try to have a look tomorrow.

@wwalser and @JasonBerry is this PR going stale? Or is it still on the cards?

It'll ship. Just making sure our ducks are in a row for doing a major
version bump.
On Thu, 26 May 2022, 10:08 am Justin Koke, @.***> wrote:

@wwalser https://github.com/wwalser and @JasonBerry
https://github.com/JasonBerry is this PR going stale? Or is it still on
the cards?
—
Reply to this email directly, view it on GitHub
https://github.com/sajari/sdk-js/pull/164#issuecomment-1138001344, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAMV4TXPWTDRDWHZ3UUIZDVL26IJANCNFSM5VQTGK5A
.
You are receiving this because you were mentioned.Message ID:
@.***>

@wwalser If the scope of this is too large, happy to reduce it down so it is just the client change, and not removing the deprecated/unused code.


toArray

I propose a toArray API as a dual of fromArray:
bigInt(x).toArray(base) => {isNegative: Bool, digits: Int[]}

(apologies for the ad hoc typing syntax above)

Hi, looks like a good idea to me.
I'm a little bit busy these days so it might be a little while before I get around to it, but in the meantime if you feel like adding this yourself I'd be happy to merge in your pull request.

I’ll be happy to write it.
On Mon, 12 Mar 2018 at 21:32, Peter Olson<EMAIL_ADDRESS>wrote:

Hi, looks like a good idea to me.
I'm a little bit busy these days so it might be a little while before I
get around to it, but in the meantime if you feel like adding this yourself
I'd be happy to merge in your pull request.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/peterolson/BigInteger.js/issues/123#issuecomment-372516258,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AARBS5J_3IZ__fWQ-HJIqgddv7iIBZjsks5tdyGRgaJpZM4Sn2df
.

I did this:
function to_base_array(n, base){
var x = n;
//console.log(x);
var basearray = [];
	while(true){
		x = x.divmod(new BigInteger(base));
		basearray.unshift(x['remainder']['value']);
		x = x['quotient'];
		if(x['value']=='0'){break;}
	}
	//console.log(basearray);
	return basearray;

}

I did this:
function to_base_array(n, base){
var x = n;
//console.log(x);
var basearray = [];
	while(true){
		x = x.divmod(new BigInteger(base));
		basearray.unshift(x['remainder']['value']);
		x = x['quotient'];
		if(x['value']=='0'){break;}
	}
	//console.log(basearray);
	return basearray;

}
and got basearray.
Then parse this and change cypher to symbols, like this:
else if(base==58){//set base58 alphabet
alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
for(i=0;i<arr.length;i++){
arr[i]=alphabet[arr[i]];
}
string = arr.join('');
}

This function has been added to the library already.


Bug: Can not use $modelObject->save($entityObject) in ver.4.2.1

PHP Version
8.1
CodeIgniter4 Version
4.2.1
CodeIgniter4 Installation Method
Composer (using codeigniter4/appstarter)
Which operating systems have you tested for this bug?
Windows
Which server did you use?
apache
Database
MariaDB 10.2,
What happened?
Can not user $modelObject->save($entityObject) in ver.4.2.1
report error like:
mysqli_sql_exception #1062
Duplicate entry '1' for key 'PRIMARY'

Steps to Reproduce
Defined Model:
<?php

namespace App\Models;

use CodeIgniter\Model;

class UserModel extends Model
{
    protected $table = 'user';
    protected $primaryKey = 'id';
    protected $useAutoIncrement = true;
    protected $returnType = \App\Entities\UserEntity::class;
    protected $dateFormat = 'int';
    protected $useTimestamps = true;
    protected $allowedFields = ['id', 'name', 'hit'];
    protected $useSoftDeletes = true;
    protected $createdField = 'created_time';
    protected $updatedField = 'updated_time';
    protected $deletedField = 'deleted_time';
}

Define Entity:
<?php
namespace App\Entities;
use CodeIgniter\Entity\Entity;

class UserEntity extends Entity
{
	protected $datamap = [
        'id' => 'id',
        'createdTime' => 'created_time',
        'updateTime' => 'updated_time',
        'deletedTime' => 'deleted_time',
        'userName' => 'name',
        'userHit' => 'hit',
    ];
    protected $casts = [
        'id' => 'integer',
        'created_time' => '?integer',
        'updated_time' => '?integer',
        'deleted_time' => '?integer',
        'name' => '?string',
        'hit' => '?integer',
    ];
}

In Controller Class ，Define Function
public function index()
    {
    	$this->userModel = model('App\Models\UserModel', true, $db);
    	$user = $this->userModel->find(1);
    	$user->userHit = 2;
    	$this->userModel->save($user);
        return view('welcome_message');
    }

Expected Output
It can not work in 4.2.1 ,but can run well in 4.1.19
Anything else?
No response

Delete 'id' from allowedFields array. It seems  not update ,it work Insert.

The $primaryKey field should never be an allowed field.  is not a good way.
Because primaryKey can snowflakeId,  a string or others. it not alwasy use a  auto Increment Int number.

Remove id from the allowedFields property. https://codeigniter.com/user_guide/models/model.html#allowedfields

Your model has useAutoIncrement true.
You should configure the table with auto Increment.
Remove 'id' => 'id', in $datamap.


return validation messages with process data records

This PR has implementation to bring the messages for each ProcessData record. Has changes to Message table, introduces ProcessDataService
Jira story - https://proactionca.ent.cgi.com/jira/browse/BCMOHAD-21207
Jira Task - https://proactionca.ent.cgi.com/jira/browse/BCMOHAD-23311

@Ashwani-cgi can you please change these */getformfields/header endpoints to return messages column rather then errorMsg!


Hi. Can this application also be translated into English?

Can xcode do that for you?
It looks cool and I want to buy it
However, I do not know how to speak Japanese, so it may be difficult to use.
Sorry if the translation sounds bad. I used Google and Bing.
んにちは。 このアプリケーションを英語にも翻訳できますか？
xcodeはそれをあなたのためにすることができますか？
それはクールに見え、私はそれを購入したい。
しかし、私は日本語を話す方法がわからないので、使いにくいかもしれません。
翻訳が悪い場合は申し訳ありません。 私はGoogleとBingを使いました。

Thank you for your question, and writing Japanese!!
It's okay to write in English.
I understand your request.
I will translate this application in English. Please wait a little more.
Sorry, I never thought many people buy Whalebird, so I developed in Japanese.
But, that judgment was not good.
I will create Localizable files, and upload to AppStore for the whole world.

Thank you.

@laserstrike Sorry for the delay, I release new version today.
I translate this application in English, so the latest version display in English, maybe.
Thanks.

Yes! Thank you so much. I already bought the app.
The only word with a mistake I found is where it says "updat"; I think it should be "update".

Thanks again.

Oh...sorry.
I will fix this typo in next version.


Admin mongo Secure

How to secure admin-mongo web interface    so that it does not open by whoever has the url
I don't know if it is possible to add a password or ssh key access ??

Use an environment variable: PASSWORD
https://adminmongo.markmoffat.com/docs/#Configuration
https://github.com/mrvautin/adminMongo/blob/master/app.js#L103


Additional instructions required for specific OS regarding local development setup

What's wrong?
When setting up the local development environment, I experienced two different types of errors in two different OS.

On MacOS Monterey (v12.1), Python 3.8.10 (installed via conda):

pg_config executable not found error
A search suggested the following and it worked like a charm:
brew install postgresql

On Ubuntu 20.04.3 LTS, Python 3.8.10 (installed directly and not via conda):

make livehtml command resulted the following error:
FileNotFoundError: [Errno 2] No such file or directory: 'sphinx-build'
sphinx-autobuild -h shows that sphinx-autobuild is in the path but sphinx-build -h confirms that sphinx-build is not in the path. Since the Makefile uses both of them, the user needs to manually install the missing piece. A note that if the python is installed via conda, both sphinx-build &  sphinx-autobuild are available in the path.
URL of affected page, and any other information
This is the affected page/section.
I'm looking for the following feedback:

I propose to test the windows OS as well to cover the developer experience as part of the same fix/PR.
Since these are specific fixes for specific OS/situations, can they be listed under a separate Troubleshooting section rather than crowding this section? For example, this section could also go under the Troubleshooting section.

Once I get some comments on the above, I can start on the PR. Thanks.

I really like the idea of having separated sessions for different OS because when I am debugging something I would go directly to the system that I am using.
I must to say that I did not had any of the issues listed here but I am using virtualenv to manage my dependencies. I see in the readme also suggest the user to use virtual env and when you do the tests from kind of zero, do you think is a good idea to also use virtual env and see if the same happens? The reason is that I had issues with conda before related to path or dependencies 🙈

Thanks @laysauchoa on the venv comment. I'll repeat the process following venv and see if that helps.

Verified that the above issues don't arise when using venv. Closing this issue. Thanks @laysauchoa


[Release] Conduit v0.12.2

Update Dependencies

[x] conduit-commons: Run scripts/get-compare-link.sh ../conduit-commons/ to compare the latest tag and main branch. If changes are needed, push a new tag.
[x] conduit-connector-protocol: Update conduit-commons if necessary: go get<EMAIL_ADDRESS>Run scripts/get-compare-link.sh ../conduit-connector-protocol/ and tag if needed.
[x] conduit-connector-sdk: Update dependencies (conduit-commons, conduit-connector-protocol) as needed. Run scripts/get-compare-link.sh ../conduit-connector-sdk/ and tag if needed.
[x] conduit-processor-sdk: Update conduit-commons if necessary. Run scripts/get-compare-link.sh ../conduit-processor-sdk/ and tag if needed.
[ ] conduit-schema-registry: Update conduit-commons if necessary. Run scripts/get-compare-link.sh ../conduit-schema-registry/ and tag if needed.
[ ] Connector SDK in conduit-connector-template: Bump the Connector SDK dependency.
[ ] conduit-connector-file: Bump the Connector SDK scripts/bump-sdk-in-connectors.sh vX.Y.Z. Run scripts/get-compare-link.sh ../conduit-connector-file/ and tag if needed.
[ ] conduit-connector-kafka: Bump the Connector SDK scripts/bump-sdk-in-connectors.sh vX.Y.Z. Run scripts/get-compare-link.sh ../conduit-connector-kafka/ and tag if needed.
[ ] conduit-connector-generator: Bump the Connector SDK scripts/bump-sdk-in-connectors.sh vX.Y.Z. Run scripts/get-compare-link.sh ../conduit-connector-generator/ and tag if needed.
[ ] conduit-connector-s3: Bump the Connector SDK scripts/bump-sdk-in-connectors.sh vX.Y.Z. Run scripts/get-compare-link.sh ../conduit-connector-s3/ and tag if needed.
[ ] conduit-connector-postgres: Bump the Connector SDK scripts/bump-sdk-in-connectors.sh vX.Y.Z. Run scripts/get-compare-link.sh ../conduit-connector-postgres/ and tag if needed.
[ ] conduit-connector-log: Bump the Connector SDK scripts/bump-sdk-in-connectors.sh vX.Y.Z. Run scripts/get-compare-link.sh ../conduit-connector-log/ and tag if needed.
[ ] Bump built-in connectors on Conduit: Run scripts/bump-builtin-connectors.sh
[ ] Release Conduit (see instructions below).

Documentation

[ ] Write a blog post.
[ ] Regenerate processor documentation on conduit-site.
[ ] Update the banner on the website.
[ ] Search and replace the latest version in conduit-site.
[ ] Search and replace the latest version in README.md.

Releasing Conduit

[ ] Trigger a release by pushing a new tag starting with v (e.g., v1.2.3).
[ ] Use the script scripts/tag.sh to ensure version conformity.

Released https://github.com/ConduitIO/conduit-commons/releases/tag/v0.5.0

Released https://github.com/ConduitIO/conduit-connector-protocol/releases/tag/v0.9.0

Conduit SDK: https://github.com/ConduitIO/conduit-connector-sdk/blob/main/go.mod#L7-L8

Conduit Processor SDK: https://github.com/ConduitIO/conduit-processor-sdk/blob/main/go.mod#L7

Conduit Schema registry: https://github.com/ConduitIO/conduit-schema-registry/blob/main/go.mod#L6

https://github.com/ConduitIO/conduit/releases/tag/v0.12.2; Docs will be released soon.

conduite-site changes are here: https://github.com/ConduitIO/conduit-site/pull/188
I didn't change the banner since it's a patch release.

https://github.com/ConduitIO/conduit-site/pull/188 ships. Thank you @hariso for taking care of the docs.


Fixed prsysmgmt issue with connection via JMX and updated docs

I fixed the issue related to JMX and updated the docs a bit.

This one doesn't require the user to pass in the jdbc_url - it is
constructed in the docker-entrypoint script.  These are just the defaults
which do default to postgres.
On Thu, Jan 12, 2017 at 12:57 PM Christopher Dancy<EMAIL_ADDRESS>wrote:

@cdancy commented on this pull request.
In Dockerfile
https://github.com/pegasystems/docker-pega7-tomcat-ready/pull/4:

ENV JDBC_CLASS org.postgresql.Driver
+ENV JDBC_DB_TYPE postgresql

Maybe remove JDBC_DB_TYPE as well and just parse it from the passed
JDBC_URL? That's what we do here in our gradle-prpc-plugin and would
remove one more variable to track.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pegasystems/docker-pega7-tomcat-ready/pull/4, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAeKwxckQCChYSyi_Zj8VD3yqzbR0Dyoks5rRml9gaJpZM4LiCHm
.

I made those changes.  Thanks!
On Fri, Jan 13, 2017 at 12:33 PM browm2<EMAIL_ADDRESS>wrote:

@browm2 commented on this pull request.
Hi Pete, Just got the email request - it went into Spam. Here are my
comments:
Pega7 should be Pega 7
Constructing your image:

extract the Pega distribution to the same directory as what?
second sentence: Start with "It is recommended that you construct
your image on a Linux (should start with a capital L) ...

Throughout: Docker should start with a captial L
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/pegasystems/docker-pega7-tomcat-ready/pull/4#pullrequestreview-16612418,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAeKwzghS4X3qF_PxLAAxVCGyf_D_gIuks5rR7VkgaJpZM4LiCHm
.

Any time!
From: Peter Hayes<EMAIL_ADDRESS>Sent: Friday, January 13, 2017 12:45 PM
To: pegasystems/docker-pega7-tomcat-ready<EMAIL_ADDRESS>Cc: Brown, Mary Anna<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [pegasystems/docker-pega7-tomcat-ready] Fixed prsysmgmt issue with connection via JMX and updated docs (#4)
I made those changes. Thanks!
On Fri, Jan 13, 2017 at 12:33 PM browm2<EMAIL_ADDRESS>wrote:

@browm2 commented on this pull request.
Hi Pete, Just got the email request - it went into Spam. Here are my
comments:
Pega7 should be Pega 7
Constructing your image:

extract the Pega distribution to the same directory as what?
second sentence: Start with "It is recommended that you construct
your image on a Linux (should start with a capital L) ...

Throughout: Docker should start with a captial L
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/pegasystems/docker-pega7-tomcat-ready/pull/4#pullrequestreview-16612418,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAeKwzghS4X3qF_PxLAAxVCGyf_D_gIuks5rR7VkgaJpZM4LiCHm
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/pegasystems/docker-pega7-tomcat-ready/pull/4#issuecomment-272500455, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXqkxWi3c8SVLmHoeu4QeTZKmKttwho_ks5rR7gkgaJpZM4LiCHm.


Send entire url when logging type is set to domain

Fixes https://github.com/wakatime/browser-wakatime/issues/235
Send entire URL when logging type is set to url and mode is whitelist only

I don't see where it checks the logging type setting (url or domain) in the getHeartbeat function. Where does it decide to send only the domain vs the full url?

I don't see where it checks the logging type setting (url or domain) in the getHeartbeat function. Where does it decide to send only the domain vs the full url?

We are always sending the full url, and type is set to domain or url, the BE is doing the job to convert the url value based on the type that it receives

The backed doesn't filter entity based on entity type, and for privacy reasons we only want to send the domain unless set on the client to send the full url.

No longer necessary after refactoring in #265.


fix for additinal easyauth settings

There has been a change to the default behavior of App Service Authentication, and by default, only tokens obtained using the appId of the app created for App Service Authentication are allowed. In Custom Claims Provider, since the API is called with an access token obtained by Azure Active Directory Authentication Extensions (client ID is 99045fe1-7639-4a75-9d4a-577b6ca3810f), it is necessary to allow this client on the App Service authentication side.

Hi @watahani,
In order for this PR to pass PR review, the blurred sections in the updated screenshots need to be obscured by using an opaque color block the same color as the background or by replacing the personal information with fictitious information. For more information, see Sensitive content guidelines for content published to Learn, FAQs for documenting GUIDs and keys securely, and Approved sensitive identifiers.
Can you make those updates?

@cilwerner
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

updated screenshot to use approved identifiers for appid and tenant id

@cilwerner Thank you for your review. I have made the necessary corrections.

#sign-off


Update offer - Download and saving without changes

Describe the bug
When updating an existing offer, the user can store the offer and download it even though no changes have been made.
To Reproduce

Run app
Update Offer
Proceed to the final step (overview)
Both, download and saving is possible without having made any modification.

Expected behavior
Creating a new version and downloading it should only be possible, if changes have been applied to the existing offer.

 Fix issue #222 (Update offer - Download and saving without changes)

 Fix issue #222 (Update offer - Download and saving without changes)

 Update offer - Download and saving without changes


History.state is always null when using appcache

Earlier I used to use history.state to decide if an user can go back any further in the application.
But after enabling appcache, it's always null. Is there a workaround or alternate way to know if the user can goback ?
Does it have something to do with hash paths?
https://github.com/iron-meteor/iron-location/issues/12
Example use case:
Consider there is a blog app
User clicks a link to a post (I love IronRouter), the link opens in the app.
User then follows this path
I love IronRouter > post author > home > I love IronRouter .
Now when the user goes back, he has to goto home > post author > I lover iron router
At this stage, backbutton won't be displayed.

ANy update?


CREO2URDF – Refactor creo2urdf in order to use encapsulation

Task description
In order to reach fast the mvp-1 and mvp-2 we just added all the logic of the plugin inside the callback of the button, but since it is increasing in complexity we need to stop and refactor the plugin in order to use member functions and variables, and separate the code in separate files.
Definition of done
The code has been cleaned up

We completed the refactoring, now the code is much more modular. We tested that the functionalities remained the same


Bring the 1.x branch up to date with main

Description
Brings the 1.x branch up to date with main
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Looks like some commits have DCO issues?

Looks like some commits have DCO issues?

@VachaShah Yeah, there's a handful of commits where the squash merge has used a different author to what was used in the DCO. ie. DCO was with @amazon.com address, but squash merge has been attributed to their GitHub @users.noreply.github.com address.
Not much that can be done about that as they're in main.

Is there something in 1.x which is missing in main? If no, you can delete 1.x and then re-create it.
If yes, but amount of changes (commits) is pretty small, you can recreate the branch and cherry-pick those changes.
To avoid a mistake you can rename 1.x and delete once confirmed that everything is correct.

@Yury-Fridlyand Branch protection rules mean I do not have permission to delete or update the 1.x branch. Yes, the branch is "fast-forwardable".

Well, you can force-push to 1.x from main if you're sure that nothing to lose.

@Yury-Fridlyand Again, the branch protection rules mean I am unable to (force-)push to 1.x

Oh no!
I just tried to find a way to avoid reviewing 400+ files in this PR...

@Yury-Fridlyand I'll try getting some temporary permissions to get things in order and save having to review this


Host command flag broke?

code-server version: v10.15.1
OS Version: Red Hat Enterprise Linux Server release 5.3 (Tikanga)

Description
I just upgraded my installed code-server instance today. Since the previous version I was using was so old, my startup script had to change. Here's what it is now to get it to run:
export PASSWORD=MyPasswordHere
./code-server \
  --log trace \
  --disable-telemetry \
  --host my-host.my-domain.com \
  --port 9000 \
  --auth password \
  /my/path/

Notice I'm supplying the host. Yet still when I start the application on the remote, it binds to my IP address instead of the host name. This is different from the previous version, which bound to my host name just fine.
Is there something new I have to tell code-server to get it to bind it to my host name?
Steps to Reproduce

Run code-server with the host flag

Try <IP_ADDRESS> instead. I would usually recommend nginx as well since I don't recommend doing this way.

the --host option is just used to lookup the IP code-server should bind itself to.  This is generally either localhost (only the loopback network port of the local machine only), or <IP_ADDRESS> for all interfaces.
Note if you are using docker the network IP will generally be the docker intranet, also only available from the local host, unless docker connects ports to the outside world, OR you have some sort of ingress proxy connecting external URLs to the appropriate internal docker instances.

What @antofthy, we don't support domains, sadly.


Position the selection menu normally, even for nodes with duplicate names (when clicked on)

Closes #169. (More specifically, this addresses the second and currently-only-unchecked point in #169.)
When a node is clicked on, CanvasEvents already finds its key (an umambiguous identifier) in empress._treeData. Now, this key is used to center the camera on the node that was clicked on, as well as only highlight this node in green. Additionally, I believe the sample presence info should now be correct (since no iteration is done over all of the nodes with this name).
If a node is selected by searching and its name is ambiguous, then the old behavior is used (the camera is centered on the root, and all nodes with this name are highlighted). However, now there's some extra work done in the selection menu code that hides the sample presence info for this case.

@kwcantrell comments have been addressed, as described in my responses. Let me know what you think!

@fedarko thanks this looks good!


Commands to manipulate a players installed modules

Is it related to an issue?
No response
Relevant issues
No response
Why add it?
To allow adding/removing of modules automatically (via datapacks/scripts) or by server admins.
Additional context
Commands suggested:
Remove all modules
Remove one module (by type/name)
Add a module (I assume this would need coords input for a block to 'bind' it to too)

About to start a new branch for 1.19. I'm going to implement this before I push the update.


Cannot install default firmware and function to ESP32-S3-EYE (IDFGH-12515)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
esp-idf-v5.2.1
Operating System used.
Windows
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
CMD
What is the expected behavior?
Following the instructions and via various tools, I've not been able to successfully restore the features it shipped with. Instead, after each attempt, the board is no longer recognized as a USB device (Windows / USB connects/disconnects sounds in a loop).
"Each ESP32-S3-EYE board comes with pre-built default firmware that allows you to test its functions including voice wake-up, voice command recognition, face detection and recognition."
What is the actual behavior?
I've not been able to successfully restore the features it shipped with. After each attempt, the board is no longer recognized as a USB device (Windows / USB connects/disconnects sounds in a loop).
Steps to reproduce.
Using \esp-idf-v5.2.1>esptool.py
Erased and uploaded default .bin shown in documentation.
Build or installation Logs.
C:\Espressif\frameworks\esp-idf-v5.2.1>esptool.py --chip ESP32-S3 --port COM3 --baud 460800 write_flash -z 0x0 esp32-s3-eye-v2.2-firmware-v0.2.0-en.bin
esptool.py v4.7.0
Serial port COM3
Connecting...
Chip is ESP32-S3 (QFN56) (revision v0.1)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
MAC: 34:85:18:8c:44:20
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00066fff...
Compressed 418768 bytes to 61514...
Wrote 418768 bytes (61514 compressed) at 0x00000000 in 3.2 seconds (effective 1060.2 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

C:\Espressif\frameworks\esp-idf-v5.2.1>esptool.py flash_id
esptool.py v4.7.0
Found 1 serial ports
Serial port COM3
Connecting...
Detecting chip type... ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.1)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
MAC: 34:85:18:8c:44:20
Uploading stub...
Running stub...
Stub running...
Manufacturer: 20
Device: 4017
Detected flash size: 8MB
Flash type set in eFuse: quad (4 data lines)
Hard resetting via RTS pin...

C:\Espressif\frameworks\esp-idf-v5.2.1>

More Information.
No response

duplicate issue https://github.com/espressif/esp-who/issues/288 closing. Also this is most probably HW issue the user was instructed to apply for HW exchange.
Cheers!


⚠ Bofrost.at has degraded performance

In c98a40d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1997 ms

Resolved: Bofrost.at performance has improved in a5a4a4d.


REST api - clarification needed for restartPolicy format

In the pods in both v1 and v3 api, the restart policy looks like this:
"restartPolicy": {
"always": {}
}
Why is this a hash inside hash? Shouldn't it be a simple key "restartPolicy" with string value one of: RestartPolicyAlways, RestartPolicyOnFailure, RestartPolicyNever ?

The assumption was that the various policies would soon grow parameters,
which would live in those inner objects.  Given that this has not happened
yet, maybe we should reconsider this design for v1beta3?
@dchen1107 - will we grow params here?  E.g. max number of restarts or
specific failure types?
On Mon, Jan 19, 2015 at 2:57 AM, abonas<EMAIL_ADDRESS>wrote:

In the pods in both v1 and v3 api, the restart policy looks like this:
"restartPolicy": {
"always": {}
}
Why is this a hash inside hash? Shouldn't it be a simple key
"restartPolicy" with string value one of: RestartPolicyAlways,
RestartPolicyOnFailure, RestartPolicyNever ?
--
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/3607.

@thockin : My answer is no, we will not expand these policies.

I'd be happy to have this simplified in v1beta3.

Really?  You know the 800 knobs that we have internally - none of them are
useful?
I'd be happy to see this simplify to a string like the other *Policy
fields, but the conversions and testing will have to be written carefully
(as I discovered this week :)
On Fri, Jan 23, 2015 at 5:23 PM, Brian Grant<EMAIL_ADDRESS>wrote:

@thockin https://github.com/thockin : My answer is no, we will not
expand these policies.
--
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/3607#issuecomment-71293467
.

Really.

Ok, I will clean up this one next week. And we can add  knobs later if someone come up with real good reasons.

I'd like to get this into v1beta3 asap.

@yujuhong is working on #4623, and there might be some overlaps between two issues.


fix: reduce unnecessary filesytem copies when spawning plugins

Here is a video of this branch having two macOS hc check commands work at the same time!
https://github.com/user-attachments/assets/9c4a6355-8817-421e-85e4-00f903140946
To trigger this bug on macOS, the following steps were the easiest way I could find to reliably trigger this

Have a plugin running
While it is still running, copy over the running binary location on disk
Attempt to run this new binary (it will fail)

To avoid this issue, hc now checks the sha256 of the source and destination before copying the files and skips the copy if the hashes are identical

Resolves #600 .

https://github.com/user-attachments/assets/3cd26b75-a576-4e9a-923a-e0642fe00fd8
hc check running simultaneously on the latest code in this branch


redis ConnectionRefusedError

I'm trying sircel to process dropseq data. Everything seems to work except that I get a connection error to redis server, immediately after initialisation is executed. I can reproduce the error within python
>>> import sircel
>>> import redis
>>> sircel.IO_utils.initialize_redis_pipeline(db=0)

Traceback (most recent call last):
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 439, in connect
    sock = self._connect()
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 494, in _connect
    raise err
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 482, in _connect
    sock.connect(socket_address)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/client.py", line 572, in execute_command
    connection.send_command(*args)
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 563, in send_command
    self.send_packed_command(self.pack_command(*args))
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 538, in send_packed_command
    self.connect()
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 442, in connect
    raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 439, in connect
    sock = self._connect()
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 494, in _connect
    raise err
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 482, in _connect
    sock.connect(socket_address)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/sircel-0.1.1-py3.6.egg/sircel/IO_utils.py", line 233, in initialize_redis_pipeline
    redis_db.flushall()
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/client.py", line 648, in flushall
    return self.execute_command('FLUSHALL')
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/client.py", line 578, in execute_command
    connection.send_command(*args)
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 563, in send_command
    self.send_packed_command(self.pack_command(*args))
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 538, in send_packed_command
    self.connect()
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 442, in connect
    raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.

The exception is not raised if I start redis server before sircel execution
$ redis-server &

I'm now trying a full sircel run with redis in background.

I've circumvented the requirement for redis. Hopefully this will make running the software easier in the future

Hi we had a user on our HPC cluster deal with the same exact issue as @saralinker .
Any thoughts on how we can run without redis-server?


Typo on step 4 of add a feed

'notfied' in the blurb section above the form

Two other little things:
[ ] License page: Make the paragraph at the top as wide as the box. It currently flows to page width.
[ ] Success page: Add a couple of line breaks with empty lines so the text is more scannable. Perhaps a blank line between Thanks for submitting and Next, and another one between "...posting on Transitland." and "If you provided contact info..."

:100:


Add mainLetters support

Strip out anything that isnt a space, 35 Letters, or Letter with Pair Bindi.

Do you want to convert ascii codes ^ to K, E to a. etc to etc?
That's what I would recommend. Though ultimately it would be great if for
example a searched for a and E and E could also be used to search
specifically for E.
On Mon, Oct 21, 2019 at 9:51 PM Sarabveer Singh<EMAIL_ADDRESS>wrote:

Strip out anything that isnt a space, 35 Letters, or Letter with Pair
Bindi.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ShabadOS/gurmukhi-utils/issues/104?email_source=notifications&email_token=ADLZ3B4EHQJP6PV4QD4YAKDQPZMDPA5CNFSM4JDJP6JKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HTL4E5A,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADLZ3B46DJDOKP3BSK4BE7DQPZMDPANCNFSM4JDJP6JA
.

Related to https://github.com/ShabadOS/desktop/issues/146 ~ first char to trigger main letters search. @Harjot1Singh you'll have to add logic that the first char in desktop if it's an ascii char ~ to not allow that in the rest of the search and convert to main letters search (There is no word that begins with ~ char so it's okay). If an input had full word search and then the first char entered is ~ perhaps it should sanitize the rest of the query for consistency.

Do you want to convert ascii codes ^ to K, E to a. etc to etc? That's what I would recommend. Though ultimately it would be great if for example a searched for a and E and E could also be used to search specifically for E.
…
On Mon, Oct 21, 2019 at 9:51 PM Sarabveer Singh @.***> wrote: Strip out anything that isnt a space, 35 Letters, or Letter with Pair Bindi. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#104?email_source=notifications&email_token=ADLZ3B4EHQJP6PV4QD4YAKDQPZMDPA5CNFSM4JDJP6JKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HTL4E5A>, or unsubscribe <github.com/notifications/unsubscribe-auth/ADLZ3B46DJDOKP3BSK4BE7DQPZMDPANCNFSM4JDJP6JA> .

I think this might be the best method. It would be just space and 35 Akhars


Passing interpreter when referencing modules on PYTHONPATH

Per @jsirois on #235, opening a new issue.
When using Pex's --python option to build a package whose setup.py references a module in the same directory (for example, import versioneer), the build fails.
@jsirois Linked to https://github.com/pantsbuild/pex/blob/master/pex/resolvable.py#L254-L257 . I'd work on a PR myself, but I'm not super familiar with Pex's inner workings. As a workaround, I've disabled versioneer for all of our pex-built projects.

A workaround is to add a MANIFEST.in:
include versioneer.py
include my_app/_version.py

This appears to be related to #340. I've picked that up and will close this if it fixes. I think it does.

This is now fixed.
My test rig:
# Simple project using versioneer 0.16.0 which was latest at the time of the OP.
# /tmp/issues/235
:; tree
.
├── setup.cfg
├── setup.py
├── src
│   └── myproject
│       ├── __init__.py
│       └── _version.py
└── versioneer.py

3 directories, 5 files

# Works with `python setup.py sdist`:
# /tmp/issues/235
:; python setup.py sdist
running sdist
...
UPDATING myproject-0+untagged.3.g20a2625/src/myproject/_version.py
set myproject-0+untagged.3.g20a2625/src/myproject/_version.py to '0+untagged.3.g20a2625'
creating dist
Creating tar archive
removing 'myproject-0+untagged.3.g20a2625' (and everything under it)

# And now works with Pex too:
# /tmp/issues/235
:; pex -V
2.16.1

:; pex . -o myproject.pex

:; ./myproject.pex -c 'from myproject import __version__; print(__version__)'
0+untagged.3.g20a2625

# Even when not in project dir:
# /tmp/issues/235
:; cd

# ~
:; pex /tmp/issues/235 -o myproject-not-in-cwd.pex

# ~
:; ./myproject-not-in-cwd.pex -c 'from myproject import __version__; print(__version__)'
0+untagged.3.g20a2625