fix composer hidden while loading messages

Details

revert https://github.com/Expensify/App/pull/11853
To fix https://github.com/Expensify/App/issues/11840, add key={this.props.report.reportID} to ReportActionCompose so it re-renders whenever report changes

Fixed Issues
$ https://github.com/Expensify/App/issues/11856
PROPOSAL: https://github.com/Expensify/App/issues/11856#issuecomment-1297004819
Tests

Login with any account on web app
Open any chat
Switch between chats
Verify that composer view doesn't disappear
Refresh the page
Verify that composer view appears immediately

NOTE: On small screen devices (mobile, mWeb), it's intended behavior to freeze screen (loading skeleton without showing composer) until drawer is fully open. But after that, composer should appear along with skeleton while loading messages.

[x] Verify that no errors appear in the JS console

QA Steps

Login with any account on web app
Open any chat
Switch between chats
Verify that composer view doesn't disappear
Refresh the page
Verify that composer view appears immediately

NOTE: On small screen devices (mobile, mWeb), it's intended behavior to freeze screen (loading skeleton without showing composer) until drawer is fully open. But after that, composer should appear along with skeleton while loading messages.

[ ] Verify that no errors appear in the JS console

PR Review Checklist
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots
Web
https://user-images.githubusercontent.com/97473779/200295725-ddb1c3e4-ee3c-4d90-a6e7-285538422994.mov
Mobile Web - Chrome
https://user-images.githubusercontent.com/97473779/200295580-7de9d07a-ed0f-4d6d-bf54-76a2a9c2f3b5.mp4
Mobile Web - Safari
https://user-images.githubusercontent.com/97473779/200295626-b14b499c-41b1-4021-a71d-de3671b83bfb.mp4
Desktop
https://user-images.githubusercontent.com/97473779/200295451-f4fd940a-d78c-4c01-86ef-b577f506b957.mov
iOS
https://user-images.githubusercontent.com/97473779/200295514-cdf7f6c3-ac7c-44e5-a3df-b12a706f0a81.mp4
Android
https://user-images.githubusercontent.com/97473779/200295394-5e980cea-b1df-42c4-80fc-cdffaf4da88f.mp4

bumping @rushatgabhane @Beamanator on this. I won't be reviewing this PR.

Sorry y'all just coming back from vacay, I'll have time to review & respond tomorrow 👍

Fak 🙃 This is top priority for tomorrow, sorry for the delay y'all

So from the comments so far, it looks like the main "concern" with removing the isLoadingInitialReportActions check is that we need to make sure the ReportActionCompose we show while a report is loading is not tied to any other report (mentioned here). I've tested that the drafts created while reports are loading ARE sticking to the correct report, I think we also need to check message SENT while the report is loading (a.k.a. while the skeleton view is visible) are also sent to the correct report, is there anything else y'all are thinking could be an issue here?

There's two interesting things I see on this branch, I'm not sure if it's due to this PR or if it exists elsewhere, I'll test in staging soon: When I send a message in a report that has the skeleton view showing, I see:

The skeleton view disappears, even though the report actions are still loading. This makes it look like the message I sent is the only message in the chat, until the rest of the actions load
For some reason in this case, I see the newly sent message show bolded in the LHN, only when I send a message before the actions load

https://user-images.githubusercontent.com/3885503/203531081-98cdad68-2408-49ae-8e09-5fe50cf9618d.mov

Ok obviously ^ can't be tested the same way in staging b/c we can't send messages until the Report Action Compose shows up 😅 and in Staging / Prod it doesn't show up until the skeleton view hides. However, I did just reproduce the chat report becoming Bold by:

Changing the network to Slow 3G
Navigating to a report that I newly loaded (a.k.a. I saw the skeleton view)
Immediately after skeleton view hid, sent a message -> eventually saw that chat show bold in the LHN

