text:
Assignment 1 Daiqi Lin

Introduction

Hi all, this is Daiqi Lin. I'm studying in the Faculty of Applied Science.
Describe your research in 2-3 sentences to someone that is not from your field (please avoid abbreviations)

My research is about computational fluid dynamics and machine learning. Computational fluid dynamics package will be applied to simulate the blood flow in patient-specific geometry. Meanwhile, neural networks will be trained to predict flow field to cut computation time and expense.
My research entails the following aspects:

Research Aspect
Answer

Use/collect personal data (health data, interviews, surveys)
Yes

Use/collect experimental data (lab experiments, measurements with instruments)
Yes

Collaborate with industry
Yes

Write/develop software as the main output of the project
Yes

Use code (as in programming) for data analysis
Yes

Work with large data (images, simulation models)
Yes

Other:
N/A

Reflections on the importance of RDM videos

Bad management of data will definitely lead to research disaster. I always forget the details of data that I got several months ago. Then I need much time to recall the details.
What would you like to learn during this course?

Good results should be transparent and reproducible. I will record how I get the data and document the data analysis.
Checklist assignments

[x] Assignment 1: creating a GitHub issue (before Class 1)
[x] Respond to the GitHub issue on 'data challenge'
[x] Assignment 2: Data Flow Map 1 (share a link in this issue before 17 May 13:00). use password: 1111 Link: https://surfdrive.surf.nl/files/index.php/s/rQsY3uuu3FmdPwP
[ ] Provide feedback to at least one Assignment 2 from another participant
[ ] Respond to the GitHub discussion on 'licenses'
[ ] Respond to the GitHub discussion on 'folder structure'
[ ] Respond to this GitHub issue with your readme file
[ ] Provide feedback to at least one readme file from another participant
[ ] Assignment 3: Data Flow Map 2 (share a link in this issue before 31 May 13:00). Link:
[ ] Provide feedback to at least one Assignment 3 from another participant
[ ] Assignment 4: Data Management Plan (before Class 2)
[ ] Respond to the GitHub discussion on 'Data Management Plans' if you have any questions (optional)
[ ] Assignment 5: Data Flow Map 3: submit your slide (before Class 2)

Hi @lindaiqi ! Thanks for handing in assignment 1! Could you please still add 2-3 sentences about what your research is about? Thanks!

Feedback on Assignment 2:
Hi! To me it feels like the basics are covered in your assignment but there is some room for elaboration. For example, how much data and what type of files to you expect to be generating?

Hi @lindaiqi! Thanks for following up with assignment 1 and for handing in assignment 2!
It looks very clear, well done! I agree with @AngeliquePothuizen that more detail on the data type and format would be helpful: this also becomes more important for the next assignment!
In terms of storage solutions, you may want to have a look at the TU Delft instance of GitLab, which is a safe solution for any scripts/codes of a more sensitive nature. You may also want to check out the workshops that the eScienceCenter is organising regularly: they often repeat workshops on a similar topic if you missed a particular one: https://www.esciencecenter.nl/events/?f=workshops
In the next assignment you'll also consider which part of your research can be publicly shared: this may be more complicated in your case with all the flags! @YiZhang025 and @JRdeJong also indicated working with personal data, so for the follow up assignment you may also want to have a look at each other's comments/solutions for this!

Hi @lindaiqi! Thanks for handing in assignment 3 - it looks clear! I have a couple of pointers:
Documentation/metadata

With code it can also be very important to document versions and dependencies/libraries used.

Data publication

If the data/code is indeed confidential there may be sharing restrictions. Otherwise, TU Delft does expect PhD candidates to share the code/data underlying the PhD projects.

Also: I see you marked that you shared your READme file above, but I don't see a link or a READme file in the comments. Can you please still share this? Thanks!

Hi @lindaiqi
Regarding data organization, I would recommend you to start the file names with the dates. This way, simulations are ordered chronologically. If you have some kind of log with which simulations you did when and what parameters you changed, you can easily find the corresponding files.

Hi @lindaiqi,
Just noticed that you also work with MRI data and it seems you are also working on numpy. Your data flow map is inspiring to me as well, and it will be interesting to have a chat regarding the structure of folders, and also, how to store them in an efficient way.

This readme file was generated on 2023-06-16 by Daiqi Lin
GENERAL INFORMATION
Title of Dataset: CFD simulation results of aorta
Author/Principal Investigator Information
Name: Daiqi Lin
ORCID:0000-0001-8759-4937
Institution: TU Delft
Address: Van der Maasweg 9, 2629 HZ Delft
Email: d.l.lin@tudelft.nl
Author/Associate or Co-investigator Information
Name: Sasa
ORCID:
Institution: TU Delft
Address: Van der Maasweg 9, 2629 HZ Delft
Email: S.Kenjeres@tudelft.nl
Date of data collection: 2023-06-15
Geographic location of data collection: Delft, Netherlands
Information about funding sources that supported the collection of the data: None
SHARING/ACCESS INFORMATION
Licenses/restrictions placed on the data: no restriction
Links to publications that cite or use the data: N.A.
Links to other publicly accessible locations of the data: N.A.
Links/relationships to ancillary data sets: N.A.
Was data derived from another source?
If yes, list source(s):
Recommended citation for this dataset: Please note that the results of this dataset are caluclated from the MRI image of human aorta and boundary condition set up are also based on MRI measurement.
DATA & FILE OVERVIEW
File List: <list all files (or folders, as appropriate for dataset organization) contained in the dataset, with a brief description>
-case file: include all the parameters for model setup
-data file: include results
-journal file: record all the parameters to make calculation automatically
-udf file: user defined function
-script file: to run on the hpc
Relationship between files, if important:
Additional related data collected that was not included in the current data package: None.
Are there multiple versions of the dataset?
If yes, name of file(s) that was updated:
Why was the file updated?
When was the file updated?
METHODOLOGICAL INFORMATION
Description of methods used for collection/generation of data:
Methods for processing the data: The dataset was calculated by CFD package Fluent. All the detailed parameter to build the numerical model was recorded by journal files.
Instrument- or software-specific information needed to interpret the data: Fluent 19.0
Standards and calibration information, if appropriate: The simulation should be validated by MRI measurement.
Environmental/experimental conditions:
Describe any quality-assurance procedures performed on the data: All the parameters should be recorded in journal file to make results reproducible.
People involved with sample collection, processing, analysis and/or submission: reproducible

Thanks for sharing your README @lindaiqi!

I think your dataset title could be a bit more specific about either the content of the dataset or the research questions that this particular dataset is trying to address. It could also be data underlying a research publication, so then you could say: 'Dataset underlying the publication: [name publication]'.
Good to see that you already set up an ORCID! Sasa's ORCID is: https://orcid.org/0000-0002-7568-5513 (although it doesn't seemed to be used :))
For the 'Licenses/restrictions placed on the data' you can add your preferred license from the licence thread. (CC BY-NC-SA4.0 and/or MIT)
Not all of these questions will always be applicable to all of the datasets that you work with: you can also delete the questions that you do not find helpful.
I think your methodological information could be a bit more extensive - think about how you describe the methods in the method section of a publication. You can also copy/paste some of this information if that makes things easier.
Similar comment for the quality-assurance procedures: what are 'all the parameters'?
The last question is more aimed at anyone that supported the data analysis: did you do this all yourself or where there any technicians, students or colleagues involved?

authors: AngeliquePothuizen EstherPlomp RobinvanderHaar YiZhang025 lindaiqi


text:
[其他问题]Ubuntu本地安装运行出问题。

确认

[X] 我的版本是最新版本，我的版本号与 version 相同。
[X] 我已经查阅了排错流程，确保提出的问题不在其中。
[X] 我已经查阅了已知问题，并确认我的问题不在其中。
[X] 我已经 issue 中搜索过，确认我的问题没有被提出过。
[X] 我已经修改标题，将标题中的 描述 替换为我遇到的问题。

当前程序版本
3.0.9
问题类型
其他问题
问题描述
我想直接在ubuntu上安装autobangumi，但运行失败了。
存在的问题：

