Change <a> elements to underline on hover

Fomantic brings a opinionated style that removed underline on hovered links which I think is important UX to have.
This re-enables the underline in the Fomantic config and fixes a few cases where underline was deemed disruptive.

I have a feeling that these helpers becomes more and more misleading.
dif = display: inline-block
fc = flex-direction: column  // fdc ?
js = justify-content: flex-start  // jcfs ?
tl = text-align: left  // tal ?
tdn = text-decoration: none

Don't think they are so bad, we can always refactor later but longer class names means more bytes to be transferred :)

Clarity is always the top priority for big projects in my mind, one or two bytes affect nothing.
Maybe we should refactor the CSS system as soon as possible (or now), just like the JS refactoring (still in progress). Otherwise the CSS files would become a second huge index.js.

Any more feedback about the actual change here?

Clarity

Isn't the owner name a clickable link from your screenshot?

If nobody against it, I think move it to v1.16 .

My concern is that we introduced too many unnecessary/confusing !important and too many confusing names.

Helper classes will always need !important to be able to outweight multi-class rules of which fomantic-ui has many of. There is no way around this, CSS does not provide any alternatives.

I hope this is the last !important and confusing name for general purpose.

Nope, CSS is too inflexible to avoid !important and as long as we are not in complete control of all our CSS (e.g. not using any 3rd-party CSS), we will need it.
What's so confusing about the classnames? They are abbreviations what they do and while their general naming could be extended, I opted to transfer less HTML bytes for performance. I think they are easy to remember, and if not, a quick lookup in helper.css gives clarity.

For reference, CSS does have the cascade but as you see, it's one big horrible design, giving author CSS zero flexibilty and !important always wins. I've been long criticizing it but this stuff won't change any more for compat reasons.

In most cases, we just do wrong. For example:

https://github.com/go-gitea/gitea/pull/17866#issuecomment-983404274

There are more examples I can not remember. The sure thing I know is that we didn't use Fomantic-UI correctly, didn't have unified frontend naming system and polluted CSS system heavily, then it leads too many new strange problems.

And we are all victims. Since the text-align was set in https://github.com/go-gitea/gitea/blob/9296baf65a73ccdda329b45770d22390ead7905f/web_src/less/_base.less#L1199
Then new problem comes:

https://github.com/go-gitea/gitea/blob/9296baf65a73ccdda329b45770d22390ead7905f/web_src/js/features/repo-issue-content.js#L26
https://github.com/go-gitea/gitea/pull/15532#issuecomment-933603588

Then some developers may want to bypass it by !important.

Agree to removing fomantic classes wherever possible. Most stuff can be done solely with helpers.
Yes, text should use default alignment (left or right depending on language). Centered multi-line text is hard to read. We should fix that eventually and just use the helpers (long or short names).


notes: add openstack-image-manager validate command

Signed-off-by: Christian Berendt<EMAIL_ADDRESS>

Included in 9bbd25fe84b0a90e73ebe4d1411b25cea12577e6.


Monthly Comms for Dec 2024 - Content creation

Problem statement
Monthly update content creation
What you need to know

Guidance for content/timeline provided in #15851
Working space: Content doc

Acceptance criteria

[ ] Content created in accordance with guidance found in #15851
[ ] Content reviewed by Product Manager and Account Manager
[ ] Consult with Chris -- can we make some of the Action Items dynamic based on if they are a sender or receiver? Would help reduce the length of the email make make it more targeted.

@jillian-hammer On the content for next monthly update, is there anything we can do to draw attention for folks to ensure they update their contact information for ReportStream to ensure it is<EMAIL_ADDRESS>Purpose: This week we had an email from Delaware get sent directly to a former team member asking for support, which caused a delay in us responding to the support ticket because the former team member (luckily) forwarded it to ReportStream.
Any ideas/content that could help mitigate such in issue in the future would be worth adding in my opinion.

content draft ready for review here. I found a way to incorporate the request to update their contact info, lmk what you think @chris-kuryak @GlennRGrieves!

Blocked by SendGrid.

This will stay in the Blocked column until SendGrid account is stood up.


Search allows access to disabled libraries

Preflight Checklist

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the bug
When only certain libraries are loaded or enabled, the search still searches all libraries, even ones that the user cannot get to from the "More Shapes..." window.
To Reproduce
Steps to reproduce the behavior:

Create a configuration that enables only certain libraries or custom libraries or try this one that disables everything
Try searching for shapes
Shapes and stencils still appear from unavailable libraries. Right-clicking shapes also allow for adding those libraries

Expected behavior
The search should only return shapes that the user has access to.
draw.io version (In the Help->About menu of the draw.io editor):

draw.io version 4.4.2

Desktop (please complete the following information):

OS: Linux
Browser Firefox
Version 85.0 x64

Thanks for the report. This will be fixed in the next release.


Requesting Feature: Add DoubleTapDetails params in GestureDoubleTapCallback like GestureTapDownCallback

for now, if a Gesture was detected as a DoubleTap, the previous TapDown event will not trigger onTapDown. I think it is reasonable.
BUT here is the problem: I want to add a icon and play animations on the double-tap point of the screen but GestureDoubleTapCallback doesn't provide any tap information and I also can not retrieve the TapDown point  since onTapDown is not fired.

Looks a bit like #20000


Parse .gitignore As Git Does

Describe the bug
.gitignore files are parsed in a manner inconsistent with their specification.
To Reproduce
Steps to reproduce the behavior:

Setup a yarn 2 project using Plug'n'Play.
Create a .gitignore file as recommended by yarn, optionally replacing the .yarn/* with .yarn/**.
Set the "gitignore" and "blame" options to true in .jscpd.json.
Install some unplugged dependencies using yarn.
PnPify some SDKs using yarn pnpify --sdks.
Commit your work to git.
Run jscpd on the current working directory.
The .yarn/sdks/ and .yarn/unplugged/ directories are searched for duplicates despite being gitignored, resulting in a "fatal: no such path" crash from git blame since these directories are not tracked.

Expected behavior
I expected the files and directories within the .yarn/ directory that were not listed in .gitignore with a leading ! to be excluded.
Desktop (please complete the following information):

OS: Ubuntu
OS Version 21.04
NodeJS Version 16.2.0
jscpd version 3.3.26

Additional context
I have not fully investigated the issue, but I observed that gitignore-to-glob filters hidden files and directories out of the gitignore file, so I recommend simply running git-check-ignore and only supporting this feature when Git is installed. Alternatively, this issue may be resolved by switching to<EMAIL_ADDRESS>Workaround
Add "./.yarn/**" to the "ignore" array in .jscpd.json.

I have problem that .gitignore is not consumed irrespective whether I have --gitignore command switcher or put "gitignore": true to the .jscpd.json
Workaround is the only what is works

@borys-pc33, I am not able to reproduce your issue. I recommend posting your .jscpd.json on Stack Overflow and asking about it there.

{
"threshold": 7,
"reporters": ["html", "console", "badge"],
"ignore": ["/node_modules/", "/bin/", "/obj/", ".git"],
"absolute": false,
"gitignore": true,
"output": "jscpd-report",
"minLines": 5,
"minTokens": 40,
"mode": "mild",
"formatsExts": {
"css": ["css"],
"liquid": ["liquid"],
"markdown": ["md"],
"yaml": ["yaml", "yml"],
"json": ["json"],
"csharp": ["cs"]
}
}
I think I can make a clone of the repo without irrelevant information

Yeah, that would be helpful, in particular so your .gitignore can be seen. I don't see any issue with your .jscpd.json off hand. I don't think our issues are related.

.gitignore stems from the standard gitignore generated for .Net projects:
I will prepare the public repo a little bit later.
`## Ignore Visual Studio temporary files, build results, and
files generated by popular Visual Studio add-ons.

Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
Mono auto generated files
mono_crash.*
Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
Visual Studio 2015/2017 cache/options directory
.vs/
Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
Visual Studio 2017 auto generated files
Generated\ Files/
MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
 Comment the next line if you want to
checkin your Azure Web App publish settings, but sensitive information contained
in these scripts will be unencrypted
PublishScripts/
NuGet Packages
*.nupkg
NuGet Symbol Packages
*.snupkg
The packages folder can be ignored because of Package Restore
*/[Pp]ackages/
except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
Microsoft Azure Build Output
csx/
*.build.csdef
Microsoft Azure Emulator
ecf/
rcf/
Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
Visual Studio cache files
files ending in .cache can be ignored
*.[Cc]ache
but keep track of directories ending in .cache
!?*.[Cc]ache/
Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
Including strong name files can present a security risk
(https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
Since there are multiple workflows, uncomment next line to ignore bower_components
(https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
RIA/Silverlight projects
Generated_Code/
Backup & report files from converting an old project file
to a newer Visual Studio version. Backup files are not needed,
because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
SQL Server files
*.mdf
*.ldf
*.ndf
Business Intelligence projects
*.rdl.data
*.bim.layout
.bim_.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
Microsoft Fakes
FakesAssemblies/
GhostDoc plugin setting file
*.GhostDoc.xml
Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
Visual Studio 6 build log
*.plg
Visual Studio 6 workspace options file
*.opt
Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
Visual Studio LightSwitch build output
**/.HTMLClient/GeneratedArtifacts
**/.DesktopClient/GeneratedArtifacts
**/.DesktopClient/ModelManifest.xml
**/.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
Paket dependency manager
.paket/paket.exe
paket-files/
FAKE - F# Make
.fake/
CodeRush personal settings
.cr/personal
Python Tools for Visual Studio (PTVS)
pycache/
*.pyc
Cake - Uncomment if you are using it
tools/**
!tools/packages.config
Tabs Studio
*.tss
Telerik's JustMock configuration file
*.jmconfig
BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
OpenCover UI analysis results
OpenCover/
Azure Stream Analytics local run output
ASALocalRun/
MSBuild Binary and Structured Log
*.binlog
NVidia Nsight GPU debugger configuration file
*.nvuser
MFractors (Xamarin productivity tool) working folder
.mfractor/
Local History for Visual Studio
.localhistory/
BeatPulse healthcheck temp database
healthchecksdb
Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
Ionide (cross platform F# VS Code tools) working folder
.ionide/
Fody - auto-generated XML schema
FodyWeavers.xsd

Visual studio for Mac

globs
Makefile.in
*.userprefs
*.usertasks
config.make
config.status
aclocal.m4
install-sh
autom4te.cache/
*.tar.gz
tarballs/
test-results/
Mac bundle stuff
*.dmg
*.app
content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore
General
.DS_Store
.AppleDouble
.LSOverride
Icon must end with two \r
Icon
Thumbnails
._*
Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore
Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
Dump file
*.stackdump
Folder config file
[Dd]esktop.ini
Recycle Bin used on file shares
$RECYCLE.BIN/
Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
Windows shortcuts
*.lnk
JetBrains Rider
.idea/
*.sln.iml

Visual Studio Code

.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
Atriplex.Website/wwwroot/is-cache/
Atriplex.Website/Localization/
/atpx-qa
*.bak
.orig
Atriplex..xml
/bin/
/obj/
jscpd-report`

Hello,
Sorry, was a little bit busy. Here is public repo with https://github.com/borysl/jscpd-test minimal necessary settings which lead to failure.
The previous commit https://github.com/borysl/jscpd-test/commit/f024de168bca11f1e51b1d0de4faf7b50132eef3 will work

Apologies, @borysl; somehow I completely missed your message. Your configuration issue was quite tricky. Here is a patch: borysl/jscpd-test#1. If we all agree that gitignore-to-glob fails silently with Windows line endings, I can file a bug upstream.

It looks like the issue is somewhat related to hidden paths.
Given the following .gitignore:
/.cache/
/cache/

We have a difference of behavior we can quickly figure out simply by storing the npm cache on the root project directory:
# Produce no duplicate report from the `cache` directory
g clean -fdx && npm_config_cache=cache npx<EMAIL_ADDRESS>--gitignore .
# Produce duplicate report from the `.cache` directory
g clean -fdx && npm_config_cache=.cache npx<EMAIL_ADDRESS>--gitignore .

Looking at the related source code, we may assume it come from the pattern custom transformation or a bug with the used gitignore-to-glob package.
In case of second option, we may replace it by a more maintained one named ignore.

As mentioned in the original issue, the root cause is that gitignore-to-glob deliberately filters hidden files and directories out of the .gitignore. Using the ignore package instead seems like a great solution.

jscpd seems to not understand that .gitignore lines can be prefixed with a /, either.
For example, if I have /foo in my .gitignore, I still see dupes in the foo directory. However, if i remove the leading slash, jscpd ignores correctly.


⚠ Secret Website 3 has degraded performance

In fe619cf, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 3012 ms

Resolved: Secret Website 3 performance has improved in b6c776a.


Context menu actions fire twice on Firefox

Based on the PR created by kumavis, I am opening this issue to investigate what is going on and why removing onClick may have helped.

If anyone has recreation steps for this, it would be appreciated to post them. At the moment I am not sure how to make this happen in Firefox as it's not happening for me on v111 running in Windows 10.

I am unable to recreate this. I will open a bug for the fact Safari can trigger the menu on open via mouseUp, but for the onClick triggering twice, I never saw it have a visual effect of any kind and it was never clarified how it would look/behave so I will close this.


Regexp for database selection (feature request)

It would be extremely useful if I could select multiple databases in one query, this way having multiple databases will not affect the power of the InfluxDB and it would be possible to control access rights.

You want to be able to select multiple databases in a query? Why do you have so many databases that it makes sense to use a regex?

1- I want to see if I can use this for fine-grained user control, admin will be able to query them all but individual users will query their own.
2- I thought (you know better) this might help scaling, among users, instead of adding them all in one timeseries and using user_id as a tag I could give each a separate database. Lets say for 5000 users this will make 5000 databases instead of a long time series.

I think it's going to be better to have user_Id as a tag. Otherwise I would recommend having some sort of middle layer that adds some sort of authorization on top. Having even a hundred databases would probably not be a very good idea.


First entry is being skipped

Hi there,
I was trying out multipart on a form with a single file field, but I was not being able to get the result back.
I've created an example project to reproduce the issue. On this project, there is 3 file fields that I submit on the request, but the first is getting skipped.
https://github.com/bltavares/multipart-skipping-field-bug-report
I was trying to pinpoint why it was happening, and the closer I got was that we were reaching this line.
https://github.com/cybergeek94/multipart/blob/master/src/server/mod.rs#L166
I'm not so sure why it is getting there, but I would be open to help with the fix if you could give me some guidance.
Cheers (:

@bltavares I believe I have fixed this now. Could you please update your Cargo.toml to use multipart="0.4.1-alpha" and let me know if it works as expected?

Actually just make that multipart="0.4.1", there's a bug with prerelease version parsing in Cargo.

@cybergeek94 thank you, It has been fixed on 0.4.1.
Cheers!

Good to hear! Thanks for the report.


fix: changelog: fix link to first change

addresses bug described at: https://github.com/MarcoIeni/release-plz/issues/431
If this is the first release (we only have the current tag) the formats the changelog as:
[0.0.1](https://github.com/olivierlacan/keep-a-changelog/releases/tag/v0.0.1)

Instead of
[0.0.1](https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.1...v0.0.1)

WIP:

Still missing unittests

This looks good. Can I merge it, or is it still in draft?

You can, sorry I forgot to move to ready :)


Stochastic/Non-deterministic prediction for scANVI

Is your feature request related to a problem? Please describe.
I am trying to run a procedure called self projection with a scANVI model. The procedure entails taking a trained scANVI model and repeatedly generating predictions on the dataset used to train it, hence the name 'self projection.' Because scANVI employs a probabilistic framework and not a deterministic one, I would think that each time scANVI generates predictions on some dataset (i.e. scANVI.predict()), the predictions would be slightly different each time. However, when I repeatedly use scANVI.predict(), it generates the same predictions each time.
Describe the solution you'd like
I looked through the documentation for scANVI, but I do not see any option/parameter for .predict() function that allows this feature. I tried changing the seed but no change. Having such an option would be extremely helpful! Please let me know if there is a current work-around.
Thank you.

So predict is using this function internally:
https://github.com/scverse/scvi-tools/blob/b33b42a04403842591c04e414c8bb4099eaf7006/scvi/module/_scanvae.py#L190
which uses the mean of q(z|x) to classify. We can definitely add an option to use the sample of z instead of the mean.

That would be a very helpful option. Thank you for the clarification!


[SPARK-10790][YARN] Fix initial executor number not set issue and consolidate the codes

This bug is introduced in SPARK-9092, targetExecutorNumber should use minExecutors if initialExecutors is not set. Using 0 instead will meet the problem as mentioned in SPARK-10790.
Also consolidate and simplify some similar code snippets to keep the consistent semantics.

Merged build triggered.

Merged build started.

Test build #42987 has started for   PR 8910 at commit c912a2a.

Test build #42987 has finished for   PR 8910 at commit c912a2a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42987/
Test PASSed.

Thanks @srowen for your review, I've updated the codes according to your comments.

Merged build triggered.

Merged build started.

Test build #43027 has started for   PR 8910 at commit e6547fb.

LGTM pending a couple of minor changes.

Merged build triggered.

Merged build started.

Test build #43030 has started for   PR 8910 at commit d53d5c8.

Test build #43027 has finished for   PR 8910 at commit e6547fb.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/43027/
Test FAILed.

Merged build finished. Test FAILed.

Test build #43030 has finished for   PR 8910 at commit d53d5c8.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/43030/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Merged build triggered.

Merged build started.

Test build #43032 has started for   PR 8910 at commit d53d5c8.

Test build #43032 has finished for   PR 8910 at commit d53d5c8.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/43032/
Test FAILed.

Merged build triggered.

Merged build started.

Test build #43033 has started for   PR 8910 at commit 0e54fb1.

Test build #43033 has finished for   PR 8910 at commit 0e54fb1.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/43033/
Test FAILed.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #43042 has started for   PR 8910 at commit 0e54fb1.

Test build #43042 has finished for   PR 8910 at commit 0e54fb1.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/43042/
Test FAILed.

Looks like some other patches introduce this mima failures.

Test build #1818 has started for   PR 8910 at commit 0e54fb1.

Test build #1818 has finished for   PR 8910 at commit 0e54fb1.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #43056 has started for   PR 8910 at commit 0e54fb1.

Test build #43056 has finished for   PR 8910 at commit 0e54fb1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/43056/
Test PASSed.

LGTM, merging to master and branch-1.5.


Misspelling in org.spongepowered.api.scoreboard.critieria packages

The correct spelling is criteria, not critieria.

...how on earth has no one else noticed this yet?

@kashike That's what I thought.

Another breaking change :P

That sounds like something I would type

Fixed by https://github.com/SpongePowered/SpongeAPI/commit/bcff2263e8dedeff5af2e2fe6b21c104c4cd4156


Fix connect option page doesn't show after close and reopen the bank account page

Details

The connect option page isn't shown because the sub step data isn't cleared, so reopening the page will show the sub step.
Fixed Issues

$ https://github.com/Expensify/App/issues/33047
$ https://github.com/Expensify/App/issues/33670
PROPOSAL: https://github.com/Expensify/App/issues/33047#issuecomment-1855636784
Tests

Same as QA Steps

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

Offline tests

Same as QA Steps
QA Steps

Go to Settings> Workspace> Bank Account
Select connect manually
For Android/iOS, close and reopen the app, for web/desktop, change the URL manually to go to another page, for example, /settings
Go to Settings> Workspace> Bank Account again
Verify connect option (manual/plaid) page is shown
Select connect with plaid
Repeat step 3-5
Select connect with plaid again
Verify the plaid works

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

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 the expected offline behavior in the Offline steps 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 tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

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

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[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 is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[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(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[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] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/50919443/ff1291fd-05ec-4d7f-bc3f-4def70fd1c96

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/163137f5-2d93-41c1-934f-b70c806a8992
https://github.com/Expensify/App/assets/50919443/35b30851-2dd2-45d0-a066-8e1dd851ecbd

iOS: Native

https://github.com/Expensify/App/assets/50919443/913819b5-bc63-4515-bcd1-087ea3899996

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/96dbc7f9-98c9-4807-a322-dc2eb13c74ab
https://github.com/Expensify/App/assets/50919443/cbe64133-e694-4cf9-b859-335e59ff4fdb

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/1bb83360-4349-45b8-a17d-bdae97537fa2
https://github.com/Expensify/App/assets/50919443/1e569805-1907-4255-b098-2faae57a1580

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/f1b90ad7-17d2-402f-bee2-73337d012d0b
https://github.com/Expensify/App/assets/50919443/ab47f5bb-6288-4e9d-b5e1-22eb2759e66e

@shubham1206agra done

I can reproduce it. It happens when we press the Connect online with Plaid before OpenReimbursementAccountPage API completes. OpenReimbursementAccountPage will overwrite the substep with an empty string.
It's possible to select Connect online with Plaid before OpenReimbursementAccountPage API completes because isLoading here is false because plaidCurrentEvent still exists.
https://github.com/Expensify/App/blob/fd8ef990c108ed939cd6a1fd49027beb11e0570b/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx#L372
The fix is by clearing the event when mounted
@shubham1206agra

🚀 Deployed to staging by https://github.com/marcochavezf in version: 1.4.67-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.4.67-7 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.4.67-7 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


New Resolver interface for gadgets to call back the GadgetTracerManager

New Resolver interface for gadgets to call back the GadgetTracerManager
Before this patch, the process gadgettracermanager started two main independent components:

GadgetTracerManager, the gRPC server
TraceReconciler, a Controller Manager for the Trace custom resource

The TraceReconciler calls methods on TraceFactory and Trace interfaces.  But sometimes, a Trace needs to do a lookup on the GadgetTracerManager to match a mntns and a container.
This patch passes a GadgetTracerManager reference to the Trace.Operation() method, so it can do lookups. The reference is not passed directly but via a Resolver interface, so it limits the API exposed to gadgets.
How to use
The seccomp PR #208 will use this.
Testing done
make test

TODO

[x] Based on #211
[x] Based on #213

Updated. PTAL.

Updated.


Keep tags when downloading images?

You can try this #900
The author apparently encountered problems with it natively in app if you look at this issue #258 #467
It only really works on JPEGs so it doesn't look like its a priority

Windows XP stored all metadata for files using a feature in NTFS called alternate data streams, this feature is still present, and will be in the successor file system ReFS. However, every Windows since Vista and later has limited this feature to a few select file formats. I get around this by using FileMeta, which expands the alternate data stream feature to all files again, or all the ones I care about anyway as I've only tested jpg/png/gif/swf/webm. It also allows you to import metadata into files, which is what I use in conjunction with grabber to tag everything I download. The downside to this method of storing metadata is the metadata is erased if it's transferred to a non-NTFS drive as the alternate data streams, which are seperate of the file itself, don't come along for the ride. Though you can get around this by storing the files in a WIM archive with the store alternate data streams checked in 7-Zip.

As an alternative you could use hydrus for all-purpose tag tracking.


Memory Leak

Hi,
I've tried using this library to clone and analysis some git repositories. I've tried using both Filesystem and Memory repositories. And with both I appear to have memory leaks. I took two profiles while using the memory repositories two minutes apart. (See below) With an increase in memory of over 1GB while the repositories were less than 100MB. I've tried turning the repositories to nil (including everything the repository was passed to) and running garbage collection manually. This hasn't really helped. I've had a look through your code quickly and I've not seen anything. Do you guys think this is an issue on my side or your side?

Memory or filesystem uses plumbing.MemoryObject a representation in memory of the object, since usually you don't need all the objects at the same time, this is not a problem, the GC collects the old ones and free your memory. In your case, looks like your are keeping references to all your objects (or al least big ones), so ends having repository in Memory. Maybe this is the case?

@mcuadros Thanks for your reply. I hacked together (seriously hacked and slashed it) a semi reproduction of what my application does to try and reproduce it.  So using symfony/symfony as an example of a large repository with an 87MB git repository it causes go to use ~1GB of RAM. Which I think seems a bit excessive.
Example code : https://github.com/icambridge/go-git-example
output : https://gist.github.com/icambridge/f0b27c74223bf67869b453d21b779c5c

I've been working on solving the memory issue. Turns out it was my issue, I was reusing the same SQL prepared statements, changed it so I just created new ones constantly and my leak is solved.

I've been working on solving the memory issue. Turns out it was my issue, I was reusing the same SQL prepared statements, changed it so I just created new ones constantly and my leak is solved.


add domain to signature

Motivation
Closes #3967
Changes

add domain in signer and key extractor
move key extraction out of types package to break circular deps btwn signing and types
remove some (un-mocked) signer interface so that we can use this trick https://github.com/spacemeshos/go-spacemesh/pull/4096#issuecomment-1458269265
(unrelated) use eligibility type for beacon vrf msg

note: this is an alternative impl of https://github.com/spacemeshos/go-spacemesh/pull/4096

bors try

bors try

bors try

bors merge

bors try

bors merge


Updated readme

@HancilSequeira let's also add what the function returns, store it in some variable and lay down the attributes of that variable
Example:
$card = $api->card->fetch($cardId);
Now also add how this $card return variable looks like, you can have this object defined somewhere and then reference to not repeatedly define $card object

@chirag-patel-rp do I need to add response for all the API or is it ok if I had only one response for any API

@HancilSequeira yes for all API responses, you can create a common object and then link that in the document to avoid repetitiveness.
For example, create a document of entity.md and there list all entity objects (like: order, payment, transfer) and then start referring those in the API response


potential naming clash

https://github.com/divnix/devos/blob/2961c1ea529a98296be9c0f07a08431665bb8654/lib/devos/mkProfileAttrs.nix#L30
this attribute could be called profile instead, since this naming scheme precludes people naming their sub profile default — which people might actually want to do.
Is my analysis correct, here?

I think I'm completely confused :confused:

since this naming scheme precludes people naming their sub profile default — which people might actually want to do.

I realized that this restriction only applies for sub profiles, a top level profile still can be named default, as I understand things.
naming a sub level profile default alongside a default.nix is probably not going to happen:
core/
core/default.nix
core/default/default.nix

... improbable.


Distinct operator doesn't work as expected

<EMAIL_ADDRESS>* Code to reproduce:*
'use strict'
const Observable = Rx.Observable;

Observable.of({id: 1, value: 42},
                            {id: 2, value: 24},
                            {id: 3, value: 42},
                            {id: 4, value: 24})
    .distinct(x => x.value)
    .subscribe(x => console.log(x),
                         err => log(err),
                         () => 'complete')

Expected behavior:
Object {
  id: 1,
  value: 42
}
Object {
  id: 2,
  value: 24
}

Actual behavior:
Object {
  id: 1,
  value: 42
}

Additional information:
You can find examples of the code:
RxJS 4.1 Distinct Operator
RxJS @5.0.0-beta.11 Distinct Operator

It's because of RxJS 5 splits behavior of distinct to reduce polymorphic behavior by introducing distinct and distinctKey, latter allows to accept key selector as below signature
distinctKey<T>(key: string, compare?: (x: T, y: T) => boolean, flushes?: Observable<any>)
so in above code snippet, if you change it into distinctKey such as
Observable.of({id: 1, value: 42},
                            {id: 2, value: 24},
                            {id: 3, value: 42},
                            {id: 4, value: 24})
    .distinctKey('value')
....

then it'll work as key selector with distinct in RxJS 4.
Please give it a try and feel freely reopen if this doesn't solve issue. Meanwhile you can look discussions in https://github.com/ReactiveX/rxjs/pull/1180. (noticed migration document doesn't reflect it yet)

@kwonoj , thank you very much. Indeed changing code to
    .distinctKey('value')

solved the issue.
Thank you again.

Since this has been removed what is the solution?


[TwitterBridge] Fix username matching to be case insensitive with noretweet option

Makes username comparisons case insensitive with strtolower.  This fixes the problem where all tweets are considered as a retweet if the input username is not cased the same as the actual username.
For example: aoc instead of the actual username AOC with no retweets turned on will return empty results.

gj @drklee3 !

For example: aoc instead of the actual username AOC with no retweets turned on will return empty results.

This is reproducible if we turn on DEBUG mode, where caching is turned off in most cases. In my case I opened with aoc - it gave empty feed. Then I switched to AOC - it also gave empty feed. Turned on debug mode on my laptop, and it reproduced it there.

gj @drklee3 !

For example: aoc instead of the actual username AOC with no retweets turned on will return empty results.

This is reproducible if we turn on DEBUG mode, where caching is turned off in most cases. In my case I opened with aoc - it gave empty feed. Then I switched to AOC - it also gave empty feed. Turned on debug mode on my laptop, and it reproduced it there.


Add TheFatRat - Windfall x Close To The Sun Mashup by TheFatRat

Song Name
TheFatRat - Windfall x Close To The Sun Mashup
Artist Name
TheFatRat
Source
Youtube
Youtube Link
https://youtu.be/-QK6lnbNsOA?si=HsSCBqxvuBffj_U4
Direct File Link
No response
Song ID
621135
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 4957691

accept

im using that


fix: never switch to same monitor

Describe your PR, what does it fix/add?
https://github.com/hyprwm/Hyprland/issues/6641

gonna wait for op of the issue to confirm

can confirm that this fixes https://github.com/hyprwm/Hyprland/issues/6641


Add better launch window controls (currently max-zoom on open)

Check for existing issues

[X] Completed

Describe the feature
Add better launch window controls on open. Currently, when a new Zed window is open, the window maxes out in Zoom. Allow for a smaller initial/default window opening without maxing out to the full available Desktop space.
If applicable, add mockups / screenshots to help present your vision of the feature
Instead of full desktop fill, the window shall carry a smaller size. For example, say screen being 1024x768, currently window open to the same size. Would be more user friendly if window was for example 150x300px (pick better size for eye pleasure)

Agree with OP. Zed appears to remember user-selected window sizes for existing projects on re-opening, but seems to default to full screen width if opening a new window or if opening a file with Zed in Finder (I have it set as the default app for .txt files). It's not an ideal default for wide monitors.
Maybe have the default screen size configurable in user settings?
{
    "default_screen_width": 1280,
    "default_screen_height": 1080
}

An upvote for this. Heck, I’d even take a percentage (of available screen size). Where I run into problems is that my bottom-right corner of the screen is used for Apple Quick Notes feature and Zed opening in full-screen prevents me from easily resizing my Zed windows.

A clear upvote for this. This really freaks me out. Having to fight each time with the new windows that obscures important stuff in other windows.
Percentage is greate idea!


Working with components in Typescript

Hi Chris,
In our webapp we are trying to use Ractive with typescript.
In these years we have have created Components with custom methods for example:
const MyComponent = Ractive.extend({
  customFunction() { … },
  customFunction2() { … },
})

At the moment these approach do not work with typescript because:

properties not declared in ExtendOpts are not allowed
customFunction do not know that his this may include customFunction2
Ractive.extend() definition accepts only one parameter

In order to fix the issue I edited the declaration file Ractive#extend function in the following way:
static extend<U>(...opts: (ExtendOpts<Ractive & U> & U)[]): Static<Ractive & U>;

which can be improved with something like
static extend<U>(...opts: (ExtendOpts<Ractive & Omit<U, keyof ExtendOpts>> & U)[]): Static<Ractive & Omit<U, keyof ExtendOpts>>;

so the typescript code to generate the component will be something like:
type RactiveWithMethods<T> = Ractive & T;

interface FirstExtensionDef {
  firstExtensionFeat?(this: RactiveWithMethods<FirstExtensionDef>): void
}

const FirstExtension: FirstExtensionDef = {
  firstExtensionFeat() {
    this.set('foo', 'bar');
  },
};

interface SecondExtensionDef {
  secondExtensionFeat?(this: RactiveWithMethods<SecondExtensionDef>): void
}

const SecondExtension: SecondExtensionDef = {
  secondExtensionFeat() {
    this.set('foo', 'bar');

    this.secondExtensionFeat();
  },
};

const RactiveSuperExtended = Ractive.extend<FirstExtensionDef & SecondExtensionDef>(FirstExtension, SecondExtension, {
  onrender() {
    this.firstExtensionFeat();
    this.secondExtensionFeat();
  },
});

By doing this we have come to a proposal: what if ractive ExtendOpts had an additional property called methods,
similar to Vue, which is a map of string -> function where the functions are added to the ractive instance during construction phase?
In that case the U generic in extend declaration will become the type which defines additional functions of the ractive component.
So the definition will become something like:
// Allow definition of this inside helpers
export type Helper<T = Ractive> = (this: T, ...args: any[]) => any;
// ...
// Add methods in ExtendOpts
  methods?: Registry<Helper<T>>;
// ...
static extend<U>(...opts: (ExtendOpts<Ractive & U>)[]): Static<Ractive & U>;

and the code that generate components:
type FirstExtensionDef = {
  firstExtensionFeat?(this: RactiveWithMethods<FirstExtensionDef>): void
}

const FirstExtension: ExtendOpts<RactiveWithMethods<FirstExtensionDef>> = {
  methods: {
    firstExtensionFeat() {
      this.set('foo', 'bar');
    },
  },
};

type SecondExtensionDef = {
  secondExtensionFeat?(this: RactiveWithMethods<SecondExtensionDef>): void
}

const SecondExtension: ExtendOpts<RactiveWithMethods<FirstExtensionDef>> = {
  methods: {
    secondExtensionFeat() {
      this.set('foo', 'bar');

      this.secondExtensionFeat();
    },
  },
};

const RactiveMultipleExtend = Ractive.extend<FirstExtensionDef & SecondExtensionDef>(FirstExtension, SecondExtension, {
  onrender() {
    this.firstExtensionFeat();
    this.secondExtensionFeat();
  },
});

const ractiveMultipleExtend = new RactiveMultipleExtend();
ractiveMultipleExtend.firstExtensionFeat();
ractiveMultipleExtend.secondExtensionFeat();

What solution do you prefer?
Additional issue: lifecycle callbacks are not defined inside definition file.

I ran across this a few days ago while I was testing something. I haven't really noticed it before because with ts I use classes for my components e.g.
class MyWhatever extends Ractive {
  constructor(opts?: InitOpts) { super(opts); } // only requirement

  firstExtensionFeat() { /* ... */ }
}

