fix: Fail global types command and output error if TS transformer fails

Currently, if the TypeScript transformer command fails, the error is silently discarded and no .php-types.d.ts file is generated:

This PR will monitor the output of the command and fail the GenerateGlobalTypesCommand if the TS transformer command fails. It will also report the output from the TS transformer command:

Thanks, this also happened to me shouldnt the definition after that be included as well?  Because Global types can also fail

@nikuscs the global types call is wrapped in rescue currently. I wasn't sure if that was intentional to cover a case where the types are expected to fail. Maybe @innocenzi can weigh in? I think all we would need to do is remove that rescue() wrapper.

Yes, this method can fail. It's expected to recover from an exception so that we can still write global-types.d.ts with the default interface.
@owenconti is the end goal of this PR to make it easier to debug?


Make this repo public

Hey @ArthurBoschet would it be possible to change this repo from private to public?

@hermancollin Done!


Disable rule by line

Do you have the ability to disable a specific rule on a specific line of a specific spec?
Spectral does it like this:
"x-spectral-lint-disable": "operation-default-response"
https://github.com/stoplightio/spectral/issues/1558

Using extensions in the contract to target specifically isn't a great idea. If, at any point, someone wants to move to a new linter or a new set of tooling, the contract is littered with particular and (now useless) commands/comments that target individual tools. Which creates a huge mess over time.
Keeping the contract pure as a single source of truth is generally what I would recommend. Stuffing it full of tool-specific meta-data pollutes the contract for consumers who don't use that tooling (like clients)
This is the first time I've seen this use case come up. Generally, the desire to disable the linting of specific objects in an OpenAPI specification means the specification needs to be architected differently.
Turning off/disabling/customizing rules is 100% possible:  https://quobix.com/vacuum/rulesets/custom-rulesets/
But the rules are global, for now anyway - unless you'd like to take a stab at building the feature  :)

Thank you. That's really helpful.


CMSIS DepthwiseConv2d Kernels doesn't use fused activation

https://github.com/tensorflow/tflite-micro/blob/main/tensorflow/lite/micro/kernels/cmsis_nn/depthwise_conv.cc#L172
  // TODO(b/130439627): Use calculated value for clamping.
  dw_conv_params.activation.min = std::numeric_limits<int8_t>::min();
  dw_conv_params.activation.max = std::numeric_limits<int8_t>::max();

This effectively disables the ReLU activation in DepthwiseConv2D (which is a majority of the layers in MobileNetV1)
IMO, if this can't be fixed then it should default to the reference kernel.

Hi @driedler
Thanks for raising this. We will look into it.


[Feature request] Add multilanguage support

Please add the framework for translating the module to other languages (as other modules do, with an en.json file in a lang folder with keys that we can translate).
I have translated more than 10 modules and this one doesnt support translating.
Thanks and great work!

Hi lozalojo!
My newer modules are translatable. Dancing Lights likely won't have translation support added, as it will be deprecated once Foundry 0.7.x is stable, in favour of my new lighting module.
Thanks for the feedback!


Publish new version on npm

Hi,
Some plugins are not available on npm (addWebpackPlugin, addWebpackExternals...)
Is-it possible to publish a new version of customize-cra with those helpers ?

Done - 0.2.13 should be out, which has latest from master


add environment hosts mapping to localsettings

@TylerSheffels

Out of curiosity, what is this used for?

It's used to figure out which hosts pillowtop is (so that we can connect to
the supervisor RPC server)

Really nice and simple!

Yea, better than adding Ansible dependency and reading inventory file which
is what I had originally.
On 11 September 2015 at 16:59, Daniel Roberts<EMAIL_ADDRESS>wrote:

Really nice and simple!
—
Reply to this email directly or view it on GitHub
https://github.com/dimagi/commcarehq-ansible/pull/208#issuecomment-139568434
.

--
Simon Kelly
Senior Engineer | Dimagi South Africa

You mean like https://github.com/dimagi/commcare-hq/blob/47b9c07d5c67c6ea54a280f3b217a0d749489660/fab/fabfile.py#L280-280? I guess that's a little different since that only adds an ansible dependency to the machine you're using to deploy.

Yea, that's fine. Also there you don't have the luxury of having ansible
build your localsettings for you.
On 11 September 2015 at 17:45, Daniel Roberts<EMAIL_ADDRESS>wrote:

You mean like
https://github.com/dimagi/commcare-hq/blob/47b9c07d5c67c6ea54a280f3b217a0d749489660/fab/fabfile.py#L280-280?
I guess that's a little different since that only adds an ansible
dependency to the machine you're using to deploy.
—
Reply to this email directly or view it on GitHub
https://github.com/dimagi/commcarehq-ansible/pull/208#issuecomment-139581140
.

--
Simon Kelly
Senior Engineer | Dimagi South Africa


Change functionality of entra m365group set when specifying users

Looking at the current implementation of entra m365group set we have 2 options called owners and members. In the docs, we state that these options only add users as owner/member.

When updating group's owners and members, the command will add newly specified users to the previously set owners and members. The previously set users will not be replaced.

For this functionality, we have the command entra m365group user add. I suggest that we modify the functionality so that all existing owners/members are removed from the group, and the specified users are added.
Currently, it's only possible to specify users by UPN. Let's extend it so you can specify users by ID as well.
Options to add

Option
Description

--ownerIds [ownerIds]
Comma-separated list of IDs of Microsoft Entra ID users that will be group owners.

--ownerUserNames [ownerUserNames]
Comma-separated list of UPNs of Microsoft Entra ID users that will be group owners.

--memberIds [memberIds]
Comma-separated list of IDs of Microsoft Entra ID users that will be group members.

--memberUserNames [memberUserNames]
Comma-separated list of UPNs of Microsoft Entra ID users that will be group members.

Removing existing options
This also means that we have to remove options that currently exist:

--owners [owners]
--members [members]

Since we have v8 branch we may now start working on it!
Let's get this 🚢
and Let's put CLI to the 🚀🌙

Can I work on it?

Hi, Should the PR be targeted to v9 or main branch?

Hi, Should the PR be targeted to v9 or main branch?

Since we consider this a breaking change it should be targeted to v9

Hi @milanholemans
Is there any direct way to remove the existing group owners and members?
Or we need to loop through all owners and members and delete them one by one?

AFAIK there is no direct way to achieve this. We should retrieve all members and decide for ourselves which members should be added and which should be removed.
@MartinM85 created something similar in https://github.com/pnp/cli-microsoft365/pull/5865 which is working great as far as I could test.