So I think the only point we need to think about for this PR is: If we send a message while the skeleton view is showing, should we keep showing the skeleton view above until the rest of the actions are available? (I am thinking yes, but I'd like to see how it looks)

When I send a message in a report that has the skeleton view showing the skeleton view disappears, even though the report actions are still loading. This makes it look like the message I sent is the only message in the chat, until the rest of the actions load

This is an interesting one. I think we're actually holding a few things wrong with the Report page at the moment and need to step back and sort them out. But doesn't feel like we should address them in this PR.
For now, we just need to show some variation of the composer while the report is loading so we can close out this issue.

Posted summary of our latest test & possible options in Slack here

@rushatgabhane are you able to re-review on all platforms today? If not, please let me know and I will take care of it

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by @chiragsalian in version: 1.2.38-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


should adding spring-cloud-starter-kubernetes to pom.xml load config?

I'm looking at spring cloud kubernetes integrations and was under the impression from the docs that all I needed was to add it to my pom.xml like so:
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-kubernetes</artifactId>
            <version>1.0.0.RELEASE</version>
        </dependency>

after much frustrating debugging I discovered that what I really needed was:
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-kubernetes-config</artifactId>
            <version>1.0.0.RELEASE</version>
        </dependency>

Once I added that instead of the base kubernetes it worked as expected loading values from a configmap.
Is this expected functionality? If so we should update the docs to be more specific.

Nope, if the docs say otherwise it should be changed.

Paul, do you mind pointing to the section you were reading?

As you read through README.md at
https://github.com/spring-cloud/spring-cloud-kubernetes
The first section covers discovery where it says to include <artifactId>spring-cloud-starter-kubernetes</artifactId> in pom.xml.
The second section goes into config settings and doesn't specify any other inclusions, so my assumption was the above inclusion was enough.

Thanks, AFK so that helps others who might fix it. I think that's the way it may have been pre release and that didn't get updated along with it.

Pull request https://github.com/spring-cloud/spring-cloud-kubernetes/pull/332 adds the spring-cloud-starter-kubernetes-config dependency to the documentation.

wicked @pukkaone that would have solved me a lot of time and effort!

Merged #332 so closing this


Change repo link of Custom Knight mod

Changes the repository link of the Custom Knight mod to match the official download link.

This pr can be closed if so desired, but I'm personally of the opinion that the repository link should match that of the download link, as to reflect allow users to see the code of the latest release.


MRIQC T2w issue

Hello,
When I run mriqc on my T2w images it uses “ a very small mask” to calculate the gray matter output metrics. This is confusing and I don’t know how to troubleshoot what the issue is. When I run the mriqc on my T1w images, everything seems fine with respect to appropriate gm, wm and csf mask sizes. I’ve tried re-downing the template tpl-MNI152NLin2009cAsym_res-02_T2w.nii.gz to the pre-downloaded template flow directory, but that didn’t help. Any input or suggestions for how to troubleshoot this would be much appreciated.
Here is the script I use to run it (the templates are pre-downloaded because I was getting server errors to access it online):
‘setenv SINGULARITYENV_TEMPLATEFLOW_HOME /home/jpurcel8/templateflow; singularity run --cleanenv /home/jpurcel8/mriqc_latest.simg /home/jpurcel8/TPC_Project/bids /home/jpurcel8/TPC_Project/fmriprep/mriqc_T2 participant --participant_label tpc004 --work-dir /home/jpurcel8/TPC_Project/work_directory -m T2w’
Here is a relevant snippet of the output:
201019-20:31:29,587 nipype.utils WARNING:
Could not check for version updates:
Connection to server could not be made
The use of template_resolution is deprecated
201019-20:46:34,222 nipype.interface WARNING:
calculating summary stats of label “gm” in a very small mask (154voxels)
201019-20:49:37,380 nipype.interface WARNING:
QC metrics upload failed to create an ID for the record uplOADED. rEsponse from server follows:
Below are the extracted quality metrics. Bolded is the line indicating that there are only 154 voxels for the gray matter. Thanks for any input!!
cjv	0.7900876491376488
cnr	1.4086382460264468
efc	0.5835096737065056
fber	3816.59912109375
fwhm	avg	2.569725024225318
fwhm	x	2.517275150041291
fwhm	y	2.750124959019945
fwhm	z	2.4417749636147175
icvs	csf	0.32829180718934686
icvs	gm	0.023869454069946765
icvs	wm	0.6478387387407064
inu	med	1.368401288986206
inu	range	0.5412167429924011
qi	1	0.0
qi	2	0.014298095489892157
rpve	csf	17.28279250676652
rpve	gm<PHONE_NUMBER>6928144
rpve	wm	11.459834989273956
size	x	208
size	y	300
size	z	320
snr	csf	4.534249899640077
snr	gm	2.6146514645288814
snr	total	4.9193163290064446
snr	wm	7.609047622850376
snrd	csf<PHONE_NUMBER>8468863
snrd	gm	30.893264156190554
snrd	total	64.27092436564868
snrd	wm	49.95108555606685
spacing	x	0.7999999523162842
spacing	y	0.800000011920929
spacing	z	0.800000011920929
summary	bg	k	8.259531159385544
summary	bg	mad	13.123228844409441
summary	bg	mean	21.80670738220215
summary	bg	median	17.711868286132812
summary	bg	n	5660894.0
summary	bg	p05	0.0
summary	bg	p95	69.87830123901367
summary	bg	stdv	22.371768951416016
summary	csf	k	-0.14714267579296791
summary	csf	mad<PHONE_NUMBER>915116
summary	csf	mean	2227.152099609375
summary	csf	median	2242.872314453125
summary	csf	n	138108.0
summary	csf	p05	1449.7325439453125
summary	csf	p95	2982.620275878906
summary	csf	stdv<PHONE_NUMBER>800781
summary	gm	k	3.9503666973181444
summary	gm	mad<PHONE_NUMBER>1289184
summary	gm	mean<PHONE_NUMBER>765625
summary	gm	median<PHONE_NUMBER>5
summary	gm	n	154.0
summary	gm	p05<PHONE_NUMBER>71875
summary	gm	p95	1013.061569213867
summary	gm	stdv<PHONE_NUMBER>2929688
summary	wm	k	1.2273339682547366
summary	wm	mad<PHONE_NUMBER>0906896
summary	wm	mean	1010.4804077148438
summary	wm	median	1000.5848388671875
summary	wm	n	567415.0
summary	wm	p05<PHONE_NUMBER>816407
summary	wm	p95	1238.364807128906
summary	wm	stdv<PHONE_NUMBER>6054688
tpm	overlap	csf	0.142096608877182
tpm	overlap	gm	0.017860837280750275
tpm	overlap	wm	0.43953365087509155
wm2max

This is brain tissue segmentation failing. We probably won't fix this, although it is very likely that FSL FAST is replaced with some other tool which hopefully will perform better on this case.
Changing the template will not help, probably.

Closing for the lack of activity.


Tracking Website Visits via QR Code Scans

In order to monitor the effectiveness of QR code scans, we need to implement a system that tracks visits to our website originating from QR code scans. This issue serves as a tracking mechanism enhancement to help us gather data on user engagement resulting from QR code campaigns.
Current Situation:
Currently, we distribute QR codes through various offline channels, such as print media, posters, and physical products. However, we lack the means to accurately measure the impact of these QR code placements on our website traffic.
Proposed Solution:
We aim to implement a system that allows us to track visits originating from QR code scans. The proposed solution involves the following steps:
QR Code Generation: Generate unique QR codes for different offline campaigns. These QR codes will include tracking parameters that can help us identify the source campaign.
URL Modification: Modify the landing page URL that the QR codes point to by appending tracking parameters. For instance, adding ?source=qr_campaign_AUG_MEETUP to the URL.
Analytics Integration: Integrate our website with an analytics platform (such as Google Analytics) to capture and analyze the tracking parameters in the landing page URLs.
Data Analysis: Regularly analyze the data to determine the number of visits originating from QR code scans, the conversion rate, and other relevant metrics.
Tasks:

[ ] Research QR code generation libraries or tools compatible with our current technology stack.
[ ] Modify the website's landing page URLs to include tracking parameters.

*** Ask a website team member for help with these two 👇  ***

[ ] Integrate the website with an analytics platform (e.g., Google Analytics) to capture and analyze tracking data.
[ ] Regularly review and analyze the collected data to make informed decisions.

Will also look in google analytics and other third party tools. Will update ticket with progress


HBASE-23041 Should not show split parent regions in HBCK report's unk…

…nown server part

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

:blue_heart:
reexec
1m  5s
Docker mode activated.

_ Prechecks _

:green_heart:
dupname
0m  0s
No case conflicting files found.

:green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

:green_heart:
@author
0m  0s
The patch does not contain any @author tags.

:yellow_heart:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

:green_heart:
mvninstall
5m 51s
master passed

:green_heart:
compile
1m  0s
master passed

:green_heart:
checkstyle
1m 29s
master passed

:green_heart:
shadedjars
4m 55s
branch has no errors when building our shaded downstream artifacts.

:green_heart:
javadoc
0m 37s
master passed

:blue_heart:
spotbugs
4m 32s
Used deprecated FindBugs config; considering switching to SpotBugs.

:green_heart:
findbugs
4m 30s
master passed

_ Patch Compile Tests _

:green_heart:
mvninstall
5m 23s
the patch passed

:green_heart:
compile
0m 56s
the patch passed

:green_heart:
javac
0m 56s
the patch passed

:green_heart:
checkstyle
1m 29s
the patch passed

:green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

:green_heart:
shadedjars
4m 57s
patch has no errors when building our shaded downstream artifacts.

:green_heart:
hadoopcheck
17m 15s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.

:green_heart:
javadoc
0m 36s
the patch passed

:green_heart:
findbugs
4m 34s
the patch passed

_ Other Tests _

:broken_heart:
unit
260m 28s
hbase-server in the patch failed.

:green_heart:
asflicense
0m 36s
The patch does not generate ASF License warnings.

322m 41s

Reason
Tests

Failed junit tests
hadoop.hbase.client.TestSnapshotTemporaryDirectoryWithRegionReplicas

Subsystem
Report/Notes

Docker
Client=18.09.7 Server=18.09.7 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-634/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/634

Optional Tests
dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile

uname
Linux 96a11ffb6a5f 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-634/out/precommit/personality/provided.sh

git revision
master / cb62f73406

Default Java
1.8.0_181

unit
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-634/1/artifact/out/patch-unit-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-634/1/testReport/

Max. process+thread count
4726 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-634/1/console

versions
git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11

Powered by
Apache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.


Add README.md, LICENSE, CoC and CONTRIBUTING.md

Ref https://github.com/kubernetes/steering/issues/28#issuecomment-416826759, https://github.com/kubernetes/community/issues/1832
The content is as per https://github.com/kubernetes/kubernetes-template-project.
/assign saad-ali lpabon

/check-cla

/check-cla

... where did the cla/linuxfoundation webhook go

/check-cla

/lgtm

Nikhita Raghunath<EMAIL_ADDRESS>writes:

nikhita commented on this pull request.

@@ -0,0 +1,201 @@

                            Apache License

Come to think of it...should this use the Creative Commons license
since this looks like a docs repo?

Just beware that it is not just all docs. book/src/example contains
.yaml files which are bit more like traditional code; authors of CSI
drivers might want to copy those under the Apache License. We could of
course use a different license declaration for that directory.

@lpabon Can you approve this PR? This is the only repo without a CONTRIBUTING.md at this point, so would be nice to wrap it up. :)


???

Hello ... Is it possible to search the first 5 characters (python simple IMSI-catcher.by -m 25007**********) ???

It gives "string index out of range" error

I understood this ... I thought someone can help fix it ???

Tell me what you think of my update.

Hi!!! Thanks for the help... I'll finish the rest for myself !!!


reorder initializer list for DbnDecoder

…rder they would be initialized
Pull Request
reorder of initializer list to soothe the reorder warning, and also make it clearer for the reader.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How has this change been tested?
this has not been tested other than checking that it still builds.

