feat: camera widget

Description
This widget provides the end user an option to take picture or record videos through there system camera using browser permissions
Fixes #7033
Type of change

New feature (non-breaking change which adds functionality)
This change requires a documentation update

How Has This Been Tested?

Test A
Test B

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:red_circle: Total coverage has decreased
// Code coverage diff between base branch:release and head branch: feat/7033-camera-widget

Status
File
% Stmts
% Branch
% Funcs
% Lines

:red_circle:
total
54.93 (-0.3)
36.96 (-0.15)
33.92 (-0.15)
55.46 (-0.28)

:red_circle:
app/client/src/icons/WidgetIcons.tsx
62.03 (-0.31)
100 (0)
18.92 (-0.52)
62.03 (-0.31)

:red_circle:
app/client/src/utils/AppsmithUtils.tsx
53.97 (-3.24)
30.36 (-1.12)
35.42 (-0.75)
49.27 (-3.09)

:sparkles: :new:
app/client/src/widgets/CameraWidget/constants.ts
100
100
100
100

:sparkles: :new:
app/client/src/widgets/CameraWidget/index.ts
100
100
100
100

:sparkles: :new:
app/client/src/widgets/CameraWidget/component/index.tsx
10.56
14.72
0
12.45

:sparkles: :new:
app/client/src/widgets/CameraWidget/widget/index.tsx
32
0
42.86
31.51

@jsartisan , For smooth responsiveness, I need your help

@wmdev0808 what is the update here?

@wmdev0808 what is the update here?

I talked about this, and @jsartisan said he agreed with my implementation

@jsartisan if required please move this to the QA pipeline

@wmdev0808 retested this PR based on @prapullac comments. Here are the below findings for the same and some new issues found.
#8785: Fixed
#8788: Still exists.
https://loom.com/share/7997622dd9cf4bcbbd3aff8250a5854d
#8789: Working fine
#8791: Fixed
#8792 : Still exists. In figma document the widget appears grey when permission is denied, where as in DP the widget appears black
In figma doc

In DP

#8793 : Fixed
#8795: Still exists
#8798 : Still exists.
NEW ISSUES

As per figma document Disabled state must appear grey, in DP it appears black
In figma doc

In DP

As per figma doc the tooltip has a black background and then a white text, in DP it has white background and black text.
In figma doc

In DP

No setting icon found when user clicks on 'refresh' button as per figma doc

Each time user changes from Desktop mode to different mode the transition does not appear smooth.
https://loom.com/share/0690b5f2c4d14e6bb0958820f3366a81

Moving to In Progress.

@wmdev0808 new issues found

As per figma in Camera mode Mic icon is not present where as in DP there is Mic option

As per figma doc Mirrored is true by default, where as in DP when widget is placed by default its false

When the camera is placed on the canvas, the widget appears black for the first few seconds and then the image is loaded.
https://loom.com/share/a956e215678843a9bdb89708e877385d

In camera mode, when user clicks on 'take photo' button, the captured image is not seen.
https://loom.com/share/7731ea642fba408383068e2ce41d5ed6

There is no access to check where the saved image and recordings are present.

As per figma the submenu under 'Actions' must be OnImageCapture and not onMediaCapture

As per figma in Video mode the submenu under 'Actions' must be 'OnRecordingStart' & 'OnRecordingStop', where as in DP for video mode the submenu still remains 'onMediaCapture'.
https://loom.com/share/b2b11ae69de34bd4bfa3bd204d4ea62c

Also when the widget is resized occasionally 'Video source not found' is shown
https://loom.com/share/077a4ef46d4942528f967923e39292f3

As per figma 'Mirrored' option is not present for Video mode

2. As per figma doc the tooltip has a black background and then a white text, in DP it has white background and black text.
In figma doc

@shwetha-ramesh , I cannot reproduce this issue

3. No setting icon found when user clicks on 'refresh' button as per figma doc

@shwetha-ramesh , The settings icon in Figma does not make sense, you can ignore it

13. As per figma 'Mirrored' option is not present for Video mode

@shwetha-ramesh , this does not make sense, you can ignore it

/ok-to-test sha=43da416

No setting icon found when user clicks on 'refresh' button as per figma doc

@shwetha-ramesh , The settings icon in Figma does not make sense, you can ignore it

@wmdev0808 need more insight on this. @sbalaji1192 @momcilo-appsmith.

#8788: Fixed
#8792: Fixed
#8795: Fixed
#8798:

Fixed
Still exists. Hover over camera icon and tooltips that display 'Take photo' and others must follow figma doc design which has black background and white text. In DP its otherwise (Refer video)
https://loom.com/share/6cf6cd4c3cb24c4d96087a318a3138d1
Still Exists. Need clarification
Fixed
Fixed
Fixed
Still exists
Fixed
Still exists.
Fixed
Fixed
Fixed.
Still exists.

New Issues found.

Camera icon not present for Camera widget in Entity explorer

Disable on/off make the screen appear black for a few seconds. Similar video recorder button on/off shows the same behavior
https://www.loom.com/share/ce641e4a184a4e52ba96231eeffc78f1

. JS option for OnImageCapture shows empty. Similarly for OnRecordingStart & OnRecordingStop

Action must be  OnRecordingStop and not onRecordingStop.

Recorded video is lost when is widget is dragged to a different place. Similar for image.
https://www.loom.com/share/522f2896db514f5ab832d0572982c024

Video recording stops in between when mic is turned off
https://loom.com/share/0c5c3852d6c648e38d2ae35856a406ba

'Enter fullscreen' cuts the video and image; the full image/video recorded in default size is not seen when user enters full screen
https://loom.com/share/e31f3bc628a94da3aba0167a71774239

Moving to Inprogress

/ok-to-test sha=ca51e7a

/ok-to-test sha=62355d5

As per figma 'Mirrored' option is not present for Video mode

@shwetha-ramesh , this does not make sense, you can ignore it

@somangshu

No setting icon found when user clicks on 'refresh' button as per figma doc

@shwetha-ramesh , The settings icon in Figma does not make sense, you can ignore it

No setting icon found when user clicks on 'refresh' button as per figma doc

@shwetha-ramesh , The settings icon in Figma does not make sense, you can ignore it

@wmdev0808 need more insight on this. @sbalaji1192 @momcilo-appsmith.

@somangshu any update on this ? On figma it shows setting icon but there is no description on what that icon must perform.

@shwetha-ramesh the setting icon does not resolve to any functionality and henceforth can be safety ignored. Let me know if you need a discussion around this

Fixed
Need not be implemented.
Fixed
Fixed
Fixed
Fixed
Fixed
Fixed
Fixed
Fixed
Fixed
Fixed

New Issues

There is no Mirrored option for Video mode. However after the video records the recorded video gets mirrored automatically.
https://loom.com/share/7994e3a2fd054e41bb9a8065cfbe5d02

Moving to Inprogress

/ok-to-test sha=cda8ceb

@wmdev0808 all issues are resolved. DP looks good. Moving to Done.

/ok-to-test sha=26f109b

/ok-to-test sha=c85d53b


nlm-ingestor is SUPER SLOW

As mentioned here: https://github.com/nlmatics/nlm-ingestor/issues/37
Chunking even small PDFs (<20 pages) takes longer than 30 seconds! This is a huge problem in any production environment. Why is this happening?

Are you using OCR?

Are you using OCR?

Nope. OCR is off. 30+ s for basic PDFs

Same here. I'm getting 49.8 seconds for this 78 page PDF, no OCR:
https://www.hireexpress.com.au/files/operation_manuals/200840_O.pdf
Anyone found a way to speed it up?

@ansukla sorry to bother, but any chance we can get an update/priority on this? It's severely impacting production performance


Provide PEP 658 & 714 metadata for the Simple Repository

We'll need to include the metadata files into the GH releases, and their SHA256.
https://peps.python.org/pep-0658/
https://peps.python.org/pep-0714/

Implemented in https://github.com/carlosperate/arm-none-eabi-gcc-py-package/commit/5f3bc5acd758d17e643507a40c78a9578d3c58e1.


better C++

This version seems to be rather a lot faster.

Eh, looks about the same.
But no need for std::ios::sync_with_stdio().

BTW, unnecessarily-postfix op++ is non-idiomatic C++.

When I cloned a few minutes ago, I got one version, but when I look on github.com/benhoyt, I see a different version. Maybe you had better measure on your hardware and see.

Just checked, and this version takes ~1.6 seconds, whereas the existing master version takes ~0.46 seconds, so what we have now is a clear win. I did update the increment from C++ to ++C, though. :-) https://github.com/benhoyt/countwords/commit/61892e190608a2bae4f3c525417a45b8595c2af0

I have no clue how you got it to run so slow.


[firebase_auth]: This operation is not allowed. This may be because the given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section.

Is there an existing issue for this?

[X] I have searched the existing issues.

Which plugins are affected?
Auth
Which platforms are affected?
Android, iOS, Web
Description
I have been using phone authentication for awhile now. Authenticating mainly numbers in Ghana(+233 code). Things were working okay when all of a sudden user's could not authenticate anymore with their phone number. The error that is showing is that I haven't enabled phone auth in the firebase console. I have enabled it but it keeps showing the same error. Please fix as it's affecting customers.

Reproducing the issue
Enable phone authentication in firebase console.
`    try {
// Proceed with sending OTP
Auth().verifyPhoneNumber(_phoneNumberValue,
(String verificationId, int? resendToken) {
setState(() {
_isloading = false;
});
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => OTPLoginPage(
_phoneNumberValue, verificationId, true, widget.stream),
),
).then((fUser) {
if (fUser != null && fUser.uid.isNotEmpty) {
_savePhoneNumberAuthDetails(fUser);
}
});
}, (String verificationId) {
setState(() {
_isloading = false;
});
a.okayAlert(context, "Error",
"Failed to send OTP, Timeout reached. Please try again.");
}, (verificationFailed) {
setState(() {
_isloading = false;
});
a.okayAlert(context, "Error",
'Failed to verify phone number: ${verificationFailed.message}');
});
} catch (e, s) {
setState(() {
_isloading = false;
});
  FirebaseCrashlytics.instance.recordError(e, s);
  Alert().okayAlert(context, "Error", e);
}`

Firebase Core version
firebase_core: ^3.5.0
Flutter Version
Flutter 3.22.3
Relevant Log Output
See screenshots

Flutter dependencies

Expand Flutter dependencies snippet

Replace this line with the contents of your `flutter pub deps -- --style=compact`.

Additional context and comments
No response

Closing this issue. Fixed this by allowing SMS region policy in the settings tab for authentication and adding the specific countries to the allowed list


(Request for comments) Add ClusterCredentials API

Adds a ClusterCredentials API type that provides a kubeconfig to communicate with a cluster in the cluster registry. Submitting for comments per our recent discussion in the SIG.
/sig multicluster

For the record, and in case it's not clear - there will be an accompanying controller that updates the status of ClusterConnection. Once we agree on the API I will add that to this PR.

/lgtm

It would be useful to have requirements or use-cases for this feature, to know the scope of what it is trying to solve. Since I'm not clear what this API is attempting to model or accomplish, it's hard for me to give feedback on how well it's succeeding.