@milanholemans Question, we are currently also in the process of adding other features to this command (#6059). wouldn't it be good to wait until this PR is merged to avoid conflicts? It should be merged somewhere this week.

Thanks @MathijsVerbeeck
I will wait for #6059 to get merged.

@nanddeepn This PR has been merged in the meantime.


RFC: Soft delete gem - paranoia or discard?

Issue
I just realized that paranoia gem itself does not recommend to use it for new projects:

Expected
I am not here to judge which gem to use.
After an interesting discussion with @ankitkalia1195, I can see the following pros/cons:
Why Paranoia

override delete/destroy methods, so can be used as a safety net (every new model can implement it to prevent the risk of unwanted hard-delete)
less code, fast to setup (implement the "Rails magic")
the most in use today at Nimble

Why Discard

Recommended by Paranoia for these reasons
Enforce the idea of "destroy/delete are dangerous methods", no risk to "trivialize" these methods like done with paranoia

Vote
Feel free to exchange about it, I am sure I miss some important points.
And select the option you prefer:

Another interesting note: Danger adds a warning when using "default_scope" (which is advised but not mandatory when using Discard)...


Implemented Esprima-compatible 'range' option.

Overview
I've implemented an Esprima-compatible 'range' option.
If you pass {range:true} into the jsep function, each node would include a new field range: [start,end] representing node position within the original string.
According to the tests my results are exact match of Esprima's output.
Concerns

This obviously increases the size of the library: e.g. min size 4.36KB => 4.82KB.
I'm not sure about required amount of comments.

Notes
I had to upgrade esprima.js file from version 1.1.0-dev to 1.1.0, as some of the ranges returned by the -dev version were incorrect.

Closing to due to many conflicts and being stale.
Please, if you want this to be merged into master, feel free to open a new request or re-open this, then we'll have a look at the conflicts.


mac php7.4  boost 1.85.0 编译失败

\/bin/sh /Users/linzhijun/yasd/libtool --mode=compile g++ -std=gnu++11 -std=gnu++11  -I. -I/Users/linzhijun/yasd -DPHP_ATOM_INC -I/Users/linzhijun/yasd/include -I/Users/linzhijun/yasd/main -I/Users/linzhijun/yasd<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>-I/include -I/Users/linzhijun/yasd/thirdparty/tinyxml2<EMAIL_ADDRESS>-DHAVE_CONFIG_H  -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-declarations -std=c++11   -c /Users/linzhijun/yasd/src/remote_debugger.cc -o src/remote_debugger.lo
 g++ -std=gnu++11 -std=gnu++11 -I. -I/Users/linzhijun/yasd -DPHP_ATOM_INC -I/Users/linzhijun/yasd/include -I/Users/linzhijun/yasd/main -I/Users/linzhijun/yasd<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>-I/include -I/Users/linzhijun/yasd/thirdparty/tinyxml2<EMAIL_ADDRESS>-DHAVE_CONFIG_H -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-declarations -std=c++11 -c /Users/linzhijun/yasd/src/remote_debugger.cc  -fno-common -DPIC -o src/.libs/remote_debugger.o
In file included from /Users/linzhijun/yasd/src/remote_debugger.cc:33:
In file included from /usr/local/include/boost/algorithm/string.hpp:23:
In file included from /usr/local/include/boost/algorithm/string/split.hpp:16:
In file included from /usr/local/include/boost/algorithm/string/iter_find.hpp:27:
In file included from /usr/local/include/boost/algorithm/string/find_iterator.hpp:24:
In file included from /usr/local/include/boost/algorithm/string/detail/find_iterator.hpp:18:
In file included from /usr/local/include/boost/function.hpp:16:
In file included from /usr/local/include/boost/function/function_template.hpp:17:
In file included from /usr/local/include/boost/throw_exception.hpp:21:
In file included from /usr/local/include/boost/exception/exception.hpp:9:
/usr/local/include/boost/assert/source_location.hpp:95:9: error: no member named 'ap_php_snprintf' in namespace 'std'; did you mean simply 'ap_php_snprintf'?
        BOOST_ASSERT_SNPRINTF( buffer, ":%lu", ln );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/assert/source_location.hpp:79:53: note: expanded from macro 'BOOST_ASSERT_SNPRINTF'
# define BOOST_ASSERT_SNPRINTF(buffer, format, arg) std::snprintf(buffer, sizeof(buffer)/sizeof(buffer[0]), format, arg)
                                                    ^~~~~
/usr/local/Cellar/php@7.4/7.4.33_6/include/php/main/snprintf.h:81:12: note: 'ap_php_snprintf' declared here
PHPAPI int ap_php_snprintf(char *, size_t, const char *, ...) ZEND_ATTRIBUTE_FORMAT(printf, 3, 4);
           ^
In file included from /Users/linzhijun/yasd/src/remote_debugger.cc:33:
In file included from /usr/local/include/boost/algorithm/string.hpp:23:
In file included from /usr/local/include/boost/algorithm/string/split.hpp:16:
In file included from /usr/local/include/boost/algorithm/string/iter_find.hpp:27:
In file included from /usr/local/include/boost/algorithm/string/find_iterator.hpp:24:
In file included from /usr/local/include/boost/algorithm/string/detail/find_iterator.hpp:18:
In file included from /usr/local/include/boost/function.hpp:16:
In file included from /usr/local/include/boost/function/function_template.hpp:17:
In file included from /usr/local/include/boost/throw_exception.hpp:21:
In file included from /usr/local/include/boost/exception/exception.hpp:9:
/usr/local/include/boost/assert/source_location.hpp:102:13: error: no member named 'ap_php_snprintf' in namespace 'std'; did you mean simply 'ap_php_snprintf'?
            BOOST_ASSERT_SNPRINTF( buffer, ":%lu", co );
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/assert/source_location.hpp:79:53: note: expanded from macro 'BOOST_ASSERT_SNPRINTF'
# define BOOST_ASSERT_SNPRINTF(buffer, format, arg) std::snprintf(buffer, sizeof(buffer)/sizeof(buffer[0]), format, arg)
                                                    ^~~~~
/usr/local/Cellar/php@7.4/7.4.33_6/include/php/main/snprintf.h:81:12: note: 'ap_php_snprintf' declared here
PHPAPI int ap_php_snprintf(char *, size_t, const char *, ...) ZEND_ATTRIBUTE_FORMAT(printf, 3, 4);
           ^
2 errors generated.
make: *** [src/remote_debugger.lo] Error 1

编译时出现如上错误，环境如下
php版本：

boost版本：1.85.0
机器：

建议降低版本，我之前试过，降低到<EMAIL_ADDRESS>就可以编译过去了


数据集问题

Hi, thank you in advance.
I am confused about Oxford hand dataset, It is split into train, val, test dataset, but train dataset includes all test images. Is it normal?

they have the same names, but not the same content.


Improve error message

Improve error message (the path probably is not a subpath) and also add one more test to check what happen with paths that doesn't exist.

Warnings

:warning:
This PR is approved with no milestone set. If merged, it won't appear in the detekt release notes.

  Generated by :no_entry_sign: dangerJS against 4c0c288f8518234a6ad17ad5628fd2659f548681


More rigorous testing of mongodb

time guarantee in addition to the presence guarantee

With the increase in e2e testing we're currently happy with the mongo coverage. Specific coverage loss bugs can be reopened separately.


Add typescript definitions

1
Declared typescript definitions for react components:

Node
Socket
Control

2
For rete components, added class definitions in javascript and type definitions in typescript:

ReteReactComponent
ReteReactControl

Typescript does not allow extensions of existing classes - these definitions allow the user to make use of React implementations for rete controls and components implemented in index.tsx.
3
Updated React peer dependencies,
Added Rete and React to dev dependencies
4
Added optional cssStyle to Socket props

@alexnix @Ni55aN is it possible to merge this? It shouldn't change any existing functionality except adding CSS to sockets


'signWith' option produces "for-your-eyes-only"

Hello. We've encountered that signWith option produces "for-your-eyes-only".
I mean this example of code
https://github.com/FlowCrypt/flowcrypt-android/blob/cbb8c25907b053f64e4568ba5c47493a2e3b9f49/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpEncrypt.kt#L90
val builder = PGPainless.encryptAndOrSign()
            .onOutputStream(outStream)
            .toRecipients(pgpPublicKeyRingCollection)
            .usingSecureAlgorithms()

        if (pgpSecretKeyRingCollection != null) {
          val keyRings = pgpSecretKeyRingCollection.keyRings.asSequence().toList().toTypedArray()
          secretKeyRingProtector?.let { builder.signWith(it, *keyRings) }
        }

More details can be found here https://github.com/FlowCrypt/flowcrypt-android/issues/1095#issuecomment-814945676
It would be nice to know if "for-your-eyes-only" can be configurable

I agree. Will keep that in the back of my head.

To be clear, your code encrypts the data, hence the "for-your-eyes-only" flag. Simply signing some data should not result in that flag being set, but I will check.

Looking at the rfc, the for_your_eyes_only flag can be set by setting "_CONSOLE" as file name. Would you like to have an option in the API to set a file name, or should PGPainless choose a static name (eg. "out") instead?

To be clear, your code encrypts the data, hence the "for-your-eyes-only" flag

Just want to clarify that our case includes encrypt and sign data by one transaction.

Looking at the rfc, the for_your_eyes_only flag can be set by setting "_CONSOLE" as file name. Would you like to have an option in the API to set a file name, or should PGPainless choose a static name (eg. "out") instead?

@tomholub Could look at this question? I'm not sure what we exactly need.

I made some changes to the API. The default value of the "for-your-eyes-only" flag is now false and the default file name is the empty string (as per the spec).
Additionally onOutputStream() has now to overloadings which allow for a custom file name and to set the fyeo flag.

Let me know if this suites your needs :)

Looks good, thanks!

@vanitasvitae I've checked the new changes. Looks good. Thank you for the fast fix!


support vector regression

"
Support Vector Regression (SVR) is a type of regression algorithm based on the principles of Support Vector Machines (SVM). Unlike traditional regression methods, which aim to minimize the error for every data point, SVR focuses on fitting the best line within a certain threshold, called epsilon (ε), around the data. This threshold defines a margin within which predictions can deviate from the actual values without penalty, allowing for a more robust model that is less sensitive to outliers. SVR can use different kernel functions (such as linear, polynomial, or RBF) to handle linear and nonlinear relationships in data, making it versatile for various regression tasks. By optimizing a margin around the predicted values while minimizing errors outside of this margin, SVR balances the model's complexity with its ability to generalize to new data.
" - CHATGBT

The SVR test doesn't give enough data to debug

this shouldnt have been merged


Calender control of the Date form field is not accessible through keyboard

Githubs Tags:  #A11ySev2; #DesktopWeb; #A11yMAS; #A11yTCS; #Win11; #WCAG2.1.1; #FTP; #ChromiumEdge;
"Please do not close this bug. This bug should only be closed by TCS, C+AI Accessibility after verification of the bug".
Environment Details:
Application Name: Fluent UI Blazor
Page URL: https://fluentui-blazor.net/DateTime#defaulttimepicker
Chromium Edge Version 128.0.2739.79 (Official build) (64-bit)
Repro Steps:

Launch #URL: https://fluentui-blazor.net/DateTime#defaulttimepicker
Tab to "Days view" Date form field.
Observe that the calendar control associated with the form field is not accessible through Keyboard.

Actual Result:
The calendar control in the “days view” doesn’t work with keyboard keys like Enter or Spacebar. It only opens when you click it with a mouse.
Expected Results:
The Calendar control associated with the Date form field must be accessible through Keyboard keys.
User Impact:
Keyboard users are impacted due to the inability to activate the calendar control via keyboard keys.
WCAG Reference:
https://www.w3.org/WAI/WCAG21/Understanding/keyboard.html
Attachments:

WWL Bug link: https://dev.azure.com/worldwidelearning/WWL Accessibility/_workitems/edit/1845485

Indeed, this component is not compatible with accessibility features, as explained in the documentation.

We will work on it.

I pushed this PR #2688.
The user can navigate, using keyboard (Tab and Enter), into the Calendar or DatePicker components.
But not yet using the arrows to navigate from day to day (or month to month).

@dvoituron Yes, this looks fine. Please let us know once the fix got public

@dvoituron Yes, this looks fine. Please let us know once the fix made public

Sure. But you can already try the Preview version using these instructions: https://github.com/microsoft/fluentui-blazor/blob/dev/docs/using-latest-daily.md
Or you can try on the Preview Site: https://preview.fluentui-blazor.net/DateTime


Async HTTP API

As mentioned in #475, we probably want an async HTTP API. There might be clever things we can do with bi-directional streams. [Needs expanding with things from #475.]
User data

After thinking about it a bit more, an async API in cog would be more helpful than a synchronous one in Replicate. I did a little benchmarking and it didn’t take very many concurrent requests to get cog to crash for using too much memory. It seems like the queuing system you’ve already built would be the best way to keep that from happening. Also, even if predictions are usually quick, sometimes they’ll be slow under load or while scaling up and it’s probably better to build for that case.

Fixed in https://github.com/replicate/cog/pull/870


combinatorial explosion of recursive unions definitions.

TypeScript Version:  2.5.2
Code
type A = { tag: 'a', pa: ALL}
type B = { tag: 'b', pb: ALL}
type C = { tag: 'c', pc: ALL}
type D = { tag: 'd', pd: ALL}
type E = { tag: 'e', pe: ALL}
type ALL = A | B | C | D | E

Expected behavior:
When hovering on pa ... pe members, we see a few types, ideally just 'ALL'.
Actual behavior:
When hovering on pa ... pe members, we see an explosion of types.

I'm not seeing this in the playground or the nightlies.

@DanielRosenwasser I've seen that in VSCode, can you try in it?
I have two concerns:

It lags terribly when editing.
I'm afraid this pattern could lead to some OOM when compiling.
for information, in VSCode, the class version does not exhibit the issue.

class CA { tag: 'a'; pa: CALL }
class CB { tag: 'b'; pb: CALL }
class CC { tag: 'c'; pc: CALL }
class CD { tag: 'd'; pc: CALL }
class CE { tag: 'e'; pc: CALL }
type CALL = CA | CB | CC | CD | CE

