font colours different on slack and Telegram

Bot Info

SDK Platform: .NET
SDK Version:  <IP_ADDRESS>
Adaptive Cards Version:  1.0.0-beta11
Active Channels: Web Chat, Slack, Telegram
Deployment Environment: Azure Bot Service

Issue Description
In Web Chat my adaptive card correctly shows notification text related to today and tomorrow in red and 2 days from today in yellow. However, in Slack and Telegram, the notification text colour is swapped around i.e. text related to today and tomorrow is yellow and 2 days from today is now red.
Note also that the alignment of images is correct in both Slack and Telegram but not in Chat.
Code Example
        int numDays = (int)(kvp.Key - DateTime.Today).TotalDays;
        string days = string.Format("{0} days' time.", numDays);
        AdaptiveTextColor color = AdaptiveTextColor.Default;
        AdaptiveTextWeight weight = AdaptiveTextWeight.Default;
        bool isSubtle = true;
        if (numDays == 0)
        {
            days = "Today";
            color = AdaptiveTextColor.Warning;
            weight = AdaptiveTextWeight.Bolder;
            isSubtle = false;
        }
        else if (numDays == 1)
        {
            days = "Tomorrow";
            color = AdaptiveTextColor.Warning;
            weight = AdaptiveTextWeight.Bolder;
            isSubtle = false;
        }
        else if (numDays == 2)
        {
            color = AdaptiveTextColor.Attention;
            weight = AdaptiveTextWeight.Bolder;
            isSubtle = false;
        }
        else
        {
        }

Expected Behaviour
Text colour to be consistent across all channels.
Actual Results
Red is now yellow and yellow is now red in the Slack and Telegram channels. See screenshots, image order is Web Chat, Slack, Telegram.

While each host is free to pick its preferred colors for the various named colors Adaptive provides, it does seem that Slack and Telegram should invert the attention and warning colors as red is usually the better color for a "warning"

With some help from Slack, the following link message-attachments defines the colours used as good (green), warning (orange) and danger (red) whereas the adaptive cards use good (green), attention (yellow) and warning (red). According to slack technical the colours should, "exactly match the color wording in Slack."
If I am right then the first two columns show what happens just now and the last column shows what it should be to map to Slacks colours.
Slack                                MS Bot (Now)                    MS Bot (Corrected)
----------------------        --------------------             -------------------------
good (green)                     Good (green)                    Good (green)
warning (orange)              Attention (yellow)             Warning (yellow)
danger (red)                      Warning (red)                    Danger (red)

Hi @yogiderek thanks for reporting this. Looks like we've got the colors swapped.
@eanders-MS FYI

Hm, I will check the host configs of each channel....

Adaptive doesn't have a "danger" color though. I'm not sure I'm following here.

You are right, AdaptiveCards does not define the Danger colour. Perhaps this explains it better....
According to slack, the colour names must match the slack colour names exactly.
the 'good' names match exactly,  so text colour is green (slacks definition)
the switch happens here
'warning' names match so the text colour is orange (slacks definition)
'Attention' name is not defined by slack so it is possible that slack defaults to red in an error condition if the string is not found.
Although the slack docs state that you can define a custom hex colour, Attention is a string and not a hex value.
I could not find anything in the Telegram docs defining what colours they use.

To clarify things: Adaptive Cards are rendered server-side as images in Slack and Telegram. The color scheme Slack documents is therefore irrelevant in this context. As @matthidinger was suggesting, it looks like our image renderer has the warning and attention colors swapped.

The Host Config in use by the Bot Framework for server-side rendering looks correct. As previously mentioned, the colors might be getting swapped in the WPF renderer.

Seems like this is fixed in WPF now as of 1.2 (and potentially earlier)


Small typo in docs.

Changed one letter typo in docs.

I've noticed that you've created this pull request from one of the "core branches" rather than a branch specifically intended for this pull request. This can cause problems if we ask you to target this PR at a different branch. No action is needed at the moment, this is for your information.
In the future please create a new branch for each individual pull request. See our guide about contributing PRs.


Set IAM Auth per user not proxy wide

Is your request related to a problem? Please describe.
Currently iam_auth is set proxy wide and pulled into the dynamic auth loop in the aws_db_proxy resource. With this approach you can't break down different users into IAM and non IAM authentication for the proxy.
Describe the solution you'd like.
Make it so that iam_auth can be pulled from the secrets object into the dynamic auth block instead of being set globally for the whole proxy.

Do you have any documentation that references this approach?

Here is the documentation for the aws_db_proxy resource, specifically the iam_auth argument for the auth block.

This issue has been resolved in version 3.0.0 :tada:


can not install zephir-parser on my mac

fesiong:php-zephir-parser fesiong$ sudo ./install
Generating parser...
Parser statistics: 132 terminals, 99 nonterminals, 470 rules
                   982 states, 0 parser table entries, 0 conflicts
Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303
autoheader: error: AC_CONFIG_HEADERS not found in configure.in
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
glibtoolize: putting auxiliary files in '.'.
glibtoolize: linking file './ltmain.sh'
glibtoolize: You should add the contents of the following files to 'aclocal.m4':
glibtoolize:   '/usr/local/Cellar/libtool/2.4.6_1/share/aclocal/libtool.m4'
glibtoolize:   '/usr/local/Cellar/libtool/2.4.6_1/share/aclocal/ltoptions.m4'
glibtoolize:   '/usr/local/Cellar/libtool/2.4.6_1/share/aclocal/ltsugar.m4'
glibtoolize:   '/usr/local/Cellar/libtool/2.4.6_1/share/aclocal/ltversion.m4'
glibtoolize:   '/usr/local/Cellar/libtool/2.4.6_1/share/aclocal/lt~obsolete.m4'
glibtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.in,
glibtoolize: and rerunning glibtoolize and aclocal.
glibtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
autoheader: error: AC_CONFIG_HEADERS not found in configure.in
./configure: line 1: syntax error near unexpected token `('
./configure: line 1: `m4trace:aclocal.m4:3142: -1- m4_include([build/ax_check_compile_flag.m4])'
make: *** No targets specified and no makefile found.  Stop.

Thanks for compiling Zephir Parser!
Build succeed: Please restart your web server to complete the installation

What should I do next?

Hello @fesiong
Let's take a look at:

autoheader: error: AC_CONFIG_HEADERS not found in configure.in

There is call in https://github.com/phalcon/php-zephir-parser/blob/development/install#L184-L189:
./configure \
	--silent \
	--with-php-config=${PHPCONFIG_BIN} \
	--enable-zephir_parser

Most likely this means that the ./configure was failed. Try to remove --silent flag and try again to see what exactly happens.

It takes the same error after I remove --silent flag.

@fesiong Is the same output? Could you please provide a bit more information e.g. OS version, environment, PHP version, etc. I'll try to reproduce.


Add: Array support to "read_by_list"

Added read and write support for arrays of: Strings, WStrings, and numeric types.
Fixed the bug: https://github.com/stlehmann/pyads/issues/252

Thanks for this, I'll get round to merging this with a few other changes shortly. Good work


Hook for 'catalog' query?

In Chaliki, at startup, there's a query to find out what's in Proskomma, and to display a summary for the user: https://github.com/Proskomma/chaliki/blob/bf11261b8ad738564bd165f825af2047058299ec/src/Pages/Standard/data/Data.js#L16
Would it be possible to have a hook to do this? We should probably add some more fields to make that hook more widely useful.

From my understanding Proskomma-freeze is the only way to save and resume state. If that is the case, then separating the importing of state vs documents/docSets seems to help clarify that. Importing (resuming) state will be done in the useProskomma because it is picking up where another instance left off. Importing anything other than state should be done via the useImport as they are not any Proskomma state representation but something else to be parsed and imported to Proskomma.
I will keep reviewing the mutation examples to figure out what that custom hook/lifecycle could look like.

From my understanding proskomma-freeze is the only way to save and resume state.

It should be the easiest way to save and resume "everything". But it's also possible to save and load one docSet at a time (ie all the documents in that docSet as one file) and proskomma-freeze just adds another layer of JSON on top of that docSet-level functionality. So, depending on the granuality of saving, there may be more than one way to do it.

@klappy I think you are right that thawing something saved using proskomma-freeze should happen when Proskomma is instantiated, ie in useProskomma. For that to be useful we need a way to freeze the entire state.

Refactor for v1 has begun to handle the useImport implementation discussed above: https://github.com/unfoldingWord/proskomma-react-hooks/commit/ef117fd283ca92bda6ee15da54da6b4d80bc7758
The following has yet to be implemented:

documents that aren't usfm, ie. usx
importing multiple docsets via single json file using proskomma-freeze
useImported to query to see what documents are imported into proskomma

Just realizing that useImported has the intention to address this issue. In the title, Hook for 'catalog' query, catalog is a better term to be used. I'll implement it via useCatalog to return the imported docsets.

Implemented useCatalog here: https://github.com/unfoldingWord/proskomma-react-hooks/pull/5
Remaining sub-issues discussed here should be discussed in other issues:

importing resumed state via proskomma-freeze: https://github.com/unfoldingWord/proskomma-react-hooks/issues/4
importing non-usfm files: https://github.com/unfoldingWord/proskomma-react-hooks/issues/3


Switch DSSE provider to go-securesystemslib

The DSSE implementation added to in-toto-golang has now been split into its own package which lives at https://github.com/secure-systems-lab/go-securesystemslib/. The next step is the removal of this code from in-toto, so I'm submitting changes to dependent packages. :)
See: https://github.com/in-toto/in-toto-golang/pull/122

cc @yuji-watanabe-jp @gajananan

thank you very much @adityasaky !
I will approve and merge this PR.


Wrong description and broken links in IMPROVE-intro paragraph

Goal of IMPROVE is "performing the improvement activities" - planning is part of the crosscutting activities.
Link to Determine-Improvement-Approach is broken.

thanx, @aheusingfeld


style-y038 : clarify when to use the controllerAs syntax

Also i think the third bullet point helps cover the fact that you can use multiple names
https://github.com/johnpapa/angular-styleguide/issues/577
https://github.com/johnpapa/angular-styleguide/issues/462

We may also want to update for controller: 'MyController as vm' syntax
https://github.com/johnpapa/angular-styleguide/issues/582

I think it shield be used all the time.  But that's just my opinion :)

The word "relavent" should be spelled "relevant"

not sure i agree.


Can EsSpark.saveToEs report what doc fail to save to ES

I am using Spark with ElasticSearch. I need to save an RDD of document object to ES as follow
EsSpark.saveToEs(myRDD, "myindex/mytype")
The problem is that if some document fail to save in ES, it throw an exception and stop. I want it to continue to save the rest of documents and at the end report which documents fail to save.
How can I do that?

You cannot. Mainly because there is no reliable way to report the errors/documents back to the user at the end. There's an issue for this (#613) however still, that implies ignoring the error and moving on which will means controlling the side-effects will be tricky.

