Plex theme broken after Plex update

Describe the bug
A clear and concise description of what the bug is.
The latest Plex update broke the CSS injection and the coding via Nginx Proxy Manager. The theme does not show after the latest plex update. Plex Version 4.66.1 seems to break the CSS injection.
Theme Install Method (Don't skip)

Docker run / Compose Config - Managed via Unraid Server ( unable to pull )
Webserver subfilter Config - Nginx Proxy Manager

proxy_set_header Accept-Encoding "";
sub_filter
''
'<link rel="stylesheet" type="text/css" href="https://theme-park.dev/CSS/themes/plex/plex-base.css">
<link rel="stylesheet" type="text/css" href="https://theme-park.dev/CSS/variables/dark.css">
';
sub_filter_once on;

Application Info (Don't skip)

Version - Nginx-Proxy-Manager-Official
Branch - Latest
Container - jc21/nginx-proxy-manager

To Reproduce
Steps to reproduce the behavior:
Update Plex to the latest version
Expected behavior
For the theme to show, previous versions of Plex worked with the theme, nothing has changed besides Plex updating to the latest version.
Desktop (If applicable) (please complete the following information):

OS: [e.g. iOS] Windows 10, Windows 11
Browser [e.g. chrome, safari] Chrome, FireFox, Edge

Smartphone (If applicable) (please complete the following information):

Device: [e.g. iPhone6] iPhone 11 Pro Max
OS: [e.g. iOS8.1] 15.2 Devloper Build
Browser [e.g. stock browser, safari] Chrome, Safari

Fixed on dev. Test https://develop.theme-park.dev/

So I am seeing the css for the text apply, but I am still not seeing the background apply. Any thoughts?
I did switch over to what you updated to
proxy_set_header Accept-Encoding "";
sub_filter
''
'<link rel="stylesheet" type="text/css" href="https://theme-park.dev/css/base/plex/dark.css">
';
sub_filter_once on;

Here is a snip of what mine shows

Vs the original for the dark them.

FYI: Tested with the other themes as well and they do the same thing. Color for the font, progress bar, watched/unwatched do change to the correct theme. Just no background change.

same here

So I am seeing the css for the text apply, but I am still not seeing the background apply. Any thoughts?
I did switch over to what you updated to
proxy_set_header Accept-Encoding "";
sub_filter
''
'<link rel="stylesheet" type="text/css" href="https://theme-park.dev/css/base/plex/dark.css">
';
sub_filter_once on;

Here is a snip of what mine shows
With CSS
Without CSS
Vs the original for the dark them.

Use the develop domain. https://develop.theme-park.dev/
proxy_set_header Accept-Encoding "";
sub_filter
''
'<link rel="stylesheet" type="text/css" href="https://develop.theme-park.dev/css/base/plex/dark.css">
';
sub_filter_once on;

@GilbN that fixed it.


please update procedure to specify LB SKU as standard.

if the load balancer type is not specified, by default terraform seems to create basic LB.
STANDARD should be the default and to have terraform deploying STANDARD we need to add the network profile
network_profile {
    load_balancer_sku = "Standard"   had to add this to force a Standard ALB; otherwise Basic
    network_plugin = "kubenet"
}

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1a750d14-2f87-914e-8715-fac805c8ba3b
Version Independent ID: f8d16dbe-e594-408c-18d8-26fc95de6c65
Content: Tutorial - Create a Kubernetes cluster with Azure Kubernetes Service (AKS) using Terraform
Content Source: articles/terraform/create-k8s-cluster-with-tf-and-aks.md
Service: terraform
GitHub Login: @TomArcherMsft
Microsoft Alias: tarcher

@porrascarlos802018 The LB has been removed from this article as it will be explained better and be a focal point of a future article.


Add Ruby setup instructions

:tada: This PR is included in version 0.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update module to benefit from Terraform 0.12 features

Mainly this about reducing the amount of code (with and without logs; remove _count vars).
And after that add support for network load balancer type.

v5.0.0 has been just released.
Check UPGRADE-5.0.md for upgrade instructions.


404 Error - Check .htaccess file in the SniperPhish root directory and enable .htaccess support in your web server. Error: 404 Not Found

Please advise....

Did you check and enable .htaccess support as mentioned?


[WIP] Add 2.0 support for report-tsm tool

Closes #10994
(This PR is still WIP because I need to fix an issue with default flag values not being passed down).
Briefly describe your proposed changes:
This PR reworks the 1.x influx_inspect report tool for 2.0, where it will now be invoked via influx debug report-tsm.
The tool will work across a set of TSM files within a data directory. By default it will look in $HOME/.influxdbv2/engine/data.
One of the main differences between this tool and the 1.x one is that you can filter by organisation and bucket ids, and the measurements are promoted from tag keys.
Another of the improvements made is to enable the report to be run programmatically. Rather than emitting data to stdout the results are compiled into a ReportSummary type, which can be inspected by other tools or tests.
It works as follows:
This command will analyze TSM files within a storage engine
directory, reporting the cardinality within the files as well as the time range that
the point data covers.

This command only interrogates the index within each file, and does not read any
block data. To reduce heap requirements, by default report-tsm estimates the overall
cardinality in the file set by using the HLL++ algorithm. Exact cardinalities can
be determined by using the --exact flag.

For each file, the following is output:

	* The full filename;
	* The series cardinality within the file;
	* The number of series first encountered within the file;
	* The minimum and maximum timestamp associated with any TSM data in the file; and
	* The time taken to load the TSM index and apply any tombstones.

The summary section then outputs the total time range and series cardinality for
the fileset. Depending on the --detailed flag, series cardinality is segmented
in the following ways:

	* Series cardinality for each organization;
	* Series cardinality for each bucket;
	* Series cardinality for each measurement;
	* Number of field keys for each measurement; and
	* Number of tag values for each tag key.

Here is an example output, first for estimated cardinalities:
⇒  influx debug report-tsm --data-dir ~/.influxdbv2/engine/data --detailed
File                    Series  New (est) Min Time                    Max Time                    Load Time
000000001-000000001.tsm 350001  349112    2019-01-31T18:45:52.959835Z 2019-01-31T19:06:52.959835Z 123.17074ms
000000002-000000001.tsm 310000  306375  2019-01-31T19:06:52.963435Z 2019-01-31T19:25:28.959835Z 117.613394ms
000000004-000000001.tsm 290001  0       2019-01-31T20:03:31.483904Z 2019-01-31T20:20:55.483904Z 104.11291ms
000000005-000000001.tsm 300000  0       2019-01-31T20:20:55.487504Z 2019-01-31T20:38:55.483904Z 111.52101ms
000000007-000000001.tsm 400001  0       2019-01-31T20:38:55.487504Z 2019-01-31T22:05:00.772231Z 144.619082ms
000000008-000000001.tsm 260000  0       2019-01-31T22:05:00.775831Z 2019-01-31T22:20:36.772231Z 99.787151ms

Summary:
  Files: 6 (0 skipped)
  Series Cardinality (est): 655487
  Time Range: 2019-01-31T18:45:52.959835Z - 2019-01-31T22:20:36.772231Z
  Duration: 3h34m43.812396s

Statistics
  Organizations (1):
     - 03554e2537af5c20: 655487 (est) (100%)
  Total (est): 655487

 Buckets (1):
     - 0003554e2537ef5c: 655487 (est) (100%)
  Total (est): 655487

  Series By Measurements (1):
    - m0: 655487 (est) (100%)

  Fields By Measurements (1):
    - m0: 1 (est)

  Tag Values By Tag Keys (5):
    - tag0: 100 (est)
    - tag1: 10 (est)
    - tag2: 10 (est)
    - tag3: 10 (est)
    - tag4: 7 (est)

Completed in 2.928628684s

And then with exact counts:
⇒  influx debug report-tsm --data-dir ~/.influxdbv2/engine/data --detailed --exact
File                    Series  New     Min Time                    Max Time                    Load Time
000000001-000000001.tsm 350001  350001  2019-01-31T18:45:52.959835Z 2019-01-31T19:06:52.959835Z 22.542931ms
000000002-000000001.tsm 310000  310000  2019-01-31T19:06:52.963435Z 2019-01-31T19:25:28.959835Z 20.247139ms
000000004-000000001.tsm 290001  0       2019-01-31T20:03:31.483904Z 2019-01-31T20:20:55.483904Z 20.016034ms
000000005-000000001.tsm 300000  0       2019-01-31T20:20:55.487504Z 2019-01-31T20:38:55.483904Z 20.138313ms
000000007-000000001.tsm 400001  0       2019-01-31T20:38:55.487504Z 2019-01-31T22:05:00.772231Z 27.80559ms
000000008-000000001.tsm 260000  0       2019-01-31T22:05:00.775831Z 2019-01-31T22:20:36.772231Z 17.617588ms

Summary:
  Files: 6 (0 skipped)
  Series Cardinality: 660001
  Time Range: 2019-01-31T18:45:52.959835Z - 2019-01-31T22:20:36.772231Z
  Duration: 3h34m43.812396s

Statistics
  Organizations (1):
     - 03554e2537af5c20: 660001 (100%)
  Total: 660001

 Buckets (1):
     - 0003554e2537ef5c: 660001 (100%)
  Total: 660001

  Series By Measurements (1):
    - m0: 660001 (100%)

  Fields By Measurements (1):
    - m0: 1

  Tag Values By Tag Keys (5):
    - tag0: 100
    - tag1: 10
    - tag2: 10
    - tag3: 10
    - tag4: 7

Completed in 5.11917876s

@stuartcarnie yeah neither could I. @goller and I discussed it somewhat and decided we would lump everything under debug. I guess another alternative was tools??

debug works for me. Invariably we are debugging something of using them 😆


add instsruction on how to setup mongodb

This PR adds a few small instructions on how to quickly setup a mongodb for development purposes with docker.
Also it fixes/rewords a few small things in the README.

Coverage remained the same at 95.098% when pulling 6f7e89249e6ab9e20e58d66ddb097f3720b5f219 on Shegox:mongodb-setup into d695bcf2d7b492e076d117de1dd4f9a9bdcec1b7 on cla-assistant:master.


Supported browsers?

The lastest PR replaced jQuery-based JSON viewer in favor of HTML Custom Elements based one.
This will break debug viewer on more or less old browsers, so if have to debug something in IE / Edge <= 18 / Firefox <= 63 / Chrome <= 54, most likely you'll have to switch off debug viewer beforehand, debug and turn it on afterwards.
So, it's better to decide and document, which browsers are supported and which will give you more pain in the neck.
Additional info

Q
A

Version
pre-1.0

PHP version
any

Operating system
any

I'd leave it as is for now. We may adjust it later if there will be real use-cases.


Drop received data after wrote end

Similar to https://github.com/ssb-js/muxrpc/pull/77, this is @clehner's PR but I'm just putting it up here on GitHub.
PS: it seems that tests don't pass, so I'll mark this as draft.

The tests are rather strange. They seem to actually depend on this behaviour where values will be written after a close.
The output inside b.read starts with end = true.


Infracost docker image runs with root

Infracost docker image requires to be started with root or to create a child image with dedicated user created.
If I try to run it with other user:
$ docker run -it --rm --entrypoint sh -v ~/src/\[other\]/opa-tf/tmp/tfplan.json:/tfplan.json -u 1000:1000 infracost/infracost

it throws a segmentation fault:
/root $ infracost breakdown --format json --path /tfplan.json
Error: mkdir /.config: permission denied
panic: runtime error: invalid memory address or nil pointer dereference
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xd039f7]

goroutine 1 [running]:
github.com/infracost/infracost/internal/apiclient.ReportCLIError(0x0, 0x13a3020, 0xc0001c0cc0, 0x44df2c, 0x20)
	/app/internal/apiclient/errors.go:12 +0x37
main.handleCLIError(0x0, 0x13a3020, 0xc0001c0cc0)
	/app/cmd/infracost/main.go:156 +0x79
main.main.func1(0xc000135ec8, 0x0, 0xc000074120)
	/app/cmd/infracost/main.go:32 +0xbf
panic(0xf359a0, 0x192a8f0)
	/usr/local/go/src/runtime/panic.go:965 +0x1b9
github.com/infracost/infracost/internal/config.(*RunContext).SetContextValue(...)
	/app/internal/config/run_context.go:55
main.main.func2(0xc000195b80, 0xc0001be6c0, 0x0, 0x4, 0x0, 0x0)
	/app/cmd/infracost/main.go:67 +0x66
github.com/spf13/cobra.(*Command).execute(0xc000195b80, 0xc0001be680, 0x4, 0x4, 0xc000195b80, 0xc0001be680)
	/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:831 +0x582
github.com/spf13/cobra.(*Command).ExecuteC(0xc000195400, 0x351, 0xc000135ee8, 0x7)
	/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
	/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:897
main.main()
	/app/cmd/infracost/main.go:121 +0xb79
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xd05546]