Can you share some more context. like a bigger code sample?

@mhegazy @DanielRosenwasser oh that's strange!
It appears, it happens when I do an import like this at the top of the file:
import * as t from 'io-ts'

type A = { tag: 'a', pa: ALL}
type B = { tag: 'b', pb: ALL}
type C = { tag: 'c', pc: ALL}
type D = { tag: 'd', pd: ALL}
type E = { tag: 'e', pe: ALL}
type ALL = A | B | C | D | E

Here's a repo exhibiting the issue, this one with latest TS 2.6.0-dev.20170926 ( happens on both that version and 2.5.2, I've not checked others ) :
https://github.com/sledorze/tsInferenceIssue

Actually, I'm even not requiring io-ts, I've updated the repo with a version that just tries to import an empty module.

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.

This is definitely undesirable behavior, but can you give us more context on how you're running into this in the first place? Specifically, what is the motivating use-case?

I am unable to get a repro for the issue described in this thread. @sledorze can you share a self-contained repro for the issue.

@mhegazy here's a playground link that reproduce the issue:
https://www.typescriptlang.org/play/#src=export {}

type A %3D { tag%3A 'a'%2C pa%3A ALL }
type B %3D { tag%3A 'b'%2C pb%3A ALL}
type C %3D { tag%3A 'c'%2C pc%3A ALL}
type D %3D { tag%3A 'd'%2C pd%3A ALL}
type E %3D { tag%3A 'e'%2C pe%3A ALL}
type ALL %3D A | B | C | D | E

just hover over the ALL definition to see the types..
@DanielRosenwasser the use case is implementing a recursive algebra (a Query AST); the obvious work around is using interfaces instead of types but I found that pretty counter intuitive and unhandy that adding an export changes the type inference.

I've been experiencing the same problem. I've converted all of minijs' AST types to interfaces, because IntelliSense was stopping to show up and after a considerable wait, tsserver was crashing.
Here's a playground link demonstrating the problem when using type instead of interface (types copied from minijs). Hover over Expr or any other complex type. Note: if you remove export {} aliases are no longer expanded and the issue does not surface.

I've converted all of minijs' AST types to interfaces

I think that this has been the guidance we've had for users for a while.
Still, I know this is unexpected. @ahejlsberg had an explanation of why we reuse type alias names in global contexts as opposed to within a module.

There's a lot of difference going on now when switching from types to interfaces, I'm referring specifically to variance and type safety.
It is highly desirable not to have to choose between recursivity and type safety (co/contra-variance).

Should be fixed in latest.


make listening to localhost only the default

We are hardcoding several services to localhost when running them via ocis, but not all.
The question is what ocis is intended to provide: an easy developer deployment or a tool to start a production deployment? The former would mean locking things to localhost by hardcoding it in the services may be the better approach. The latter would lead to a more flexible solution which allows people to shoot themselves in the foot. We need to provide secure defaults either way.
IMO letting all services listen to localhost might be ok for a development setup ... and should be the default for all extensions. Then ocis does not need to hardcode the host and address in the subcommands like in https://github.com/owncloud/ocis/pull/145#pullrequestreview-375836587. And all services started via ocis can be configured va env vars, eg. to let the proxy listen for connections on all ip adresses.
@refs @micbar @PVince81 @C0rby @IljaN @felixboehm opinions? localhost by default? would that work for every service? leave a :+1: or :-1: more feedback welcome!

I agree to defaulting to localhost but keeping it configurable

@butonic I would map it to <IP_ADDRESS> as many times localhost is not the pc you are working but your dev machine that you have ssh-ed into.

I was thinking about the compromise of letting every service listen to localhost and make the proxy listen on <IP_ADDRESS>, but that setup is useless, because the oidc provider needs to know the issuer url. So in order to log into a remote machine you would always have to set an env variable to get the iss set up properly. Hm we could default to the hostname instead of locahost for the oidc issuer. If that is set up properly it should just work:tm:
When ssh-ing into another machine you can also port forward the proxy port and use ocis on localhost.

Related https://github.com/owncloud-docker/compose-playground/pull/9

this PR addresses this. But only tangentially

The only scenario running without any specific config is localhost


Unable to use wallet because: can't create accounts when the latest account doesn't have message history and balance

Testing the wallet cli.
After some fiddling I am unable to create a new account. I am confronted with the error:
ERROR: can't create accounts when the latest account doesn't have message history and balance
but this error message does not tell me how to fix it. What am I supposed to do?

If you get this error then you already have an account and this account needs to get iotas first before you create a new one
This was made so one doesn't create many empty accounts and use only account 40 for example, which would make it much harder to recover if the db is lost


Resolve issues with being able to generate changelogs against DB2 on z/OS

This is in reference to an outstanding request I made about a year ago in your Jira portal here: https://liquibase.jira.com/browse/CORE-3486
At some point several years ago, DB2 on z/OS was almost functional in Liquibase 3.5, specifically with this commit: https://github.com/liquibase/liquibase/commit/9ceff417f97f97096a740fdbc04136a4db2befe2 . Those changes were lost at some point a couple of months later, then mostly reintroduced about a year ago during the 3.9 release cycle.
There were a few additional tweaks necessary for Liquibase to be able to generate changelogs against DB2 on z/OS I made locally last year, and I re-applied the changes against the master branch of Liquibase this morning with the hopes of getting my changes integrated with the main Liquibase codebase.
The specifics on the issues that required addressing:

UniqueConstraintSnapshotGenerator did not contain a case for Db2zDatabase in the listColumns() method (fix ported from 3.5.x codebase)
JdbcDatabaseSnapshot had an error in the SQL statement to resolve objects in the fastFetch() method where it was not specific enough with filtering object names from the system tables by creator name, so in a multi-user/multi-schema environment it was returning incorrect objects
Db2zDatabase did not correctly define or override getMaxFractionalDigitsForTimestamp() as it is defined for DB2 on z/OS. According to IBM's documentation, it is 12, not 9, so this was updated to properly support the database

name: Pull Request
about: Create a report to help us improve
title: ''
labels: Status:Discovery
assignees: ''

Environment
Liquibase Version:

4.1.2-SNAPSHOT (master branch as of 10/26/2020)

Liquibase Integration & Version: <Pick one: CLI, maven, gradle, spring boot, servlet, etc.>

CLI

Liquibase Extension(s) & Version:
Database Vendor & Version:

IBM : DB2 on z/OS version 12 (FL504)

Operating System Type & Version:

IBM z/OS 2.4.0

Pull Request Type

[x] Bug fix (non-breaking change which fixes an issue.)
[ ] Enhancement/New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
Changelog generation for DB2 on z/OS is and has been broken for some time. By porting an old change from the 3.5 release cycle that was at some point dropped, as well as fixing a query for object resolution against DB2/Z system tables, I was able to make changelog generation function as expected
Steps To Reproduce
List the steps to reproduce the behavior.

Run liqubase CLI with the following arguments (substituting a valid DB2 on z/OS subsystem, catalog, schema, and credentials, changelog location, as well as DB2 client jars):

--changeLogFile=/path/to/changelog.xml
--url=jdbc:db2://hostname.for.db2.subsystem.com:*port*/CATALOG:currentSchema=SCHEMANAME;
--username=*username*
--password=*password*
--schemas=SCHEMANAME
--classpath=/path/to/db2jcc_license_cu-10.5.jar;/path/to/db2jcc4-10.5.jar
generateChangeLog

Actual Behavior

Instead of generating a changelog, I instead receive a SQL error "DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704", which is "Object does not exist" due to UniqueConstraintSnapshotGenerator.listColumns() dropping to the fallback "else" statement for listing columns, which does not work against DB2 on z/OS

Unexpected error running Liquibase: liquibase.exception.DatabaseException: Error executing SQL select CONSTRAINT_NAME, COLUMN_LIST as COLUMN_NAME from information_schema.constraints where constraint_type='UNIQUE' and constraint_catalog='SCHEMANAME' and constraint_schema='SCHEMANAME' and table_name='TABLENAME' and constraint_name='RFCONSTRAINTNAME': DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=INFORMATION_SCHEMA.CONSTRAINTS, DRIVER=4.19.49
For more information, please use the --logLevel flag

Expected/Desired Behavior

Successfully generate base changelog against schema

Liquibase command 'generateChangeLog' was executed successfully.

Screenshots (if appropriate)
Additional Context
Add any other context about the problem here.
Fast Track PR Acceptance Checklist:

[x] Build is successful and all new and existing tests pass
[ ] Added Unit Test(s)
[ ] Added Integration Test(s)
[ ] Documentation Updated

Need Help?
Come chat with us on our discord channel
Liquibase Engineering QA Requirements
Test Limitations :: As negotiated with Product, QA will not test the DB2/Z fix as it is not one of the Liquibase Certified platforms. We will test all certified platforms to ensure there is no unexpected changes as a result of this fix.

Verify the e2e test for each supported plaform includes a unique constraint.

If a platform is missing a UQ, add one and validate the test passes.

Run all automated functional tests on Jenkins and verify they pass.

The automated functional tests are run on an internal server and are not visible to the wider community.
┆Issue is synchronized with this Jira Story by Unito
┆Fix Versions: Community 4.4.0,Liquibase 4.4.0

Hi @hotspoons
Thanks for your pull request!
Here’s what happens next:
A member of the Liquibase team will take a look at your contribution and may suggest:

Changes based on guidelines for PR submission
Additional tests (unit and/or integration)
Provide other feedback, like requesting changes.

The PR will be prioritized according to our internal development and testing capacity.
We’ll let you know when it’s ready to move to the next step or if any changes are needed.

Merged into master for 4.4.0


Espefuse (IDFGH-8628)

Answers checklist.

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

General issue report
Hello,
I would like you to help me better understand the "espefuse" program.
When I use ESP32S3 DevKit on both ports of the Kit (USB and USB with CP2102) I can read the status of the fuses without any problems.
But when I try to read the fuses on my ESP32S3 board through the USB port (without CP2102 / FTDI) I get the following error. Strange because the USB port connections are the same as in the Devkit.