Ractive.extendWith(MyWhatever, { /* extend opts */ });

class MySpecialWhatever extends MyWhatever {
  constructor(opts?: InitOpts) { super(opts); }

  secondExtensionFeat() {
    this.set('foo', 'bar');
    this.firstExtensionFeat();
  }
}

MyWhatever.extendWith(MySpecialWhatever, { /* layered extend opts */ });

With classes you get the added benefit of allowing properties to wrap get and set with type safe accessors.
I think it would make sense to stop copying anything that isn't an init option out of the init options for the prototype. My typescript voodoo is a bit limited, but I think it would be nice to take it a step further and allow a prototype object to be supplied that sits on top of the ractive base. If that's not possible, I think I'd prefer to keep it simpler with a hybrid approach wherein the methods are still set up as a property of the extend opts, and that type gets merged with the type returned by extend. For the 1.x line, I think the first solution will work nicely and avoid breaking.
Looks like I also missed the on* methods in the typings, because I tend to prefer the event listener form with on: { render() {} }, but that's a much less involved and/or breaking fix.


Save data button

Download Data button does not seem to be doing anything but opening up the save as box.  Data do not download.

Need to check in a browser

Works like a charm in browser. Thanks for the suggestion @ldecicco-USGS . Probably need to add that instruction into vignette/user manual.  Thanks again.