Thanks for the PR. I've merged it in 58a7b946b7ac3e42ffd9bf9965eb428230f4af6e.
Not sure why my compiler didn't warn about it


No comment highlighting after opening class

class Foo {
  /* Comments DO NOT highlight here */
  constructor() {
    /* Comments DO highlight here */
  }
}

Following JSDoc es2105 classes, comment placement to describe the class instance does not highlight correctly. Seems to be happening for me with all variations of creating the class. (ie with and without export default, etc.)

My apologies. I was having conflict issues with a different plugin I thought I had removed. This highlighting is working just fine.


DNS filter rejects requests that have QUERY + ADDITIONAL

Title: DNS filter rejects requests that have QUERY + ADDITIONAL
Description:
Envoy DNS Filter should return the response even if the ADDITIONAL section is set.
Apparently many DNS clients are using edns.
For example, Ubuntu 20.04 has edns0 in /etc/resolv.conf by default.
And because of that wget and curl are adding edns0 to the ADDITIONAL section
and couldn't resolve the host with the Envoy DNS server.
Repro steps:
Send a request to Envoy DNS server using dig on Ubuntu:
> dig @<IP_ADDRESS> -p 15054 ext-srv-1.mesh +qr

; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> @<IP_ADDRESS> -p 15054 ext-srv-1.mesh +qr
; (1 server found)
;; global options: +cmd
;; Sending:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62740
;; flags: rd ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 218b6384f497972e
;; QUESTION SECTION:
;ext-srv-1.mesh.			IN	A

;; QUERY SIZE: 55

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: FORMERR, id: 62740
;; flags: qr rd ra; QUERY: 0, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; WARNING: EDNS query returned status FORMERR - retry with '+noedns'

;; Query time: 3 msec
;; SERVER: <IP_ADDRESS>#15054(<IP_ADDRESS>) (UDP)
;; WHEN: Fri Aug 12 13:30:36 UTC 2022
;; MSG SIZE  rcvd: 12

Logs:
[2022-08-11 15:38:12.687][186][debug][filter] [source/extensions/filters/udp/dns_filter/dns_parser.cc:205] One or more of Answers [0], Authority [0], and Additional [1] RRs present in the query.Inverse query is not supported
[2022-08-11 15:38:12.687][186][debug][filter] [source/extensions/filters/udp/dns_filter/dns_parser.cc:139] Unable to parse query buffer from '<IP_ADDRESS>' into a DNS object
[2022-08-11 15:38:12.687][187][debug][misc] [source/common/network/utility.cc:632] Receive a packet with 43 bytes from <IP_ADDRESS>:34511
[2022-08-11 15:38:12.687][187][debug][filter] [source/extensions/filters/udp/dns_filter/dns_parser.cc:205] One or more of Answers [0], Authority [0], and Additional [1] RRs present in the query.Inverse query is not supported
[2022-08-11 15:38:12.687][187][debug][filter] [source/extensions/filters/udp/dns_filter/dns_parser.cc:139] Unable to parse query buffer from '<IP_ADDRESS>' into a DNS object

Related PR that introduced the change: https://github.com/envoyproxy/envoy/pull/20744
Envoy version: v1.23.0

cc @botengyao

Looks like this is not a bug but an EDNS feature support for DNS filter based on RFC2671. For now DNS filter doesn't support EDNS and we disabled the malformed query with any RRs for security reason.
cc @yanavlasov @abaptiste.

Well, if it doesn't support, we could need to parse the additional RRs in a query and send back what we get.

From the RFC2671:
This document describes backward compatible mechanisms for allowing the protocol to grow.

I assume it means the old servers simply ignore EDNS. I think it's okay if Envoy will have the same behavior instead of throwing an error.

@lobkovilya Can you double check if it works now? and then we can close this issue. We can create a new issue if there is a need to add the support of EDNS. Thank you!


Contacts for real

This brings in contact changes to ensure data validity

@PFWhite, something is broke. When I go to view a project I just saved, I get an error:
Exception Value:
name 'item' is not defined
Exception Location:	/var/www/qipr/approver/approver/templatetags/tagbox.py in __get_option_dict, line 29

Also, it seems like my user gets a collaborator and advisor "version" of the project as well on the dashboard


[BUG] Livedemo isn't working

Hi there, thanks for creating a nicely Admin UI, just a small issue, the live demo isn't working now ;)

Duplicate of https://github.com/aesmail/kaffy/issues/189


cardano-testnet-test: remove (unused) ability to specify P2P flag + small improvements

Description

This PR removes the ability to specify the P2P option as it was unused.
Also this PR removes initialization of fields in cardano-testnet-test that were useless because they were initializing said fields with the same value as the default values.

Checklist

[X] Commit sequence broadly makes sense and commits have useful messages
[X] Self-reviewed the diff

Are we using P2P stack in tests? Note that the non-p2p stack will be removed at some point.

@coot> I believe we don't use P2p in cardano-testnet, because here is what we have by default in the configuration.yaml used to start nodes:
→ cat /tmp/nix-shell.3H7AVw/cli-queries-test-23d51bd100cd79ee/configuration.yaml  | grep P2P
    "EnableP2P": false,

Let me amend the PR then, to keep the flag then and honor it instead of doing nothing with it :slightly_smiling_face:

Honoring P2P will affect other work I have stacked on this one, so I'll just keep the "small improvements" bits of this PR and merge. P2P honoring will come later.

Note that non-p2p will be removed.


fix(form_field): fixed compilation warning caused by hidden_input not…

I noticed that the docs have an example for using hidden input with form_field/1
<!-- Explicit option  -->
<.hidden_input form={f} field={:your_field} />

<!-- All inclusive option  -->
<.form_field type="hidden_input" form={f} field={:your_field} />

But the @input_types module attribute for PetalComponents.Form does not include hidden_input which causes a compilation warning when trying to use form_field with hidden_input. I also added an extra function clause to form_field/1 to handle hidden input. My change prevents the wrapper elements from being generated with the hidden input. I realize this is a little opinionated, but hidden_input is unique.  It was kind of a surprise to me when I noticed the hidden input showing up in the DOM. If you don't want this change, let me know and I'll drop it from the PR.

Thanks @BobbieBarker! Yes you're right - the wrapper elements are not needed.

Out now - https://github.com/petalframework/petal_components/releases/tag/v1.0.3


Create table to show metrics for mu/alpha/...

in matplotlib, such as:

Closing issue for house cleaning


Exception when enabling timings options

When I enable the timings options I get the following exception message:
SEVERE: (NoMethodError) undefined method `start' for true:TrueClass
Exception in thread "main" org.asciidoctor.internal.AsciidoctorCoreException: org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `start' for true:TrueClass
	at org.asciidoctor.internal.JRubyAsciidoctor.renderFile(JRubyAsciidoctor.java:345)
	at org.asciidoctor.internal.JRubyAsciidoctor.renderFile(JRubyAsciidoctor.java:458)
	at org.asciidoctor.internal.JRubyAsciidoctor.convertFile(JRubyAsciidoctor.java:559)
	at org.asciidoctor.demos.AsciidoctorRunner.main(AsciidoctorRunner.java:36)