espefuse.py v4.3
Connecting...
Traceback (most recent call last):
File "runpy.py", line 194, in run_module_as_main
File "runpy.py", line 87, in run_code
File "C:\Espressif\python_env\idf5.0_py3.8_env\Scripts\espefuse.exe_main.py", line 7, in
File "c:\espressif\python_env\idf5.0_py3.8_env\lib\site-packages\espefuse_init.py", line 277, in main
main()
File "c:\espressif\python_env\idf5.0_py3.8_env\lib\site-packages\espefuse_init.py", line 215, in main
esp = get_esp(
File "c:\espressif\python_env\idf5.0_py3.8_env\lib\site-packages\espefuse_init_.py", line 80, in get_esp
esp = esptool.cmds.detect_chip(port, baud, connect_mode)
File "c:\espressif\python_env\idf5.0_py3.8_env\lib\site-packages\esptool\cmds.py", line 93, in detect_chip
detect_port.connect(connect_mode, connect_attempts, detecting=True)
File "c:\espressif\python_env\idf5.0_py3.8_env\lib\site-packages\esptool\loader.py", line 632, in connect
last_error = self._connect_attempt(
File "c:\espressif\python_env\idf5.0_py3.8_env\lib\site-packages\esptool\loader.py", line 573, in _connect_attempt
self.sync()
File "c:\espressif\python_env\idf5.0_py3.8_env\lib\site-packages\esptool\loader.py", line 436, in sync
val, _ = self.command(
File "c:\espressif\python_env\idf5.0_py3.8_env\lib\site-packages\esptool\loader.py", line 366, in command
self.write(pkt)
File "c:\espressif\python_env\idf5.0_py3.8_env\lib\site-packages\esptool\loader.py", line 318, in write
self._port.write(buf)
File "c:\espressif\python_env\idf5.0_py3.8_env\lib\site-packages\serial\serialwin32.py", line 325, in write
raise SerialTimeoutException('Write timeout')
serial.serialutil.SerialTimeoutException: Write timeout

Hi @ifoxbr!
The espefuse uses esptool API to detect chips. Could you try to run esptool chip_id? If you get the same error then it means that the issue is not in the espefuse.
This error means that the esptool can not detect a chip, but usually, it throws another error message.

Hello Konstantin
My ESP32S3 is on COM12
When running esptool chip_id, it searches all COMs I have, and the result on COM12 is Timeout.
Serial port COM12 Connecting... COM12 failed to connect: Write timeout
The only differences in my hardware compared to Dev Kit is that I do not have 5Volt on my USB Side.
Could be this the error ?
Thank You

Hello Konstantin
That´s the problem.
I can't even run this simple command in espefuse.
Allways receive   "serial.serialutil.SerialTimeoutException: Write timeout"
Tried on several other boards we have, same result.
It seems to be a problem with the batch of parts we bought.
Thank you for your help, I will buy some parts from some other supplier
Regards

Can you establish the connection through UART? It is a standard way to flash an app to the chip, and after running the efuse summary cmd.
I suggest making sure first. Please check as well the chip version (ECO version).
For a certain ECO version, there was a bug that this bit was set by default.

Thank you very much Konstantin
It works fine on UART port.
Have a nice day
Thank you again for help
[]s

STRAP_JTAG_SEL exists in the new esptool.  It enables selection between usb_to_jtag or pad_to_jtag through GPIO3. https://github.com/espressif/esptool/blob/master/espefuse/efuse/esp32s3/mem_definition.py#L152
Please try to use the newest esptool version.

Hello Konstantin
Thank you so much for the great help
Regards

Hello Konstantin
On the Esptool Github page there is something strange.
https://github.com/espressif/esptool/releases
If you look at the version history it shows the latest version 3.3.2, if you scroll down the page there is version 4.3.
I think the subtitle of the last version is wrong, it must be 4.3.2.
Is it from this repository that I should download?
Regards

Sorry, I see that you use esptool 4.3 https://github.com/espressif/esptool/releases/tag/v4.3, it is correct.
You did not expose which ESP32S3 you have. The esptool has esp32s3beta2 and esp32s3 targets. The esp32s3 has the right efuse table with STRAP_JTAG_SEL. Probably your chip is recognized as esp32s3beta2 . This is why you do not see this field.

Hi,
I understood.
This is my chip
Connecting...
Detecting chip type... ESP32-S3
Chip is ESP32-S3 (revision v0.1)
Features: WiFi, BLE
Crystal is 40MHz
MAC: 7c:df:a1:f3:4e:84
Uploading stub...
Running stub...
Stub running...
Warning: ESP32-S3 has no Chip ID. Reading MAC instead.
MAC: 7c:df:a1:f3:4e:84

Hello Konstantin
Good news !!
I just received a new chip from our supplier, I changed it and now everything is perfect, the efuse appears and I was able to burn it.
I can read efuses both USB and UART.
Problem was our first batch of parts it's what I think.
Thank you so much for the great help
Regards


doc: link to target discriminator gives a 404

Description
update link to target discriminator target page

https://kluctl.io/docs/kluctl/reference/kluctl-project/targets/README.md#discriminator
to
https://kluctl.io/docs/kluctl/reference/kluctl-project/targets/#discriminator


Loss of Video and/or entire stream

I'd dearly love to get this docker working correctly.  However there are a couple of issues.
  Looking at the stats, the video is not present.  A stop start of the docker plugin resolves.  This can happen frequently within an hour

Secondly, sometimes the stats page shows nothing.. even though the plugin is outputting a stream and I am viewing it on another device.
Another issue is when starting up the docker plugin, the syslog is flooded with these messages (eventually filling up all the log space). These messages continue until the docker plugin is stopped.  This could be related to the above issue
Mar 12 15:04:05 Miley kernel: device br0 entered promiscuous mode
Mar 12 15:04:12 Miley kernel: tun: unexpected GSO type: 0x0, gso_size 1460, hdr_len 1514
Mar 12 15:04:12 Miley kernel: tun: c8 92 3f 88 49 d4 43 2e de 65 d4 cc f1 3d d6 b8  ..?.I.C..e...=..
Mar 12 15:04:12 Miley kernel: tun: 73 21 37 9b b0 ba 27 4e 46 7b 67 bf 42 52 bf 51  s!7...'NF{g.BR.Q
Mar 12 15:04:12 Miley kernel: tun: 99 da 86 ec c1 15 e7 04 85 8b 96 51 4a 41 36 3d  ...........QJA6=
Mar 12 15:04:12 Miley kernel: tun: a2 22 65 63 1e 6a f4 4b cf 25 70 e8 15 6d b2 e8  ."ec.j.K.%p..m..
Cheers,
Grant

I have the same problem and can't find a solution. Does anyone found anything here?
Issue is basically that the ffmpeg process dies every now and then.
Even if ffmpeg runs there are stutters in picture and sound.

Can you share more info on your setup. I maybe able to help if I can replicate the issue.
Your config, video source, video sink, etc?

Yes of course.
Server: Intel Core i7-4770, 32 GB DDR3, 250GB SSD, 1Gbit/s syncronous internet uplink
OS: Ubuntu 20.04 LTS
pulled and build the container with no modifications:
git clone https://github.com/TareqAlqutami/rtmp-hls-server
docker build -t rtmp-hls .
docker run -d -p 1935:1935 -p 8080:8080 rtmp-hls

Demo Movie:
wget http://ftp.halifax.rwth-aachen.de/blender/demo/movies/Sintel.2010.1080p.mkv
Streaming it to nginx:
ffmpeg -re -stream_loop -1 -i Sintel.2010.1080p.mkv -f flv rtmp://localhost:1935/live/test
Using the embedded HLS Player for play in the browser:
http://...:8080/players/hls.html
Also tried it in VLC:
http://...:8080/hls/test.m3u8
Every now and then the ffmpeg process started by the nginx: worker process stops working, and starts up a few seconds later. The stream in the player will stop.

Even if the ffmpeg process does not die there are stutters in the stream. Even in the source one (http://...:8080/hls/test_src.m3u8), that should be completely unaffected by transcoding effects.
Also tried OBS as a streaming source, configured to exact the settings written down in your README.md.
Same problems here.
There is no bottleneck from CPU, Memory or network. Load average is at about 1,6.

@schenklklopfer, I replicated your settings using the same video. I couldn't replicate the ffmpeg/nginx process dying but I noticed few things
1- For the demo video you provided, the test_src.m3u8 and test_src.mpd were not generated in /mnt/hls and /mnt/dash. The HLS player goes to play test_hd720.m3u8 for me.
2- I played hls in two browser tabs and in VLC, I noticed VLC gets the stutters sometimes but not much for the HTML player.
3- I streamed another video and the test_src.m3u8 file was generated and played without issue.
I suggest the following:

Try modifying the ffmpg commands to generate the _src stream
disable deny play all; under show application and test the generated streams as rtmp
Change the hls_fragment length and see if it reduces stutters.


Unpin ibm-cloud-sdk-core

We use @ibm-cloud/cloudant which uses ibm-cloud-sdk-core. ibm-cloud-sdk-core had this issue in it, which was affecting us. We requested a fix, and the issue has now been fixed in<EMAIL_ADDRESS>However, we are unable to pick this fix up because you are still pinned to<EMAIL_ADDRESS>https://github.com/IBM/cloudant-node-sdk/blob/52bce378fe578977bc9fb25bc912a10e5914e958/package.json#L40
Is there a reason for this pin? I would like to request that you unpin this, say "^4.3.1", so that this fix (and any potential future fixes) are automatically picked up and available to your own downstream consumers. Thank you. (I recommend not just upgrading to "4.3.2" specifically, because we'd just have to have this whole discussion all over again next time a new patch of ibm-cloud-sdk-core appears.)

Is there a reason for this pin?

We pin versions to what is tested and working.
As you can see from https://github.com/IBM/cloudant-node-sdk/pull/1539 and https://github.com/IBM/node-sdk-core/issues/276 if we didn't have that pin then anyone installing today would have been broken by the 4.3.2 version of the core.

so that this fix (and any potential future fixes) are automatically picked up and available to your own downstream consumers

We update dependencies as soon as they are available (and working) and release new versions ~monthly with those updates.

BTW if https://github.com/IBM/node-sdk-core/issues/174 was particularly concerning you because of the micromatch and braces CVE reports then see this comment: https://github.com/IBM/cloudant-node-sdk/issues/1523#issuecomment-2124726708

fwiw I just released https://github.com/IBM/cloudant-node-sdk/releases/tag/v0.9.2 with core 4.3.3 that should fix this.


Could not resolve dependencies for project com.sap.mango:jiraintegration:jar:2.1.0: Failure to find jta:jta:jar:1.0.1

I encountered this error during the inital build. I had no Atlassian artefacts in my local repository , so everything was freshly downloaded. Can you update the pom.xml to refer to the latestest supported versions?
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:30 min
[INFO] Finished at: 2017-12-07T16:25:43+01:00
[INFO] Final Memory: 20M/242M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project jiraintegration: Could not resolve dependencies for project com.sap.mango:jiraintegration:jar:2.1.0: Failure to find jta:jta:jar:1.0.1 in https://maven.atlassian.com/repository/public was cached in the local repository, resolution will not be reattempted until the update interval of atlassian-public has elapsed or updates are forced -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

No response, it seems the project is a as dead as doornail.

Hello @cgerull
I noticed your recent comment, and I've opened an internal discussion to find the original creators of this project.  I will do my best to get your issue resolved.
Regards,
Jonathan

Hello Jonathan,
with the latest fixes and latest Atlassian SDK I'm able to build and deploy. But enabling the pluginleads to this error:
[INFO] [talledLocalContainer] 2018-04-14 00:41:32,157 ThreadPoolAsyncTaskExecutor::Thread 21 ERROR admin 41x170x1 18jc2bk 0:0:0:0:0:0:0:1 /rest/plugins/1.0/com.sap.mango.jiraintegration-key [internal.dependencies.startup.DependencyWaiterApplicationContextExecutor] Unable to create application context for [com.sap.mango.jiraintegration], unsatisfied dependencies: none
[INFO] [talledLocalContainer] java.lang.NoClassDefFoundError: org/apache/olingo/server/api/ODataApplicationException
[INFO] [talledLocalContainer] 	at java.lang.Class.getDeclaredConstructors0(Native Method)
[INFO] [talledLocalContainer] 	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
[INFO] [talledLocalContainer] 	at java.lang.Class.getConstructors(Class.java:1651)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractBeanDefinition.getResolvedAutowireMode(AbstractBeanDefinition.java:517)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1044)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
[INFO] [talledLocalContainer] 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
[INFO] [talledLocalContainer] 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
[INFO] [talledLocalContainer] 	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:60)
[INFO] [talledLocalContainer] 	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:325)
[INFO] [talledLocalContainer] 	at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
[INFO] [talledLocalContainer] 	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:290)
[INFO] [talledLocalContainer] 	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137)
[INFO] [talledLocalContainer] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[INFO] [talledLocalContainer] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[INFO] [talledLocalContainer] 	at java.lang.Thread.run(Thread.java:745)
[INFO] [talledLocalContainer] Caused by: java.lang.ClassNotFoundException: org.apache.olingo.server.api.ODataApplicationException not found by com.sap.mango.jiraintegration [169]
[INFO] [talledLocalContainer] 	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)
[INFO] [talledLocalContainer] 	at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
[INFO] [talledLocalContainer] 	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
[INFO] [talledLocalContainer] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[INFO] [talledLocalContainer] 	... 21 more