It would be useful to have requirements or use-cases for this feature, to know the scope of what it is trying to solve. Since I'm not clear what this API is attempting to model or accomplish, it's hard for me to give feedback on how well it's succeeding.

Good feedback @jonmoter .  Here is an excerpt from previous meeting notes where it was discussed, to provide further context:
perotinus] Moving clusterregistry.Cluster to beta; minor update to cluster registry.
Quinton: How do people use cluster registry without auth-info (which seems to currently be an unused field in cluster-registry).
Paul: The field is just to indicate what/how the auth should be done. Personally does not feel that cluster object need to have the auth info field.
Quinton: How does cluster registry become useful without the authentication information for a user who discovers the clusters in cluster registry?
Jonathan: The initial idea of auth field in cluster registry against a cluster was to provide enough info to the user to figure out how to get this auth info.
Quinton: Ideally we should be able to do away with the FederatedCluster resource in federation and enable cluster registry to provide more useful information rather than just the API endpoint of the cluster.
Need to have more discussions on this before further moving it to beta.

What wasn't captured in the notes, but from my memory, is that perotinus and others made points that:

there are currently no users of cluster registry other than Federation-v2 (that he was aware of)
that it was therefore challenging to validate (or otherwise) whether the cluster registry API was "acceptable enough" to be firmed up to beta
that Federation-v2 had to build an addon, of approximately similar complexity, to configure cluster credentials, in order to actually use cluster registry.  So in practise the cluster registry by itself did not save Federation-v2 much time over rolling it's own.  Similar reasoning may also explain why nobody else was using cluster registry.

Hence it was decide to explore what would need to be added to cluster registry w.r.t. cluster credentials to obviate the need for the addons in Federation-v2, hopefully to pave the way for other users.

Sorry for not taking a look at this sooner!
Some overall thoughts:

I like the overall concept that allows a 1-N relationship between clusters and user credentials
using the kubeconfig like this concerns me: AFAICT it's meant to be for one user on one machine. I understand the appeal of making it easier to bootstrap with an existing file, but the number of fields that are not needed in this object, some of which are duplicated with the Cluster object itself, give me pause
the kubeconfig file can farm out to custom commands to get tokens, which may not work from within a clusters
there are changes coming down the pike (expiration being a major one that comes to mind) to Kubernetes service accounts that will make it less appealing to use their tokens

@pmorie As discussed in person, I think that particular name is a bad idea.  We're not talking about health checks here, we're talking about authenticating against a cluster. Personally I don't mind "ClusterCredentials" because that's exactly what they are.  But feel free to find another name that's not confusing or misleading (which adding "HealthChecked" would be).

I'm honestly not sure whether this PR should remain open at this point. Since I opened it, it's come to light that the way we were using the cluster-registry API in the kubefed project allowed escalation: if you have write access to the Cluster resource, you can effectively steal the secrets associated with a ClusterCredentials (or KubeFedCluster in the case of kubefed). I'm not sure I want to continue this PR since it would build on that usage pattern.

@pmorie It's not immediately clear how having write access to Cluster allows stealing of Secrets referred to by ClusterCredentials.  Could you clarify, or provide a link to an explanation?
Intiutively it seems that RBAC rules on the Secret should control read access to the secrets.  But presumably you've discovered a hole in that?


add colour coded logs

Fixes https://github.com/NethermindEth/juno/issues/119
Changes:

Added colour coded logs

Types of changes
What types of changes does your code introduce?

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Other (please describe):

I just remembered: we do have a page in the docs that displays all available configuration parameters. Since another param is added here (log-nocolor), it should probably be added to the documentation. This should be a one-line change to this file.


Question on the compilation with different version of cuda or pytorch

Thanks for this work. I just wonder if the Cuda source code could be compiled with different versions of PyTorch or Cuda driver which you recommend? Right now, I have some problems with older pytorch and cuda driver for the compilation.

Hi, thank you for your interest.
It should be compatible with recent PyTorch and CUDA versions. We've only tried torch 1.8 and above, and strongly recommend the latest, torch 1.11.
Could you share the error you're facing and the torch/cuda versions you have?

Hi, thank you for your interest. It should be compatible with recent PyTorch and CUDA versions. We've only tried torch 1.8 and above, and strongly recommend the latest, torch 1.11. Could you share the error you're facing and the torch/cuda versions you have?

Hi, Thanks for the reply. I attach the screenshot with the error. Actually, I use torch 1.8 and Cuda driver 10.1

Hi Peiqin, what GPU are you using? I don't think we have tested that cuda driver but are looking into it.

This is really strange. Seems to be more of a torch error than anything else. Would you mind also sharing the entire error and the command you ran, and as many details as possible on the environment, so we try and see if we can reproduce it on our end?

Hi Peiqin, what GPU are you using? I don't think we have tested that cuda driver but are looking into it.

Hi, I just compiled it on V100.

Hi,
Could you share the command you ran and your environment details so we can look into the issue?

Hi, Could you share the command you ran and your environment details so we can look into the issue?

Hi, I just solved this problem by creating a new python environment. It seems that there exist some problems with my previous environment.

Closing this due to inactivity. If you still have questions feel free to open it back up.


How to decypt data with php

Please tell me how to decrypt the data using the php.
Actually i encrypted the data using hybrid-crypto-js.
So i want to decrypt using backend php.

Decryption logic can be found from the source code:
https://github.com/juhoen/hybrid-crypto-js/blob/75d0526e029cd61db9dd8d1827a300967e30fd56/src/crypt.js#L220-L276


This is for

https://github.com/konbraphat51/AnimatedWordCloud/issues/18

Refering: https://github.com/konbraphat51/AnimatedWordCloud/issues/18


[5.3] All Whitespace Validation Rule

Currently if an input containing all whitespace is validated, and an implicit rule such as required is not applied, the input will simply be ignored, and no sort of error message created. The all_whitespace rule would throw an error stating that the field cannot contain all whitespace.
See question here for more details.

I don't think this is the best way to solve this problem.


config.php getting updated but not in-memory copy

I'm running YOURLS in a Docker container with a volume mount for /var/www/html/user so that config.php exists on the host system and not in the container.
I've activated the change password plugin and, just to be sure, restarted the container.
When I change my password on YOURLS then log out and try to log in with my new password, it fails. If I log in with my old password, it works.
If I then restart the container again, my new password then works.
This suggests that YOURLS isn't picking up/being told that the password has changed. I suspect that YOURLS is loading the config file at the start but not realising the file needs to be reloaded.
I'm not sure if this is a problem with the change password plugin or with YOURLS.

I'm not super familiar with Docker, but at the end of the day the plugin uses file_put_contents to write an updated /user/config.php file with the password hash inside the $yourls_user_passwords array updated for the current user.
I agree with your suspicions that YOURLS isn't getting the updated config.php file. Every time you attempt to log in YOURLS should be reading the contents of config.php from the disk. Since after you restart the container the new password works that points to the file being correctly changed on the disk, which is what I expect the plugin to do.
I would check the state of the password hash within the config file, change the password, then examine the file and see if the hash changes within the container.

I've double-checked and config.php is getting updated on the host and, if I check within the running container, the file contents are correct there as well.
I'll raise an issue against YOURLS and reference this one.
Thanks.


Pick connection handling improvements from tidb-cse-7.5

Cherry pick:

#1121
#1134
#1140

To fix following issues:

#1120
#1138
#1141

This breaks some error handing of existing features like https://github.com/tikv/client-go/issues/1231.
Please do involve PR review before merging.

This breaks some error handing of existing features like #1231. Please do involve PR review before merging.

I am so sorry T_T
But what's the PR review process now, who I must involve before merging ?


Fix property names in Swashbuckle customization document

Hi @vladimirlapacek, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

@vladimirlapacek : Thanks for your contribution to the Azure documentation! The author, @bradygaster, has been notified to review your proposed change.

#please-close


Multiple CascadeFrom

Hi, how can i set my Cascade Editor  with multiple "CascadeFrom" parameters. I have in my XYZForm (for example):
[LookupEditor(typeof(Entities.ARow))]
public Int32 IdA { get; set; }
[LookupEditor(typeof(Entities.BRow))]
public Int32 IdB { get; set; }
[LookupEditor(typeof(Scripts.CLookup))]
public Int32 IdC { get; set; }
[LookupEditor(typeof(Scripts.DLookup), CascadeFrom = "IdA,IdB,IdC", CascadeField = "IdA,IdB,IdC")]
public Int32 IdD { get; set; }

Is this possible? I got no results in my dropdown editor.
Thanks in advance!

No thats not possible.

Thanks for your fast response. So, how should i filter my dropdown editor? I have already all my A,B,C variables from another dialog in my DEditDialog.

Hi, there.
Just implement your own custom editor derived from lookup.
Regards

Hi edson. Can u give me an example/url where i can learn how to do this? This is my last step in my project :sob:  . Thank you again!

Hi, @alanlopcu . Unfortunally, I don't have the project where I did this with me right now. But you can gather the ideas with the select2ajax implementation here https://github.com/volkanceylan/Serenity/issues/375 and the lookupeditorbase https://github.com/volkanceylan/Serene/blob/master/Serene/Serene.Web/Modules/BasicSamples/Editors/LookupFilterByMultipleValues/ProduceSeafoodCategoryEditor.ts
Or just go with the select2ajax version... It needs some tweeks but its ideas may help you.
Whenever I can, I'll post an example if no one posts it with some solution made.
Regards

what about writing change event of those lookup editors and filter the target lookup items according to selection.

Ok. How can i filter my target lookup?. For example in my XYZDialog.ts i should have something like:
var A = #; //From master dialog
var B = #; //From master dialog

this.form.IdC.changeSelect2(e => {
   var idC = Q.toId(this.form.IdC.value);
   if (idSpecification != null) {
      this.form.D.Select2values = DRow.getLookup().FilterBy(A,B,idC); //Need this line (How to filter my D Select2?)
   }
});

Or i'm totally wrong? Thank you again.

this.form.D.items = DRow.getLookup().filter(f => f.someField == idC && bla bla bla);

Yep. that probably is easier. the idea of custom editor is the same, only that is reusable. You be good with this approach. Nice one @dfaruque . Good to learn new tricks to use in form.
Regards

I'm not sure that works. Did you test it @dfaruque?

At least it should be getLookup().items.filter(x => x...).map(x => new { id: "...", text: "..." } ) etc but i still don't recommend it.

I did this before.
.map(x => { id: "...", text: "..." } )
I missed this one.
Btw, I am still novice. would you please tell us your way of doing such?

Ok, thanks for your replies. I'm trying this:
---- XYZForm.cs ----
//...
[LookupEditor(typeof(Scripts.CLookup))]
public Int32 IdC { get; set; }
[LookupEditor(typeof(Scripts.DLookup))]
public Int32 IdD { get; set; }
//...