goroutine 6 [running]:
github.com/infracost/infracost/internal/update.skipUpdateCheck(0x0, 0x0)
	/app/internal/update/update.go:93 +0x26
github.com/infracost/infracost/internal/update.CheckForUpdate(0x0, 0x0, 0x0, 0x0)
	/app/internal/update/update.go:30 +0x32
main.startUpdateCheck.func1(0x0, 0xc000074120)
	/app/cmd/infracost/main.go:126 +0x38
created by main.startUpdateCheck
	/app/cmd/infracost/main.go:125 +0x49

Thanks @camaeel I've been able to reproduce it. As a workaround at the moment you can add something like -e HOME=/tmp to the Docker command.

Thanks, @aliscott
Workaround, works like a charm.

FWIW, this issue also popped-up when @sinabakh was working on the https://github.com/infracost/infracost-jenkins integration, though in there we went with --user=root to work around it.

It would be great if we could create an image with a non-root user.

Thanks for reporting this @camaeel 😄. I've merged a fix in https://github.com/infracost/infracost/pull/862 that will be in the next release.

Should we create a new ticket to update all of Dockerfiles to run as non-root? There's no reason they'd need root, right?


Error when building from source

Environment

Tesseract Version: 4.1.1
Commit Number: 7510304 (Downloaded the source code zip from here)
Platform: Ubuntu 18.04.3 LTS (Bionic Beaver) 64-bit

Current Behavior:
After downloading, and unzipping the file, I run:
$ ./autogen.sh
$ ./configure
$ make
However, the make command ends up returning the following error:
/opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -llept
collect2: error: ld returned 1 exit status
Reaping losing child 0x55df97727ad0 PID 88552
make[2]: *** [Makefile:543: libtesseract.la] Error 1
Removing child 0x55df97727ad0 PID 88552 from chain.
make[2]: Leaving directory '/home/tesseract-4.1.1/src/api'
Reaping losing child 0x56080c2f40f0 PID 88512
make[1]: *** [Makefile:501: all-recursive] Error 1
Removing child 0x56080c2f40f0 PID 88512 from chain.
make[1]: Leaving directory '/home/tesseract-4.1.1'
Reaping losing child 0x55bdb1945eb0 PID 88511
make: *** [Makefile:410: all] Error 2
Removing child 0x55bdb1945eb0 PID 88511 from chain.
Let me know if more information is necessary.
Expected Behavior:
Command should run successfully.
Suggested Fix:
Initially, given the "cannot find -llept" message, I assumed it had something to do with leptonica. But it has already been installed, as seen from the execution below:
$ sudo apt-get install -y libleptonica-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libleptonica-dev is already the newest version (1.78.0-1+nmu1ppa1~bionic1).
0 upgraded, 0 newly installed, 0 to remove and 203 not upgraded.

/opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld:

This indicates that you are not using standard build system, but some alternative -> This is not tesseract problem but problem of your own setup and we can not do nothing with it.


[BUG - Release] NotifyOnNewObject not removing callback

Branch or Release
DEV-UE4SS_v3.0.1
Game and Engine Version
Palworld v<IP_ADDRESS>710
UE 5.1
Describe the bug
NotifyOnNewObject should remove its callback when that callback returns true. The callback continues to be executed every time a new object is created.
Mods directory
N/A
Desktop:
Win10
To Reproduce
Run this code from the docs and look at the console when launching the game
NotifyOnNewObject("/Script/Engine.Actor", function(ConstructedObject)
    print(string.format("Actor Constructed: %s\n", ConstructedObject:GetFullName()))

    -- Unregister this callback after the first actor is found,
    -- meaning this current function will only be called exactly once
    return true
end)

On launch, I see in the console
[22:43:46] [Lua] Actor Constructed: BP_Player_ForUI_C /Game/Pal/Blueprint/UI/SceneCaptureWidget/BP_PalPlayerCaptureSet.BP_PalPlayerCaptureSet_C:ChildActor_GEN_VARIABLE.ChildActor_GEN_VARIABLE_BP_Player_ForUI_C_CAT
[22:43:46] [Lua] Actor Constructed: BP_PalWorldSettings_C /Temp/Untitled_0.Untitled:PersistentLevel.BP_PalWorldSettings_C
[22:43:46] [Lua] Actor Constructed: BuoyancyManager /Temp/Untitled_0.Untitled:PersistentLevel.BuoyancyManager_2147482517
...

And about 2 dozen more
Additional context
Also worth noting, the docstring and type annotations for NotifyOnNewObject in Types.lua make no indication that I should be able to stop additional callbacks where the docs page says I should
From Types.lua
---Executes the provided Lua function whenever an instance of the provided class is constructed.
---Inheritance is taken into account, so if you provide "/Script/Engine.Actor" as the class then it will execute your
---Lua function when any object is constructed that's either an AActor or is derived from AActor.
---@param UClassName string
---@param Callback fun()
function NotifyOnNewObject(UClassName, Callback) end

From the docs

Callback Return Value
# | Type | Information
1 | boolean | If true, remove the current callback from listening to any more notifications

You're using the dev docs, which is only accurate for the next release of UE4SS.
This feature is part of the next version of UE4SS which has not yet been officially released.
You can find experimental builds of this version here: https://github.com/UE4SS-RE/RE-UE4SS/releases/tag/experimental
Scroll down to assets, and keep scrolling until you find a recent date.
Use the non-dev docs instead if your mod is targeting the current release of UE4SS.


Fix gazetteer.Place.json export

Loading json fixtures in https://github.com/Living-with-machines/lwmdb requires a correct ordering. Thus far, making created_at and modified_at optional is required see #8. Once modified, json provided for gazetteer works in the following order:

gazetteer.AdminCounty.json
gazetteer.HistoricCounty.json
gazetteer.Country.json

But fails loading gazetteer.Place.json:
  File "/usr/local/lib/python3.11/site-packages/django/core/management/commands/loaddata.py", line 102, in handle
    self.loaddata(fixture_labels)
  File "/usr/local/lib/python3.11/site-packages/django/core/management/commands/loaddata.py", line 163, in loaddata
    self.load_label(fixture_label)
  File "/usr/local/lib/python3.11/site-packages/django/core/management/commands/loaddata.py", line 251, in load_label
    for obj in objects:
  File "/usr/local/lib/python3.11/site-packages/django/core/serializers/json.py", line 70, in Deserializer
    yield from PythonDeserializer(objects, **options)
  File "/usr/local/lib/python3.11/site-packages/django/core/serializers/python.py", line 163, in Deserializer
    raise base.DeserializationError.WithData(
django.core.serializers.base.DeserializationError: Problem installing fixture '/app/gazetteer/fixtures/gazetteer.Place.json': ['“” value must be an integer.']: (gazetteer.place:pk=1) field_value was ''

The fixture file does include pk fields though (first entry for example):
[{"pk": 1, "model": "gazetteer.place", "fields": {"wikidata_id": "Q1000115", "label": "Faversham", "latitude": 51.3177, "longitude": 0.8928, "geonames_ids": "['2649    622', '7297621']", "historic_county": 1.0, "admin_county": "", "country": 1.0}}]

I think this one + my previous commit today should fix this...? https://github.com/Living-with-machines/alto2txt2fixture/commit/b86be8734830f2b3fde67c8167e54b6f31a2fdb7

I think this may actually be an issue with the admin_county fields being '', except for one record:
      pk wikidata_id      label  latitude  ...  admin_county country                        created_at                        updated_at
566  567      Q24826  Liverpool   53.4075  ...           1.0     1.0  2023-06-05 16:45:57.185621+00:00  2023-06-05 16:45:57.185621+00:00

I think the error might be that admin_county should be a ForeignKey integer, and that a str (even an empty str) is not a valid option. Have attempted replacing that with a null json value but that hasn't solved it (though might have gotten further through the validation process).

@AoifeHughes: dim memory of this being a case of replacing an empty str ("") with null for it to work within Django.

wait so it needs changed or no?

 Same error:
{"pk": 1, "model": "gazetteer.place", "fields": {"wikidata_id": "Q1000115", "label": "Faversham", "latitude": 51.3177, "lon    gitude": 0.8928, "geonames_ids": "['2649622', '7297621']", "historic_county": 1.0, "admin_county": "", "country": 1.0, "crea    ted_at": "2023-07-17 02:26:43.736565+00:00", "updated_at": "2023-07-17 02:26:43.736565+00:00"}}

So as best I can glean: either there's something wrong with the way this is constructed and the admin_county should be filled in or we alter the lwmdb field to make that optional.

Just noticed: wondering if those geonames should be a list of ints rather than a str.

Looks fixed in d9e7024 by enforcing null rather than "" for null foreign key results. Will close when https://github.com/Living-with-machines/alto2txt2fixture/pull/28 is merged.


The main anchor can't receive message from anchor C.

To begin with, I use the Arduino UNO R3. and use 5V to supply the DW1000 chips.
The situation is that, main anchor can range with the tag, and so does the anchor B, so main anchor can receive the ranging report from anchor B.
However, main anchor can't receive message from anchor C, even I tried to use different DW1000 chips to have the test, the main anchor still can't find anchor C. So, this might not be a hardware problem.

Try to print out the message on tag, and found it only receive the message from anchor B for once, seem like it doesn't receive the ranging confirm message. But the main anchor can receive the ranging report message, and anchor B can print out the ranging result.

The problem can be solved by add a delay between the transmitActivityFinished() and transmitRangeReport() these two method like this,

If you sending the message from MCU to DW1000 chip too frequently, this might cause a problem.
When the chip is deal with the old message when you send in a new message to the chip, it will lost the first message and only send out the second messages, so main anchor can receive ranging report but tag can't receive ranging confirm.

I think that this Issue should be closed. Fixed with #127

Yeah, thank you for reminding。


Upgraded OpenTelemetry SDK

What was changed
OpenTelemetry SDK was upgraded to version 1
Why?
The OpenTelemetry auto instrumentation extension has changed its name in commit https://github.com/open-telemetry/opentelemetry-php-instrumentation/commit/3dc12db24f9e4fba5e366587d149bbd962230aa1 from otel_instrumentation to opentelemetry.
As this extension is marked as required in the SQK, it creates some incompatibility with recent versions of auto instrumentation libraries.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Grégory Planchat seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Grégory Planchat seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks.

Thanks @roxblnfk for the quick merge.
Packagist did not receive any update, is this on purpose to create a new branch?

Note that currently it operates in blocking mode, so using OpenTelemetryWorkflowOutboundRequestInterceptor might not be the best idea.

Noted. Thanks.


android support repository

Hey, guys when I run the build in my installed android studio it's showing
Could not find any version that matches com.android.support:appcompat-v7:29.+.
Versions that do not match:

26.0.0-alpha1
25.3.1
25.3.0
25.2.0
25.1.1

50 more
Required by:
project :app

Please install the Android Support Repository from the Android SDK Manager.
how should I fix it?

i am also facing the same issue


Cannot detect multiple DataMatrix symbols

I compiled the master branch with the commit https://github.com/zxing-cpp/zxing-cpp/commit/698a7c534bfe5537e4ecbf64a2b3e82416f279b0
It is good to decode each of the two datamatrix in the image if we separate them and feed it into ZXingReader.exe

However, ZXingReader.exe only decodes one of them when we feed the above image into the program.

See #386

@duanqn Thanks! It is indeed a duplicate question :)