Hello,
to solve the dependency problem you need to get the jta-1.0.1.jar file and install it to your local repository. See the instructions here:
https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
Example:
mvn install:install-file -Dfile=C:\temp\jta-1.0.1.jar -DgroupId=jta -DartifactId=jta -Dversion=1.0.1 -Dpackaging=jar
Afterwards the build should work.
Once the build is done you will find two jar file in the target directory:
jiraintegration-2.1.0.jar
jiraintegration-2.1.0-jar-with-dependencies.jar
You need to take the jiraintegration-2.1.0-jar-with-dependencies.jar to install it on the Jira systems. Then you should not get these class not found exceptions.
Regards,
Frank


Add force run mode.

Similar to #11 in identifying executables.
With a flag, run all executables using the main script (and associating logging and last_run updates). A similar approach would be a simple script to run everything in the targets directory (or targets config, if there is one). This would run everything but sidestep the main application.
This is useful say you want to run everything manually before you turn off the machine for the day.

A variation on this would be delete all the last_run files but then history is lost. Could be moved to .bak but then they have to be ignored.


ExtManagementSystem - use supports_not :admin_ui; use supports_not

Displaying a toolbar button to open the admin ui tries to call the supports method, and when not there, falls back to the old availability code, which fails with missing validate_admin_ui method.
This is because since https://github.com/ManageIQ/manageiq-providers-ovirt/pull/133, RedHat::InfraManager supports :admin_ui, but the supports_not call was not added to the ancestor class.
Adding, and taking the opportunity to use supports_not for all the def supports_foo? ; false ; end methods.
Cc @borod108 , @vojtechszocs , @martinpovolny

@miq-bot add_label bug, gaprindashvili/yes

from gitter November 27, 2017 2:35 PM
[----] F, [2017-11-27T16:21:44.496001 #9015:4469e80] FATAL -- : Error caught: [ActionView::Template::Error] undefined method validate_admin_ui' for #<ManageIQ::Providers::Redhat::InfraManager:0x007fa7876574b8> Did you mean? validates_numericality_of /home/bod108/.rvm/gems/ruby-2.4.1/gems/activemodel-5.0.6/lib/active_model/attribute_methods.rb:433:inmethod_missing'
/home/bod108/git/manageiq/app/models/mixins/availability_mixin.rb:24:in is_available?' /home/bod108/git/manageiq/plugins/manageiq-ui-classic/app/helpers/application_helper/button/generic_feature_button.rb:13:inrescue in visible?'
/home/bod108/git/manageiq/plugins/manageiq-ui-classic/app/helpers/application_helper/button/generic_feature_button.rb:10:in `visible?'

:api_version is not in the mixin's list - undoing that change

Never mind, SupportsFeatureMixin does call supports_not for each feature.
The problem happens when that method fails when calling another method - like NoMethodError: undefined method version_higher_than?'

@himdel thanks - should be fixed by https://github.com/ManageIQ/manageiq-providers-ovirt/pull/156

This is because since ManageIQ/manageiq-providers-ovirt#133, RedHat::InfraManager supports :admin_ui, but the supports_not call was not added to the ancestor class.

While working on ManageIQ/manageiq#16403 I've encountered some errors (don't remember the details, sorry) after adding supports_not :admin_ui to app/models/ext_management_system.rb so I solved that by updating app/models/mixins/supports_feature_mixin.rb (see here).


Change query function and set_hint function by more flexible "hint" code block

We should not tie the hint function that tightly to specific columns. This way, it will be easier to share computed values between different columns and we could e.g. create all values for a full block in a block machine in one go.
Proposed syntax:
hint |row_index| {
  // replacement for the "hint" query alternative
  std::prover::set_value(column, row_index, value);
  std::prover::output("string");
  let x = std::prover::input(1, 2);
};

One problem is that we should specify somehow when to run the hint. For set_value, it is probably important that some other value of a witness column is known. For output, we should not run it multiple times per row, same for input.
We currently run the hints as long as the value for the associated column is not known. We could either model that explicitly in the hint:
hint (col1, col2) |row_index| { ... }

or in the code:
hint |row_index| { if std::prover::value_known(col1, row_index) { ... } }

Once we implement this, we should remove std::prover::set_hint / std::prelude::set_hint and all related mechanisms.
Related: https://github.com/powdr-labs/powdr/issues/1365

I think we also considered in the past just calling this section prover { ... }

Oh and this statement would be valid at statement level and inside constr functions.

Another question to answer is how the hint/prover blocks are handled by the machine extractor. If we list columns whose known-ness trigger the hint, then this could be used. We could also collect references, but that might fail to work if we call another function (unless we follow the function call...).
Once we have proof objects, this might become easier...

Cool! I don't think I really have answers to your questions, but a few thoughts.
I think what we want is for the user to be able to provide some callback that is called by the solver for each row until success. Maybe we can have the callback return whether it succeeded? This way, a hint that has a side effect (e.g. one calling std::prover::output) can make sure that it only ran once, and a hint that set all values successfully can mark itself as complete, so it doesn't need to be run again. Each hint should be written such that it is idempotent if it returns Status::Incomplete, and should have side effects only before returning Status::Complete.

We currently run the hints as long as the value for the associated column is not known. We could either model that explicitly in the hint:
hint (col1, col2) |row_index| { ... }

or in the code:
hint |row_index| { if std::prover::value_known(col1, row_index) { ... } }

In the first approach, does it mean that both col1 and col2 need to be known, or that the hint is run if at least one of them is unknown? I think both would be useful. And are we talking about the current row?
I think the first approach allows us to optimize performance a lot better (no need to run the PIL evaluator if the conditions are not met) and helps with machine detection, as you mentioned. On the other hand, the second approach is more general and doesn't require the user to know some special syntax to answer the questions I have with the first approach...

I actually think that for now, we can ignore most of these questions. std::prover::eval can fail and if it fails, the prover section is re-executed at a later point. If the prover section can be executed without error, it is not re-run for the same row. I think that should work for most of our use-cases for now. If we need it, we can add the status return value, that's a good idea.
Also I think that instead of set_value we should name that function provide_value, since this sounds more like a "hint".

Interesting. There might be a way to implement this with rather small changes to the parser and even condenser:
At statement level (everywhere where we allow constraints), we allow lambda functions of query kind. We rename "query" to "prover".
Then it looks exactly like proposed above:
let x;
let y;
prover |i| {
  std::prover::provide_value(x, i, std::prover::eval_at(x, i));
};

The side-effect checker already works properly.
And then the condenser collects those prover functions and stores them in Analyzed.

This has been implemented in #1717


Oneway issues don't show up when zooming in

The clusters do show up but not the individual issues when I zoom in:

Did you set any filters for the One-way layer? If yes try clearing the filters.

Makes no difference. I clicked 'reset' on the filter settings, and it looks like this:

Same result.

I will check the issue on Monday. Thanks for reporting.

The issue was fixed.


[Question] How to calculate script hash from a Script instance?

As per title, I'm wondering: within a Rust L1 script, what's the most idiomatic way to calculate script hash from a Script instance?
I'm asking here since GitHub issues are SEO friendly and very likely in the future there will be other L1 developers wondering the same :wink:
Phroi

Generally, just use a blake2b crate that supports no_std and calculate blake2b(script.as_slice()) (with ckb output length and personalization).
It's also possible that you can load the script hash with a syscall, if the script is the type/lock script of a cell referenced/created by the current tx, see

https://docs.rs/ckb-std/latest/ckb_std/high_level/fn.load_cell_lock_hash.html
https://docs.rs/ckb-std/latest/ckb_std/high_level/fn.load_cell_type_hash.html
https://docs.rs/ckb-std/latest/ckb_std/high_level/fn.look_for_dep_with_hash2.html

It's also possible that you can load the script hash with a syscall,

If it was possible to load the hash, of course that would be the preferred choice :wink:

Generally, just use a blake2b crate that supports no_std and calculate blake2b(script.as_slice()) (with ckb output length and personalization).

A valid no_std blake2b crate is blake2b-ref and from the Transaction Structure RFC the blake2b parameters are:

output digest size: 32
personalization: ckb-default-hash

@sopium would you agree on the following implementation?
use blake2b_ref::Blake2bBuilder;

fn script_hash(script: &Script) -> [u8; 32] {
    let mut output = [0u8; 32];
    let mut blake2b = Blake2bBuilder::new(32).personal(b"ckb-default-hash").build();
    blake2b.update(script.as_slice());
    blake2b.finalize(&mut output);
    output
}

Yes, that's right.

Perfect, thanks a lot!! :pray:


Bug in Geometry,cs

Dear Sir,
thank you for the great library!
There is a misalignment in function
AddCurve(Point point, float radius, float rotationAngle = 0.0f)
where it reads:
ArcSize = radius > 179.0f ? ArcSize.Large : ArcSize.Small,
which does not reflect the intention.
ArcSize = rotationAngle >= 180.0f ? ArcSize.Large : ArcSize.Small,
does.
Warm Regards
dhu6411

Thank you for your report.
I am sorry that I forgot to answer.
I am just too busy at the moment. will look into it soon


[$250] [One expense reports] Red dot on LHN does not appear for participant when create 1:1 hold expense

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.83-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4627347&group_by=cases:section_id&group_order=asc&group_id=309128
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:
Submitter

Create an IOU with several expenses in a 1:1 with another user you have access to
Participant
Log in as the other user
Navigate to a expense, click the three dots in the header, and choose Hold
Leave a hold comment and confirm

Expected Result:
There should be a red dot on LHN on participant side
Actual Result:
Red dot on LHN does not appear for participant when create 1:1 hold expense
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/0c523891-6226-4fa1-bc72-ae40c2ff62f9
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0161264d9154f7a521
Upwork Job ID:<PHONE_NUMBER>946815546
Last Price Increase: 2024-07-01

Issue OwnerCurrent Issue Owner: @Pujan92

@lschurr  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
Please re-state the problem that we are trying to solve in this issue.
Red dot on LHN does not appear for participant when create 1:1 hold expense
What is the root cause of that problem?

We early return false in this logic:
https://github.com/Expensify/App/blob/75c104bfe009ef937bcd129a35bb5a2e52f4339d/src/libs/ReportUtils.ts#L5278-L5280
if the current user is not submitter, that leads to there is no RBR displays for participant when creating 1:1 hold expense.

What changes do you think we should make in order to solve the problem?

We can update this logic:
https://github.com/Expensify/App/blob/75c104bfe009ef937bcd129a35bb5a2e52f4339d/src/libs/ReportUtils.ts#L5278-L5280
to:

    const transaction = allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${IOUTransactionID}`] ?? {};
    const isOnHold = TransactionUtils.isOnHold(transaction);
    if (!isCurrentUserSubmitter(IOUReportID) && !isOnHold) {
        return false;
    }

