Add: StringCopyValueOf rule

fixes: https://github.com/PicnicSupermarket/error-prone-support/issues/1001

@rickie @Stephan202 Please review. I have added the rule to copy string characters with an offset and a count. I tried the below way to support both copying all characters and copying characters with an offset[1]. But it gives the following error[2]
[1]     ```
@AfterTemplate
String after(char[] data, int offset, int count) {
return Refaster.anyOf(new String(data, offset, count), new String(data));
}
[2] `Caused by: java.lang.IllegalArgumentException: @AfterTemplate of tech.picnic.errorprone.refasterrules.StringRules.StringCopyValueOf defines arguments that are not present in all @BeforeTemplate methods: [offset, count]`

Is there a specific way to overcome this? Or do we need another class to be initiated?

Thanks,
Benura

Hey @BLasan! Thanks; I'll have a look this weekend.
To answer your question: Refaster has some constraints. Relevant to your example are:

Refaster.anyOf can only be used in @BeforeTemplate methods.
Any parameter to an @AfterTemplate method must also be specified (and bound) by all @BeforeTemplate methods.

The new String(data) case would require a separate rule that rewrites (off the top of my head) String.copyValueOf(data, 0, data.length). I think that makes sense to do!

Hi @Stephan202 ,
Thank you for the review. Are there any resources to learn the procedure of adding new rules? Also, any other issues that I could work on :) ?
Thanks,
Benura

Are there any resources to learn the procedure of adding new rules?

That's a good question. I think that right now there's no documentation for this. What we instead try to do, is add Error Prone checks that validate and (when possible) attempt to auto-fix rules to match our guidelines. PR #1002 moves some of those rules around, but there are (vague) plans to add more such rules.
For now the best I can offer is to employ careful pattern matching by looking at existing rules :smile:

Also, any other issues that I could work on :) ?

Certainly our work isn't done :wink:. The list of currently open issues could serve as inspiration, but note that most/all of those will require writing an Error Prone BugChecker, rather than a Refaster rule. That's quite a bit more involved, but if you're feeling adventurous: go for it :smile:.
But let me offer another idea: are there aspects of your company's code base that you'd like to see different, such as things that you (perhaps repeatedly) point out during code review? If any of those are generally applicable and solvable using Refaster, we're certainly open to considering rules for that. (This suggestion does come with a caveat: we're kind of opinionated on some topics, such as preferring immutablility. But when in doubt: just ask!)

Hi @Stephan202 ,
Sure, will take a look at some other issues opened. I asked specifically for an issue since someone internally (from your team) might have started working on such issues :) I need to recall some of the ideas (which are solvable using Refaster)  pointed out in a code review as well as during the implementations. I'll just revisit some of the feature implementations and open issues if found any :)
Thanks,
Benura


automated readouts for sigma_fit for and automated calculation

Doing this by hand is annoying. Work some scripting magic.

Worked some scripting magic: numpy.savetxt() and numpy.loadtxt()


Possibility of having different server port and base url port

With introduction of deployment technologies like Kubernetes and ECS, the services need to have an internal port on which they listen and an external port which is mapped to the internal port. This introduces the need of having a way to specify the internal port on which the server needs to be started and one more port to which the script will try to access from the browser.
So there should be possible configuration option to specify an extra port if the deployment is made through K8S or ECS.

@rwjblue I can take this up.

Sorry for the delayed reply here, I believe that this is taken care of by https://github.com/ember-cli/ember-cli-inject-live-reload/pull/113.


Finland and Romenia flags emoji typo

Bug description
On the Languages.java file the Finland and Romania flags emoji have a typo, therefore not displaying the actual flags on text channels.
Steps to reproduce

Using the slash command, type /translate;
Select any text as first argument;
Choose the Finnish language as second argument;
Reproduce above steps with Romenia.

Expected behavior
It should be showing Finnland and Romenia flags emoji, instead it shows simply a string.

Nice catch! Do you want to work on this @JuniorJairo? 🤔

Oh yeah! it's a minor fix so I'll take of it myself don't worry
Also, if you catch more of these minor issues just DM me on Discord and I'll take care of them.


TaskQueue + DataStore Transactions Protobuf API

You can transactionally put items to the TaskQueue and DataStore in Appengine but not in Compute or Container Engine. It would be great if the Datastore Protobuf API supported TaskQueue puts as part of the transaction.
Something like:
CommitRequest.Builder crBuilder = CommitRequest.newBuilder()
  .setTransaction(tx)
cr.getMutationBuilder()
  .addInsertAutoId(entity)
  .addTask(task)

datastore.commit(crBuilder.build())

Task Queues are now Cloud Tasks (https://cloud.google.com/tasks/docs/migrating).


pip 3.5 broken

After pip3.5 install pywifi
>>> import pywifi
>>> pywifi.PyWiFi()
AttributeError: module 'pywifi' has no attribute 'PyWiFi'

Publishing your current version of this repo to PyPI would fix it.
The broken imports (´´´import win.interfaces´´´) are the issue.

Thanks for you help. I already published current version onto PyPI and do some basic tests under Ubuntu environment. The issue disappeared.

Cool, that helped!


[$500] Web - Workspace - It's not accepting the SSN for the first time

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Issue found when executing PR https://github.com/Expensify/App/pull/29991
Action Performed:

Login with expensify account
Go to Settings > Wallet > Enable Wallet
Go through Chase plaid verification flow
Follow the flow until Additional details
Fill the form with following data: First name: Alberta Last name: Bobbeth SSN: 3333 Any other information for the rest of the fields
Press Save & continue

Expected Result:
It should accept it
Actual Result:
It's not accepting the SSN for the first time. I can continue after clicking on the button again
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/7bfe9fc6-1d06-441a-9a09-f6a24721cc11
View all open jobs on GitHub

I talked to @joekaufmanexpensify and we don't think this should block the deploy given it's current usage. But let's definitely get it fixed.

I think the bug came from BE, the error was retrived from UpdatePersonalDetailsForWallet.

@lanitochka17 the email of the account the bug occurred on would be helpful here

not able to find any logs for that account in a 72 hour period surrounding this issue's creation 😕 https://staging.expensify.com/_devportal/tools/logSearch/#sort=asc&size=10000&query=email%3A"applausetester%2B0227rbt%40applause.expensifail.com" AND timestamp%3A[2024-02-27T00%3A00 TO 2024-02-29T23%3A59]

typo, it's +rb2 not +rbt

found logs, looks like an Idology error

Using mock Idology ExpectID API response

(throws error response)
lol

this is a fun gotcha. The Idology ExpectID mock is set up to fail if the last name of the user matches the middle name (just because we needed a way to test failure scenarios in the mock).
In this case, you used Bobbeth for the last name on this request, which caused that to fail.
So all this is expected behavior.


React Native support

Hello,
I am wondering if this is possible to implement to React Native also?
I can't get it to work there :/

Hey! @karwan-ali could you please share what errors / problems you encounter when trying to use this component with React Native?
For testing I've just created an expo project and it worked for me. Please share any problems / logs / errors that you encountered

Hello @JonasDoesThings,
Could you provide me the example that is working for you maybe?
This is my code:
`const MenuScreen = () => {
const navigation = useNavigation();
useLayoutEffect(() => {
navigation.setOptions({
headerShown: false,
});
}, []);
return (
<SafeAreaView style={tw.style('bg-defaultBg w-full h-full')}>

<ActivityRings
rings={[
{ filledPercentage: 0.5, color: '#fa0e5a' },
{ filledPercentage: 0.75, color: '#afff02' },
{ filledPercentage: 0.25, color: '#00fff8' },
]}
/>

);
};`
See attached image on what the error is.

Hey, I got around looking into the issue, you're right, it's broken when using react-native on non-web platforms.
The cause is the usage of the web-native  component and it's descendents.
I've quickly tried forking the project and using react-native-svg as a react-native compatible SVG component, but the next roadblock I've encountered was, that this library does not support animations. It seems like you can use react-native-reanimated for these animations.
Sadly I have no expertise in react-native and currently no time for creating a supported fork, so React Native is out of scope at the current point in time :(
I will add a note into the README accordingly

Currently out of scope

Currently out of scope


With session persistence off, mouse events in byobu/tmux aren't handled correctly

When you use the mouse in Terminus while inside byobu (and with session persistence off), mouse events aren't handled correctly.
Works:

open xfce4-terminal
byobu
type ls -la in a directory with a large number of files
use mouse scroll wheel to see beginning of list
works! :smile:

Doesn't work:

open Terminus
disable session persistence; restart
type ls -la in a directory with a large number of files
use mouse scroll wheel to see beginning of list
doesn't work; renders control characters to screen or produces other unusual effects :cry:

Commenting to refresh issue as per stalebot's request, since this is still outstanding.

Commenting to refresh issue as per stalebot's request, since this is still outstanding.

Is there any custom configuration involved? Byobu doesn't react to mouse wheel in stock xfce4-terminal for me

Are you using tmux or screen for your byobu backend? This is
tmux-specific.
On Thu, May 30, 2019 at 4:14 PM Eugene<EMAIL_ADDRESS>wrote:

Is there any custom configuration involved? Byobu doesn't react to mouse
wheel in stock xfce4-terminal for me
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Eugeny/terminus/issues/323?email_source=notifications&email_token=AAAODVM2RYNZJDHX6FWVJBLPYAYTLA5CNFSM4EZPC2CKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWTMRCY#issuecomment-497469579,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAODVND73UK45ZY7KKBG3LPYAYTLANCNFSM4EZPC2CA
.

Closing as tmux/screen persistence isn't used anymore


Update Maven plugin versions

Description
Short summary of changes (1-2 sentences).
Instructions for Reviewers
Please add a more detailed description of the changes made by your PR. At a minimum, providing a bulleted list of changes in your PR is helpful to reviewers.
List of changes in this PR:

First, ...
Second, ...

Include guidance for how to test or review your PR. This may include: steps to reproduce a bug, screenshots or description of a new feature, or reasons behind specific changes.
Checklist

[ ] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
[ ] My PR passes Checkstyle validation based on the Code Style Guide.
[ ] My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
[ ] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
[ ] If my PR includes new libraries/dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[ ] If my PR modifies REST API endpoints, I've opened a separate REST Contract PR related to this change.
[ ] If my PR includes new configurations, I've provided basic technical documentation in the PR itself.
[ ] If my PR fixes an issue ticket, I've linked them together.

I believe this is now completed via #9940 (which was generated by @dependabot).  Closing this PR as it seems outdated and we've already updated our maven plugins to the latest versions.


Daily Temperatures

Aim
I would like to work on this issue using stacks in c++
Details
Given an array of integers temperatures represents the daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the ith day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead.
Example 1:
Input: temperatures = [73,74,75,71,69,72,76,73]
Output: [1,1,4,2,1,1,0,0]
Example 2:
Input: temperatures = [30,40,50,60]
Output: [1,1,1,0]
Example 3:
Input: temperatures = [30,60,90]
Output: [1,1,0]
Constraints:
1 <= temperatures.length <= 105
30 <= temperatures[i] <= 100
Programming language

[ ] C
[x] C++
[ ] Java
[ ] Python

Please assign me this issue @Ayush7614 @sameeksharl @ravikr126


better lbrynet-cli connection error message

Actually lets you know what's going on with the daemon when it cannot connect

Closing this, since https://github.com/lbryio/lbry/pull/397 includes these changes


IE11 Express Checkout not working

Hi,
I was integrating checkout express on my new website.
Obviously i tested the integration against all browsers (Chrome,Edge,Firefox, Opera), and, at the end, the infamous IE11.
After 2 nights troubleshooting, dead end.
Then I tried the demo site, with same results:
https://developer.paypal.com/demo/checkout
IE Version is the latest on Windows 10 11.674.15063.0

The problem appears immediately. The page background obscured, after a few seconds, turn back normal.
in Javascript console appear:
ppxo_close_no_token_cancelurl
Then if you proceed in the frame, errors comes up and at the end the shop page load into the iframe ! (that doesn't close automagically).
I hate IE 11 :-)

Hi! Can you share any of the console errors you were seeing?

Sure ! Sorry for the delay.
Directly from https://developer.paypal.com/demo/checkout
IE Settings resetted to defaults before testing.

ineligible {"timestamp":1508699673169,"windowID":"e8c8386264","pageID":"e369d0d4e3"}
ie_intranet_mode {"timestamp":1508699673169,"windowID":"e8c8386264","pageID":"e369d0d4e3"}
ppxo_close_no_token_cancelurl {"timestamp":1508699687197,"windowID":"e8c8386264","pageID":"e369d0d4e3","referer":"https://developer.paypal.com","host":"www.sandbox.paypal.com","path":"/webapps/hermes/button","env":"sandbox","country":"US","lang":"en","uid":"7db663ee11","ver":"4.0.141"}

Hmm. Looks like IE is in intranet mode, for some reason.
Can you try following the doc here and let me know if any of the suggestions work? https://github.com/paypal/paypal-checkout/blob/master/docs/debugging/ie-intranet.md

It worked ! However, don't know why it entered Intranet Mode ...
Thanks a lot for the suggestion !

Great! Out of interest which specific setting did you change to fix it?

This one was flagged.
I think it is a default, never touched this setting :-) .
cit. 👍  ->>> IE 11 is a vodoo entity

Thanks! Yep, voodoo is putting it mildly :D


Give each workspace a reference number/letter

To make it easier to refer to.

We could also use these identifiers to make shorter workspace URLs

In general we should have shorter URLs for everything, including experiments. There is no reason to use full UUIDs in URLs.

This has been done, right? I don't think I can close the issue myself though


Add WatchOS Support

Hello,
I really like what you have done here and I think that MessagePack.swift can be used with WatchOS 2.0 projects for communication using the WatchConnectivity Framework. Can you please introduce the watch OS target into the pod spec?

s.watchos.deployment_target = '2.0'

Example:
https://github.com/AliSoftware/OHHTTPStubs/commit/9fb400fd90d139ec1762fcbdf15b8693d7794381
Thank you!

Done!


Incomplete string escaping or encoding

Tracking issue for:

[ ] https://github.com/scmn-dev/secman/security/code-scanning/20

ok

done


Replace VERSION file with git describe

@mavam You'll have to review this again. CI failed because of a slight issue with CMake.


Use silverstripe/supported-modules

Currently rhino runs off a hardcoded list for the modules it pulls information for
This isn't great because it includes some unsupported modules in the builds list and we waste time remedying them
It should instead use silverstripe/supported-modules
Note that silverstripe/supported-modules doesn't list some repositories we care about such as the gha* repositories. Either they should be added to the supported-modules JSON, or we need to keep them hardcoded here. - That's no longer relevant as of https://github.com/silverstripe/rhino/issues/17
Acceptance criteria

Rhino is updated to fetch supported modules from silverstripe/supported-modules repo
Rhino honours considers the difference in support levels between CMS 4 and CMS 5.
confluence docs about setting up new repos doesn't explicitly mention Rhino, since that's covered by supported-modules.

Note that the version of the supported modules repo we'll get will be locked into the composer.lock file... maybe update these docs to run composer update silverstripe/supported-modules in rhino and redeploy it.

PRs

https://github.com/silverstripe/rhino/pull/24
https://github.com/silverstripe/supported-modules/pull/30
https://github.com/silverstripe/rhino/pull/25
https://github.com/silverstripe/supported-modules/pull/31
https://github.com/silverstripe/rhino/pull/26

Post merge supported-modules PR

[x] Run composer update again and create a new rhino PR and deploy that

New PR merged. Reassigned to Steve for deployment.

Have tested builds + merge-up jobs on UAT, all working. Have deployed to prod. Closing


Compile errors on Vector Generation

Hi @kennux
I found this code via Unity List and would love to have a look.
Could you please advice what I might do to fix the error?
I've installed Unity.Math and Unity.Burst but get the following errors relating to vector generation:
Assets/Maths/Unity.Mathematics.CodeGen/VectorGenerator.cs(1969,23): error CS1502: The best overloaded method match for `Unity.Mathematics.Random.Random(uint)' has some invalid arguments
Assets/Maths/Unity.Mathematics.CodeGen/VectorGenerator.cs(1969,41): error CS1503: Argument #1' cannot convert int' expression to type `uint'
Assets/Maths/Unity.Mathematics.CodeGen/VectorGenerator.cs(2001,62): error CS1061: Type Unity.Mathematics.Random' does not contain a definition for Next' and no extension method Next' of type Unity.Mathematics.Random' could be found. Are you missing an assembly reference?
Thanks
Cheers!