It wouldn't hurt to add a note. But...probably the users are going to open the shiny app with the function explore_wateRuse, which by default uses the browser.


Not Alignment in About and Social section

I want to fix that alignment proper with css

@codervivek5 please Assign.


Browser position

Proposed changes
Add ability to set browser window position.
Checklist

[x] Checkstyle and unit tests pass locally with my changes by running gradle check chrome htmlunit command
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

Codecov Report

Merging #687 into master will increase coverage by 0.05%.
The diff coverage is 83.33%.

@@             Coverage Diff              @@
##             master     #687      +/-   ##
============================================
+ Coverage     61.19%   61.25%   +0.05%
- Complexity      797      798       +1
============================================
  Files           152      152
  Lines          2817     2829      +12
  Branches        271      272       +1
============================================
+ Hits           1724     1733       +9
- Misses          987      989       +2
- Partials        106      107       +1

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/com/codeborne/selenide/Configuration.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...codeborne/selenide/webdriver/WebDriverFactory.java
83.58% <90.9%> (+1.43%)
14 <2> (+2)
:arrow_up:

...e/selenide/impl/WebDriverThreadLocalContainer.java
80.14% <0%> (-0.74%)
29% <0%> (-1%)

Continue to review full report at Codecov.

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

Coverage increased (+0.08%) to 65.041% when pulling e6d72ed800423d4d5dec8d0d93350b1aeee85daa on rosolko:browser_position into 4e2256648b01e92497c77004423d998863c7921d on codeborne:master.


Use filepath.Clean in normaliseWorkdir for windows

- What I did
As is seem in the comment of normaliseWorkdir for windows, the behavior of normaliseWorkdir is supposed to be:
...
	//	WORKDIR c:\\foo                 --> C:\foo
	//	WORKDIR \\foo                   --> C:\foo
...

However, this is not the case in the current implementation because filepath.FromSlash is used and FromSlash does not replace multiple separator with a single one (file.Clean does).
So normaliseWorkdir does not truly normalize workdir.
- How I did it
This fix changes the implementation of normaliseWorkdir and use filepath.Clean instead of filepath.FromSlash.
- How to verify it
Additional test cases have been added to the unit test.
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Not sure if it's expected to be supported, but filepath.Clean turns c: into c:..
Would be worth adding a test case at least.
ping @jhowardmsft

I think this is OK. I was initially concerned that filepath.Clean didn't FromSlash the result, but it appears (at least in 1.7) the implementation does.

Thanks @jhowardmsft @cpuguy83 for the review.
I take a look at the case of C:. It seems that on Windows, C: is considered as the C:\. (Current directory on C:) so it might actually referring to C:\Users\myuser
So technically, C: should not be considered as an absolute path unless we resolve the C: to the actually path e.g., C:\Users\myuser etc.
I am not sure what is the best way to handle cases of C: and C:\.. Should we resolve the path into the actually path (C:\Users\myuser) and pass it to the workdir?

Hmmm. Yes, archaic hangover from DOS days. Personally, I'd prefer to treat anything that has to be resolved to `whatever the current directory on drive 'X:' is' as an error case. If there's significant feedback that this is a problem, it could be possibly addressed in the future (if indeed it's possible - it may not be in the case of Hyper-V Containers).