I ma thinking of uisng raw elastic4s to save RDD to ES suah as below
myRDD.foreachPartition(iter => {
try {
saveDocsUginElastic4s(iter.toSeq) // using elastic4s bulk index call
}
catch
....
}
Will teh performance be as good as using EsSpark.saveToEs(myRDD, "myindex/mytype")?

I would advice you to look at the feature set, usage and code reduction of libraries and then at the actual performance differences. The human/developer time is typically much more important than performance itself (which should be fairly small).
Either way there's only one way to find out - to try it out yourself but do know that benchmarks are deceiving.

I have two question

How does EsSpark.saveToEs() save RDD to ES? Does it use elastic4s bulk index API to index the items in RDD?
If I save the RDD myself using raw elastic4s as above, will it hurt performance when I read the RDD back using sc.esRDD("myindex.mytype")? In another word, Does EsSpark.saveToEs() index the items in any special way to optimize retrieving performance of sc.esRDD("myindex.mytype")?


Can i have the api.php?

file_get_contents('http://localhost/proxyapi/api.php?type=google');

any news on this issue and request?

Sorry will update the repo with it. Here's a link the the function itself though:
https://pastebin.com/afEHGREj


Replaces rush env variable with require.main.filename call

This change gives access to the root directory of the project by accessing the main node module. That directory contains the pacakge.json file that we need for this call. require.main documentation: https://nodejs.org/api/modules.html#requiremain

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


Adding compression support for DLQ events

Is your feature request related to a problem? Please describe.
Here would be great to allow users to define compression for the objects that will be stored in S3 buckets similar to the S3 sink plugin.
Describe the solution you'd like
A user could define the compression like below
pipeline:
  ...
  sink:
    opensearch:
      dlq:
        s3:
          bucket: "my-dlq-bucket"
          key_path_prefix: "dlq-files/"
          compression: gzip
          region: "us-west-2"
          sts_role_arn: "arn:aws:iam::123456789012:role/dlq-role"

Describe alternatives you've considered (Optional)
N/A
Additional context
N/A

Duplicate of #4074


add isAsync hint to module records

this now moved to the module source proposal and they rejected this idea recently


Make use of ChatGPT API instead of OpenAI model's chatbod/playground mode.

API:
https://platform.openai.com/docs/guides/chat/instructing-chat-models

[x] Check


Fahrenheit display, alarm control and much more for AK series

I have decoded some missing parts of the protocol using a USB monitoring sofware on a Windows machine.
Here are some information that i found;

Sending 35 instead of 19 as data[1] will result F symbol to be lit instead of C but you need to convert celcius to fahrenheit on hand before sending it to the device.
Sending anything rather than 0 as data[6] will result Temp icon and Temperature value (if shown) to be blinking. This is how alarm feature works from the official app.
Sending 180 as data[3] or data[4] will result displaying - (minus) symbol to be shown. This is useful for displaying sub zero temperatures. There are some other characters can be drawn by sending a value larger than 10 but most of them are not meaningful and I could not find correlation between letters can be displayed and number values representing them. Also 10 can be used for displaying a blank segment which is not possible for last segment otherwise.
Since top green bar value can be controlled independendent from number value, it can be used for displaying the utilization while number value is displaying the temperature. User can see both utilization and temperature at the same time using this method and every bar led value will be representing 10% of the CPU utilization.

This is the sample code that contains all of the information mentioned above. I hope this helps.
import time
import hid
import psutil
import math

PRODUCT_ID = 0x0001  # AK400
SENSOR = "coretemp"

FAHRENHEIT = True
ALARM_TEMP = 75 # set to 0 to disable
INTERVAL = 0.5

try:
    data = [16, 170] + [0 for i in range(62)]
    h = hid.device()
    h.open(0x3633, PRODUCT_ID)
    h.set_nonblocking(1)
    h.write(data)
    data[1] = 35 if FAHRENHEIT else 19
    while True:
        temperature = psutil.sensors_temperatures()[SENSOR][0].current
        if FAHRENHEIT:
            temperature = (temperature * 1.8) + 32
        temperature = round(max(min(temperature, 999), -99))
        data[2] = math.ceil(psutil.cpu_percent() / 10.0)
        data[6] = ALARM_TEMP > 0 and temperature >= ALARM_TEMP
        value = str(temperature)
        if temperature < -9:
            data[3] = 180
            data[4] = int(value[1])
            data[5] = int(value[2])
        elif temperature < 0:
            data[3] = 0
            data[4] = 180
            data[5] = int(value[1])
        elif temperature < 10:
            data[3] = 0
            data[4] = 0
            data[5] = int(value[0])
        elif temperature < 100:
            data[3] = 0
            data[4] = int(value[0])
            data[5] = int(value[1])
        else:
            data[3] = int(value[0])
            data[4] = int(value[1])
            data[5] = int(value[2])
        h.set_nonblocking(1)
        h.write(data)
        time.sleep(0.5)
except IOError as error:
    print(error)
except KeyboardInterrupt:
    pass
finally:
    if "h" in locals():
        h.close()

It's just damn useful information! I am very grateful to you for your work, I think that I will include this data in the new version.
About the control of the strip separately - I know. I want to do it. I miss, let's say, testers, because I don't have these devices (well, except for one of them, which generally works differently).
I will definitely include the ability to set Fahrenheit temperature in the new version. I don't know how to use the rest of the information yet, but it will do somewhere. More thanks!


Fix for Loop properties revindex and revindex0 still wrong in Jinja2 2.10 #794

The approach to set length param is costly and should be avoided. only if someone expects the iterator length should the cost be borne.
Added test cases to validate rendering and LoopContext behavior

withdrawing, will open the PR against branch 2.10.x


Users without account-defined custom theme can't see GM-created theme-painted custom themes

Theme-painted areas only have a reference to the theme used (regular or custom), so if player doesn't have that custom theme also defined, they can't see the theme-painted areas.
E.g., in journal json:
{
"points": [
[1600, 1100],
[1700, 1100],
[1700, 1300],
[1600, 1300],
[1600, 1100]
],
"themeKey": "custom.Custom Grass"
}

Some possible solution ideas:

to embed the custom theme variables within each drawn theme area in the document... but that means future changes to the custom theme wouldn't be reflected in already-drawn theme areas..

make custom themes global and/or shared in some way. They're currently a json string in ClientSettings.

make it easier to push the GM's custom themes to all connected players.

???


Search for packages in all GOPATHs

There is a case: I have multiple paths in GOPATH, one for third party packages and another for my own ones. Currently party searches for packages only in the curent project's gopath, and this doesn't work in my case.
This PR solves the problem: party searches for packages in all gopaths with priority of current project's gopath.

Sorry, could you reopen this? I forgot it was here and lost track of it.

Tiny nit. Squash into 1 commit and I'll merge it.

@mjibson done


chore(tedious): support new tedious versions 15, 16

replaces: #1521
When the tedious instrumentations was written, the latest version was 14.
Since then, tedious package released versions 15 and 16, for which renovate opened to following PRs: #1403  #1521 .
So it turns out that tedious is already compatible and patches new versions. This PR is only about aligning the supported versions and update the tests to use new tedious versions.
Prior to this PR, the instrumentation was patching version range *, which isn't very safe as new major versions can introduce breaking changes which the instrumentation might not be ready for.
This PR replaces the unmergable renovate PR, by introducing the following changes:

Cap the maximum supported version to latest (16) instead of *. This algins the instrumentation to the practice which is common in this repo and safer.
Update the README to advertise the supported versions range accordingly
Add the new versions to TAV.
Do not run tedious tav for node 14, as the new versions dropped support for it which obviously fails to install in node 14.
Upgrade the tedious version for npm run test to use the most downloaded version which is not 16 (which dropped support for node 14) - 15.1.3,  and the "@types/tedious" to latest - ^4.0.9

As I am using a mac with apple chip, for which the mcr.microsoft.com/mssql/server:2017-latest docker image has no compatible distribution, I am not able to run the unit-tests locally, so uploading it here to test on CI. If you are aware of a better workflow, please let me know.

I wasn't able to make tests green for tedious >=16 and node 14.
Documented the task in #1656 and fixed the repo code to cap support at the last testable version which is 15.


Add Pytest tests in Github actions

Which area/kind this issue is related to?
/area integration-tests
Issue Description
Add Pytest based integration tests in Github actions and retain only the periodic(nightly) integration tests in OpenShift CI tests. This enables quicker test runs on PRs and keeps a reasonable number of test runs with OpenShift CI.

Resolved by

https://github.com/devfile/integration-tests/pull/43
https://github.com/openshift/release/pull/25931

Closing it after fixing the test failure issue.

Dropped OpenShift CI tests for PRs: https://github.com/openshift/release/pull/25931


Add LarinaxSolarSystem

License should be correct, but waiting on confirmation from mod author: http://forum.kerbalspaceprogram.com/index.php?/topic/134890-wip-larinax-solar-system-v0040/&do=findComment&comment=2574882

Nope, it's CC-BY-NC-SA-4.0

Thought I had it set to that, derp derp.

LGTM, merging.


Lower &mut SessionContext to &SessionContext in substrait consumer/producer

Is your feature request related to a problem or challenge?
Currently functions to convert from substrait to DataFusion plans, or to produce a substrait plan from a DataFusion logical plan, require a mutable reference to SessionContext. However, none of the implementations seems to require that. Since state access in the session context does not require a mutable pointer, I don't see the need to take a mutable reference to the session context.
Allowing shared references to SessionContext to be used would simplify consuming code and should not be a breaking as you can pass an &mut reference to a function expecting a shared reference.
Describe the solution you'd like
Change the various conversion functions in the datafusion-substrait crate to receive &SessionContext instead of &mut SessionContext.
Describe alternatives you've considered
No response
Additional context
No response

Hi @amartins23
It seems like the consumer functions such as
https://docs.rs/datafusion-substrait/latest/datafusion_substrait/logical_plan/consumer/fn.from_substrait_plan.html
https://docs.rs/datafusion-substrait/latest/datafusion_substrait/physical_plan/consumer/fn.from_substrait_rel.html
Require mutable access, but the producers do not (they already take &SessionContext, not &mut SessionContext)
https://docs.rs/datafusion-substrait/latest/datafusion_substrait/logical_plan/producer/fn.to_substrait_plan.html
This I think this ticket would require:

Converting from &mut SessionContext to &SessionContext
Ideally add some doc comments / examples of how to do this conversion

This seems straightforward and a good first project so marking it as such
Note there may be some subtlety I don't understand that would make this not feasible.

I'd like to have a try.

2. Ideally add some doc comments / examples of how to do this conversion

Sorry for the delay in completing this task.   Would an example like this be OK?

Sorry for the delay in completing this task.

No worries -- thank you for doing so!

Fixed in ull/7965

Fixed in https://github.com/apache/arrow-datafusion/pull/7965


Localize Treat Wounds macro NoPCTokenSelected error

Get the rest while you're in there

Get the rest while you're in there

The only other notification in this file currently uses game.i18n.format(). It's not clear from the header docs that NotificationOptions.localize goes through format(), or just through localize().

Just localize.


bosh download manifest DEPLOYMENT_NAME not downloading manifest

Says "Acting as user 'USER NAME' on deployment 'DEPLOYMENT NAME' on 'DIRECTOR NAME'", exits 0, but doesn't actually get the manifest:
AKG :: ~
$ bosh download manifest kubernetes
Acting as user 'admin' on deployment 'kubernetes' on 'Bosh Lite Director'

AKG :: ~
$ echo $?
0

AKG :: ~
$ bosh download manifest kubernetes /tmp/himom.yml
Acting as user 'admin' on deployment 'kubernetes' on 'Bosh Lite Director'
Overwrite `/tmp/himom.yml'? (type 'yes' to continue): yes
Deployment manifest saved to `/tmp/himom.yml'

AKG :: ~
$ echo $?
0

AKG :: ~
$ cat /tmp/himom.yml

AKG :: ~
$

Did you successfully deploy before downloading the manifest? Currently Director only updates the manifest on a successful deploy, which means it will return empty string before the first deploy.
We are planning to eventually save the manifest immediately so this case will not come up.

I can't recall for this specific instance whether it had deployed successfully initially or not.

I've run into the same issue.  In my case, I can say the deployment wasn't successful.
Is there an alternate way to retrieve the manifest?

@Blackbaud-ChadSailer, not currently. You'll need to look at the manifest file used by the failed bosh deploy command. Once it is successfully deployed you can use bosh download manifest.

@blackbaud-chadsailer if you know the id of the task that created the deployment you can get the manifest by running
bosh task <task id> --debug
In the output near the top of the file you can see the manifest you attempted to deploy.

@cppforlife Is this still on the roadmap? I'm trying to get programmatically the manifest from a failed deployment, but the manifest is always null.

@frodenas are you using the Bosh command in my comment above?

@kkallday no, I'm using the director golang package.

If you know the id of the task that performed the deployment you can see the manifest in the debug logs.
I haven't tried this but these methods [1] [2] [3] might give you the debug logs and you can scan through it to find the manifest.

https://godoc.org/github.com/cloudfoundry/bosh-cli/director#Client.Task
https://godoc.org/github.com/cloudfoundry/bosh-cli/director#Client.TaskOutput
https://godoc.org/github.com/cloudfoundry/bosh-cli/director#TaskImpl.DebugOutput

Thanks @kkallday, but I prefer to avoid using workarounds if this is going to be fixed anytime soon.

Closing this due to inactivity.
@frodenas The manifest not being persisted until a successful deploy is a known limitation. We have considered tackling this issue but it has not been a priority. Feel free to create a new issue if this is still blocking you.


Empty PDF when converting using HTTP Post v3

Converting files using HTTP Get works just fine, but when I try to send a file, I only get an empty pdf with 922 bytes rendered.
I tried it in postman, I get { "status": "uploaded" } back from the server. When I have a short glimpse at the file written to the /tmp directory I can see that it's the correct content, but still I can't get any.
The url I tried is http://localhost:8080/convert?auth=MY_AUTH&ext=html and the form-data I'm sending has one item with key file and element is the attached test.html. Also the generated and empty pdf is attached.
Any ideas what I should change?
files.zip

If it is possible, can I have a look at the body data you are using (omitting anything confidential)?

I've extracted the postman call and published it as a collection - https://documenter.getpostman.com/view/1567159/athena-pdf-public/6mxaGtt
The curl (which you can see on the website) looks like this:
curl --request POST \
  --url 'http://localhost:8080/convert?auth=MY_AUTH&ext=html' \
  --header 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  --form file=undefined

and instead of the undefined from file, I'm sending the test.html file which you can find in files.zip which I already uploaded.
I'm not sure why there is the boundary in the header, I didn't add it explicitly and I can't remove it.
Could you maybe send me a curl command which should work? Than I can try that out - I couldn't find one in this repository.

I'm getting {"error":"invalid file provided"} using a similar request as yours.
This works though:
curl -F<EMAIL_ADDRESS>http://localhost:8080/convert\?auth\=<AUTH>\&ext\=html

The curl command you provided is translated to the same postman script, so probably postman just has issue creating curl commands.
When I try your command, I still only get an empty pdf file and nothing is rendered there. I'm trying this with the image arachnysdocker/athenapdf-service:3.0.0-b

That's interesting, could you try it with curl ? Is it perhaps not able to find the HTML file?

Okay, ignore my previous message. I was able to replicate it on Postman.

I did try it with curl, and I'm getting still the same issue - I redeployed our docker-compose file and switched to arachnysdocker/athenapdf-service:2.9.2 and now the curl command works - will check if my integration tests and postman also work, but it seems it's a bug with the currently deployed image 3.0.0-b ?

I can confirm, after going down to version 2.9.2 everything works as expected, back to version 3.0.0-b I'm getting empty pdf files rendered

Thinking about it, yes, I believe this problem is likely due to how local file paths are being handled.
Unfortunately, I'm not sure if I'm keen on fixing 3.0.0-b seeing that a lot of changes have been made to the underlying Athena runner since then (and we have created a new microservice assembly in the process).
On that note, I have pushed a new, pre-release of 3.0.0 to Docker Hub which should work with both a GET, and a POST. The API however, is significantly different (nothing about it is backwards compatible).
If that is OK, you can give it a shot by pulling arachnysdocker/athenapdf-service:3.
Below are some sample cURL requests:
POST
curl -F<EMAIL_ADDRESS>-F process='{"conversion": {"mime_type": "text/html"}}' http://localhost:8080/process > test.pdf

GET
curl -X GET http://localhost:8080/process\?uri\=http://www.github.com\&fetcher\=http > test.pdf

Let me know if you have any questions.

how about the auth param? doesn't seem to work

There shouldn't be any auth in v3 @basz.

Any ideas why I receive a 404 when running the GET curl request listed above?

I'm using v3 as a component service in a larger Docker project.  I was running some tests and, while GitHub rendered properly, I got an odd PDF when I ran the cURL request against nytimes.com.
test.pdf
Any Ideas on how to avoid the lack of styling?

For those working with the Python requests library (including future me) and attempting to POST:
weaver_url = 'http://localhost:8080/process'
file_content = open('./path/to/file', 'rb')
files = {
    'file': (file_content),
    'process': (None, '{"conversion": {"mime_type": "text/html"}}'),}
resp = requests.post(weaver_url, files=files)

The None


[BUG] I got error in running Deepar model

Bug Report Checklist

[x] I provided code that demonstrates a minimal reproducible example.
[x] I confirmed bug exists on the latest mainline of AutoGluon via source install.
[x] I confirmed bug exists on the latest stable version of AutoGluon.

Describe the bug
I use Deepar in this dataset and get error like this
Expected parameter df (Tensor of shape (1900, 1)) of distribution Chi2() to satisfy the constraint GreaterThan(lower_bound=0.0), but found invalid values ensor([[3.2372],
        [3.2372],
        [3.2372],
        ...,
        [   nan],
        [   nan],
        [   nan]], device='cuda:0')

I have check the data and it contains no nan, and I write code like this
predictor.fit(
        train_df,
        hyperparameters={
            # "TemporalFusionTransformerModel": {},
            #"PatchTSTModel": {},
            #"ThetaModel": {},
            "DeepARModel": {},
            # "AutoARIMAModel": {}
        },
        refit_every_n_windows=1,
        presets="best_quality",
        num_val_windows=4
    )

it can finish training, but when I use predictor, and I get this error. I have no idea about this.
Expected behavior

Please give me some advice or guide about this bug and I can try to fix it.
To Reproduce

Screenshots / Logs

Inferred time series frequency: 'D'
train_data contains missing values represented by NaN. They have been filled by carrying forward the last valid observation.
Provided train_data has 6764 rows, 19 time series. Median time series length is 356 (min=356, max=356).

Provided dataset contains following columns:
        target:           'target'
        known covariates: ['promote', 'order']

AutoGluon will gauge predictive performance using evaluation metric: 'RMSSE'
        This metric's sign has been flipped to adhere to being higher_is_better. The metric score can be multiplied by -1 to get the metric value.
===================================================

Starting training. Start time is 2024-06-17 17:28:24
Models that will be trained: ['DeepAR']
Training timeseries model DeepAR.
        -1.2500       = Validation score (-RMSSE)
        217.71  s     = Training runtime
        0.34    s     = Validation (prediction) runtime
Not fitting ensemble as only 1 model was trained.
Training complete. Models trained: ['DeepAR']
Total runtime: 218.08 s
Best model: DeepAR
Best model score: -1.2500
data contains missing values represented by NaN. They have been filled by carrying forward the last valid observation.
Model not specified in predict, will default to the model with the best validation score: DeepAR
data contains missing values represented by NaN. They have been filled by carrying forward the last valid observation.
Model not specified in predict, will default to the model with the best validation score: DeepAR
Model DeepAR failed to predict with the following exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/trainer/abstract_trainer.py", line 944, in get_model_pred_dict
    model_pred_dict[model_name] = self._predict_model(
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/trainer/abstract_trainer.py", line 874, in _predict_model
    return model.predict(data, known_covariates=known_covariates)
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/models/abstract/abstract_timeseries_model.py", line 298, in predict
    predictions = self._predict(data=data, known_covariates=known_covariates, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/models/multi_window/multi_window_model.py", line 177, in _predict
    return self.most_recent_model.predict(data, known_covariates=known_covariates, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/models/abstract/abstract_timeseries_model.py", line 298, in predict
    predictions = self._predict(data=data, known_covariates=known_covariates, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/models/gluonts/abstract_gluonts.py", line 445, in _predict
    predicted_targets = self._predict_gluonts_forecasts(data, known_covariates=known_covariates, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/models/gluonts/abstract_gluonts.py", line 460, in _predict_gluonts_forecasts
    return list(self.gts_predictor.predict(**predictor_kwargs))
  File "/usr/local/lib/python3.8/dist-packages/gluonts/torch/model/predictor.py", line 90, in predict
    yield from self.forecast_generator(
  File "/usr/local/lib/python3.8/dist-packages/gluonts/model/forecast_generator.py", line 156, in __call__
    outputs = predict_to_numpy(prediction_net, inputs)
  File "/usr/lib/python3.8/functools.py", line 875, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/usr/local/lib/python3.8/dist-packages/gluonts/torch/model/predictor.py", line 38, in _
    return prediction_net(**kwargs).cpu().numpy()
  File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/gluonts/torch/model/deepar/lightning_module.py", line 68, in forward
    return self.model(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/gluonts/torch/model/deepar/module.py", line 448, in forward
    distr = self.output_distribution(
  File "/usr/local/lib/python3.8/dist-packages/gluonts/torch/model/deepar/module.py", line 357, in output_distribution
    return self.distr_output.distribution(sliced_params, scale=scale)
  File "/usr/local/lib/python3.8/dist-packages/gluonts/torch/distributions/distribution_output.py", line 137, in distribution
    distr = self._base_distribution(distr_args)
  File "/usr/local/lib/python3.8/dist-packages/gluonts/torch/distributions/distribution_output.py", line 114, in _base_distribution
    return self.distr_cls(*distr_args)
  File "/usr/local/lib/python3.8/dist-packages/gluonts/torch/distributions/studentT.py", line 39, in __init__
    super().__init__(
  File "/usr/local/lib/python3.8/dist-packages/torch/distributions/studentT.py", line 52, in __init__
    self._chi2 = Chi2(self.df)
  File "/usr/local/lib/python3.8/dist-packages/torch/distributions/chi2.py", line 24, in __init__
    super().__init__(0.5 * df, 0.5, validate_args=validate_args)
  File "/usr/local/lib/python3.8/dist-packages/torch/distributions/gamma.py", line 54, in __init__
    super().__init__(batch_shape, validate_args=validate_args)
  File "/usr/local/lib/python3.8/dist-packages/torch/distributions/distribution.py", line 62, in __init__
    raise ValueError(
ValueError: Expected parameter df (Tensor of shape (1900, 1)) of distribution Chi2() to satisfy the constraint GreaterThan(lower_bound=0.0), but found invalid values:
tensor([[3.2372],
        [3.2372],
        [3.2372],
        ...,
        [   nan],
        [   nan],
        [   nan]], device='cuda:0')

Traceback (most recent call last):
  File "long_term_main.py", line 11, in <module>
    main()
  File "/root/qilin/customer-service-predict/src/longterm.py", line 670, in main
    run(tasks[k], conf, k)
  File "/root/qilin/customer-service-predict/src/longterm.py", line 568, in run
    predictions = predictor.predict(pred_df,
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/predictor.py", line 783, in predict
    predictions = self._learner.predict(data, known_covariates=known_covariates, model=model, use_cache=use_cache)
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/learner.py", line 176, in predict
    return self.load_trainer().predict(
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/trainer/abstract_trainer.py", line 807, in predict
    model_pred_dict = self.get_model_pred_dict(
  File "/usr/local/lib/python3.8/dist-packages/autogluon/timeseries/trainer/abstract_trainer.py", line 959, in get_model_pred_dict
    raise RuntimeError(f"Following models failed to predict: {failed_models}")
RuntimeError: Following models failed to predict: ['DeepAR']

Installed Versions

# Replace this code with the output of the following:
from autogluon.core.utils import show_versions
show_versions()

INSTALLED VERSIONS
date                   : 2024-06-17
time                   : 17:49:46.730123
python                 : 3.8.10.final.0
OS                     : Linux
OS-release             : 4.18.0-193.el8.jd_206.x86_64
Version                : #1 SMP Thu Apr 21 10:52:31 CST 2022
machine                : x86_64
processor              : x86_64
num_cores              : 32
cpu_ram_mb             :<PHONE_NUMBER>1875
cuda version           : 11.470.57.02
num_gpus               : 1
gpu_ram_mb             : [22917]
avail_disk_size_mb     : 19392
accelerate             : 0.21.0
async-timeout          : 4.0.3
autogluon              : 1.0.0
autogluon.common       : 1.0.0
autogluon.core         : 1.0.0
autogluon.features     : 1.0.0
autogluon.multimodal   : 1.0.0
autogluon.tabular      : 1.0.0
autogluon.timeseries   : 1.0.0
boto3                  : 1.34.20
catboost               : 1.1.1
defusedxml             : 0.7.1
evaluate               : 0.4.1
fastai                 : 2.7.13
gluonts                : 0.14.3
hyperopt               : 0.2.7
imodels                : None
jinja2                 : 3.1.3
joblib                 : 1.3.2
jsonschema             : 4.17.3
lightgbm               : 4.1.0
lightning              : 2.0.9.post0
matplotlib             : 3.7.5
mlforecast             : 0.10.0
networkx               : 3.1
nlpaug                 : 1.1.11
nltk                   : 3.8.1
nptyping               : 2.4.1
numpy                  : 1.24.4
nvidia-ml-py3          : 7.352.0
omegaconf              : 2.2.3
onnxruntime-gpu        : None
openmim                : 0.3.9
orjson                 : 3.9.10
pandas                 : 2.0.3
Pillow                 : 10.2.0
psutil                 : 5.9.7
PyMuPDF                : None
pytesseract            : 0.3.10
pytorch-lightning      : 2.0.9.post0
pytorch-metric-learning: 1.7.3
ray                    : 2.6.3
requests               : 2.28.2
scikit-image           : 0.20.0
scikit-learn           : 1.3.2
scikit-learn-intelex   : None
scipy                  : 1.9.1
seqeval                : 1.2.2
setuptools             : 60.2.0
skl2onnx               : None
statsforecast          : 1.4.0
statsmodels            : 0.14.1
tabpfn                 : None
tensorboard            : 2.14.0
text-unidecode         : 1.3
timm                   : 0.9.12
torch                  : 2.0.1
torchmetrics           : 1.1.2
torchvision            : 0.15.2
tqdm                   : 4.65.2
transformers           : 4.31.0
utilsforecast          : 0.0.10
vowpalwabbit           : None
xgboost                : 2.0.3

Hi @creamiracle, thank you for reporting the issue. Can you please check if the issue is still present in the latest AutoGluon version (v1.1.1)? Based on the logs it seems that the code uses AutoGluon v1.0.
As far as I can tell from the logs, the issue is caused by numerical instabilities / NaN values appearing during the forward pass of the DeepAR model. Could you share the time series on which the model fails to predict? This would be helpful for debugging.

Hi @creamiracle, thank you for reporting the issue. Can you please check if the issue is still present in the latest AutoGluon version (v1.1.1)? Based on the logs it seems that the code uses AutoGluon v1.0.
As far as I can tell from the logs, the issue is caused by numerical instabilities / NaN values appearing during the forward pass of the DeepAR model. Could you share the time series on which the model fails to predict? This would be helpful for debugging.

sure, let me check the version and data first, then I will post some of the data here. Thanks.


Make comparison operator== const in EditorAutoloadSettings

operator== of EditorAutoloadSettings is not const for whatever reason...
afaik, this leads to automatic conversion to other types to find operato== that fits the requirement...

Sorry, I thought adding the class would be too long (Github complained).

Thanks!


python311Packages.pyhanko: 0.21.0 -> 0.25.1

Description of changes
Diff: https://github.com/MatthiasValvekens/pyHanko/compare/refs/tags/v0.21.0...v0.25.1
Changelog: https://github.com/MatthiasValvekens/pyHanko/blob/v0.25.1/docs/changelog.rst

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 328129 run on x86_64-linux 1

4 packages built:

python311Packages.pyhanko
python311Packages.pyhanko.dist
python311Packages.xhtml2pdf
python311Packages.xhtml2pdf.dist


Pulsar manager service fails saying "2024-05-07 15:02:17,476 INFO exited: pulsar-manager-backend (terminated by SIGKILL; not expected)"

Describe the bug
I am using the latest pulsar helm chart to deploy pulsar. We had a requirement to add the pulsar-manager. Enabled pulsar manager. I've provided database url, username and password. We are using a postgres DB (AWS RDS). The pod comes up. But the service keeps failing with the below message.
2024-05-07 15:01:47,078 INFO spawned: 'pulsar-manager-backend' with pid 6805
2024-05-07 15:01:48,955 INFO success: pulsar-manager-backend entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-05-07 15:02:17,476 INFO exited: pulsar-manager-backend (terminated by SIGKILL; not expected)

There are no other logs to see whats wrong. The pulsar-manager logs dont show anything as well.

This might be fixed in 3.4.1 version of the Pulsar Helm chart. Please reopen the issue if the problem persists.


API hung after Take Photo/Video

KonradIT,
First, let me commend you on the GoPro Python API.  It has some great functionality.
One thing I noticed today is that the API seems to get hung after issuing take_photo() or take_video(10):
**>>> gopro = GoProCamera.GoPro()
HERO5 Black
HD<IP_ADDRESS>.00
Camera successfully connected!

gopro.take_photo()
{}

{}
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.6/site-packages/goprocam/GoProCamera.py", line 430, in take_photo
ready=int(self.getStatus(constants.Status.Status, constants.Status.STATUS.IsBusy))
ValueError: invalid literal for int() with base 10: ''

**

I received the Traceback after issuing a Ctrl+C.  From the GoPro screen, it appears the camera has finished taking the photo/video and returns to standby.  So this may just be an issue with the IsBust status.
Do you have any suggestions?
Thanks in advance!

Hi,
Jumping in as I faced the same problem.  I'm on vacations so I can't look
at my code, but here's what I recall.
Sometimes the result of getStatus cannot be interpreted as an int,
perhaps the value wasn't set internally when the call is made and the
camera returns ''. This is what happened according to your trace.
What I did is simply wrap a try / except ValueError around the call to
reday = int(getStatus(...)). If the ValueError is raised, then it means
the status code is not reliable, and you can return wathever fits your
needs.
Cheers,
Pierre
Le jeu. 9 août 2018 à 14:37, ermuir<EMAIL_ADDRESS>a écrit :

KonradIT,
First, let me commend you on the GoPro Python API. It has some great
functionality.
One thing I noticed today is that the API seems to get hung after issuing
take_photo() or take_video(10):
**>>> gopro = GoProCamera.GoPro()
HERO5 Black
HD<IP_ADDRESS>.00
Camera successfully connected!
gopro.take_photo()
{}
{}
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.6/site-packages/goprocam/GoProCamera.py",
line 430, in take_photo
ready=int(self.getStatus(constants.Status.Status,
constants.Status.STATUS.IsBusy))
ValueError: invalid literal for int() with base 10: ''
**
I received the Traceback after issuing a Ctrl+C. From the GoPro screen, it
appears the camera has finished taking the photo/video and returns to
standby. So this may just be an issue with the IsBust status.
Do you have any suggestions?
Thanks in advance!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/KonradIT/gopro-py-api/issues/53, or mute the thread
https://github.com/notifications/unsubscribe-auth/AXxBTbLaB2Hd-JkzF7olNHTVTQX3pdgvks5uPCzsgaJpZM4V1nQ1
.

Hi @ermuir @pderian ,
I ran the code just to test, it does return an URL in my case. (same camera and same firmware).
Python 3.7.0 (default, Jul 15 2018, 10:44:58)
[GCC 8.1.1 20180531] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from goprocam import GoProCamera, constants
>>> gopro = GoProCamera.GoPro()
HERO5 Black
HD<IP_ADDRESS>.00
Camera successfully connected!
>>> gopro.take_photo()
{}

{}

'http://<IP_ADDRESS>:8080/videos/DCIM/102GOPRO/GOPR1824.JPG'

I can't reproduce it, I've tried it multiple times. What SD card are you using?

Also run gopro.getStatusRaw() for debugging, paste the output here.

pderian,
I thought about using try/except as a work around.  I will give that a try if I am not able to find a solution.
KonradIT,
The SD card is a SanDisk Extreme 64GB microSD card.
Here is the output you requested:

gopro.getStatusRaw()
'{"status":{\n"1":1,"2":2,"3":0,"4":0,"6":0,"8":1,"9":0,"10":0,"11":0,"13":0,"14":0,"15":0,"16":0,"17":0,"19":1,"20":1,"21":0,"22":0,"23":0,"24":0,"26":0,"27":0,"28":0,"29":"","30":"GP54691773","31":0,"32":0,"33":0,"34":9241,"35":14551,"36":22,"37":6,"38":110,"39":6,"40":"%12%08%09%07%03%22","41":0,"42":0,"43":0,"44":0,"45":0,"46":1,"47":1,"48":1,"49":0,"54":61503616,"55":1,"56":4,"57":90016,"58":0,"59":0,"60":500,"61":2,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":1,"69":1,"70":63,"71":12,"72":19,"73":20,"74":0},\n"settings":{"1":0,"2":9,"3":10,"4":4,"5":0,"6":1,"7":1,"8":1,"9":0,"10":0,"11":0,"12":0,"13":1,"14":0,"15":4,"16":0,"17":10,"18":4,"19":0,"20":0,"21":0,"22":0,"23":0,"24":4,"25":0,"26":4,"27":0,"28":0,"29":5,"30":0,"31":0,"32":3601,"33":0,"34":0,"35":0,"36":0,"37":4,"38":0,"39":4,"40":0,"41":13,"42":8,"43":0,"44":8,"45":8,"46":0,"47":0,"48":0,"50":0,"51":1,"52":0,"54":1,"57":0,"58":1,"59":6,"60":8,"61":1,"62":2500000,"63":0,"64":4,"65":0,"66":0,"67":0,"68":0,"69":1,"70":0,"71":0,"72":1,"73":0,"74":0,"75":3,"76":3,"77":0,"78":1,"79":0,"80":2,"81":3,"82":0,"83":1,"84":0,"85":0,"86":0,"87":0,"88":100,"89":12,"91":2,"92":12,"93":0,"94":0,"95":1,"96":0,"97":0,"98":0,"99":0}}\n'

Thanks!

@emuir was the camera recording when you ran getStatusRaw()?

No, it was just in standby. Should I initiate video recording through the
GoPro itself and then issue the getStatusRaw() command?
On Thu, Aug 9, 2018 at 7:13 AM Konrad Iturbe<EMAIL_ADDRESS>wrote:

@emuir https://github.com/emuir was the camera recording when you ran
getStatusRaw()?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/KonradIT/gopro-py-api/issues/53#issuecomment-411772216,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AkICooJ_PUBEMkYsy1mZU-tK66wlR5FKks5uPEN_gaJpZM4V1nQ1
.

Yes

Here is the getStatusRaw() output from a separate terminal after issuing the take_photo() command, which was still hung:

gopro.getStatusRaw()
'{"status":{\n"1":1,"2":2,"3":0,"4":0,"6":0,"8":1,"9":0,"10":0,"11":0,"13":0,"14":0,"15":0,"16":0,"17":0,"19":1,"20":1,"21":0,"22":0,"23":0,"24":0,"26":0,"27":0,"28":0,"29":"","30":"GP54691773","31":0,"32":0,"33":0,"34":24024,"35":14550,"36":23,"37":6,"38":111,"39":6,"40":"%12%08%09%07%30%14","41":0,"42":0,"43":1,"44":1,"45":0,"46":1,"47":1,"48":1,"49":0,"54":61500672,"55":1,"56":4,"57":385748,"58":0,"59":0,"60":500,"61":2,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":1,"69":1,"70":53,"71":12,"72":17,"73":20,"74":0},\n"settings":{"1":0,"2":9,"3":10,"4":4,"5":0,"6":1,"7":1,"8":1,"9":0,"10":0,"11":0,"12":0,"13":1,"14":0,"15":4,"16":0,"17":10,"18":4,"19":0,"20":0,"21":0,"22":0,"23":0,"24":4,"25":0,"26":4,"27":0,"28":0,"29":5,"30":0,"31":0,"32":3601,"33":0,"34":0,"35":0,"36":0,"37":4,"38":0,"39":4,"40":0,"41":13,"42":8,"43":0,"44":8,"45":8,"46":0,"47":0,"48":0,"50":0,"51":1,"52":0,"54":1,"57":0,"58":1,"59":6,"60":8,"61":1,"62":2500000,"63":0,"64":4,"65":0,"66":0,"67":0,"68":0,"69":1,"70":0,"71":0,"72":1,"73":0,"74":0,"75":3,"76":3,"77":0,"78":1,"79":0,"80":2,"81":3,"82":0,"83":1,"84":0,"85":0,"86":0,"87":0,"88":100,"89":12,"91":2,"92":17,"93":0,"94":0,"95":1,"96":0,"97":0,"98":0,"99":0}}\n'

This is the status after Ctrl+C:
'{"status":{\n"1":1,"2":2,"3":0,"4":0,"6":0,"8":1,"9":0,"10":0,"11":0,"13":0,"14":0,"15":0,"16":0,"17":0,"19":1,"20":1,"21":0,"22":0,"23":0,"24":0,"26":0,"27":0,"28":0,"29":"","30":"GP54691773","31":0,"32":0,"33":0,"34":9233,"35":14539,"36":23,"37":7,"38":111,"39":7,"40":"%12%08%09%07%31%0A","41":0,"42":0,"43":0,"44":0,"45":0,"46":1,"47":1,"48":1,"49":0,"54":61453056,"55":1,"56":4,"57":435764,"58":0,"59":0,"60":500,"61":2,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":1,"69":1,"70":53,"71":12,"72":17,"73":20,"74":0},\n"settings":{"1":0,"2":9,"3":10,"4":4,"5":0,"6":1,"7":1,"8":1,"9":0,"10":0,"11":0,"12":0,"13":1,"14":0,"15":4,"16":0,"17":10,"18":4,"19":0,"20":0,"21":0,"22":0,"23":0,"24":4,"25":0,"26":4,"27":0,"28":10,"29":5,"30":0,"31":0,"32":3601,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":4,"40":0,"41":13,"42":8,"43":0,"44":8,"45":8,"46":0,"47":0,"48":0,"50":0,"51":1,"52":0,"54":1,"57":0,"58":1,"59":6,"60":8,"61":1,"62":2500000,"63":0,"64":4,"65":0,"66":0,"67":0,"68":0,"69":1,"70":1,"71":0,"72":1,"73":0,"74":0,"75":3,"76":1,"77":0,"78":1,"79":0,"80":2,"81":3,"82":0,"83":1,"84":0,"85":0,"86":0,"87":0,"88":100,"89":12,"91":2,"92":12,"93":0,"94":0,"95":1,"96":0,"97":0,"98":0,"99":0}}\n'
And finally, this is the status while the camera is video recording (initiated from the GoPro):
'{"status":{\n"1":1,"2":2,"3":0,"4":0,"6":0,"8":1,"9":0,"10":1,"11":0,"13":7,"14":0,"15":0,"16":0,"17":0,"19":1,"20":1,"21":0,"22":0,"23":0,"24":0,"26":0,"27":0,"28":0,"29":"","30":"GP54691773","31":0,"32":0,"33":0,"34":9240,"35":14550,"36":23,"37":6,"38":111,"39":6,"40":"%12%08%09%07%30%32","41":0,"42":0,"43":0,"44":0,"45":0,"46":1,"47":1,"48":1,"49":0,"54":61470579,"55":1,"56":4,"57":416390,"58":0,"59":0,"60":500,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":1,"69":1,"70":53,"71":12,"72":17,"73":20,"74":0},\n"settings":{"1":0,"2":9,"3":10,"4":4,"5":0,"6":1,"7":1,"8":1,"9":0,"10":0,"11":0,"12":0,"13":1,"14":0,"15":4,"16":0,"17":10,"18":4,"19":0,"20":0,"21":0,"22":0,"23":0,"24":4,"25":0,"26":4,"27":0,"28":10,"29":5,"30":0,"31":0,"32":3601,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":4,"40":0,"41":13,"42":8,"43":0,"44":8,"45":8,"46":0,"47":0,"48":0,"50":0,"51":1,"52":0,"54":1,"57":0,"58":1,"59":6,"60":8,"61":1,"62":2500000,"63":0,"64":4,"65":0,"66":0,"67":0,"68":0,"69":1,"70":1,"71":0,"72":1,"73":0,"74":0,"75":3,"76":1,"77":0,"78":1,"79":0,"80":2,"81":3,"82":0,"83":1,"84":0,"85":0,"86":0,"87":0,"88":100,"89":12,"91":2,"92":12,"93":0,"94":0,"95":1,"96":0,"97":0,"98":0,"99":0}}\n'

Restart your camera. Try connecting it to the GoPro app and see if you can browse media.

Jumping in -- I've been experiencing the same with my Hero4.

Hi KonradIT,
I have similar problem with shoot_video() method. How can this be resolved?
Thanks,
Oleh.


chembl_webresource_client from the UIBCDF channel

Description
chembl_webresource_client 0.10.7 was uploaded to the UIBCDF anaconda channel.
This way we sort of bypass the problem with conda-build and pip.
Status

[x] CI tests passed
[x] Ready to go

Codecov Report

Merging #46 (76d6810) into main (c58993f) will not change coverage.
The diff coverage is 0.00%.


Firefox - addon not verified

Trying to add the latest OldTweetDeck to firefox.  It keeps saying its not verified and will not install it even after I change that xpinstall.signatures.required setting to "false".  Is there a work-around im not seeing?.

are you using Firefox Developers or Beta

Version 118.0.2 .. dont think its beta or developers...

You have to use Firefox Developers or Beta for this to work as said in README


BZ-1275621: AssetMgmt: Impossible to promote multiple selected files

+1 to merge.

Thanks!
master: acc55c5ce62e832b6f9a80ffea213a5a79fe37b4


Mspsds 559 add tests for case attachements

Pull Request Test Coverage Report for Build 1204

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 94.966%

Totals

Change from base Build 1202:
0.3%

Covered Lines:
2396

Relevant Lines:
2523

💛  - Coveralls


compile error

I am getting an error compiling. The error is described here.
https://github.com/esp8266/Arduino/issues/612
What setup are you using to avoid this.
I am also getting a waring which i get rid of by adding this near the top.
// gets rid of annoying "deprecated conversion from string constant blah blah" warning
#pragma GCC diagnostic ignored "-Wwrite-strings"

I am using esp8266/Arduino from git. I am using this specific version: git reset --hard 1154545fa8db7f1ce183865b776cadffc4e8d03f. Not sure whether this makes a difference.

Installed this libm.a and compiled fine after that.
https://files.gitter.im/esp8266/Arduino/Abqa/libm.a.tbz


Ban kprobes that can cause soft lockups

⚠⚠ Warning ⚠⚠
Running any of the tracing commands in the tests will likely freeze your computer

As reported in https://github.com/iovisor/bcc/issues/2300, running certain BFP code in some kretprobe can cause deadlocks.
While ideally maybe this should be addressed at the kernel / libbcc level, this would temporarily protect our users from rendering their system completely unusable.
In netcons, I can see several messages such as:
watchdog: BUG: soft lockup - CPU#8 stuck for 23s!
What do you think about this approach, is it too aggressive? It could happen the deadlock only occurs in some circumstances such as sending data through a perf buffer, but maybe not while accessing a map? In these cases we could add smarter checks in the semantic analyser?
Not sure if this can reproduce in other kernel versions (but I'd assume so!)

Test Plan
$ sudo make runtime-tests
[...]
Test file: banned_probes

kretprobe:_raw_spin_lock is banned OK
kretprobe:queued_spin_lock_slowpath is banned OK
kretprobe:_raw_spin_unlock_irqrestore is banned OK
kretprobe:_raw_spin_lock_irqsave is banned OK
[...]

cc: @yonghong-song
Thanks,
(uname -a: Linux 4.16.18-151 #151 SMP Mon Apr 1 12:25:10 PDT 2019 x86_64 x86_64 x86_64 GNU/Linux)

Thanks! Can you add a comment above line 27 says something like: "Unsafe kprobes are excluded by the kernel; this is a supplemental list".
I reproduced on 5.0. Now I need to go reboot my instance. :)

Thanks for testing! 😃Good idea!

Thanks!


New version: GoLang.Go version 1.21.0

Pull request has been created with Komac v1.9.1 :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/115760&drop=dogfoodAlpha

How I resolve RequestContainsTooManyFlaggedFiles?

How I resolve RequestContainsTooManyFlaggedFiles?

You'd have to get each one approved by the scan which failed. This might be SmartScreen or another, similar service that we use.

CC @mdempsky


Support tracking stories from multiple locations

We need to support tracking stories from multiple sources. Right now, that's google spreadsheets and RSS. We also need to post updates from those stories to multiple channels. We want to avoid a full-fledged admin system to keep things simple.
The plan:
Add a yml file that specifies source type, source details (eg URL), team name, and channel. As part of the cron job, the app will:

Read that file
Dispatch each specified scraper
Save the stories to the same DB we have been using, but add a column to store story team
Post updates to the team's channel

We need to:

Add the YML dispatcher
Add an RSS scraper
Dispatch updates to the the channel of the team, rather than to the global config channel

Deploy: There should only be one yml file (not a staging.yml and production.yml). This will reduce breakage. It does mean that the staging slack will need to have the same channels as the live slack.

\m/


healthinsights, fix legacy LRO template

Data Plane API - Pull Request

API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

Link to API Spec engagement record issue:

Is this review for (select one):

[ ] a private preview
[ ] a public preview
[ ] GA release

Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified. Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.

Design Document:
Previous API Spec Doc:
Updated paths:

❔Got questions? Need additional info?? We are here to help!

 Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

💬 Teams Channel
💌 email

Click here for links to tools, specs, guidelines & other good stuff
Tooling

Open API validation tools were run on this PR. Go here to see how to fix errors
Spectral Linting
Open API Hub

Guidelines & Specifications

Azure REST API Guidelines
OpenAPI Style Guidelines
Azure Breaking Change Policy

Helpful Links

Azure DevTools Wiki

/azp run

ModelValidation fails because 200 would indeed never return by backend.
However, apparently I cannot remove them. As that would be breaking changes.


Backport: Cluster remains in "Active" state when all 3 etcd nodes are powered OFF

Backport https://github.com/rancher/rancher/issues/20927

Tested with release v2.2-head
K8s version : v1.14.3
Steps:
Create a custom cluster using S3 configuration with nodes as below:
N1 - control, worker
N2, N3, N4 - 3 etcds
Create a few workloads
Power off etcd nodes N2, N3, N4
After powering off the etcd nodes, the cluster changed to "Unavailable" state as expected.

Cluster was accessible through UI. The etcd nodes were deleted and new nodes were added and cluster was restored from S3

Fix for this issue resulted in https://github.com/rancher/rancher/issues/21216

Tested with release v2.2.5-rc7
K8s version : v1.14.3
Steps:
Create a custom cluster using S3 configuration with nodes as below:
N1 - control, worker
N2, N3, N4 - 3 etcds
Create a few workloads
Power off etcd nodes N2, N3, N4
After powering off the etcd nodes, the cluster changed to "Unavailable" state as expected.


TSLint: Change value of the semicolon option from boolean to array

TypeScript Version:
nightly (1.9.0-dev.20160422)
Current code in tslint.json:
{
    "rules": {
        "semicolon": true
     }
}

Desirable code:
{
    "rules": {
        "semicolon": [true,
            "always"
        ]
     }
}

Description:
According to the TSLint spec and their json scheme, value of semicolon option should be array. So, When I use vscode-tslint, vscode show error message. this is noizy.

Please log this at the https://github.com/palantir/tslint/ repo

My explanation it was difficult to understand. I said about https://github.com/Microsoft/TypeScript/blob/master/tslint.json#L19


darwin: Remove uiWindow singleton delegate by subclassing.

Removes global state and related problems

Related to #157 and #160
I hope I did not break any of the callback code or menu shenanigans. I tested some of it in the tester, but since we don't have an established protocol yet, it's hard to tell.
@e1732a364fed does that fix window creation in the golang bindings for you with this patch? Not sure if you can test.

Not sure how that typo slipped in. Should work now.

I tested your PR. Not working on darwin. Same crash issue.

The uiWindow now works fine. But it is the other controls init that still make the program crash. So the #160 issue is still not fixed, because unless you want your user to only create an empty window with nothing inside.
for example, create an checkbox will still lead to crash on darwin in the golang binding.

Yes, that is sadly still to be expected. This needs to be fixed for all controls that use the global delegate mechanism.
I am glad that reverting the offending commit works for you, sadly it does break the testing infrastructure as well. I believe fixing the underlying issue to be the better course of action. I've already committed PRs for about half of the offending uiControls.

I've already committed PRs for about half of the offending uiControls.

Thanks for your hardwork!


All languages share the same product tags?

Why must all language versions share the same product tags? e.g. I have english product tags for english version, chinese product tags for chinese version.  But now I cannot separate them, which means I have to use all english & chinese product tags in both versions of a single product.  If I add more languages, I have to use all different language tags in every copy??

PHP: 5.6.30
WordPress: 4.7.5
WooCommerce: 3.0.7
Polylang: 2.1.5
Hyyan WooCommerce Polylang Integration: 1.0.0
Browser: Chrome Version 58.0.3029.110 (64-bit)

I'm not quite sure what you mean...
check Settings\WooPoly, Features setting for Translate Tags

If this is Off, then Tags don't have a language, you just get the same Tags coming up in every language
If this is On, then Tags have language and translations.

One change is that missing Tags may now be added as copy of source language, instead of simply disappearing in the second language..

e.g. i need "t-shirt", "blue t-shirt" product tags in one of my products in english version.
For the same product in Chinese version, I only need "恤衫", "藍恤衫" product tags in the same product in chinese verison.
and then the plugin replaces the english version of that product with all my chinese tags

no, it doesn't normally, please answer the questions:

can you see the flags on the Products, Tags page, eg /wp-admin/edit-tags.php?taxonomy=product_tag&post_type=product ?
have you checked: Settings\WooPoly, Features setting for Translate Tags /wp-admin/options-general.php?page=hyyan-wpi  ?
check also in Polylang, Languages Settings /wp-admin/admin.php?page=mlang_settings  in the part Custom post types and Taxonomies, Custom taxonomies,  Product tags should be cheked

Yes for all, and already checked.
Do you mean I have to translate the tag one by one in order to display different language tags in different language version?  That would be a bit crazy.. since for SEO purpose, I don't use exact same meaning tags for each language even for the same product..

ah ok, so you don't want to the tags to be separate but not translated?
Maybe we should have an option for that.
But then you would have to add the tags separately every time...
For example if the tag is translated, you just add T-shirt once to the English version - I think you can even do in bulk edit - and then you automatically get 恤衫 in Chinese and related tag in every other language.
I guess an option could be added to not add the translation entries for tags, they are added for Categories and Terms because they are kind of structural and actually breaks the system in unexpected ways if you save a translation by mistake with missing Category or Term.
For tags it's also not damaging to have an extra tag and useful to have a reminder that you got tags not translated.
If you are cleaning up your tagging there are also tools like https://wordpress.org/plugins/term-management-tools/ which still seem to work for merging tags or even moving tags to categories etc

I was playing around with this and thinking what the options could be if we allow more options, for example:
Tag translation options:

[ ] No Translation/Shared Tags - Product shows same tags in all languages
[ ] Enable translation - when saving a product, only translated tags will be copied to product translations
[ ] Enforce translation - when saving a product, tags are always copied to product translations, missing tags are auto-completed by copy source and can be translated later
[ ] No Translation/Independent Tags - All product translations are tagged independently, there is no Tag translation or synchronization

thank you for doing this.  the first option might be redundant? as the third option already cover this scenario.

No, the third option is completely different, in the third option which is the best option, you create your tag for "T-shirt" and then if you didn't translate it yet, yes you get "T-shirt" copied to your Chinese translation of product, but then you go back to the Products\Tags screen and translate Chinese "T-shirt" to "恤衫" or whatever and automatically the system is updated so:

chinese product only shows 恤衫
English product only shows T-shirt

However in option 1, both Chinese and English products would have to show both "T-shirt" and "恤衫"..   but wait... in option 1, what do you expect to happen if someone links on the tag link for "恤衫"?    Actually it depends a bit on your Polylang configuration, but either Polylang doesn't know what language the page is supposed to be or it has to assume you are in Shop base language:  if that's English, then when you click on 恤衫 then you would get only English products!
Actually I'll explain why the third option is correct and why the other options are bad and try to write it better in the documentation:

Product Tags are NOT for SEO keywords: SEO keyword type stuff should be part of your product description, excerpts etc
Product Tag is actually a way of grouping different products together in the system, like Product Categories, but in a flexible way.

Product Categories are a hierarchical way of organising the product catalogue
Tags are a way of grouping products from different categories: Tags are shown as a link on the Product page which links to a Tag page which has it's own slug and description and so on.

In this way, the tags are relevant for search engines because each one is a separate linked page which will be found and indexed.   If all your products have different tags and you have lots of different Tag pages with one product each, this would be bad SEO and actually might be counted by Google as duplicate content, since you basically have multiple pages with the same content, the Product page with 1 product and the tag page with one product.
Also if the Tags are not translated, this means that your site has pages which are not translated, you cannot switch language on those pages.

I try simpler explanation:
https://github.com/hyyan/woo-poly-integration/wiki/Product-Tags

Yes you're right.  I was thinking about your previous comment too.  Maybe I should restructure my tags instead.  Thanks for your advice.

No problem, I had the same thing when starting to use the system, I guess I thought "Tag" means something like markup for SEO, but when you realise it is really a type of page or category it is quite a different perspective.


Check openstack-ansible submodule status

When executing the deploy script, check for the presence of a properly
checked out openstack-ansible submodule. This check will not attempt to
update the submodule.
If the submodule is not checked out or has merge conflicts, an error
message will be printed and the deploy script will halt execution. This
is to prevent missing or broken files from causing partial or incorrect
deployments.
If the submodule is checked out, but does not match the expected SHA,
a warning message will be printed but the deploy script will continue
execution. This is to allow local changes or specific versions of OSA
to be tested during deployment.
Connects #1328

Your content preview is now ready. :bow:

To future reviewers, I do not consider @evrardjp comment to be a review unless he notes otherwise. This was simply feedback on the work before it became a PR.

It seems straightforward, will test it today.

Why not do the proper submodule update if it is not properly set?

@cloader89 I don't want to make assumptions about the environment. It could be possible the deployer has incorrectly set the OA_DIR variable, or some other mistake. And checking out the submodule incorrectly could cause confusion for them, or a broken deploy.

@tomc603 thanks for clarifying and I agree.

@git-harry I got the following failure, but I don't know what it's actually saying or asking for.
[snip]
19:37:52 failed: [jrpcaioiad-677] => {"failed": true}
19:37:52 msg: Zero entities with the label jrpcaioiad-677 exist. Entities should be created as part of the hardware provisioning process, if missing, please consult the internal documentation for associating one with the device.```

Harry has suggested this could be a MaaS API limit. I will retry later.

retry_ceph

recheck_ceph

👀 -only this looks good 👍

LGTM 👍 after ceph gate test


[BUG] Background image of proposals is not consistent

Expected Behavior

Background image of https://stats.webb.tools/#/proposals is not consistent with either https://stats.webb.tools/#/keys or https://stats.webb.tools/#/authorities. The background image should be consistent (it is shifted, simply switch between them.

https://www.loom.com/share/5fb0c97e1fd4410690715fb6efd39724

Fixes for this should go directly to main too


fix(buttons): make buttons 100% wide in mobile viewport by default

Resolves #72

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


JANDEX-30 Add ability to get on disk version to the index reader

Rebased and merged. Some additional API changes were made afterwords.


improve logic to determine build type

CMake is not consistently using the PATH type for the cache entry.
Followup of #73.

+1


No test coverage for CONFIG_ZERO_LATENCY_IRQS

This ARM feature exists and appears correct (and builds, at least), but is exercised anywhere in the existing test suite.  It needs validation if we're going to claim it as a feature.

Discovered when code review for #16782 asked for ZLI support.

FYI @pizi-nordic

FYI: @nordic-krch

I've got an idea of a simple test for this feature; if you have any proposals, @nordic-krch , you can write here.


[lint] Line with spaces only

My linter complain about this, so it must be something to avoid :-)
Thanx for the look and feel, it's a great UX :1st_place_medal:

thanks :)


[Feature request]: Unix socket support for TCP proxy

It would be great to have UNIX socket support for TCP proxying.

Something like this?
urlprefix-/var/run/mysql.sock proto=tcp
fabio -proxy.addr '/var/run/mysql.sock;proto=tcp'

I'm wondering whether this would be useful for HTTP, too?

Yes that is correct. I do not see a use case for HTTP though.

Exactly, my use case is for postgresql failover. The unix socket cuts down on the tcp connection setup cost.


Fix function comments based on best practices from Effective Go

Hi, we updated some exported function comments based on best practices from Effective Go. It’s admittedly a relatively minor fix up. Does this help you?

Sure, thanks.


Events when touch starts and ends

It doesn't seem that onTouchStart or onTouchEnd fire on a Swipeable component--is this right?
How, then, can I know when a touch starts or ends? Is it only possible to receive the swiping events after having dragged beyond the delta value?

closing and tracking possible work with https://github.com/dogfessional/react-swipeable/issues/108


Special Questions for Open Data submissions

Identify questions needed for open data submissions.
Such as:
Data Stuff

where is the data stored ?

Is it accessible by everyone?
If not, what needs to happen so participants can access?

in what format is the data?

do participants need special and/or non-open software to use the data?

are there licensing (or other) restrictions on the data for reuse?
how large is the data file/s?

Brian Bot / Ali Swanson - want to bring data to the sprint

see people come to the sprint to do some analysis, maybe do some data cleaning
Brian - human data - need to request access (6 days) - can bring him in to do a datahack
Ali - Serengeti - do some analysis

Migrated to https://github.com/mozillascience/plan/issues/71


constraint_exclusion

I see that you recommend setting constraint_exclusion = on.
From the postgres doc:
Currently, constraint exclusion is enabled by default only for cases that are often used to implement table partitioning. Turning it on for all tables imposes extra planning overhead that is quite noticeable on simple queries, and most often will yield no benefit for simple queries. If you have no partitioned tables you might prefer to turn it off entirely.

By default it takes value partition.
So what's the point of turning on completely?
Thanks for the guide!

After reading more postgres docs, looks like the parameter that should be turned on is enable_partition_pruning (by default is on).
constraint_exclusion is for partition tables with inheritance

@adrianlzt thanks for bringing this up as I missed this point!
constraint_exclusion allows the query planner to avoid including partitions in a query when it can prove they can't provide useful rows to satisfy it.
When I originally wrote the docs it was geared around PostgreSQL version 10 and the [official docs suggested to have constraint_exclusion enabled]https://www.postgresql.org/docs/10/ddl-partitioning.html#DDL-PARTITIONING-DECLARATIVE).
Since the release of PostgreSQL 11, the official version 11 docs do suggest to use the enable_partition_pruning.
The good news is both are enabled by default; but it should be known to the user to make sure they are enabled.
I'll update the notes to address the difference.

@adrianlzt, I updated the notes to address your input. Please let me know if you have any more questions.

All good. Thanks!


home-assistant: support electrasmart component

Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 333267 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.electrasmart
python311Packages.pyelectra
python311Packages.pyelectra.dist
python312Packages.pyelectra
python312Packages.pyelectra.dist


Flaky timeouts with batch-mode CFE

There are new test failures on [vm, profiler] Don't assume the isolate has a mutator during a profile sample..
logs
The tests
service/awaiter_async_stack_contents_2_test/dds Timeout (expected Pass)
service/awaiter_async_stack_contents_2_test/service Timeout (expected Pass)
service/causal_async_star_stack_contents_test/service Timeout (expected Pass)
service/coverage_optimized_function_test/service Timeout (expected Pass)
service/custom_stream_listen_test/dds Timeout (expected Pass)
service/file_service_test/dds Timeout (expected Pass)
service/file_service_test/service Timeout (expected Pass)
service/get_allocation_traces_test/dds Timeout (expected Pass)
service/get_allocation_traces_test/service Timeout (expected Pass)
service/get_heap_map_rpc_test/dds Timeout (expected Pass)
service/get_instances_rpc_test/dds Timeout (expected Pass)
service/get_object_rpc_test/service Timeout (expected Pass)
service/get_source_report_const_coverage_test/dds Timeout (expected Pass)
service/get_source_report_const_coverage_test/service Timeout (expected Pass)
service/instance_field_order_rpc_test/dds Timeout (expected Pass)
service/instance_field_order_rpc_test/service Timeout (expected Pass)
service/next_through_for_loop_with_break_and_continue_test/dds Timeout (expected Pass)
service/next_through_for_loop_with_break_and_continue_test/service Timeout (expected Pass)

are failing on configurations
cfe-strong-linux

cc @rmacnak-google

The two previous failures for this builder show a similar pattern for unrelated commits.

Turned green, red again https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/front-end-nnbd-linux-release-x64/14445/overview

When I run locally, the longest test runs in under 4 seconds. The timeout is 1 minute, so it's more likely something is stuck than slow.

@rmacnak-google Why do you consider these as front-end related? Isn't the slowness a consequence of the tests themselves?

This is on front-end-nnbd-linux-release-x64, where the tests are compiled but not executed.

Ah, yes. That might indicate that it has to with assert or verification that we perform on these but, given that we can compile in time when part of the VM.

@jensjoha Can you take a look at this? I don't seem to be able to replicate the try-bot run on my Windows machine.

The TL;DR here is that these tests are all run on a batch compiler, and that the first test pays the cost of the batch compiler starting up. https://dart-review.googlesource.com/c/sdk/+/332220 adds some more timeout for the first run to offset this, which should make the timeouts go away.
Details:
These tests are all run on a (-j defaulting to the number of cores) batch compiler(s).
On my machine launching one batch compiler (from source) takes 6-7 seconds. Launching 12 (my number of cores) takes 12+ seconds instead. Likely this is more on the bots.
The cost of the startup is attributed to the first test being run. So if the batch compiler takes 59 seconds to start (hopefully it doesn't but for the sake of argument) there's only 1 second left for the test to compile before we get a timeout.
This - for the service tests in particular - is further worsened by these compiling something like 470 libraries (it pulls in package:dds, package:observatory, package:path, package:test, package:yaml etc etc etc.) (whereas many language tests only compile 1 library).
This is in turn even further worsened by the first compile taking longer as the JIT hasn't warmed up yet. When running 12 simultanions compiles (again, the default) I get actual compile times like this:
Compile 1: 22-23 seconds
Compile 2: 9-10 seconds
Compile 3: 6-7 seconds
Compile 4: 5.5-6.5 seconds
Meaning that on my machine the first test takes ~36 seconds. While that leaves a good amount of room before hitting the timeout of 60 seconds, the bots are likely slower and boom.
In https://dart-review.googlesource.com/c/sdk/+/332220 I give the first test run 30 additional seconds of timeout which should fix the timeout.
Generally we'd likely want faster batch compiler startup, which should be possible with AOT compilation of the batch compiler, but that doesn't support asserts (https://github.com/dart-lang/sdk/issues/53343) which is currently enabled and that we probably do want to have enabled.
I used tools/test.py '--progress=status' --report --time --write-results --write-logs --clean-exit -ncfe-strong-linux service/next_... for this btw.

@whesse I think this might related to what you saw recently.


Error when retrieving fields of type DateTime

When I try and query a Node that has a DateTime property I get the following error:
<interactive>:0:0: error: DateTime is not supported as a return type in Bolt protocol version 1. Please make sure driver supports at least protocol version 2. Driver upgrade is most likely required.

I'm running the latest version
11:35 $ neo4j-client --version
neo4j-client: 2.2.0
libneo4j-client: 2.2.0
libcypher-parser: 0.6.0

Right - the latest Neo4j version has made a non-documented or standardized protocol upgrade. There is some work in the https://github.com/cleishm/libneo4j-client/tree/neo4j-proto-2 branch to reverse engineer the additions and add support for them.

Is libneo4j-client effectively dead with Bolt now having moved to a further and also undocumented v3 of the wire protocol?

Not necessarily. V1 bolt works ok, and it should not be too hard to reverse engineer the protocol given the server implementation is open source. It just needs a someone to do so.

@seajaysec ran into the same issue. Is anyone interested in contributing to this? @agatlin?


Force a crash from a windows service.

Hi everyone!
How do I force a crash from a windows service to have the service recovery kick in?
My service does its work in a Task which is run from the Topshelf Start lambda like so:
        public bool Start(HostControl control)
        {
            _hostControl = control;

            _serviceTask = new Task(() =>
            {
                // do work and if necessary crash to force a service restart
                throw new ApplicationException("Something went wrong.");
            });
            _serviceTask.Start();

            return true;
        }

I tried many different configurations but it seems the Exception thrown from the Task does not end up in the UndhandledException handler in Topshelf ? What am I doing wrong? Is there a way to do something like this?
        public bool Start(HostControl control)
        {
            _hostControl = control;

            _serviceTask = new Task(() =>
            {
               control.Crash(new ApplicationException("Something went wrong."));
            });
            _serviceTask.Start();

            return true;
        }

If I throw an exception from anywhere but my task, the service stops gracefully and the operating system (Windows Server 2012) does not restart it. So how do I make it restart? How do I make my service crash?

Environment.Exit(1) should do what you're looking for.

Thanks Travis, the problem I had was using a 'Task' instead of a 'ThreadPool'. The Task does its own exception handling and 'hides' the exception in a member variable. Using a ThreadPool with a plain thread resolved my issue.

@ivaningrooves I'm curious, did you try hooking into TaskScheduler.UnobservedTaskException event? If a Task runs into an unhandled exception and is not being awaited, this event gets triggered. I've been able to use this.


3/n Move Accelerator into strategy - move model_sharded_context()

What does this PR do?
Move model_sharded_context() to strategies from Accelerator

Part of #10648
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you list all the breaking changes introduced by this pull request?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

@ananthsub  why this will be a breaking change?

@ananthsub why this will be a breaking change?

It's a breaking change since we're removing an API from the accelerator interface. If anyone implemented a custom accelerator which overrode model_sharded_context this PR would break that usage. I'm using the label more for posterity so its easy to identify all such breaking changes for the 1.6 release

@ananthsub why this will be a breaking change?

It's a breaking change since we're removing an API from the accelerator interface. If anyone implemented a custom accelerator which overrode model_sharded_context this PR would break that usage. I'm using the label more for posterity so its easy to identify all such breaking changes for the 1.6 release

Yeah make sense! We don't have this override in internal fb or unit test, so didn't think about mark as breaking change. Will mark all move as breaking change then.


error: undefined reference to llvm

Trying to build bolt on ubuntu and arch and I'm getting the following error when running bazel build //src/llvm-backend:main:
   1   │ Loading:
   2   │ Loading:
   3   │ Loading: 0 packages loaded
   4   │ Loading: 0 packages loaded
   5   │ Analyzing: target //src/llvm-backend:main (0 packages loaded, 0 targets configured)
   6   │ Analyzing: target //src/llvm-backend:main (0 packages loaded, 0 targets configured)
   7   │ INFO: Analyzed target //src/llvm-backend:main (0 packages loaded, 0 targets configured).
   8   │ INFO: Analyzed target //src/llvm-backend:main (0 packages loaded, 0 targets configured).
   9   │ INFO: Found 1 target...
  10   │ INFO: Found 1 target...
  11   │ [0 / 2] [Prepa] BazelWorkspaceStatusAction stable-status.txt
  12   │ [0 / 2] [Prepa] BazelWorkspaceStatusAction stable-status.txt
  13   │ ERROR: /home/nicolas/devel/bolt/src/llvm-backend/BUILD:3:10: Linking src/llvm-backend/main failed: (Exit 1): gcc failed: error executing command /usr/bin/gcc @bazel-out/k8-fastbuild/bin/src/llvm-backend/main-2.params
  14   │
  15   │ Use --sandbox_debug to see verbose messages from the sandbox gcc failed: error executing command /usr/bin/gcc @bazel-out/k8-fastbuild/bin/src/llvm-backend/main-2.params
  16   │
  17   │ Use --sandbox_debug to see verbose messages from the sandbox
  18   │ ERROR: /home/nicolas/devel/bolt/src/llvm-backend/BUILD:3:10: Linking src/llvm-backend/main failed: (Exit 1): gcc failed: error executing command /usr/bin/gcc @bazel-out/k8-fastbuild/bin/src/llvm-backend/main-2.params
  19   │
  20   │ Use --sandbox_debug to see verbose messages from the sandbox gcc failed: error executing command /usr/bin/gcc @bazel-out/k8-fastbuild/bin/src/llvm-backend/main-2.params
  21   │
  22   │ Use --sandbox_debug to see verbose messages from the sandbox
  23   │ external/llvm/clang+llvm-9.0.0-x86_64-pc-linux-gnu/lib/libLLVMCore.a(AsmWriter.cpp.o):AsmWriter.cpp:function writeDIExpression(llvm::raw_ostream&, llvm::DIExpression const*, (anonymous namespace)::TypePrinting*, llvm::SlotTracker*, llvm::Module const*): error: undefined ref
       │ erence to 'llvm::dwarf::OperationEncodingString(unsigned int)'
       | ..

I have change the llvm in both for the linux one. Is there anything addition I need to do to make it work?

Hmm, not sure. A minimal example you might want to test your Bazel LLVM setup with is this repo: https://github.com/dgp1130/llvm-bazel-foolang/blob/master/llvm.bzl


Conflict with vim-better-whitespace since commit 0470873

Environment (please complete the following information):

OS: macOS 10.13.6 / Ubuntu 18.04
(Neo)Vim version: NVIM v0.4.4
vim-clap version: 0470873 and later versions
Have you reproduced with a minimal vimrc: yes
Have you updated to the latest plugin version: yes
Have you upgraded to/compiled the latest Rust binary: downloaded the latest prebuilt binary

Describe the bug
Using Clap grep (Clap files as well, but hard to reproduce), Clap will fail to clear displayed matches when the query being updated and no matches found. An error will be raised like:
Error detected while processing function <SNR>99_apply_grep[11]..<SNR>99_spawn[13]..<SNR>99_clear_job_and_matches[3]..33
[8]..41:
line    2:
E803: ID not found: 4

Clap debug

            has cargo: 0
            has maple: /Users/zhyu/.vim/plugged/vim-clap/bin/maple
           maple info: version 0.1.21 (git v0.21), built for x86_64-apple-darwin by rustc 1.46.0 (04488afe3 2020-08-24).

         has +python3: 0
has py dynamic module:
Error detected while processing /Users/zhyu/.vim/plugged/vim-clap/autoload/clap/filter/sync/python.vim:
line   39:
E319: No "python" provider found. Run ":checkhealth provider"0
            has ctags:
vim-clap: Ensure ctags executable is in your PATH and has the JSON output featurectags without JSON output support
     Current FileType: clap_input
Third Party Providers: []
       Global Options:
    let g:clap#autoload_dir = '/Users/zhyu/.vim/plugged/vim-clap/autoload'
    let g:clap#provider_alias = {'gfiles': 'git_files', 'hist:': 'command_history', 'hist/': 'search_history'}
    let g:clap_background_shadow_blend = 50
    let g:clap_disable_bottom_top = 0
    let g:clap_disable_matches_indicator = v:false
    let g:clap_disable_optional_async = v:false
    let g:clap_disable_run_rooter = v:false
    let g:clap_enable_background_shadow = v:true
    let g:clap_enable_debug = v:false
    let g:clap_enable_icon = 0
    let g:clap_forerunner_status_sign = {'done': '•', 'running': '!', 'using_cache': '*'}
    let g:clap_insert_mode_only = v:false
    let g:clap_multi_selection_warning_silent = 0
    let g:clap_no_matches_msg = 'NO MATCHES FOUND'
    let g:clap_open_action = {'ctrl-v': 'vsplit', 'ctrl-x': 'split', 'ctrl-t': 'tab split'}
    let g:clap_popup_border = 'rounded'
    let g:clap_preview_size = 5
    let g:clap_providers_relaunch_code = '@@'
    let g:clap_search_box_border_style = 'nil'
    let g:clap_search_box_border_symbols = {'nil': ['', ''], 'curve': ['', ''], 'arrow': ['', '']}
  Provider Variables:
                     []
Press ENTER or type command to continue

To Reproduce
Steps to reproduce the behavior:

Create the minimal vimrc min.vim:

set nocompatible
set runtimepath^=/path/to/vim-clap
set runtimepath^=/path/to/vim-better-whitespace
syntax on
filetype plugin indent on

Start (neo)vim with command: vim -u min.vim in a directory with some files

Execute Clap grep, type a query to get some matches, like:
query: abc
matches:

abc1
abc2
abc3

Type something more so there should be no matches, like:
query: abc4

See error

Expected behavior
All matches displayed in step 3 should be cleared, and show "NO MATCHES" without any errors.
Screenshots

Additional context

I found it seems to be a conflict with ntpeters/vim-better-whitespace, and I guess it's because vim-better-whitespace having some autocmd setups. I'm not sure whether it would be in conflict with other plugins
I tried with various Clap commits and discovered it only happens since 0470873
I checked the changeset of 0470873. Not sure the reason, but the following patch solves the issue for me:

diff --git a/autoload/clap/api.vim b/autoload/clap/api.vim
index b55932c..2ac897b 100644
--- a/autoload/clap/api.vim
+++ b/autoload/clap/api.vim
@@ -8,7 +8,7 @@ let s:is_nvim = has('nvim')
 let s:cat_or_type = has('win32') ? 'type' : 'cat'

 function! s:_goto_win() dict abort
-  call win_gotoid(self.winid)
+  noautocmd call win_gotoid(self.winid)
 endfunction

 function! s:_getbufvar(varname) dict abort

Fixed in the master.


Update README to correct js script path

README currently references :
ng-cordova-oauth/ng-cordova-oauth.min.js
The script actually lives at ng-cordova-oauth/dist/ng-cordova-oauth.min.js

You're right.  Thanks for opening the issue ticket :-)

This is corrected in https://github.com/nraboy/ng-cordova-oauth/commit/e9e909b57a64be90c1090a232f5dda55a2d51c48
Thanks for reporting!


Wallet address validation

Validation of the wallet address when building, registering and polling commands are used.

Will make sure all addresses are valid bitcoin addresses.

@F483 Already built this in: https://github.com/Storj/dataserv/blob/master/dataserv/Validator.py

I think this code belongs in btctxstore. I will add a validate_address and validate_wif methods if thats ok with you.

If you can just merge in the existing code into btctxstore that would be great.

Actually pycoin has it own validation functions which I already use internally, I just need to expose it via the api.

Has been added implicitly with wallet generation.