ios: On save from lightbox, request only the needed permission

(This is split off from #4139, which combined this with a distinct though related issue.)
While reviewing #4089 before merge, I noticed (https://github.com/zulip/zulip-mobile/pull/4089#issuecomment-639155183 ) that:

if you go to download an image from the lightbox,

and you haven't already given the app permissions on the photo library,

we show (well, cause the system to show) a permission request with the text

"Zulip" Would Like to Access Your Photos
Upload photos to a Zulip realm

In #5419, we'll improve the wording of that request, to:

"Zulip" Would Like to Access Your Photos
Choose photos from your library and send them in Zulip messages.

But for this situation it will still be wrong: we're not trying to upload at this point! You're not (as the user) going to choose any photos from your library, or send any Zulip messages. Rather we're trying to download; you're trying to save a photo from Zulip to your library. This is the message that would be appropriate (and that we do show) when you're composing a message and want to go attach a photo.
The text should match what we're actually trying to do; that's an important element of maintaining users' trust.
I believe the root of the issue is that we are apparently requesting general access to the photo library, when all we need in this situation is access to add a photo/image.
I think this is all happening inside the @react-native-community/cameraroll library. From our src/lightbox/download.js:
import CameraRoll from '@react-native-community/cameraroll';
// ...
  if (Platform.OS === 'ios') {
    return CameraRoll.save(url);
  }

So the next steps will be to see if there's an alternate way we can be using that library's API to get it to request the narrower permission; or if there's a newer version of the library that would solve the problem, or a corresponding issue in its tracker.

I think https://github.com/react-native-cameraroll/react-native-cameraroll/pull/355 is meant to fix this issue. It was released on Monday in v5.0.0.


build(client): Upgrade are-the-types-wrong to latest version (0.16.4)

Upgrades are-the-types-wrong to version 0.16.4.

Looks good. Adding a motivation in the PR description would be nice though. I see from the changelog that they added a new problem type that is detected. I assume that's the reason why we want the upgrade (besides just staying up to date)?

No, my motivation was just to keep us updated. I have several others coming. I'll update the description.


cactus fails to create pull request for root

Creating a pull request for feature/testing results in the following output. Even though it says it put telenav-build in the pull request set, it thinks there is no PR.
[INFO] --- cactus-maven-plugin:1.5.24:git-pull-request (default-cli) @ telenav-build ---
[INFO] Ignoring matched checkout cactus for pull request - because we are matching the branch feature/testing but it is on the branch develop

[SNIP]

[INFO] Ignoring matched checkout telenav-superpom for pull request - because we are matching the branch feature/testing but it is on the branch develop
[INFO] Will include telenav-build in the pull request set, on branch feature/testing
[WARNING] Every checkout matched already has an open, mergeable PR.  Nothing to do.

Is there actually a branch called feature/testing of telenav-build?
If yes, that's a bug.  If no, it's as intended.

I created it. I only pushed it because of the problem.

You created it after encountering the problem, or it already existed when the create pull request mojo was invoked?
How was the create pull request mojo invoked?

Was your checkout of telenav-build on that branch at the time?

Okay, this is really an ordering issue, that the mojo worked around by deciding that if they only checkout that needed a branch change was the root, then it has nothing to do.
What the mojo needs to do is to ensure that the submodule root (or really, any submodule root - there could be multiple, though we don't have them) is processed first.  Otherwise, a naive fix results in the submodules getting moved to the target branch first, which generates changes in the submodule root, putting it into a modified state - and that, then means that git refuses to change branches because the submodule root checkout is dirty - because all of the heads of the submodules were changed to the head of the feature branch.
A secondary problem is that we use git diff --quiet to determine if there are local modifications to commit, but in the submodule root, that will exit with 1 even if the state is modified:   cactus (modified content).  We need to actually detect that situation - otherwise we will try to generate a new commit in the root (which is the right thing if we modified .gitmodules or actually created a new branch) - but will fail when it tries to run git add -A and git commit -m to generate a new commit in the root, because git add -A doesn't add anything, so the commit will fail.

Ha! Got it:  git diff --quiet --ignore-submodules=dirty

Fixed.


Organizing execution of programs using timer object in matlab - (Duplicate of #4047)

Article checklist
Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[ ] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

`This closes #3642

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

@srishilesh I have created a new PR with the changes made please check.
cc @hectorkambow

@vitalisodhis
On a quick glance, the image path that you've specified in your index.md is mismatching with the image files that you've added.
Also, there are some formatting changes that are to be done. Please have a look at my PRs here, to understand the formatting and flow.
Ping me when done.
Thanks.

Merged #4047 into master


[BUG] N4 not working for certain cases?

On subject 51475 of ABIDE, we see this:

And the corresponding registration to MNI shows this bias:

The bias is much less apparent in skullstripping. I wonder why it failed.

This is likely related to conforming (refs #318). I've checked and N4BiasFieldCorrection does not fail this dramatically if the input image is int32 instead of float32.


Upgrade envoy image to distroless 1.18.3

How to categorize this PR?

/area security
/kind enhancement
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Envoy used apiserver-proxy and sidecar are upgraded to distroless `1.18.3` version.

>> make generate
make generate needs to be run:
 D landscaper/pkg/gardenlet/apis/imports/v1alpha1/zz_generated.deepcopy.go
 D landscaper/pkg/gardenlet/apis/imports/v1alpha1/zz_generated.defaults.go

>> make generate
make generate needs to be run:
 D landscaper/pkg/gardenlet/apis/imports/v1alpha1/zz_generated.deepcopy.go
 D landscaper/pkg/gardenlet/apis/imports/v1alpha1/zz_generated.defaults.go

How's that related to my PR?

I guess landscaper is building something on top of the charts.

I guess landscaper is building something on top of the charts.

This is not the case. For example https://github.com/gardener/gardener/pull/4301 had exact same changes but the build was successful. Something must be broken in the CI/CD

Okay the build is passing. Can you have another look?


feat: support alter materialized view to table

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
as title
~It’s still in a WIP status. This draft PR was only submitted to better view the diff~
Altering an MV to a table is actually quite simple. All you need to do is add a DML and exchange node in the graph, and then replace the table with the new table fragment.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

I suddenly realized that we also have to support CREATE TABLE AS besides ALTER MATERIALIZED VIEW TO TABLE. Currently, the CREATE TABLE AS is implemented with CREATE TABLE and a batch query of INSERT INTO SELECT, which will not subscribe to the future changes of that query. We may replace this behavior.


Asymmetric generic signatures for HKT in covariant/contravariant types

Based on https://github.com/apache/pekko/pull/1474
In Scala 2.13 all generic param types of HKT (both covariant and invariant) are transformed into wildcard types.
In 3.3.4-RC1 / 3.5.0 contravariant types are preserved but erased.
In 3.3.3- both contravariant and covariant types were preserved and not erased
Compiler version
3.3.4 / 3.5.0
Minimized code
import scala.annotation.unchecked.uncheckedVariance

trait SubFlowDef[+F[+_]]
final class Flow1[-In]{
  type Repr[+O] = Flow1[In @uncheckedVariance]
}
final class Flow2[+Out]{
  type Repr[+O] = Flow2[O]
}
class SubFlow[In, Out](
    delegate1: SubFlowDef[Flow1[In]#Repr],
    delegate2: SubFlowDef[Flow2[Out]#Repr]
)

Output
Based on javap outputs
Signatures:
Scala 3.3.4-RC1  /  3.5.0
  public SubFlow(SubFlowDef<?>, SubFlowDef<Flow2>);
    descriptor: (LSubFlowDef;LSubFlowDef;)V
    Signature: #9                           // (LSubFlowDef<*>;LSubFlowDef<LFlow2;>;)V

Scala 2.13
  public SubFlow(SubFlowDef<?>, SubFlowDef<?>);
    descriptor: (LSubFlowDef;LSubFlowDef;)V
    Signature: #12                          // (LSubFlowDef<*>;LSubFlowDef<*>;)V

Scala 3.3.3
  public SubFlow(SubFlowDef<Flow1<In>>, SubFlowDef<Flow2<java.lang.Object>>);
    descriptor: (LSubFlowDef;LSubFlowDef;)V
    Signature: #9                           // (LSubFlowDef<LFlow1<TIn;>;>;LSubFlowDef<LFlow2<Ljava/lang/Object;>;>;)V

Expectation
Probably both covariant and contravaraint types should have been replaced with wildcard types in generic signatures

The bisect shows that behaviour between 3.5.0 and 3.3.3 changed in https://github.com/scala/scala3/pull/19931
The change in typer led to a change in generic signatures emitted by the backend.

The current generic signature for covariant HKT is incorrect (LSubFlowDef<LFlow2;>) and is invalid, it should be never emitted. We need to either restore old behaviour or emit wildcard types instead.
It means that both 3.5.0 and 3.5.1 releases are producing invalid generic signatures. We should fix in the next release
The PR introducing the change to LTS was reverted (#21609)


Synchronize model files with selection

This change will keep the database in sync with file URLs and user option of selected model.

Deletion of a selected model will pick a new one
Deletion of all the models will display the welcome sheet
Picker can have optionals.
Model URLs are checked when ContentView is created, and models with missing files are being removed.

Thanks for more fixes. Just tested. Seeing a few problems still:

Adding a model selects the first model in the list, not the one I added (note that it also doesn't keep the one I had selected before). It should select the model I add.

These errors now show in the console when you interact with the model lists:
List with selection: SelectionManagerBox<Conversation> tried to update multiple times per frame.
List with selection: SelectionManagerBox<String> tried to update multiple times per frame.

Yes, this is not part of this pull request.

ah yes, looks like that bug was introduced in #45


Script incorrectly reports key type for OpenSSH 7.6

Using a key specifically generated with ssh-keygen -t rsa-sha2-512 on a Ubuntu 18.04 server running OpenSSH 7.6 (possibly others) erroneously reports
You're using an RSA key with SHA-1.
This key will continue to work if it's already set up, but you should strongly
consider generating a new key with the following command and using it instead:
ssh-keygen -t ed25519
If the key hasn't been set up by the deadline, you'll either need to generate a
new one as listed above, or upgrade to OpenSSH 7.2 or newer.

The debug statement for this version of OpenSSH for the sign_and_send_pubkey looks like debug3: sign_and_send_pubkey: RSA SHA256:<KEY_IDENTIFIER>. It is missing the 'signing' portion that the script is expecting. However, adding this key to a repository and cloning still works since the key is valid.

Hmmm from the docs I was referencing...
     -t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa
             Specifies the type of key to create.  The possible values
             are “dsa”, “ecdsa”, “ecdsa-sk”, “ed25519”, “ed25519-sk”, or
             “rsa”.

             This flag may also be used to specify the desired signature
             type when signing certificates using an RSA CA key.  The
             available RSA signature variants are “ssh-rsa” (SHA1
             signatures, not recommended), “rsa-sha2-256”, and
             “rsa-sha2-512” (the default).

So the -t flag I mentioned might be superfluous, I just wanted to be explicit on an older version of OpenSSH.


RuntimeError: CUDA error: invalid device ordinal in pytorch_lightning version:1.2.7

🐛 Bug
An error is reported when using multiple nodes and multiple GPUs on slurm. It seems it always initialize on only one node.
I only meet this question in version 1.2.7, but all is ok in version 1.1.2.
LOCAL_RANK: 0 -CUDA_VISIBLE_DEVICES: [0,1]
initializing ddp: GLOBAL_RANK: 2, MEMBER: 3/4
LOCAL_RANK: 0 -CUDA_VISIBLE_DEVICES: [0,1]
initializing ddp: GLOBAL_RANK: 3, MEMBER: 4/4
LOCAL_RANK: 0 -CUDA_VISIBLE_DEVICES: [0,1]
initializing ddp: GLOBAL_RANK: 0, MEMBER: 1/4
LOCAL_RANK: 0 -CUDA_VISIBLE_DEVICES: [0,1]
initializing ddp: GLOBAL_RANK: 1, MEMBER: 2/4
my trainer is:
trainer = Trainer(gpus=2, accelerator='ddp', num_nodes=2)
my slrum script is:
#SBATCH --nodes=2
#SBATCH --gres=gpu:2
#SBATCH --ntasks-per-node=2

PyTorch Version:  1.7.1
OS:  Centos
How you installed PyTorch: pip
Python version: 3.7.0
CUDA/cuDNN version: 10.1

Additional context

Is it working on 1.2.8? I tried to fix it here: #6941

Is it working on 1.2.8? I tried to fix it here: #6941
And I got confirmation from another slurm user that it's working now.

Is there any flags need to be set in Trainer?

no, just use sbatch to submit your job as usua. I think  the only thing you need to make sure is that you set the same number of nodes and gpus in the Trainer as in the submission script.
And lightning should detect that you run with slurm based on the env vars (e.g. SLURM_PROCID etc.)

any update here? have you managed to get it working with Lightning >= 1.2.8?

any update here? have you managed to get it working with Lightning >= 1.2.8?

Sorry, there are still some problems, but you mentioned that someone has successfully used it. I guess this may be my own problem. I'm trying to find the problem.


Clarify usage of terms function and method

Docs Build status updates of commit cba1e75:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/develop/scripting-fundamentals.md
:white_check_mark:Succeeded
View

docs/resources/add-ins-differences.md
:white_check_mark:Succeeded
View

docs/tutorials/excel-read-tutorial.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


compileForEval not working in either demo version

In the samples directory, the following works and produces a plausible answer:
../bin/qcert -source oql -target nnrc -eval -input data/persons.oql.input -schema data/persons.oql.schema oql/test1.oql
Omitting the schema makes no difference but if I omit the input I get
{"error": "Eval failed"}
as one might expect.   When I use the qcert.html version of the demo, to which @jeromesimeon recently added compileForEval, I get the same sort of error for the same evaluation, even though I am supplying the input and it appears to be present in the config structure being passed to the compiler.
I have merged the logic from qcert.html into demo.html.  It fails there also.

This appears largely fixed.   However, while I am able to get (e.g) oql->nnrc compilation and evaluation to work, I cannot get sql->nnrc evaluation to work (compiles fine, evaluation produces an uninformative error).   This is true of both the small examples in samples/sql and larger ones in samples/sql/tpc.   I haven't tried other source languages.

Addendum to previous: I tried a tech_rule example (evaluating the nnrc) and that worked also.  So far, then, I've only observed problems when the source language is SQL.

I couldn't find a way to make it work, until I remembered that the SQL parser turns all names into lower case. Using a schema/data with lowercase constants, I was able to run the SQL compiler and exec from the demo. Do you think that might be the problem you were having?

Responding to @jeromesimeon.  It's possible that that's part of the problem but I'm not sure it's the entire problem.   I've tried two cases:
Case 1: s2.sql from samples/sql, with persons.sql.json from samples/data
Case 2: tpch_6.sql from samples/sql/tpc, with tpch.data from the same folder
In case 1, the supplied data file uses mixed case names for the tables "Persons" and "Companies" and BOTH nnrc eval and js eval fail.  When I change those names to lower case BOTH nnrc eval and js eval succeed.
In case 2, js eval succeeds without any changes, and nnrc eval fails, albeit differently.  I don't offhand see where there are any mixed case identifiers in the data file but it's big and I'm not 100% sure.  Certainly the table names are lower case.
Could you see if you can reproduce my results for case 2 and get to the bottom of that?  It may be a separate issue.  Also, I think that

IF there is a medium term restriction that all identifiers in SQL must be lower case, we should supply only samples that conform to that

we should certainly not make that a long-term restriction: we should be consistently using mixed case comparisons when semantics of the identifers require it.  The evidence is that all of our evaluators (including Javascript) may need adjusting for this.

I can now more precisely pinpoint what does and doesn't work.

As discussed, it appears the all evaluations (including Javascript) fail if they rely on 'ignore case' semantics for comparisons of names.   This is correctable by ensuring consistent case (but this is a bandaid)
All examples that use the current TPC dataset will fail because qcert code seems unable to parse negative floating point numbers that appear in JSON input.  There are two such numbers in the dataset.  This is correctable by hacking the numbers (removing the minus signs).  This problem does not affect Javascript evaluation
It appears that TPC examples that use dates also fail, even if the previous is corrected.  For example, after correcting the previous, tpch_1 and tpch_6 fail but tpch_16 succeeds.

The title, description, and comment history of this issue have become misleading.  I think it would better to close this issue and open three small focused issues, which I am about to do.  The issues will concern

the gnarly question of whether SQL identifier comparison does or does not respect case
the bug in JSON parsing in qcert whereby -10 is legal and 10.2 is legal but -10.2 is (erroneously) illegal.
support for SQL dates in coq code


Bugfix/project management/581 delete ehr large db

Changes
Refactor delete ehr using one plpgsql function
Related issue
Resolves ehrbase/project_management#581
Additional information and checks

[x] Pull request linked in changelog

@chevalleyc, I think that all indexes are now created but the operation is still a bit long on very large DB.
I am wondering if we should not implement thies feature using batch and async processing?


Update webview service-worker invocation

Update webview service-worker invocation to remove unnecessary variables in the query string that change on every invocation.  This causes a lengthy delay in certain browsers.
This affects built in webviews such as displaying image files as well as custom editor extensions.

This PR fixes #138257

Will update with suggested fix


feat: tabs placement props support

unresolved problems:

the width of nav in vertical segment type tabs, currently I set the width to 30% of the overall
more problems is going to find...

什么时候能合并呢，在等这个功能


Adds filter to only show the attributes given in the array

A function (Array.compact) was added in my case and the function body was displayed in the table.

@kjeldahl Thanks again for your contribution :+1:


Migration path from current DefinitelyTyped RN typings

This ticket describes the differences with the existing manually maintained DT typings and the migration path to these converted ones.

TypeScript does not have a build in way to deal with different files for different platforms. https://github.com/microsoft/TypeScript/issues/21926

How can we offer distinctive sets of typings for iOS and Android (eg @types/react-native-ios, @types/react-native-android) and let the user configure them for their project?
Can DT handle this?
And can other DT packages that depend on RN use this too?

Many (all?) components are no longer class based, but rather function or even ‘abstract’ based. Because classes can be used as types in TS, there may be user code that refers to it that way but now needs to change to typeof View. This does not seem like an issue we need to resolve, as it’s simply not in line with reality. TS2749

Component props interfaces are exported, whereas upstream Flow code requires the user to do React.ElementProps<typeof View>. We currently export these separate props types as a migration convenience, but they are annotated as being deprecated.

[ ] There are many more component props interfaces still missing.
[ ] Should we add ElementProps to the React DT typings and is it correct that ElementProps does not include ref (as we use ComponentPropsWithoutRef of the React DT typings)?

Allow interface merging of RN NativeModules. These contain the user's own and 3rd party native modules and so should allow for the user to provide typings. https://github.com/microsoft/flow2dts/commit/f41628cc52529faad45643fe0b7d7563200f8a0d

Style type param passed to StyleSheet.create<T>(…) needs to by a type alias, not an interface; because https://github.com/microsoft/TypeScript/issues/15300#issuecomment-332366024. But also there's no longer a need to define the type upfront anymore (which perhaps was already no longer needed).

We should consider providing a codemod that users can apply to their codebase to upgrade some/all of these.

TypeScript does not have a build in way to deal with different files for different platforms.

How can we offer distinctive sets of typings for iOS and Android (eg @types/react-native-ios, @types/react-native-android) and let the user configure them for their project?

Perhaps we can find a way to alias @types/react-native-ios to @types/react-native in tsconfig.json, that way people can have different configs per platform and importing from the react-native namespace should still work.

And can other DT packages that depend on RN use this too?

Additionally we could update the actual @types/react-native package to import and re-export the top-level exports of both @types/react-native-ios and @types/react-native-android so they can possibly depend on them in a platform independent manner? Unsure how feasible this is.

Could it help if we were able to release DT packages with version suffix? E.g. 0.64.0-ios and 0.64.0-android.

One solution to providing the packages using alternate names would be to use declare module "react-native/..." {} for each module, e.g. see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/49914/files#diff-8b9d499e69407ece17612b602d5355d8a1c8b2e5fdb6628e288638aab682ef29R7

Looks like TypeScript people are working on supporting this scenario


PurchasesDelegate.onCustomerInfoUpdated is not being called on subscription state update

After making a purchase using RevenueCat paywall, the customer info is not being updated (onCustomerInfoUpdated is being called)
    private fun configure() {
        Purchases.configure(getPurchasesApiKey())
        Purchases.sharedInstance.delegate = object : PurchasesDelegate {
            override fun onCustomerInfoUpdated(customerInfo: CustomerInfo) {
                onReceived(customerInfo)
            }

Explicitly updating customer info from cache using this function works as expected.
        Purchases.sharedInstance.getCustomerInfo(
            CacheFetchPolicy.CACHE_ONLY,
            onError = {},
            onSuccess = {
                onReceived(it)
            })

compose-plugin = "1.6.11"
kotlin = "2.0.0"
purchases-common = "13.2.0"
purchases-kmp = "1.0.0+13.2.0"

Thanks for reporting this! Are you experiencing this on Android, iOS, or both?

I believe it was both

Thanks! I have been able to reproduce it on iOS, and I'm looking into a fix. On Android it seems to work well for me.


Interface Error and Queue - SQL Query Fix

SQL query had been interchanged "Interface Queue Stats" and "Interface Error Statistics".
Fixing the query mix up in json file.

Thanks for your pull request, we also need to change


TensorBoard variable name formatting

Variable names in TensorBoard going from 0.12rc0 to the latest 0.12.1 do not support spaces and special characters anymore.
I would like to have spaces and percentage signs (for example) supported (again).
Below should say: cpu->gpus FIFO capacity %

@dandelionmane @jart : Any thoughts on this?

Do the following commit messages answer your question?

https://github.com/tensorflow/tensorflow/commit/af1c9a17a4ae1b2cf1feee2e81e102433f5d09c1
https://github.com/tensorflow/tensorflow/commit/02a3242748b73c43821900c01f0a3db3a2cf4c19

@dandelionmane may wish to comment more.

Closing due to lack of recent activity. Please update the issue if it persists and we will reopen.

I'm going to add support for this back in, hopefully this quarter. Hang tight.


snyk

Snyk is a new tool which could be used to improve code

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@1590e1e). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   90.24%
=========================================
  Files             ?       21
  Lines             ?      246
  Branches          ?        0
=========================================
  Hits              ?      222
  Misses            ?       24
  Partials          ?        0

Continue to review full report at Codecov.

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


Input type select not working (using Webpack on RoR + React app)

I'm trying to create a select field on a form using the Input component, but get the following error :
TypeError: $(...).material_select is not a function (Input.js:68)
I'm using webpack to bundle my app and my external libraries.
In my Webpack config I have the following (to make $ available everywhere):
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
    $: 'jquery',
    jQuery: 'jquery'
  })
)

My component looks like:
import React, { Component } from 'react'
import { Input } from 'react-materialize'

export const renderSelect = (field) => (
  <div className="form-group">
    <label>
      {field.label}
    </label>
    <Input
      className="form-control"
      type="select"
      {...field.input}
    >
      {field.children.map(option => option)}
    </Input>
  </div>
)

My package.json looks like:
...
"dependencies": {
    "@rails/webpacker": "3.5",
    "babel-eslint": "^8.2.6",
    "babel-preset-react": "^6.24.1",
    "chart.js": "^2.7.2",
    "i18n-js": "^3.0.11",
    "jquery": "^3.3.1",
    "materialize-css": "^1.0.0-rc.2",
    "popper.js": "^1.14.3",
    "prop-types": "^15.6.2",
    "rails-erb-loader": "^5.4.2",
    "react": "^16.4.1",
    "react-chartjs-2": "^2.7.4",
    "react-dom": "^16.4.1",
    "react-dropzone": "^4.2.13",
    "react-materialize": "^2.4.2",
    "react-modal": "^3.5.1",
    "react-redux": "^5.0.7",
    "react-router-dom": "^4.3.1",
    "redux": "^4.0.0",
    "redux-form": "^7.4.2",
    "redux-logger": "^3.0.6",
    "redux-promise": "^0.6.0"
  },
...

In some other part of my app (that is not rendered by REACT), I successfully use materialize js methods (the following code for example works fine):
import 'materialize-css/dist/js/materialize.js'

function sidenavInit() {
  document.addEventListener('DOMContentLoaded', function() {
    var elems = document.querySelectorAll(".side-nav");
    var options = {
      closeOnClick: true
    }
    var instances = M.Sidenav.init(elems, options);
  });
}

export default sidenavInit

I looked at all the related issues and answers provided, but none worked in my case. It looks as if the react-materialize module doesn't have access to materialize js methods, and I don't know how to solve that issue... Any help welcome !!

This library works with materialize-css v0.100.2, which indeed depends on jQuery, but support for materialize v1.0.0 is actively being developed under the 3.0.0-beta branch.  Try "materialize-css": "^0.100.2", in your package.json dependencies.

Thanks, indeed it works.
However I now get the issue "menu.velocity is not a function" when using the SideNav component. Still using the same webpack config (and now "materialize-css": "^0.100.2" in my package.json).
Many people seem to be getting that issue but no solution works for me..


ERROR the connection was inactive for more than the allowed 300000 milliseconds...

Describe the bug
We are seeing these ERROR logs all the time in all the apps that talk to service bus.
Exception or Stack Trace
2022-02-09 14:22:10.361 ERROR 36280 --- [ctor-executor-2] c.a.c.a.i.RequestResponseChannel         : connectionId[MF_ee7f60_1644415609117] linkName[cbs] Error in SendLinkHandler. Disposing unconfirmed sends.
The connection was inactive for more than the allowed 300000 milliseconds and is closed by container 'LinkTracker'. TrackingId:abfbe36f1cb3408ca596ba408110e81b_G7, SystemTracker:gateway7, Timestamp:2022-02-09T14:22:10, errorContext[NAMESPACE: servicebus-test-delete-me.servicebus.windows.net. ERROR CONTEXT: N/A, PATH: $cbs, REFERENCE_ID: cbs:sender, LINK_CREDIT: 98]
2022-02-09 14:23:14.948 ERROR 36280 --- [     parallel-6] c.a.c.a.i.RequestResponseChannel         : connectionId[MF_ee7f60_1644415609117] linkName[cbs]: Unable to open send and receive link.

To Reproduce
Leave a connection open without receiving or sending messages for a while.
Expected behavior
If this is expected, then this is simply a DEBUG or INFO log and it has to be changed to that. If we need to fix something in our code, then please explain us what we need to change in order to not get these error codes.
The alternative is to suppress all logs coming from c.a.c.a.i.RequestResponseChannel, but this would remove any possible true issues that we might have in that class.
Setup:

OS: Linux, macOS
IDE: IntelliJ
Library/Libraries: com.azure:azure-core:1.25.0, com.azure:azure-messaging-servicebus:7.5.2
Java version: 11
App Server/Environment: Tomcat
Frameworks: Spring Boot

Additional context
This is failing within Azure Kubernetes Service and from our development laptops
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

@anuchandy could you please follow up?
/cc @Azure/azsdk-sb-java as fyi

Any progress on this?

From RequestResponseChannel perspective, this is just another error notified from upstream; hence it is logged in ERROR level. We identified a few times that RequestResponseChannel was the culprit that denied Receiver from recovering. Therefore, these exceptions in logs are crucial to access the stack trace, to help with resolving (future similar) non-recovered receivers impacting user SLAs. That's the context, but we're discussing this within the team.

Could you mark this at least as a WARN, the application is not dying it is actually working as expected, but it kills our monitoring and alerting, we have to put rules in place to ignore these errors. What we have done so far is to disable logging from RequestResponseChannel because it was too noisy, now any real issue will be hidden and this is a problem.

Yes, agree, I'll downgrade to warn.


Issue with trying to load. (missing dll)

When i try to load, i get error "The code execution cannot proceed because MSVCP140.dll was not found." Anyone have a fix?

I think this means you have to install the "Microsoft Visual C++ Redistributable" package

Microsoft Visual C++ Redistributable

Thanks, i will try this now

Microsoft Visual C++ Redistributable

Woohoo! Lovr is up and running!


Custom BOT name not working

1st off thank you for this implementation with MM. Works really well.
I have pulled the latest code and build it into a docker image and wanted to test out the custom name option. Atm I am unable to get it working in any way. I have tried to use the exiting MM bot with it, a new one but nothing works and there are no error logs at all. It just doesn't respond.
Any info on that front?
Tried to use the variable with " ", with ' ', with or without @ but nothing helps.
Any info on this would be great!
Thanks again!

Debugging this shouldn't be too difficult. Just clone the repo and run the node script after an npm install. You can add arbitrary console.logs in there, if you don't want to attach a debugger. It shouldn't be too hard to find the problem. I haven't implemented this part and never tested it myself, but the code looked fine. There should really only be one usage in the code:
https://github.com/yGuy/chatgpt-mattermost-bot/blob/1bb5f84273f68f1e42a23a2db6798b1b9723e4a0/src/botservice.js#L31

This works for me without Issue:
MATTERMOST_BOTNAME: "@glados"

Debugging this shouldn't be too difficult. Just clone the repo and run the node script after an npm install. You can add arbitrary console.logs in there, if you don't want to attach a debugger. It shouldn't be too hard to find the problem. I haven't implemented this part and never tested it myself, but the code looked fine. There should really only be one usage in the code:
https://github.com/yGuy/chatgpt-mattermost-bot/blob/1bb5f84273f68f1e42a23a2db6798b1b9723e4a0/src/botservice.js#L31

Tnx for getting back to me. Ofc this was a fail on my end. Once I checked the container running I noticed that the botservice.js was the old version. Ofc I downloaded the new code but build it from the cache.
All is well now.
Thanks again!


Browser support?

Couldn't find it on the website or the github. Could you add it to both?

@corysimmons this is browser library.


Consider adding transformMixedEsModules: true to rollup commonjs plugin for optimizer.

Is your feature request related to a problem? Please describe.
I added monaco-yaml library to my dependencies and the optimized output contained stray require statements. I reported the issue to rollup.
https://github.com/rollup/plugins/issues/518
Describe the solution you'd like
Seems the solution is to use transformMixedEsModules: true as suggested by @lukastaegert on the commonjs plugin config. Does it make sense to use that given, some libraries might mix ES/Require statements. Atleast we should expose an option in the optimizer config to have this flag as true.
Describe alternatives you've considered
I manually removed the stray requires from the optimized output, to find the app worked after that.
Additional context
Currently my app fails to load with this error:
require is undefined

I had to revert the commit because it causes issues with actual ESM dependencies that has env detection.
Technically, dependencies with mixed CommonJS usage inside ESM is incorrect distribution format and should be considered bugs to be fixed in that dependency.

@yyx990803 Would you consider having this as optional for anyone getting blocked ?


docs: add dev guide landing page

cc @bgilbert, does this look like a good start / bag of links?

LGTM.


[flutter_conductor] Update conductor readme

Follow-up readme changes from a demo of the conductor workflow.

@itsjustkevin what do you think about these changes? any other suggested clarifying additions?


Support for Opset 9

For example, BatchNormalization should not have a spatial attribute in opset 9. For more examples of implementation, please see https://github.com/onnx/onnxmltools/pull/241.

Addressed in #31. Thanks @kkk669!


Update ZMQ dependency to fix compilation on Node 5.x and greater

See ZMQ issue https://github.com/JustinTulloss/zeromq.node/pull/520 for
more background context.
TLDR: NaN versions before 2.2.0 are not compatible with NodeJS 5.x and
greater.  The issue cited above was closed on April 26th, making 2.15.0
the first release of the node ZMQ bindings that can compile on Node releases
5.x and beyond.
The latest release of the zmq-service-suite libraries have a dependency
declared on zmq 2.14.x, so they are also incompatible with node 5.x and
beyond.
This PR updates the dependency from 2.14.x to 2.15.x, which currently picks
up relese 2.15.3 of zmq.  After making this single change I'm able to compile
and install this package on MacOSX 10.12.2, running either NodeJS v6.9.5 or
NodeJS v6.10.0.  Other versions should be compatible as well--these are the
only two I've got in use and so the only two I experimented with.

@jheinnic thanks for the pull request and good explanation. I will open a pull request for all the other libraries in a bit.
Are you using the libraries or playing with it?  Feedback is always! 👍
https://twitter.com/prnjanuario

I noticed that indeed this is the only package with dependency on 2.14. The broker was stable since it's initial version this was the reason why it's is still with a older version.
https://github.com/micro-toolkit/zmq-service-suite-service-js/blob/master/package.json#L47
https://github.com/micro-toolkit/zmq-service-suite-client-js/blob/master/package.json#L47
I will do a PR to update libraries versions in short time.


0.18.0 Release

Mainly to expose the Görli deployment information.

Codecov is complaining about `setup.py.


Affective Encoder

Hi
I could not find the source code for the affective encoder mentioned in your paper.
Could you point it out for me?
Thanks!

Please check the class AffEncoder in speech2affective_gestures/net/multimodal_context_net_v2.py


Connectors Lack Descriptive Information

Description
When viewing connectors out-of-the-box (checked DNN 9.2.1 RC only), there isn't any helpful information to know what the connector does.  See below...

Expected result
Affected version

[x] 9.2.1 RC
[ ] 9.2.0 RC
[ ] 9.1.1
[ ] 9.1
[ ] 9.0

Affected browser

[X] Chrome
[X] Firefox
[X] Safari
[X] Internet Explorer
[X] Edge

This is confusing to so many people.  Thank you for posting the issue!

Is it possible to get more connectors, such as the Google Analytics one:

If it is possible, it should be clear that you installed them (as extensions - I'm guessing?)

More descriptive titles have been added on some PR but not linked to this issue, closing it.


SyntheticsTest resource will always show diff of assertions with --refresh

I'm going to preface this with the fact that I'm not sure if this is an issue in Pulumi or in Terraform and I'd appreciate some help in determining where I should seek help.
Every time we run a pulumi preview --refresh --stack name --diff, we will see that the assertions are being added. It feels like the --refresh option is not properly querying the API and representing the assertions when populating the state and doing the diff.
Steps to reproduce
new datadog.SyntheticsTest(
  'some-name',
  {
    assertions: [
      {
        operator: 'lessThan',
        type: 'responseTime',
        target: responseTime,
      },
      {
        operator: 'is',
        type: 'statusCode',
        target: 200,
      }
    ],
    locations: ['aws:us-west-1'],
    message: pagerdutyMessage,
    'some-name',
    optionsList: {
      tickEvery: 300,
      minFailureDuration: 300,
      minLocationFailed: 1,
      followRedirects: true,
    },
    request: {
      method: 'GET',
      url: 'http://example.com',
      timeout: 30,
    },
    tags: defaultTags,
    type: 'api',
    subtype: 'http',
    status: 'live',
  }
)

Given the resource above
It has been deployed and no local changes have been made
Run the command pulumi preview --refresh --stack name --diff
You should see an update like the following:

~ assertions: [
    + [0]: {
        + operator  : "lessThan"
        + target    : 2000
        + type      : "responseTime"
    }
    + [1]: {
        + operator  : "is"
        + target    : 200
        + type      : "statusCode"
    }
]

Expected: There should be no updates made to the SyntheticsTest resource.
Actual: The assertions array always shows an update from an empty array to the array with our assertions.

I'm going to preface this with the fact that I'm not sure if this is an issue in Pulumi or in Terraform and I'd appreciate some help in determining where I should seek help.

We'll likely need to verify whether this is also an issue in Terraform, and if so, report it to the upstream provider.  Else, it is possible it is a Pulumi-specific issue we could investigate.

@lukehoban - Thank you so much for the reply! Sorry for the delay but here is the example Terraform project mimicking our Pulumi setup of the Synthetics API test. It's nearly identical to the first example on the Datadog provider in the Terraform registry.
https://github.com/williamsbdev/terraform-example-of-pulumi-datadog-synthetics
When I deployed it:
terraform apply -var-file="variables.tfvars"
Then ran:
terraform plan -var-file="variables.tfvars"
I did not get any weirdness where it was saying that it would update the assertions leading me to believe that Terraform is interacting with the API correctly but Pulumi seems to be the problem in this case.

Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still encountering this problem, could you leave a quick comment to let us know so we can prioritize it?

@mjeffryes - I'd completely forgot about this issue. I encountered this working for a client years ago (obviously) but haven't worked with them in over 2 years and I haven't used Datadog for any clients since so I can't speak to the relevancy of the issue anymore.
I think it is acceptable to close this issue and should I encounter it again, I'll either reopen or dig in further.
Thank you for circling back around to the issue.


Infinite mass body moves on collision with a light body

Hi, I am having trouble in a situation where a small body is capable of pushing a large (and much heavier) body on collision.
I have recreated and simplified my problem here. Here, even an object with infinite mass is moved on impact with a light body.

Why does the body have infinite mass? Could you use a static body instead? One thing to note is that there will likely be instability between two bodies that have large differences in mass.

In my case, the larger mass body is a player and the lighter one is a projectile. Player needs to move, so I can not make it static. I don't want player's position to be affected by colliding with a projectile. I destroy projectiles on collision, but each hit moves it by a bit despite making projectiles featherweight.
The behavior is identical to the sandbox link I provided. I started with realistic numbers for density/weight, but realized that this does not change even by using extreme and unreliable values, like infinity.

@liabru I isolated my problem to collision position resolver, which is not taking body mass into any of the calculations, unlike collision velocity resolver.

That's right the position solver doesn't provide any physical response, it just reduces the overlap evenly between bodies. Then the velocity solver finds the response. Are you sure that's part of the problem?

This behavior seems counter-intuitive to me. I do not expect a heavy object to be affected by something small and light in any way. In my case, many projectiles collide with a player constantly and it causes a lot of unwanted movement for the player (a heavy object).
Something like this is on my mind, but I am not sure if this would break other stuff. Also would be great to here if there is a workaround for this.


Make sure bivariate_normals vectorizes properly

The loops in bivariate_normals showed up as a hot spot in profiling. We should make sure the compiler takes adequate advantage of the constancy of the trip counts, etc.
I'll be using this as a benchmark:
using Celeste
using StaticArrays
using BenchmarkTools

bvn_derivs = Celeste.Model.BivariateNormalDerivatives{Float64}()
sig_sf = Celeste.Model.GalaxySigmaDerivs(1.0,1.0,1.0,
    zeros(SMatrix{2,2,Float64,4}))

const gal_shape_ids = Celeste.Model.gal_shape_ids

function benchmark(sig_sf, bvn_derivs)
    bvn_s_d = bvn_derivs.bvn_s_d
    bvn_sig_d = bvn_derivs.bvn_sig_d
    bvn_ss_h = bvn_derivs.bvn_ss_h
    bvn_us_h = bvn_derivs.bvn_us_h

    fill!(bvn_s_d, 0.0)
    @inbounds for shape_id in 1:length(gal_shape_ids), sig_id in 1:3
        bvn_s_d[shape_id] += bvn_sig_d[sig_id] * sig_sf.j[sig_id, shape_id]
    end

    fill!(bvn_ss_h, 0.0)
    fill!(bvn_us_h, 0.0)

    @inbounds for shape_id2 in 1:length(gal_shape_ids), shape_id1 in 1:shape_id2
      @inbounds for sig_id1 in 1:3
        bvn_ss_h[shape_id1, shape_id2] +=
          bvn_sig_d[sig_id1] * sig_sf.t[sig_id1, shape_id1, shape_id2]
      end
    end

    bvn_sigsig_h = bvn_derivs.bvn_sigsig_h
    @inbounds for sig_id1 in 1:3, sig_id2 in 1:3,
                  shape_id2 in 1:length(gal_shape_ids)
      inner_term =
        bvn_sigsig_h[sig_id1, sig_id2] * sig_sf.j[sig_id2, shape_id2]
      @inbounds for shape_id1 in 1:shape_id2
        bvn_ss_h[shape_id1, shape_id2] +=
          inner_term * sig_sf.j[sig_id1, shape_id1]
      end
    end

    @inbounds for shape_id2 in 1:length(gal_shape_ids), shape_id1 in 1:shape_id2
      bvn_ss_h[shape_id2, shape_id1] = bvn_ss_h[shape_id1, shape_id2]
    end
end

benchmark(sig_sf, bvn_derivs)
@benchmark benchmark(sig_sf, bvn_derivs)

Current results:
On KNL: 36383.779 ns
On 6 year old Westmere: 35935.601 ns
[NOTE: Not actual numbers due to restriction of publication of performance numbers. See slack for how to derive actual numbers]

Ok, the problem here turns out to be that LLVM thinks those arrays may alias.

https://github.com/JuliaLang/julia/pull/20257 has a WIP for this.

@Keno @andreasnoack Is this going to be ready in time for GB? There's only about a month left for doing all the runs.


Secure JSON parser

From<EMAIL_ADDRESS>on June 30, 2013 21:57:49
Currently using JavaScript eval(). Thinking about secure JSON parser.
eval()
Pros:
Non-strict object notation:
allow_singlequote {'foo':'bar'}
allow_barekey     {foo:"bar"}
list items can have an end-comma
...
Cons:
The solution has Security issues.
JSON.parse
Pros:
Secure
Cons:
Very strict.
Own the parser
???
Original issue: http://code.google.com/p/wavedrom/issues/detail?id=75

Another alternative is to run the json through a linter before sending it into JSON.parse. That way you don't need to maintain a json parser but can still accept weak json. I'm sure there are dozens of json linters on npm.

@nturley current editor window accepts JS code as valid WaveDrom source.
So, one can run some configurable diagrams. And it is useful. I think.
There are so many ways to write infinite loop in JS, or run out of memory that it might be hard to detect.
I have relaxed JSON parser (https://github.com/drom/jsof) that extracts data object but will not run code.
Other option would be running WaveDrom code in a separate worker, and kill it after some timeout 200ms?

As you know, I am heavily using javascript code in my wave specification.  I find it so useful, for really advanced stuff (hbounds) but also just for simple stuff, like code that repeats the same section of waveform multiple times.  It would be a shame to lose this functionality.
It's a cheap way to make wavedrom extensible without having to add the features directly to wavedrom itself.
That being said, it would be nice to have some sort of checking.    I like the idea of a linter.  Also the timeout sounds like a pretty painless way to prevent infinite looping.  I might set it long--it's ok if you have to wait a second or two for bad code--it shouldn't happen that often.  I've actually made an infinite loop before, but it was using the CLI version of wavedrom, so fairly easy to break out of it.


update akka.js to <IP_ADDRESS> and <IP_ADDRESS>

Updated Akka.Js

Added updates to new versions.
There are a couple of ways to keep this file updated without the need to do it manually?
WDYT @ochrons ?


Sketch Content Sync keyboard shortcut

I noticed the shortcut to toggle this plugin is ⌘=. That's the default key in sketch to zoom in. Can you guys change it or give me guidance how I can overwrite it? Keyboard shortcuts in accessibility seem to no do the trick.
Thanks!

@msawmiller, thanks for the note. Yes, our shortcuz is ⌘= while zoom in is ⌘+. However it seems many people do use ⌘= for zoom as well. We will look for an alternative.

There must be a bug. For me, ⌘+ actually toggles sketch content sync and ⌘= zooms in. Since installing the plugin, my normal functionality somehow changed.

Interesting. We do not see that. Can you confirm:

Which sort of keyboard are you on
⌘ + Shift + '=' should be Zoom In
⌘ + '=' should be ContentSync

If that is not the case, then we will investigate further.

Apple bluetooth keyboard. http://sketchshortcuts.com/
I think I know what the issue is. By default sketch honors ⌘+  or ⌘ Shift +.
Yea maybe different keyboard shortcut can get around this.

@msawmiller This is now updates as of 2.4.3.


Added example to the equistore.operations.lstsq docstring

Added an example to the equistore.operations.lstsq docstring.
Also pointed out that the w returned by the function is not actually w but w.transpose().

:books: Documentation preview :books:: https://equistore--193.org.readthedocs.build/en/193/

I rebased and force pushed to this branch to build the docs here. @ecignoni please do not pull/push this branch! If you need to check it out locally, let me know and I'll explain how to update your local version after a force push!


Distributed lock CLI decorator

Decorator for CLI jobs which acquire a lock before starting execution. If a lock cannot be acquired, it simply logs it and exits. It should prevent other decorators, like health checks and Slack, from being executed as well.
https://github.com/awslabs/amazon-dynamodb-lock-client

Everything is run on a single box with flock now.


May meet panic when processing merge with leader changed

[2019/11/20 08:27:55.718 +00:00] [INFO] [raft.rs:723] ["[region 194622] 194623 became follower at term 7"]
[2019/11/20 08:27:55.766 +00:00] [INFO] [raft.rs:793] ["[region 194618] 194619 became leader at term 7"]
[2019/11/20 08:27:55.766 +00:00] [INFO] [apply.rs:1781] ["asking delegate to stop"] [source_region_id=
194618] [peer_id=194623] [region_id=194622]
[2019/11/20 08:27:55.767 +00:00] [INFO] [peer.rs:1926] ["no need to catch up logs"] [peer_id=194619] [
region_id=194618]
[2019/11/20 08:27:55.767 +00:00] [INFO] [apply.rs:1037] ["execute admin command"] [command="cmd_type:
PrepareMerge prepare_merge { min_index: 7 target { id: 194622 start_key:<PHONE_NUMBER>000000FF375F7280000
00000FF0735AA0000000000FA end_key:<PHONE_NUMBER>000000FF375F728000000000FF11F4880000000000FA region_epoch
 { conf_ver: 226 version: 3558 } peers { id: 194623 store_id: 2573 } peers { id: 194624 store_id: 5 }
peers { id: 194625 store_id: 4 } } }"] [index=7] [term=6] [peer_id=194619] [region_id=194618]
[2019/11/20 08:27:55.767 +00:00] [INFO] [apply.rs:2423] ["remove delegate from apply delegates"] [peer_id=194619] [region_id=194618]
[2019/11/20 08:27:55.767 +00:00] [INFO] [router.rs:446] ["[region 194618] shutdown mailbox"]
[2019/11/20 08:27:55.767 +00:00] [INFO] [apply.rs:2537] ["source logs are all applied now"] [peer_id=194619] [region_id=194618]
[2019/11/20 08:27:55.767 +00:00] [INFO] [apply.rs:1802] ["execute CommitMerge"] [source_region="id: 194618 start_key:<PHONE_NUMBER>000000FF375F728000000000FF021B710000000000FA end_key:<PHONE_NUMBER>000000FF375F728000000000FF0735AA0000000000FA region_epoch { conf_ver: 227 version: 3557 } peers { id: 194619 store_id: 2573 } peers { id: 194620 store_id: 5 } peers { id: 194621 store_id: 4 }"] [index=9] [term=7] [entries=1] [commit=7] [peer_id=194623] [region_id=194622]
[2019/11/20 08:27:55.767 +00:00] [INFO] [apply.rs:2486] ["all pending logs are applied"] [peer_id=194623] [region_id=194622]
[2019/11/20 08:27:55.768 +00:00] [INFO] [peer.rs:1817] ["failed to schedule merge, rollback"] [err="\"[src/raftstore/store/fsm/peer.rs:1670]: target region changed id: 194622 start_key:<PHONE_NUMBER>000000FF375F728000000000FF0735AA0000000000FA end_key:<PHONE_NUMBER>000000FF375F728000000000FF11F4880000000000FA region_epoch { conf_ver: 226 version: 3558 } peers { id: 194623 store_id: 2573 } peers { id: 194624 store_id: 5 } peers { id: 194625 store_id: 4 } -> id: 194622 start_key:<PHONE_NUMBER>000000FF375F728000000000FF021B710000000000FA end_key:<PHONE_NUMBER>000000FF375F728000000000FF11F4880000000000FA region_epoch { conf_ver: 226 version: 3559 } peers { id: 194623 store_id: 2573 } peers { id: 194624 store_id: 5 } peers { id: 194625 store_id: 4 }\""] [peer_id=194619] [region_id=194618]

[2019/11/20 08:27:56.176 +00:00] [FATAL] [lib.rs:499] ["called `Option::unwrap()` on a `None` value"]
[backtrace="stack backtrace:\n   0:     0x55651bc73f1d - backtrace::backtrace::libunwind::trace::h122d
66dac2be4a06\n                        at /rust/registry/src/github.com-1ecc6299db9ec823/backtrace-0.2.
3/src/backtrace/libunwind.rs:54\n                         - backtrace::backtrace::trace::he4cfcde9cffe
a318\n                        at /rust/registry/src/github.com-1ecc6299db9ec823/backtrace-0.2.3/src/ba
cktrace/mod.rs:70\n   1:     0x55651bc68530 - tikv_util::set_panic_hook::{{closure}}::hf7713bf9280c815
1\n                        at /home/jenkins/.target/release/build/backtrace-e20a32a05fd0b8fe/out/captu
re.rs:79\n   2:     0x55651be0f8ef - std::panicking::rust_panic_with_hook::h8d2408723e9a2bd4\n
                at src/libstd/panicking.rs:479\n   3:     0x55651be0f6cd - std::panicking::continue_pa
nic_fmt::hb2aaa9386c4e5e80\n                        at src/libstd/panicking.rs:382\n   4:     0x55651b
e1ee35 - rust_begin_unwind\n                        at src/libstd/panicking.rs:309\n   5:     0x55651b
e299db - core::panicking::panic_fmt::h79e840586f23493b\n                        at src/libcore/panicki
ng.rs:85\n   6:     0x55651be2b1da - core::panicking::panic::h8bb9a06d7b2ed3d1\n
  at src/libcore/panicking.rs:49\n   7:     0x55651b33c48b - tikv::raftstore::store::fsm::peer::PeerFs
mDelegate<T,C>::on_apply_res::h074ecda5164b66d4\n                        at src/raftstore/store/fsm/pe
er.rs:0\n   8:     0x55651b33d59b - tikv::raftstore::store::fsm::peer::PeerFsmDelegate<T,C>::handle_ms
gs::hac1b2c314294e92f\n                        at src/raftstore/store/fsm/peer.rs:298\n   9:     0x556
51b32fe4d - <tikv::raftstore::store::fsm::store::RaftPoller<T,C> as tikv::raftstore::store::fsm::batch
::PollHandler<tikv::raftstore::store::fsm::peer::PeerFsm,tikv::raftstore::store::fsm::store::StoreFsm>
>::handle_normal::h605f4aab414ed9d6\n                        at src/raftstore/store/fsm/store.rs:645\n                         - tikv::raftstore::store::fsm::batch::Poller<N,C,Handler>::poll::ha04d23ea304cc900\n                        at src/raftstore/store/fsm/batch.rs:338\n                         - tikv::raftstore::store::fsm::batch::BatchSystem<N,C>::spawn::{{closure}}::h14aad1b554086b39\n                        at src/raftstore/store/fsm/batch.rs:409\n                         - std::sys_common::backtrace::__rust_begin_short_backtrace::ha92645fe57e23690\n                        at /rustc/0e4a56b4b04ea98bb16caada30cb2418dd06e250/src/libstd/sys_common/backtrace.rs:77\n  10:     0x55651b32e701 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h692a056199e7c1c6\n                        at /rustc/0e4a56b4b04ea98bb16caada30cb2418dd06e250/src/libstd/thread/mod.rs:470\n                         - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb07374a75f87cf80\n                        at /rustc/0e4a56b4b04ea98bb16caada30cb2418dd06e250/src/libstd/panic.rs:309\n                         - std::panicking::try::do_call::hb53bf923f28b7ed0\n                        at /rustc/0e4a56b4b04ea98bb16caada30cb2418dd06e250/src/libstd/panicking.rs:294\n                         - std::panicking::try::h33b86de5b0e12f20\n                        at /rustc/0e4a56b4b04ea98bb16caada30cb2418dd06e250//src/libpanic_abort/lib.rs:29\n                         - std::panic::catch_unwind::h239dc9f0a10cb4e4\n                        at /rustc/0e4a56b4b04ea98bb16caada30cb2418dd06e250/src/libstd/panic.rs:388\n                         - std::thread::Builder::spawn_unchecked::{{closure}}::h67d23195f413a410\n                        at /rustc/0e4a56b4b04ea98bb16caada30cb2418dd06e250/src/libstd/thread/mod.rs:469\n                         - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6e0bab430e326d51\n                        at /rustc/0e4a56b4b04ea98bb16caada30cb2418dd06e250/src/libcore/ops/function.rs:231\n  11:     0x55651be1de3e - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::he71721d2d956d451\n                        at /rustc/0e4a56b4b04ea98bb16caada30cb2418dd06e250/src/liballoc/boxed.rs:746\n  12:     0x55651be2016b - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::he520045b8d28ce5c\n                        at /rustc/0e4a56b4b04ea98bb16caada30cb2418dd06e250/src/liballoc/boxed.rs:746\n                         - std::sys_common::thread::start_thread::h2e98d1272dc6d74b\n                        at src/libstd/sys_common/thread.rs:13\n                         - std::sys::unix::thread::Thread::new::thread_start::h18485805666ccd3c\n                        at src/libstd/sys/unix/thread.rs:79\n  13:     0x7f4ce0681d2b - <unknown>\n  14:     0x7f4cdfd95e3e - __clone\n  15:                0x0 - <unknown>"] [location=src/libcore/option.rs:347] [thread_name=raftstore-2573-0]

seems the stack is a little incomplete, I suspect the panic happens here https://github.com/tikv/tikv/blob/master/src/raftstore/store/fsm/peer.rs#L1832

/cc @gengliqi @BusyJay

I suspect this panic happens here.
https://github.com/tikv/tikv/blob/8376bb6b8458d3ba0cc179f9158fb0e931abbb26/src/raftstore/store/peer.rs#L1650
The stack may be as below.
https://github.com/tikv/tikv/blob/8376bb6b8458d3ba0cc179f9158fb0e931abbb26/src/raftstore/store/fsm/peer.rs#L625-L636
https://github.com/tikv/tikv/blob/8376bb6b8458d3ba0cc179f9158fb0e931abbb26/src/raftstore/store/peer.rs#L1242-L1257
https://github.com/tikv/tikv/blob/8376bb6b8458d3ba0cc179f9158fb0e931abbb26/src/raftstore/store/peer.rs#L1009-L1023
When executing on_ready_commit_merge, the target peer removes some source data in StoreMeta which is dangerous because at this time source peer is still running.
So I think the better way to handle this problem is to apply all log and destroy source peer before applying commit merge log.
This fix way can also remove merge_locks in StoreMeta which can make the sync logic more clear
/cc @Connor1996 @BusyJay

Which version of TiKV does the stack belong to? The stack shows that the panic happens in on_apply_res, how can it be related to collect_ready?

Which version of TiKV does the stack belong to? The stack shows that the panic happens in on_apply_res, how can it be related to collect_ready?

Sorry about that, I forget to record the concrete version. I check the v3.0.5 and find all the log's locations are consistent, so we can simply assume that it belongs to v3.0.5.

So I guess what @gengliqi found is an unrelated problem that also needs to be fixed.


Fixed incorrect and broken links

Fixed broken links on Architectural Decision page.
Corrected link to point to the exact tutorial pages and not just the HCL open source page.

 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.Tanya Anurag seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Create Whitepaper Vietnamese.md

Translating the whitepaper to Vietnamese

Thank you. I've added your weight.


Why can't I deploy a .NET core application to Compute Engine?

Sometimes I still want to deploy a .NET core application to IIS.

Our target for .NET Core is App Engine and GKE.

Why can't a someone deploy a .net core app to IIS if they want to?
On Tue, Nov 28, 2017 at 2:58 AM, Ivan Naranjo<EMAIL_ADDRESS>wrote:

Our target for .NET Core is App Engine and GKE.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-visualstudio/issues/846#issuecomment-347487811,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALO54tbUqPKma0Yk-77FHIUaebm4QfkIks5s6-dPgaJpZM4QaIQx
.

Does deploying an ASP.NET Core app to IIS involve the same set of steps as deploying a regular ASP.NET app? If it's significantly different, I think it's a reasonable feature request - but also one that's reasonable to deprioritize unless we see a lot of users wanting it.

@jskeet It is different to deploy an ASP.NET Core app to IIS.  This is a reasonable feature request but is fairly low in the priority list.

I've hit this issue.  I saw someone hit this issue while giving a Google Cloud demo at a local meet up, and now we have a stackoverflow user report this issue.  I don't know your full list of priorities, but the fact that we know users are hitting it suggests it warrants some attention.

@SurferJeffAtGoogle I understand this issue is being hit and it is on our radar.  We will start with adding documentation to mentioned dialog (see #867) and then in the future allow deployment to GCE.


[v6] feature suggestion: remove/de-emphasize Route component usage

I don't see why the Route component exists. It seems like it only serves to add unnecessary syntactic sugar. I was shocked when I realized that the following routes are functionally equivalent in V6:
<Routes>
    <Route path="/test" element={<Test/>}/>
    <Route path="/test"><Test/></Route>
    <Test path="/test"/> // Receives "path" prop, but otherwise identical
</Routes>

And in the following example, AppRoutes1 and AppRoutes2 are also functionally similar:
import {Outlet, Route, Routes} from "react-router";

const Users = () => (

            <Link to="me">My Profile</Link>

        <Outlet />

);

const Me = () => (

Some content

);

const AppRoutes1 = () => (
    <Routes>
        <Route path="/users/*" element={<Users/>}>
            <Route path="me" element={<Me/>}/>
        </Route>
    </Routes>
)

const AppRoutes2 = () => (
    <Routes>
        <Users path="/users/*">
            <Me path="me"/>
        </Users>
    </Routes>
)

It seems like the only real purpose of Route is to ensure that the "path" property is not forced onto a component which needs to reserve that for another usage. This seems like a concern that would be easily handled by documentation. For example:
"If you need to use the path prop in your component, you can simply wrap your component in a wrapper like:"
const Route = ({element}) => element;
<Route path="/hello" element={<MyComponent path="some value"/>}/>

As a casual user of the library, I only found all of this accidentally in the process of implementing a "ProtectedRoute" style component. When I first tried using my component, it worked fine, so I moved on. Later I became immensely confused when I realized that I hadn't wrapped the component in a route at all, and that somehow it was still working despite seemingly violating every usage example I had seen. As far as I can tell this usage is not documented in any of the available blog posts, migration guides, docs, etc. I was only able to put together what was going on by looking at the source code and some trial and error.
I'll admit that something working where I would expect it not to is kind of a weird issue. Perhaps this is just a documentation issue, but I think that even with proper documentation users are going to find a lot of confusion surrounding the Route component.
Thoughts?

To be more precise in my question, what is the migration path for ProtectedRoute to v6?

I'm not entirely sure what you mean, but here's my implementation of ProtectedRoute, which doesn't utilize Route at all.
export function ProtectedRoute({element, children, allow, redirect}) {
    const location = useLocation();
    return allow
        ? element || children
        : <Navigate to={redirect} replace={true} state={{from: location.pathname}}/>;
}

// ProtectedRoute is used to create specific types of protected routes like this...
export function UserRequiredRoute(props) {
    const user = useSelector(getUser); // This can be any method of determining that the user is logged in
    return <ProtectedRoute allow={!!user} redirect="/login" {...props}/>;
}

I can then use this like...
<Routes>
    <UserRequiredRoute path="/protected-page"><ProtectedPage/></UserRequiredRoute>
</Routes>

@trappar sorry. Realize now that I had written an incomplete sentence. I was just asking a general question to no one in particular. Having that said that, you have provided valuable guidance. Thank you, sir.

This has been the case of Switch in 4.x/5.x, and remains for Routes in 6.x: They inspect the props of their direct children to determine what to match.
However, Route still serves a purpose: to establish types for those props (PropTypes or TypeScript). If you want strict typing, you'll need to use it.
As for protecting routes, often the solution is just to move up the auth check outside of the Routes/Switch:
<Routes>
  {authorized ?
    (
      <Route path="/account" />
    )
    :
    (
      <Route path="/login" />
      <Route path="/register" />
    )
  }
</Routes>


September update: gateway not reaching firmware with armhf image

Hello,
I'm a happy user of this docker for a long time now :) but tonight the september update suddenly broke my setup (armhf image, on a tinkerboard S, automatically pulled by watchtower).
Essentially, what I observed:

container not reachable at all with VNC_MODE=1
time reported by phoscon was jumping from 1925 to 1935 to 1970, etc.
had to force the DECONZ_DEVICE environment (--device alone wasn't sufficient) for Phoscon to find it
Gateway didn't connect to the firmware

I went back to the armhf-2.05.82 image to be able to retrieve control of my system.
Here's a screenshot of the gateway when it's running:

I'd be happy to help debug!
Cheers

There are two potential points of failure: the update to 2.05.83 and the UDEV support. Can you try creating the new container and setting the environment variable UDEV=1?

Same situation here with a Raspberry Pi 4. Enabling UDEV fixed it!

@philipproplesch Thanks for testing! The fix might be as simple as changing the default. Everything else seems to work? VNC?

@marthoc Not sure about VNC. Phoscon and the REST API seem to be working fine though.

I did the following test, with :latest

with UDEV=on and VNC_MODE=1: no can do, cannot access phoscon app
with UDEV=on and VNC_MODE=0: like before, phoscon is reachable but cannot access the Conbee

Reverted back to armhf-2.05.82, everything back to normal.
I didn't switch the container to privileged though, should I?

I had to switch into privileged mode to get it back working. UDEV environment variable alone was not enough.

Same here.. had to revert to armhf-2.05.82 for the system to work again.
UDEV=1 didn't fix it.

Adding "privileged: true" in docker compose, does the trick.

I confirm, switching to privileged mode solves everything with UDEV=on

I have the same issue. UDEV=1 does not fix it - I did not try privileged mode, since I would like to not run the container in privileged mode for the same reason I do not work as root. What else could we do?

I am likely going to revert the UDEV change for now and investigate further why this is happening.  Until I can do that, please either use the 2.05.82 image or run UDEV=1 and privileged mode.

I added --privileged -e UDEV=1 to my docker create command and it now works. Phew! I thought I was going to have to bind each and every one of my 42 lights, 3 fans, and various zigbee buttons I setup for automations.

--privileged -e UDEV=1

How would I add this to my docker-compose.xml - looking for an example.

--privileged -e UDEV=1

How would I add this to my docker-compose.xml - looking for an example.

Example:
deconz:
    image: marthoc/deconz:armhf-2.05.83
    container_name: deconz
    network_mode: host
    restart: always
    volumes:
      - deconz:/root/.local/share/dresden-elektronik/deCONZ
    devices:
      - /dev/ttyUSB0
    environment:
      - DECONZ_WEB_PORT=80
      - DECONZ_WS_PORT=443
      - DEBUG_INFO=1
      - DEBUG_APS=0
      - DEBUG_ZCL=0
      - DEBUG_ZDP=0
      - DEBUG_OTAU=0
      - DECONZ_DEVICE=0
      - DECONZ_VNC_MODE=1
      - DECONZ_VNC_DISPLAY=0
      - DECONZ_VNC_PASSWORD=changeme
      - DECONZ_VNC_PORT=5900
      - UDEV=1
      - TZ=Europe/Brussels
    privileged: true

Thanks @phdelodder
Will try (again), changed my docker-compose.xml like this last night but somehow failed.

With UDEV=1 and privileged: true it works for me.

Thanks @phdelodder
Will try (again), changed my docker-compose.xml like this last night but somehow failed.

With UDEV=1 and privileged: true it works for me.

Thanks @phdelodder

Will try (again), changed my docker-compose.xml like this last night but somehow failed.

Also for me solved the problem.

Surely adding privileged: true cannot be classed as a fix for security reasons? Has something changed that now requires this flag or is it a bug with .83 as it's still in beta?

@Jimmy-SafeCash its a workaround until I can properly fix.

@Jimmy-SafeCash its a workaround until I can properly fix.

Great, thanks for confirming @marthoc. Look forward to this release as it will hopefully enable me to hook up my new sonoff sensors.

Wow, I spent hours trying to find out the problem why my ConbeeII was not showing. After I added privileged: true and UDEBE=1 it worked.
Thank you for the workaround.

Latest 2.05.84 not working either. Appears to show the same symptoms - not sure if you have had a chance to address the existing bug and whether this is same problem.

Same issue here on 2.05.84 (latest)... deCONZ is 100% unusable, with all of the same issues reported above on 2.05.83
Using RPi 4 / RaspBee II / Docker (compose)

@crixyd why 100% unusable? You can do the workaround fix and wait for final solution.

If a brave soul could test my fixes, I have pushed them to the branch october-bugfix. You will need to build the image locally before testing as follows (I will try to push updated images to GitHub for testing purposes, but in the meantime):
git checkout https://github.com/marthoc/docker-deconz
cd docker-deconz
git checkout october-bugfix
docker build -t marthoc/deconz:test --build-arg VERSION=2.05.84 --build-arg CHANNEL=stable ./[arch]

Be sure to replace [arch] with your arch (amd64, arm64, or armv7). After the image is built, please use your normal run command (i.e. no UDEV=1, no --privileged, use VNC if you wish) and report the results! Thanks in advance.

Test images now available for version 2.05.84 incorporating the bug fixes. Please test! Tags are amd64-test, arm64-test, and armv7-test.

Test images now available for version 2.05.84 incorporating the bug fixes. Please test! Tags are amd64-test, arm64-test, and armv7-test. Appears to now work correctly in my limited testing on amd64 only this evening.

Thanks @marthoc for pushing the fix. I'll endeavor to test this evening.

I have the same problems as described above with 2.05.84, and are now running 2.05.79.
I've tested the armv7-test image, but the Phoscon web-interface is not reachable and I get the following logging:
[marthoc/deconz] Starting deCONZ...
[marthoc/deconz] Current deCONZ version: 2.05.84
[marthoc/deconz] Web UI port: 8080
[marthoc/deconz] Websockets port: 8443
[marthoc/deconz] VNC Disabled
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: wrong ownership on runtime directory /tmp/runtime-root, -2 instead of 0
libpng warning: iCCP: known incorrect sRGB profile
This plugin does not support propagateSizeHints()
This plugin does not support propagateSizeHints()
This plugin does not support propagateSizeHints()

@corneyl Not sure whether these issues are related but can you share the docker run line you are using to create the container?

Hello @marthoc
Hummm unfortunately the october update broke my set-up again. I had to go back to image <IP_ADDRESS> (14 sept).
What is the recommended configuration now? UDEV, priviledged, etc? Shall I open a new issue?
Thanks!

@etique57 yes please open a new issue and report the details. UDEV no longer applies and should not require privileged mode.

@marthoc for me the armv7-test image is working properly on a RPi 4 (no privileged mode, UDEV variable not set, so probably deactivated). I have not turned on VNC.
Where will you notify that testing is done and a new fixed version is available?

@DOliana Thanks for confirming. New versions are already built including the fixes for both stable (2.05.84) and beta (2.05.85).

@marthoc I started it with docker-compose with this config:
deconz:
  image: marthoc/deconz:armv7-test
  ports:
    - 8080:8080
  networks:
    - ha-net
  restart: always
  volumes:
    - ./data/deconz:/root/.local/share/dresden-elektronik/deCONZ
    - ./data/zigbee-otau-fw:/root/otau
  devices:
    - /dev/ttyAMA0
  environment:
    - DECONZ_WEB_PORT=8080
    - DECONZ_WS_PORT=8443
    - DEBUG_INFO=1
    - DEBUG_APS=0
    - DEBUG_ZCL=0
    - DEBUG_ZDP=0
    - DEBUG_OTAU=0

Docker doesn't run as root indeed.

Had been running this docker image for ages (QNAP/X86), latest update broke it
Recreating Deconz ... done
Attaching to Deconz
Deconz         | [marthoc/deconz] Starting deCONZ...
Deconz         | [marthoc/deconz] Current deCONZ version: 2.05.86
Deconz         | [marthoc/deconz] Web UI port: 80
[...]
recreating it with UDEV=1 + proviledge solved at least the phoscon issue.


adding bengali language

I have added Bengali fruit names from the English fruits' name

@devjunayed Thank you!


when I click the report button on post I will get an error

You can use the report now, the problem occurred because the Summary-Hub's posts are filtered out as PostDownload objects, so it does not link to the PostReport object.


How to deprecate a model

As one artifact may exist in several branches, it may be not that easy to deprecate it. It does make sense to me - because in different branches there could be a totally separate work.
If branches are temporary, it is no problem. But if you have several permanent branches (e.g. one branch per envs - prod, stage, dev), you either

need to make PRs to all branches
need to come up with some convention. E.g. we may consider model "experimental" if it never appeared in the default branch or "probably deprecated" if it appeared, but was removed.

I tend to assume the (1) would be a way to go - just to avoid creating extra conventions that may be redundant/wrong for some users.
When answering this question we should keep in mind that we should use the same way in Studio and in GTO CLI, otherwise it will be bad UX.
cc @jellebouwman @tapadipti @Suor

@omesser this is what we've been discussing today. I guess we need to understand how this should work and prepare this to be ready for Studio MR phase 2 release. Maybe we need to open another issue since this one is discussing tag-based, branch-based approaches, while second is not used now.


(maint) Correct install_puppet_agent_on args

The docs for install_puppet_agent_on specify that the opts arg is
optional, but it doesn't have a default value so in practice it's
required. Update the call signature to specify a default empty hash, so
the function matches its description.

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/2270/
Test PASSed.

for tracking purposes, this was filed as a BKR ticket.


[#2] [Android] Update app to follow Android Compose template structure

Close #2

What happened 👀

Update the KMM project for Android following the Android Compose template.
Stop using BuildConfig from Gradle 8.
Add signingConfigs for debug and release builds.

Insight 📝

I followed a good approach to managing Dependencies & Versions from this KMM's sample project PeopleInSpace.
Gradle does not generate BuildConfig by default. We should stop using and follow the best practices to have custom code in each build source folder. https://developer.android.com/build/releases/past-releases/agp-8-0-0-release-notes#default-changes

Proof Of Work 📹
Apps should work properly, with no changes in UI.

@phongvhd93 👋


Update docstring for tmin tmax in epochs

Following #10061
@hoechenberger If you have a better formulation in mind, don't hesitate!

Thanks @mscheltienne!


Include a filter to see only unpublished posts in admin

Sorry, but it's not soo clear to me where the filter should be added.
The filter shoud be added in which page? In the post list or in the home?

post list in admin, modules/post/admin.py

Currently there is a filter

But it is not working, there is some kind of problem loading alternatives to filter
Maybe #201 will fix this.
The code where filters is added is in core.admin and modules.post

Now the filter is showing the options available for that item, as you can see below. This was fixed in the this commit. Btw, this issue must stay open, cause the filter of "Unpublished" wasn't developed.

@rochacbruno Check if it's right now.

:+1:  @felipevolpone  http://development.quokkaproject.org is ok!


feat: enable setting custom column order by visibleColumns

Description
If the user define a custom column and gives it a unique key, the same key can be used in visibleColumns props to set its order of appearance among the columns:
<AutoGrid
    service={...}
    model={...}
    visibleColumns={['fullName', 'gender', 'email', 'vip', 'birthDate', 'shiftStart']}
    customColumns={[
        <GridColumn key="fullName" autoWidth renderer={FullNameRenderer}></GridColumn>,
    ]}
/>,

Fixes #1448
Type of change

[ ] Bugfix
[x] Feature

Checklist

[x] I have read the contribution guide: https://vaadin.com/docs/latest/guide/contributing/overview/
[x] I have added a description following the guideline.
[x] The issue is created in the corresponding repository and I have referenced it.
[x] I have added tests to ensure my change is effective and works as intended.
[x] New and existing tests are passing locally with my change.
[x] I have performed self-review and corrected misspellings.

I like the idea. I'm not sure that custom columns without a key are retained. They should still find a place at the end of the list.

With 2.4.0.beta2, custom columns without a key are rendered at the end, however, react is complaining about the elements without a key. Unless, we come up with some automatic wrapping of each GridColumn provided by the user in an imaginary component such as AutoGridColumn that provides the key, the user needs to provide the key. This is one of the reasons I based my solution on the keys to minimize the effort for now.


Allow argument parameters from expressions

Hi,
struggling trying to feed  a conditional value into a  task  with argument.parameters
Is there any current way to feed it as:
arguments:
  parameters:
    - name: LOADING_QUEUE_NAME
      valueFrom:
        expression: "foo in tasks['previous-dag-task'].outputs.parameters.favourite-output-tuple ? {{workflow.name}}-a : {{workflow.name}}-b"

If there is any current way to perform this, It is on the road map the idea of allowing too feed argment parameters taken with valueFrom.expression ?
The idea would be to allow things like https://github.com/argoproj/argo-workflows/blob/master/examples/dag-conditional-artifacts.yaml#L37 on  arguments.parameters  also

I believe this is already achievable without a specific expression field, see https://github.com/argoproj/argo-workflows/issues/12685#issuecomment-1958856162.
#12685 effectively superseded this


Simplify troubleshooting

Is your feature request related to a problem? Please describe.
I am trying to troubleshoot why my TTS (speak: "text" doesnt work), but apart from using wireshark and trying to validate the mqtt message, I have no way of debugging.
Describe the solution you'd like
Logs somewhere! Preferrable a port I could just point my browser to on the device, where various selected logs can be output. Even better would be to be able to change settings via network, but I cant get everything at first go ;-)
Describe alternatives you've considered
Local logs on the device, but that means running around different devices, trying to read logs, instead of my 43" monitor :-)
Additional context
Add some info on how to troubleshoot errors.
I got the TTS message working ONCE, before I had figured out that I had to change the base-topic for my two devices.
Since that neither device is accepting "speak" commands.
In home assistant (from where I am trying to trigger speak) I have logs from:
DEBUG (MainThread) [homeassistant.components.mqtt] Received message on wallpanel/wpsonysensor/magneticField: b'{"value":-104.17919,"unit":"uT","id":"AK09911 Magnetometer"}'
and
DEBUG (MainThread) [homeassistant.components.mqtt] Received message on wallpanel/wps6sensor/light: b'{"value":4,"unit":"lx","id":"TMD49XX RGB Sensor"}'
Since the two devices are set as wpsony and wps6 for base topic.
But neither
DEBUG (MainThread) [homeassistant.components.mqtt] Transmitting message on wallpanel/wpsony/command: '{"speak": "Hello there my darling"}', mid: 105
or:
DEBUG (MainThread) [homeassistant.components.mqtt] Transmitting message on wallpanel/wps6/command: '{"speak": "Hello there my darling"}', mid: 106
will trigger tts.
Using the HA mobile-app, sending TTS messages work.

You would do this with external application listening to your mqtt server though, you do not need to see this in the application.  In HA you can go into integreations, then mqtt configuraiton and you can send and listen to responses.  You can also do this from the command line with mosquito or a few applications that do this.  \

I can see the MQTT messages, yes. But I cant see how wall panel is interpreting them! Why isnt my commands working? For some reason, the two wallpanels are ignoring my messages. Why? How can I figure that out?

I least, since HA doesnt complain when I send the messages, I assume they ARE being sent, and that its not a transport issue between HA and the mqtt server. Especially since I am using the same tool now, as when it worked, once.

Mostly likely you have some issues with your quotes.  This is how I send my test command from HA:

Try using other commands to test your configuration is correct.   Also be sure the devices support TTS.

This is the full screen, subscribed to the command as well:

But still no go. If I in another tab do:

I get good morning from the tablet.

Are you receiving any command with the application?  Like try to load url remotely.

I tried "wake: true" but at least the sony tablet stays screen-off.

Since I had issues with understanding the different purposes of client-id, base-topic, etc in the beginning, I changed these and that's where things starting failing.  I had changed the display name, and client id, but missed the base-topic.
In HA though, I can still see:

Which do me is confusing. The topic is based on the client id, but the sensor name comes from the displayname?

You seem to have gotten yourself confused.  The client ID is the unique identifier of the device, this is used when connecting to the MQTT broker, each device must have a unique client id.    The base topic can be used to receive commands or publish messages from a specific device.
The default command is as I displayed in the images.  wallpanel/mywallpanel/command  the "mywallpanel" is the base command topic.   This is the part you can configure to receive commands per device, if you have more than one.   Otherwise, I would just leave the defaults and then look at the documentation to see how to use it first, before deciding to change the names.
I suspect you have a different base topic in the application configured than the one you are using in your MQTT topics, so the app is never receiving any command.
Here is how I would approach the issue.  Uninstall the application completely, remember some devices backup stored data, then use the default command and client id to test your MQTT before customizing everything.  Then change one thing at a time, test, and then move to the next.

I can't not really address the issue because I don't know what you have done exactly.   It looks like you turned on discovery and now maybe the commands have different names for publishing information about the device.   I would focus on just the base command and receiving a command, not what is getting published from the app.    But again, I would start over and go step by step rather than change everything.

I found it!!
I wish I would follow my own rules that I teach during troubleshooting courses.
I found the cause by turning on debugging in the mqtt server, and I could see what messages/topics where being subscribed on from the client. wallpanel/sonywpcommand......
I have set the base topic to wallpanel/sonywp, after reading the documentation saying:
The base topic value (default is "mywallpanel")
But...there's the missing slash. wallpanel/sonywp*/*
To me, a mqtt noob, the slashes are topic delimiters, so when I set the name to XYZ, I am expecting delimiters to be automatically added, if needed, but I guess not. I wouldnt be bad though, if the application simple checked for a missing slash, since I wont be the last one to make this mistake.
Thanks for all the help during troubleshooting, AND a wonderful app in general!

In the settings, for the base topic, only change "mywallpanel" part of the base topic.  This is used to receive the commands, as outlined in the wiki, you send a command using the base topic then "/command".   By default this is wallpanel/[baseTopic]/command   or wallpanel/mywallpanel/command.

The client id is only needed to make the device unique for your MQTT broker, its not used to publish or receive commands.  It's only ever used to initialize the MQTT client.

I found it!!
I wish I would follow my own rules that I teach during troubleshooting courses.
I found the cause by turning on debugging in the mqtt server, and I could see what messages/topics where being subscribed on from the client. wallpanel/sonywpcommand......
I have set the base topic to wallpanel/sonywp, after reading the documentation saying:
The base topic value (default is "mywallpanel")
But...there's the missing slash. wallpanel/sonywp*/*
To me, a mqtt noob, the slashes are topic delimiters, so when I set the name to XYZ, I am expecting delimiters to be automatically added, if needed, but I guess not. I wouldnt be bad though, if the application simple checked for a missing slash, since I wont be the last one to make this mistake.
Thanks for all the help during troubleshooting, AND a wonderful app in general!

Yeah, MQTT is not super intuitive I know, so try to stick with the examples and defaults before advancing into the realm of renaming everything.

But, this wasnt caused by "renaming everything". It was simply caused by a missing slash, which is quite easy miss to make on touch keyboards. And that the application could check the entered value for a missing slash and add if needed, doesn't seem like a major fix :-)

Haha, so you are blaming me?   Well if you want to make PR to add that check, please do.

Jeez! Where on earth did I blame you?!? I explicitly said earlier, that "And Yes, I am quite a n00b when it comes to mqtt specifics, so I will not at all be amazed if this is all pebkac, but I'd wish I knew what..."
I simply asked for simple input validation of things that might easily be misswritten. I love to TRY to create a PR, but I've never worked on github before, and my knowledge of java development is from around -95, so there's quite a startup-stretch.

That was sarcasm, hence the “haha” at the beginning.


Overlay Controller bugfixes and underlay BFD

Change Summary

Fix underlay BGP session config and add knob to enable bfd on underlay.
Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes)
[ ] Documentation content changes
[ ] Other (please describe):

Related Issue(s)

Component(s) name
eos_l3ls_evpn
Proposed changes

# Enable BFD for p2p BGP sessions - useful if the overlay_controller is a VM | Optional
overlay_controller_p2p_bfd: < true | false | default -> false >

and fix missing remote-as for underlay BGP on Overlay Controllers
How to test

Checklist:

[X] My code has been rebased from devel before I start
[X] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have updated molecule CI testing accordingly
[ ] All new and existing tests passed (pre-commit, make linting and make sanity-lint).

LGTM!

LGTM!


Clear format does not work

When I create a heading text and then add a paragraph, it inherits the heading style and the option to clear formatting it is not removed. even, if I paste the text with another external format and clean the style, it becomes heading text

Same issue, heading definitely not removing when clicking on clear format. Can you take a look @chmln ,please?

I have created a pull request. If you have sometime, please take a look @chmln
https://github.com/chmln/vue-wysiwyg/pull/136

forcePlainTextOnPaste: true - does not work, don't clear styles automatically for pasted text...
Button "clear" on toolbar do it, but option "forcePlainTextOnPaste" - not...


Support for sessions that span multiple days

Critical Changes
Changes

Service Schedule wizard now supports sessions that span multiple days (i.e., go past midnight).

Issues Closed
New Metadata
Deleted Metadata
Definition of Done
Refer to Asteroids DoD document to see any additional details for the items below

[x] Place holder data is incorporated (Refer to Case Management Sample Data document)
[x] Base axe-core JEST test included for any new LWC (No critical violations)
[x] CRUD/FLS is enforced in Apex
[x] Permission sets & field sets are updated to account for CRUD/FLS/TABS for new object metadata
[x] All modified classes are unit tested (Apex) at 100% coverage
[x] UX approval or UX not necessary
[x] PR contains draft release notes
[x] Attach work item to the pull request with Lurch **Lurch:attach W-000000 or **Lurch:add
[ ] All acceptance criteria have been met

[x] Developer
[ ] Code Reviewer
[ ] QA

[ ] QE story level testing completed

W-8266736


Questions?

Hello,
Is this the right place to ask questions? Using the IC4 SDK with some GigE cameras.
Assuming yes then can I get the IP address of a connected unit?
ic4::DeviceInfo provides  some details but less than I'd expect.

Any suggestions and questions are welcome.
The Qt device selection dialog example shows how to extract the IP Address for a device:
https://github.com/TheImagingSource/ic4-examples/blob/efc4808fb3f9640432e3f666488e2e11385a6f97/cpp/qt6/common/qt6-dialogs/DeviceSelectionDialog.cpp#L192-L222
It is a little cumbersome with setting DeviceSelector to the index of the device in the list of devices and then querying GevDeviceIPAddress, but should do the trick.
May I ask what your use case for getting the IP Address is? If you want to remember a unique identifier for a device, DeviceInfo::uniqueName() should be safer, since an IP address might change.

Hello Tim
Thank you for the quick response.
I'd not seen the QT code. I'll check that out.
re the address itself, the use case is one where we might be switching between cameras where all cameras have fixed IP addresses. (set up using the ipconfig_cmd tool)

If you know the camera's fixed IP address, you can just pass it to deviceOpen (which tries to be smart about the string you pass), e.g.
grabber.deviceOpen("<IP_ADDRESS>")
However, in my opinion, using DeviceUserId is often the cleanest solution for that scenario.

Thanks for the tip. I'm using the serial number to open, did not realize IP address worked as well.


Error: C stack usage  11957956 is too close to the limit

Hi Gavin,
I'm trying to run the moleculeCoverage snakemake file and I keep getting the error
Error: C stack usage  11957956 is too close to the limit. The main suggestion to deal with this seems to be by increasing the stack size with ulimit but I'm working on a cluster can't adjust that.
I also can't seem to load the wig file although I think this is unrelated.
wigToGRanges: WIG file '' not found.
Any suggestions are appreciated.
Thank you,
Melissa
tumor_HSJ-75.molCov.log

Hi @mzwaig
This sounds like a potential memory issue. See if you can increase the memory limits on your job (e.g. mem_free and h_vmem).
Best,
Gavin

Hi Gavin,
I increased the memory a bit and it's now telling me there's a recursion error at the same point. I'm guessing this is why it's running out of memory.
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Best,
Melissa
normal_1_HSJ-75.molCov.log


Namespace to Gateway - (CLI) Support users creating services and routes without name conflicts

As a new API provider following the quick start tutorial, I need to be able to avoid/navigate service name conflicts to get up and running quickly and without issue.
The original idea here was to have a quick-start template prepended namespace to service (argument) to avoid service and route name conflicts (using the client-credientials-shared-idp template).
The new idea is to add an API call (in v3) which checks if a service name (and route?) is available (https://github.com/bcgov/api-services-portal/issues/1065). Once complete, this API call will require implementation within the CLI.
I'd suggest including this call as part of generate-config (to save the user creating a config only to find out it can't be published when they go to apply/pg).
It would also be helpful to incorporate the availability API into apply and pg - both commands make use of PublishToGateway

At some point generate-config usage like
gwa generate-config --template quick-start

was proposed.
I'm not exactly sure what the intended use was - it could be either starting the interactive (but with template chosen), or auto-filling service and upstream.
Does it make sense to have service auto-generated and upstream filled with a default (like httpbin.org)?
@ikethecoder

Will always want to set the service and confirm the upstream.

Check library for back-filling template flag for interactive mode

Discussion comments not related to service name conflicts reflected in a separate issue: #110

PR: #114