For volumes we are treating c: the same as c:\

What's the status here? Do we need additional test cases for the things mentioned above? Or is this good to go as-is?

In the case of volumes though, c: as a destination drive (if that's what you mean) is correct and is effectively c:\. Bad example though, d: would be better. I'm just not sure that it is here in the case of WORKDIR. As I mentioned above, I think the right thing to do is to error here, and have test cases that validate that.

Thanks @jhowardmsft @thaJeztah @cpuguy83. The PR has been updated which treat C:. as an error and several test cases have been added. Please take a look and let me know if there are any issues.

The failure in janky is unrelated (see #26588):
21:28:50 ----------------------------------------------------------------------
21:28:50 FAIL: docker_cli_swarm_test.go:246: DockerSwarmSuite.TestSwarmContainerAutoStart
21:28:50
21:28:50 [ddddd93a387a3] waiting for daemon to start
21:28:50 [ddddd93a387a3] daemon started
21:28:50 [ddddd93a387a3] exiting daemon
21:28:50 [ddddd93a387a3] waiting for daemon to start
21:28:50 [ddddd93a387a3] daemon started
21:28:50 docker_cli_swarm_test.go:265:
21:28:50     c.Assert(strings.TrimSpace(out), checker.Not(checker.Equals), "")
21:28:50 ... obtained string = ""
21:28:50 ... expected string = ""
21:28:50
21:28:50 [ddddd93a387a3] exiting daemon
21:28:52
21:28:52

ping @cpuguy83 @jhowardmsft

Thanks @jhowardmsft for the review. The PR has been updated. Please take a look and let me know if there are any other issues.

Thanks @yongtang. LGTM if passes Jenkins.

LGTM


[demo] add frontendproxy

This adds the frontendproxy component to the demo which will handle all user-facing traffic, requiring only a single service to be exposed outside the cluster all UI actions. (The OpenTelemetry collector still needs to be exposed separately to enable browser spans).
frontendproxy is a newer component added to the core demo.

Not sure how I accidentally marked this as ready for review but I’ve set it back to draft.

This PR is ready for review. 😃


Possible support for Adafruit ft232h on Linux x86 desktop

Hi,
I tried to use mraa (it's c++ bindings specifically) for controlling my Adafruit FT232H board and it's gpio pins but without success. Is this library supposed to work only on embedded arches or can I use it somehow on my x86 Linux for my board?
Thank you for your time.

This library typically runs on Linux platforms x86/arm/mips with the IO being provided by the SoC. There is support for these kind of USB break out boards, see https://github.com/eclipse/mraa/blob/master/docs/ftdi_ft4222.md which might be applicable

I see, I didn't know this.
Thank you very much and forgive my delayed answer.


Access Violation in TBCEditorHighlighterJSONImporter.ImportCodeFoldingSkipRegions

The first characters of LOpenToken & FCloseToken are accessed without checking if the string is empty, which results in an AV when it is.
In the case above I could trace it to a problem with file imports, after importing there is
  { Skip duplicates }
  if LFoldRegions.SkipRegions.Contains(LOpenToken, LCloseToken) then
    Continue;

but for a file import, both LOpenToken & LCloseToken are empty, so the code proceeds to import the region, and kaboom. I guess it should just be "Continue".
Same issue exists in ImportCodeFoldingFoldRegions

Fixed.


Is componentsScan deprecated or not?

As I see in the documentation componentsScan seems to be deprecated. However, reviewing other parts of the documentation it appears exposed as a functionality that can be used, even in the examples on GitHub there are references to this functionality. Is componentsScan deprecated or not? In case its use is not recommended, what alternatives are there if we have a set of components that are not imported explicitly in another components and we want them to be detected by the TSED dependency container?

Hello @borjapazr
Here is the complete answers :)
https://v7.tsed.io/getting-started/migration-from-v6.html#components-scan
Ts.ED don't need Components Scan to works. A simple es6 import is enough. Components Scan is just a feature that simplify the development process.
Using ES6 import:
import {MyService} from "./MyService"; // if the symbole is used
import "./MyService"; // if the symbole isn't used but you have use it because you use hooks

See you
Romain

Great! Very good answer @Romakita 😊
So from v7 componentsScan will no longer be available inside @Configuration and mount can no longer be used with globs, right?
I think it's perfect to use barrelsby. I'm already using barrel files, so the upgrade won't be too dramatic.
Thank you! 🙏


[Bug]: Bazel managed pnpm can't resolve pnpm-lock.yml file merge conflicts

What happened?
During merge conflicts, in package.json files you may end up with pnpm-lock.yml file state where there is merge conflicts in pnpm-lock.yml.
pnpm already have mechanism to resolve this conflicts https://pnpm.io/git#merge-conflicts, however, it can't be used if you run pnpm from the bazel (which as I understand is the recommended way of working with pnpm under rules_js) like:
bazel run -- @pnpm//:pnpm --dir $PWD "$@" install

command above will just crash, since Bazel can't read the pnpm lock file in the first place
Version
bazel version
Bazelisk version: development
Build label: 6.2.1
Build target: bazel-out/darwin_arm64-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Fri Jun 2 17:00:10 2023<PHONE_NUMBER>)
Build timestamp:<PHONE_NUMBER>
Build timestamp as int:<PHONE_NUMBER>
rules_js: 1.31.0
How to reproduce
Use pnpm-lock file from https://github.com/pnpm/pnpm/blob/37fffbefa5a9136f2e189c01a5edf3c00ac48018/packages/supi/test/lockfile.ts#L1237
Run bazel run  -- @pnpm//:pnpm --dir $PWD "$@" install (see crash)
Run local pnpm pnpm install (see successfully resolved conflict)
Any other information?
No response

Fixed in https://github.com/aspect-build/rules_js/pull/1287.
We could potentially partially parse the yaml instead of the parser returning nothing which would align with pnpm more, but the crash is fixed.


Tags associated to context

I understand that contexts are only attached to taggins. I would like to be able to create tags that are associated with context, so that taggins are just related to tags, which means they are natively context based. I have forked the project and made the basic cleaning. Do you think this change should be difficult to make ? Do you know if what I want to do already exists somewhere somehow ?

i don't get when are you trying to achieve.

I think he is thinking:
Now: 1 Tag->n tagging, 1 tagging holds a field called context
After change: Still 1 tag->n tagging, but does not have context field, instead there would be a table called context where
1 context->n tags
I am not sure why this change is neccessary

I think he is thinking:
Now: 1 Tag->n tagging, 1 tagging holds a field called context
After change: Still 1 tag->n tagging, but does not have context field, instead there would be a table called context where
1 context->n tags
I am not sure why this change is neccessary


Added Encode/Decode traits (and new_element helper)

Traits for encoding and decoding of SVD objects <-> XML Elements towards #46.
@Emilgardis I think this should be compatible with your approach to error handling?

Yes it should work fine, however I don't see the point in this pr. I think adding everything together makes more sense.
I can redo my work on error-handling, that's fine.

I still feel uneasy about merging this without anything related to it. Maybe it would actually be easier to open a refactor branch and just directly push to it and then merge it, as you first suggested.

If you'd like I could update a couple of objects and open dependent PRs as
well so we can test / prove the interface? Then it's easy to merge em also.
On Sat, 10 Mar 2018, 1:40 AM Emil Gardström<EMAIL_ADDRESS>wrote:

I still feel uneasy about merging this without anything related to it.
Maybe it would actually be easier to open a refactor branch and just
directly push to it and then merge it, as you first suggested.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/japaric/svd/pull/48#issuecomment-371802059, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA0hzGvdyI3XMe4s8ykS8RzBqICjXQZlks5tcnhHgaJpZM4SgClB
.

I say yes to implementing this on some objects, but no to opening dependent PRs. If we are going to make multiple small PRs depending on this I think skipping the PR system is the best choice.

Closed in favour of upstream/refactor


rekit clean does not work rekit@next version beta.3

Try running rekit clean command but does not work. Rekit says is an unknown command.
I want to start a new clean project.

Thanks for reporting, the clean command has not been implemented yet. You need to do it manually for now.

Hi @supnate ,
I always struggle starting a new project. Mostly I don't want to use home feature. When I remove this feature (I delete it using the portal) the app breaks. So I am spending a lot of time  fixing this.
Any advice ?

Hi @nelreina , thanks for the feedback. Try rename it and remove unnecessary components, actions. The common/routeConfig depends on home/App.js which I think is the only place needs manual fix.

Now Rekit 2.2.0 has supported --clean argument.

Rekit -v 2.3.2 when using ekit create <PROJECT_NAME> --sass --clean still loads the examples home and common features in...

okay thanks, brilliant work on this. Just was letting you know as it was still in the docs :)
Thanks again for rekit!!


Set the HttpStatus correctly in the response header

The HttpStatus was getting lost - every response was a 200 OK because ResponseWriter.WriteHeader() was never called.

LGTM, thanks for this!


Fix of AudioRecordingEffect property

For debug purposes the boolean whether the recording is active or not were an editor property.
It has been removed to avoid users leaving it on true on close, causing it to be saved in the default_bus_layout
It was also renamed to better describe its functionality
It should fix the crash described in #20487

Thanks!


karate.filter could support array in predicate arguments

karate filter doesn't seem to support passing the array into the predicate or optional thisValue
i.e
karate.filter(array, function(currentValue, index, array), thisValue)
I know it's proprietry and not neccessary conform to, however I would like to support this because I want to nest my statements
for example to remove duplicates
i.e
I first create a filtered array of partial mapped objects.
* def expected = ["1" , "3"]
* def partial = karate.filter(karate.map(response, function(x){ return x.Id }), function(item, pos, self) {
        return self.indexOf(item) == pos
})
Then match partial contains only expected