What alternative solutions did you explore? (Optional)
NA

@lschurr Based on this comment it seems only for the submitter we are showing Red dot(RBR) in LHN. Would like to confirm the expected result here.
cc: @cead22

I don't know about HOLD, so tagging @JmillsExpensify

@JmillsExpensify will you take a peek at this one?

We were discussing this in this thread.
It seems like we're broadly not adding the RBR to the LHN and pinning the "combined" one expense report when it contains violations, one of which is a held request.

So we want to fix that. When an expense report contains just one expense, the RBR for the violation (incl. hold) should be added to the report row in the LHN and it should be pinned - because that is the "lowest" context chat in this scenario.

Thanks @trjExpensify - @Pujan92 are you able to review?

Proposal updated

I updated proposal to match the new feature.

Thanks @trjExpensify

The logic for who the RBR should be displayed to in the one expense report case should be exactly the same as the multi-expense report case.

At the moment the RBR in LHN is only displayed on the submitter side for the multi-expense specific report case, So I believe this task is all about showing the RBR in the LHN for one expense report case. @trjExpensify could you plz confirm once?

Mutli Expense(current behaviour of submitter side and then payer side)
https://github.com/Expensify/App/assets/14358475/5b012f99-ceb7-4f29-9ad6-0022c79941a6

One Expense(current behaviour of submitter side and then payer side)
https://github.com/Expensify/App/assets/14358475/a772d563-038d-4d6c-a613-dd6d21bef516

So I believe this task is all about showing the RBR in the LHN for one expense report case. @trjExpensify could you plz confirm once?

Correct. See below!

So we want to fix that. When an expense report contains just one expense, the RBR for the violation (incl. hold) should be added to the report row in the LHN and it should be pinned - because that is the "lowest" context chat in this scenario.

Change the getOptionData function to make sure the RBR is displayed in oneTransactionReport in LHN if its transaction has violations.

@truph01 Plz provide the draft branch for this as I am not sure whether the hold/unhold change rerenders the one expense report in the sidebar or not.
I also wonder, can't we do the same somewhere at a higher level(where we derive shouldDisplayViolations)?

@truph01 bump on the question above. We'd really like to keep this moving. Thanks!

@Pujan92 I created a draft PR

@truph01 The Issue I see - on updating the hold/unhold status for one expense report isn't getting rerenders in the sidebar.
https://github.com/Expensify/App/assets/14358475/cd3433ce-d67a-4f17-bdb7-1d71920184b3
I have some other doubts in the implementation but that can be discussed and rectified in the PR. Could you plz check and update on the above issue?

on updating the hold/unhold status for one expense report isn't getting rerenders in the sidebar.

I am still investigating it. But FYI, this bug also appears in the latest main.

on updating the hold/unhold status for one expense report isn't getting rerenders in the sidebar.

@Pujan92 Maybe it is a BE bug. When we hold any expense, there is no transactionViolations_ data returned from BE side.

But FYI, this bug also appears in the latest main.

Yes @truph01, it exists on main too.

We can proceed with point 2 of @truph01's proposal which is to check violation for the child report if it is a one-expense report.
🎀👀🎀 C+ reviewed

Thanks for the discussions and review, let's move forward with the @truph01 's proposal 👍

@Pujan92 PR https://github.com/Expensify/App/pull/44810 is ready.

We don't have an offending PR here as it is kind of a new thing for the one expense report.
Regression Test Steps

Submit a first expense for any of the participant
Hold that expense / Violate it by skipping required fields(category/tag..) if it is the policy expense chat
Verify the one expense report in the LHN has the RBR and is pinned.

Do you agree 👍 or 👎 ?

Payment summary:

Contributor: @truph01 $250 (paid in Upwork)
Reviewer: @Pujan92 $250 (please request via NewDot)

$250 approved for @Pujan92


Key colors missing after hibernation

Describe the bug
Every time I wake my laptop from hibernation, four keys have no color. Selecting "Refresh" in AlienFX-Tools restores the colors.
To Reproduce
Steps to reproduce the behavior:

Configure lighting on all keys (either dim or full brightness).
Minimize AlienFX-Tools to the system tray.
Hibernate the computer.
Reflect on the joy of having a gaming computer.
Wake the computer.

Notice that during the Windows 11 loading screen, all keys display the expected color.
As the Windows 11 login screen appears, observe that keys F1, F12, Speaker Mute, and Microphone Mute are unlit.
Unlock the computer, then "Refresh" AlienFX-Tools from the system tray and notice that the colors are now correct.

Expected behavior
The affected keys should retain the programmed colors like the rest of the keyboard after logging in/unlocking, without needing a manual refresh.
System:

Model: Alienware x17 R2
Model details: per-key RGB keyboard, Dell Technologies Keyboard, VID_0D62/PID_BABC, 89 lights, APIv5
OS: Windows 11 (fully patched)
Antivirus: Bitdefender Total Security

Additional context
Note that 3 of the problematic keys are system-controlled:

F1 is the G-Mode key with Alienware software, which lights up when G-Mode is enabled, but when using AlienFX-Tools it does not change when the mode is set to 171.
Speaker Mute turns white when the system mutes the sound, and reverts to the set color when unmuted.
Microphone Mute also turns white when muted, and reverts to the set color when unmuted.

F12 is a standard key. It can disable the touchpad, but its color does not change when this happens.

Is it always the same buttons or random?

It’s always the same 4 buttons that go dark: F1, F12, Speaker Mute, and Microphone Mute.
Another note, in case it's relevant: the only other key on the keyboard (besides F1, Speaker Mute, and Microphone Mute) that automatically changes color when pressed is the key to the right of the spacebar, which disables the Windows key (located to the left of the spacebar). This key also turns white when the Windows key is disabled, but it always displays the correct color after waking up.

Speaker Mute is light 16.
Microphone mute is light 19.
F1 is light 1
F12 is light 12
Unused values which don't light up any keys when selected on the Devices and Grids tab:
33, 36-39, 41, 54, 56-59, 73, 75-79, 82, 93, 95-99, 106, 107, 108, 110, 113, 115, 116-132
I tried enabling speaker and microphone mute by pressing the keys so they lit up white, then stepping through all the keys on the Device and Grids tab to see if any would light up (green), but they did not and just remained white. When I pressed them again to un-mute, they lit up at their regular light ids (16 and 19, above).
Note that the colors load fine after a reboot and log in. It's just after a hibernate, wake, and log in that they are unlit.

I checked the Device effects setting you mentioned in your last response, but it was already off.
It looks like the latest update fixed the problem because it hasn’t happened again since installing it. I'll close this issue.
Thank you!


math formulas are not interpreting visually in Copilot Chat, showing in katex or latex format

When I ask a question of Copilot Chat:
write the below as math formula
  # Negative log-likelihood for normal distribution
  nll = -np.sum(-0.5*np.log(2*np.pi*sigma**2) - (y-predicted_y)**2 / (2*sigma**2))

This is the response I get in the vs code:
[ nll = -\sum_{i=1}^{n} \left[ -\frac{1}{2}\log(2\pi\sigma^2) - \frac{(y_i-\hat{y_i})^2}{2\sigma^2} \right] ]

Where:

( n ) is the number of observations.
( \log ) denotes the natural logarithm.
( \pi ) represents the mathematical constant pi.
( \sigma ) is the standard deviation.
( y_i ) represents the actual value for the i-th observation.
( \hat{y_i} ) represents the predicted value for the i-th observation.
The sum is over all ( i ) from 1 to ( n ).

I would be ok with this, notice it is missing i in the \sum as well as some other niceties (I converted the above into notebook markdown by replacing [ ] and ( ) with $ $) :

Version: 1.87.0 (user setup)
Commit: 019f4d1419fbc8219a181fab7892ebccf7ee29a2
Date: 2024-02-27T23:41:44.469Z
Electron: 27.3.2
ElectronBuildId: 26836302
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22631

Is there any work around for the time being? I rely on copilot to quickly check my formulas for my chemistry class.

Is there any work around for the time being? I rely on copilot to quickly check my formulas for my chemistry class.

I just told it to render the formula again but replace ( [ ] ) with $ and it worked for me

Is there any work around for the time being? I rely on copilot to quickly check my formulas for my chemistry class.

I just told it to render the formula again but replace ( [ ] ) with $ and it worked for me

Please elaborate a bit, @fremdkoerper .
I am having no luck with this at all in latest vscode 1.92.o and GitHub Copilot Chat v0.19.2024073102 (pre-release).
This is the best I can get:

Problem is, I'd like to use GitHub Copilot for studying Deep Learning, especially since it is now backed by ChatGPT 4. However, without properly rendered formulas it's quite useless.

I'm having the same issues with Latex rending in Github copilot, even in the latest release VS Code (1.92) and Github Copilot Chat (Release: 2024-08-02).
Example below:
Prompt_: What is the formula for Sample Standard Deviation?_
Response:
_$$ s = \sqrt{\frac{\sum (x_i - \bar{x})^2}{n - 1}} $$
Where:
$s$ is the sample standard deviation.
$x_i$ represents each data point in the sample.
$\bar{x}$ is the sample mean.
$n$ is the number of data points in the sample._
Math notation really needs to display correctly for such as state-of-the-art piece of tech.

Is there any work around for the time being? I rely on copilot to quickly check my formulas for my chemistry class.

I just told it to render the formula again but replace ( [ ] ) with $ and it worked for me

I've just been pasting it into web based LaTeX renderers. Would be nice if it supported it natively. Clearly the model is trained to think the renderer will work.

Bing Chat (Copilot) acting up brought me here.

The same. If it can render math formulas automatically like markdown preview, it will work better when paired with o1 model.

The same issue. It is very cumbersome to copy to other tools for rendering. ChatGPT-Next-Web can directly render mathematical formulas enclosed in [].

Bumping this up, hoping this gets addressed in a near future release.
In general, is there a process for tracking if a given bug report, such as this one, get priority to be worked / resolved?

Bumping this up, hoping this gets addressed in a future release.
I see that this is targeted for November 27 release milestone, but I would like to know if there is a way to track the status of a given issue? Should it be assumed that if this issue is a part of the milestone it is being actively worked on?

Same thing, would be really happy if this gets solved!

I would also prefer a fix, but a workaround I have is to instruct Copilot not to use the latex syntax by asking in the chat.
As a general solution, adding this sentence to a .github/copilot-instructions.md custom instructions file is giving me OK results for now:
Use plain markdown with C syntax highlighting instead of latex for formulas.

Another workaround is to tell copilot to write in markdown in a .md file and display the preview in real-time with Markdown preview vscode extension

It's been months and still copilot can't get this simple MAth output... Microsoft FIX this!!!

Same here. I need the math equation to be displayed. I can read latex but it's annoying / distracting.

I also need this functionality. The current workaround is cumbersome.

idem


Connection broken by remote peer when open large file

When using emacs+slime:
(cl-json:decode-json-from-source (pathname "/path/to/test.json"))

will give
Connection broken by remote peer when open large file

when open large file(14M)
file link
while in sbcl(terminal) it is ok.

This really is a SLIME issue, and not an issue with CL-json
--
Robert P. Goldman
On November 10, 2021 at 01:43:04, C-Entropy @.@.)) wrote:

When using emacs+slime:
(cl-json:decode-json-from-source (pathname "/home/null/test.json"))
will give
Connection broken by remote peer when open large file
when open large file(14M)
while in sbcl(terminal) it is ok.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub(https://github.com/hankhero/cl-json/issues/34), or unsubscribe(https://github.com/notifications/unsubscribe-auth/AAAAZSXYFJOY7ZSE2Z2GMF3ULIPARANCNFSM5HXF6KTQ).
Triage notifications on the go with GitHub Mobile for iOS(https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675) or Android(https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub).

Okay, then I think this could just be close.


Create LICENSE

Adds the Apache 2 license

Codecov Report

Merging #125 (45f3099) into develop (84bc3f8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #125   +/-   ##
========================================
  Coverage    63.04%   63.04%
========================================
  Files           67       67
  Lines         9962     9962
========================================
  Hits          6281     6281
  Misses        3681     3681

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Add Sagui to the list of alternatives

Sagui is the single development dependency that provides the tooling required to build, test and develop modern JavaScript applications.
https://github.com/saguijs/sagui

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

Thank you.

Thank you!

No, thank you!


PluginUtilities.getCallbackHandle and tree-shaking

Current implementation (and documenation) of PluginUtilities.getCallbackHandle does not respect the concept of tree-shaking and consequently causes problems in release builds whenever it is used, especially when it is used as an implementation detail.
PluginUtilities.getCallbackHandle expects that any static function in a Dart application can be uniquely identified by a tuple (libraryUri, className, functionName), meaning that it expects to be able to convert any static function tear-off into such tuple and then expects to be able to look up the same tear-off by doing reflective access through Dart VM C API.
While this does work reliably in debug (JIT) mode, this is not guaranteed to work in release (AOT) mode. Release mode requires that any reflectively accessed program element (library, method, class, function) is annotated with @pragma('vm:entry-point'). Program elements not annotated as entry points might be shaken from the resulting binary or at least will be evicted from lookup dictionaries, making reflective access to them impossible.
This introduces discrepancy between release/profile and debug modes, which leads to obscure crashes like this one:

https://github.com/flutter/flutter/issues/118565

Ultimately this means at the very least we need to ensure that any function passed to PluginUtilities.getCallbackHandle is annotated with @pragma('vm:entry-point'). We need to update documentation to make this requirement absolutely clear. Note that this needs to be applied transitively: e.g. if state restoration code is using PluginUtilities.getCallbackHandle under the hood we need to document that some specific function needs to be annotated.
Dart VM has a flag which enforces the presence of entry-point annotations on any reflectively accessed element (--verify_entry_points). This flag was not turned on by default because it was breaking Flutter applications - I think we need to turn it on because the applications which hit those asserts are broken anyway (/cc @mkustermann)
Long term Flutter needs to redesign the implementation of PluginUtilities.getCallbackHandle to avoid this problem. One possible direction is described in https://github.com/flutter/flutter/issues/94571 by @ds84182.
A potential Dart language level solution requires some way to enforce const-ness of the parameter value. I have submitted language level proposal here: https://github.com/dart-lang/language/issues/2776
/cc @goderbauer @mkustermann @chinmaygarde @zanderso

Added in https://github.com/flutter/engine/pull/5539.

Would it be possible to somehow implicitly mark methods that get passed to PluginUtilities.getCallbackHandle with @pragma('vm:entry-point')? It would greatly complicate the usability of e.g. the state restoration API if methods that indirectly get passed to PluginUtilities.getCallbackHandle as an implementation detail would have to be manually annotated.

Furthermore, I am wondering whether PluginUtilities.getCallbackHandle itself could somehow check that the provided callback is annotated with the pragma and fail if it isn't. It's somewhat disturbing that you can obtain a handle that ultimately may be useless.

Dart VM has a flag which enforces the presence of entry-point annotations on any reflectively accessed element (--verify_entry_points). This flag was not turned on by default because it was breaking Flutter applications - I think we need to turn it on because the applications which hit those asserts are broken anyway (/cc @mkustermann)

It appears that flutter is in fact passing this flag when running in debug mode (I verified this happens for a flutter run on an Android device):
https://github.com/flutter/flutter/blob/ae1cc18c4e50c17d1e955250606bea1d5c2fcf6d/packages/flutter_tools/lib/src/android/android_device.dart#L660
Yet, this flag is not catching the issue of the missing @pragma('vm:entry-point') as described in https://github.com/flutter/flutter/issues/118565. Is that a bug in the implementation of that flag?

Is that a bug in the implementation of that flag?

@goderbauer I think the problem is that engine has a cache so it does not always go through the code path that verifies the entry point (see DartCallbackCache::GetCallback). Try removing that caching and I'd expect you to see errors. Do you have integration tests for restoration which completely shut the engine down and then start from scratch?
We can also add a method, something like Dart_CheckReflectivelyAccessible(...) so that you can add verification directly into the getCallbackHandle.

Would it be possible to somehow implicitly mark methods that get passed to PluginUtilities.getCallbackHandle with @pragma('vm:entry-point')?

It's only trivial to do that if the value is constant at PluginUtilities.getCallbackHandle(f) call-site. However in many cases you need to punch through multiple layers of code, e.g. restorablePushAndRemoveUntil calls Navigator.restorablePushAndRemoveUntil which puts the callback into _AnonymousRestorationInformation - the actually getCallbackHandle call is in _AnonymousRestorationInformation.computeSerializableData. Very far away.
It is theoretically possible to beef up TFA to figure this out - but I think this is too complicated. Actually looking at the code as it is written now even dart-lang/language#2776 not gonna help all that much here because the value flows through an object field.
I think we could maybe add an annotation on a parameter (tentative name):
static CallbackHandle? getCallbackHandle(@pragma('vm:expects-entry-point') Function callback);

static String restorablePushAndRemoveUntil<T extends Object?>(
  BuildContext context,
  @pragma('vm:expects-entry-point') RestorableRouteBuilder<T> newRouteBuilder,
  RoutePredicate predicate, {Object? arguments})

and then add logic in TFA that applies entry-point to anything passed into getCallbackHandle.
We can also add a lint that checks that you mark things transitively with @pragma('vm:expects-entry-point') in the API surface.
Maybe as part of this work we can also promote the logic for computing callback handles to VM.

@mkustermann points out that magically applying entry-points to functions is that it hides the dependency on the function name stability from the user.
@goderbauer what is expected to happen if you release an update to your app where you rename some route builder callback? Is restoration still supposed to work correctly?

add logic in TFA that applies entry-point to anything passed into getCallbackHandle.
We can also add a lint that checks that you mark things transitively with @pragma('vm:expects-entry-point') in the API surface.

This sounds like a good idea and would keep the route restoration API tidy and user friendly.

what is expected to happen if you release an update to your app

Currently, restoration data is blown away when an update is installed, that's default platform behavior. So, after an update no state restoration is going to take place. Therefore, from the perspective of the route restoration API it's totally OK to rename the route builder callback since it will not be invoked after an update anyways.


Create a clang-format config

Is there any interest in commititng a clang-format config? Most big projects have one to enforce a consistent coding style.

I haven't used that, but yes, it would be nice to have a tool to check for consistent style (can it be used to verify and throw warnings?). It would be ideal if it could be based on something close to @ajor 's style (eg, 2 character space indent) to minimize the amount of change we need to do to the existing codebase.

Yeah, I think we can play around with it and see which settings cause the least churn. It not only checks style, but can do in-place modifications of source files to match the configured style. Most projects add a automatic build job that errors out if there's a delta between the submitted patch and the clang-formatted patch.

Sounds good to me. We use clang-format on llnode (V8 also uses it) and it decreases the number of nit comments on PRs about coding style as well as enforces one style on the entire code base :)