目前主目录下似乎并没有了src的代码文件。
我尝试直接运行dev.sh脚本发现报错。
a. 主目录下并没有src了。
b. 我怀疑src变成了backend/src/。但这个文件夹的module下面也没有__version__.py文件
我尝试直接运行backend/src/main.py但运行后的界面是FastAPI。（默认主页跳转会在后面加上/docs）

我目前不知道如果直接在linux本地部署，应该怎么运行这个脚本。
发生问题时系统日志
No response

为何总是会进这里？实在无法理解。我运行的是backend/src/config里的内容。我下载了https://github.com/Rewrite0/Auto_Bangumi_WebUI/releases/download/v2.0.3/dist.zip。
并且也解压改名成templates。

不对，我看了html/index。发现里面的内容是这样的。

所以不管怎么样运行，我都只能看到api。
求助，到底应该怎么正确的直接在本地运行这个项目？

https://github.com/EstrellaXD/Auto_Bangumi/wiki/local-run#进入源代码目录并且创建版本信息

https://github.com/EstrellaXD/Auto_Bangumi/wiki/local-run#进入源代码目录并且创建版本信息

你好，你们的代码命名修改了。在我并没有在module下面找到__version__.py的文件。

@kuoluo1995 你进不去webui就是因为没生成version版本信息。

@kuoluo1995 你进不去webui就是因为没生成version版本信息。
好的，但能询问一下怎么解决这个问题吗？我没有找到__version__.py这个文件。我试过加在__init__.py上。但没有效果。

@kuoluo1995 你进不去webui就是因为没生成version版本信息。
你好，再度打扰了。
但目前官方文档中我似乎也没找到__version__.py这个文件？

@kuoluo1995

@kuoluo1995 手动创建 version.py 文件.

@kuoluo1995 手动创建 __version__.py 文件.
非常感谢!解决了!

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
CombatStorage

Is your feature request related to a problem? Please describe.
Players can take on fights forever, or can easly escape with pearls. Players can have 3 diamond sets in eq or half of eq of totems to make fights last long.
Describe the solution you'd like
A system with CombatStorage where the players get to store a lot of things.
Describe alternatives you've considered
Making limits for certain items everywhere with outside of the fight.
Additional context
After hitting a comand like /storage the User gets to pick what items to add/extract.
During the fight all over the limit items gets taken to users inventory.
Users can open menu when they are not in the fight.

Just a sketch sorry for language

repo: EternalCodeTeam/EternalCombat


text:
Update _index.md

Updated def for 'contract address'

@tesla809 new contributor, @KenMan79 is recruiting.

@tesla809 new contributor, @KenMan79 is recruiting.

source: gharchive/pull-request

repo: EthBuilders/Curriculum


text:
Refactor event carousel 🎠

During the v2.0 design migration, we seem to have lost the ability to scroll the event carousel on mobile via touch. Additionally, the way that the event carousel fades to white on the edges of the page should be removed in the mobile version since there is no space for it.

Example of using Svelte actions instead of coding media queries: https://github.com/leveluptuts/Svelte-Element-Query/blob/b72830c388ec05ba1822254e862e532b145feff7/src/index.ts.

This has been marked as wontfix for now since design plans for v3.0 will not include this Svelte component.