---- XYZDialog ----
//...
A=###; //From master
B=###; //From master
this.form.IdC.changeSelect2(e => {
var idC = Q.toId(this.form.IdC.value);
if (idC != null) {
this.form.IdD.items = DRow.getLookup().items.filter(f => f.IdC === idC).map(f => {id:"",text:""});
}
});
//...
I got this errors in my IdD,items assign:
Type 'void[]' is not assignable to type 'Select2Item[]'.
Type 'void' is not assignable to type 'Select2Item'.
Plus i don't know what should i put in my 'map': 'id' and 'text' elements. Without map i got the same error.
Thanks again people.

What you should do is an editor like ProduceSeafoodCategoryEditor, add some properties to pass A, B, C values, filter by them in getItems method, and when editors for A, B, C changes call updateItems method of that editor.

Hi, there.
Ok, so my editor sliced and simplified for tests in basic samples... I'm just beggining with this typescript thing... so any suggestions or critics are welcome.
Replace ProductRow with your lookupscript row:
namespace Serene1.BasicSamples {

    @Serenity.Decorators.registerEditor()
    export class ProductMultipleCascadeEditor extends
        Serenity.LookupEditorBase<MultipleCascadeEditorOptions, Northwind.ProductRow> {

        protected extraCascadeFromList: Array<string>;
        protected extraCascadeFieldList: Array<string>;
        protected extraCascadeValuesList: Array<number>;

        constructor(container: JQuery, opt: MultipleCascadeEditorOptions) {
            super(container, opt);

            this.extraCascadeFromList = opt.extraCascadeFrom.split(",");
            this.extraCascadeFieldList = opt.extraCascadeField.split(",");

            if (this.extraCascadeFromList.length != this.extraCascadeFieldList.length) {
                Q.alert("CascadeFrom and CascadeField must have same number of names, string comma separated.");
                return null;
            }

            this.extraCascadeValuesList = new Array(this.extraCascadeFromList.length);
            this.bindExtraFrom();
        }

        public destroy(): void {
            this.unbindExtraFrom();
            super.destroy();
        }

        protected getLookupKey() {
            return Northwind.ProductRow.lookupKey;
        }

        protected getItems(lookup: Q.Lookup<Northwind.ProductRow>) {
            let results = super.getItems(lookup);
            if (this.extraCascadeFieldList)
                this.extraCascadeFieldList.forEach((item, index, array) => {
                    results = results.filter(x => x[item] == this.extraCascadeValuesList[index]);

                });

            return results;
        }

        private bindExtraFrom(): void {
            if (this.extraCascadeFromList == null || this.extraCascadeFromList.length == 0)
                return;
            this.extraCascadeFromList.forEach((item, index, array) => {

                var editor = Q.findElementWithRelativeId(this.element, item).tryGetWidget(Serenity.LookupEditor);
                if (editor != null) {
                    var self = this;
                    editor.element.on("change." + this.uniqueName, () => {
                        this.extraCascadeValuesList[index] = Number(editor.value) || 0;
                        this.updateItems();
                    });
                }

            });

        }

        private unbindExtraFrom(): void {
            if (this.extraCascadeFromList == null || this.extraCascadeFromList.length == 0)
                return;
            this.extraCascadeFromList.forEach((item, index, array) => {
                var editor = Q.findElementWithRelativeId(this.element, item).tryGetWidget(Serenity.LookupEditor);
                if (editor != null) {
                    var self = this;
                    editor.element.off("change." + this.uniqueName, () => {
                        this.extraCascadeValuesList[index] = Number(editor.value) || 0;
                    });
                }

            });

        }
    }

    export interface MultipleCascadeEditorOptions extends Serenity.LookupEditorOptions {
        extraCascadeFrom?: string;
        extraCascadeField?: string;
    }
}

To use it, you can put it in your xyzform.cs
        [ProductMultipleCascadeEditor(ExtraCascadeFrom = "CategoryID,SupplierID", ExtraCascadeField = "CategoryID,SupplierID")]
        public Int32 ProductSuplierTestId { get; set; }

or xyzrow.cs
        [DisplayName("Product Id Multiple test"), NotMapped]
        [ProductMultipleCascadeEditor(ExtraCascadeFrom = "CategoryID,SupplierID", ExtraCascadeField = "CategoryID,SupplierID")]
        public Int32? ProductSuplierTestId
        {
            get { return Fields.ProductSuplierTestId[this]; }
            set { Fields.ProductSuplierTestId[this] = value; }
        }

Best Regards


testing attestation

Can one of the admins verify this patch?

everything looks fine now, i think it's good to be merged


Add support for ARM64 linux running on MacOS arm container

Fixes https://github.com/jmcvetta/asdf-gitleaks/issues/5

Hi @jmcvetta , I was wondering if this patch could be merged as soon as possible.  The bug it fixes is blocking me.
My comment being addressed is not required and can be dismissed if it accelerates acceptance.

Hi @nelsnelson - thanks for the contribution!  Your PR has been merged and included in release 1.1.0.

Hi @nelsnelson - thanks for the contribution! Your PR has been merged and included in release 1.1.0.

Oh, thank you!  Although, this patch work was not submitted by myself, but rather submitted by @brodock!
Cheers!

My mistake - thanks to @brodock for contributing this!


Creating illformed gemspec requirements

I'm getting this error when I try to release a gem after installing it:
Invalid gemspec in [/usr/local/Cellar/ruby/1.9.2-p290/lib/ruby/gems/1.9.1/specifications/parsley2-0.1.0.gemspec]: Illformed requirement ["#Syck::DefaultKey:0x007f87d2ead088 2.2.2"]
I'm not sure if upgrading to 1.9.2 p290 has had any effect on this.

Haven't seen this specific one before, but it does look 1.9 related.
If you are still having the problem, is this on github somewhere so I can poke at it?

No longer supporting 1.9 so closing this issue.


Support not using Google Play Services

In some contexts it is not beneficial to use Google Play Services for location information. One context is Sony Xperia Z1 with Lollipop. Here using GMS spoils the OrientationProvider, and kills it even if you have GMS off in c:geo and use c:geo Wear in conjunction with it (and you need to reboot the phone, to make it work again). So I would very much appreciate if c:geo Wear had the same option as c:geo here...

To be clear: on the Xperia Z1, if Play Services is used to access location, then orientation breaks completely until the phone is restarted?

It is a little more complicated.
If I have GMS on in c:geo, orientation (compass) is somewhat erratic, jumping wildly on slight rotations and settling in arbitrary directions.
If I then switch GMS usage off in c:geo, I don't get any orientation updates at all. Until I restart the phone.
If I never switch GMS usage on in c:geo, orientation works.
Unluckily, does the system get into the same state (no orientation updates at all) if I have GMS off in c:geo and trigger c:geo Wear once (thereby starting GMS usage in c:geo Wear).

Ah I see, thanks for the clarification. I'll look into respecting c:geo's GMS usage setting.


Uniformed whitespace

Thanks
Sent from my iPod

On Sep 26, 2015, at 7:05 PM, Karthik VJ<EMAIL_ADDRESS>wrote:
Merged #33.
—
Reply to this email directly or view it on GitHub.


Stack trace on PUT for collections

If you PUT to a collection URI something that isn't an array you get a 500 Internal server error and a stack trace. It should probably be a 400 with an error but no stack trace.

Is this still true? v1.0.5 had a fix for #35 that likely fixes this, but I'm not 100% certain. Are you still seeing the problem today, @dstockto ?

Yes, as far as I can remember for the repro steps.
I just tried this running v1.0.7 and was able to get a 500 with a stack trace by sending in a JSON object with a random key/value into a collection PUT URI.

@dstockto I've just tested, and the situation is definitely resolved in the latest versions.

Per @dstockto in IRC, the issue found was specifically when sending an object to PUT for a collection.

I've recreated the issue with the following payload:
{
  "foo": "bar"
}

This returns a 500 status, with a problem detail indicating the issue. However, it should return a 400, and likely no stack trace; the issue is the client is sending an invalid data structure.

The issue is in zf-rest, as the checks for array or object are done in the Resource class:

https://github.com/zfcampus/zf-rest/blob/93c1f31835519232cad986e35a9ca38eb6f5ef4c/src/Resource.php#L314-L319
https://github.com/zfcampus/zf-rest/blob/93c1f31835519232cad986e35a9ca38eb6f5ef4c/src/Resource.php#L402-L407

I'll update those exceptions to use a 400 status code.


登录一段时间就会报 Protocol error: Connection closed，Most likely the page has been closed.

15:11:34 WARN Puppet dogReset() reason: {"data":"heartbeat@browserbridge ding","timeout":60000}
15:11:34 WARN PuppetWeChatBridge stop() page.close() exception: Error: Protocol error: Connection closed. Most likely the page has been closed.
15:11:38 INFO heartbeat: inited
15:13:38 WARN Puppet dogReset() reason: {"data":"inited","timeout":120000}
15:13:41 INFO heartbeat: inited
15:15:41 WARN Puppet dogReset() reason: {"data":"inited","timeout":120000}
15:15:45 INFO heartbeat: inited
15:17:45 WARN Puppet dogReset() reason: {"data":"inited","timeout":120000}
15:17:49 INFO heartbeat: inited
15:19:49 WARN Puppet dogReset() reason: {"data":"inited","timeout":120000}
15:19:54 INFO heartbeat: inited
15:21:54 WARN Puppet dogReset() reason: {"data":"inited","timeout":120000}
15:21:58 INFO heartbeat: inited
15:23:58 WARN Puppet dogReset() reason: {"data":"inited","timeout":120000}
15:24:03 INFO heartbeat: inited
15:26:03 WARN Puppet dogReset() reason: {"data":"inited","timeout":120000}
15:26:08 INFO heartbeat: inited
系统是CentOS7

Same error, how to solve it?

你的来信我已收到，我会尽快查收。谢谢！

Looks like it was a problem with my network, it changed when I modified my proxy


fix unclickable links in dropdown menus, fixes: #7129

closed, @zurbchris has created a new branch to for dropdown menu b9f581c3c09e1c82e3f7dfa41b45c7993d7820a7


Add hero widget with carousel functionality

I love your hero widget. Thank you again for all the nice and hard work you have done!
I have seen that you are planning to add carousel/widget shortcode. Are this going to work with the hero widget as well?
[– I want to use the hero widget to point to 3 or 4 of my most important posts. At the moment I have only one choice and must make a hard decision (the latest? the most important? …)]

It's now been implemented. To use, update Academic to latest master version, download the hero carousel widget to your home/ folder and set active = true at the top of its front matter.

Thank you! Works like a charm!

Good morning,
I just landed on this issue while searching a Hugo "carousel" component. However, I cannot find the file you mentioned, hero_carousel.md, in the repository anymore. Had been renamed to something else or replaced with another functionality?
Thanks for your kind help, and I wish you a very good day.
Regards, -- Riccardo.

While taking a second look at the code, I see there's now a slider widget. Is the new version of the hero_carousel? Tahsnka a lot again for your help. Regards, -- Riccardo.


Expose next retry delay on Application Failure in all SDKs

We recently added the ability for an activity to specify the next retry delay on failure via a field on ApplicationFailureInfo.
Expose this in the SDK.

This was done in Go already.