This seems to be an issue in the Unity.Mathematics package. Make sure it's the newest.
What unity version are you on?
I'm developing this project currently on 2018.2.0f2, I'm not sure if it works with any other version.
Try to reinstall the Unity.Mathematics package or best clone the project fresh again and let unity reinstall all the packages on its own.
If that doesn't help check if the problem also happens on an empty unity project (create empty project, Window -> Package Manager -> All -> Mathematics -> Install (right pane, top right button)).

Thanks @kennux
Works a treat! and very impressive!
Sorry I forgot to give the (obviously required) details:
Unity 2018.2.16f1
Burst 0.2.4
Mathematics 0.0.12
Yes I did not know I could get Burst and Math via Package Manager, so I probably had old Clones.
Cheers!


Don't auto-capitalize text/inputs

Bug report 🐞
Currently, titles and headers set text-transform: capitalize (https://github.com/geist-org/geist-ui/search?q=text-transform+capitalize).
Version & Environment

Version of browser: N/A
Version of geist-ui/core: ^2.3.5

Expected Behaviour
The intention is nice, but in English title casing you don't capitalize articles and short prepositions, like 'the' or 'an'. Sadly, CSS doesn't have locale-specific capitalizing, so the text formatting should either be left to the user or geist-ui can use something like https://johnresig.com/files/titleCaps.js
Actual results (or Errors)
Text is improperly capitalized

didn't realize this is a dupe of #761 (opened the same day)...


chore(deps): update dev deps

What kind of change does this PR introduce?
chore - update dev deps
Did you add tests for your changes?
No need
Does this PR introduce a breaking change?
No
What needs to be documented once your changes are merged?
Nothing

Than ks


"out" directory does not exist

Describe the bug
When attempting to deploy manually with netlify deploy I get the error:
Error: No such directory /Users/gaberagland/projects/next-netlify/out! Did you forget to run a build?

It appears this is because next build stores all build files in the .next directory, not out. The out directory is only generated when running next export, but the readme specifically says not to use next export.
To Reproduce
Steps to reproduce the behavior:

Start a new Next.js project
Add the netlify.toml file from the readme
Make sure the build script in your package.json calls next build
Run npm run build
Run netlify deploy

Versions

Next.js: 10.2.3
plugin (if installed at fixed version): 3.3.1

If you're using the CLI to build

OS: [e.g. macOS, Windows] macOS
netlify/cli version: 3.31.16

If you're using file-based installation

netlify.toml:

[build]
  command = "npm run build"
  publish = "out"

[[plugins]]
  package = "@netlify/plugin-nextjs"

I got this error too, then realized deploying manually doesn't work. It works only when connected to a git repository

hey @gragland @saidattax. are you running netlify build or netlify deploy --build before netlify deploy or netlify deploy --prod? this step actually _runs_ the build process locally (including running the plugin). netlify buildornetlify deploy --build` is a prerequisite to deploying locally when using any plugin. if this ends up fixing your problem, please do let us know how we can improve our README/docs so this is clearer!

Thanks @lindsaylevine! The issue was that I was running npm run build before deployment, not netlify deploy --build.


GraphQL and Websocket URIs are served over HTTP

When connecting from the Explorer proxy service to any given node, the connection for the graphql and websockets is not using HTTPS.  This may present some attack vectors such as ddos, cache bypassing or whatever else is exploitable here.
Recommend that we switch to HTTPS unless there is good reason not to.

Duplicate of #984


How to test an app using this?

Hi, again.
I hope a question about testing an app using sidekiq-staged_push is appropriate here 🙏.
I'd like to test that jobs get scheduled with the correct arguments.
So far, I haven't found a way to make things like Sidekiq::Testing.fake! work for me—e.g.,
[...]
expect {
  # something that enqueues a MyJob
}.must_differ "MyJob.jobs.size", +1

fails with
"MyJob.jobs.size" didn't change by 1.
Expected: 1
  Actual: 0

So I've been using (MiniTest) mocking—e.g.,
[...]
# expect SomeJob.perform(some_arg) to call
# OtherJob.perform_async(some_arg)
mock_perform_async.expect :call, mock_perform_async, [some_arg]
OtherJob.stub :perform_async, mock_perform_async do
  SomeJob.perform_inline some_arg
end

mock_perform_async.verify

but when I got to something that calls SomeJob.perform_at, I found I also have to mock its :tap
Easy enough, but it feels more and more "inside baseball".
Am I missing something?
Thanks

Sorry—looked past examining Sidekiq::StagedPush::StagedJobs
payload seems to have everything I want
It still seems a little "implementation detail"y, but better than the mocking above.
Also lets me confirm when jobs are/not committed
Comments/insights still welcome—especially if I'm still missing / looking past something(s)!

Might you be open to adding test support to the gem to help avoid pushing knowledge of the implementation details into client app testing?
Playing around with this today (and learning about adding custom Minitest assertions/expectations), I got assert_enqueues_staged_job/must_enqueue_staged_job & assert_enqueues_staged_jobs / must_enqueue_staged_jobs some flavor of "working", allowing this kind of thing:
describe SomeJob, :job do
  context "given some pre-conditions" do
    # set them up...

    it "schedules an OtherJob" do
      expect {
        SomeJob.perform_inline some_object.id
      }.must_enqueue_staged_job(
        class: "OtherJob",
        args: [some_object.id, some_other_value]
      )
    end
  end

  context "given some other pre-conditions" do
    # set them up...

    it "schedules an OtherJob and a StillAnotherJob" do
      expect {
        SomeJob.perform_inline some_object.id
      }.must_enqueue_staged_jobs({
        class: "OtherJob",
        args: [some_object.id, some_other_value]
      },
      {
        class: "StillAnotherJob",
        args: [some_object.id, still_another_value]
      })
    end
  end
end

There is lots of room to negotiate (improve?) assertion/expectation names, what arguments to pass & how, how failed assertions/expectations are reported, etc., of course. This was simply what I got working today; I wanted to open the conversation before extracting it from my project, cleaning it up, and working up a PR, etc.
I notice you use Rspec in this project.
I'm an Rspec fan and normally use it...but I decided to "force myself" to use & learn about Minitest in this app/project, so that's where I've started 🤷♂. Happy to talk about custom matchers, too.

Hey @bobmazanec 👋 I can see that you invested quite some time into researching the topic 👏 👏
Yes indeed, I see examining Sidekiq::StagedPush::StagedJob and its payload as the way to go when testing an application that uses this gem. I think that the popularity and the size of this gem doesn't justify adding custom matchers to the project. However, if you'd like to add an explanation to the README I'll accept the PR 🙂


imx_usdhc: disk_access_init on MIMXRT595 Board fails (Error code -134)

Describe the bug
The disk_access_init failed with error code -134 on the NXP MIMXRT595 Eval Board.
What target platform are you using?
mimxrt595_evk_cm3 (NXP MIMXRT595 Eval Board)
What have you tried to diagnose or workaround this issue?
None
To Reproduce
Steps to reproduce the behavior:
Following project variables are enabled:
CONFIG_DISK_ACCESS=y
CONFIG_LOG=y
CONFIG_FILE_SYSTEM=y
CONFIG_FAT_FILESYSTEM_ELM=y
CONFIG_PRINTK=y
CONFIG_MAIN_STACK_SIZE=2048
CONFIG_DISK_DRIVER_SDMMC=y
CONFIG_SD_LOG_LEVEL_DBG=y
CONFIG_SDHC_LOG_LEVEL_DBG=y
CONFIG_SDMMC_LOG_LEVEL_DBG=y
Expected behavior
disk_access_init successfully.
Actual behavior
*** Booting Zephyr OS build v3.6.0 ***
*** Booting Zephyr OS build v3.6.0 ***
[00:26:34.261,726]  sd: Card does not support CMD8, assuming legacy card
[00:26:34.262,947]  main: Storage init ERROR!
[00:26:35.867,130]  sd: Card does not support CMD8, assuming legacy card
[00:26:35.868,348]  fs: fs mount error (-5)
Error mounting disk.
[00:26:35.868,374]  fs: fs not mounted (mp == 0x30180fe0)
*** Booting Zephyr OS build v3.6.0 ***
*** Booting Zephyr OS build v3.6.0 ***
[00:38:50.392,247]  sd: sd_init_io: Host controller support 3.3V max
[00:38:50.392,254]  sd: sd_init_io: Resetting power to card
[00:38:50.392,286]  usdhc: imx_usdhc_set_io: SDHC I/O: bus width 1, clock 0Hz, card power OFF, voltage 3.3V
[00:38:50.892,391]  usdhc: imx_usdhc_set_io: SDHC I/O: bus width 1, clock 0Hz, card power ON, voltage 3.3V
[00:38:51.392,492]  usdhc: imx_usdhc_set_io: SDHC I/O: bus width 1, clock 400000Hz, card power ON, voltage 3.3V
[00:38:51.392,501]  usdhc: imx_usdhc_set_io: BUS CLOCK: 386718
[00:38:51.394,317]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:51.394,599]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:51.394,880]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:51.395,162]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:51.395,443]  sd: sd_send_interface_condition: SD CMD8 failed with error tion: SD CMD8 failed with error -5
[00:38:51.396,006]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:51.396,294]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:51.396,578]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:51.396,860]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:51.397,141]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:51.397,146]  sd: Card does not support CMD8, assuming legacy card
[00:38:51.398,349]  main: Storage init ERROR!
[00:38:51.398,379]  sd: sd_init_io: Host controller support 3.3V max
[00:38:51.398,385]  sd: sd_init_io: Resetting power to card
[00:38:51.398,410]  usdhc: imx_usdhc_set_io: SDHC I/O: bus width 1, clock 0Hz, card power OFF, voltage 3.3V
[00:38:51.898,493]  usdhc: imx_usdhc_set_io: SDHC I/O: bus width 1, clock 0Hz, card power ON, voltage 3.3V
[00:38:52.398,589]  usdhc: imx_usdhc_set_io: SDHC I/O: bus width 1, clock 400000Hz, card power ON, voltage 3.3V
[00:38:52.398,599]  usdhc: imx_usdhc_set_io: BUS CLOCK: 386718
[00:38:52.400,395]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:52.400,677]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:52.400,959]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:52.401,242]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:52.401,524]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:52.401,806]  sd: sd_send_interface_condition: SD CMD8 fd_interface_condition: SD CMD8 failed with error -5
[00:38:52.402,374]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:52.402,654]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:52.402,935]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:52.403,217]  sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:38:52.403,221]  sd: Card does not support CMD8, assuming legacy card
[00:38:52.404,420]  fs: fs mount error (-5)
Error mounting disk.
[00:38:52.404,442]  fs: fs not mounted (mp == 0x30180fe0)
Impact
Prototype: Annoyance
Series: Showstopper
Environment (please complete the following information):
OS: Windows
Toolchain: Zephyr SDK
Version used: v3.6.0

@attina, thank you for the report. Which Zephyr sample/test did you use to reproduce this? Or is this a custom setup?

Hi David,
The sample on which I found this issue is samples/subsys/fs/fs_sample, no any custom setup.

@hakehuang do we have results on our test range for this sample on RT595?

@hakehuang do we have results on our test range for this sample on RT595?

RT595 use a very old SDHC card socket which I need buy/borrow(so I did not setup on board yet), ButRT685 is OK with below log.
2024-07-01 14:23:56,208 - twister - DEBUG - Flash command: ['west', 'flash', '--skip-rebuild', '-d', '/home/ubuntu/nxp/mimxrt685_evk/temp/mimxrt685_evk_mimxrt685s_cm33_twister_test_only/twister-out/mimxrt685_evk_mimxrt685s_cm33/tests/subsys/fs/fs_api/filesystem.api', '--runner', 'jlink', '--tool-opt=-SelectEmuBySN<PHONE_NUMBER>62']
2024-07-01 14:23:59,446 - twister - DEBUG - DEVICE: *** Booting Zephyr OS build v3.7.0-rc2 ***
2024-07-01 14:23:59,449 - twister - DEBUG - DEVICE: Running TESTSUITE fs_api_dir_file
2024-07-01 14:23:59,455 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,457 - twister - DEBUG - DEVICE: START - test_file_ops
2024-07-01 14:23:59,457 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,459 - twister - DEBUG - DEVICE: Open tests:
2024-07-01 14:23:59,460 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,461 - twister - DEBUG - DEVICE: Open a file without a path
2024-07-01 14:23:59,463 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,463 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,466 - twister - DEBUG - DEVICE: Open a file with wrong abs path
2024-07-01 14:23:59,468 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,469 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,471 - twister - DEBUG - DEVICE: Open a file with wrong path
2024-07-01 14:23:59,473 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,473 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,476 - twister - DEBUG - DEVICE: Open a file with wrong abs path
2024-07-01 14:23:59,479 - twister - DEBUG - DEVICE: E: mount point not found!!
2024-07-01 14:23:59,479 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,482 - twister - DEBUG - DEVICE: Filesystem has no open functionality
2024-07-01 14:23:59,482 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,483 - twister - DEBUG - DEVICE: Double-open
2024-07-01 14:23:59,484 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,488 - twister - DEBUG - DEVICE: Reopen the same fileOpened file /NAND:/testfile.txt
2024-07-01 14:23:59,488 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,490 - twister - DEBUG - DEVICE: Write tests:
2024-07-01 14:23:59,492 - twister - DEBUG - DEVICE: Write to an unopened file
2024-07-01 14:23:59,496 - twister - DEBUG - DEVICE: Write to filesystem has no write interface
2024-07-01 14:23:59,499 - twister - DEBUG - DEVICE: Write to file from a invalid source
2024-07-01 14:23:59,514 - twister - DEBUG - DEVICE: E: file write error (-22)
2024-07-01 14:23:59,514 - twister - DEBUG - DEVICE: Data written:"hello world!"
2024-07-01 14:23:59,514 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,515 - twister - DEBUG - DEVICE: Data successfully written!
2024-07-01 14:23:59,515 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,515 - twister - DEBUG - DEVICE: Read tests:
2024-07-01 14:23:59,515 - twister - DEBUG - DEVICE: Read an unopened file
2024-07-01 14:23:59,515 - twister - DEBUG - DEVICE: Filesystem has no read interface
2024-07-01 14:23:59,515 - twister - DEBUG - DEVICE: Read to a invalid buffer
2024-07-01 14:23:59,517 - twister - DEBUG - DEVICE: E: file read error (-22)
2024-07-01 14:23:59,518 - twister - DEBUG - -- west flash: using runner jlink
-- runners.jlink: reset after flashing requested
-- runners.jlink: JLink version: 7.96
-- runners.jlink: Flashing file: /home/ubuntu/nxp/mimxrt685_evk/temp/mimxrt685_evk_mimxrt685s_cm33_twister_test_only/twister-out/mimxrt685_evk_mimxrt685s_cm33/tests/subsys/fs/fs_api/filesystem.api/zephyr/zephyr.bin

2024-07-01 14:23:59,520 - twister - DEBUG - DEVICE: Data read:"hello world!"
2024-07-01 14:23:59,521 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,523 - twister - DEBUG - DEVICE: Data read matches data written
2024-07-01 14:23:59,524 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,526 - twister - DEBUG - DEVICE: Truncate tests: max file size is 128byte
2024-07-01 14:23:59,527 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,530 - twister - DEBUG - DEVICE: Truncate, seek, tell an unopened file
2024-07-01 14:23:59,531 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,535 - twister - DEBUG - DEVICE: Truncate, seek, tell fs has no these functionality
2024-07-01 14:23:59,538 - twister - DEBUG - DEVICE: Truncating to size larger than 128byte
2024-07-01 14:23:59,541 - twister - DEBUG - DEVICE: E: file truncate error (-22)
2024-07-01 14:23:59,541 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,543 - twister - DEBUG - DEVICE: Testing shrink to 0 size
2024-07-01 14:23:59,546 - twister - DEBUG - DEVICE: File seek from invalid whence
2024-07-01 14:23:59,548 - twister - DEBUG - DEVICE: E: file seek error (-22)
2024-07-01 14:23:59,551 - twister - DEBUG - DEVICE: Testing write after truncating
2024-07-01 14:23:59,552 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,552 - twister - DEBUG - DEVICE: Write tests:
2024-07-01 14:23:59,555 - twister - DEBUG - DEVICE: Write to an unopened file
2024-07-01 14:23:59,559 - twister - DEBUG - DEVICE: Write to filesystem has no write interface
2024-07-01 14:23:59,562 - twister - DEBUG - DEVICE: Write to file from a invalid source
2024-07-01 14:23:59,564 - twister - DEBUG - DEVICE: E: file write error (-22)
2024-07-01 14:23:59,567 - twister - DEBUG - DEVICE: Data written:"hello world!"
2024-07-01 14:23:59,568 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,569 - twister - DEBUG - DEVICE: Data successfully written!
2024-07-01 14:23:59,572 - twister - DEBUG - DEVICE: Original size of file = 12
2024-07-01 14:23:59,573 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,574 - twister - DEBUG - DEVICE: Testing shrinking
2024-07-01 14:23:59,577 - twister - DEBUG - DEVICE: File size after shrinking by 5 bytes = 7
2024-07-01 14:23:59,578 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,579 - twister - DEBUG - DEVICE: Testing expanding
2024-07-01 14:23:59,583 - twister - DEBUG - DEVICE: File size after expanding by 10 bytes = 17
2024-07-01 14:23:59,586 - twister - DEBUG - DEVICE: Testing for zeroes in expanded region
2024-07-01 14:23:59,587 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,588 - twister - DEBUG - DEVICE: Close tests:
2024-07-01 14:23:59,590 - twister - DEBUG - DEVICE: Close an unopened file
2024-07-01 14:23:59,593 - twister - DEBUG - DEVICE: Filesystem has no close interface
2024-07-01 14:23:59,596 - twister - DEBUG - DEVICE: Reuse fs_file_t from closed file
2024-07-01 14:23:59,598 - twister - DEBUG - DEVICE: Close a closed file:
2024-07-01 14:23:59,600 - twister - DEBUG - DEVICE: E: file close error (-5)
2024-07-01 14:23:59,603 - twister - DEBUG - DEVICE: Closed file /NAND:/testfile.txt
2024-07-01 14:23:59,606 - twister - DEBUG - DEVICE: PASS - test_file_ops in 0.148 seconds
2024-07-01 14:23:59,612 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,615 - twister - DEBUG - DEVICE: START - test_file_rename
2024-07-01 14:23:59,615 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,617 - twister - DEBUG - DEVICE: Rename file tests:
2024-07-01 14:23:59,619 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,621 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,623 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,625 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,627 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,629 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,632 - twister - DEBUG - DEVICE: E: mount point not found!!
2024-07-01 14:23:59,634 - twister - DEBUG - DEVICE: E: mount point not same!!
2024-07-01 14:23:59,637 - twister - DEBUG - DEVICE: E: failed to rename file or dir (-22)
2024-07-01 14:23:59,641 - twister - DEBUG - DEVICE: PASS - test_file_rename in 0.023 seconds
2024-07-01 14:23:59,647 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,649 - twister - DEBUG - DEVICE: START - test_file_stat
2024-07-01 14:23:59,650 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,651 - twister - DEBUG - DEVICE: Stat file tests:
2024-07-01 14:23:59,654 - twister - DEBUG - DEVICE: E: invalid file or dir name!!
2024-07-01 14:23:59,657 - twister - DEBUG - DEVICE: E: failed get file or dir stat (-22)
2024-07-01 14:23:59,660 - twister - DEBUG - DEVICE: E: invalid file or dir name!!
2024-07-01 14:23:59,662 - twister - DEBUG - DEVICE: E: invalid file or dir name!!
2024-07-01 14:23:59,665 - twister - DEBUG - DEVICE: E: mount point not found!!
2024-07-01 14:23:59,668 - twister - DEBUG - DEVICE: PASS - test_file_stat in 0.016 seconds
2024-07-01 14:23:59,674 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,677 - twister - DEBUG - DEVICE: START - test_file_statvfs
2024-07-01 14:23:59,680 - twister - DEBUG - DEVICE: E: invalid file or dir name!!
2024-07-01 14:23:59,683 - twister - DEBUG - DEVICE: E: failed get file or dir stat (-22)
2024-07-01 14:23:59,685 - twister - DEBUG - DEVICE: E: invalid file or dir name!!
2024-07-01 14:23:59,688 - twister - DEBUG - DEVICE: E: invalid file or dir name!!
2024-07-01 14:23:59,691 - twister - DEBUG - DEVICE: E: mount point not found!!
2024-07-01 14:23:59,692 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,694 - twister - DEBUG - DEVICE: Optimal transfer block size   = 512
2024-07-01 14:23:59,697 - twister - DEBUG - DEVICE: Allocation unit size          = 0
2024-07-01 14:23:59,700 - twister - DEBUG - DEVICE: Volume size in f_frsize units = 0
2024-07-01 14:23:59,703 - twister - DEBUG - DEVICE: Free space in f_frsize units  = 0
2024-07-01 14:23:59,707 - twister - DEBUG - DEVICE: PASS - test_file_statvfs in 0.027 seconds
2024-07-01 14:23:59,713 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,715 - twister - DEBUG - DEVICE: START - test_file_sync
2024-07-01 14:23:59,716 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,716 - twister - DEBUG - DEVICE: Sync tests:
2024-07-01 14:23:59,718 - twister - DEBUG - DEVICE: sync an unopened file
2024-07-01 14:23:59,722 - twister - DEBUG - DEVICE: sync to filesystem has no sync functionality
2024-07-01 14:23:59,724 - twister - DEBUG - DEVICE: Sync a overflowed file
2024-07-01 14:23:59,727 - twister - DEBUG - DEVICE: E: file sync error (-28)
2024-07-01 14:23:59,729 - twister - DEBUG - DEVICE: Tell a overflowed file
2024-07-01 14:23:59,731 - twister - DEBUG - DEVICE: E: file tell error (-28)
2024-07-01 14:23:59,735 - twister - DEBUG - DEVICE: PASS - test_file_sync in 0.017 seconds
2024-07-01 14:23:59,741 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,743 - twister - DEBUG - DEVICE: START - test_file_unlink
2024-07-01 14:23:59,744 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,744 - twister - DEBUG - DEVICE: Delete tests:
2024-07-01 14:23:59,747 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,749 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,751 - twister - DEBUG - DEVICE: E: invalid file name!!
2024-07-01 14:23:59,753 - twister - DEBUG - DEVICE: E: mount point not found!!
2024-07-01 14:23:59,756 - twister - DEBUG - DEVICE: E: failed to unlink path (-1)
2024-07-01 14:23:59,761 - twister - DEBUG - DEVICE: File (/NAND:/testfile_renamed.txt) deleted successfully!
2024-07-01 14:23:59,765 - twister - DEBUG - DEVICE: PASS - test_file_unlink in 0.019 seconds
2024-07-01 14:23:59,771 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,773 - twister - DEBUG - DEVICE: START - test_fs_dir
2024-07-01 14:23:59,774 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,774 - twister - DEBUG - DEVICE: mkdir tests:
2024-07-01 14:23:59,776 - twister - DEBUG - DEVICE: E: invalid directory name!!
2024-07-01 14:23:59,779 - twister - DEBUG - DEVICE: E: invalid directory name!!
2024-07-01 14:23:59,782 - twister - DEBUG - DEVICE: E: invalid directory name!!
2024-07-01 14:23:59,785 - twister - DEBUG - DEVICE: E: failed to create directory (-1)
2024-07-01 14:23:59,786 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,786 - twister - DEBUG - DEVICE: opendir tests:
2024-07-01 14:23:59,788 - twister - DEBUG - DEVICE: Test null path
2024-07-01 14:23:59,790 - twister - DEBUG - DEVICE: E: invalid directory name!!
2024-07-01 14:23:59,793 - twister - DEBUG - DEVICE: Test directory without root path
2024-07-01 14:23:59,796 - twister - DEBUG - DEVICE: E: invalid directory name!!
2024-07-01 14:23:59,798 - twister - DEBUG - DEVICE: Test directory without name
2024-07-01 14:23:59,801 - twister - DEBUG - DEVICE: E: invalid directory name!!
2024-07-01 14:23:59,803 - twister - DEBUG - DEVICE: Test not existing mount point
2024-07-01 14:23:59,808 - twister - DEBUG - DEVICE: Test filesystem has no opendir functionality
2024-07-01 14:23:59,809 - twister - DEBUG - DEVICE: Test root directory
2024-07-01 14:23:59,813 - twister - DEBUG - DEVICE: Double-open using occupied fs_dir_t object
2024-07-01 14:23:59,817 - twister - DEBUG - DEVICE: Double-open using occupied fs_dir_t object
2024-07-01 14:23:59,820 - twister - DEBUG - DEVICE: Transfer underlying FS error
2024-07-01 14:23:59,822 - twister - DEBUG - DEVICE: E: directory open error (-5)
2024-07-01 14:23:59,822 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,825 - twister - DEBUG - DEVICE: closedir tests: /NAND:/testdir
2024-07-01 14:23:59,828 - twister - DEBUG - DEVICE: E: directory close error (-5)
2024-07-01 14:23:59,828 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,830 - twister - DEBUG - DEVICE: reuse fs_dir_t tests:
2024-07-01 14:23:59,834 - twister - DEBUG - DEVICE: Test: open root dir, close, open volume dir
2024-07-01 14:23:59,838 - twister - DEBUG - DEVICE: Test: open volume dir, close, open root dir
2024-07-01 14:23:59,839 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,839 - twister - DEBUG - DEVICE: lsdir tests:
2024-07-01 14:23:59,841 - twister - DEBUG - DEVICE: read an unopened dir
2024-07-01 14:23:59,844 - twister - DEBUG - DEVICE: E: directory read error (-2)
2024-07-01 14:23:59,846 - twister - DEBUG - DEVICE: read an opened dir
2024-07-01 14:23:59,848 - twister - DEBUG - DEVICE: E: invalid directory name!!
2024-07-01 14:23:59,849 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,850 - twister - DEBUG - DEVICE: lsdir tests:
2024-07-01 14:23:59,851 - twister - DEBUG - DEVICE: read an unopened dir
2024-07-01 14:23:59,854 - twister - DEBUG - DEVICE: E: directory read error (-2)
2024-07-01 14:23:59,856 - twister - DEBUG - DEVICE: read an opened dir
2024-07-01 14:23:59,857 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,857 - twister - DEBUG - DEVICE: Listing dir /:
2024-07-01 14:23:59,859 - twister - DEBUG - DEVICE: [DIR ] NAND:
2024-07-01 14:23:59,860 - twister - DEBUG - DEVICE: [DIR ] SDCD:
2024-07-01 14:23:59,861 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,861 - twister - DEBUG - DEVICE: lsdir tests:
2024-07-01 14:23:59,863 - twister - DEBUG - DEVICE: read an unopened dir
2024-07-01 14:23:59,866 - twister - DEBUG - DEVICE: E: directory read error (-2)
2024-07-01 14:23:59,867 - twister - DEBUG - DEVICE: read an opened dir
2024-07-01 14:23:59,870 - twister - DEBUG - DEVICE: Error opening dir /test [-134]
2024-07-01 14:23:59,871 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,872 - twister - DEBUG - DEVICE: lsdir tests:
2024-07-01 14:23:59,873 - twister - DEBUG - DEVICE: read an unopened dir
2024-07-01 14:23:59,876 - twister - DEBUG - DEVICE: E: directory read error (-2)
2024-07-01 14:23:59,878 - twister - DEBUG - DEVICE: read an opened dir
2024-07-01 14:23:59,879 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,881 - twister - DEBUG - DEVICE: Listing dir /NAND:/testdir:
2024-07-01 14:23:59,882 - twister - DEBUG - DEVICE: [DIR ] testdir
2024-07-01 14:23:59,884 - twister - DEBUG - DEVICE: [FILE] test.txt (size = 0)
2024-07-01 14:23:59,888 - twister - DEBUG - DEVICE: PASS - test_fs_dir in 0.114 seconds
2024-07-01 14:23:59,894 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,896 - twister - DEBUG - DEVICE: START - test_fs_dir_t_init
2024-07-01 14:23:59,900 - twister - DEBUG - DEVICE: PASS - test_fs_dir_t_init in 0.001 seconds
2024-07-01 14:23:59,906 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,909 - twister - DEBUG - DEVICE: START - test_fs_file_t_init
2024-07-01 14:23:59,913 - twister - DEBUG - DEVICE: PASS - test_fs_file_t_init in 0.001 seconds
2024-07-01 14:23:59,919 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,922 - twister - DEBUG - DEVICE: TESTSUITE fs_api_dir_file succeeded
2024-07-01 14:23:59,925 - twister - DEBUG - DEVICE: Running TESTSUITE fs_api_register_mount
2024-07-01 14:23:59,931 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,934 - twister - DEBUG - DEVICE: START - test_fs_register
2024-07-01 14:23:59,937 - twister - DEBUG - DEVICE: PASS - test_fs_register in 0.001 seconds
2024-07-01 14:23:59,944 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:23:59,946 - twister - DEBUG - DEVICE: START - test_mount_unmount
2024-07-01 14:23:59,947 - twister - DEBUG - DEVICE:
2024-07-01 14:23:59,947 - twister - DEBUG - DEVICE: mount tests:
2024-07-01 14:23:59,950 - twister - DEBUG - DEVICE: Pass NULL pointer to fs_mount()
2024-07-01 14:23:59,953 - twister - DEBUG - DEVICE: E: mount point not initialized!!
2024-07-01 14:23:59,956 - twister - DEBUG - DEVICE: Mount an unsupported file system
2024-07-01 14:23:59,960 - twister - DEBUG - DEVICE: E: requested file system type not registered!!
2024-07-01 14:23:59,963 - twister - DEBUG - DEVICE: Mount to an invalid directory
2024-07-01 14:23:59,965 - twister - DEBUG - DEVICE: E: invalid mount point!!
2024-07-01 14:23:59,968 - twister - DEBUG - DEVICE: E: invalid mount point!!
2024-07-01 14:23:59,971 - twister - DEBUG - DEVICE: E: mount point not initialized!!
2024-07-01 14:23:59,973 - twister - DEBUG - DEVICE: E: fs mount error (-22)
2024-07-01 14:23:59,978 - twister - DEBUG - DEVICE: Mount to a directory that has file system mounted already
2024-07-01 14:23:59,981 - twister - DEBUG - DEVICE: E: mount point already exists!!
2024-07-01 14:23:59,986 - twister - DEBUG - DEVICE: Mount using same private data as already mounted system
2024-07-01 14:23:59,989 - twister - DEBUG - DEVICE: E: file system already mounted!!
2024-07-01 14:23:59,993 - twister - DEBUG - DEVICE: Mount a file system has no interface implemented
2024-07-01 14:23:59,997 - twister - DEBUG - DEVICE: E: fs type 1 does not support mounting
2024-07-01 14:24:00,000 - twister - DEBUG - DEVICE: W: mount path /SDCD: is not unmountable
2024-07-01 14:24:00,001 - twister - DEBUG - DEVICE:
2024-07-01 14:24:00,002 - twister - DEBUG - DEVICE: unmount tests:
2024-07-01 14:24:00,002 - twister - DEBUG - DEVICE:
2024-07-01 14:24:00,003 - twister - DEBUG - DEVICE: unmount nothing:
2024-07-01 14:24:00,004 - twister - DEBUG - DEVICE:
2024-07-01 14:24:00,008 - twister - DEBUG - DEVICE: unmount file system that has never been mounted:
2024-07-01 14:24:00,011 - twister - DEBUG - DEVICE: E: fs not mounted (mp == 0x30180b68)
2024-07-01 14:24:00,012 - twister - DEBUG - DEVICE:
2024-07-01 14:24:00,015 - twister - DEBUG - DEVICE: unmount file system multiple times:
2024-07-01 14:24:00,018 - twister - DEBUG - DEVICE: E: fs not mounted (mp == 0x30180bb0)
2024-07-01 14:24:00,022 - twister - DEBUG - DEVICE: unmount a file system has no unmount functionality
2024-07-01 14:24:00,025 - twister - DEBUG - DEVICE: E: fs unmount not supported!!
2024-07-01 14:24:00,029 - twister - DEBUG - DEVICE: PASS - test_mount_unmount in 0.081 seconds
2024-07-01 14:24:00,035 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:24:00,039 - twister - DEBUG - DEVICE: TESTSUITE fs_api_register_mount succeeded
2024-07-01 14:24:00,040 - twister - DEBUG - DEVICE:
2024-07-01 14:24:00,042 - twister - DEBUG - DEVICE: ------ TESTSUITE SUMMARY START ------
2024-07-01 14:24:00,044 - twister - DEBUG - DEVICE:
2024-07-01 14:24:00,052 - twister - DEBUG - DEVICE: SUITE PASS - 100.00% [fs_api_dir_file]: pass = 9, fail = 0, skip = 0, total = 9 duration = 0.366 seconds
2024-07-01 14:24:00,058 - twister - DEBUG - DEVICE: - PASS - [fs_api_dir_file.test_file_ops] duration = 0.148 seconds
2024-07-01 14:24:00,064 - twister - DEBUG - DEVICE: - PASS - [fs_api_dir_file.test_file_rename] duration = 0.023 seconds
2024-07-01 14:24:00,070 - twister - DEBUG - DEVICE: - PASS - [fs_api_dir_file.test_file_stat] duration = 0.016 seconds
2024-07-01 14:24:00,076 - twister - DEBUG - DEVICE: - PASS - [fs_api_dir_file.test_file_statvfs] duration = 0.027 seconds
2024-07-01 14:24:00,082 - twister - DEBUG - DEVICE: - PASS - [fs_api_dir_file.test_file_sync] duration = 0.017 seconds
2024-07-01 14:24:00,088 - twister - DEBUG - DEVICE: - PASS - [fs_api_dir_file.test_file_unlink] duration = 0.019 seconds
2024-07-01 14:24:00,094 - twister - DEBUG - DEVICE: - PASS - [fs_api_dir_file.test_fs_dir] duration = 0.114 seconds
2024-07-01 14:24:00,101 - twister - DEBUG - DEVICE: - PASS - [fs_api_dir_file.test_fs_dir_t_init] duration = 0.001 seconds
2024-07-01 14:24:00,107 - twister - DEBUG - DEVICE: - PASS - [fs_api_dir_file.test_fs_file_t_init] duration = 0.001 seconds
2024-07-01 14:24:00,108 - twister - DEBUG - DEVICE:
2024-07-01 14:24:00,117 - twister - DEBUG - DEVICE: SUITE PASS - 100.00% [fs_api_register_mount]: pass = 2, fail = 0, skip = 0, total = 2 duration = 0.082 seconds
2024-07-01 14:24:00,124 - twister - DEBUG - DEVICE: - PASS - [fs_api_register_mount.test_fs_register] duration = 0.001 seconds
2024-07-01 14:24:00,131 - twister - DEBUG - DEVICE: - PASS - [fs_api_register_mount.test_mount_unmount] duration = 0.081 seconds
2024-07-01 14:24:00,132 - twister - DEBUG - DEVICE:
2024-07-01 14:24:00,134 - twister - DEBUG - DEVICE: ------ TESTSUITE SUMMARY END ------
2024-07-01 14:24:00,135 - twister - DEBUG - DEVICE:
2024-07-01 14:24:00,140 - twister - DEBUG - DEVICE: ===================================================================
2024-07-01 14:24:00,144 - twister - DEBUG - DEVICE: RunID: d535f6c0d99484b60c2ed32741f595cf
2024-07-01 14:24:00,150 - twister - DEBUG - DEVICE: PROJECT EXECUTION SUCCESSFUL

@attina , I notice in your log you are using v3.60?

@hakehuang, Yes, the issue was reproduced on SDK v3.60.

@attina are you able to reproduce this issue with the current state of main?

@hakehuang Yes, The card is a SD card, part number is "Kingstone sd4/16GB".
I added file mimxrt595_evk_cm33.overlay in board folder.
&usdhc0 {
	mmc {
		compatible = "zephyr,sdmmc-disk";
	};
};

and run the test again, the problem is still there.
uart:~$ *** Booting Zephyr OS build v3.6.0 ***
[00:24:43.565,027] <dbg> sd: sd_init_io: Host controller support 3.3V max
[00:24:43.565,033] <dbg> sd: sd_init_io: Resetting power to card
[00:24:43.565,064] <dbg> usdhc: imx_usdhc_set_io: SDHC I/O: bus width 1, clock 0Hz, card power OFF, voltage 3.3V
[00:24:44.065,182] <dbg> usdhc: imx_usdhc_set_io: SDHC I/O: bus width 1, clock 0Hz, card power ON, voltage 3.3V
[00:24:44.565,280] <dbg> usdhc: imx_usdhc_set_io: SDHC I/O: bus width 1, clock 400000Hz, card power ON, voltage 3.3V
[00:24:44.565,295] <dbg> usdhc: imx_usdhc_set_io: BUS CLOCK: 386718
[00:24:44.567,103] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.567,393] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.567,679] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.567,965] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.568,248] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.568,532] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.568,817] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.569,104] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.569,390] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.569,675] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.569,961] <dbg> sd: sd_send_interface_condition: SD CMD8 failed with error -5
[00:24:44.569,969] <inf> sd: Card does not support CMD8, assuming legacy card

@dleach02 I will try to test on main branch.

@hakehuang Yes, The card is a SD card, part number is "Kingstone sd4/16GB".

there is a missing in dts, from the log your card is not support 1v8, but the default dts add 1v8 support.

@dleach02 The sample code failed to pass the build on branch main.

@dleach02 The sample code failed to pass the build on branch main.

the default setting builds ok for me on v3.7.0-rc3-23-g3828c8b86ac, even with below change
scripts/twister -p mimxrt595_evk/mimxrt595s/cm33 -T samples/subsys/fs/fs_sample/
ZEPHYR_BASE unset, using "/home/shared/disk/zephyr_project/zephyr_test/zephyr"
Renaming output directory to /home/shared/disk/zephyr_project/zephyr_test/zephyr/twister-out.2
INFO    - Using Ninja..
INFO    - Zephyr version: v3.7.0-rc3-23-g3828c8b86ac5
INFO    - Using 'zephyr' toolchain.
INFO    - Building initial testsuite list...
INFO    - Writing JSON report /home/shared/disk/zephyr_project/zephyr_test/zephyr/twister-out/testplan.json
INFO    - JOBS: 8
INFO    - Adding tasks to the queue...
INFO    - Added initial list of jobs to queue
INFO    - Total complete:   11/  11  100%  skipped:    9, failed:    0, error:    0
INFO    - 11 test scenarios (11 test instances) selected, 9 configurations skipped (9 by static filter, 0 at runtime).
INFO    - 2 of 11 test configurations passed (100.00%), 0 failed, 0 errored, 9 skipped with 0 warnings in 23.98 seconds
INFO    - In total 0 test cases were executed, 11 skipped on 1 out of total 2 platforms (50.00%)
INFO    - 0 test configurations executed on platforms, 2 test configurations were only built.
INFO    - Saving reports...
INFO    - Writing JSON report /home/shared/disk/zephyr_project/zephyr_test/zephyr/twister-out/twister.json
INFO    - Writing xunit report /home/shared/disk/zephyr_project/zephyr_test/zephyr/twister-out/twister.xml...
INFO    - Writing xunit report /home/shared/disk/zephyr_project/zephyr_test/zephyr/twister-out/twister_report.xml...
INFO    - Run completed

@hakehuang, no rework was mode on the board. I believe this issue is a software or configuration problem.
Because I have another project which is based on freeRTOS, that project can access SD card file system without any trouble.

rework was mode on the board. I believe this issue is a software or configuration problem.
Because I have another project which is based on freeRTOS, that project can access SD card file system without any trouble.

without rework the board is connected to MMC card, not SD, as I tested SD card in mimxrt1060_evk which works fine.

@hakehuang checked the board with hardware, the board is reworked to support SD card, current rework match to the schematic.

@attina , maybe you can try populate R500, which is a pull up for command. seeing from the code, it try to send CMD8 and it fails then switch card to idle, and all following cmd are not valid though.

@hakehuang Is it possible workaround this by changing code. I really don't good at re-work the board:).

@hakehuang Is it possible workaround this by changing code. I really don't good at re-work the board:).

this is common code, it would be very hard to resolve, can you find another type of sd card which supports 1v8? or this is a customer requirement?

@hakehuang, It's a customer requirement. And I think add 3.3v legacy card support it's a reasonable compatible requirement.
Could you guide me to do that in customer branch first.

Go through kongston website, 3.3v is a very common used voltage level in all kinds of card.

It's a customer requirement. And I think add 3.3v legacy card support it's a reasonable compatible requirement.
Could you guide me to do that in customer branch first.

in the subsys/sd.c, sd_common_init comment below lines, I do not have kinston card, all I have is sandisk, so I did not give a try.
	/* Perform voltage check using SD CMD8 */
	ret = sd_retry(sd_send_interface_condition, card, CONFIG_SD_RETRY_COUNT);
	if (ret == -ETIMEDOUT) {
		LOG_INF("Card does not support CMD8, assuming legacy card");
		return sd_idle(card);
	} else if (ret) {
		LOG_ERR("Card error on CMD 8");
		return ret;
	}

I find the PIO4_0 shall be pull high such as the SDC can power on. As SDHC is not the default option, so you need modify the
device tree to enable this pin.
@hakehuang You are right, I should check the schematic carefully, since this is a rework board, the device tree need to update according to the rework. After change the DTS as the following, SD card access is working now.

&usdhc0 {
	mmc {
		status = "disabled";
	};
	pwr-gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
	sdmmc {
		compatible = "zephyr,sdmmc-disk";
		status = "okay";
	};
	no-1-8-v;
};

Thanks again for your great help.

Thank you @hakehuang in helping to identify the resolution.
@attina I'm going to close this issue based on your response.

@dleach02 @hakehuang Thank you.


Reqs to Env

Splitting API design from #20 into iterative PRs.
Initial PR for base Env class

focus on deprecating reqs arg to env arg, with minimal functional and underlying changes
setup_cmds in function class also deprecated, to be used in env instead
backwards compatible for now, with warning thrown

TODO for this PR: more testing with new interface + ensure BC
Follow up PRs

Adding CondaEnv class -- (1) minimal conda env, (2) conda env with additional requirements, (3) conda env from reqs
Adding DockerEnv class -- design TBD
Add new system functions (system.activate/deactivate/remove(env))

Replaced with more updated #54


Introduce data structure for sections

Currently, declarations of contents of UITableView are expressed by [CellDeclaration]. One idea to support sections is expressing sections by some type like [TableViewSectionDeclaration<CellDeclaration>].
struct TableViewSectionDeclaration<CellDeclaration> {
    let headerTitle: String?
    let footerTitle: String?
    let cellDeclarations: [CellDeclaration]

    init(
        headerTitle: String? = nil,
        footerTitle: String? = nil,
        declareCells: @escaping (@escaping (CellDeclaration) -> Void) -> Void) {
        ...
    }
}

With TableViewSectionDeclaration<CellDeclaration>, a conformer may look like:
class ViewController: SectionsDeclarator {
    enum CellDeclaration {
        case a, b
    }

    func declareSections(_ section: (TableViewSectionDeclaration<CellDeclaration>) -> Void) {
        section(TableViewSectionDeclaration(headerTitle: "A") { cell in
            cell(.a)
        })

        section(TableViewSectionDeclaration(headerTitle: "B") { cell in
            cell(.b)
            cell(.b)
            cell(.b)
        })
    }
}

Hey, thanks for sharing your thoughts. This proposal would add support for PR #9 and PR #10 right ? Any updates on this ? We are currently maintaining a fork for both of these features to work.


Package dependencies

The current version of the code requires pandas >2.0 and numpy > 1.2 and other additional packages (e.g. jinja2). These can be added to the setup files.

numpy was already set; will have pandas set with next update

Kelle will add conda instructions to the README.

Being handled in #80


import error from byteplay3

Dave,
tried to start using your pygmyhdl. did a pip install of it  and got the following
from pygmyhdl import *
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-1dc80c27a242> in <module>()
----> 1 from pygmyhdl import *

~/anaconda3/lib/python3.6/site-packages/pygmyhdl/__init__.py in <module>()
     37 from myhdl import *
     38 from myhdlpeek import *
---> 39 from .pygmyhdl import *
     40 from .pckg_info import version

~/anaconda3/lib/python3.6/site-packages/pygmyhdl/pygmyhdl.py in <module>()
     50
     51 if USING_PYTHON3:
---> 52     import byteplay3 as bp
     53 else:
     54     import byteplay as bp

~/anaconda3/lib/python3.6/site-packages/byteplay3.py in <module>()
    398 # ..refer to a code object at TOS1 with function name at TOS
    399
--> 400 hascode = set( [ Opcode(MAKE_FUNCTION), Opcode(MAKE_CLOSURE) ] )
    401
    402 # ..may not continue to the next sequential instruction

NameError: name 'MAKE_CLOSURE' is not defined

Apologies for my late reply.
I'm getting the same error when I try the import in Python 3.6. It works correctly in Python 3.5. byteplay works with the opcodes in Python and those may change from version to version, so the MAKE_CLOSURE opcode has probably disappeared. I'll see if I can find a solution.

I tried a simple fix to byteplay3, but it just moved the problem to another section of the code where another simple fix is not obvious. So I'll need to dig through byteplay3 in detail or find another module that does what it does.
The only immediate (and unsatisfying) solution I have for you is to use Python 3.5.


add missing fd metrics test

What does this PR do?
Adds test that was missed when merging PR #3147
Checklist

[x] This is something else

[ ] I have updated CHANGELOG.asciidoc

:broken_heart: Build Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2023-05-26T13:53:41.821+0000

Duration: 6 min 27 sec

Steps errors
Expand to view the steps failures

mvn install

Took 1 min 51 sec . View more details here
Description: ./mvnw clean install -DskipTests=true -Dmaven.javadoc.skip=true

mvn install

Took 0 min 18 sec . View more details here
Description: ./mvnw clean install -DskipTests=true -Dmaven.javadoc.skip=true

mvn install

Took 0 min 18 sec . View more details here
Description: ./mvnw clean install -DskipTests=true -Dmaven.javadoc.skip=true

mvn install

Took 0 min 17 sec . View more details here
Description: ./mvnw clean install -DskipTests=true -Dmaven.javadoc.skip=true

mvn install

Took 0 min 17 sec . View more details here
Description: ./mvnw clean install -DskipTests=true -Dmaven.javadoc.skip=true

:grey_exclamation: Flaky test report
No test was executed to be analysed.
:robot: GitHub comments
Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run benchmark tests : Run the benchmark tests.

run jdk compatibility tests : Run the JDK Compatibility tests.

run integration tests : Run the Agent Integration tests.

run end-to-end tests : Run the APM-ITs.

run windows tests : Build & tests on windows.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)


Implement suggestion for edit composer

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/34442
PROPOSAL: https://github.com/Expensify/App/issues/34442#issuecomment-1891334360
Tests

Open a long-history report
Send a message
Hover or long-press over the message and select Edit message
Typing @ and verify that the mention suggestion is opened
Typing a part of an emoji name like :sm and verify that the emoji suggestion is opened
Keep the suggestion open and scroll the report screen
Verify that the suggestion is closed

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

Offline tests

Same as above
QA Steps

Open a long-history report
Send a message
Hover or long-press over the message and select Edit message
Typing @ and verify that the mention suggestion is opened
Typing a part of an emoji name like :sm and verify that the emoji suggestion is opened
Keep the suggestion open and scroll the report screen
Verify that the suggestion is closed

[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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label 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/129500732/2a56ed3a-f5c7-4d94-b0e0-1c47f80c89d8

Android: mWeb Chrome
https://github.com/Expensify/App/assets/129500732/ccdf3d04-1c38-4594-85ab-2e917049d1fb

iOS: Native
https://github.com/Expensify/App/assets/129500732/57b11a49-274e-46a5-aaa0-1febfddefc70

iOS: mWeb Safari
https://github.com/Expensify/App/assets/129500732/18eb167a-78a1-4874-a165-076d11935845

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/129500732/9a01956c-7016-495b-ade7-de624a8086f7

MacOS: Desktop
https://github.com/Expensify/App/assets/129500732/7592b2cf-18bc-4229-a2e0-e70ec66f3d5f

I'm closing suggestion for edit composer since the suggestion has a fixed position when it's opened, it will not move when we scroll the report screen

Is there a way we could make it scroll with the report screen?
This doesn't look like the desired behavior
https://github.com/Expensify/App/assets/9059945/8a7b137f-69aa-4738-af3e-6b89824b30fc

Suggestions list sits 2px on top of edit composer

It should have a margin, same as the regular composer

@dukenv0307, the code looks good, couldn't find any issues during the initial testing, awesome job!
Could you please merge the latest main and upload screen recordings for iOS/Android native?

Bug:

Start editing a message
Start entering an emoji name so that the suggestions modal is shown (i.e. :sm)
While keeping the composer focused, scroll the chat window up or down so that the edit composer is hidden behind the header or global composer
Continue typing the emoji name
Notice the emoji suggestions modal opens, chat is scrolled (so that edit composer is visible), which causes emoji suggestions modal to close immediately

This is kind of an edge case not many users will face, but still a valid issue IMO
https://github.com/Expensify/App/assets/9059945/0da1e03e-9f15-4ab4-99f7-8418804714dd

Reviewer Checklist

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

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

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

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

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

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] 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)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

[ ] If any new file was added I verified that:

[ ] 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

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

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

[ ] 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.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] 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.
[ ] 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:

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

[ ] 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.
[ ] 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.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

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

🚀 Deployed to staging by https://github.com/stitesExpensify in version: 1.4.65-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

Hey @stitesExpensify @dukenv0307. I think this Android bug is liked to these changes. I don't think it's serious enough to revert, but it would be great to get it fixed asap. Any thoughts?

@dukenv0307 looks like we had to revert this pr due to deploy blockers it spawned. Can you create a revert revert and fix those problems so we can try again please?

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.65-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Conversion of capital_costs for water tanks

Dear developers,
First of all: Thank you for your great work!
In our research project we would like to create a 100% renewable scenario based on the results of pypsa-eur-sec.
I have a question regarding the capital costs of water tanks.
The capital_costs for water tanks are converted from EUR/m^3 to EUR/MWh in prepare_sector_network.py:
https://github.com/PyPSA/pypsa-eur-sec/blob/5082c8761b2698d45a05955f6f7355e928135c8c/scripts/prepare_sector_network.py#L1484-L1485
But the unit of investment costs for central water tank storage and decentral water tank storage is EUR/kWhCapacity in the current version of your technology-data repository.
Could you explain to me why these values are converted?

Hi @ClaraBuettner, that is a very good catch and indeed a bug! Thanks for finding it!
I tracked it down to Version 0.2.0 from 21 August 2020 when this bug was introduced. It happened as we switched the technology database to github.com/pypsa/technology-data where, as you mention, the unit was changed from EUR/m3 to EUR/kWh (the latter is internally converted to EUR/MWh).
Consequence: PTES capital costs have been overestimated by factor 21.
The fix is quite easy: skip the unit conversion. I'll do a PR ASAP.


feat(following): Added back ability to follow users

fixes pichalite/nodebb-theme-material#19

@LordZardeck thanks for the PR. The menu that you get when you click on the user profile pic is not a good design as there is no clear indication that you get a menu when you click on it. It was just an experiment. That's why I kept the options in the user menu too.
Adding the "Follow" option to that menu won't make it easily accessible that's why I made design changes to the user profile page. Thanks for the PR though.
I am closing this one as the theme was updated to add user follow option.

Yeah, i agree what you did was better. Having a follow button always visible is a better UX. I was trying to stick with the current' theme's function, and similar to how the default theme does it. Thanks for fixing it!


Crash [Spawner Seeker]

Minecraft version & Mod Version:
1.12
Cyclic-1.12.2-1.15.11.jar
Single player or Server:
Server
Describe problem (what you were doing / what happened):
Used the spawner seaker to find a spawner then broke it..  when i used the spawner seaker again server crashed.
Crash log (if any):
http://termbin.com/dd3l
http://termbin.com/7laj
http://termbin.com/0vfj2
(If this is a suggestion and not a bug report, delete all this and just write your suggestion!)

After i broke it and used the item again the orb stayed stationary for about 10 seconds then the game crashed

Did this happen only the once? Or does it happen every time.  Maybe some conflict with another mod?
Seems like an uncommon occurence, i hunted and broke about 30 spawners on a server testing it out :

It seemed consistant if it was locked onto a spawner that didnt exist... but if i moved away it would work fine.. i do have mods changing spawners drops... enderio adds broken spawners and actually additions adds spawner shards but neither one changes the spawner itself.. also have recurent  complex adding vanilla blaze spawners to the overworld.

Also scaling health

https://minecraft.curseforge.com/projects/enigmatica2expert

This is almost certainly caused by https://github.com/PrinceOfAmber/Cyclic/issues/863 (ItemProjectileDungeon corresponds to Spawner Seeker)

Interesting.. but im not using spongeforge. I was told if you want to come on the server and test that you could

@tyler489: The issue exists with or without SpongeForge installed. Installing SpongeForge makes the issue more visible, but doesn't create it.

Changed some things in the other issue, also the config for disabling threading should help https://minecraft.curseforge.com/projects/cyclic/files/2578660


programming Coji

any help where to start , and how to program coji
I had a COJI for my kid, I believe that there should be smarter Apps for COJI, like Simple Math Questions with yes & NO answers.
how to pair with bluetooth , what are the commands that it uses
I have good knowledge in IOT and programming.
Any simple example in programming COJI,   just from where to start

Please update this project since we have added a permission in manifest which allowed you to scan COJI on Android 6 phone/tablet.
Please compile and run the project on Android phone.
The project showed you the following features:

Scan and connect COJI
Change LED colour
Show button and accelerometer state
Drive COJI
Play image, animation and sound on COJI

For your simple math question with yes & no answer, please refer to Playing Features section and you can discover all images/sounds that used in COJI.


double tap to move

Hi,
it would be nice to allow moving to sit/stand position by monitoring double taps on the controller.
This function is already implemented in higher controller versions, which unfortunately are not mounted with the Idasen.
Thanks.

@petrhaus, that's a really good idea and should be feasible.  Thanks for the suggestion.

@nconrad will you be providing windows pre-build packages for that? or instructions how to build one?
Thx

@nconrad will you be providing windows pre-build packages for that? or instructions how to build one?
Thx


C99 issues

@kisvegabor There is a portability issue I'm seeing while testing how LittlevGL compiles with very strict GCC warnings. ISO C99 doesn't support unnamed structs/unions.
Example:
https://github.com/littlevgl/lvgl/blob/a374baa37602288081a5ad770a875089a95acfbf/lv_hal/lv_hal_indev.h#L73-L91
The union itself is unnamed and contains two unnamed structs.

Anonymous enums or structs are available since C11 [1].
[1] https://www.geeksforgeeks.org/g-fact-38-anonymous-union-and-structure/

@C47D That's true, but we're supposed to have C99 compatibility.

Thank you for pointing this out.
These structs will be updated by the muli-display update. So let's postpone it until it's merged. (probably next week)
Have you found other unnamed structs or enums too?

@kisvegabor I think there may have been others, but this one was generating a lot of the warnings, since it's included by most of the files. I will report other ones if I see them.

I named these struct and unions in dev-6.0.

@kisvegabor Great, I'll try it again as soon as possible.

@kisvegabor These unions are still unnamed, as well as the ones in the lv_colorX_t types in lv_misc/lv_color.h:
https://github.com/littlevgl/lvgl/blob/551eadc1d5fc6c20bab9c88ff7dcd1d5f0ae37e4/lv_hal/lv_hal_indev.h#L59-L69
https://github.com/littlevgl/lvgl/blob/551eadc1d5fc6c20bab9c88ff7dcd1d5f0ae37e4/lv_hal/lv_hal_indev.h#L125-L136
Additionally, a new problem was introduced with multi-display support.
./lvgl/lv_conf_checker.h:198:16: warning: redefinition of typedef 'lv_disp_drv_user_data_t' [-Wpedantic]

Redefining types is not allowed in C, nor is there a facility to check whether the type is already defined.

Thank you!
I've updated the colors. I'll do the rest soon.

@embeddedt
Do you have an idea about what to do with the typedefs? It can't be checked by lv_conf_checker.h if a typedef is exists or not.
I can't imagine a better solution then simply not checking typedefs in lv_conf_checker.h. What do you think?

@kisvegabor I agree. Let's remove the typedefs from lv_conf_checker.h.

Ok, I'll do this way.
I fixed these issues in the event branch which will be merged soon into dev-6.0

I am having problems when using next functions:
uint8_t (*lv_txt_encoded_size)(const char *) =                  lv_txt_utf8_size;
uint32_t (*lv_txt_unicode_to_encoded)(uint32_t) =               lv_txt_unicode_to_utf8;
uint32_t (*lv_txt_encoded_conv_wc)(uint32_t) =                  lv_txt_utf8_conv_wc;
uint32_t (*lv_txt_encoded_next)(const char *, uint32_t *) =    lv_txt_utf8_next;
uint32_t (*lv_txt_encoded_prev)(const char *, uint32_t *) =   lv_txt_utf8_prev;
uint32_t (*lv_txt_encoded_get_byte_id)(const char *, uint32_t) = lv_txt_utf8_get_byte_id;
uint32_t (*lv_encoded_get_char_id)(const char *, uint32_t) =   lv_txt_utf8_get_char_id;
uint32_t (*lv_txt_get_encoded_length)(const char *) =          lv_txt_utf8_get_length;

The question here is, Is this type of initialization legal in C?
What I thought is that a global variable could only be initialized to a constant or a literal since it is done in compiling time.
When assigning a function pointer, like it's the case, its address might not be allocated yet.

@beibean What is the exact error you are getting?

@beibean In that case it sounds like an issue with your device specifically. I think that there is no undefined behavior used here.

@embeddedt Ok, thanks! I will use proper initialization functions myself.

@embeddedt What about this define within lv_conf?
#define LV_COMPILER_NON_CONST_INIT_SUPPORTED 1  /* 1: Initialization with non constant values are supported */

@beibean You can try configuring that according to how your compiler setup works.

What is the difference between:
/*Working*/
static void (*px_fp)(lv_coord_t x, lv_coord_t y, const lv_area_t * mask, lv_color_t color, lv_opa_t opa) = lv_vpx;

and
/*Not working*/
uint8_t (*lv_txt_encoded_size)(const char *) =     lv_txt_utf8_size;

It seems the same to me: assign a function pointer to a global function pointer variable.

There is a big difference:
Static variable is initialized when declared while extern variable is not.
Just for you to know, this variable within lv_draw_aa_get_opa did not initialize properly neither:
    static const lv_opa_t * seg_map[] = {seg1, seg2, seg3, seg4,
                                         seg5, seg6, seg7, seg8
                                        };

Static variable is initialized when declared while extern variable is not.

AFAIK all static and global variables are initialized in the startup code.
So these are equivalent for the compiler:
uint8_t global_x = 1;
static uint8_t static global_x = 1;

int main(void) {
  static uint8_t static_local = 1;

}

All these variables are mapped to specific RAM addresses and initialized before `main` is called

Anyway, I believe it works correctly because in the past few years nobody reported any issue about it.

AFAIK all static and global variables are initialized in the startup code.

That is what I thought, but somehow my compiler treats them in a different manner.

Anyway, I believe it works correctly because in the past few years nobody reported any issue about it.

No bother, I have already created my own init functions.
I do not have much time these days, but I will investigate more deeply this issue and let you know what is happening with my compiler, just for the case someone could have the same matter.

@beibean I'm also curious what can cause this issue.
@embeddedt I merged a lot of things to dev-6.0 today. It also fixes the issues mentioned above. Can you check what is still missing?

@kisvegabor There were a few remaining problems; I fixed them in #948.

Merged, thank you very much!


Disallow full stops in entry slugs

- Summary
Full stops in slugs were preventing branch creation for unpublished
entries when using the editorial workflow, as . is not an allowed
character in branch names. This commit changes slug generation so
periods are replaced with - the same way other "non-sluggable"
characters are.
Closes #275.

- Test plan
Tested manually (no current automated test setup exists for the editorial workflow, due to its dependence on the GitHub API)
- Description for the changelog

Disallow full stops in entry slugs

Looks great!


Add benchee smartcell

Pull Request Test Coverage Report for Build 8ea2e9d0a0476a046bf57d49a7b7d9e7982c2b01-PR-14

5 of 13 (38.46%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-4.6%) to 86.093%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/benchee_dsl/server.ex
4
5
80.0%

lib/benchee_dsl/smart_cell.ex
0
7
0.0%

Totals

Change from base Build 63e9d77305f5be2fb6f9c615b0400a94b6140def:
-4.6%

Covered Lines:
130

Relevant Lines:
151

💛  - Coveralls


Quick Switch path for open file explorer

Description of the new feature / enhancement

Scenario when this would be used?
This function is very practical and is used almost every day. It is very convenient for ordinary users and professional users.
Saving and selecting files is very fast. I only use this function with this software. But always stay backstage. I hope this function can be added
Supporting information
https://www.listary.com/
feature in use from from @Mariusmssj Listary: https://www.youtube.com/watch?v=9T9-OtRVeUw

Duplicate of #12321

Thanks for your suggestion! This issue is a duplicate.
I'm linking this issue to #12321 to centralize the discussion thread, please go to that thread for discussion.
Thanks for your help to make PowerToys a better piece of software!

That is what I want, too.

This feature is a must! Makes my life so much easier

+1

Would love to have this. The only thing I miss from Listary.

+1 here. Best Listary feature

It would be fantastic to get this feature! I keep hoping someone will take over and continue the development of listary, but it's been idle for quite some time now...

Any updates on this? This is the only reason I am using Listary.

对此有何更新？这是我使用 Listary 的唯一原因。

No, I've been waiting too

@CodeTheZhu why have you closed the request as completed if it's not actually done?

@CodeTheZhu why have you closed the request as completed if it's not actually done?

Exactly what I was thinking. This feature has not been implemented yet

Why was this closed?

I also use Listary for this reason only, but would much prefer to have it in PowerToys. It's a massive time saver if you use a lot of different applications.

I'd also love to see this feature.
And for the record:

I haven't tested Listary yet, but there seems to be https://github.com/gepruts/QuickSwitch providing the feature (which I also haven't tested yet).
And there is https://codesector.com/directfolders which provides a similar feature called "ClickSwitch" there. The advantage there seems to be that all the open Explorer windows are provided as list from which can be chosen (see the screenshot below). As you can also see in the screenshot, this feature is (unfortunately) only available in the Pro version...