Closing this ticket since it is duplicated

I reopen this issue to help other people find the information and hopefully not open the next duplicate. It is indeed an 'open' issue in this sense.

Never mind. Decided it makes more sens to reopen #386 as that contains the actual info on how to work around the problem.


Fix issue with inaccessible background tabs

I replaced all calls to page.dispatchMessage with a new dispatchMessage function. This function checks to make sure the extension has permission to access the tab before trying to dispatch a message to it, which prevents Favorites/Top Sites or file:// pages from breaking vimari. Additionally, this lets us dispatch messages to a tab's Reader view, opening up the possibility of having vimari run in Reader (I'll open up a separate issue with details on how to get Reader support working).
Fixes #47

Sounds good. I'm travelling at the moment, will take a look at this on
Monday. Thanks!
On 20 Feb 2015 08:10, "Clinton Strong"<EMAIL_ADDRESS>wrote:

I replaced all calls to page.dispatchMessage with a new dispatchMessage
function. This function checks to make sure the extension has permission to
access the tab before trying to dispatch a message to it, which prevents
Favorites/Top Sites or file:// pages from breaking vimari. Additionally,
this lets us dispatch messages to a tab's Reader view, opening up the
possibility of having vimari run in Reader (I'll open up a separate issue
with details on how to get Reader support working).
Fixes #47 https://github.com/guyht/vimari/issues/47
You can view, comment on, or merge this pull request online at:
https://github.com/guyht/vimari/pull/52
Commit Summary

Fix issue with inaccessible background tabs

File Changes

M vimari.safariextension/global.html
https://github.com/guyht/vimari/pull/52/files#diff-0 (23)

Patch Links:

https://github.com/guyht/vimari/pull/52.patch
https://github.com/guyht/vimari/pull/52.diff

—
Reply to this email directly or view it on GitHub
https://github.com/guyht/vimari/pull/52.


Add memories mode to all chat plugins

I noticed at the Hackathon that many people were confused/sad that the "chat" plugins don't activate for memories. I added a "memories" mode for those plugins so it works more as expected. I also just think they would be fun plugins.

Plugins should be able to be memories or chat based, or both. This doesn't fix it, and is modifying what the plugin developer wants.
We need to improve the experience to make it clearer.


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/105994

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/106264


[AMBARI-24237] UI Install: Custom Yarn Capacity Scheduler property set is missing after deploy

What changes were proposed in this pull request?
New properties added in capacity-scheduler should be marked as user added property and should not be discarded
How was this patch tested?
Manually tested on a cluster.
21797 passing (24s)
48 pending

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2960/
Test PASSed.


Getting started guide

Looked all around the repo for a getting started guide. Would be nice to have a guide.
I'm keen to build a strategy that listens to pending txs in the mempool and does something (not yet sure, what). Is there a collector for to get all pending txs? Where can I find this?
If a collector doesn't exist, I'm happy to contribute one with some pointers. Thank you.

Thanks for the feedback, we'll add a getting started guide. For now, I would suggest looking at this, which is an end to end example of running an NFT arbitrage strategy.
Collectors live in artemis-core, here is a mempool collector which listens to pending txs. LMK if any other questions come up.

I wrote a blog post about this: https://mteam88.github.io/posts/how-to-use-the-artemis-mev-framework/


Fix a typo in a documentation

@mrietveld here it is.
Marian

@mrietveld I have noticed that this is completely new PR. Should I rename it as the previous #415 ?

@MarianMacik Sorry for all the confusion! I'll fix it in my PR.
(Please close this. )


etcd cluster losing consensus