Mediaflux Docker documentation

Added platform parameter to the Docker command so that the container works regardless of the architecture of your laptop
Part of #961

coverage: 85.062%. remained the same
when pulling 0fbb61131354aeab8a8d5fdd8cd19d633dc63f28 on 961-mf-docker
into 6e79fcd63d32455f6f568077a0aa73cee8797e4f on main.


Updated labeler action

Motivation
Adding an additional section to the labeler action (thanks @devinmatte) for documentation pieces, as we move to standardize labels (somewhat) across projects
Changes
New labeler config as well as some README updates - partially to test, partially for consistency with other repos
Testing Instructions
This PR itself shall serve as a test :smile:

I hit https://github.com/actions/labeler/issues/446 with the first commit - second commit is based off info from https://github.com/actions/labeler/issues/399 but we may need to merge it for it to take effect


support insert|replace grammar support #8377

https://github.com/pingcap/tidb/issues/8377

@tiancaiamao PTAL

The problem is that if the parser PR is merged, while TiDB can't handle the new grammar, I'm not sure TiDB would throw a proper error or panic, so the integration testing is necessary. @dreamquster

 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.fanming.chen 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.

Seems issue https://github.com/pingcap/tidb/issues/8377 is fixed by https://github.com/pingcap/tidb/pull/8411. @tiancaiamao Can we close this PR?


Predefined functions enhancements

Add stubs for wp_validate_boolean() and wp_slash().
See #125

Codecov Report
Patch coverage has no change and project coverage change: -0.35 :warning:

Comparison is base (d9ff201) 92.25% compared to head (7f037a5) 91.90%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@             Coverage Diff              @@
##             master     #130      +/-   ##
============================================
- Coverage     92.25%   91.90%   -0.35%
  Complexity      312      312
============================================
  Files            28       28
  Lines           710      828     +118
============================================
+ Hits            655      761     +106
- Misses           55       67      +12

see 20 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Thanks @jrfnl for the review and sanity check, as usual.
Thanks @paulshryock for the PR, approved your PR and merged it.
I added docs and test for wp_slash (@paulshryock did tests for wp_validate_boolean). I think this is good to merge now.


Setting the regions start freezes the region

Bug description
Lets say you have a point after which a marker must not be dragged, e.g. at s = 10. If the user drags the marker to before this point, the marker should be placed to s = 11 e.g. But doing that freezes the marker. In code:
regions.forEach((region, index) => {
		region.on('update', () => {
			if (region.start > SOME_END_VALUE) {
				region.start = SOME_END_VALUE - 1;
				console.log('Went past end');
			}
			if (region.start < SOME_START_VALUE) {
				console.log('Went past start');
                                // trying different syntax...
				region.setOptions({
					start: SOME_START_VALUE + 2,
					end: region.end, // tried to set end, but this also doesn't work.
					drag: true // explicitly setting drag=true, but doesn't help
				});
			}
		});
		region.on('click', () => {
			console.log('Clicked region'); // click event is fired still
		});
	});

As you can see, the click event is still fired. But it cannot be moved. Funnily, the region can still be moved when the first IF is triggered. So it works at the END, but not at the START? Even if I just have the second condition or change the event to update-end it doesn't work. (update-end even works "worse" since the marker's start position is changed, but it's not updated in the waveform until I move the marker again. Since I can't move the marker if it is belove SOME_START_VALUE, it's stuck). This is what I mean:

The purple marker is the one I moved. Now it's stuck.
Environment

Browser: Chrome

Minimal code snippet
Expected result
Obtained result
Screenshots

I think I found the root of this bug. It's when you set the start value to a higher value than it's currently at, then it freezes! I.e. when you change it to:
start: SOME_START_VALUE - 10 // smaller value than current region.start value

then it doesn't freeze.

Workaround discovered:
region.setOptions({
					start: selectedSection.start + 3,
					drag: true
				});
				region.setOptions({
					start: selectedSection.start - 2,
					drag: true
				});

Thanks for the report!

Another weird bug occurs with this part:
if (region.start > SOME_END_VALUE) {
    region.start = SOME_END_VALUE - 1;
    console.log('Went past end');
}

It actually stretches the "grabbox" of the marker:

I've made a minimalistic example based on your code and it doesn't have this issue: https://wavesurfer-js.org/examples/#09060f977d8cfbadaf85dc3242abd0bb
Try to debug your application code and see what exactly causes the freezing.

Hi, maybe I should have created 2 separate issues. I've modified your code and now the stretching of the grabbox happens (which is bug 1):
// Regions plugin

import WaveSurfer from<EMAIL_ADDRESS>import RegionsPlugin from<EMAIL_ADDRESS>
// Create an instance of WaveSurfer
const ws = WaveSurfer.create({
  container: document.body,
  waveColor: 'rgb(200, 0, 200)',
  progressColor: 'rgb(100, 0, 100)',
  url: '/examples/audio/audio.wav',
})

// Initialize the Regions plugin
const wsRegions = ws.registerPlugin(RegionsPlugin.create())

// Create some regions at specific time ranges
ws.on('decode', () => {
  const region = wsRegions.addRegion({
    start: 2,
    end: 2,
    content: 'Region',
    color: 'rgba(200, 0, 0, 0.5)',
  })

  region.on('update', () => {
    if (region.end > 20) {
      region.setOptions({
        start: 19,
      })
    }
  })
})

And in this example:
// Regions plugin

import WaveSurfer from<EMAIL_ADDRESS>import RegionsPlugin from<EMAIL_ADDRESS>
// Create an instance of WaveSurfer
const ws = WaveSurfer.create({
  container: document.body,
  waveColor: 'rgb(200, 0, 200)',
  progressColor: 'rgb(100, 0, 100)',
  url: '/examples/audio/audio.wav',
})

// Initialize the Regions plugin
const wsRegions = ws.registerPlugin(RegionsPlugin.create())

// Create some regions at specific time ranges
ws.on('decode', () => {
  const region = wsRegions.addRegion({
    start: 10,
    content: 'Region',
    color: 'rgba(200, 0, 0, 0.5)',
  })

  region.on('update', () => {
    if (region.start < 4) {
      region.setOptions({
        start: 5,
      })
    }
  })
})

the freezing still happens (which is bug 2).

Oh, I see.

Stretching is the expected behavior when you update only the start point. It will keep the old end position. You need to update both start and end if you want to move a region.
I've replicated the marker freezing and will fix that. The reason is that markers inherently have an end position which is equal to the start position, but it's not automatically updated when start is updated.

Hey @Artur-Galstyan, thanks for the sponsorship, I appreciate it!

It's not much, no need to mention it:)


Automatic error on insufficient funds for onChain

Wanted to pose this  mostly as a question of the UX as to whether you think this flow would be better suitedbto show the error after the user presses send or simply by disabling the send to avoid this error page

Closed by the new errorbox in #202


BlogTruyen not loading some pages

Example: https://m.blogtruyen.vn/c702356/nguchungcotien-chapter-8

hmm works now, looks like their server was just down


Update internal Connectors support

First we need to upgrade the Connector backend with new functionality for listing tables, per-user configuration and some bug fixes:

[x] re-review and deploy #9748
[ ] PR & review branches tmp_connector_config_migration and tmp_connector_config
[ ] deploy migration
[ ] deploy config, execute rake cartodb:connectors:create_providers

Default connectors configuration should now be added to app_config.yml via chef.
Then the UI should be updated to handle the new :max_rows_per_connection warnings.
Similarly to what is done for :max_tables_per_impor in:

assets/javascripts/cartodb/common/views/partial_import_details.jst.ejs
assets/javascripts/cartodb/common/views/warnings_details_view.js
assets/javascripts/cartodb/components/background-importer/views/warnings-details-view.js

[ ] Frontend integration #9862 (in testing process)


docker: podman-friendly image locations

Adds fully qualified canonical locations of container images, making the container technology setup podman-friendly.
Closes reanahub/reana#729.

Codecov Report

Merging #52 (4aad5e0) into master (9e9ff28) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files

@@            Coverage Diff            @@
##            master       #52   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines            7         7
=========================================
  Hits             7         7


feature: add "when" condition on day 2 operation

Add the possibility to limit some operation to instance spec condition.
Instance would be the injected object.
E.g: when: instance.spec.vcenter == vc8

done


Support comma joins

A comma join is a Cartesian product,
The query select * from foo, bar should output,select([foo, bar]) (remember that foo.join(bar) is an inner join)
Proof, and reference,
print(select([foo, bar]))
SELECT foo.id, foo.name, bar.id, bar.foo_id, bar.name
FROM foo, bar

Related to #22

Resolved with #29


Add functionality for TV remote control

TV remote controls buttons are not controlling the application

Maybe use something from https://developer.samsung.com/signage/develop/guides/user-interaction/remote-control.html


ARROW-7739: [GLib] Use placement new to initialize shared_ptr object in private structs

I inserted placement new for all shared pointer fields.

cc @kou

Seems like a good idea.