View resources button does not fix to bottom of card

Describe the bug
View resources card does not fix to the bottom of card if the screen size is changed
To Reproduce
Steps to reproduce the behaviour:

Go to the live website
Click on resources
You will notice view resources button is not fixed to the bottom of every card

Expected behaviour
The view resources button should fix to the bottom of every card
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser Chrome
Version 22

Feel free to star a repo

I think the same issue is in the solution cards as well.
Please fix that as well.

I think the same issue is in the solution cards as well. Please fix that as well.
I didn't notice it while testing as there was only one card, could you please create an issue and assign me?

I think the same issue is in the solution cards as well. Please fix that as well.

I didn't notice it while testing as there was only one card, could you please create an issue and assign me?

Can you please create an issue by yourself, I'll assign you.


Failed evaluating JavaScript, JavaScript string was: 'play()'

Using youtube_player_flutter: ^3.0.0+1.
Platform: iOS | No issues on Android.
Stack trace:
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: PlatformException(evaluateJavaScript_failed, Failed evaluating JavaScript, JavaScript string was: 'play()'
Error Domain=WKErrorDomain Code=1 "An unknown error occurred" UserInfo={NSLocalizedDescription=An unknown error occurred})
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:564:7)
#1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:302:33)
<asynchronous suspension>
#2      MethodChannelWebViewPlatform.evaluateJavascript (package:ytview/src/webview_method_channel.dart:90:21)
#3      WebViewController.evaluateJavascript (package:ytview/ytview.dart:579:39)
#4      YoutubePlayerController._evaluateJS (package:youtube_player_flutter/src/youtube_player.dart:580:30)
#5      YoutubePlayerController.play (package:youtube_player_flutter/src/youtube_player.dart:587:18)
#6      _PlayPauseButtonState.build.<anonymous closure> (package:youtube_player_flutter/src/controls.dart:80:64)
#7      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:511:14)
#8      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:566:30)
#9      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:166:24)
#10     TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:240:9)
#11     TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:211:7)
#12     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
#13     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:225:20)
#14     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:199:22)
#15     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
#16     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
#17     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
#18     _rootRunUnary (dart:async/zone.dart:1136:13)
#19     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#20     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#21     _invoke1 (dart:ui/hooks.dart:233:10)
#22     _dispatchPointerDataPacket (dart:ui/hooks.dart:154:5)

flutter --version:
Flutter 1.5.4-hotfix.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 7a4c33425d (8 weeks ago) • 2019-04-29 11:05:24 -0700
Engine • revision 52c7a1e849
Tools • Dart 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)

Hi,
i'm facing the same issue in iOS.
Please provide me solution.

Same problem here. On iOS device iPhone 6s, iOS 12.

Same.
Flutter version: 1.7.8+hotfix-3
youtube_player_flutter: ^3.0.0+1
device: iPhone 8 and iPhone X with iOS 12.3.1

Extremely sorry for the late respond, was quite busy since last time I updated the plugin. Will be looking into the issue.

on iOs plays only if forceHideAnnotation: false if true, then:
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: PlatformException(evaluateJavaScript_failed, Failed evaluating JavaScript, JavaScript string was: 'play()'
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=69, WKJavaScriptExceptionMessage=TypeError: player.playVideo is not a function. (In 'player.playVideo()', 'player.playVideo' is undefined), WKJavaScriptExceptionColumnNumber=21, WKJavaScriptExceptionSourceURL=https://sarbagyadhaubanjar.github.io/youtube_player/player-revised.js, NSLocalizedDescription=A JavaScript exception occurred})
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:564:7)
#1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:316:33)

#2      MethodChannelWebViewPlatform.evaluateJavascript (package:ytview/src/webview_method_channel.dart:90:21)
#3      WebViewController.evaluateJavascript (package:ytview/ytview.dart:579:39)
#4      YoutubePlayerController._evaluateJS (package:youtube_player_flutter/src/youtube_player.dart:580:30)
#5      YoutubePlayerController.play (package:youtube_player_flutter/src/youtube_player.dart:587:18)
#6      _PlayPauseButtonState.build. (package:youtube_player_flutter/src/controls.dart:80:64)
#7      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:635:14)
#8      _InkResponseState.build. (package:flutter/src/material/ink_well.dart:711:32)
#9      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
#10     TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
#11     TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:275:7)
#12     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:455:9)
#13     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:75:13)
#14     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:102:11)
#15     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
#16     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
#17     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
#18     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
#19     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
#20     _rootRunUnary (dart:async/zone.dart:1136:13)
#21     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#22     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#23     _invoke1 (dart:ui/hooks.dart:250:10)
#24     _dispatchPointerDataPacket (dart:ui/hooks.dart:159:5)

I am facing the same issue for iOS.
Please provide solution.
Flutter version: 1.5.4-hotfix.2
Dart version:2.3.0
youtube_player_flutter: ^3.0.0+1
device: iPhone 6 with iOS 12.1.2