We run a 3 node etcd cluster, running since Jan 2016 just fine, with out much changes (aside from updating to etcd 2.3.0). Around the time of the failure, we see these log-lines on the servers:
etcd-prd-1-1
016-08-26 22:23:14.403390 I | fileutil: purged file /usr/local/var/run/etcd/member/snap/0000000000000002-00000000009a211b.snap successfully
2016-08-26 22:30:46.100648 I | raft: 8d7c6a52ff1dd17e is starting a new election at term 2
2016-08-26 22:30:46.100804 I | raft: 8d7c6a52ff1dd17e became candidate at term 3
2016-08-26 22:30:46.100842 I | raft: 8d7c6a52ff1dd17e received vote from 8d7c6a52ff1dd17e at term 3
2016-08-26 22:30:46.100886 I | raft: 8d7c6a52ff1dd17e [logterm: 2, index: 10157693] sent vote request to 4810d4356fa22a49 at term 3
2016-08-26 22:30:46.100906 I | raft: 8d7c6a52ff1dd17e [logterm: 2, index: 10157693] sent vote request to eb9c9807f4feeb26 at term 3
2016-08-26 22:30:46.100947 I | raft: raft.node: 8d7c6a52ff1dd17e lost leader eb9c9807f4feeb26 at term 3
2016-08-26 22:30:46.106525 I | raft: 8d7c6a52ff1dd17e received vote from 4810d4356fa22a49 at term 3
2016-08-26 22:30:46.106570 I | raft: 8d7c6a52ff1dd17e [quorum:2] has received 2 votes and 0 vote rejections
2016-08-26 22:30:46.106626 I | raft: 8d7c6a52ff1dd17e became leader at term 3
2016-08-26 22:30:46.106654 I | raft: raft.node: 8d7c6a52ff1dd17e elected leader 8d7c6a52ff1dd17e at term 3
2016-08-26 22:30:47.189135 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.189280 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.314452 W | etcdserver: failed to reach the peerURL(http://etcd-prd-1-3:2380) of member eb9c9807f4feeb26 (Get http://etcd-prd-1-3:2380/version: dial tcp <IP_ADDRESS>:2380: i/o timeout)
2016-08-26 22:30:47.314546 W | etcdserver: cannot get the version of member eb9c9807f4feeb26 (Get http://etcd-prd-1-3:2380/version: dial tcp <IP_ADDRESS>:2380: i/o timeout)
2016-08-26 22:30:47.474298 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.474435 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.474494 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.475969 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.476052 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.575732 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.585210 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.593943 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.604141 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.675729 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.775882 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.843421 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.876025 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.876163 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.975807 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.075637 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.175905 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.275743 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.302904 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.320538 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.320621 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.324407 I | raft: 8d7c6a52ff1dd17e [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:49.878816 I | raft: 8d7c6a52ff1dd17e [term: 3] received a MsgVote message with higher term from eb9c9807f4feeb26 [term: 4]
2016-08-26 22:30:49.878931 I | raft: 8d7c6a52ff1dd17e became follower at term 4
2016-08-26 22:30:49.878987 I | raft: 8d7c6a52ff1dd17e [logterm: 3, index: 10157723, vote: 0] rejected vote from eb9c9807f4feeb26 [logterm: 2, index: 10157706] at term 4
2016-08-26 22:30:49.879014 I | raft: raft.node: 8d7c6a52ff1dd17e lost leader 8d7c6a52ff1dd17e at term 4
2016-08-26 22:30:50.978460 I | raft: 8d7c6a52ff1dd17e [term: 4] received a MsgVote message with higher term from eb9c9807f4feeb26 [term: 5]
2016-08-26 22:30:50.978616 I | raft: 8d7c6a52ff1dd17e became follower at term 5
2016-08-26 22:30:50.978648 I | raft: 8d7c6a52ff1dd17e [logterm: 3, index: 10157723, vote: 0] rejected vote from eb9c9807f4feeb26 [logterm: 2, index: 10157706] at term 5
2016-08-26 22:30:51.984444 I | raft: 8d7c6a52ff1dd17e [term: 5] received a MsgVote message with higher term from 4810d4356fa22a49 [term: 6]
2016-08-26 22:30:51.984573 I | raft: 8d7c6a52ff1dd17e became follower at term 6
2016-08-26 22:30:51.984633 I | raft: 8d7c6a52ff1dd17e [logterm: 3, index: 10157723, vote: 0] voted for 4810d4356fa22a49 [logterm: 3, index: 10157723] at term 6
2016-08-26 22:30:51.987905 I | raft: raft.node: 8d7c6a52ff1dd17e elected leader 4810d4356fa22a49 at term 6
2016-08-26 22:30:52.078471 I | raft: 8d7c6a52ff1dd17e [logterm: 6, index: 10157745, vote: 4810d4356fa22a49] rejected vote from eb9c9807f4feeb26 [logterm: 2, index: 10157706] at term 6
2016-08-26 22:30:52.104081 E | etcdhttp: got unexpected response error (etcdserver: request timed out)
2016-08-26 22:30:53.278923 I | raft: 8d7c6a52ff1dd17e [term: 6] received a MsgVote message with higher term from eb9c9807f4feeb26 [term: 7]
2016-08-26 22:30:53.279093 I | raft: 8d7c6a52ff1dd17e became follower at term 7
2016-08-26 22:30:53.279155 I | raft: 8d7c6a52ff1dd17e [logterm: 6, index: 10157756, vote: 0] rejected vote from eb9c9807f4feeb26 [logterm: 2, index: 10157706] at term 7
2016-08-26 22:30:53.279194 I | raft: raft.node: 8d7c6a52ff1dd17e lost leader 4810d4356fa22a49 at term 7
2016-08-26 22:30:53.899182 E | etcdhttp: got unexpected response error (etcdserver: request timed out) [merged 6 repeated lines in 1.8s]
2016-08-26 22:30:54.400683 I | raft: 8d7c6a52ff1dd17e is starting a new election at term 7
2016-08-26 22:30:54.400803 I | raft: 8d7c6a52ff1dd17e became candidate at term 8
2016-08-26 22:30:54.400837 I | raft: 8d7c6a52ff1dd17e received vote from 8d7c6a52ff1dd17e at term 8

etcd-prd-1-2
016-08-26 22:30:46.103776 I | raft: 4810d4356fa22a49 [term: 2] received a MsgVote message with higher term from 8d7c6a52ff1dd17e [term: 3]
2016-08-26 22:30:46.103957 I | raft: 4810d4356fa22a49 became follower at term 3
2016-08-26 22:30:46.104005 I | raft: 4810d4356fa22a49 [logterm: 2, index: 10157693, vote: 0] voted for 8d7c6a52ff1dd17e [logterm: 2, index: 10157693] at term 3
2016-08-26 22:30:46.104033 I | raft: raft.node: 4810d4356fa22a49 lost leader eb9c9807f4feeb26 at term 3
2016-08-26 22:30:46.107146 I | raft: raft.node: 4810d4356fa22a49 elected leader 8d7c6a52ff1dd17e at term 3
2016-08-26 22:30:47.189104 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.189251 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.474361 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.474460 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.474546 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.475978 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.476059 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.575754 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.585208 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.594328 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.604090 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.676037 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.775811 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.843471 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.875927 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.876064 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:47.975804 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.075736 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.175852 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.275689 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgHeartbeat message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.302913 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.320634 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.320733 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:48.324425 I | raft: 4810d4356fa22a49 [term: 3] ignored a MsgApp message with lower term from eb9c9807f4feeb26 [term: 2]
2016-08-26 22:30:49.878649 I | raft: 4810d4356fa22a49 [term: 3] received a MsgVote message with higher term from eb9c9807f4feeb26 [term: 4]
2016-08-26 22:30:49.878739 I | raft: 4810d4356fa22a49 became follower at term 4
2016-08-26 22:30:49.878802 I | raft: 4810d4356fa22a49 [logterm: 3, index: 10157723, vote: 0] rejected vote from eb9c9807f4feeb26 [logterm: 2, index: 10157706] at term 4
2016-08-26 22:30:49.878844 I | raft: raft.node: 4810d4356fa22a49 lost leader 8d7c6a52ff1dd17e at term 4
2016-08-26 22:30:50.978349 I | raft: 4810d4356fa22a49 [term: 4] received a MsgVote message with higher term from eb9c9807f4feeb26 [term: 5]
2016-08-26 22:30:50.978527 I | raft: 4810d4356fa22a49 became follower at term 5
2016-08-26 22:30:50.978587 I | raft: 4810d4356fa22a49 [logterm: 3, index: 10157723, vote: 0] rejected vote from eb9c9807f4feeb26 [logterm: 2, index: 10157706] at term 5
2016-08-26 22:30:51.981532 I | raft: 4810d4356fa22a49 is starting a new election at term 5
2016-08-26 22:30:51.981635 I | raft: 4810d4356fa22a49 became candidate at term 6
2016-08-26 22:30:51.981677 I | raft: 4810d4356fa22a49 received vote from 4810d4356fa22a49 at term 6
2016-08-26 22:30:51.981725 I | raft: 4810d4356fa22a49 [logterm: 3, index: 10157723] sent vote request to 8d7c6a52ff1dd17e at term 6
2016-08-26 22:30:51.981746 I | raft: 4810d4356fa22a49 [logterm: 3, index: 10157723] sent vote request to eb9c9807f4feeb26 at term 6
2016-08-26 22:30:51.987070 I | raft: 4810d4356fa22a49 received vote from 8d7c6a52ff1dd17e at term 6
2016-08-26 22:30:51.987151 I | raft: 4810d4356fa22a49 [quorum:2] has received 2 votes and 0 vote rejections
2016-08-26 22:30:51.987222 I | raft: 4810d4356fa22a49 became leader at term 6
2016-08-26 22:30:51.987307 I | raft: raft.node: 4810d4356fa22a49 elected leader 4810d4356fa22a49 at term 6
2016-08-26 22:30:52.078389 I | raft: 4810d4356fa22a49 [logterm: 6, index: 10157745, vote: 4810d4356fa22a49] rejected vote from eb9c9807f4feeb26 [logterm: 2, index: 10157706] at term 6
2016-08-26 22:30:52.302789 E | etcdhttp: got unexpected response error (etcdserver: request timed out)
2016-08-26 22:30:53.278875 I | raft: 4810d4356fa22a49 [term: 6] received a MsgVote message with higher term from eb9c9807f4feeb26 [term: 7]
2016-08-26 22:30:53.278995 I | raft: 4810d4356fa22a49 became follower at term 7
2016-08-26 22:30:53.279058 I | raft: 4810d4356fa22a49 [logterm: 6, index: 10157756, vote: 0] rejected vote from eb9c9807f4feeb26 [logterm: 2, index: 10157706] at term 7
2016-08-26 22:30:53.279084 I | raft: raft.node: 4810d4356fa22a49 lost leader 4810d4356fa22a49 at term 7
2016-08-26 22:30:53.872098 E | etcdhttp: got unexpected response error (etcdserver: request timed out) [merged 5 repeated lines in 1.57s]
2016-08-26 22:30:54.403682 I | raft: 4810d4356fa22a49 [term: 7] received a MsgVote message with higher term from 8d7c6a52ff1dd17e [term: 8]
2016-08-26 22:30:54.403802 I | raft: 4810d4356fa22a49 became follower at term 8
2016-08-26 22:30:54.403858 I | raft: 4810d4356fa22a49 [logterm: 6, index: 10157756, vote: 0] voted for 8d7c6a52ff1dd17e [logterm: 6, index: 10157756] at term 8
2016-08-26 22:30:54.407115 I | raft: raft.node: 4810d4356fa22a49 elected leader 8d7c6a52ff1dd17e at term 8
2016-08-26 22:30:54.678107 I | raft: 4810d4356fa22a49 [logterm: 8, index: 10157776, vote: 8d7c6a52ff1dd17e] rejected vote from eb9c9807f4feeb26 [logterm: 2, index: 10157706] at term 8

etcd-prd-1-3
016-08-26 22:30:47.181660 W | etcdserver: failed to send out heartbeat on time (deadline exceeded for 2.206153235s)
2016-08-26 22:30:47.181941 W | etcdserver: server is likely overloaded
2016-08-26 22:30:47.182036 W | etcdserver: failed to send out heartbeat on time (deadline exceeded for 2.206559003s)
2016-08-26 22:30:47.182053 W | etcdserver: server is likely overloaded
2016-08-26 22:30:47.190095 W | etcdserver: failed to reach the peerURL(http://etcd-prd-1-2:2380) of member 4810d4356fa22a49 (Get http://etcd-prd-1-2:2380/version: read tcp <IP_ADDRESS>:37836-><IP_ADDRESS>:2380: read: connection reset by peer)
2016-08-26 22:30:47.190190 W | etcdserver: cannot get the version of member 4810d4356fa22a49 (Get http://etcd-prd-1-2:2380/version: read tcp <IP_ADDRESS>:37836-><IP_ADDRESS>:2380: read: connection reset by peer)
2016-08-26 22:30:47.191280 W | etcdserver: failed to reach the peerURL(http://etcd-prd-1-1:2380) of member 8d7c6a52ff1dd17e (Get http://etcd-prd-1-1:2380/version: read tcp <IP_ADDRESS>:46260-><IP_ADDRESS>:2380: read: connection reset by peer)
2016-08-26 22:30:47.191339 W | etcdserver: cannot get the version of member 8d7c6a52ff1dd17e (Get http://etcd-prd-1-1:2380/version: read tcp <IP_ADDRESS>:46260-><IP_ADDRESS>:2380: read: connection reset by peer)
2016-08-26 22:30:47.473523 W | etcdserver: failed to send out heartbeat on time (deadline exceeded for 91.888953ms)
2016-08-26 22:30:47.473602 W | etcdserver: server is likely overloaded
2016-08-26 22:30:47.473637 W | etcdserver: failed to send out heartbeat on time (deadline exceeded for 91.601626ms)
2016-08-26 22:30:47.473651 W | etcdserver: server is likely overloaded
2016-08-26 22:30:48.320745 I | raft: eb9c9807f4feeb26 [term: 2] received a MsgVote message with higher term from 8d7c6a52ff1dd17e [term: 3]
2016-08-26 22:30:48.321017 I | raft: eb9c9807f4feeb26 became follower at term 3
2016-08-26 22:30:48.322088 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706, vote: 0] rejected vote from 8d7c6a52ff1dd17e [logterm: 2, index: 10157693] at term 3
2016-08-26 22:30:48.322150 I | raft: raft.node: eb9c9807f4feeb26 lost leader eb9c9807f4feeb26 at term 3
2016-08-26 22:30:49.875440 I | raft: eb9c9807f4feeb26 is starting a new election at term 3
2016-08-26 22:30:49.875573 I | raft: eb9c9807f4feeb26 became candidate at term 4
2016-08-26 22:30:49.875652 I | raft: eb9c9807f4feeb26 received vote from eb9c9807f4feeb26 at term 4
2016-08-26 22:30:49.875714 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 4810d4356fa22a49 at term 4
2016-08-26 22:30:49.875737 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 8d7c6a52ff1dd17e at term 4
2016-08-26 22:30:50.975488 I | raft: eb9c9807f4feeb26 is starting a new election at term 4
2016-08-26 22:30:50.975633 I | raft: eb9c9807f4feeb26 became candidate at term 5
2016-08-26 22:30:50.975684 I | raft: eb9c9807f4feeb26 received vote from eb9c9807f4feeb26 at term 5
2016-08-26 22:30:50.975709 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 4810d4356fa22a49 at term 5
2016-08-26 22:30:50.975727 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 8d7c6a52ff1dd17e at term 5
2016-08-26 22:30:52.075478 I | raft: eb9c9807f4feeb26 is starting a new election at term 5
2016-08-26 22:30:52.075625 I | raft: eb9c9807f4feeb26 became candidate at term 6
2016-08-26 22:30:52.075676 I | raft: eb9c9807f4feeb26 received vote from eb9c9807f4feeb26 at term 6
2016-08-26 22:30:52.075700 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 4810d4356fa22a49 at term 6
2016-08-26 22:30:52.075770 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 8d7c6a52ff1dd17e at term 6
2016-08-26 22:30:53.275475 I | raft: eb9c9807f4feeb26 is starting a new election at term 6
2016-08-26 22:30:53.275631 I | raft: eb9c9807f4feeb26 became candidate at term 7
2016-08-26 22:30:53.275683 I | raft: eb9c9807f4feeb26 received vote from eb9c9807f4feeb26 at term 7
2016-08-26 22:30:53.275718 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 4810d4356fa22a49 at term 7
2016-08-26 22:30:53.275792 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 8d7c6a52ff1dd17e at term 7
2016-08-26 22:30:54.225269 E | etcdhttp: got unexpected response error (etcdserver: request timed out)
2016-08-26 22:30:54.675559 I | raft: eb9c9807f4feeb26 is starting a new election at term 7
2016-08-26 22:30:54.675658 I | raft: eb9c9807f4feeb26 became candidate at term 8
2016-08-26 22:30:54.675690 I | raft: eb9c9807f4feeb26 received vote from eb9c9807f4feeb26 at term 8
2016-08-26 22:30:54.675761 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 4810d4356fa22a49 at term 8
2016-08-26 22:30:54.675809 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 8d7c6a52ff1dd17e at term 8
2016-08-26 22:30:55.868679 E | etcdhttp: got unexpected response error (etcdserver: request timed out) [merged 12 repeated lines in 1.64s]
2016-08-26 22:30:55.975433 I | raft: eb9c9807f4feeb26 is starting a new election at term 8
2016-08-26 22:30:55.975543 I | raft: eb9c9807f4feeb26 became candidate at term 9
2016-08-26 22:30:55.975623 I | raft: eb9c9807f4feeb26 received vote from eb9c9807f4feeb26 at term 9
2016-08-26 22:30:55.975660 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 4810d4356fa22a49 at term 9
2016-08-26 22:30:55.975722 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 8d7c6a52ff1dd17e at term 9
2016-08-26 22:30:56.868689 E | etcdhttp: got unexpected response error (etcdserver: request timed out) [merged 4 repeated lines in 1s]
2016-08-26 22:30:57.375473 I | raft: eb9c9807f4feeb26 is starting a new election at term 9
2016-08-26 22:30:57.375618 I | raft: eb9c9807f4feeb26 became candidate at term 10
2016-08-26 22:30:57.375653 I | raft: eb9c9807f4feeb26 received vote from eb9c9807f4feeb26 at term 10
2016-08-26 22:30:57.375690 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 4810d4356fa22a49 at term 10
2016-08-26 22:30:57.375713 I | raft: eb9c9807f4feeb26 [logterm: 2, index: 10157706] sent vote request to 8d7c6a52ff1dd17e at term 10
2016-08-26 22:30:58.475473 I | raft: eb9c9807f4feeb26 is starting a new election at term 10
2016-08-26 22:30:58.475587 I | raft: eb9c9807f4feeb26 became candidate at term 11

Can anyone provide any pointers as to where we can look? Cluster has been completely fine for months, but this kinda thing has happened twice in the past 2 weeks. CPU usage/load on the nodes were normal according to our metrics during this time.

@jhgg What do you mean by losing consensus? Do you observe inconsistent data? Or you mean there are some leader elections?

The data seems to be consistent, it just stops accepting writes as it cannot elect a leader anymore. It basically gets stuck voting.

We have a script that basically reads from one of the reachable nodes in the cluster, retrieving the the contents of all the keys recursively and dumping them to a json file, firewalling the cluster off from the rest of the network (our services compensate by using stale data for discovery when the cluster is un-reachable) - deleting the data directories and starting a new cluster, then writing the old discovery data back to the cluster before making them reachable again.

Script here: https://gist.github.com/jhgg/6a567c725640785752e24bc9007fa1aa

@jhgg The problem seems to be identical with https://github.com/coreos/etcd/pull/4888. And it is solved in 2.3.2 release.

Interesting. We will perform an upgrade to the latest 2.3.x release tonight and see if it happens anymore.

@jhgg I close this issue. Please reopen if it happens again after the upgrades. You can directly upgrades from 2.3.0 -> 2.3.7. Thanks for reporting.

Thanks for the quick response @xiang90 <3


[AVM Module Issue]: Add support for ignore_change private_dns_zone_group

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Issue Type?
I'm not sure
(Optional) Module Version
0.2.1
(Optional) Correlation Id
No response
Description
On private endpoint module definition is not managed the case of private_dns_zone_group is not present and then lifecycle ignore_changes for example as module https://github.com/Azure/terraform-azurerm-avm-res-web-site/blob/v0.9.0/main.private_endpoints.tf

@RelaxingLoki475 Thank you for reaching out. Are you encountering any errors during the deployment?

In our case the private_dns_zone_group configuration is managed centrally by landing zone. When a private endpoint is deployed it is automatically linked to a private_dns_zone_group. In subsequent applies after the first deployment, Terraform identifies this change as unmanaged and discards it in every apply

@RelaxingLoki475 Thank you for the feedback. We will update the variable with private_endpoints_manage_dns_zone_group within a few days.


Update the location & location_cache logic

Short Description:
Previously, the location_cache can't be used, even people set location_cache to TRUE. Everytime, it starts from the initial position.
Fixes:
Now the bot check the initial position first.
Then check if people set location_cache. If so, read it and update it, otherwise use the initial location.
If there is no initial location and no location cache, print msg and exit.

👍

Looking good. (didn't test it tho)

:+1:


Nick: Watch buysafepills.com

Nick requests the watch of the watch_keyword buysafepills\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

buysafepills\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Antonyms substitute

Add antonyms substitute to the transformation, which facilitates the diversity of the content. Specifically, it will help revert the semantics to an opposite position or uses double negation to express similar semantics.

Hi @ZhexiongLiu thank you for your changes but unfortunately there was already a previous implementation which used antonyms : https://github.com/GEM-benchmark/NL-Augmenter/pull/150
I would suggest to keep a track of previous PRs (merged as well as unmerged) as well as check some of the suggestions here if they are of any help. https://github.com/GEM-benchmark/NL-Augmenter/issues/75
You could also mail us if you would like to clarify beforehand about your transformation!

Hi @ZhexiongLiu thank you for your changes but unfortunately there was already a previous implementation which used antonyms : #150
I would suggest to keep a track of previous PRs (merged as well as unmerged) as well as check some of the suggestions here if they are of any help. #75
You could also mail us if you would like to clarify beforehand about your transformation!

Hi  @kaustubhdhole, thanks for sharing! I agree that #150 is close to our submission, but #150 only focuses on adjectives; however, our submission is a different one that takes care of adjectives, verbs, and nouns. The most interesting part is the double negation, which is beyond #150. Hope you could reconsider our submission. Thanks!

Okay @ZhexiongLiu apologies! Yes, you are good to go then. In that case, it is better to modify a previous transformation. But it's fine this way.

Okay @ZhexiongLiu apologies! Yes, you are good to go then. In that case, it is better to modify a previous transformation. But it's fine this way.

Thanks! Would it be merged into the repo? Is there anything to add, in case you need?

Hi @ZhexiongLiu, we will be shortly assigning reviewers to each of the PRs.

Hi @ZhexiongLiu , I am one of the assigned reviewers for this task. Overall, nice contribution! The transformation, mainly intended for data augmentation purposes, substitutes english content words (V, N, Adj, Adv) to their antonyms via wordnet. I think the readme could be improved, please take a look at the comments. For the code, the keywords are missing. Also, it would be nice to add any robustness evaluation (https://github.com/GEM-benchmark/NL-Augmenter/tree/main/evaluation) results, but the point is that we do not know if the transformation is label preserving, so maybe results could be added for that (label preserving) subset only? Also, the test cases should be increased to at least 5, based on the review criteria (https://github.com/GEM-benchmark/NL-Augmenter/blob/main/docs/doc.md#review-criteria-for-submissions).

Hi @ZhexiongLiu , I am one of the assigned reviewers for this task. Overall, nice contribution! The transformation, mainly intended for data augmentation purposes, substitutes english content words (V, N, Adj, Adv) to their antonyms via wordnet. I think the readme could be improved, please take a look at the comments. For the code, the keywords are missing. Also, it would be nice to add any robustness evaluation (https://github.com/GEM-benchmark/NL-Augmenter/tree/main/evaluation) results, but the point is that we do not know if the transformation is label preserving, so maybe results could be added for the label-preserving subset only? Also, the test cases should be increased to at least 5, based on the review criteria (https://github.com/GEM-benchmark/NL-Augmenter/blob/main/docs/doc.md#review-criteria-for-submissions).

Hi @vyraun, thanks for your suggestion! I have updated the readme to make it more concrete in terms of label preserving. Could you let me know what you mean "keywords are missing" in the code? Regarding the robustness, we noticed that it is optional so we leave it as our further steps as we have no computational resources available to run a large model currently. As for the rest cases, I have increased to 5. Please let us know if you have further questions!

Hi @ZhexiongLiu , I am one of the assigned reviewers for this task. Overall, nice contribution! The transformation, mainly intended for data augmentation purposes, substitutes english content words (V, N, Adj, Adv) to their antonyms via wordnet. I think the readme could be improved, please take a look at the comments. For the code, the keywords are missing. Also, it would be nice to add any robustness evaluation (https://github.com/GEM-benchmark/NL-Augmenter/tree/main/evaluation) results, but the point is that we do not know if the transformation is label preserving, so maybe results could be added for the label-preserving subset only? Also, the test cases should be increased to at least 5, based on the review criteria (https://github.com/GEM-benchmark/NL-Augmenter/blob/main/docs/doc.md#review-criteria-for-submissions).

Hi @vyraun, thanks for your suggestion! I have updated the readme to make it more concrete in terms of label preserving as well as keywords in the code. Regarding the robustness, we noticed that it is optional so we evaluate our transformation on imdb dataset for text classification, which achieved 61 accuracies (previously 96). This is because the sentiment labels are not fully matched but we leave this as our further steps as we have no bandwidth available to run a large model currently. As for the test cases, I have increased to 5. Please let us know if you have further questions!

Thanks @ZhexiongLiu for the changes. The PR is much stronger now, please take a look at the above comment for one more suggested.


[Perf Improve] Copy Apache Geode java.util.concurrent containers to a…

[Perf Improve] Copy Apache Geode java.util.concurrent containers to avoid hot sync locks.
Changes proposed in this pull request
Sync Lock on rootRegion cause a region initial time 25% longer
Observe very hight CPU time in visitStatistics()
Copy these patchs from Apache Geode source code.
Patch testing
Yes
Is precheckin with -Pstore clean?
ReleaseNotes changes
No
Other PRs
No

@crabo Thanks a lot for porting these changes.


Media type in resource relationships

I did a draft search in the issues but was not able to find something relevant.
Would it be considered valid to have media-type inside the type attribute. Example:
{
"data":  {
    "type": "application/vnd.api.articles+json",
    "id": "1",
    "title": "Rails is Omakase",
    "links": {
       "self": "http://example.com/articles/1",
       "author": {
           "self": "http://example.com/articles/1/links/author",
           "related": "http://example.com/articles/1/author",
           "linkage": { "type": "application/vnd.api.people+json", "id": "9" }
       },
       "thumbnail": { "type": "image/png" },
       "comments": "http://example.com/articles/1/comments"
   }
}}

On the above example I have included thumbnail without a uri "meaning" a fallback to self ("http://example.com/articles/1").
My main goal is the client could know the content-type of a resource we link on. Thanks and sorry if late to the party.

The value of type is completely opaque to the spec - any string is acceptable.
It does bump against the recommendations for URL design, but those are just recommendations of course.


88-How Admission Works Page Update-Anthony Mogotlane

Description
Updated the how admission works page so that the user can quickly see the link button on the page to navigate to another page.
Related to
Fixes #88
📸: Screenshots

Checklist:

[x] My code follows the style guidelines of this project
[x] I have carefully reviewed my own code
[x] I have commented my code
[ ] I have updated any documentation

Also not sure why we are using the pipe | symbol at the end of the title is that part of the design?

No it was not agreed on, I was trying to copy the style of the carousel. The pipe seemed cool, but Chezlin will still have to make final updates, according to the final design.


Publish Test Results doesn't produce the code coverage results in summary page

Environment

Server - TFS on-premises
15.117.26714.0

Agent - Private:
2.126.0

Issue Description
We are trying to publish the tests results and code coverage via Publish Test Results task. Tests results are published correctly but not the code coverage results which are not shown in the build results  summary page. There is a zip created as attachment which contains the .trx and .coverage file but this is not what is expected.
We tried with both v1 and v2-preview Publish Test Results tasks - same outcome.
According with a recent issue - https://github.com/Microsoft/vsts-tasks/issues/6316 - this is supposed to work but it doesn't for us.
Error logs
The logs from running v1 (1.0.36)
Preparing task execution handler.
Executing the powershell script: d:\BLD_work_tasks\PublishTestResults_0b0f01ed-7dde-43ff-9cbb-e48954daf9b1\1.0.36\PublishTestResults.ps1
PowerShellHandler.Execute - AddCommand(d:\BLD_work_tasks\PublishTestResults_0b0f01ed-7dde-43ff-9cbb-e48954daf9b1\1.0.36\PublishTestResults.ps1)
PowerShellHandler.Execute - Add inputParameters
PowerShellHandler.Execute - AddParameter(testRunner=VSTest)
PowerShellHandler.Execute - AddParameter(testResultsFiles=d:\BLD_work\13\s\TestResults**.trx)
PowerShellHandler.Execute - AddParameter(mergeTestResults=true)
PowerShellHandler.Execute - AddParameter(testRunTitle=)
PowerShellHandler.Execute - AddParameter(platform=x64)
PowerShellHandler.Execute - AddParameter(configuration=release)
PowerShellHandler.Execute - AddParameter(publishRunAttachments=true)
PowerShellHandler.Execute - Invoke
Entering script PublishTestResults.ps1
Loading module from path 'D:\BLD\externals\vstshost\Microsoft.TeamFoundation.DistributedTask.Task.Internal\Microsoft.TeamFoundation.DistributedTask.Task.Internal.psd1'.
Loading module from path 'D:\BLD\externals\vstshost\Microsoft.TeamFoundation.DistributedTask.Task.Internal\Microsoft.TeamFoundation.DistributedTask.Task.Internal.psm1'.
Loading module from path 'D:\BLD\externals\vstshost\Microsoft.TeamFoundation.DistributedTask.Task.LegacySDK.dll'.
...
Loading module from path 'D:\BLD\externals\vstshost\Microsoft.TeamFoundation.DistributedTask.Task.Common\Microsoft.TeamFoundation.DistributedTask.Task.Common.psd1'.
Loading module from path 'D:\BLD\externals\vstshost\Microsoft.TeamFoundation.DistributedTask.Task.Common\Microsoft.TeamFoundation.DistributedTask.Task.Common.psm1'.
...
Loading module from path 'D:\BLD\externals\vstshost\Microsoft.TeamFoundation.DistributedTask.Task.TestResults\Microsoft.TeamFoundation.DistributedTask.Task.TestResults.psm1'.
..
Pattern found in testResultsFiles parameter.
Find-Files -SearchPattern d:\BLD_work\13\s\TestResults**.trx
FindFiles.FindMatchingFiles(rootFolder = , matchPattern = d:\BLD_work\13\s\TestResults***.trx, includeFiles = True, includeFolders = False
FindFiles.GetMatchingItems(includePatterns.Count = 1, excludePatterns.Count = 0, includeFiles = True, includeFolders = False
FindFiles.GetMatchingItems - Found: d:\BLD_work\13\s\TestResults\XXX_2018-03-08_09_51_10.trx
FindFiles.FindMatchingFiles - Found 1 matches
matchingTestResultsFiles = d:\BLD_work\13\s\TestResults\XXX_2018-03-08_09_51_10.trx
Calling Publish-TestResults
Publishing Test Results...
Get - SecretService and EndpointService from TaskContext
Fetched Endpoint:SystemVssConnection
AuthorizationType : OAuth
VssConnection created
Attachment location: d:\BLD_work\13\s\TestResults\XXX_2018-03-08_09_51_10\In
Setting run start and finish times.
Adding run level attachment: d:\BLD_work\13\s\TestResults\XXX_2018-03-08_09_51_10\In\YYY\XXX 2018-03-08 09_51_05.coverage
Total test results: 4904
Test results remaining: 4904
Test results remaining: 3904
Test results remaining: 2904
Test results remaining: 1904
Test results remaining: 904
Published Test Run : https://ZZZ/_TestManagement/Runs#runId=390214&_a=runCharts
Leaving script PublishTestResults.ps1
Finishing: Publish Test Results
Cheers

Any news here? This should just work but somehow it doesn't.
Or I can publish other types of coverage results but not the one generated by Microsoft's own tools?

@dsbenghe, how are you running your tests and generating the code coverage and trx files? Are you using the VsTest task?
Can you send me screen shots of your definition so i can understand the setup? And maybe some info as well to quickly get me up to speed on what you are trying to do.
Also in tfs 2015 this was the behavior and it was fixed later on. In VSTS this should work fine and in latest version of tfs as well.

We are running the tests via a powershell based build script and the vstest console.
The command line we use is roughly this one  "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" /logger:trx $testAssemblies EnableCodeCoverage /Settings:XXX.runsettings
The .runsettings file is quite simple mostly to exclude some dlls from code coverage via

...

The build steps are just two:

the one for the build script which generates the .trx and .coverage file
the next one running Publish Test Results

We will prefer to do the publish test results and code coverage from the build script - but could not make it working: not sure if this is in fact doable or not. Maybe you can point me into the right direction regarding this if is doable.
Running the tests via VsTest task obviously works and we get the test results and code coverage published and nicely displayed in the summary, but this is not what we want to do.

@dsbenghe I can't help you since you if you are on an older version of tfs as this was already fixed in later versions.
One solution is to upgrade to the latest Tfs.
Also since running via the vstest task works and is the recommended way can you please tell why you can't go ahead with using the vstest task? Is there some limitation? Maybe I can help you accomplish what you need with the vstest task itself.
Are there any additional step you are performing in the ps script that you would like vstest to perform?

@dsbenghe the crux of the issue is that the .codecoverage file is going into the zip and code coverage summary is not generated unless the codecoverage file goes as a standalone attachment and not in a zip file.
You can take a look at the source code for the vstest task or some other task (these are open source) and  maybe attach the code coverage file separately out of the zip from you powershell script as a workaround if you can't move to a later tfs version

We are on 15.117.26714.0 - do you know in what version of TFS is this issue fixed?
We prefer not go with vstest task as a build step as this will defeat the purpose of having a build script (publish test results was a more acceptable compromise).
We tried to publish the tests & code coverage results from the powershell build script via vso commands (the only docs we could find was here - https://github.com/Microsoft/vsts-tasks/blob/master/docs/authoring/commands.md ) but could not make it working (tried ##vso[task.addattachment ..). This is our preferred choice - it will be great if you can point us to the right documentation/place to publish test results & coverage from the powershell build script.
Cheers.

@dsbenghe uploading the attachments that way is unsupported and we will not be able to provide support if something goes wrong.
Call me persistent but in the long run I would still recommend using the vstest task. Whatever you are doing today via the powershell script you can do the same via vstest task. You can set output variable in your powershell script and use them as inputs to the vstest task which quite simply put invokes vstest console and publishes the result.
You can still retain your powershell script and only move the testing logic to the vstest task whose job it is to run and publish your results.
I did a bit of digging and you can not add attachments to a test run via an agent command. You have to go via the TestManagement apis to do this. And a simple script won't cut it as there a lot of inputs you need to provide. Again reiterating why you need a script to run tests when a complete solution already exists.
I tried looking at the commits to figure out when we made this fix but couldn't pinpoint which version exactly. But I do know that this works in the latest 2017 update 3 version of tfs.

@dsbenghe I can assist you if you want help in moving to the vstest task but otherwise I'll be closing this issue as we have fixed it already.

Call me crazy to be that persistent :) but there are quite a bit of reasons to run tests from the build script.
Thanks for all the very valuable info - at least now we know what is working and what is not working and we can take a decision on what route we go:

run vstest task build step as you suggested
still do publish test results as now but without coverage and get the coverage reported via different tool.
try to upgrade tfs to update 3

@dsbenghe I'm closing this issue then. Reach out if you face any issues in case you move to the vstest task or if you upgrade and find it is not working.

Hi, I am facing issue with code coverage on VSTS (Azure DevOps). Pipeline throws error : "No code coverage attachments were found from the trx files". But when used command "vstest.console.exe H:\Agent8\31\s\GEP-Order-2.0\OrderService\OrderMSTest\bin\Release\OrderMSTest.dll /logger:trx /EnableCodeCoverage" on  Visual Studio Command Prompt it generates CodeCoverage.
Can you please help on how can add this to my build pipeline to get Coverage.
Thanks in advance.


Improve class_for_platform regex in MiqProvisionWorkflow

I saw this while refactoring specs, and thought I would come back to it. Currently it's using this regex within the class_for_platform singleton method:
if classy =~ /(.*)Infra/
However, without anchoring, I cannot see a practical difference over just:
if classy =~ /Infra/, which is really just classy.include?("Infra")
The downside of the first one, though, is that it's going to add some backtracking that is inefficient. Using String#include? is faster.
require 'benchmark'

Benchmark.bm(20) do |x|
  MAX = 1000000
  classy = "ManageIQ::Providers::Infra::SomethingManager"

  x.report("classy =~ /(.*)Infra/") do
    MAX.times{ classy =~ /(.*)Infra/ }
  end

  x.report("classy =~ /Infra/") do
    MAX.times{ classy =~ /Infra/ }
  end

  x.report("/(.*)Infra/.match?(classy)") do
    MAX.times{ /(.*)Infra/.match?(classy) }
  end

  x.report("/Infra/.match?(classy)") do
    MAX.times{ /Infra/.match?(classy) }
  end

  x.report("classy[/Infra/]") do
    MAX.times{ classy[/Infra/] }
  end

  x.report("classy.include?(Infra)") do
    MAX.times{ classy.include?('Infra') }
  end
end

                            user       system     total        real
classy =~ /(.*)Infra/       0.294410   0.000326   0.294736 (  0.295334)
classy =~ /Infra/           0.127747   0.000174   0.127921 (  0.128227)
/(.*)Infra/.match?(classy)  0.259759   0.000408   0.260167 (  0.260929)
/Infra/.match?(classy)      0.100372   0.000213   0.100585 (  0.100987)
classy[/Infra/]             0.199501   0.000369   0.199870 (  0.200308)
classy.include?(Infra)      0.098464   0.000180   0.098644 (  0.098852)

Note that Regexp#match? (which was optimized in 2.4 - https://bugs.ruby-lang.org/issues/8110) and String#include? were very close and in multiple runs there was no clear winner.

@miq-bot add_reviewer @NickLaMuro

@miq-bot add_label refactoring


Peerunity not loading

been having a few issue then peer unity over past few days each time I run the application it loads the Block chain index then once done immediately closes, running this on Ubuntu 16.04 and has been working fine up until 3 days ago, tried deleting the block chain but the unity did not re-download and reinstalling the application as well is there something simple i am missing

me 2 - solution?


Support docker-machine

Hi, how would you feel about a PR adding support for docker-machine? A few simple hacks made it work for me, and I'm pretty sure accommodating both options would be possible. If it's something you would like to see, I could try to come up with a reasonable PR.

Do you mean using docker-machine to install docker/boot2docker instead of using HomeBrew to do it? Or is there some way to add a custom docker-machine "recipe" that would install docker-osx-dev itself?

I meant having docker-osx-dev optionally use the docker-machine CLI instead of boot2docker. Docker-machine's virtualbox driver uses the boot2docker ISO AFAIK but in that setup, the boot2docker binary isn't provided.

Ah, gotcha. Assuming that doesn't fork the code too much, I'd be OK with a PR for that. Thanks!

+1
docker-machine support would allow to use docker-osx-dev against a docker host in a cloud provider (EC2, openstack, etc).

+1
boot2docker CLI is deprecated and docker-machine is docker team's official solution for launching VMs for docker across platforms.

Thanks for the info folks. I'll be happy to merge the PR, but I'm currently on the road with limited Internet access, so it'll be a few days before I can take a proper look.

Looks like @labianchin beat me to the punch, good work! That's what I get for vacationing AFK I guess :) I had some work that included supporting both b2d and Docker Machine and command line switches to choose between them, but @brikis98 I guess you're gonna drop b2d support now? If so, I'm not gonna bother to rebase my weeks old stuff :)

I think we can close this one @brikis98? I'm running docker-machine right now, works.

Yup, closing


HTML parsing issue?

I ran into this issue. Here's some markdown
tstfoo

a = b * c;
var displayWidth  = gl.canvas.clientWidth  * realToCSSPixels;
var displayHeight = gl.canvas.clientHeight * realToCSSPixels;

And here's what gets generated

tstfoo

a = b  c;
var displayWidth  = gl.canvas.clientWidth   realToCSSPixels;
var displayHeight = gl.canvas.clientHeight * realToCSSPixels;

Is that expected? I thought markdown was supposed to pull out the HTML so those * shouldn't become  marks.
Here's a test
var marked  = require('marked');

var content = [
'tstfoo',
'',
'
',
'a = b * c;',
'var displayWidth  = gl.canvas.clientWidth  * realToCSSPixels;',
'var displayHeight = gl.canvas.clientHeight * realToCSSPixels;',
'
',
].join("\n");

var html = marked(content);
console.log(html);

Related to #378.

Here's another parsing issue
var marked  = require('marked');

marked.setOptions({
  pedantic: true,  // true or false this doesn't matter.
});

var content = [
'some markdown',
'',
'',
'foo',
'',
'    should be code',
'',
'',
'',
'some markdown',
'',
].join("\n");

var html = marked(content);
console.log(html);

The part '    should be code does not get turned into code. In fact adding some console.logs to marked.js I see that it sees

foo

    should be code

was one block of HTML instead of 2 blocks of HTML and a block of markdown in the middle.
Changing it to

foo

some markdown

    should be code

some more markdown

doesn't help

#985


probeye integration

The estimate "application" performs a deterministic least square fit to estimate a model parameter. Our probeye package is supposed to solve that problem via various Bayesian methods.
Also (and this is not a coincidence ;) ) probeye is also based on concepts like model, experimental data, sensors and so on. So the task is to estimate a model parameter using probeye. Consider changing
response = LinearElasticity(parameters).__call__(sensors)

to
response = LinearElasticity(sensors).__call__(parameters)

to better match the probeye interface.

I am not sure. Wouldn't it be the case that the model in fenics-constitutive should be somehow modified to a model fitting the framework of Probeye? To my eye, the former is more simulation purposed, whereas the latter looks to be a forward-model specifically designed for calibration, and these two might be considerably different. For instance, I have developed FEMU-F forward model, where in fact some data should be imposed to the "simulation model", which makes things really different than the original simulation model.

I don't think it is easily possible, nor should it necessarily be the goal, that our "module" can be directly used as a forward model itself.
However, I think it might be possible, to implement a general probeye forward model, that can take our fem problem as input.

There are two things from my understanding:
1- IMO, if we wish to have a flexible setup for identification purposes, we kind of need to distinguish between:

a model (I would call it 'simulating model') that simulates a certain experiment,
a model (namely, forward model) that is used for calibration purpose.
The FEMU-F forward-model that I briefly described: we feed data to the model and compare the force residuals; is a good example of such a difference between 'simulating model' and 'forward model'.

2- In view of @eriktamsen 's comment, should we prepare 'forward-model' that is going to be fed into a calibration module like probeye also in this module (fenics-constitutive) ? Or should the scope of fenics-constitutive module be first focused on only 'simulating', and the preparation of 'forward-model' should go to a sub-module or another module , or ... ?

to 2. Basically I was saying, that from my point of view, we don't need to worry too much about probeye integration at the moment. Once the structure is setup, we can still build an interface to probeye (or do it faster, if someone is interested).
I did not want to extend the "scope" of our module. The "forward model" is a class in probeye that could be extended to fit one of our fenics modules.
in addition, I believe the calibration process should be a bit decoupled from a normal "simulation", so that it can be clearly defined in a workflow, and only rerun when eg new experimental data is given.
to 1. I think there is a misunderstanding. As far as I know, any model that does predictions in probeye is a "forward model". I am not familiar with your "FEMU-F" model therefore I do not follow your distinction.

@eriktamsen
I agree with you and in general, I think we have very similar viewpoints.
Besides, let me also explain FEMU-F: 'finite-element-model-updating method (force version)' in a short example.
Let say we have a 3point-bending experiment, with displacement controlled loading. Most typically, when we want to calibrate an FE model of that, we take the model response; namely the displacement field, and compare it with the measured displacements (as reference). This is well known as FEMU of FEMU-D (the displacement version of FEMU).
In FEMU-F however, we do other way around: we apply the measured displacements to the model and compute the force residulas. Then we compare them with reaction forces collected from the experiment. In this case, the forward-model is a model over which we apply all measured data as Dirichlet BCs, and this is different than our simulating model (I guess, what you termed as "normal simulation").

@ajafarihub I would argue that the model in FEMU-F and FEMU-D is similar (sensors, geometry, material model), the only difference is that you solve in two different ways. One is the standard mechanics model solving the weak form and getting displacements, whereas the other solves only for the nonlocal strains (with the input of all u) and outputs the residual at a specified set of nodes. So I could imagine that a FEMU-F model can be derived from a standard (FEMU-D) model by "just" adding another solve method that does not change u, but returns R. The nodes where R is returned would then e.g. be defined using the sensor concept.

As a future vision, all simulations could be done using the fenics modules and all statistics models could be defined and solved in probeye. If that is the case, we should strive for the most comfortable and user-friendly interaction of both.
With the change sketched in the very first post, we basically have a function that takes a dictionary {name: scalar} and returns a dictionary {sensor: vector/scalar}. This is really not far from probeye (probeyes requires the outputs key to be sensor_name instead of sensor). With some wrapper that automatically defines the module parameters and experiments in probeye (and I don't care if that is located in probeye or here or elsewhere), we're done, I think.
Including FEMU-F into probeyes explicit separation of model and experiment is another story. Here, I suggest that a specific fenics FEMU_F_problem takes the measured data from the fenics Experiment module and does the FEMU_F stuff.  But please let's continue this specific FEMU-F discussion, if really needed, in private including Alex.


Add 403 HTTP error code on http-generic-bf.yaml

Unfortunately many applications may return "403 Forbidden" http code on authorization failure instead of "401 Unauthorized" http code. This yaml code simply adds this scenario which should be considered.

Could you get this branch up to date with master, so all we make sure all tests are passing.

Hi @LaurenceJJones. Merge of master is done


General review of Shadow DOM 2015 updates

Now with slots! Given the changes and beginnings of implementation in Safari and updates in Chrome, it's a great time for an update.

open/closed mode of attachShadow
<slot name=""> and <insert-me slot="..."> vs. <content select="selector">
removal of <shadow> element; removal of multiple shadows-per-element
Events have a deepPath, which accounts for open/close modes.
Distribution API was dropped due to hard timing concerns--now up to the UA to do appropriately. Slot approach can make this efficient.

Discussed in minutes from 21-Oct 2015! Closing issue.


Pimax WFOV hack for FS2020

Swap L/R eyes during rendering seems to trick the engine culling.

It worked? Swapping eyes?

Work-is. It's not perfect but according to smitty it's better than without it.


[Question] Demo - Language-only Instructions

Question
How is LLaVa generating responses without images? Is a blank image allowed by default?
If so, does this mean that LLaVa can essentially be used as a language-only use too?

LLaVA performs text-only training and inference with text-only -- you do not need to add a blank image.

@haotian-liu is there any specific format of data that needs to be followed for text-only training?? kindly suggest or share any such example code and data set available for the same.


Random National sport generator

This PR gives:

Random national sport of different nation

Here is issue link: https://github.com/stympy/faker/issues/1267

@vbrazo I have used the previously existing sport locals and added more sports to the locals. Please check.


speedup the process of create embeding when adding new knowledge

I see it will call /api/embedding APi when adding new knowledge, could we speedup the process by concurrency?
I want to chat with some golang/proposals (cat them all into a big text file) or chat with a book (like Git Pro.pdf).
It takes a long time to create the embedding.
ps: And I ask how git rebase works, but it said the knowledge doesn't provide relevant content. Apparently Git Pro.pdf contains relevant content.

Thank you very much. I really enjoy this Chrome extension. ❤


Dashboard: OTLP AnyValue is mapped to a string value which is insufficient for object graphs

The OTLP proto uses the type AnyValue throughout the type definitions when it is expressing a value. AnyValue is a variant equivalent, used to map strings, numbers booleans etc. From .NET telemetry production, today, we only use those types. However the proto spec for AnyValue can also contain arrays and maps.
From common.proto:
// AnyValue is used to represent any type of attribute value. AnyValue may contain a
// primitive value such as a string or integer or it may contain an arbitrary nested
// object containing arrays, key-value lists and primitives.
message AnyValue {
  // The value is one of the listed fields. It is valid for all values to be unspecified
  // in which case this AnyValue is considered to be "empty".
  oneof value {
    string string_value = 1;
    bool bool_value = 2;
    int64 int_value = 3;
    double double_value = 4;
    ArrayValue array_value = 5;
    KeyValueList kvlist_value = 6;
    bytes bytes_value = 7;
  }
}

// ArrayValue is a list of AnyValue messages. We need ArrayValue as a message
// since oneof in AnyValue does not allow repeated fields.
message ArrayValue {
  // Array of values. The array may be empty (contain 0 elements).
  repeated AnyValue values = 1;
}

// KeyValueList is a list of KeyValue messages. We need KeyValueList as a message
// since `oneof` in AnyValue does not allow repeated fields. Everywhere else where we need
// a list of KeyValue messages (e.g. in Span) we use `repeated KeyValue` directly to
// avoid unnecessary extra wrapping (which slows down the protocol). The 2 approaches
// are semantically equivalent.
message KeyValueList {
  // A collection of key/value pairs of key-value pairs. The list may be empty (may
  // contain 0 elements).
  // The keys MUST be unique (it is not allowed to have more than one
  // value with the same key).
  repeated KeyValue values = 1;
}

// KeyValue is a key-value pair that is used to store Span attributes, Link
// attributes, etc.
message KeyValue {
  string key = 1;
  AnyValue value = 2;
}

The dashboard typically is converting instances of AnyValue to string using
    public static string GetString(this AnyValue value) =>
        value.ValueCase switch
        {
            AnyValue.ValueOneofCase.StringValue => value.StringValue,
            AnyValue.ValueOneofCase.IntValue => value.IntValue.ToString(CultureInfo.InvariantCulture),
            AnyValue.ValueOneofCase.DoubleValue => value.DoubleValue.ToString(CultureInfo.InvariantCulture),
            AnyValue.ValueOneofCase.BoolValue => value.BoolValue ? "true" : "false",
            AnyValue.ValueOneofCase.BytesValue => value.BytesValue.ToHexString(),
            _ => value.ToString(),
        };

This doesn't account for these other types.
The simple/hack fix would be to also convert these to strings, but we probably need to consider storing attributes with an equivalent to AnyValue, and have appropriate display functionality that can display a graph of values.
I am expecting this to become an issue with Event definitions in OTLP - which overlay over the logs specification. https://github.com/open-telemetry/oteps/blob/main/text/0202-events-and-logs-api.md. Events body will be an AnyValue which is typically going to be a dictionary/map.

thanks for creating the issue @samsp-msft !
I just realized it also reproduces with array attributes:

(attribute is of ArrayValue)


Implement boto3 flow for non amd archs

use argparse
use boto3 sdk for non-amd64 arch

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: mkumatag
To complete the pull request process, please assign
You can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: bpradipt, mkumatag
To complete the pull request process, please assign
You can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


2023-07-17

:loud_sound:Crisp Weekly 2023-07-17 is now in collecting.

/post

Plain Text Journaling
https://peppe.rs/posts/plain_text_journaling/

/post

Text Editor Data Structures
https://cdacamar.github.io/data structures/algorithms/benchmarking/text editors/c++/editor-data-structures/

/post

Rewriting the Ruby parser
https://railsatscale.com/2023-06-12-rewriting-the-ruby-parser/

/post

11 years of hosting a SaaS
https://ghiculescu.substack.com/p/11-years-of-hosting-a-saas

Use managed services for as long as possible; 2. Set up a PIT sooner; 3. Look after yourself just a bit more/

/post

How Canva saves millions annually in Amazon S3 costs
https://www.canva.dev/blog/engineering/optimising-s3-savings/

/post

Imaginary Problems Are the Root of Bad Software
https://cerebralab.com/Imaginary_Problems_Are_the_Root_of_Bad_Software

/post

Generating income from open source
https://vadimdemedes.com/posts/generating-income-from-open-source

/post

The Staggering Frontiers of CSS
https://buttondown.email/robinrendle/archive/the-many-frontiers-of-css/

/post

Modern CSS For Dynamic Component-Based Architecture
https://moderncss.dev/modern-css-for-dynamic-component-based-architecture/#component-pagination

/post

Debating Linux in Aerospace
https://static.sched.com/hosted_files/eoss2023/68/Debating-Linux-in-Aerospace -VanderLeest-Brink.pdf

/post

A slack clone in 5 lines of bash
https://the-dam.org/docs/explanations/suc.html

/post

Moneyball for Software Teams – An Imperfect Heuristic for Quantifying Dev Performance
https://software.rajivprab.com/2023/07/01/moneyball-for-software-teams/

/post

{n} times faster than C - part one
https://owen.cafe/posts/six-times-faster-than-c/
optimize by rewriting assembly

/post

The single most important factor that differentiates front-end frameworks
https://themer.dev/blog/the-single-most-important-factor-that-differentiates-front-end-frameworks

/post

Few lesser known tricks, quirks and features of C
https://jorengarenar.github.io/blog/less-known-c

/post

How I added C-style for-loops to Python
https://tushar.lol/post/cursed-for/

/post

JavaScript Gom Jabbar
https://frantic.im/javascript-gom-jabbar/

/post

Tech debt metaphor maximalism
https://apenwarr.ca/log/?m=202306

/post

Python: Uncovering the Overlooked Core Functionalities
https://levelup.gitconnected.com/python-uncovering-the-overlooked-core-functionalities-54590420c225

/post

Just normal web things.
https://heather-buchel.com/blog/2023/07/just-normal-web-things/

/post

print(“lol”) doubled the speed of my Go function
https://medium.com/@ludirehak/printing-lol-doubled-the-speed-of-my-go-code-e32e02fc3f92

/post

Bézier Curves
https://blog.richardekwonye.com/bezier-curves


Docs: Tiny update to Async Action Creators example

I'm not sure this really does anything, but ¯\_(ツ)_/¯

The code below it was referencing a reddit variable which didn't exist.  I saw that later in the docs the code is used inside a middleware where that variable did exist.


Remove dependency on ember-one-way-controls

The ember-one-way-controls is very important part of how this module is built but it is deprecated now (v3.1). Currently, I can not see a way how to do a migration without breaking API. So, this is long term goal, probably towards next major release.

Merged in #240

There are still some unconverted parts :/


Added PEP8 checker to travis

"Fixes" #530
The checker runs in the before script, because we do not need to run the tests, if the code doesn't even pass syntax checks. (This is currently the case, since a lot of project files are not valid according to PEP8).
If we want to make the transition to this easier, we could increase the max. character count per line from 80 to 120 for example.
This could be done with a setup.cfg at the project root:
[flake8]
max-line-length=119

This is to confirm that I agreed to and accepted the BigchainDB Individual Contributor Agreement at https://www.bigchaindb.com/cla/ and to represent and warrant that I have authority to do so.
ATIU5iMVMIsGDir53qOltvY5S9Cv0GEJM9zGrTQ1dU68V2Gw3vHinlcFHYiApHv

Unless you want to make the pep8 tests pass @ChristianGaertner, this cannot go into master.
Please tell us if this is your intention, otherwise I guess we can close this.
FYI, I've made that implicit condition more clear by adding a comment to the ticket you based your work on:

https://github.com/bigchaindb/bigchaindb/issues/530#issuecomment-252933825

@ChristianGaertner If you intend to make all the PEP8 tests pass, then please let us know.
If you do do that, then you'll also need to agree to a Contributor Agreement...
Before we can merge this pull request, which may contain your intellectual property in the form of copyright or patents, our lawyers say we need you or your organization to agree to one of our contributor agreements. If you are contributing on behalf of yourself (and not on behalf of your employer or another organization you are part of) then you should:

Go to: https://www.bigchaindb.com/cla/
Read the Individual Contributor Agreement
Fill in the form "For Individuals"
Check the box to agree
Click the SEND button

If you're contributing as an employee, and/or you want all employees of your employing organization to be covered by our contributor agreement, then someone in your organization with the authority to enter agreements on behalf of all employees must do the following:

Go to: https://www.bigchaindb.com/cla/
Read the Entity Contributor Agreement
Fill in the form "For Organizations”
Check the box to agree
Click the SEND button

We will email you (or your employer) with further instructions.

I'll look into it at on the weekend, stay tuned. Sorry for the delay.

Ok I'v almost fixed all errors, some weird edge cases are still requiring some work though. Hopefully I'll be able to commit and push it within the next few days.

I am not sure about the 120 ch per line.
Seems like we have agreed on 79 ch.
Another way that may make it easier to turn on the pep8 checker right now without the pull requests failing is to have flake8 to only run of the diff of the pull request.
I haven't tried it myself but something like this may work
git diff origin/master $TRAVIS_PULL_REQUEST_BRANCH | flake8 --diff

Our Python Style Guide says that you should try to stick to 79 characters or less (per line), but you're allowed to go up to 119 if it improves readability (e.g. for a long RethinkDB query).
We can enforce this by setting the limit to 119 in pull request submissions (Travis / flake8), but setting the limit in our text editors to 79 (so the text editor complains if we go over 79, but we can ignore its complaint).

Yeah sounds great. I just rebased my fixes with the latest commit from master.
This build should pass now and could be ready to be merged.

Current coverage is 96.44% (diff: 100%)

Merging #659 into master will increase coverage by 0.12%

@@             master       #659   diff @@
==========================================
  Files            25         25
  Lines          1602       1602
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           1543       1545     +2
+ Misses           59         57     -2
  Partials          0          0

Powered by Codecov. Last update d93f6f8...3f3f13c

:+1: thanks @ChristianGaertner

@sbellem We can't merge this until @ChristianGaertner does the final step of agreeing to the Contributor License Agreement, i.e by copying a block of text (that I sent by email) into the comments on this pull request. Unless I am mistaken and that already happened somewhere else?

@ttmc i pasted the statement into my very first post in this pull request.

@ChristianGaertner Oops, sorry! It's unusual for someone to post that statement in their very first comment on a pull request, so I didn't even look there.
@sbellem The Contributor License Agreement agreement steps are all done, so that's not a blocker to merging this pull request.

@sbellem No problem. Here you go!

Thanks @ChristianGaertner

@ChristianGaertner Hi Christian. I'd like to send you something as a thank you for your contribution. If you're interested, send me an email at<EMAIL_ADDRESS>