Caused by: org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `start' for true:TrueClass
	at RUBY.load(/Users/abelsromero/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/<IP_ADDRESS>/f7ddfb2bbed2f8da3f9ad0d1a5514f04b4274a5a/asciidoctorj-<IP_ADDRESS>.jar!/gems/asciidoctor-1.5.4/lib/asciidoctor.rb:1272)
	at RUBY.convert(/Users/abelsromero/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/<IP_ADDRESS>/f7ddfb2bbed2f8da3f9ad0d1a5514f04b4274a5a/asciidoctorj-<IP_ADDRESS>.jar!/gems/asciidoctor-1.5.4/lib/asciidoctor.rb:1462)
	at RUBY.convert_file(/Users/abelsromero/.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctorj/<IP_ADDRESS>/f7ddfb2bbed2f8da3f9ad0d1a5514f04b4274a5a/asciidoctorj-<IP_ADDRESS>.jar!/gems/asciidoctor-1.5.4/lib/asciidoctor.rb:1576)
	at RUBY.convertFile(<script>:68)
	at org.jruby.gen.InterfaceImpl390047945.convertFile(org/jruby/gen/InterfaceImpl390047945.gen:13)

It points here https://github.com/asciidoctor/asciidoctor/blob/v1.5.4/lib/asciidoctor.rb#L1272.
I tested with JRuby 1.7.26 and <IP_ADDRESS> without success, but I suspect the issue requires some patching in Asciidoctorj. Is that so?

timings is not a boolean option. The purpose of that option is to pass in a timings model object which can be used to capture the timings. So you'd need to pass in an object that responded to the methods in the following class:
https://github.com/asciidoctor/asciidoctor/blob/master/lib/asciidoctor/timings.rb
However, at the moment I consider that option to be part of the internal API. It is used by the CLI invoker to support the commandline switch -t.

My confusion came from this section http://asciidoctor.org/docs/user-manual/#ruby-api-options.
Seeing how easy is to use from the ruby CLI I assumed I could just enable it from Java.

I just noticed that error. You are correct, the documentation was misleading. I went ahead and fixed it. Now it should be clearer.

It's clear now, thanks.
PS: I checked the sources seeing the page does not update :/
Apologies for bothering, these days I have some time and went into doing some POCs.

Our luck, updates to GitHub Pages sites are currently disabled.


Refactors HierarchicalCachePoolTrait to use HierarchyKey

Sync up?

Yeah, I'm willing to sync it up if you guys think it's a good idea.

Gotta close this. If you want to re-open. Open it against the php-cache/cache repository


pull-request with labels that don't exist should not create the labels

Hi team,
hub pull-request -l existinglabel,nonexistentlabel

This command will assign both existinglabel and nonexistentlabel, creating the latter as part of the process.
I think I would've expected it to ignore the non existent label rather than creating it.
Perhaps there could be a configuration setting to disable this behaviour? I can see that it might be useful to some people that it does create the label.

I made a docs PR at #1907 to clarify the current behaviour, at least

How would you feel about that? An argument to not create if not exists might be ok too, and I could add it to my bash shortcuts


SyntaxError: Unexpected token export

SyntaxError: Unexpected token: keyword (default) [./~/_find-with-regex@1.1.2@find-with-regex/build/index.js:17,0]

@wxxian001 I think this issue was resolved in version 1.1.3. But there is still similar issue, but related to import now

@kurenov what issue?

@wxxian001 try 1.1.3 :+1:

@juliankrispel thx


Throw a understandable error when someone tries to load a .TiTs file.

Since this comes up a lot, the program should throw a reasonable message when this is attempted. That way we get less bug reports about the same issue. This should have been the real bug that needed fixing from the start, short of adding support for .TiTs files.

I added a file extension check, as well as a file content check.
I have tested the file content check with the "Save to File"s that my own machine makes, but haven't yet had the time to verify for others.
It blocks .tits files masquerading as .sol files, but also blocks .sol files renamed to .tits files (not sure why someone would do that though.)


Read Class Issue

While playing around I tried reading a DB into a class.  The DB only had 2 boolean values.  This caused the size measurement of the class to return 0 and it threw an exception for index being out of range.
I added this before numBytes is converted to int:
if (numBytes - Math.Round(numBytes) != 0)               numBytes = Math.Ceiling(numBytes);
Is that an appropriate fix for a DB containing only boolean that is less or more than a byte?
`///
    /// Gets the size of the struct in bytes.
    /// </summary>

    /// <param name="classType">the type of the class</param>
    /// <returns>the number of bytes</returns>
    public static int GetClassSize(Type classType)
    {
        double numBytes = 0.0;

        var properties = classType.GetProperties();
        foreach (var property in properties)
        {
            switch (property.PropertyType.Name)
            {
                case "Boolean":
                    numBytes += 0.125;
                    break;
                case "Byte":
                    numBytes = Math.Ceiling(numBytes);
                    numBytes++;
                    break;
                case "Int16":
                case "UInt16":
                    numBytes = Math.Ceiling(numBytes);
                    if ((numBytes / 2 - Math.Floor(numBytes / 2.0)) > 0)
                        numBytes++;
                    numBytes += 2;
                    break;
                case "Int32":
                case "UInt32":
                    numBytes = Math.Ceiling(numBytes);
                    if ((numBytes / 2 - Math.Floor(numBytes / 2.0)) > 0)
                        numBytes++;
                    numBytes += 4;
                    break;
                case "Float":
                case "Double":
                    numBytes = Math.Ceiling(numBytes);
                    if ((numBytes / 2 - Math.Floor(numBytes / 2.0)) > 0)
                        numBytes++;
                    numBytes += 4;
                    break;
                default:
                    numBytes += GetClassSize(property.PropertyType);
                    break;
            }
        }

        if (numBytes - Math.Round(numBytes) != 0)
          numBytes = Math.Ceiling(numBytes);

        return (int)numBytes;
    }`

This isn't a bug, it is intended to let it crash in these cases. We need to improve the documentation on this case.
Siemens DB don't visualize the full byte when you use a boolean, so you better declare 8 bools in your class, rather than modify the sources.
While your code works on your case, it will not work with a DB like this:
DB0.DBX0.0
DB0.DBX0.1
DB1.DBX1.0
DB1.DBX1.1
Instead, declaring a class with 16 bools will work.

fixed https://github.com/killnine/s7netplus/pull/117


Pipeline submission fails with 'kfp_server_api.exceptions.ApiTypeError: Got an unexpected keyword argument 'description' to method upload_pipeline_version'

Describe the issue
A clear and concise description of what the issue is.
To Reproduce
Steps to reproduce the behavior:

Create a KFP RTC
Create a notebook
Create a pipeline
Add notebook to pipeline
Try to run pipeline (using VPE or CLI)
See error

[E 2021-08-31 09:50:19.093 ServerApp] Uncaught exception POST /elyra/pipeline/schedule?1630396214589 (::1)
    HTTPServerRequest(protocol='http', host='localhost:8888', method='POST', uri='/elyra/pipeline/schedule?1630396214589', version='HTTP/1.1', remote_ip='::1')
    Traceback (most recent call last):
      File "/opt/anaconda3/envs/upstream/lib/python3.7/site-packages/tornado/web.py", line 1704, in _execute
        result = await result
      File "/opt/anaconda3/envs/upstream/lib/python3.7/site-packages/elyra/pipeline/handlers.py", line 119, in post
        response = await PipelineProcessorManager.instance().process(pipeline)
      File "/opt/anaconda3/envs/upstream/lib/python3.7/site-packages/elyra/pipeline/processor.py", line 121, in process
        res = await asyncio.get_event_loop().run_in_executor(None, processor.process, pipeline)
      File "/opt/anaconda3/envs/upstream/lib/python3.7/concurrent/futures/thread.py", line 57, in run
        result = self.fn(*self.args, **self.kwargs)
      File "/opt/anaconda3/envs/upstream/lib/python3.7/site-packages/elyra/pipeline/processor_kfp.py", line 230, in process
        pipeline_id=pipeline_id)
      File "/opt/anaconda3/envs/upstream/lib/python3.7/site-packages/kfp/_client.py", line 1143, in upload_pipeline_version
        description=description,
      File "/opt/anaconda3/envs/upstream/lib/python3.7/site-packages/kfp_server_api/api/pipeline_upload_service_api.py", line 209, in upload_pipeline_version
        return self.upload_pipeline_version_with_http_info(uploadfile, **kwargs)  # noqa: E501
      File "/opt/anaconda3/envs/upstream/lib/python3.7/site-packages/kfp_server_api/api/pipeline_upload_service_api.py", line 265, in upload_pipeline_version_with_http_info
        " to method upload_pipeline_version" % key
    kfp_server_api.exceptions.ApiTypeError: Got an unexpected keyword argument 'description' to method upload_pipeline_version

Expected behavior
A clear and concise description of what you expected to happen.
Deployment information
Describe what you've deployed and how:

Elyra version: 3.0.1/master

$ pip list | grep kfp
kfp                               1.7.2
kfp-pipeline-spec                 0.1.9
kfp-server-api                    1.7.0

Surfaces in kfp==1.7.2. Need to downgrade to 1.7.1 until https://github.com/kubeflow/pipelines/pull/6468 is available in a published released.


Do we still need the Debian CA Certificates workaround in Dockerfile?

See: https://github.com/GoogleCloudPlatform/openjdk-runtime/blob/master/openjdk8/src/main/docker/Dockerfile#L35
# workaround for https://bugs.debian.org/775775
RUN /var/lib/dpkg/info/ca-certificates-java.postinst configure

Remove it, try it without that line.
If the file /etc/ssl/certs/java/cacerts doesn't exist, then we still have the bug and need that.

Just tried and it's there. So, I guess we don't need this line anymore.


All combos with 60fps so far locked at 30fps

Sorry I'm sure I'm missing something and not sure where else to reach out. I've been successfully using a 60fps mod outside of your mod paks, but every version of 60fps you have provided, including the 1.4.4 update with

is just locked at 30fps for me. I have vsync off, and I know I can get 60 fps. Any clues as to why these just don't work vs others?
I am on zelda update 1.1.0 btw.

5 instances of missing @stop values from 60 fps memory values being patched.
Thanks for pointing this out!
I have pushed a new version, available for download now:
https://github.com/HolographicWings/TOTK-Mods-collection/releases/tag/v.1.4.4
Please test and report back.

5 instances of missing of @Stop from 60 fps memory values being patched. Thanks for pointing this out! I have pushed a new version, available for download now: v.1.4.4 (release)
Please test and report back.

For some reason this causes totk to crash on launch

Same for me. Every 60fps mod in this repo causes crash on launch for me.

I just diffed your combo vs the 60fps file I know works (I don't remember where I got it...)

Just add an empty line under the @stop, it fixes the crash

I found several missing @enabled too, i fixed that, i'm definitely against combo mods.

@Uranite it works! Thanks
@HolographicWings I disagree tbh, the stuff included in this bundle is basically good for anyone playing TotK. I really like it just needs to work lol

@Uranite it works! Thanks
@HolographicWings I disagree tbh, the stuff included in this bundle is basically good for anyone playing TotK. I really like it just needs to work lol

it's exhausting to read their work to correct everything.
And we have to apply the new updates to every combo.
I'll don't remove them anyway.

Just add an empty line under the @stop, it fixes the crash

Thanks for pointing this out
fixed 👍

Sorry I'm sure I'm missing something and not sure where else to reach out. I've been successfully using a 60fps mod outside of your mod paks, but every version of 60fps you have provided, including the 1.4.4 update with  is just locked at 30fps for me. I have vsync off, and I know I can get 60 fps. Any clues as to why these just don't work vs others?
I am on zelda update 1.1.0 btw.

everything is fixed


Having no buttons in layout throws Expected lua table exception

If the layout has no buttons in it, alpha.nvim will throw the following exception:
.
Steps to reproduce

Make sure layout has no buttons in it. (It doesn't need to be completely empty. It just needs to have no buttons.)-- example layout
require("alpha").setup {
    layout = {},
}

Start alpha.nvim, either by starting a new instance of Neovim or calling :Alpha
Observe that an exception is thrown.

do you have a use case for a theme with no buttons??? willing to support it but i'm just curious. the only reason i left this unimplemented is because i wasn't sure where to place the cursor in the event there's nothing for the user to interact with, and maybe the check wastes cpu cycles most of the time

My use case is a theme that actually does have buttons, but they're all buttons for recently-used files and recently-used sessions. On a fresh install of Neovim, there are no files or sessions in the history, so there are no buttons to show.

ok, buttonless layouts supported at 09e5374465810d71c33e9b097214adcdebeee49a
it's a relatively small change and there was no negative impact on startup time


Could not to Upload any Future

I would update a Signature Controller with this pub,
But it's not accepting Future , that must be a String , i think only the Asset files.
Can u explain any way to upload an Future Data to my Hosting ?
I can only export to ,
Svg , Raw , PngByte,
https://pub.dev/packages/signature
Thx for ur Solution.
Regards

i will add the possibility to upload <Uint8List> in the next versions.
for now , the best solution for you is to convert your Uint8List to a File (File.fromRawPath(Uint8List uint8List)) and upload it .


BottomNavigationBarItem label text ellipsis

Steps to Reproduce

Execute flutter run on the code sample

Expected results:
Show all text when BottomNavigationBarItem had enough space.
Actual results:
The end of the text is an ellipsis, even after resizing the font.

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final defaultThemeData = Theme.of(context);

    return MaterialApp(
      theme: defaultThemeData.copyWith(
          bottomNavigationBarTheme:
              defaultThemeData.bottomNavigationBarTheme.copyWith(
        selectedItemColor: Colors.black,
        unselectedItemColor: Colors.black,
        /// Resize unselected text size
        unselectedLabelStyle:
            const TextStyle(fontSize: 8),
      )),
      home: const HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: const Placeholder(),
      bottomNavigationBar: BottomNavigationBar(
          showSelectedLabels: true,
          showUnselectedLabels: true,
          items: const [
            BottomNavigationBarItem(icon: Icon(Icons.add), label: '1234567890'),
            BottomNavigationBarItem(icon: Icon(Icons.add), label: '1234567890'),
            BottomNavigationBarItem(icon: Icon(Icons.add), label: '1234567890'),
            BottomNavigationBarItem(icon: Icon(Icons.add), label: '1234567890'),
            BottomNavigationBarItem(icon: Icon(Icons.add), label: '1234567890'),
          ]),
    );
  }
}

Logs
Analyzing untitled1...
No issues found! (ran in 1.4s)

[✓] Flutter (Channel stable, 3.3.9, on macOS 12.6 21G115 darwin-arm, locale zh-Hant-TW)
    • Flutter version 3.3.9 on channel stable at /Library/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (3 weeks ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/chien/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_SDK_ROOT = /Users/chien/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (5 available)
    • ASUS Z01RD (mobile)                 • J9AZB760H2767RP                      • android-arm64  • Android 10 (API 29)
    • sdk gphone64 arm64 (mobile)         • emulator-5554                        • android-arm64  • Android 13 (API 33) (emulator)
    • iPhone SE (3rd generation) (mobile) • 742AEFEB-C9EE-4935-A1A0-6342750975F9 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-1 (simulator)
    • macOS (desktop)                     • macos                                • darwin-arm64   • macOS 12.6 21G115 darwin-arm
    • Chrome (web)                        • chrome                               • web-javascript • Google Chrome 108.0.5359.98

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

It didn't work as expected on the Pixel 6 Pro & iPhone SE3.

Screenshot

Pixel 6 Pro
iPhone SE3

@huycozy
You didn't open the issue as promised,
so I opened a new issue and got the answer.
😢

@a1573595 Sorry for late reply. I saw there is an answer there at https://github.com/flutter/flutter/issues/117118#issuecomment-1352709033 which is a better explanation than mine. And this still isn't an issue.


Why the number of vertices is increased?

When running the ".\uvatlastool.exe -wf average.obj", the number of vertices in the resulting file is increased. How can I keep it the exact same?

If you are getting additional vertices it's coming from the Clean needed to break bow-ties. If the model contains non-convex surfaces, it can get stuck in an infinite loop.

But another thing is that in the new .obj file even the coordinates of previous vertices are changed! And there is no way to figure out the mapping!
Let's say in the original file there are 1000 vertices and in the file created by uvatlastool there are 1050, is there any way to map between the original 1000 and their corresponding vertices in the new file?

That information is definetly prsent

That would be great!
Could you direct me to the file and function that provides the remapping?

Added in this commit https://github.com/microsoft/UVAtlas/commit/4a16541b500b136694d96296ae0b01500eb0ac3f a new -m option that writes out a text file of the form:
newIndex,oldIndex

That tells you for each index in the output mesh, what vertex in the original mesh did it come from.


Please add a license file

I'd like to add this to awesome-zsh-plugins, but it doesn't have a license file.
Please add a license file - if you don't have one in mind,  I recommend using choosealicense.com to help choose an appropriate one.
Thanks!

Hi Joe, I have added a license. Thank you and have fun! :)


fix(gulp-tasks): Use red directly instead of color.red

colors is just an instance of chalk. Using chalk directly fixes the build.
This PR possibly may be unnecessary with #8030. If so, feel free to close.

Thanks for the PR.
I updated my PR to completely remove gulp-util. We only use the log method once and console.log works fine as a replacement.
Closing this PR in favor of #8030


Added encoder for HL7 messages (pipehat format)

Added hl7.Encoder type and hl7.Marshal() function to convert HL7 objects to byte slices.  The Encoder is constructed with a slice of hl7.Segment structs, one of which must be a valid message header (MSH)
segment.  The delimiter characters are parsed from the MSH segment and used to encode all of the
segments into a []byte.

Could you change the API to be like:
func NewEncoder(w io.Writer) *Encoder
func (e *Encoder) Encode(segments []Segment) (error)

So it more closely matches how the stdlib does it and how hl7 decoding works.

No problem!  Let me know if you see any other issues with this PR.

Thanks for this!


Apply Policy Only to Specific Containers in a Pod

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem?
Currently, we can apply a policy to a specific set of pods using the podSelector block.
We want to apply a policy only to certain container(s) inside a pod/pods.
In our use case, we have a main and a sidecar container inside a pod. We want to block write requests to files under a particular directory in the main container - let's say /home/user.
The problem is that the sidecar container may write to files in the same path as the main container and we want to allow it.
We tried to understand if we can differentiate containers based on binaries that perform write requests or PIDs. Unfortunately, either container can use the same binary and we couldn't understand how to differentiate containers based on the PID.
Please let us know if we are missing something.
Describe the feature you would like
It would be great to be able to apply a policy only to specific containers inside a pod/pods.
As I can see, the information about the container is already present in JSON events.
Describe your proposed solution
First of all, I want to say that I'm not familiar with the source code well enough to propose exact solutions, but I was thinking about the following 2 approaches:

Add a separate containerSelector block. It can be used independently to apply the policy to all containers in the cluster with specified names, as well as with podSelector limiting containers to a specific pod/pods.

spec:
  containerSelector:
    operator: In
    values:
    - main
    - secondary
  # If podSelector is present, the policy applies only to containers specified above in this pod
  podSelector:
    matchLabels:
      app: "my-awesome-app"

If the approach above is not optimal or not feasible, maybe it's possible to add a matchContainers selector (similar to matchBinaries, etc.)?

- matchContainers:
  - operator: "In"
    values:
    - "main"
    - "secondary"

Please let me know if none of the proposed solutions make sense and thank you in advance! :smiley:
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for the detailed request. I think the first proposition would make sense as the mechanism to filter things by namespace/labels could be adapted to containers in pods.
I'll let @kkourt take a look at this as he implemented the namespace/label filtering.

Thanks! I think that's a reasonable feature to have.
Not sure what the proper interface for the policy would be. Would need to think a bit more about it.
In terms of implementation, it's certainly something doable. We already track containers for pod-label filters so we would just need to do an additional filtering stage.
See:
https://github.com/cilium/tetragon/blob/908f4db1545b37f8d1ad9781a7b407a23830ea04/pkg/policyfilter/state.go#L765
And
https://github.com/cilium/tetragon/blob/908f4db1545b37f8d1ad9781a7b407a23830ea04/pkg/policyfilter/state.go#L565
For some examples.

Hello everyone!
We want to try to implement this feature request and we would like to discuss a couple of points first :slightly_smiling_face:
@sadath-12 I see you assigned this feature to yourself; I want to ensure we will not interrupt your work. Please let me know if you are already working on it and plan to finish it; otherwise, hopefully, you won't mind us taking it:)
Next, I would like to understand an optimal way of implementing this feature. @kkourt wasn't sure about the proposed interface from the issue description; therefore, I think it's worth agreeing on some solution before implementing it.
However, if we stick to the proposed solution with containerSelector, I was thinking about the following steps:

In policy, add containerSelector, the value will be passed when updating policy filter.
I believe we will need to implement/reuse some functions to do name matching just like with labels.
Actual Filtering: Currently, when creating a policy, we check if the pod matches the policy filter, then, we go through every container and this is where we could add one more containerMatches check and if it's true, we add the container to the list; otherwise, we skip it. If I understand it correctly, the policy is applied by using the cgroup of a container and this approach should work. However, please let me know if I misunderstood it.
Also, we will need to handle policy refreshes. addPodContainers refreshes the policy map and adds new containers. We would need to add the same container filtering logic before adding new container IDs here.

What do you think, does this plan look feasible? Let me know if we are missing something obvious or if you have any other ideas:)

Hello everyone! We want to try to implement this feature request and we would like to discuss a couple of points first 🙂
@sadath-12 I see you assigned this feature to yourself; I want to ensure we will not interrupt your work. Please let me know if you are already working on it and plan to finish it; otherwise, hopefully, you won't mind us taking it:)
Next, I would like to understand an optimal way of implementing this feature. @kkourt wasn't sure about the proposed interface from the issue description; therefore, I think it's worth agreeing on some solution before implementing it.
However, if we stick to the proposed solution with containerSelector, I was thinking about the following steps:
* In [policy](https://github.com/cilium/tetragon/blob/a9c509f1f7c738bbeb1565f83eb9da70941a22ba/pkg/policyfilter/state.go#L191), add `containerSelector`, the value will be passed when [updating policy filter](https://github.com/cilium/tetragon/blob/a9c509f1f7c738bbeb1565f83eb9da70941a22ba/pkg/sensors/handler.go#L61).

* I believe we will need to implement/reuse some functions to do name matching just like with [labels](https://github.com/cilium/tetragon/blob/main/pkg/labels/labels.go).

* **Actual Filtering**: Currently, when creating a policy, we check if the [pod matches](https://github.com/cilium/tetragon/blob/a9c509f1f7c738bbeb1565f83eb9da70941a22ba/pkg/policyfilter/state.go#L221) the policy filter, then, we go through every container and this is where we could add one more `containerMatches` check and if it's true, we [add the container to the list](https://github.com/cilium/tetragon/blob/a9c509f1f7c738bbeb1565f83eb9da70941a22ba/pkg/policyfilter/state.go#L417); otherwise, we skip it. If I understand it correctly, the policy is applied by using the cgroup of a container and this approach should work. However, please let me know if I misunderstood it.

* Also, we will need to handle policy refreshes. [addPodContainers](https://github.com/cilium/tetragon/blob/a9c509f1f7c738bbeb1565f83eb9da70941a22ba/pkg/policyfilter/state.go#L477) refreshes the policy map and adds new containers. We would need to add the same container filtering logic before adding new container IDs [here](https://github.com/cilium/tetragon/blob/a9c509f1f7c738bbeb1565f83eb9da70941a22ba/pkg/policyfilter/state.go#L544).

What do you think, does this plan look feasible? Let me know if we are missing something obvious or if you have any other ideas:)

Thanks!
Everything makes sense to me and plan seems great :)

One thing that I would maybe like to discuss is the syntax for the container selector. The main use-case right now is to select based on the name. It would be nice if whatever syntax we come up with does not preclude selecting based on other properties of the container object.
How about adding a type in the selector and make it a list?
  containerSelector:
   - type: name
    operator: In
    values:
    - main
    - secondary

One thing that I would maybe like to discuss is the syntax for the container selector. The main use-case right now is to select based on the name. It would be nice if whatever syntax we come up with does not preclude selecting based on other properties of the container object.
How about adding a type in the selector and make it a list?
  containerSelector:
   - type: nameSelector # just an example :)
     operator: In
     values:
     - main
     - secondary

I agree, this sounds great and it adds a lot of flexibility! I was thinking about a very similar thing, but instead of type use key, and it would be the field in the container spec that we filter by, e.g. name, image, etc.
Also, it would be compatible with the matchExpressions schema so it would be easier for people to read it.
Therefore, maybe it would look like this:
containerSelector:
  matchExpressions:
    - key: name
      operator: In
      values:
        - main
        - secondary

The benefit I see in this structure is that it will be compatible with the code for label filtering:)
Just wanted to say that my Go developer skills are suboptimal (for now:) ); therefore, I'm learning things along the way. At the moment, I'm trying to follow Mahé's suggestion and create an early implementation.

Hello everyone!:)
I created this PR https://github.com/cilium/tetragon/pull/2231 to implement this feature request.
I will be glad to hear any feedback/comments.


Temporarily revert #111

This should fix the docker images until https://github.com/ocaml/opam/issues/4682 is fixed.

Pushed to live


FakeNameGenerator service broken : need file FakeNameGenerator.com_3000.csv

Hello @omri374 , i'm trying to use your notebook 1_Generate_data.ipynb but the FakeNameGenerator bulk order seems to be broken (and no option to reach support of this free service, maybe it's not running anymore)
So could you attach the file FakeNameGenerator.com_3000.csv in the repo somewhere ? Thanks in advance

.... I think I found it by just searching in the repo :p https://github.com/microsoft/presidio-research/blob/641d6cdad62828cf91eea6ae0699203888c69e3c/tests/data/FakeNameGenerator.com_100.csv (but maybe it could be placed in the main branch then)

ok I found it in the repo :p https://github.com/microsoft/presidio-research/blob/641d6cdad62828cf91eea6ae0699203888c69e3c/presidio_evaluator/data_generator/raw_data/FakeNameGenerator.com_3000.csv


Need to add folder for "trees"

I wanted to add some code for Tree data structure, but as no folder for tree exists I want to make one!!
So if you don't mind I would like to create it!!

Yes, you could created


Task Completion

Update your tasks @pratibha77118 @LinxuanHu

@tirthbha I do have pulled the merge request. Please have a look at it.


Parsing filter output in realtime

Hi.
I have the need to capture and parse the output from filters in realtime as the file is processed. The reason is that I am looking to get ffmpeg to identify if there is black screen and silence at the start of a video file (which can then be trimmed off). Therefore I would like to get the filter output in realtime, parse it, and as soon as a frame which has sound or picture appears, kill the ffmpeg process. There's no need for it to continue processing the rest of the file (which can be very time-consuming).
At present there is no way to do this as far as I can see.
I would like to produce a PR to add support for this, and wanted to discuss what you think is the best way to implement. I can see a couple approaches:

Make the start event provide the child process instance, so then its stderr output can be interacted with directly by user code
Create an event stderr which is emitted every time a line of data is written to stderr
More high level, parsing stderr output and emitting a filter event for every line of filter output

Personally I think it could be good to do both (1) and (2) regardless of whether (3) is implemented too.
Doing either (2) or (3) would require a bit of tweaking to the code which currently handles stderr to break stderr output into lines. The data event sometimes fires with multiple lines of stderr output, so it's possible to lose information, if you only look at the last line of output each time. The easiest way to split the stream into lines is to use the split module, but you may prefer not to add dependencies?
For (2), there's also the question of whether stderr lines which are already emitted by codecData and progress events should be excluded from what is emitted by stderr event. One approach could be:

If a listener for codecData is attached, do not emit stderr event for lines relating to codecData
If a listener for progress is attached, do not emit stderr event for lines relating to progress
If listeners are not attached for one of codecData or progess, the stderr lines that would have been swallowed by that event are instead emitted by stderr event

Or:

All stderr output is emitted by stderr event regardless of whether codecData and progress event listeners are attached or not.

What do you think? And would you accept a PR?

Hi,
First of all, of course I'm open to PRs of any kind.

is unnecessary IMO as you already have a ffmpegProc property on the command object as soon as the process is started (undocumented, though).

is a good idea ; my opinion would be not using dependencies (splitting a text stream into lines can be done in 4 lines of code) and always emitting stderr events even if the line is something we already use for something else. The user can decide whether she wants the line or not.

is also a good idea but seems very specific to me : if we implement that, we should also look for other output "categories" to implement, too ; or we could just add an additional parameter to the 'stderr' event to pass that category along with the data line. And we must take additional care that the way we determine message categories is valid with older ffmpeg versions and will stay that way.


Staging next

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Tracking regressions for pythonRecompileBytecodeHook in https://github.com/NixOS/nixpkgs/issues/90516. Might have to revert.

Tracking regressions for pythonRecompileBytecodeHook in #90516. Might have to revert.

If a lot of the pain is around python2, then I say we don't revert. Python2 is being phased out, and I think having deterministic builds for python is an admirable thing.

I looking forward to see this merged soon. Many things are broken in master.

Pretty sure many other things will be broken once this lands ;)

However tail dependencies are easier to fix since. Currently I have to rebuild firefox...

Yeah, I also heard some reports about boto3 and botocore being broken in master. Looking forward to see this merged aswell.

Half the packages are still building but there aren't any significant regressions I could see except for the expected Python 2 breakage.


Movie covers gone !!!

I am using the latest release of streama , however i also tested in the previous release and happens too .
Without a reason many movie covers disappeared from streama database

Could this be database corruption ?
Only the covers where gone .

No, unfortunately this has to do with tmdb changing their image paths. I gotta probably implement a fix that after startup  asks the admin if he wants to fix all images... This will probably load a while depending on the size of the media library.
Another user on discord suggested that we can maybe from now on save the images in Streama instead of loading them on demand from tmdb... I might be able to combine all of that

Probably the best option would be saving the covers to local hard disk and adding them to the db like the media files , this way will save future changes in image paths from themoviedb .
Do you think you can create a patch for this without spending too much of your time ?
I say this because in a month we probably will not have any covers in the streaming app except those we added manually .

I am looking into it right now

ok , thank you

+1 on referencing movie covers locally. It'd be awesome if we had the option in Streama not to have to load any external dependencies. It looks like only Google font and covers are pulled externally in v1.8.1.

check the new release pls: https://github.com/streamaserver/streama/releases/tag/v1.9.0
hope it works

I downloaded the new release and ran the script, but unfortunately it did not (fully) work. From the logs, here are a few things I saw:

For some movies/shows I would sometimes get the random error:
ERROR grails.app.services.streama.TheMovieDbService - Failed to fetch image data, null
At one point in the middle of updating the images, I got a much bigger error:

ERROR StackTrace - Full Stack Trace:
org.springframework.orm.hibernate5.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
        at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:283)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.convertHibernateAccessException(GrailsHibernateTemplate.java:704)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:290)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:230)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:116)
        at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi.performSave(AbstractHibernateGormInstanceApi.groovy:241)
        at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi.save(AbstractHibernateGormInstanceApi.groovy:158)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper.save(GormEntity.groovy:151)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper$save$1.call(Unknown Source)
        at streama.Movie.save(Movie.groovy)
        at streama.Movie.save(Movie.groovy)
        at org.grails.datastore.gorm.GormEntity$save.call(Unknown Source)
        at streama.TheMovieDbService.$tt__refreshData(TheMovieDbService.groovy:310)
        at streama.TheMovieDbService$_refreshData_closure17.doCall(TheMovieDbService.groovy)
        at sun.reflect.GeneratedMethodAccessor716.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024)
        at groovy.lang.Closure.call(Closure.java:414)
        at groovy.lang.Closure.call(Closure.java:430)
        at grails.transaction.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:96)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
        at grails.transaction.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:93)
        at streama.TheMovieDbService.refreshData(TheMovieDbService.groovy)
        at streama.TheMovieDbService$refreshData$5.call(Unknown Source)
        at streama.TheMovieDbController$_checkAndFixImageIntegrity_closure9.doCall(TheMovieDbController.groovy:200)
        at sun.reflect.GeneratedMethodAccessor765.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024)
        at groovy.lang.Closure.call(Closure.java:414)
        at groovy.lang.Closure.call(Closure.java:430)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2030)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2015)
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2056)
        at org.codehaus.groovy.runtime.dgm$162.invoke(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at streama.TheMovieDbController.checkAndFixImageIntegrity(TheMovieDbController.groovy:193)
        at org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:222)
        at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:187)
        at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:105)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.groovy:53)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:158)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.groovy:62)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.groovy:58)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:106)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:677)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
        at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:67)
        at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:54)
        at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:46)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3117)
        at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2996)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3376)
        at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:145)
        at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:582)
        at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:456)
        at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:337)
        at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
        at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1295)
        at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi.flushSession(AbstractHibernateGormInstanceApi.groovy:279)
        at sun.reflect.GeneratedMethodAccessor714.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024)
        at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:923)
        at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:906)
        at org.codehaus.groovy.runtime.InvokerHelper.invokeMethodSafe(InvokerHelper.java:74)
        at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi$_performSave_closure3.doCall(AbstractHibernateGormInstanceApi.groovy:244)
        at sun.reflect.GeneratedMethodAccessor685.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024)
        at groovy.lang.Closure.call(Closure.java:414)
        at org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:54)
        at org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:124)
        at com.sun.proxy.$Proxy109.doInHibernate(Unknown Source)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:286)
        ... 127 common frames omitted

I got this one twice. It kept running after, but then got to the end and didn't stop itself (and the skipped + fixed was more than the total).
I waited a bit before trying to refresh the page, saw that a lot of images were still missing, and then ran it again. This time it ran all the way through but skipped everything (none were fixed).
Let me know if there's anything I can do to help with this problem, if there's any more info I can provide or whatever.

It worked flawlessly for me (600+ movies and 30+ shows).
The first time i ran it, it finished but the GUI hasn't noticed, i had to check the logs.

Worked almost perfect. Some covers were not updated, but updating them manually, wasn't too much of a hazzle.
Thank you very much for this update.

I'm afraid it didn't work out quite so well for me. It fixed a few of the covers, but the vast majority is still missing. Running it for a second time doesn't do anything at all - it just skips everything.

ok, seems like the problem is that some images return the status code 200 (OK) but dont return an image. like this one
https://image.tmdb.org/t/p/w300/e9bs1IXQGCNxCSfco3NSGo7cSs9.jpg
good job, tmdb...
i will have to check the response body, if binary data comes back i can assume its an image, if not, its broken and i need to fix it. Basically, tmdb returns a false positive right now, which is why my script skips them

gonna try it

I am releasing 1.9.1 with another try.

https://github.com/streamaserver/streama/releases/tag/v1.9.1

Yeah, that did the trick for me. Thanks!

Working perfect , however it takes now more time to load the movie covers , believe that is because covers are between 100-500Kb of size .
Taking out that little delay everything is working fine .
Thank you for all your time on this issue .

Some note :
Streama stays at 100% CPU for a very long time just just when i refresh the webpage and i am not playing any movie .

I connect to aah to my server and when i load the webpage of streama after a few seconds i get my ssh disconnected dur to high CPU usage , never happened before on previous versions .
I am still doing an investigation to the large cpu usage from streama , ill post here some info as soon as i get into some conclusion.

Worked for me 99% (only one movie cover was missing, so very easy to manually fix), thanks a lot for your help and the quick turnaround.

hm.. maybe this has something to do with the fact that its loading the images via streama now instead of tmdb. If you want, you can try to remove the reference to the streama-images, they are mostly meant as a backup anyway..
If you want to do that, try running these SQLs:
update video set poster_image_id = null, backdrop_image_id = null where api_id is not null;
update tv_show set poster_image_id = null, backdrop_image_id = null where api_id is not null;

I think the issue is related to buffering the big images thru the webserver to the client , because the images are big .

A good solution would be grabing the png from tmdb and saving them as jpg to be more smaller .
We are storing high quality images for posters in streama .
My question now is :
If i convert all these images png to jpg with same file name will streama recognize them and load the ?

i think if you simply rename them, it wont change the filesize..
Also, I think it wont work anymore then, either..
What we really need is a proper size-based request for these images, tmdb does this with /w300/ etc for a width of 300px . I think thats pretty smart, I might implement that. That way the images arent loaded as raw.

what i thought was to convert them to jpg with same filename and delete the png files ?
Can that work ?
This is just posters of the movies so dont need to be a raw image .
My server is fiber 200Mbit , however streama have its own web server and is not attached to my nginx or apache webservers . That could also be the reason , not sure .

I mean when streama funnels all those MB through the server it needs a ton of RAM, because for a brief moment all of that data is actually in the server RAM. then comes the smart GarbageCollector and tries to vacuum up any unused RAM to free it up. However, if no RAM can be freed up the GarbageCollector sort of spins out of control and keeps working without success, which drives up the CPU like crazy.
Welcome to java :D

So we only have 3 options here: lower the file-size on request, resize all the images with a linux script if you got one handy, or increase the ram settings of streama..

so , i need to have the same file extension .
i launch streama automatically on server start without ram size specified but you think if i launch streama like :
java -Xmx1g streama-xxx.jar   (could solve the issue ?

1g is likely not enough.. I'd shoot for somewhere between 2g and 4g, but i guess you could fiddle around with those settings..
but yea, you need the same extension i believe, because it appends that from the database extension string

ok , so maybe it would be nice to streama automatically have an option to resize the pictures on request in admin menu , the reason is simple , one of these days everyone must have a lot of hardware to run a simple streaming service running .
I say this because my server is just for mail and streama , and it have 4G of ram , it is a gigabyte bace 3000  https://www.gigabyte.com/Mini-PcBarebone/GB-BACE-3000-rev-10#ov
I build this server for private use of course , if i had ideas to make it public the i would think something bigger , however also this model was bought thinking in power low consumption .
In mean while i will resize all images here to fix temporary this issue .

why not just remove the connection to those uploads using the sql above? that would quickfix it

but that will remove the posters right ?!! (the sql instructions) ?

nope, it will just remove the reference to the uploaded file.
My Script from the 1.9.1 fix fixed the poster_path and backdrop_path to tmdb, and additionally uploaded the files to streama. Streama then has a functionality (from years ago) that an uploaded image in streama trumps the tmdb-image.
I mean,  make a backup to be sure, but it should work just fine and use the backdrop_path and poster_path from tmdb again.

ok , do you have any idea in mind of a tool to open this database in linux ?
My server runs linux and this database is not connected to postgresql or mysql database engines .
Basically i am a little stuck in that process because i opened stramadb in windows sometime ago , but never on linux .
If you could give me an hint it would be fine . (case it does not take much of your time) .

havent done it using raw linux shell, but maybe this would help: http://opensource-soa.blogspot.com/2009/03/how-to-use-h2-shell.html
Alternatively, you can use the built-in interface in streama: https://github.com/streamaserver/streama/wiki/Managing-h2-using-dbconsole

ok , thank you .
I will try to do it tomorrow .
I will let you know how it went .
Thanks a lot .

for an unknow reason i am unable to open the database using h2 tool

i copied the db from linux to windows and installed the h2 tool to open the db in windows because the linux installer of the app is not ok , have some issue with path environment of java executables .
However i could not get it to work .
You told me that i am able to activated the builtin dbconsole from streama by changing some config , since i downloaded the jar file then i dont see where should i edit the config file .

@peterpt I had this issue, I think you need to use an older version of the h2 tool. I use 1.4.199.

Forget it , i found the solution for what Antonia told me .
I never tought if we have a file in same directory as stream jar with application.yml that stream will give priority .
After i created that file i got access to the db .
I made the changes she told me , and now i am currently testing .

Everything is working perfect now .

Is there a guide on how to update safely a non-docker version?

i backup the db. Then Just start the new jar. That's it.