btw.
I'm only using this mechanism for matching with partial objects within arrays, which may be sub-optimal anyway.
I was unable to get the following working.
* def partial_expected= [ {id:1},{id:3) ]
Then match response contains only '#(^partial_expected)'

also a point of interest I saw was - if karate.map returns an object { id: xId } and the match fails karate will report

actual :  [[object Object], [object Object], [object Object]]

not the json string

[ {id:1},{id:3) ]

as I expected to see.
Appreciate any comments.
p.s.
I'm really keen to wait for ecma6/graal-js support

@warrenc5 I'm sorry - I'll mark this as wont-fix - that said, you can submit a PR against this any time and I will re-open
the 2 reasons is - I really want to discourage excessive uses of JS, it just gets in the way of readability and maintainability (you can't debug it now and not sure if ES6 / graal will help)
I would move extra processing into a JS function
* def customFilter =
"""
function(array) {
   var temp = karate.filter(array, function(x){});
   return karate.filter(temp, function(x){});
}

For the logging / maybe is fixed in 0.9.5.RC5 - so you can follow this process if you want improvements: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue


[W6.4f][T11-B3]Lim Zheng Kai

@limzk1994 Accepting this PR with minimal review and I found no important issue.


Align network/nat-gateway to AVM specs

https://github.com/Azure/Azure-Verified-Modules/issues/436


[TOPI] Add padding for dense/batch matmul for x86 vnni

This added padding to make the shape of dense/batch matmul compatible with VNNI instructions.

Neat. Thanks for the contribution!


Doc/add client

When I was starting the setup of the project I had some difficulty finding a compatible client.
I think would be useful to have the link of a client in the documentation.

Hey there, thanks for your input :)
Unfortunately, I can't merge your pull request. The reason is, I don't want to risk the repository with a link to copyright protected binaries.
However, I adapted the QuickStart guide with a little hint where you can find one.

Hey @sven-n yeah it make sense. The quick start now is better thanks ;)


Very slow decoding of paletted PNG images

zune-png benchmarks show that the png crate is much slower than other decoders on indexed images - a whopping 3x slower than zune-png.
CPU profile shows that 71% of the time is spent in png::utils::unpack_bits, specifically this hot loop.
The code is full of indexing and doesn't look amenable to autovectorization. I think the entire function will have to be rewritten; it's probably a good idea to copy zune-png here.

Measured on v0.17.8-rc with this image: speed_bench_palette

zune-png uses vectorization-friendly implementation of expansion, which explains the difference in performance. It can be found here: https://github.com/etemesi254/zune-image/blob/60fbeef1e58a7dec08e27bf2ed190e061f27cb45/zune-png/src/utils.rs#L1

The version in this crate handles paletted images with 1/2/4-bit indices, whereas zune-png seems not to. However, probably the overwhelming majority of images use 8-bit indices... so it is probably worth special casing it.

Based on this comment I understand zune-png expands the bits to bytes first, and then resolves those to the correct palette values in another pass.
So it does handle lower bit depth indices correctly, but they're expanded to 8 bits before use.

This reminded me that I started working on more refactoring which included changing the transformations to not operate in place. Just created https://github.com/image-rs/image-png/pull/396 with the current state

Looking at top-500 website, paletted images account for 35% of PNG images.  Source:

https://github.com/image-rs/image-png/discussions/416#discussioncomment-7436871
https://docs.google.com/spreadsheets/d/1CEgr4ttd2agOZi-MFOjqJGqfDVFUKDp-zKbrF-8Xwyk/edit?usp=sharing (see the blue part of the "image properties" sheet)

OTOH so far I only had negative results when trying to improve paletted images: https://github.com/image-rs/image-png/discussions/416#discussioncomment-7590601

It's the bit unpacking hot loop that's slowing things down. zune-png has already figured out a much more performant way to do it that gets auto-vectorized: https://github.com/etemesi254/zune-image/blob/54cc956ccc01ea942456c0dcebf8d97bda614666/crates/zune-png/src/utils.rs#L217-L317
It should be fairly straightforward to integrate into the png crate.

It's the bit unpacking hot loop that's slowing things down.

That code was changed in #405 and looks like this now.
The distinction I'd make is that it's not the bit-unpacking as much as retrieving colors from the lookup table and filling those into the buffer. Trying to do it in 2 passes ended up slower than the current behavior of unpacking and then doing the lookup in 1 pass. The code didn't seem to get autovectorized even using chunks_exact at the time.
I'm not sure that it's straightforward or easy to get similar results without larger architectural changes as mentioned in https://github.com/image-rs/image-png/discussions/416#discussioncomment-7590601 where different several methods were tried unsuccessfully.

It is clearly possible to do better here still, as evidenced by zune-png. Even with the latest code it is 50% faster on a big paletted image. Perhaps its code is worth a closer look.

It is clearly possible to do better here still, as evidenced by zune-png. Even with the latest code it is 50% faster on a big paletted image. Perhaps its code is worth a closer look.

FWIW, I've tried running perf record / perf report on the linked image and it seems that most time is spent below the png crate (i.e. not in fn expand_paletted in png/src/decoder/mod.rs which is implemented in the png crate).  I understand that inlining and other optimizations may make the perf report somewhat inaccurate/crude, but AFAIU things like fdeflate::decompress::Decompressor::read should only accidentally include things inlined from dependencies of fdeflate (like the simd-adler32 crate), but not from clients of fdeflate (like the png crate).  I guess LTO can potentially deduplicate code across fdeflate and png and continue attributing profiling samples to fdeflate, but this seems unlikely for fn expand_paletted.
Maybe this means that the observed runtime delta (compared to zune-png) comes from other areas?
For the record, here are the perf report results I got for that paletted image:
  55.34%  decoder-1b5b1e4  decoder-1b5b1e46cb85776a  [.] fdeflate::decompress::Decompressor::read
  17.43%  decoder-1b5b1e4  decoder-1b5b1e46cb85776a  [.] <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  12.61%  decoder-1b5b1e4  libc-2.31.so              [.] 0x00000000001602f2
   3.75%  decoder-1b5b1e4  [kernel.kallsyms]         [k] clear_page_erms
   2.56%  decoder-1b5b1e4  [kernel.kallsyms]         [k] read_hpet
   2.33%  decoder-1b5b1e4  decoder-1b5b1e46cb85776a  [.] crc32fast::specialized::pclmulqdq::calculate
   1.29%  decoder-1b5b1e4  decoder-1b5b1e46cb85776a  [.] fdeflate::decompress::Decompressor::build_tables
   0.70%  decoder-1b5b1e4  decoder-1b5b1e46cb85776a  [.] <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
   0.49%  decoder-1b5b1e4  decoder-1b5b1e46cb85776a  [.] simd_adler32::imp::avx2::imp::update_imp
...

debug=true in Cargo.toml combined with perf --call-graph=dwarf should attribute inlined code correctly. I'll profile the decoding of this image later and post the results.

You need to call decoder.set_transformations(png::Transformations::EXPAND) to activate conversion from the palette indices to RGBA. If this is not set, the conversion from palette indices to RGB is never performed, and will not show up on the profile at all.
If you set that decoder option, then 40% of the total decoding time is spent in expand_paletted - here's the profile: https://share.firefox.dev/422gfkL
It is measured on this image, meant to be a a more realistic use case for indexed PNG: Stadt_Onex_2021_indexed_oxipng, originally sourced from wikimedia and converted to paletted image by myself.
It is possible that Chromium prefers to resolve the indices themselves using the palette chunk instead of getting RGB or RGBA output from the decoder, in which case this is bottleneck is not relevant to Chromium.
This hot loop is where 40% of the decoding time for this image is spent:
https://github.com/image-rs/image-png/blob/b00fb53e18d8cde6485d20623e0e058e3f88e917/src/decoder/mod.rs#L872-L879
Code used for measurement: https://gist.github.com/Shnatsel/ec75b05205ef55c96b9d256fdc36c2ec

You need to call decoder.set_transformations(png::Transformations::EXPAND) to activate conversion from the palette indices to RGBA. If this is not set, the conversion from palette indices to RGB is never performed, and will not show up on the profile at all.

Ooops.  You're right, my bad.  I knew about that but forgot :-(.

If you set that decoder option, then 40% of the total decoding time is spent in expand_paletted - here's the profile: https://share.firefox.dev/422gfkL

Thanks for sharing.

It is measured on this image, meant to be a a more realistic use case for indexed PNG: Stadt_Onex_2021_indexed_oxipng, originally sourced from wikimedia and converted to paletted image by myself.

Ack.

It is possible that Chromium prefers to resolve the indices themselves using the palette chunk instead of getting RGB or RGBA output from the decoder, in which case this is bottleneck is not relevant to Chromium.

No, Chromium also wants to expand into RGBA (at a high-level, there are some other unimportant details like BGRA and/or alpha-premul).

This hot loop is where 40% of the decoding time for this image is spent:
https://github.com/image-rs/image-png/blob/b00fb53e18d8cde6485d20623e0e058e3f88e917/src/decoder/mod.rs#L872-L879
Code used for measurement: https://gist.github.com/Shnatsel/ec75b05205ef55c96b9d256fdc36c2ec

I've tried to replicate your results with the code at https://github.com/anforowicz/image-png/tree/palette-measurements, but I got different results.  I am very curious what may be causing the difference.
Repro steps:

Run the following
# booted with isolcpus=nohz,domain,4-5
# (I forgot to disable TurboBoost and move kernel work off of cores 4-5,
# but hopefully this shouldn't matter for comparing how much a function takes in a profile)
$ git reset --hard
$ git checkout 1f57fd0cd050d1fa8ed43c3d94c781e6057aa483 # this is the `palette-measurements` branch
$ rustup run stable rustc --version
rustc 1.75.0 (82e1608df 2023-12-21)
$ rustup run stable cargo build --bench=decoder --release
...
$ taskset --cpu-list 4-5 nice -n -19 sudo perf record --call-graph=dwarf target/release/deps/decoder-01bdb75be1fb05ce --bench --profile-time 10 big-palletted
$ sudo perf script -F +pid > /tmp/test.perf
...

Upload the profile to https://profiler.firefox.com/ (this is great - thanks for teaching me about this tool)

Share the profile

In the https://share.firefox.dev/3tOf0ZM that got, I can see the png::decoder::expand_paletted::_$u7b$$u7b$closure$u7d$$u7d$::hfd10b92927fc4892 closure in the call tree when using inverted call stack, but it only takes 0.1% of the whole profile

If this is a benchmark, you need to set debug = true for the bench profile and not just the release one. Cargo uses the bench profile when compiling benchmarks:

Cargo has 4 built-in profiles: dev, release, test, and bench.

(from Cargo docs)

Speaking of tools, samply is amazing. Try this:
cargo install samply
echo '0' | sudo tee /proc/sys/kernel/perf_event_paranoid  # to be able to profile as non-root
samply record /path/to/binary arg1 arg2

Its processed results are more accurate than perf, it produces them much faster than perf script, it opens Firefox Profiler automatically, and you can double-click flame graph bars to open the code view while Samply is running to see the samples attributed to both lines of code and assembly instructions.

Ah, I've found your problem: there are two different Decoder instances in the benchmarks and you applied the transform to one but not the other. The patched one:
https://github.com/anforowicz/image-png/blob/1f57fd0cd050d1fa8ed43c3d94c781e6057aa483/benches/decoder.rs#L60-L61
is not performing the actual decoding, this one is:
https://github.com/anforowicz/image-png/blob/1f57fd0cd050d1fa8ed43c3d94c781e6057aa483/benches/decoder.rs#L69
And you forgot to set the EXPAND transformation on it as well.

Ah, I've found your problem: there are two different Decoder instances in the benchmarks and you applied the transform to one but not the other.

Ugh.  You're right.  Thank you for pointing this out. That's rather embarassing (since I've abandoned my earlier attempts at improving expand_paletted because of this incorrect approach to benchmarking).
For now I've opened https://github.com/image-rs/image-png/pull/453 to cover the expand_paletted in the end-to-end benchmarks (adding one of the images you've pointed out above).
I'll try to find some time next week to also work on:

Function-level benchmarks of expand_paletted (https://github.com/anforowicz/image-png/tree/palette-benchmarks-func).  The first step will be figuring out why the end-to-end benchmarks move, even though this was supposed to be a performance-neutral refactoring that just hides expand_paletted in a module that exposes a simple, testable, benchable API.
Actual improvements.  I see around -13% improvement for the new end-to-end benchmark image with https://github.com/anforowicz/image-png/tree/palette-combined-rgba, but currently Transparency sees a 2-3% regression.

I've tried looking at https://github.com/etemesi254/zune-image/blob/cd696f8f23dddee14063e66c6a728163ad0e6e2b/crates/zune-bmp/src/decoder.rs#L807.  It seems quite similar to what I came up with in the commit above.
There are probably opportunities to read/write 4 bytes at a time (rather than just 3).  This may require side-stepping utils::unpack_bits.
And there may be opportunities for using std::simd maybe?

The first step will be figuring out why the end-to-end benchmarks move, even though this was supposed to be a performance-neutral refactoring that just hides expand_paletted in a module that exposes a simple, testable, benchable API.

Probably because of inlining. More on inlining in Rust
You can use https://github.com/pacak/cargo-show-asm to inspect the generated assembly, or just objdump -d to keep it old school. You're mostly interested in whether a given function is present as a separate function or not (inlined ones disappear from the listing).

Fixed by #462


123 season memory

Depends on #84.
Un-draft as soon as #84 is merged in main. Otherwise keep drafted.


Willow 0.2 update

Just released a beta of Willow 0.2. This PR adds support for it into Wagtail.
Will release Willow 0.2 final once everything is tested.

Rebased

Oops, I accidentally forgot to bump the Willow version in tox.ini. Those build errors should be fixed now.

This looks good overall. Ran local build tests for:

JPEGs/ image quality settings. :+1:
the image from #989. :+1:
the image from #1084. Unfortunately the issue still persists. :-1: Was hoping that https://github.com/kaedroho/wagtail/commit/332a136d89cb57ab8ca4c3a0a96dc7d07d415724 would fix #1084 as well.

Other than that, Willow 0.2 needs a release before we merge this.
Thanks @kaedroho!

Thanks for testing, @zerolab. @kaedroho, can you look at #1084?

Had a quick chat with @kaedroho re: #1084.
The simple approach would be to convert non-animated, transparent gifs to png. Animated or non-transparent gifs will retain original format.
Do chip in if you think this is a bad approach (or if there is a better solution).

Re-ran tests locally.
Much better now. Unfortunately the image from #1084 only works correctly when Wand is installed.
So, bump Willow version to 0.2, add doc note to install Wand for full gif support. And :shipit:

After Travis gives green light, of course.


M15R7 - Nvme temperature sensors locked at 60 degrees

Describe the bug
SSD sensors are always showing 60 degrees.
To Reproduce
Open alienfx-monitor or alienfx-control and check values, they're different from samsung magician values for example.
Expected behavior
SSD sensors must show the nvme drive temperatures.
System (please complete the following information):
Model: Intel Core i7 M15R7
OS: win 11 - Build 22621.755 -  Experience Pack 1000.22636.1000.0
Core Isolation - Memory Integrity:  Enabled
AWCC: Not installed
SSD Models: 2x Samsung 980 Pro 2TB

Most probably it's not a bug - some SSDs have a fake temperature sensor, it's always return constant value into SMART (where i get it for GUI).
So check your SSDs SMART readings first.
Also, you should have MB SSD sensor as well - it's one of ESIF. Can't say exactly until take a look into BIOS dump (Dell name it, but Intel don't expose names).

The only information about my motherboard, from HWiNFO :
Alienware 0TJXCY
Chipset: Intel Alder Lake-P PCH
From SMART:

From HWiNFO :

Actual readings from fx-control

I see. But it locked into WMI to fake value.
What NVMe driver you are using? Windows default? Samsung?

I've used Intel RAID drivers at windows install. Then, windows defaults.

I've used Intel RAID drivers at windows install. Then, windows defaults.

So, you have it at RAID0?

Nop. I've used this default option, but there's no RAID 0 setup:

Hey bro ..... I've changed the BIOS option to NVME and now the sensors are working fine.

Aha, so RAID drivers report fake.
In case you're interested, i take this values from WMI (entry ROOT\\Microsoft\\Windows\\Storage\\Providers_v2\\MSFT_PhysicalDiskToStorageReliabilityCounter), which is, seems like filled not by system, but by storage driver.
Anyway, thanks for this bug. i'll add it into readme!


Removed from profile unimplemented regions and badges

🗃 Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)
No issue
✅ Checklist

[x] Github issue details are up to date for people to QA.
[x] I have tested all my changes.

🕵♂ Notes for Code Reviewer
Nothing new, just removed items have not been implemented.
🙈 Screenshots

👯♀ Paired with
"nobody"

@gguij004  review this pls

@gguij004 review this pls

I think we need to redesign this screen, maybe contribution could look like the currency row. I will let Json know but for now this is good we dont want to show inactive features.

@gguij004 review this pls

nvm we have the new design

i already made the changes on this pr, please review when you can, Thank you


Discovery of not supported devices via query_devices()

Required Info

Camera Model
D400

Operating System & Version
Ubuntu 16.04

Kernel Version (Linux Only)
4.13.0-38

Platform
PC

SDK Version
2

Issue Description
I am experimenting with two cameras plugged in at the same time, one Asus Xtion2 and one D435.
// Discover devices
rs2::context ctx;
auto deviceList = ctx.query_devices();

for (auto device : deviceList)
{
    // Find out device name
    std::string name = "Unknown Device";
    if (device.supports(RS2_CAMERA_INFO_NAME))
        name = device.get_info(RS2_CAMERA_INFO_NAME);

    std::cout << "Discovered device: " << name << std::endl;
}

Next to the discovered RealSense, the library first discovers the RealSense as "Intel RealSense 435" and then seems to discover the Xtion2 as "Platform Camera" twice. When reading their name to weed out the devices not accessible with librealsense, each device access taking about 5-10 seconds.

Hi @fwindolf
You can use librealsense to stream data from regular web-cams.
We might add a flag to query_devices to control this behavior. In the meantime you can disable unwanted behavior by commenting out context.cpp:336-337

Thanks @dorodnic for the quick reply.
I commented out the said lines and it works like a charm!

[Realsense Customer Engineering Team Comment]
hi @fwindolf,
do you need more support on this topic?
thanks.

[Realsense Customer Engineering Team Comment]
let me close this issue here, please feel free to open new ticket if any question.


feat: merge from main to dev branch

Description
This pull request includes several changes to the codebase. The primary modifications are the addition of two new components, FAQ.jsx and Pricing.jsx, which will likely introduce new features to the website. Additionally, updates have been made to existing components (Features.jsx, Footer.jsx, Header.jsx, and Hero.jsx) and .gitignore files.
The motivations and context for these changes are not explicitly provided. However, based on the file modifications, it appears that the intent is to enhance the website's functionality and user experience by introducing new sections or pages for frequently asked questions and pricing information. The updates to existing components may be related to the integration of these new features or general improvements to the website's design and layout.
No dependencies are listed, so it is assumed that these changes do not require the installation of additional third-party packages.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

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

@intellibotdemo Please generate stats on such repo

@intellibotdemo Please generate stats on such repo

Here are some interesting stats about this repository:

[!TIP]
For best results, initiate chat on the files or code changes.

Here are some interesting statistics about the repository, presented in a table format:

Statistic
Value

Number of Contributors
1

Total Lines of Code (est.)
94513

Open Issues
1

Forks
0

Stargazers
1

Number of TODO Comments
5

Primary Language
TypeScript

Created At
7/22/2024

Last Updated
8/18/2024

These stats provide an overview of the repository's activity, codebase, and community engagement. If you need further details or additional statistics, feel free to ask!

@intellibotdemo Please generate repository stats

Here's the response to your query:
Here are some interesting stats about this repository:

[!TIP]
For best results, initiate chat on the files or code changes.

Here are some interesting statistics about the repository, presented in a table format:

Statistic
Value

Number of Contributors
1

Total Lines of Code (est.)
104171

Open Issues
1

Forks
0

Stargazers
1

Number of TODO Comments
5

Primary Language
TypeScript

Created At
7/22/2024

Last Updated
8/19/2024

These stats provide an overview of the repository's activity, codebase, and community engagement. If you need further details or additional statistics, feel free to ask!

@intellibotdemo please show me all console.log statements in the codebase

Here's the response to your query:
Here are all the console.log statements in this repository:
An error occurred while searching for console.log statements.

@intellibotdemo please show me all console.log statements in the codebase again

Here's the response to your query:
Here are all the console.log statements in this repository:
Found console.log statements:
File: src/ut_ts.ts
console.log('Input test cases', testCases);
console.log('No test cases to run');
console.log('Writing test cases to:', testDir, testCases);
console.log('Tests passed successfully');
"code": "import { runUnitTests } from '../src/yourFile';\nimport * as fs from 'fs';\nimport * as path from 'path';\n\njest.mock('fs');\njest.mock('path');\njest.mock('child_process');\n\ndescribe('runUnitTests', () => {\n  beforeEach(() => {\n    jest.clearAllMocks();\n    console.log = jest.fn();\n  });\n\n  it('should handle empty input array', async () => {\n    await runUnitTests([]);\n    expect(console.log).toHaveBeenCalledWith('Input test cases', []);\n    expect(console.log).toHaveBeenCalledWith('No test cases to run');\n  });\n});"
"code": "import { runUnitTests } from '../src/yourFile';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { execSync } from 'child_process';\n\njest.mock('fs');\njest.mock('path');\njest.mock('child_process');\n\ndescribe('runUnitTests', () => {\n  beforeEach(() => {\n    jest.clearAllMocks();\n    (fs.existsSync as jest.Mock).mockReturnValue(true);\n  });\n\n  it('should execute Jest and log success message', async () => {\n    (execSync as jest.Mock).mockImplementation(() => {});\n    console.log = jest.fn();\n\n    await runUnitTests([{ type: 'direct', code: 'test code' }]);\n\n    expect(execSync).toHaveBeenCalledWith('npx jest', { stdio: 'inherit' });\n    expect(console.log).toHaveBeenCalledWith('Tests passed successfully');\n  });\n});"
"code": "// Console output testing is not directly testable in this context.\n// While we can mock console.log and verify it's called,\n// the actual output to the console is a side effect that\n// can't be directly tested without additional tooling or\n// modifications to the original function."
console.log('Generating unit tests with total prompt length:', prompt.length + sourceCode.length);
console.log('Request timed out, returning fake response');
console.log('generated test cases:', parsedTestCases);
console.log('Raw AI response:', finalResult);
console.log('Input test cases', testCases);
console.log('No test cases to run');
console.log('Writing test cases to:', testDir, testCases);
console.log('Tests passed successfully');
console.log('Invalid test cases input. Skipping report generation.');
console.log('Test report generated:', report);
File: app/src/index.ts
console.log("GitHub App Token is set:", !!process.env.GITHUB_APP_TOKEN);
console.log(Unhandled event type: ${githubEvent});
console.log(Server running on port ${port});
File: app/src/utils.ts
// Implement console.log statement finding logic here
return "Found console.log statements...";
File: app/src/handler.ts
} else if (commentBody.includes('@chatbot show all the console.log statements')) {
body: Here are all the console.log statements in this repository:\n\n${consoleLogStatements}
console.log("files: ", files);
console.log("final user query along with context: ", fullQuery);
File: src/index.ts
console.log(File ${file.filename} not found in the repository);
console.log('PR description updated successfully.');
//   console.log(Processing file ${filename}: ${content});
//     console.log(Extracted functions: ${functions} from ${filename});
//           console.log(Generated test cases for function ${func} from ${filename});
//         console.log(Skipping function in ${filename} due to size limit);
console.log(Generating unit tests for file ${filename});
// console.log(Generated test cases for function ${content});
console.log(Skipping file ${filename} due to size limit ${maxChunkSize} or excluded by the file name ending with test or d.ts);
// console.log('All test cases:', allTestCases);
console.log('Unit tests and report generated successfully.');
// console.log('PR description updated with unit tests summary.');
// console.log(Generating unit tests to PR #${pullRequest.number} on branch: ${branchName} with unit test content: ${unitTestsContent});
console.log(File ${unitTestsFileName} does not exist in the repository);
// console.log(Unit tests added to PR as ${unitTestsFileName});
console.log(Reviewing file: ${file.filename});
// console.log(Review comments ${review} generated for file: ${file.filename});
console.log(Skipping file: ${file.filename} due to the file is removed or excluded explicitly);
// console.log('Posting code review comments to the PR with content:', reviewComments);
console.log('Code review comments posted successfully.');
console.log('No review comments to post.');
console.log(GitHub Token: ${githubToken ? 'Token is set' : 'Token is not set'});
console.log(AWS Region: ${awsRegion});
console.log(Model ID: ${modelId});
console.log(Excluded files: ${excludeFiles});
console.log(Code review: ${codeReview});
console.log(Review level: ${reviewLevel});
console.log(Generate PR description: ${generatePRDesc.toLowerCase() === 'true' ? 'true' : 'false'});
console.log(Generate unit test suite: ${generateUnitTestSuite.toLowerCase() === 'true' ? 'true' : 'false'});
console.log('No pull request found in the context. This action should be run only on pull request events.');
console.log(Reviewing PR #${pullRequest.number} in ${repo.owner}/${repo.repo});
// console.log(Waiting ${delayMs}ms for GitHub to process the changes...);
File: test/unit_tests.ts
expect(console.log).toHaveBeenCalledWith('Input test cases', []);
expect(console.log).toHaveBeenCalledWith('No test cases to run');
console.log = jest.fn();
expect(console.log).toHaveBeenCalledWith('Tests passed successfully');

@intellibotdemo please generate unit tests for file src/index.ts

Here's the response to your query:
Here are the generated unit tests for The file path extracted from the given query is:
src/index.ts:
An error occurred while generating unit tests.

Here's the response to your query:
Here are the generated unit tests for files involved in this pull request:
Unit tests for .github/workflows/code-review.yml:
An error occurred while generating unit tests.
Unit tests for .gitignore:
An error occurred while generating unit tests.
Unit tests for README.md:
An error occurred while generating unit tests.
Unit tests for app/src/handler.ts:
An error occurred while generating unit tests.
Unit tests for app/src/index.ts:
An error occurred while generating unit tests.
Unit tests for app/src/utils.ts:
An error occurred while generating unit tests.
Unit tests for src/index.ts:
An error occurred while generating unit tests.
Unit tests for test/unit_tests.ts:
An error occurred while generating unit tests.
Unit tests for web/.gitignore:
An error occurred while generating unit tests.
Unit tests for web/src/App.jsx:
An error occurred while generating unit tests.
Unit tests for web/src/components/FAQ.jsx:
An error occurred while generating unit tests.
Unit tests for web/src/components/Features.jsx:
An error occurred while generating unit tests.
Unit tests for web/src/components/Footer.jsx:
An error occurred while generating unit tests.
Unit tests for web/src/components/Header.jsx:
An error occurred while generating unit tests.
Unit tests for web/src/components/Hero.jsx:
An error occurred while generating unit tests.
Unit tests for web/src/components/Pricing.jsx:
An error occurred while generating unit tests.

@intellibotdemo please generate unit tests for files in the pr


[Android] Crash when triggering a scan

Hello, I’m trying to use this lib to scan BLE devices on Android but when calling this.manager.startDeviceScan the app crash with no log whatsoever with the native popup MyApp has stopped..
On iOS I have no problem scanning and finding the device I want to connect to.
Do I need to do something different on Android ?
I set the log level to verbose but nothing is shown and I can successfully use some other methods form the manager without issues.
I tried passing a list of UUIDs or some options to startDeviceScan but the app always crash.
I'm using react-native 0.54.4 and react-native-ble-plx 0.10.0

I didn't spot such a situation. Did you enable permissions before starting scanning?

@tsyirvo
Hello, i had the same problem as you, and in my case the problem was the JDK version. I was using the version 10, and it must be 8. You can check it

Hi, downgrading the JDK to version 8 like @renanborgez said seems too work :)
The weird thing is that for some time I manage to make it work with version 10 and at one time it stopped right after I linked a new native module... I downgraded after seeing this and I started working again right after !
If this is truly linked to the JDK version, it should be listed as such on the README to prevent other folks asking this question.

Yeah, i'm agree with @tsyirvo
The point is, if the version 10 is not supported and it is an expected behaviour for the version 10 or it is actually a bug that no one has catch it yet.
In any case we should have a action on it, or to solve the bug or to document it on README

@dariuszseweryn Can it be somehow related to RxAndroidBle?

Android OS does not work with anything that's above Java 8

Phew, thanks so much for having this issue logged. Saved me a lot of time!