text:
Fix spacing between Board members and semester dropdown menu (Issue #223)

This works for me, it doesn't affect spacing of other components I believe

Issue #223 is not a priority and will be taken care of in a future version.


text:
🛑 Lisandro Bril is down

In 8fe559c, Lisandro Bril (https://www.lisandrobril.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Lisandro Bril is back up in 3c3ac93.

repo: Etixen/upptime


text:
when i use rz in centos8 i got 'Offered', what's the meaning?

Version: 1.0.105
Platform: darwin 19.3.0
Plugins: none

After i chose the file to upload , it print 'Offered',  nothing  happen?
what can i do?

Please capture DevTools console logs at the time of the issue: https://github.com/Eugeny/terminus/wiki/Debug-logs

ths for your  reply so rapid，the console log.

Is this happening locally or over an SSH connection? Please post your lrzsz version and environment vars.

I meet the same question when connect my server over SSH conection.
lrzsz version is 0.12.21-8.

Can you please check if restarting Terminus and having just one tab open allows rz to work?

It is not work :(

Can you please check if restarting Terminus and having just one tab open allows rz to work?

just one table , rz not working, also got Offered.

authors: Eugeny donglee-afar imlizi

repo: Eugeny/terminus

license: mit

license_source: bigquery


text:
Addition to Toy Gun

I think it would be funnier if the toy gun had a rare chance to fire a real bullet.
like 2 people playing with it and one picks it and shoots the friend and he dies type of stuff

This does sound great. Not just for trolling though - would be cool to be an emergency situation with a monster and pull out toy gun hoping for a hail mary.

repo: EvaisaDev/LethalThings


text:
无法使用cookie下载视频

发生错误的平台？
TikTok
发生错误的端点？
API-V1/
提交的输入值？
https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oMWYIAwEitBALo4iFqA6JzrawTdAICQzIcmdfY/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=tiktok&cd=0|0|1|&cv=1&br=1792&bt=896&cs=0&ds=3&ft=Fx9KL6BMyq8uhG2kE12an-HYztGxRf&mime_type=video_mp4&qs=0&rc=OTk5ZDw6MzdpZmU5OTtkaUBpM3c0eGo5cnBkczMzODczNEAuYTI2MjEvNjExMjQuLzE0YSMxZGRiMmRzbmBgLS1kMS1zcw%3D%3D&btag=e00098000&expire=1717682482&l=202406060758216FEC6A471930A803C3CC&ply_type=2&policy=2&signature=ef9dc9c17d4edc006af8c377131a7b13&tk=tt_chain_token
是否有再次尝试？
如：是，发生错误后X时间后错误依旧存在。
你有查看本项目的自述文件或接口文档吗？
cookie:
tt_csrf_token=Onwmoqlz-nyUXFB2q57xxFIqTydVBFjHONDs;
tt_chain_token=U3IUsf7vGmxbUydwuUaRzg==;
msToken=DnHFIrSBuMbbVk9BItWqhfXfvrmFKuW5KIHmqnMw-s0TvgrjF3zMT2oWiaedkgqWvb7T8h7ugoPyqhXDPCl5Z-_NE7yhc73wCi4dqw8cVYCcAuIpOechm4wut8i9yjP3XG1Sk1E-QA2v6R0RVOfuE-tk
这个实时的cookie 为什么都是403

我也遇到了这个问题。原来可以的下载视频apihttps://api22-normal-c-alisg.tiktokv.com也失效了，想用这个也不行

这个连接来自“api/post/item_list”

I used this and it worked really well

I used this and it worked really well

how to use？ where cookie?

请在源代码中修改device_id和你自己的cookie。然后在同一浏览器中打开视频cdn链接

请在源代码中修改device_id和你自己的cookie。然后在同一浏览器中打开视频cdn链接

device_id是4.0新增的参数吗？3.21是不是已经失效了？这两天都无法获取视频了。

authors: Evil0ctal TheSnowGuru befantasy laosanyuan yangyiming


text:
Add default settings

[ ] IP
[ ] SteamGroupId
[ ] Vanish
[ ] God
[ ] Skin Color
[ ] Beard
[ ] Face
[ ] Hair
[ ] Clothings/Skins
[ ] Items?

closed by https://github.com/EvolutionPlugins/Dummy/commit/9cb31b7ec96d7b463bc3962ce39c67e98772d4f6

repo: EvolutionPlugins/Dummy


text:
Discussion: Milestone 16-04 (open for 1 week)

Milestone 160-4 has been updated with issues to address and a target date of 30th November. There's a few issues available to self-assign if you are interested, or if there's any other issues you want to discuss or attach please do so.
My intention is to focus on the .NET Framework detection so that test can be re-added, which I think is key to the usefulness of this tool.
Discussion open for 1 week until 28th October, then we should move forward with the items that are attached and assigned.

Milestone issues are locked. Closing this discussion.

repo: ExchangeAnalyzer/ExchangeAnalyzer


text:
ENH: Get_cache_record with both uri or pk as input

Pretty useful in https://github.com/ExecutableBookProject/MyST-NB/pull/55 , where I want to get cache records using uri, of notebooks that have been directly cached as they were executed somewhere else, and need not go through stage, execute pipeline.

Edit: I'm guessing you realised why this is not possible lol?
Ah yes but the problem here is that there is not a 1-to-1 mapping between URIs and Cache records; there can and will (once you have re-executed) be multiple cache records for a single URI.
The best you can do is query the cache for URI:https://github.com/ExecutableBookProject/jupyter-cache/blob/7c30e6c623334f089d9697dd944c77d121c8c547/jupyter_cache/cache/db.py#L189
which will be returned as a list, and select the one with the newest created date

Following from this, in ExecutableBookProject/MyST-NB#55, you should always be matching 'external' files by hash not URI

authors: AakashGfude chrisjsewell

repo: ExecutableBookProject/jupyter-cache


text:
Figure out a way for Sphinx to deal with mime bundles

Something that we have run into in implementing an IPYNB parser, as well as in thinking through an execution/cacheing step, is how to deal with the outputs of running Jupyter cells. AKA, how to handle mime bundles.
The way that jupyter-sphinx does this is to hard-code rules that parse the bundle and convert those directly to docutils objects at parse time. This isn't ideal, because this throws away information about the bundle before the rendering step, which is when you'd want that extra "mime-bundle-like" information.
So we should figure out a way to do something like:

Given the output of a Jupyter cell, find a way to either represent this in a docutils node or to represent a "pointer" in docutils that can be used to fetch the outputs later
Instructions for how, at the builder (transform?) step, this mimebundle should be grabbed and then rendered in an opinionated fashion (e.g. HTML renderers would pull JS/HTML if it's in an output, while PDF renderers would just pull static representations of the outputs)

The way that jupyter-sphinx does this is to hard-code rules that parse the bundle and convert those directly to docutils objects at parse time. This isn't ideal, because this throws away information about the bundle before the rendering step, which is when you'd want that extra "mime-bundle-like" information.

I fully agree. This should certainly be changed on the jupyter-sphinx side.

authors: akhmerov choldgraf


text:
feat: add tracer config types

Expose the config types so that clients can easily understand what is required without looking at the source code.

@jsamireddy Thank you for merging. I can not create a git tag on the repo though so you will have to do that to release the next minor version

repo: ExpediaDotCom/haystack-client-node


text:
[$1000] Payment for C+ on pull/11813

@parasharrajat needs payment for https://github.com/Expensify/App/pull/11813
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01563fe19fe79d6dc1
Upwork Job ID: 1594758257353719808

@isabelastisser please create an upwork job and payout @parasharrajat for the PR in the OP. Thanks!

Working on this now.

Offer made to @parasharrajat here: https://www.upwork.com/nx/wm/pre-hire/c/8577561/offer/22385873. @parasharrajat, please accept the offer and I will issue the payment. Thanks!

@isabelastisser Done.

Hi! Can you please only accept the offer and make sure that you won't end the contract? I need the contract to be open to issue the payment. Can you please review the contract and see if you can reopen it? Let me know when you do, and I will try to issue the payment again then. Thanks!

I must have done it accidentally. Can you please send another offer?

All set!

authors: isabelastisser parasharrajat puneetlath

repo: Expensify/App


text:
[HOLD][Group 3][Accessible Pressable] Migrate HeaderView

HOLD on https://github.com/Expensify/App/issues/16988
Description
Migrate HeaderView to use PressableWithoutFeedback

Triggered auto assignment to @conorpendergrast (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero process steps for feature requests for more details.

Can you assign me to this one, please? :D

Labels and assignments were acting funky here, sorry for any extra pings!

Hello, Nice to meet you.
I'm a senior engineer.
I can solve this issue in 2 days.
Allow me to list brief description.

Import the PressableWithoutFeedback component from the react-native library.
import React, { useState } from 'react';
import { View, Text, PressableWithoutFeedback } from 'react-native';

Change the TouchableWithoutFeedback component to PressableWithoutFeedback.
<PressableWithoutFeedback
onPress={() => {
console.log('Header pressed!');
}}

Header

Test app to make sure that the HeaderView is working properly.

Here is the complete code for the HeaderView component using the PressableWithoutFeedback component:
import React, { useState } from 'react';
import { View, Text, PressableWithoutFeedback } from 'react-native';
const styles = {
header: {
height: 40,
width: 100,
backgroundColor: 'red',
},
headerText: {
fontSize: 20,
color: 'white',
},
};
const HeaderView = () => {
const [isPressed, setIsPressed] = useState(false);
return (
<PressableWithoutFeedback
onPress={() => {
setIsPressed(!isPressed);
console.log('Header pressed!');
}}
>

{isPressed ? 'Pressed' : 'Not pressed'}

);
};
export default HeaderView;
I hope to meet you soon.
Thank you.

Hello, Nice to meet you.
I'm a senior engineer.
I can solve this issue in 2 days.
Allow me to list brief description.

Import the PressableWithoutFeedback component from the react-native library.
import React, { useState } from 'react';
import { View, Text, PressableWithoutFeedback } from 'react-native';

Change the TouchableWithoutFeedback component to PressableWithoutFeedback.
<PressableWithoutFeedback
onPress={() => {
console.log('Header pressed!');
}}

Header

Test app to make sure that the HeaderView is working properly.

Here is the complete code for the HeaderView component using the PressableWithoutFeedback component:
import React, { useState } from 'react';
import { View, Text, PressableWithoutFeedback } from 'react-native';
const styles = {
header: {
height: 40,
width: 100,
backgroundColor: 'red',
},
headerText: {
fontSize: 20,
color: 'white',
},
};
const HeaderView = () => {
const [isPressed, setIsPressed] = useState(false);
return (
<PressableWithoutFeedback
onPress={() => {
setIsPressed(!isPressed);
console.log('Header pressed!');
}}
>

{isPressed ? 'Pressed' : 'Not pressed'}

);
};
export default HeaderView;
I hope to meet you soon.
Thank you.

HI @grgia the PR is ready :D but I think I don't understand why External label was added to this issue after I finished my work

@aimane-chnaif - could you provide an update on where we are with this one? thanks!
also, I am going OOO until June 20. Is the only thing needed from me to issue payment? if so, and payment is due before June 20, please re-apply the BUG label so that another BZ member can process payment.

@maddylewis I think this issue is ready for payment

great - i can do that 👍
to confirm:

$250 to @aimane-chnaif
$250 to @Skalakid

got it - ty for clarifying. ill get the offer sent over in just a few.

this is paid!

authors: JavaSuperDev MelvinBot Skalakid grgia maddylewis roryabraham


text:
Flagged harassment or assault words show up on LHN after user deletes a posted comment

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!

Action Performed:

Send a message from account A to account B
Flag the comment from account B as Harassment or Assault
Observe the word is removed
Post a comment from account B
Delete the last comment

Expected Result:
The flagged word should not show up on LHN
Actual Result:
The flagged word shows up on LHN
Workaround:
Unknown
Platforms:

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

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

Version Number: 1.3.29-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/a67cdf79-96d3-4787-86cb-575a5396da67
Expensify/Expensify Issue URL:
Issue reported by:@Nathan-Mulugeta
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686944316380929
View all open jobs on GitHub

asking about this here - https://expensify.slack.com/archives/C049HHMV9SM/p1687977137340509?thread_ts=1686944316.380929&cid=C049HHMV9SM

it sounds like this was already reported / it's expected behavior https://github.com/Expensify/App/issues/21413#issuecomment-1608149574

authors: kbecciv maddylewis


text:
[$1000] Cannot change assignee after task created

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!

Action Performed:

Go to any task report
Click + on composer > Assign task
Click back button to close modal
Click Assignee field
Select any contact

Expected Result:
Selected contact should be assigned to the task
Actual Result:
Nothing happens but console error shows - "Cannot read property 'reportID' of undefined"
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

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

Version Number: 1.3.45-2
Reproducible in staging?: y
Reproducible in production?: y
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
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/a6c23f72-4e2f-42bc-9b85-39d8969980fa
https://github.com/Expensify/App/assets/43996225/258bba85-b614-4c10-84a6-aa4424f1d4da
Expensify/Expensify Issue URL:
Issue reported by: @situchan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1690261085014579
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~010a286825668f899a
Upwork Job ID: 1683968213928505344
Last Price Increase: 2023-07-25

Proposal
Please re-state the problem that we are trying to solve in this issue.
Cannot change assignee after task created.
What is the root cause of that problem?
If click "assign task" from composer in TaskView, Task.clearOutTaskInfoAndNavigate is called.
https://github.com/Expensify/App/blob/74ae95c26ea84d2ac87e8c5d026c5cbcc79244fc/src/pages/home/report/ReportActionCompose.js#L461
This function clear ONYXKEYS.TASK onyx data, and navigate to new task page.
If close new task modal, ONYXKEYS.TASK onyx data does not reverted.
And when navigate to task assignee page, because there is no props.task, so the error is occured, and user cannot select task assignee.
https://github.com/Expensify/App/blob/74ae95c26ea84d2ac87e8c5d026c5cbcc79244fc/src/pages/tasks/TaskAssigneeSelectorModal.js#L167
https://github.com/Expensify/App/blob/74ae95c26ea84d2ac87e8c5d026c5cbcc79244fc/src/pages/tasks/TaskAssigneeSelectorModal.js#L223-L225
What changes do you think we should make in order to solve the problem?
We can set ONYXKEYS.TASK onyx before navigating to task assignee modal in this line and this line as below.
    onPress={() => {
        Task.setTaskReport({...props.report, isExistingTaskReport: true});
        Navigation.navigate(ROUTES.getTaskReportAssigneeRoute(props.report.reportID));
    }}

What alternative solutions did you explore? (Optional)
None.

@adelekennedy I'd like to take this as C+ if possible, as this is a follow-up of issue we (@robertjchen and @dukenv0307) worked on and we have full context.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Task assignee is not working if new task modal is opened and closed
What is the root cause of that problem?
When Assign task is selected in plus button in compose box or FAB button, we are clearing out task data in onyx, and not setting it back when modal closes.
https://github.com/Expensify/App/blob/9dd3a3ff1d82c944bb0e5d631511348107734e7a/src/pages/home/report/ReportActionCompose.js#L461
https://github.com/Expensify/App/blob/ccca9538aecfa1bf906ea4fb24aff56ad3220234/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.js#L230
That is why assignee selection is not working because we have nothing in props.task here:
https://github.com/Expensify/App/blob/a656c82d0ebf1d3954575084555a004efc47035b/src/pages/tasks/TaskAssigneeSelectorModal.js#L167
What changes do you think we should make in order to solve the problem?
This line is responsible of setting current task to onyx
https://github.com/Expensify/App/blob/85d84b8d42f1b345fe0804592d1bab8b07875948/src/components/ReportActionItem/TaskView.js#L42-L44
We can improve it by retrieving ONYXKEYS.MODAL value, and add it to useEffect dependecies.
    useEffect(() => {
        Task.setTaskReport({...props.report, isExistingTaskReport: true});
    }, [props.report, props.modal.isVisible]);

What alternative solutions did you explore? (Optional)

I have reported the same bug here - https://expensify.slack.com/archives/C049HHMV9SM/p1688321334107149

These do look the same @situchan are both issues stemming from here?
I also want to raise that @thienlnam mentioned here that @alitoshmatov reported issue will be fixed by the assignee flow update - should we close this?

issue will be fixed by the assignee flow update

This didn't happen actually and still reproducible.
So let's continue fixing it here and reporting bonus goes to @alitoshmatov
Sounds like a plan?

Works for me@ Thank you @situchan 🎉

This didn't happen actually and still reproducible.

Well the App PR hasn't been merged yet, so it is still broken right now. But is fixed in that PR. Let's still handle this current issue here though

@dukenv0307's proposal looks good to me.
There's another case of props.task usage. shareDestination should not be changed while changing assignee after task created. Let's tackle them in PR.
https://github.com/Expensify/App/blob/5132a6eb077e524eee26a661bbe742e6aba273a1/src/pages/tasks/TaskAssigneeSelectorModal.js#L170
🎀 👀 🎀 C+ reviewed

I just got assigned and I need clarification about the state of things, is this PR https://github.com/Expensify/App/pull/22778 fixing the bug or it won't?

I just tested #22778 branch locally and this issue is still reproducible.

@dukenv0307 after props.task is cleared, props.task.shareDestination is undefined, it's passed to Task.setAssigneeValue param and this line resets shareDestination to the another report depending on selected assignee.
Current reportID where task is created should be passed so that it doesn't meet this condition - !shareDestination.
Please correct me if I am wrong.
https://github.com/Expensify/App/blob/8cdb506e97e8382f4bc55b0f48784f576fbb2789/src/libs/actions/Task.js#L538-L540

I think we are good to go. There might be small code conflict but no logic conflict.

I am sorry but this is not eligible for the bonus. By the time I got assigned, it was almost the end of the 3-day period and my work day was already done that day since it was 6pm. If I hadn't asked for changes, we could have forgotten about the one-day delay, but there was a pending bug and there were conflicts to be fixed, so I am sorry, but we can't make an exception here.

Payouts due:
Issue Reporter: $250 @situchan (Upwork)
Contributor: $1000 @dukenv0307 (Upwork)
Contributor+: $1000 @situchan (Upwork)
Eligible for 50% #urgency bonus? N
Upwork job is here.

Sorry for bothering this late, but looks like I should have received reporting bonus https://github.com/Expensify/App/issues/23556#issuecomment-1654929175

authors: StevenKKC adelekennedy alitoshmatov kavimuru pecanoro situchan thienlnam


text:
[$500] IOS - Mention list open again after requesting money

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!

Action Performed:

Go to any report, type @
Go back to LHN, click Plus button and choose request money, request any amount to the above report.
Repeat above steps few times.
Notice that mention list is opened even composer is not focused.

Expected Result:
If composer is not focused, mention list shouldn't be opened.
Actual Result:
Mention list is opened even when composer is not focused.
Workaround:
Unknown
Platforms:

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

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

Version Number: 1.3.61.0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/3c0bb510-cdc5-4d24-baf8-54e9adffa118
https://github.com/Expensify/App/assets/93399543/06c8fadb-aed4-4a54-82a4-1aa8fd6f172b
Expensify/Expensify Issue URL:
Issue reported by: @hungvu193
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1693194595071649
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~014c468cc852a95d2d
Upwork Job ID: 1699131259631747072
Last Price Increase: 2023-09-05

Proposal
Please re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?
The Suggestions component in ComposerWithSuggestions is not conditionally rendered based on the composer's current focus state.
What changes do you think we should make in order to solve the problem?

What alternative solutions did you explore? (Optional)
None.

I was able to reproduce the bug on staging.

Proposal
Please re-state the problem that we are trying to solve in this issue.

After leaving a @ in Composer of a chat and then if we request money from FAB to same chat then after requesting money when we redirect to that chat then Suggetions are shown in composer.

What is the root cause of that problem?

The root cause of this problem is that onSelectionChange is getting called in ComposerWithSuggestions component.

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

We can check if the composer is focued or not in onSelectionChange function of Suggestions.js. And early return if composer is not focued. For this we can use ReportActionComposeFocusManager.isFocused() function.

What alternative solutions did you explore? (Optional)

N/A

@jeet-dhandha Could you sum up the differences between your proposal and the earlier one?
I know it was edited, but I'm referring to the state 1 minute before your comment was submitted. It's quite possible that you weren't familiar with that edit when you started investigating.

I started investing and saw that onSelectionChange is getting called even when composer was not focused so the only solution came to my mind was to disable further execution of onSelectionChange  from Sugesstions.js as suggestions have a bug here and not the composer.
I don’t know about proposal but the last time i saw it was to hide the whole Suggestion component. And getting the same solution at same time looks odd.

@jeet-dhandha It may be odd, but the timestaps suggest it happened. It looks that the proposal by @akinwale from 2023-09-05T19:45:10Z and your proposal from 2023-09-05T19:46:46Z are essentially the same.
@akinwale Did you write down the "Solution 1" after getting familiar with this comment, which would suggest a glitch in GitHub timestamps, or before?

@jeet-dhandha It may be odd, but the timestaps suggest it happened. It looks that the proposal by @akinwale from 2023-09-05T19:45:10Z and your proposal from 2023-09-05T19:46:46Z are essentially the same.
@akinwale Did you write down the "Solution 1" after getting familiar with this comment, which would suggest a glitch in GitHub timestamps, or before?

That's a weird coincidence. I decided to take another look at the issue to find a root cause after the Help Wanted label was assigned as I was trying to cover all my bases, which led me to the onSelectionChange implementation.
My edit with the onSelectionChange solution looks to be about a minute and a half earlier than the other proposal, so there's no way I could've been able to see the other comment beforehand.

Its upto @cubuspl42 now 🙌

I say we go with @akinwale ("Solution 1"). While @jeet-dhandha proposed essentially the same solution nearly at the same time, timestamps say that the edit by @akinwale happened slightly earlier.
C+ reviewed 🎀 👀 🎀

@cubuspl42 My PR is ready for review. Thanks.

The PR that introduced the bug has been identified. Link to the PR:

https://github.com/Expensify/App/pull/25758

The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

https://github.com/Expensify/App/pull/25758/files#r1332681272

A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

No need for additional discussion

Determine if we should create a regression test for this bug.

No need for a new regression test

If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

N/A

Payment Summary:

Reporter: @hungvu193 $250
Contributor: @akinwale $750
Contributor+: @cubuspl42  $750

Eligible for the 50% speed bonus

Everyone has been paid out via Upworks. Closing!

authors: akinwale cubuspl42 jeet-dhandha kbecciv tjferriss


text:
[HOLD][$500] Web -  Opening the #teachers-unite room directly through the link shows sign in option even when signed in

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!

Action Performed:

Logout if already logged in
Go to https://staging.new.expensify.com/r/207591744844000
Click on the Sign in button
Enter the email and click Continue
Enter magic code
Next, click on the #teachers-unite room header
Click on Leave room
Open a new tab and go to https://staging.new.expensify.com/r/207591744844000

Expected Result:
The sign-in option should not be displayed
Actual Result:
The sign-in option is displayed. Also, the sign-in modal still has the previously entered magic code (Note: this may not be reproducible on the newest version - https://github.com/Expensify/App/issues/26615#issuecomment-1704428422)
Workaround:
Unknown
Platforms:

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

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

Version Number: 1.3.62.0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/f993d3e4-d8e9-41ae-a8e2-236521bbaf2d
https://github.com/Expensify/App/assets/93399543/07c50721-9c3e-4de7-99a8-65e004db90cc
Expensify/Expensify Issue URL:
Issue reported by: @adeel0202
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1693382434318589
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0164d1ccb8bef91f4d
Upwork Job ID: 1698473014682202112
Last Price Increase: 2023-09-10

@adeel0202 @kbecciv on v1.3.62-3, I can reproduce part of this issue - basically, the part I cannot reproduce is showing the Magic Link details prefilled. On the newest staging version, I see this:

However, leaving the room and opening a new tab and using the URL still shows a "Sign In" button - I think this should be fixed, since you shouldn't need to sign in again as all you've done is left the room.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Web - Opening the #teachers-unite room directly through the link shows sign in option even when signed in
What is the root cause of that problem?
The method in which we check to hide the composer and show sign in button is unreliable, there is no doubt here that we are facing a backend issue where leaving a room in some cases will result in session.authTokenType being returned by the backend as "anonymousAccount" and I believe that should be addressed on an internal level, however I think we should also address this on frontend level to avoid this kind of behaviour in the future as relying on authTokenType isn't the best idea when we have access to two more unique items that will be available when the user is signed in which are CREDENTIALS.login and CREDENTIALS.validateCode.
What changes do you think we should make in order to solve the problem?
We should refrain from using authTokenType and start using CREDENTIALS when we are checking for credentials as is the case with checking if isAnonymousUser, to do this we can make a change to session.isAnonymousUser to use these credentials for the check.
function isAnonymousUser() {
    return !lodashGet(credentials, 'login') && !lodashGet(credentials, 'validateCode');
}

Another thing we can change is ReportUtils.shouldDisableWriteActions which uses isAnonymousUser that it calls itself from Onyx which is not good for keeping the code DRY as we are already connecting to the exact same part of Onyx in Session component so we can simply change the check for shouldDisableWriteActions to use the same Session.isAnonymousUser function.
function shouldDisableWriteActions(report) {
    const reportErrors = getAddWorkspaceRoomOrChatReportErrors(report);
    return isArchivedRoom .. || Session.isAnonymousUser(); // Changing from local variable to calling Session component
}

Result
https://github.com/Expensify/App/assets/74202751/12081f05-9792-4745-afa2-ad5b5f364e1d

Please re-state the problem that we are trying to solve in this issue.
Opening #teachers-unite room directly through the link shows sign in option even when signed in
What is the root cause of that problem?
The root cause of the problem is the unreliability of the method used to decide whether to show the signup modal in the frontend of the application. The issue is exacerbated by inconsistent data returned from the backend, specifically the session.authTokenType. This inconsistency occurs when leaving a room, resulting in session.authTokenType being sometimes incorrectly set to 'anonymousAccount'.
What changes do you think we should make in order to solve the problem?
To address this issue effectively, we propose a solution that involves both frontend and potentially backend adjustments:
Frontend Solution:
Enhance Authentication Checks: Instead of relying solely on session.authTokenType, which has proven to be unreliable due to backend inconsistencies, prioritize the use of more dependable indicators of user authentication, such as CREDENTIALS.login and CREDENTIALS.validateCode.
Modify the isAnonymousUser Function: Refactor the isAnonymousUser function to check the user's anonymity based on the presence of CREDENTIALS.authTokenType rather than session.authTokenType. This adjustment ensures more accurate identification of anonymous users.
Below is the path for file index
https://github.com/Expensify/App/blob/main/src/libs/actions/Session/index.js
function isAnonymousUser(userCredentials) {
    return (
        userCredentials &&
        userCredentials.authTokenType === 'anonymousAccount'
    );
}

Update the shouldDisableWriteActions Function: In the shouldDisableWriteActions function, prioritize checking user authentication based on the existence of CREDENTIALS.login and CREDENTIALS.validateCode. This change reduces reliance on session.authTokenType.
Below is the path for file and code
https://github.com/Expensify/App/blob/main/src/libs/ReportUtils.js
function shouldDisableWriteActions(report, userCredentials) {
    const reportErrors = getAddWorkspaceRoomOrChatReportErrors(report);

    // Check if the user is authenticated using CREDENTIALS.login and CREDENTIALS.validateCode
    const isAuthenticated = !!userCredentials && !!userCredentials.login && !!userCredentials.validateCode;

    // Additional conditions and logic for disabling write actions
    return (
        isArchivedRoom(report) ||
        !_.isEmpty(reportErrors) ||
        !isAllowedToComment(report) ||
        !isAuthenticated
    );
}

Backend Solution (if necessary):
Address Backend Inconsistencies: Investigate and address the root cause of the backend inconsistency where leaving a room results in an incorrect session.authTokenType. Implement measures to ensure that user authentication data is consistently and accurately updated.
By implementing these frontend adjustments and, if necessary, addressing backend inconsistencies, you can create a more reliable and resilient authentication and user experience in your application. These changes will help prevent the recurrence of the issue where the signup modal is displayed incorrectly.
Video:
https://drive.google.com/file/d/1_JvY6K3QzcFRzkldx0z8uxuOnaT7DI5I/view?usp=sharing

Not overdue, but @sobitneupane we have some proposals rolling in!

Proposal
Please re-state the problem that we are trying to solve in this issue.
Opening the #teachers-unite room directly through the link shows sign in option even when signed
What is the root cause of that problem?
authTokenType = 'anonymousAccount' not removing from onyx state

when we set Onyx.merge('session', {'authTokenType': null}); means that key should be removed from database but not happing when set this callback triggered without null but database not updating.
What changes do you think we should make in order to solve the problem?
we should be update the backend passing the empty string for update the onyx
frontend means:
signinapi success data we should update this empty string;
authTokenType:  ''

Note: after login and refresh the page means it will ask again signin .
this ONYX BUG:
Onyx.merge('session', {'authTokenType': null}); when you set this null means database is not updated.
but sub level is accepted here
Onyx.merge('session', {'authTokenType':{data: null}}); when you set this null means database  will allow to insert

Thanks for the proposal everyone.
@pradeepmdk Would you mind explaining your proposal. I am trying to understand your proposal. But I am not sure if I am getting your point.

when we set Onyx.merge('session', {'authTokenType': null}); means that key should be removed from database but not happing when set this callback triggered without null but database not updating.

Where are we calling Onyx.merge('session', {'authTokenType': null})? Is the issue existent on Onyx? What is the issue?

@sobitneupane already we have PR for this fix https://github.com/Expensify/react-native-onyx/pull/333 we should wait for merging after the upgrade of the onyx lib so this will work.

Sure thing @sobitneupane and @pradeepmdk - bump me when you want this taken off hold!

Still on hold

@sobitneupane  this is fixed on this version 1.0.89. can I raise the pr for the upgraded version?

@pradeepmdk I don't think we need to raise PR here. I will be raised in the associated issue for which PR was raised.

@sobitneupane this issue was solved only when we upgraded React native Onyx version 1.0.89.

We will wait for it to update from the associated issue.

@sobitneupane Actually I only commented on that. based on my comment they raised the PR.
https://github.com/Expensify/react-native-onyx/pull/333
https://github.com/Expensify/react-native-onyx/pull/333#issuecomment-1722726499
https://github.com/Expensify/react-native-onyx/pull/359

@sobitneupane this is fixed now.

@pradeepmdk thanks for letting us know. Just tried on v1.3.78-4 and can verify it's fixed.
Going to pay @adeel0202 for reporting and then close this out.

Payment Summary

Reporter: @adeel0202 $50

Upworks Job

Paid, job closed!

authors: AmjedNazzal jliexpensify kaushiktd kbecciv pradeepmdk sobitneupane


text:
[HOLD for payment 2023-11-01] [$500] The error message does not close in one click if the address dropdown is open.

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!

Version Number: 1,3,80,0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @aman-atg
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1696764596197229
Action Performed:

Go to the staging environment.
Open the FAB icon and select the "Request Money" option.
Navigate to the distance tab and click on "Start."
Trigger an error message by selecting "use current location" and denying access.
Open the dropdown by clicking on the address input and entering a few characters.
Attempt to close the error message by clicking the close button on the error.
Observe that the dropdown is closed, but the error message remains open.

Expected Result:
The error message should be removed with a single click just like in native devices
Actual Result:
Attempting to close the error results in the dropdown closing, but the error message persists.
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

https://github.com/Expensify/App/assets/93399543/a927264e-d30c-483a-aed8-d84b9e5939ec

iOS: Native

iOS: mWeb Safari

https://github.com/Expensify/App/assets/93399543/648bf67e-bac0-4611-a452-cfa2d9d5f86d

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/93399543/81a62217-5550-46f6-8d38-996c7ff7ebcf
https://github.com/Expensify/App/assets/93399543/8e45c45a-ab1f-47e1-9ca5-8d66ddcc4ca2

MacOS: Desktop

https://github.com/Expensify/App/assets/93399543/5f404cdf-e1ac-408f-b1d4-f672fd9bfc8e

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~019bb896d532ae6056
Upwork Job ID: 1712446430446161920
Last Price Increase: 2023-10-12
Automatic offers:

ntdiary | Reviewer | 27266011
bernhardoj | Contributor | 27266013
aman-atg | Reporter | 27266014

Proposal
Please re-state the problem that we are trying to solve in this issue.
The error message does not close in one click if the address dropdown is open.
What is the root cause of that problem?
The dropdown menu is preventing click/touch events from bubbling down to other components.
What changes do you think we should make in order to solve the problem?
Modify code in the dropdown menu to ensure click events are passed down to other components.
What alternative solutions did you explore? (Optional)
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

Proposal
Please re-state the problem that we are trying to solve in this issue.
The error message does not close in one click if the address dropdown is open.
What is the root cause of that problem?
in react-native-google-places-autocomplete plugin when input box blur triggered time flat list is hidden so at the time next event is not triggering
https://github.com/FaridSafi/react-native-google-places-autocomplete/blob/ef107387c6846924423b832a242eee83cb07eed4/GooglePlacesAutocomplete.js#L721
What changes do you think we should make in order to solve the problem?
https://github.com/FaridSafi/react-native-google-places-autocomplete/blob/ef107387c6846924423b832a242eee83cb07eed4/GooglePlacesAutocomplete.js#L725
here we need to set into set timeout
Result

@ntdiary Thoughts on the proposals so far?

PR merged. Waiting for it to hit production and start the regression hold.

@ntdiary Mind kicking off the BZ checklist?

In the meantime, payment summary:

Issue reporter: @aman-atg $50
Contributor: @bernhardoj $750 (incl. urgency bonus)
Contributor+: @ntdiary $750 (incl. urgency bonus)

Doesn't need to be overdue.

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[x]   [@ntdiary] The PR that introduced the bug has been identified. Link to the PR: Allow user to get current location #25990
[x]   [@ntdiary] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: https://github.com/Expensify/App/pull/25990/files#r1372692571
[x]   [@ntdiary] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: No need
[x]   [@ntdiary] Determine if we should create a regression test for this bug. No need
[x]   [@ntdiary] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again. No need
[ ]   [@JmillsExpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

Just a minor feature polish, no need to add regression test. Hey, @JmillsExpensify, very happy to work on issues with you again. I still remember the previous comment, so here it's fine to just pay me $500. 😄

Thanks!

Everyone paid out based on summary above. Closing.

authors: JmillsExpensify Samueljh1 kbecciv pradeepmdk tylerkaraszewski


text:
[$500] No "Delete Request" and "Add a receipt" option on workspace expense report as Admin

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!

Issue found when executing #35744
Version Number: 1.4.39-0
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:
Action Performed:

Create a new expense request on a collect policy
Submit the expense
Open the expense report
Right-click/long-press the expense preview
(if employee) Verify there is no Delete Request (if admin) Verify there is a Delete Request option
Press the expense preview to open the transaction thread
Press the three-dots button
(if employee) Verify there is no Delete Request and Add receipt (if admin) Verify there is a Delete Request and Add receipt option

Expected Result:
There should be Delete Request and Add a receipt option on Admins side
Actual Result:
No "Delete Request" and "Add a receipt" option on workspace expense report as Admin
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/43996225/c5d1909f-974f-4739-a770-5959a320a8d7

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01c35580d297f84569
Upwork Job ID: 1755778907181215744
Last Price Increase: 2024-02-09

As the test step coming from my PR, I would like to clarify one thing. The delete request and add receipt option will be shown if the user is an admin AND the action/request owner, so this is not a bug.

The action owner condition has existed for quite some time
https://github.com/Expensify/App/blob/9463e22ba5c0897d519c0ccc85c12ae591742541/src/libs/ReportUtils.ts#L1239
and I added the admin condition based on this comment

Create a new expense request on a collect policy

Gonna mark this as a non-blocker as people on Collect policies are not actually using these flows yet

Where is the option to "Delete Request" in your video @kavimuru ? Are both screens from the admins perspective?

This seems pretty clearly wave 6, right @greg-schroeder?

Friendly bump @greg-schroeder

Looking

I think Wave 8 is correct, as the behavior that doesn't match expected is tied to the admin's experience ... if the submitter experience is working as expected, it wouldn't fit in Wave 6's current scope

I'm confused on the expected result here.

Why would the admin have an "Add receipt" option for a money request they didn't make/submit? Shouldn't the person who submitted the request be the only one to add a receipt because they probably are the only one who has it?

Giving the admin the ability to delete money requests they didn't make sounds a bit suspicious. That means they could go about deleting any money request in the WS.

As the test step coming from my PR, I would like to clarify one thing. The delete request and add receipt option will be shown if the user is an admin AND the action/request owner, so this is not a bug.

This sounds about right.

@greg-schroeder do you know if admins should in fact be able to Add a receipt or Delete?

Friendly bump @greg-schroeder

do you know if admins should in fact be able to Add a receipt or Delete?

@trjExpensify are you able to confirm this perhaps?

@trjExpensify are you able to confirm this perhaps?

To answer your question, no they shouldn't be able to delete someone else's request, only put it on hold.

@trjExpensify we don't allow modifying receipts for admins as well, so I'm thinking we can just close this issue?

Hm, you sure? I thought an admin/approver on a workspace can attach a receipt for a submitter today on OldDot?

Ah okay. I though since they can't edit a receipt they can't attach one either. What's the use case for this though? I think I agree with @Victor-Nyagudi here

Why would the admin have an "Add receipt" option for a money request they didn't make/submit? Shouldn't the person who submitted the request be the only one to add a receipt because they probably are the only one who has it?

This is a pretty common use case, especially for employees who are provided a corporate card and the admin has access to the service/receipts. In fact, in some companies employees are instructed to add no receipts, the accounting team handles it for them. I think we need to support this case in order to continue supporting our customers.

Interesting, thanks for clarifying @JmillsExpensify! So with that in mind, should we also allow admins to replace receipts? Because currently we don't.

Also, since this falls under editing expenses in general, I think we can have this on hold on my PR, because chances are I'll have to update the changes that fixes this later on

Interesting, thanks for clarifying @JmillsExpensify! So with that in mind, should we also allow admins to replace receipts? Because currently we don't.

We don't allow this, on the logic that admins should be able to add a receipt is none exists. If one does, then they shouldn't be able to "delete" one receipt in order to add a new one. So that's why we allow adding a receipt but not replacing.

Not overdue, still in the works.

Still held.

Same.

Almost ready to un-hold @youssef-lr ?

Friendly bump @youssef-lr

We should be able to merge the Web-E PR today, I'll continue work on the App PR meanwhile, starting tomorrow.

Nice one @youssef-lr !

Checking in on this progress @youssef-lr

No worries, switching to weekly as this is polish

Can do, I've updated the title and body to reflect that these options are expected from an admin's perspective on a workspace expense:

Hold request
Add a receipt

Thanks!

Working on this next week!

Fire likely slowed us down here, do you think this week is the week @youssef-lr ? 😄

Fire issues still being prioritized over this I imagine

Do you think you'll have bandwidth for this soon @youssef-lr ?

Yes, I'll find some time for it next week @MitchExpensify

Melvin, @youssef-lr is finding time for this when they can

Reassigning while I'm leave 🙇

Looking into this one today @hoangzinh

I've added a fix here since I touched that logic in the PR https://github.com/Expensify/App/pull/46931/commits/06f3d4d11ac683a23fba1ea758d1cd258617e3db, this is aligned with what we have in OldDot

So this will be fixed by https://github.com/Expensify/App/pull/46931 in review, right?

Yup!

it's been a while so we no longer have the three dots, but I see hold on this expense.

@hoangzinh original posting expired so here is a new one in upwork
https://www.upwork.com/jobs/~014ecea72e003c577c
lmk when you accept!

still looking for internal volunteer

https://github.com/Expensify/App/issues/36202#issuecomment-2276998969 - yep, closing.

authors: JmillsExpensify MitchExpensify Victor-Nyagudi bernhardoj greg-schroeder kavimuru kevinksullivan marcaaron trjExpensify youssef-lr


text:
[$500] [Taxes] User can access the background list using the arrow keys while the RHP is open

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!

Version Number: 1.4.57-2
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to Paid workspace > Taxes
Open one tax setting
Press on the down and up arrow keys on the keyboard
Go back and go to categories settings
Open one category setting
Press on the down and up arrow keys on the keyboard

Expected Result:
Pressing on the arrow keys on the keyboard should do nothing as there is an RHP open
Actual Result:
Even if RHP is open pressing on the arrow keys moves through the background list
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/a6ac1e8d-cdca-4362-a052-9c07a0de9ee4
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01008d99761a20e1bb
Upwork Job ID: 1773361277524193280
Last Price Increase: 2024-03-28
Automatic offers:

jayeshmangwani | Reviewer | 0
ZhenjaHorbach | Contributor | 0

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

Proposal
Please re-state the problem that we are trying to solve in this issue.
Taxes - User can access the background list using the arrow keys while the RHP is open
What is the root cause of that problem?
We do not disable Arrow keys for SelectionList here
What changes do you think we should make in order to solve the problem?

Add const isFocused = useIsFocused(); here and add disableKeyboardShortcuts={!isFocused} prop to SelectionList
Update this line like below

maxIndex={disableKeyboardShortcuts ? -1 : slicedSections.flatMap((section) => section.data).length - 1}

We can add new disableArrowKeys prop  to disable the arrow keys instead of using the disableKeyboardShortcuts  so as not to use one prop to disable different actions
What alternative solutions did you explore? (Optional)

@jayeshmangwani we have some proposals for review above — thanks!

Checking if this is VIP-VSP here

Actually, it's wave-collect so assigning that now 👍

Thanks for the proposal @shahinyan11 , your changes will work on the Workspace Taxes page but similar issue is on the  Workspaces's Distance rates, Categories , Tags pages too, so rather we would fix it in the SelectionList would be the good idea.
@ZhenjaHorbach's Proposal looks good to me, tested locally by applying changes and changes looks good, and @ZhenjaHorbach IMO resetting the index is not needed here when we leave the screen, key down and key up will not work when SectionList's screen is not focused, but keyboard shortcuts will work, adding a video below to checking the effect after applying changes in the proposal

Video:
https://github.com/Expensify/App/assets/35371050/e9689fd9-c0d2-45ab-b732-ab7ddbd807de

🎀 👀 🎀 C+ reviewed

Proposal
Updated. Simplified changes and and fixed the issue in BaseSelectionList level

Assigning @ZhenjaHorbach to the issue!

PR hit staging earlier today!

Payment Summary
@jayeshmangwani — paid $500 via Upwork
@ZhenjaHorbach — paid $500 via Upwork

@jayeshmangwani can you confirm if this needs a regression test and make the proposal before EOD? Thank you!

This is not a regression from any PR, but it was missed when we created ArrowKeyFocusManager, and later, the issue was visible after we created RHP. I am proposing regression test steps below. Please let me know if you have any other suggestions
Regression Test Steps

Go to Collect Workspace> Taxes
Open one tax setting
Press the down and up arrow keys on the keyboard
Verify that pressing the arrow keys on the keyboard does nothing, as there is an RHP open
Go back and go to categories settings
Open one category setting
Press the down and up arrow keys on the keyboard
Verify that pressing the arrow keys on the keyboard does nothing, as there is an RHP open

Do you agree 👍 or 👎 ?

This is not a regression from any PR, but it was missed when we created ArrowKeyFocusManager, and later, the issue was visible after we created RHP. I am proposing regression test steps below. Please let me know if you have any other suggestions
Regression Test Steps

Go to Collect Workspace> Taxes
Open one tax setting
Press the down and up arrow keys on the keyboard
Verify that pressing the arrow keys on the keyboard does nothing, as there is an RHP open
Go back and go to categories settings
Open one category setting
Press the down and up arrow keys on the keyboard
Verify that pressing the arrow keys on the keyboard does nothing, as there is an RHP open

Do you agree 👍 or 👎 ?

@CortneyOfstad

Sorry about that @jayeshmangwani! I agree to the regression test and getting that created now!

authors: CortneyOfstad jayeshmangwani lanitochka17 pecanoro shahinyan11 trjExpensify


text:
[$250] Distance - The route image is cropped in the IOU preview

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!

Version Number: 1.4.64-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4502640
Issue reported by: Applause - Internal Team
Action Performed:
Prerequisites:
Create WS collect, invite an employee

Open https://staging.new.expensify.com/
Log in to the employee account
Navigate to a workspace room
Create a Distance IOU with any 2 waypoints
Navigate to Report Conversation

Expected Result:
The route image must fit completely in the IOU preview
Actual Result:
The route image is cropped in the IOU preview
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/12a79328-a8ad-46d9-8996-18e6eb6d6d10
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0160841ad69bf530a2
Upwork Job ID: 1782777779723137024
Last Price Increase: 2024-04-23

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

@Pujan92, what do you think of @ra-md's proposal?

@ra-md Object position top is added to fix issue https://github.com/Expensify/App/issues/34120.
@Gonals This seems to be a regression from https://github.com/Expensify/App/pull/35041
cc: @dukenv0307

I think this may not be a blocker, since it just kinda moves an existing bug a few pixels 😆. What do you think, @mountiny?

Aah this could be related to my Web-PDFs change where I centered receipts to the top - https://github.com/Expensify/Web-PDFs/pull/572
I also don't think this is a blocker

The root cause is on the backend and already on prod so yeah, not a blocker. It would be great to fix soon though. It looks bad for distance requests.

Cool, closing this one in favor of the other then.

authors: Beamanator Gonals Pujan92 garrettmknight lanitochka17 neil-marcellini


text:
Bottom docked button views does not use correct SafeSpace in mobile

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!

Version Number: 1.4.86-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @shawnborton
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1718816465053499
Action Performed:

Open app
Tap avatar
Tap display name
Observe the space at the bottom of docked button

Expected Result:
There should be proper bottom SafeSpace below the button
Actual Result:
Bottom button is very close to the home bar
Workaround:
unknown
Platforms:

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

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

Screenshots/Videos

View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.

Bottom button is very close to the home bar

What is the root cause of that problem?

Currently, the "Save" button has style:
https://github.com/Expensify/App/blob/29e4c5488d3feafae3bdc20a424628b21831dc88/src/components/Form/FormWrapper.tsx#L117
As we can see, the "Save" button is always at the bottom of the screen without any safe area on its bottom side.

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

We can add an additional padding-bottom or margin-bottom to this button's styles in case of small screen width, the correct values can be discussed. For exmaple, with the {marginBottom: 20}:

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.

Bottom button is very close to the home bar

What is the root cause of that problem?

We do not use includeSafeAreaPaddingBottom:
https://github.com/Expensify/App/blob/75614394a2fb1e8114e35bb2d8d33bdd0c565946/src/pages/settings/Profile/DisplayNamePage.tsx#L71
so there is no safe area padding bottom is applied.

Also, currently, the "Save" button has style:
https://github.com/Expensify/App/blob/29e4c5488d3feafae3bdc20a424628b21831dc88/src/components/Form/FormWrapper.tsx#L117

As we can see, the "Save" button is always at the bottom of the screen without any safe area on its bottom side.

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

We can remove this line:
https://github.com/Expensify/App/blob/75614394a2fb1e8114e35bb2d8d33bdd0c565946/src/pages/settings/Profile/DisplayNamePage.tsx#L71
so the safe area padding is applied.

Do the same with any other screens we need to apply safe area padding-bottom.

What alternative solutions did you explore? (Optional)

We can add an additional padding-bottom or margin-bottom to this button's styles in case of small screen width, the correct values can be discussed. For example, with the {marginBottom: 20}:

After change

@truph01 I think you have the right solution but I think we need to make sure we implement this on all pages that use the bottom-docked green button, not just the display name page.

@shawnborton We can do it by remove includeSafeAreaPaddingBottom={false}  in all screen as I mentioned.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Onboarding modal uses incorrect row hover style when hovering over the options
What is the root cause of that problem?
We disable safeAreaPadding for screens with forms as because it is already accounted for in Form Provider here
This is also mentioned in docs here:
https://github.com/Expensify/App/blob/6dc6f81ed5fc79b45b3a852efcd009ae81b673f2/contributingGuides/FORMS.md?plain=1#L323-L331

We still seem to be missing the extra padding below the Form Submit button as we have not configured the styles correctly
What changes do you think we should make in order to solve the problem?
We will remove the bottom padding style.pb5 added here in #40473:
https://github.com/Expensify/App/blob/29e4c5488d3feafae3bdc20a424628b21831dc88/src/components/Form/FormWrapper.tsx#L105

and apply it here:
https://github.com/Expensify/App/blob/29e4c5488d3feafae3bdc20a424628b21831dc88/src/components/Form/FormWrapper.tsx#L117

Cool, I agree that removing includeSafeAreaPaddingBottom={false} is the way to go for native devices. cc @sakluger I think we are ready to open this one up.

@allgandalf sure thing!

@allgandalf Thanks for your feedback.
Proposal updated

@allgandalf I think my solution and yours have the same implementation and output:

Output: Both my solution and yours make sure we always add the padding-bottom to the screen.
Implementation: Both solution need to remove all the includeSafeAreaPaddingBottom={false} when using ScreenWrapper

What do you think? Please correct me if I am wrong.

Proposal updated

I add the new solution in alternative solution.

Sure @allgandalf let's go with your solution.

@puneetlath Do you have any feedback about my alternative solution?

@shawnborton I want to confirm whether we plan to address the issue 'Bottom button is very close to the home bar' only for screens that use forms, or for all screens?

I think ideally we solve this for all screens, though I'd be curious to learn more about any particular examples you have there.
That being said, we might just want to start first with screens that have buttons on the bottom so we can break this up into chunks.

@shawnborton

Currently, we already have the padding-bottom for the screen that uses the form. But the padding-bottom value is too small (not a contant, based on the device), 23.79px in case of the screen below:

that leads to our issue, where we need to add an addtional padding value.

So to fix the issue, the padding-bottom value should be 23.79px plus an additional constant value. Which constant value should we use in this case? If that constant value is 20px, so the padding-bottom will be 23.79px + 20px:

Hmm I think we always want 20px of horizontal padding and 20px of bottom padding for those bottom-docked buttons. And THEN we add the SafeSpace (whatever it is, for the native device) to the bottom padding. Does that make sense>

@allgandalf I see that your solution will make the padding bottom to 23.79px + 23.79px in my example, right?

Proposal updated

I updated main solution to match this comment

I updated comment

Not overdue, Melvin, we're still discussing the proper solution.

It sounds like we have pretty much a working solution and the rest can be worked out in the PR. I'll assign @truph01 and @allgandalf can work with him in the PR to make sure we're not introducing any regressions. Thanks y'all!

@allgandalf PR https://github.com/Expensify/App/pull/44761 is ready

All paid, thanks everyone.

authors: m-natarajan neonbhai puneetlath sakluger shawnborton truph01


text:
🍒 Cherry pick PR #10867 to staging 🍒

🍒 Cherry pick https://github.com/Expensify/App/pull/10867 to staging 🍒

🚀 Cherry-picked to staging by @OSBotify in version: 1.1.97-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Cherry-picked to staging by https://github.com/AndrewGable in version: 1.3.28-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.


text:
Revert "Display banner to enable 2FA when setting up VBBA"

Details
This reverts Expensify/App#12424 as we're unable to QA it on mWeb (iOS & Android).
See https://expensify.slack.com/archives/C07J32337/p1670443625470939 and https://github.com/Expensify/App/pull/12424#issuecomment-1341354521 for discussion.
cc @MonilBhavsar
Fixed Issues
N/A
Tests

From an account without 2FA enabled, open a Workspace that doesn't have a bank account connected
Click "Connect bank account"
Add details for a Verifying bank account
On the last step of the setup flow, make sure you do NOT see a message "Prevent Fraud, enable two-factor authentication" / "Secure your account"

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

Offline tests
N/A, BankAccountStep requires an active connection
QA Steps

From an account without 2FA enabled, open a Workspace that doesn't have a bank account connected
Click "Connect bank account". You can reuse the same account to test all platforms - click "Continue with setup" when prompted. No need to re-enter the same details over and over again.
Add details for a Verifying bank account
On the last step of the setup flow, make sure you do NOT see a message "Prevent Fraud, enable two-factor authentication" / "Secure your account"

[ ] 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] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

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

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

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

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

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

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

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

Screenshots/Videos

Web
https://user-images.githubusercontent.com/2229301/206294994-42ae67ca-cde7-4396-b3a7-128a8a4c0b56.mov

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

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:

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

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

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

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

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

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

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

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

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

🚀 Cherry-picked to staging by @chiragsalian in version: 1.2.36-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by @francoisl in version: 1.2.36-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/AndrewGable in version: 1.3.28-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.3.28-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

authors: OSBotify chiragsalian francoisl


text:
Update CONTRIBUTING.md

Coming from this slack discussion. I made a small update to the instructions on how to propose a job (e.g. discover a bug).

Details
Removed the part about "including a solution proposal" in slack reports, when a bug is posted.

Merging since it's only a text change to the contributing guidelines.

Removed the Emergency label since it's only a text change to a .md file.

: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 @marcochavezf in version: 1.2.52-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @Julesssss in version: 1.2.52-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

authors: OSBotify marcochavezf michaelhaxhiu