@sarbagyastha, I updated the plugin from v3 to 4.0.0+2 and I am still getting this error on iOS.
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: PlatformException(evaluateJavaScript_failed, Failed evaluating JavaScript, JavaScript string was: 'play()'
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=58, WKJavaScriptExceptionMessage=TypeError: player.playVideo is not a function. (In 'player.playVideo()', 'player.playVideo' is undefined), WKJavaScriptExceptionColumnNumber=21, WKJavaScriptExceptionSourceURL=https://sarbagyadhaubanjar.github.io/youtube_player/ios/player.js, NSLocalizedDescription=A JavaScript exception occurred})

Same here :-(

I simplified this and made my own HTML file and ran it locally. The iOS web view still didn't work with the youtube iframe api from their code example. However, if I loaded HTML with an embedded iframe from the share section of youtube.com videos would play just fine. 🤷♂

@kmcgill88 @komaromil  Could you check if  Version 4.1.0 fix it?

@sarbagyastha I got it to play once but the performance was awful! It still crashes a majority of the time. I tested on real iPhone and Simulator. I also confirmed it works on Android Emulator.

@sarbagyastha I'm using 4.10
and still go this error on iphone
JavaScript string was: 'play()'
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=58, WKJavaScriptExceptionMessage=TypeError: undefined is not an object (evaluating 'player.playVideo'), WKJavaScriptExceptionColumnNumber=11, WKJavaScriptExceptionSourceURL=https://sarbagyadhaubanjar.github.io/youtube_player/ios/player.js, NSLocalizedDescription=A JavaScript exception occurred}

Any update on this?
Facing same issue

same issue

Check #79


Upgraded http links to https where supported

Fixes #155
My first PR to this repo. Please let me know if I've done something wrong.

Thanks!


Also deploy mozc_tip64.dll.pdb

This closes  #1081.
Context
One of the biggest challenge while investigating the following issue has been that it is reliably reproducible only on certain users' environments.

https://github.com/google/mozc/issues/1076

One idea to accelerate the debugging is to ship debug symbol file for Mozc TIP DLL (e.g. mozc_tip64.dll) to users. Then we can ask the reporter to use tools like Process Explorer and Process Hacker to dump the call stack of the thread that got stuck.
Description
With this commit we actually start deploying mozc_tip64.dll.pdb to users.
The storage impact looks to be acceptable overall as long as we strip private symbols. Here are actual values taken in my local environment.

Mozc64.msi: + 584 kB
mozc_tip64.dll.pdb: + 6,116 kB

Caveats
This commit does not fully take care of Bazel build. While the symbol file is actually deployed, there remain the following known
issues only in Bazel build.

private symbols are not yet stripped out.
the symbol file name embedded in mozc_tip64.dll is mozc_tip.pdb rather than mozc_tip64.dll.pdb.

Issue IDs

https://github.com/google/mozc/issues/1081

Steps to test new behaviors (if any)
A clear and concise description about how to verify new behaviors (if any).

OS: Windows 11 23H2
Steps:

Install Mozc
Open %ProgramFiles(x86)%\Mozc\mozc_tip64.dll with peview.exe included in Process Hacker.

Here is the expected behavior.

We have merged your PR.
Thank you for your contribution!


Updated README to use the new install commands

Installing executables with 'go get' in module mode is deprecated.
Use 'go install pkg@version' instead.
For more information, see https://golang.org/doc/go-get-install-deprecation

@headblockhead
Now merging.


[Core] Investigate implications of adding explicit net6.0 targets for all clients

API Change Needed
No
Background and motivation
Related to #28492
If an explicit net6.0 target for all clients were added, how would this affect usage of newer framework features and existing #if NET6_0_OR_GREATER blocks.
API / Feature Proposal
n/a
Time Constraints and Dependencies
n/a
Stakeholders
No response

I will check into this myself as well by checking out the codebase and experimenting with it locally.

I will check into this myself as well by checking out the codebase and experimenting with it locally.

Here is where to start if you are interested in experimenting with this change:
https://github.com/Azure/azure-sdk-for-net/blob/1abed9d3f215982af84ec671fdbf0a2541a12762/eng/Directory.Build.Common.props#L119

It seems that with the changes above that these would have to be changed as well (where ever the code to System.Memory.Data is located at):

After those 2 are removed from System.Memory.Data and the other packages from the first issue that I highlighted for Azure.Identity it should then be simpler.
In the mean time I am about to continue my experiment. Sadly it seems there is no root level solution file that I can open all projects in mass with Visual Studio to view them all at once (that excludes the tests from it).

A lot of errors is from CancelationToken based things not being passed to certain async apis that are being used by the Azure SDK.
Before .NET 6 can be added those issues need fixed.

Anyone here able to grab the CancellationToken related compile errors?

I have opened an draft pr because it will require more changes inside of other azure repos first.

Adding a note to include https://github.com/Azure/azure-sdk-for-net/issues/30685#issuecomment-1225947517 in the considerations when this investigation takes place.


15 Years of Fame Demo. Missing bottom of image

Using
AmigaVision-MegaAGS-2023.07.17
On muster fpga  this demo seems.to be cutt off on the bottom of the screen (TV is 1080p)

I can’t reproduce this.
It’s configured as 4×PAL here, which means no dynamic cropping is performed. (There’s a chance that this is one of the demos fixed after the 2023.07.17 release, but it works with the current settings in the GitHub repository, and will be included in the upcoming release)
Does it say “4×PAL” in the AGS entry?


Remove external regression tests as part of build/deploy pipeline.

These tests are fundamentally brittle and are managed externally, so we should not have a dependency on them during our automated build/deploy pipeline. These tests may still have value if run nightly or manually.

Tests observed passing. Rebasing before merge.


verifier-test.sh: allow for empty FOO_PROGS

verifier-test.sh allows users to pass what programs to test via
environment variables. However, these variables are only used if they
are  not unset and not empty. This means that we, for example, cannot
pass XDP_PROGS="" to avoid verifiying any xdp progs.
This patch modifies the check to only ignore the environment variables
if they are unset.
So now we can use verifier-test.sh to test only a single program:
root# TC_PROGS="bpf_host" XDP_PROGS="" CG_PROGS="" ./test/bpf/verifier-test.sh
=> Loading bpf_host.c:from-netdev...
=> Loading bpf_host.c:from-host...
=> Loading bpf_host.c:to-netdev...
=> Loading bpf_host.c:to-host...
Signed-off-by: Kornilios Kourtis<EMAIL_ADDRESS>

test-me-please

test-1.16-netnext

test-1.16-netnext

k8s-1.16-kernel-netnext failed with:

https://github.com/cilium/cilium/issues/14598 - now fixed.
https://github.com/cilium/cilium/issues/12511 - will likely be disabled.

Considering that and the fact that both tests are unaffected by the changes in this PR, I'm marking ready to merge.


:construction_worker: fix: Use nx run-many instead of affected for coverage reports

Description
Use run-many so coverage reports are always created even if cached
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #317   👈

PR #313

PR #314

PR #315

PR #316

This comment was auto-generated by Graphite.


Issues for Me... Simple questions for You

Obviously I thought I knew more than I actually do.  You would be kind to point me to some documents/answers?
Existing working system is HomeSeer 3 --> ESP8266 Broker --> TASMOTA device
Substituting the sMQTT BROKER
Can not get your ESP32 BROKER to connect to either end.
HS3 is obviously sending requests to sMQTT.... I seem to get nothing at the BROKER
TASMOTA device is sending requests to sMQTT... code detect nothing.
I assume there are some basics that I do not understand????
Thanks for reading... LZH
CODE FOLLOWS BELOW
#define IDSTRING   "V 1  DEC 30 2022   CV_BROKER_ESP32TEST_Vxx   "
#include<sMQTTBroker.h>
const char* zssid = "xxx";         // The SSID (name) of the Wi-Fi network you want to connect to
const char* zpassword = "xxx";		// The password of the Wi-Fi network
// This code is LOCAL BROKER  talking to DEVICE/CLIENTs and HS3
IPAddress LOCAL_BROKER_IP(10, 0, 0, 111);
IPAddress Zgateway(10, 0, 0, 1);			// set gateway to match your network
IPAddress Zsubnet(255, 255, 255, 0);		// set subnet mask to match your network
const unsigned short mqttPort = 1883;
class MyBroker :public sMQTTBroker
{
public:
bool onEvent(sMQTTEvent *event) override
{
Serial.println("GOT EVENT zzzz   ");	//
	switch (event->Type())
	{
	case NewClient_sMQTTEventType:
	{
		Serial.println("NEW CLIENT EVENT    ");	//
		sMQTTNewClientEvent *e = (sMQTTNewClientEvent*)event;
		e->Login();
		e->Password();
	}
	break;
	case LostConnect_sMQTTEventType:
		Serial.println("LOST WiFI Connection  Try again....   ");	//
		WiFi.reconnect();
		break;
	case UnSubscribe_sMQTTEventType:
	case Subscribe_sMQTTEventType:
	{
		Serial.println("zz subscribe   ");	//
		sMQTTSubUnSubClientEvent *e = (sMQTTSubUnSubClientEvent*)event;
	}
	break;
	}
	return true;
}

};
MyBroker broker;
unsigned long Time;
unsigned long freeRam;
void setup()
{
Serial.begin(115200);
delay(333);   // wait for port to settle
Serial.println(" ");  //
//************************************************************
Serial.println(IDSTRING);
//...........................
//************************************************************
WiFi.config(LOCAL_BROKER_IP, Zgateway, Zsubnet);
WiFi.begin(zssid, zpassword);

while (WiFi.status() != WL_CONNECTED)
{ // Wait for the Wi-Fi to connect
	Serial.println("Waiting for WiFi...    "  + String (zssid));	//
	delay(1000);
}

broker.init(mqttPort);
Serial.print("WiFi Connected ...");
////Serial.print("IP address:\t");
Serial.print(WiFi.localIP());
Serial.println("  PORT is..." + String (mqttPort));	//

// all done
// your magic code
Time = millis();
freeRam = ESP.getFreeHeap();

};
// lll
void loop()
{
broker.update();
// your magic code
if (millis() - Time > 1000)
{
	Time = millis();
	if (ESP.getFreeHeap() != freeRam)
	{
		freeRam = ESP.getFreeHeap();
		Serial.print("RAM:");
		Serial.println(freeRam);

		//zz added?? does nothing??
		broker.publish("Topic", "message"); // added publish here
	}
}

};

hello, I recommend enabling debug messages on the broker. This will allow you to understand who and how connects to the broker.
It is also interesting what the device writes. As I understand it, it does not connect to the broker?

Thanks for the answer.   Still confused on the basics.  I put DEBUG print statements in the code... nothing prints.
I expected the demo code to see the TASMOTA transmit for connection... nothing prints.
I expect the same from a HomeSEER request... but nothing.
are there more examples of how to trigger a print when a message is received???
Thanks

Enable debug in arduino ide -> https://www.mischianti.org/wp-content/uploads/2020/09/ArduinoIDE-esp32-log-levels.jpg
PlatformIO -> https://github.com/terrorsl/sMQTTBroker/issues/12
if you want to see publish message:
class MyBroker:public sMQTTBroker
{
public:
    bool onEvent(sMQTTEvent *event) override
    {
        switch(event->Type())
        {
        case NewClient_sMQTTEventType:
            {
                sMQTTNewClientEvent *e=(sMQTTNewClientEvent*)event;
                e->Login();
                e->Password();
            }
            break;
        case LostConnect_sMQTTEventType:
            WiFi.reconnect();
            break;
        case Public_sMQTTEventType:
               sMQTTPublicClientEvent *e;
               break;
        case UnSubscribe_sMQTTEventType:
        case Subscribe_sMQTTEventType:
            {
                sMQTTSubUnSubClientEvent *e=(sMQTTNewClientEvent*)event;
            }
            break;
        }
        return true;
    }
};

Ah! that debug... Thanks... working on it with my Visual Studio.

Very STUPID user error... as typical.  Fixed.  Connected.  On to normal testing.  Will still need a lot of learning now.   Thank you.
But while I have you, how many MQTT connections are possible? allowed?  LZH

YES Broker is talking to device and HomeSEER.  Thank you, but still a bit lost.  If it is easy for you, I want to print to serial window....
IP Address of device attaching
Topic arriving
Number of Clients Attached
Thanks... LZH

Very STUPID user error... as typical.  Fixed.  Connected.  On to normal testing.  Will still need a lot of learning now.   Thank you.
But while I have you, how many MQTT connections are possible? allowed?  LZH

smqttbroker doesn't limit, this limit hardware and framework.

YES Broker is talking to device and HomeSEER.  Thank you, but still a bit lost.  If it is easy for you, I want to print to serial window....
IP Address of device attaching
Topic arriving
Number of Clients Attached
Thanks... LZH

On connection event you may know all about client.
Also broker know number attached client, see sMqttBroker.h

OK.. the LAST time this year I will bother you.  Not needed from you, but I have invested hours and this should be EASY for you to explain... Please.
Again, the BROKER works, I just want to better understand the operation.  I am old and the class structures do not fit well into my head.
Here are the calls in the code that do not work;   can you advise/fix????  Thanks.
	**case NewClient_sMQTTEventType:**
	{
		sMQTTNewClientEvent *e = (sMQTTNewClientEvent*)event;

		//! receive topic name by index
		// This prints garbage
		std::string zTopicName = getRetaiedTopicName(1);  // BAD HARDCODED this is wrong #!!
		Serial.printf(" .....................>>>>>>>Topic is     %s\n\n", (zTopicName));

		// This prints garbage
		std::string  dddf;
		dddf = e->Login();
		Serial.printf("  login %s ",dddf );
		dddf = e->Password();
		Serial.printf(" Password %s \n", dddf);

		// YES this prints possibly a count
		Serial.printf("...........   zTopicCount =  %5d  \n", (getRetainedTopicCount()));   // YES OK

std::string have function c_str() return char's ending 0. You need send it to printf.

Thank you thank you thank you.. NOW can see all the messages arriving.  But...
Can you give me sample for also reading  "Payload" ??? I still can not understand.
#2  Can you give me sample call for reading ALL devices registered in the memory??  Show me the call to access the table and I can do the rest.
Please?   LZH


[rc2] Use public client auth for odsp e2e flows (#21091)

Description
Currently, we use the ropc flow with a confidential client to authenticate in our e2e/stress tests against odsp. This is less appropriate than using a public client flow, since our application registration really only needs to have delegated permissions.
This PR adjusts things to use a public flow--I've updated the relevant app registrations to allow both forms of auth already.
Using a public flow also means our infrastructure setup here aligns exactly with this relatively recent MSFT guidance.
Cherry-pick of #21091. This change needs to be in every branch we plan on maintaining real service tests against odsp for, as I plan on removing the application configuration enabling confidential client auth.

Not totally sure we're maintaining this branch still, but I think not all partners are quite off of it, and it wasn't much additional effort to include it while I was already in the cherry-picking flow :)


Increment version for devcenter releases

Increment package version after release of azure-developer-devcenter

API change check
API changes are not detected in this pull request.


Portable furnances don't give xp

It'll be neat to implement it with a config setting allowing for reduced xp production by percentage. default value would be 1, and if modpack creators want to rebalance it they can set the value to, say 0.5, reducing produced xp by 50%, would be even better to show it in tooltips of each furnace, like "XP production: 50%".


Nullability Parent of Nested Models

Good afternoon!
I am trying to implement the following models
from sparkdantic import SparkModel

class ChildSchema(SparkModel):
    ncol1: str
    ncol2: str

class ParentSchema(SparkModel):
    col1: ChildSchema

I would assume that because ChildSchema is not defined as optional that the spark schema would reflect this so that ChildSchema struct nullability is False.
However, for ParentSchema defined above this is the output of ParentSchema.model_spark_schema().jsonValue()
{
    'type': 'struct',
    'fields': [
        {'name': 'col1',
         'type':
            {
                'type': 'struct', 'fields': [
                    {'name': 'ncol1', 'type': 'string', 'nullable': False, 'metadata': {}},
                    {'name': 'ncol2', 'type': 'string', 'nullable': False, 'metadata': {}}
                ]
            },
        'nullable': True, 'metadata': {}}]
}

Should 'nullable' be false for the case above? Or is this behavior on purpose?

@DaanRademaker definitely a bug - have fixed and cut a new release to fix this in  v0.20.1

Thanks for the quick Fix! This was the final open thing for us to move completely to your library.


HUD not updating percentage for Spider, Ajax Spider and Attack

Describe the bug
When running a web security scan with the ZAP HUD I usually start with a Spider, then Ajax Spider then Attack. When clicking on the Spider button, in the HUD the percentage remains 0, even though the Java GUI is showing 100%
Steps to reproduce the behavior
Start a scan from Manual Explore
Click on the Spider icon in the hud
Wait a few minutes for it to complete
Observe the Java GUI is finished spidering 100%, but the HUD is still reporting 100%
repeat Ajax Spider
and again for Attack
Adjusted the Read Timeout as suggested in the log file but still the same behavior
Expected behavior
The HUD should show the actual percentage that is finished for the scan type selected
Software versions
OWASP ZAPD 2022-03-07
(would be nice if we could copy past the version number instead of having to type it over) ;-)
Screenshots

Errors from the zap.log file
2022-03-08 14:54:58,700 [ZAP-SpiderInitThread-0] INFO  SpiderThread - Starting spidering scan on https://{MYURL}/ at 2022-03-08T14:54:58.700+0100
2022-03-08 14:54:58,707 [ZAP-SpiderInitThread-0] INFO  Spider - Spider initializing...
2022-03-08 14:54:58,783 [ZAP-SpiderInitThread-0] INFO  Spider - Starting spider...
2022-03-08 14:54:59,168 [ZAP-SpiderThreadPool-0-thread-1] INFO  Spider - Spidering process is complete. Shutting down...
2022-03-08 14:54:59,180 [ZAP-SpiderShutdownThread-0] INFO  SpiderThread - Spider scanning complete: true on https://{MYURL}/ at 2022-03-08T14:54:59.180+0100
2022-03-08 14:55:27,908 [ZAP-PassiveScanner] WARN  PassiveScanThread - Passive Scan rule Wappalyzer Scanner (Tech Detection) took 21 seconds to scan https://{MYURL}themes/resurface-admincentral/styles.css?v=8.14.1 text/css;charset=UTF-8 718649
2022-03-08 14:55:31,016 [ZAP-IO-EventExecutor-3-7] WARN  HttpSenderHandler - Failed to read https://{MYURL}{MYID}{MYPROT}{MYNUM} within 20 seconds, check to see if the site is available and if so consider adjusting ZAP's read time out in the Connection options panel.
2022-03-08 14:55:34,093 [ZAP-PassiveScanner] WARN  PassiveScanThread - Passive Scan rule Application Error Disclosure took 6 seconds to scan https://{MYURL}{MYWIDGET}cache.js application/javascript;charset=UTF-8 7749932
2022-03-08 14:55:45,605 [ZAP-PassiveScanner] WARN  PassiveScanThread - Passive Scan rule Information Disclosure - Suspicious Comments took 6 seconds to scan https://{MYURL}{MYWIDGET}cache.js application/javascript;charset=UTF-8 7749932
2022-03-08 14:55:57,487 [ZAP-PassiveScanner] WARN  PassiveScanThread - Passive Scan rule Vulnerable JS Library took 7 seconds to scan https://{MYURL}{MYWIDGET}cache.js application/javascript;charset=UTF-8 7749932
2022-03-08 14:56:31,030 [ZAP-IO-EventExecutor-3-6] WARN  HttpSenderHandler - Failed to read https://{MYURL}{MYID}{MYPROT}{MYNUM} within 20 seconds, check to see if the site is available and if so consider adjusting ZAP's read time out in the Connection options panel.
2022-03-08 14:57:30,992 [ZAP-IO-EventExecutor-3-5] WARN  HttpSenderHandler - Failed to read https://{MYURL}{MYID}{MYPROT}{MYNUM} within 20 seconds, check to see if the site is available and if so consider adjusting ZAP's read time out in the Connection options panel.
2022-03-08 14:58:16,055 [ZAP-IO-EventExecutor-3-2] WARN  HttpSenderHandler - Failed to read https://{MYURL}{MYID}{MYPROT}{MYNUM} within 20 seconds, check to see if the site is available and if so consider adjusting ZAP's read time out in the Connection options panel.
2022-03-08 14:58:55,331 [ZAP-PassiveScanner] WARN  PassiveScanThread - Passive Scan rule Wappalyzer Scanner (Tech Detection) took 171 seconds to scan https://{MYURL}{MYWIDGET}cache.js application/javascript;charset=UTF-8 7749932
2022-03-08 14:59:01,585 [ZAP-IO-EventExecutor-3-4] WARN  HttpSenderHandler - Failed to read https://{MYURL}{MYID}{MYPROT}{MYNUM} within 20 seconds, check to see if the site is available and if so consider adjusting ZAP's read time out in the Connection options panel.
2022-03-08 14:59:12,656 [ZAP-PassiveScanner] WARN  PassiveScanThread - Passive Scan rule Application Error Disclosure took 7 seconds to scan https://{MYURL}{MYWIDGET}cache.js application/javascript;charset=UTF-8 7749932
2022-03-08 14:59:24,877 [ZAP-PassiveScanner] WARN  PassiveScanThread - Passive Scan rule Information Disclosure - Suspicious Comments took 7 seconds to scan https://{MYURL}{MYWIDGET}cache.js application/javascript;charset=UTF-8 7749932
2022-03-08 14:59:46,816 [ZAP-IO-EventExecutor-3-6] WARN  HttpSenderHandler - Failed to read https://{MYURL}{MYID}{MYPROT}{MYNUM} within 20 seconds, check to see if the site is available and if so consider adjusting ZAP's read time out in the Connection options panel.
2022-03-08 15:00:46,855 [ZAP-IO-EventExecutor-3-2] WARN  HttpSenderHandler - Failed to read https://{MYURL}{MYID}{MYPROT}{MYNUM} within 20 seconds, check to see if the site is available and if so consider adjusting ZAP's read time out in the Connection options panel.
2022-03-08 15:01:46,777 [ZAP-IO-EventExecutor-3-4] WARN  HttpSenderHandler - Failed to read https://{MYURL}{MYID}{MYPROT}{MYNUM} within 20 seconds, check to see if the site is available and if so consider adjusting ZAP's read time out in the Connection options panel.
2022-03-08 15:02:46,809 [ZAP-IO-EventExecutor-3-5] WARN  HttpSenderHandler - Failed to read https://{MYURL}{MYID}{MYPROT}{MYNUM} within 20 seconds, check to see if the site is available and if so consider adjusting ZAP's read time out in the Connection options panel.
2022-03-08 15:03:46,888 [ZAP-IO-EventExecutor-3-5] WARN  HttpSenderHandler - Failed to read https://{MYURL}{MYID}{MYPROT}{MYNUM} within 20 seconds, check to see if the site is available and if so consider adjusting ZAP's read time out in the Connection options panel.

Additional context
This bug entered the code around the D-2022-02-15 release.
Would you like to help fix this issue?

[X] Yes

So are you starting the spider(s) from the desktop GUI and looking at their progress in the HUD?
If so then I'm not too surprised that they are out of sync - if you want to see the progress in the HUD then start the spiders from the HUD.
I agree that it would be good it they were always in sync but tbh that has not been a priority.


In the Chinese interface, the 'Prompts Everywhere' node is not functioning at all. Can this be fixed?

I am using this Chinese localization plugin: https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION.
https://github.com/chrisgoringe/cg-use-everywhere/assets/131615326/c90925d4-c38c-4b03-b0af-da2db43bd7b8

The "Seed Everywhere" node did not take effect.

Right. Both those nodes work with regex's which are based on the English character set. I will look at this.
I've open an issue https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation/issues/133 to see how I can work with that node creator to do this properly.

Possibly solved by https://github.com/chrisgoringe/cg-use-everywhere/pull/85 in 4.4.4


chore: update cometbft Go version to 1.22.5

This PR bumps the go version to 1.22.5.

PR checklist
~- [ ] Tests written/updated~

[ ] Changelog entry added in .changelog (we use unclog to manage our changelog)
[ ] Updated relevant documentation (docs/ or spec/) and code comments
[x] Title follows the Conventional Commits spec

2 tests fail because they are still pulling Docker images with go 1.22.2. We also need to push new Docker images with go 1.22.5.

I'd suggest you to check other Go bumping PRs in this repo, as we never know what does it affect.


Openengsb 1411 2.x.y

Rebase done. Minor fixes in the code.

outsch... you pulled tons of other, unreleated commits in here too as it seams; basically this should still only contain your commits and nothing else

maybe a simple rebase -i and removing all commits not related to you is the simplest solution?


[Editor] Try to make the position of an edited FreeText the more accurated as possible

Take into account the page translation,
Take into account the correct translation for the editor border,
Take into account the position of the first glyph in the annotation,
Take into account the rotation of the editor.

Close #16633.

/botio test

It seems that the new integration-tests failed on Windows, please look into that (hopefully it's not a new intermittent failure).

/botio integrationtest

/botio integrationtest

/botio integrationtest


add node_selector_enabled variable

This is an alternative to https://github.com/ROCm/k8s-device-plugin/pull/29   @y2kenny
Default behaviour before: there would be no nodeselectors applied because nfd.enabled is false by default. If you set nfd.enabled=true, then you would get both an installation of NFD, and application of nodeselectors on the daemonsets.
Default behaviour after: there would be no nodeselectors applied because node_selector_enabled is false by default. Installation of NFD and application of nodeselectors can be controlled separately and independently.
Anyone who previously set nfd.enabled=true and got both a NFD installation and nodeselectors will now need to also set node_selector_enabled=true to continue applying the same nodeselector as before.
It's a bit weird but seems like a less disruptive way to un-overload the nfd.enabled variable.

Partially related to https://github.com/ROCm/k8s-device-plugin/issues/19
@julian3xl  @boniek83  have a look if you're still interested.


[Question] left alt, left cmd swap

Hello,
I am clueless. I had tried keyd and it seems to be working, but I am unable to remap leftcontrol and leftmeta keys on apple_laptop model keyboard. After a while I had found, that the config file should be like this:
[main]
leftctrl = layer(meta)
leftmeta = layer(control)

But it only remaps left ctrl to left meta, but won't remap left control to left meta. What am I doing wrong?
Gentoo, 6.1.22, Xorg 21.1.9, Enlightenment  0.25.4. Macbook Air 2015.
I had found out keyd, because xmodmap is not even possible to do simple change of e.g. x to z keys and I am trying to find out reason.
Thanks,
Regards,
Petr Sourek

journalctl -u keyd will probably show you an error for leftctrl. Try leftcontrol = layer(meta). If that's not it, confirm with keyd monitor (or keyd -m depending on the version) that the names of the keys are as expected.

I am stupid... :-( changed leftctrl for leftcontrol and it works. Sorry, my fault. Thank you.


BUG Cannot enter a comment in Rate My App - in Edge Browser

Can't hit submit after writing in text for Rate My App - button is greyed out both in front end and back end.
Ma note: I experience the same issue on a MacBook pro in Chrome.

Fix confirmed


Parameter/Override Names aren't filtering through

As discussed with Eddie a couple of weeks ago, the override names aren't being set in the class, but the
UUID is.
If somebody can fix this soon it should be fairly easy.  Right now the overrides will use UUID like 54334-343-3434334-34334_strvalue for the name which just bloats the code uncessarily.

On it! I am going to use generic names for the parameters (var0, var1, etc.) as of right now. From what I remember the overridable value does not come name, just the type and the UUID of the overridable element. Once that is working, ill look into possibly extracting the name of the UI element whose UUID is the same as the overridable parameter and use that as a param name.

Ah, I see from the file.
      "overrideValues": [
        {
          "_class": "overrideValue",
          "overrideName": "4DAF3FC9-389E-44EB-B02B-C9BBDC66EE23_stringValue",
          "value": "Send"
        }

I have an idea for fixing this from the "value" field

Yup, for example, in the following overridable property it includes the UUID and type of the parameter.

If we look at the element that contains the same UUID inside of the symbol master it's going to be a SketchText class, a class that represents the actual element of the symbol master if nothing is overridden. The "name" of that class is the current value of the text inside of the symbol, we could use this name as the name of the parameter but is not going to be an accurate name for the parameter. Not sure if that is a good alternative? 🤔

I think the main problem is relaying that information for the symbol instance. Because if we generate optional parameters, then the symbol instance needs to know what name and value its passing. For example, in the card symbol above, the symbol instance would pass
SmallCardSymbol(cardName: "new name")

But it needs to know the field className in the generation phase, then correlate that to the correct value it's going to pass ("new name"). The other option is to not use optional parameters, which then surfaces another issue. Now the symbol instance has to keep track of the ordering of the parameters, pass the correct value to the correct parameter, and pass null to the ones that are not going to be overridden (some symbols do not override all the values).

I have an idea for fixing this from the "value" field

@GeniusVentures Is the value going to become the name? 🤔

I have an idea for fixing this from the "value" field

@GeniusVentures Is the value going to become the name? 🤔

Yes.  Are we guaranteed that the Master Symbols will be processed first?

No, as of right now, there is no guarantee that master symbols are going to be processed first; unless we force the ordering of the pages on the designer's part. For that, I had created PBSharedInterAggregationService which is going to place the symbol instance in a Queue until the symbol master they are referencing is processed. From there the symbol instance can extract the information it needs from the master symbol.
As for the name being the value, how would it work? 🤔 Because if we use the value of a symbol instance as a name, then it has to be communicated to all the symbol instances that reference the master symbol; making sure all use the same parameter name. The name of the parameter needs to come from the master symbol, no? 🤔

Yes, not needed, I figured out how to do this, I should submit the pull request tomorrow.  It does work by just storing the Master Symbols names (with collision detection and override).  Then when you query the name of the parameter, it just looks it up from the global static Map of Symbol ID, UUID of parameter to get the name.

I'm still unclear what the difference between overrides and parameters are, it looks like it just wasn't finished.  I'll add the overrides as optional parameters in the near future.

This will be closed with pull request #129


Readme should be updated with the working library

It should say:
implementation 'com.github.d-max:spots-dialog:1.0'
instead of the old 0.7 version.
Also example is wrong now. It should include the Builder like this:
val progressDlg = SpotsDialog.Builder()
.setContext(this)
.setTheme(R.style.Custom)
.setMessage("Trying to log in...")
.build()
progressDlg.show()
or something along these lines.

thanks. updated


Feature Request: "--get-playlist-number"

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.07.15. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[ x] I've verified and I assure that I'm running youtube-dl 2017.07.15

Before submitting an issue make sure you have:

[x ] At least skimmed through README and most notably FAQ and BUGS sections
[ x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[x ] Feature request (request for a new functionality)
[x ] Question
[ ] Other

I want to select specific videos from a playlist. Said playlist includes videos I've already downloaded and will skip.
I want to be able to say "youtube-dl --get-filename --get-playlist-number playlist" (or something similar), so I know what numbers to pass to "youtube-dl --playlist-items 2,3,5,7,11" (or similar).
Is there any way to do something like this now?

Why even bother with that? Just use --download-archive.

Nope.
I am using --download-archive. (It's in the default config file for me).
Some videos in the playlist I have are of no interest to me.
I want to see what videos are in the playlist, and decide which to download.
If a video is in the playlist and in the download-archive list file, then it won't even be attempted, and I won't see a filename for it -- so if I am counting filenames, I won't have the right playlist index.
(Entirely separate, why am I not getting notices when a response to my posts here come in?)

--get-filename -o '%(playlist_index)s - %(title)s'.

Ohh, that should work nicely.
(and still no email notices of responses.)


Update table: measures

several new fields (see below)
introducing parent relationship where a measure can belong to another one (eg predecessor)

Permissions by role

public: none
registered, no role: none
analyst: R  (where draft = false, ADDED 19/10/)
manager: CRUD
admin: CRUD

Rules

a measure can't be its own parent (parent_id != id)
a measure can only be a parent when allowed for its type (measure.measuretype.has_parent = true)
NEW (7/10/): a measure's ancestor can't also be its descendant (we can have A < B < C but not A < B < A or A < B < C < A)

new fields

type_id: FK > measuretypes.id
parent_id: FK > measure.id
code: text
comment: text
url: string/text
date_start: datetime
date_end: datetime
date_comment: text
target_comment: text
status_comment: text
reference_ml: text
reference_landbased_ml: text
has_reference_landbased_ml: boolean
status_lbs_protocol: text
amount: decimal
amount_comment: text
private: boolean

also:

rename last_modified_user_id to updated_by (also see https://github.com/dumparkltd/marine-defrag-server/blob/master/app/models/versioned_record.rb)
add field created_by that should automatically capture the user id on creation (maybe in https://github.com/dumparkltd/marine-defrag-server/blob/master/app/models/application_record.rb?)

rename last_modified_user_id to updated_by (also see master/app/models/versioned_record.rb)

@tmfrnz updated_by or updated_by_id?

add field created_by that should automatically capture the user id on creation (maybe in master/app/models/application_record.rb?)

created_by or created_by_id?

The reason I ask is because of how Rails works the column should be named created_by_id and updated_by_id but the API can return them without the _id if you want?

@parndt accordingly measure_type_id should be measuretype_id as per specification

see #57

Fixed by #61


Deck.gl onHover Tooltip does not show anymore

Make sure these boxes are checked before submitting your issue - thank you!

[X] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[X] I have reproduced the issue with at least the latest released version of superset.
[X] I have checked the issue tracker for the same issue and I haven't found one similar.

Superset version
0.28.1
Expected results
Tooltip window showing the content onHover.
Actual results
Nothing appears, but this error in the Console
Uncaught TypeError: r is not a function
    at Object.onHover (scatter.af46ba94611577f0cf94.chunk.js:formatted:276)
    at p-efe0b931.813efd350b3c9b7ba049.chunk.js:2
    at Map.forEach (<anonymous>)
    at p-efe0b931.813efd350b3c9b7ba049.chunk.js:2
    at Ge (p-efe0b931.813efd350b3c9b7ba049.chunk.js:2)
    at Ue (p-efe0b931.813efd350b3c9b7ba049.chunk.js:2)
    at e.value (p-efe0b931.813efd350b3c9b7ba049.chunk.js:2)
    at e.value (p-efe0b931.813efd350b3c9b7ba049.chunk.js:2)
    at Array.<anonymous> (p-39b91eb9.81565bc93ff56be4e334.chunk.js:2)
    at ee.emit (p-39b91eb9.81565bc93ff56be4e334.chunk.js:2)

Steps to reproduce
Create a map and a function that returns a "test_string" in Javascript onClick href

The incriminating bit seems to be:
https://github.com/apache/incubator-superset/blob/48b7ebea1346820ec68e8c8ae8b3d70c81fc5281/superset/assets/src/visualizations/deckgl/layers/common.jsx#L49-L55
where setTooltip is not a function.
This worked fine on previous versions.

Pretty sure this is fixed in master

@lucien-roquette let me know if I need to re-open

@mistercrunch I am still having the issue, installed the latest version of superset from pypi.


Be with ESM and Vite 5+

@hmsk looking forward to this! is there a npm publish that we can test?

@Stanzilla Thanks for your interest! This has been out as 3.0.0-beta.x https://github.com/hmsk/vite-plugin-markdown/releases/tag/v3.0.0-1
I'm glad to hear how your test goes :)

@hmsk I'm testing it on my website - https://github.com/Beraliv/beraliv.dev/pull/667 and it works perfectly! Do you need any help with it?

@Beraliv Thanks for reporting. Your comment was the most helpful one to let me move forward.


cleanup Pathfinder#goto when Pathfinder#stop is called

Calling Pathfinder#stop while a path from Pathfinder#goto is being travelled causes it to stop indefinitely, making it throw an error when Pathfinder#goto is called again.
I've added the path_stop listener to Pathfinder#goto, which will clean up when called while the path is still being used.

ci-test doesn't passes, run npm run fix

looks ok to me, what do you think @Karang ?

LGTM


Fix #32 (Deployments in locked state even after successful backup)

Poller is stopped (or cleared) only on successfully unlocking
deployment.
Restart of poller staggers the getLock calls on the deployment
to ensure we dont overload bosh with a huge numbe of getProperty
requests.

closes #32

Looks good. Will merge after the bosh release changes are also reviewed.


os: Remove and RemoveAll can't remove the current directory on AIX

On AIX, unlinkat or rmdir syscall doesn't work on the CWD. Therefore, a program like the following one doesn't remove GOPATH.
$ cat removeall.go
package main

import (
	"io/ioutil"
	"log"
	"os"
)

func main() {
	GOPATH, err := ioutil.TempDir("", "TestRemoveAll")
	if err != nil {
		log.Panic(err)
	}

	if err := os.Chdir(GOPATH); err != nil {
		log.Panic(err)
	}
	if err := os.Remove(GOPATH); err != nil {
		log.Panic(err)
	}
}
$ ./removeall.go
2019/05/22 09:29:19 remove /tmp/TestRemoveAll186232865: device busy
panic: remove /tmp/TestRemoveAll186232865: device busy

goroutine 1 [running]:
log.Panic(0xa00010000088f58, 0x1, 0x1)
        /opt/freeware/src/packages/BUILD/go-root/src/log/log.go:338 +0x9c
main.main()
        /opt/freeware/src/packages/BUILD/go-root/own_test/goprogs/removeall.go:19 +0x138
exit status 2

There is no real documentation on that. However, rmdir seems to return EBUSY and unlinkat EPERM. So, we should be able to detect if os.Remove is failing because of that. However, what's the correct behavior if we want to fix that ?
Do we chdir to the parentdir ? "/tmp" ? the executable folder ? anything else ?
Or do we want to keep this behavior ?
Note that, when calling os.Removeall, everything except the directory itself is still being removed. Therefore, only a empty directory remains. But, as most of the tests are doing a defer os.Removeall, /tmp is filled with empty directories...
Do some other OSes have the same problem ?
Edit: POSIX rmdir doesn't specify which behavior must be done (cf https://pubs.opengroup.org/onlinepubs/9699919799/functions/rmdir.html)

If the directory is the root directory or the current working directory of any process, it is unspecified whether the function succeeds, or whether it shall fail and set errno to [EBUSY].

I don't have a precise list at the moment but it doesn't only deal with tests. After running ./all.bash,
I have the following folders remaining:
cgolife958293113:
cgostdio550024417:
go-build246746664:
go-build331120624:
go-build356351149:
go-build716678653:
go-build756358968:
cgolife and cgostdio are two tests under there are calling defer os.Removeall. We should be able to move back to the launching folder after the test without impacting other threads, I guess.
However, I have no idea where go-build folders come from.

FYI: this, or something similar to this was also a problem with windows. As far as I know, windows also can't remove a dir with a lock (including CWD). I haven't ran a builder in a while, but you may want to look for some windows specific code.

As you say, the cgolife directory is from misc/cgo/life/life_test.go.  The cgostdio directory is from misc/cgo/stdio/stdio_test.go.  It should be easy to fix those tests.
The go-build directories are more likely created by the go tool in (*Builder).Init in cmd/go/internal/work/action.go.  But if the directories are indeed empty it's hard to know what left them.  I suggest temporarily modifying the deferred function in (*Builder).Init to change the go: failed to remove work dir case to call os.Exit(1).  That should cause the tests leaving them behind to fail, so we can see what is doing that.

FYI: this, or something similar to this was also a problem with windows. As far as I know, windows also can't remove a dir with a lock (including CWD). I haven't ran a builder in a while, but you may want to look for some windows specific code.

There is nothing obvious in os/file_windows.go. Maybe this is done on a case-by-case basis.

The go-build directories are more likely created by the go tool in (*Builder).Init in cmd/go/internal/work/action.go. But if the directories are indeed empty it's hard to know what left them. I suggest temporarily modifying the deferred function in (*Builder).Init to change the go: failed to remove work dir case to call os.Exit(1). That should cause the tests leaving them behind to fail, so we can see what is doing that.

I've tried but nothing occurred... It seems random once again. I'll update misc/cgo tests but will need to investigate more about those go-build.


ERROR: unrecognized directive: primary

I have created a Dockerfile with this module as follows:
FROM caddy:2.2.1-builder-alpine AS builder

RUN xcaddy build \
    --with github.com/greenpau/caddy-auth-jwt

FROM caddy:2.2.1

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

I have the following Caddyfile:
:443 {
  tls /etc/caddy/fullchain.pem /etc/caddy/privkey.pem
}

jwt {
    primary yes
    trusted_tokens {
      static_secret {
        token_name jwt_token
        token_secret my_secret
        token_issuer localhost
      }
    }
    auth_url /login
    allow roles anonymous guest admin
}

auth.mydomain.com:443 {
    reverse_proxy  localhost:8080
}

secure.mydomain.com:443 {
  jwt
  reverse_proxy  localhost:7878
}

When starting the referred Docker container with the above Caddyfile I get the following error:
caddy        | {"level":"info","ts":1607098705.1956842,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
caddy        | run: adapting config using caddyfile: /etc/caddy/Caddyfile:6: unrecognized directive: primary

What's wrong?

What's wrong?

@averri , you are using jwt in the global context. It need to be used inside the route. I think the following will work:
:443 {
  tls /etc/caddy/fullchain.pem /etc/caddy/privkey.pem
}

auth.mydomain.com:443 {
    reverse_proxy  localhost:8080
}

secure.mydomain.com:443 {
  route {
    jwt {
      primary yes
      trusted_tokens {
        static_secret {
          token_name jwt_token
          token_secret my_secret
          token_issuer localhost
        }
      }
      auth_url /login
      allow roles anonymous guest admin
    }
    reverse_proxy  localhost:7878
  }
}

Please test and report back.

Hi @greenpau, thank you for your reply.
I have tested the following code:
:443 {
    tls /etc/caddy/fullchain.pem /etc/caddy/privkey.pem
}

auth.mydomain.com:443 {
    reverse_proxy  localhost:8080
}

media.mydomain.com:443 {
  route {
      jwt {
        primary yes
        trusted_tokens {
          static_secret {
            token_name jwt_token
            token_secret 6c39e5f8-5d9a-4ce6-b365-f93fe58b675a
            token_issuer taltous.com
          }
        }
        auth_url      https://auth.mydomain.com/login
        allow roles admin
      }
  reverse_proxy  localhost:7878
  }
}

The following behavior is happening:

Access the protected domain https://media.mydomain.com in the browser for the first time.
Caddy redirects to the login url https://auth.mydomain.com/login defined in auth_url. (correct)
The user enter the correct credentials, the backend system generates a JWT token called jwt_token with the claims roles=["admin"]. (correct)
Caddy redirects to https://auth.mydomain.com instead of https://media.mydomain.com. (WRONG BEHAVIOR)

Could you please help me to understand what's missing?

Caddy redirects to https://auth.mydomain.com instead of https://media.mydomain.com. (wrong behaviour)

@averri , it is hard to say, but my guess would be that token structure is not readable by jwt plugin. Please paste your decoded token from https://jwt.io/ here.

The user enter the correct credentials, the backend system generates a JWT token called

The tokens that work well with this plugin are generated by https://github.com/greenpau/caddy-auth-portal.
This is the structure I would have for my tokens.

In you case, I would need to see what your token looks like. In any case, I will make it work for your format, if necessary.

Thanks @greenpau, this is the content of the token:
{
  "exp":<PHONE_NUMBER>,
  "origin": "simple",
  "roles": [
    "admin"
  ],
  "sub": "bob"
}

Caddy is processing the token correctly, if I hit https://media.mydomain.com after authentication, it works well.
The only issue is the redirect that is not working after successful authentication.

@averri , the redirect after authentication should be handled by “thing” that does authentication. Jwt plugin is not in play here.
Are you talking about (1) the redirect following successful authentication, or (2) the redirect to auth.example.com following failed jwt token validation?

@greenpau, you are right, the backend server should be responsible for sending a redirect to the URL pointed by redirect_url query parameter.
Is it possible to change this name redirect_url to something else?

I'm closing because the root cause of the issue presented in the title of this ticket has been resolved.


Know if a build is active or not #91

@kinow in this push following methods added.
1- TestLinkResponseParams.java (added is_open)
2- Build.java (added both integers with getter & setter methods)
3- Util.java (added setIsActive() & setIsOpen() methods from testlinkresponseparams)
4- Utils.java (found issues: line number 896 and 866 "build.setName" are redundant.
Thanks & regards,
Rana Mansoor

Thanks @ranashahan !

4- Utils.java (found issues: line number 896 and 866 "build.setName" are redundant.

Good spot!
Could you confirm which version of TL you are using, please?
Merging!

@kinow thank you for merging my pull request. although i am using TestLink 1.9.7


prepare for the new release

Codecov Report

Merging #61 (f461e47) into master (b5c1197) will decrease coverage by 0.09%.
The diff coverage is 93.79%.

@@            Coverage Diff             @@
##           master      #61      +/-   ##
==========================================
- Coverage   95.91%   95.81%   -0.10%
==========================================
  Files          12       13       +1
  Lines        2030     2153     +123
==========================================
+ Hits         1947     2063     +116
- Misses         83       90       +7

Impacted Files
Coverage Δ

subaligner/embedder.py
97.34% <ø> (ø)

subaligner/hparam_tuner.py
100.00% <ø> (ø)

subaligner/network.py
95.67% <ø> (ø)

subaligner/utils.py
96.23% <75.00%> (+0.01%)
:arrow_up:

subaligner/translator.py
94.16% <94.16%> (ø)

subaligner/hyperparameters.py
96.52% <100.00%> (ø)

subaligner/logger.py
93.54% <100.00%> (ø)

subaligner/media_helper.py
94.28% <100.00%> (+0.02%)
:arrow_up:

subaligner/predictor.py
91.68% <100.00%> (+0.02%)
:arrow_up:

subaligner/singleton.py
100.00% <100.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

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


[DRAFT] Refactor Observer and LimitEnforcer cleaner for...

isolate pools

More info on internal PR #9192

Much of this is basically a revert of https://github.com/cloudflare/workerd/pull/3034 for an even cleaner implementation.
Previously ownership was shared by WorkerdApi and Worker::Isolate. Then I made WorkerdApi the owner but that has it's own limitations.
This PR separates the parts of IsolateObserver and LimitEnforcer that each of WorkerdApi and Worker::Isolate own to their own separate classes in a way that allows each of them to own it's own part.


A few more names that don't parse due to strange epithets

Turkozelotes attavirus Chatzaki, 2019 - https://wsc.nmbe.ch/species/57618
Phalium (Semicassis) vector R. T. Abbott, 1993 - https://www.marinespecies.org/aphia.php?p=taxdetails&id=1512712
Spirophora bacterium Lendenfeld, 1887 - https://www.marinespecies.org/aphia.php?p=taxdetails&id=193539

Thank you @KatjaSchulz! I am back from vacation, will look it it today


feat: add controller and registry state

Pull Request
Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Build related changes
[ ] Documentation content changes
[ ] Other: (describe here)

Proposed Change
Expose the Controller and Registry state.
Breaking Change?

[ ] Yes
[x] No

Checklist
Please validate that your PR fulfills the following requirements:

[x] I have read the CONTRIBUTING.md documentation (if available)
[x] I have branched from the default repo branch (can be master, main, or release/vX.X)
[ ] I have checked that a similar PR does not exist or has been rejected in the past
[x] PR changes are specific to a feature or bug
[x] No style/format/cosmetic changes included
[x] I have used existing style and naming patterns in my changes
[ ] Tests for the changes have been added/updated (if relevant)
[x] Built/compiled and tested locally
[ ] Docs have been added/updated (if relevant)
[ ] I have squashed my changes into a single commit

Seems to work great @gjasny
Thanks for the contribution!


No getinitialdata return null

Resolves #46

Pull Request Test Coverage Report for Build 177

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 175:
0.0%

Covered Lines:
25

Relevant Lines:
25

💛  - Coveralls


update Kakarot submodule on release

Time spent on this PR:
Resolves: #
Pull Request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] Documentation content changes
[ ] Testing

What is the new behavior?

Does this introduce a breaking change?

[ ] Yes
[ ] No

Closing in favor of https://github.com/kkrt-labs/kakarot-rpc/pull/1165


Ryan/epic2/userstory6

Ticket: https://www.notion.so/developforgood/b3a0d3450c3f4440bed354fcbbbbd455?v=99a42947c6f9479ca891d4f0ee3462e1&p=a8b09e0582104c08a4ad4026363bb1bd&pm=s

So, the test passes fine, but I'm getting an error when I try to run Create on Postman. I think this is a preexisting error though so not your fault. It seems to be trying to reuse the Partner ID "1" which is probably why it doesn't fail the test and why I missed it earlier.
You may run into issues when trying to build on the API. But having something requesting against it will make the troubleshooting faster so I'm inclined to push this through. I'll leave it up to you all if you want to press ahead.


Botania compat?

Hiya, really neat little mod <3
I was wondering if you'd be willing to add mod compat for Botania? The Ring of Odin (botania:odin_ring) and Crimson Pendant (botania:super_lava_pendant) both confer lava immunity, but the fire overlay still shows up with this mod installed. I understand if you don't want to complicate the mod any further, just thought it might be nice ^^

Why was this closed?


Bug fixes

Will push one more commit for covering the smoke for the mkfs when mounted case.

One small dilemma with this PR. It changes the system uuid (because, as I specified, it switches to using a generated system uuid).
I'm thinking I'll add a "super-secret superblock kill" command that takes care of this case. Could also implement a "replace the owner uuid in a superblock" command. Without one or the other of these options, this creates a dilemma that others may run into.
One might think "I'll just use dd to wipe the superblock" - but dd doesn't work with /dev/dax devices because they don't support read/write.