text:
HistogramTimeSlider - bug?

Hello all,
I'm quite fresh in JS and the ESRI API and I hope this is the right spot ...
While customizing the HistogramTimeSlider sample code ( https://developers.arcgis.com/javascript/3/jssamples/widget_histogram_time_slider.html )
I experienced a possible bug in this widget.
Have a look at this url/script :
http://www.geo-informatie.nl/zoest001/AGO-JS/TimeSliderHistogram/HistogramTimeSlider-Months.html
The polygons are time-grouped by months, which is to coarse.
Grouping by days works fine too, but is to detailed.
Grouping them by weeks ( timeInterval: "esriTimeUnitsMonths" ) :
http://www.geo-informatie.nl/zoest001/AGO-JS/TimeSliderHistogram/HistogramTimeSlider-Weeks.html
leads to an error (InternetExplorer-11 and Chrome-51) :
TypeError: Unable to draw graphic (null): Unable to get property 'length' of undefined or null reference TypeError: Unable to draw graphic (null): Unable to get property 'length' of undefined or null reference    at _add (http://js.arcgis.com/3.17/esri/dijit/HistogramTimeSlider.js:18:458)    at Anonymous function (http://js.arcgis.com/3.17/esri/dijit/HistogramTimeSlider.js:9:195)    at Anonymous function (http://js.arcgis.com/3.17/:644:363)    at c (http://js.arcgis.com/3.17/:119:64)    at _fireUpdateEnd (http://js.arcgis.com/3.17/:848:341)    at _applyTimeFilter (http://js.arcgis.com/3.17/:1992:415)    at propertyChangeHandler (http://js.arcgis.com/3.17/:1984:196)    at _timeChangeHandler (http://js.arcgis.com/3.17/:1928:19)    at Anonymous function (http://js.arcgis.com/3.17/:63:200)    at c (http://js.arcgis.com/3.17/:119:64)    {       [functions]: ,       __proto__: { },       description: "Unable to get property 'length' of undefined or null reference",       message: "Unable to draw graphic (null): Unable to get property 'length' of undefined or null reference",       name: "TypeError",       number: -2146823281,       stack: "TypeError: Unable to draw graphic (null): Unable to get property 'length' of undefined or null reference    at _add (http://js.arcgis.com/3.17/esri/dijit/HistogramTimeSlider.js:18:458)    at Anonymous function (http://js.arcgis.com/3.17/esri/dijit/HistogramTimeSlider.js:9:195)    at Anonymous function (http://js.arcgis.com/3.17/:644:363)    at c (http://js.arcgis.com/3.17/:119:64)    at _fireUpdateEnd (http://js.arcgis.com/3.17/:848:341)    at _applyTimeFilter (http://js.arcgis.com/3.17/:1992:415)    at propertyChangeHandler (http://js.arcgis.com/3.17/:1984:196)    at _timeChangeHandler (http://js.arcgis.com/3.17/:1928:19)    at Anonymous function (http://js.arcgis.com/3.17/:63:200)    at c (http://js.arcgis.com/3.17/:119:64)"    }    "TypeError: Unable to draw graphic (null): Unable to get property 'length' of undefined or null reference    at _add (http://js.arcgis.com/3.17/esri/dijit/HistogramTimeSlider.js:18:458)    at Anonymous function (http://js.arcgis.com/3.17/esri/dijit/HistogramTimeSlider.js:9:195)    at Anonymous function (http://js.arcgis.com/3.17/:644:363)    at c (http://js.arcgis.com/3.17/:119:64)    at _fireUpdateEnd (http://js.arcgis.com/3.17/:848:341)    at _applyTimeFilter (http://js.arcgis.com/3.17/:1992:415)    at propertyChangeHandler (http://js.arcgis.com/3.17/:1984:196)    at _timeChangeHandler (http://js.arcgis.com/3.17/:1928:19)    at Anonymous function (http://js.arcgis.com/3.17/:63:200)    at c (http://js.arcgis.com/3.17/:119:64)"
Kind regards,
Roland van Zoest (NL)

Oops ... in the previous text
timeInterval: "esriTimeUnitsMonths"
should be
timeInterval: "esriTimeUnitsWeeks"

This is a "Week" bug in the HistogramTimeSlider of the ArcGIS API for JavaScript. Other time units seems to work fine.
Thanks for reporting. (Sorry for slow response)
The issue you mention above isn't specific to anything in this repo. The preferred way to report bugs with the ArcGIS API for JavaScript is using Esri Support.
However, if you find issues related to this repo (bower, sass, typescript, jshint, oauth), then you can also raise them as issues in this repo.  See also https://github.com/Esri/jsapi-resources/blob/master/CONTRIBUTING.md for more information.
Again, thanks for reporting the bug.

Thanks  Bjorn,
So it’s a real bug … good to know now.
It hasn’t kept me sleepless for last year ;-)
“Esri Support” isn’t very easy to contact/use from outside the USA … L
Thanks again,
Roland @ GeoDesk
Van: Bjorn Svensson [mailto:notifications@github.com]
Verzonden: vrijdag 27 oktober 2017 00:54
Aan: Esri/jsapi-resources
CC: RolandVanZoest; Author
Onderwerp: Re: [Esri/jsapi-resources] HistogramTimeSlider - bug? (#27)
This is a "Week" bug in the HistogramTimeSlider of the ArcGIS API for JavaScript. Other time units seems to work fine.
Thanks for reporting. (Sorry for slow response)
The issue you mention above isn't specific to anything in this repo. The preferred way to report bugs with the ArcGIS API for JavaScript is using Esri Support https://support.esri.com/contact-tech-support .
However, if you find issues related to this repo (bower, sass, typescript, jshint, oauth), then you can also raise them as issues in this repo. See also https://github.com/Esri/jsapi-resources/blob/master/CONTRIBUTING.md for more information.
Again, thanks for reporting the bug.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Esri/jsapi-resources/issues/27#issuecomment-339823693 , or mute the thread https://github.com/notifications/unsubscribe-auth/ASbfyPIHe9N5kFiBRD7jKI82UkSQNW1Lks5swQ2IgaJpZM4I-7B4 .  https://github.com/notifications/beacon/ASbfyPWN6OOl175x0afrpJqJTSb4Awshks5swQ2IgaJpZM4I-7B4.gif

authors: RolandVanZoest bsvensson

repo: Esri/jsapi-resources


text:
Issue #323 METOC symbols (and others) missing from search

Issue #323 METOC symbols (and others) missing from search
Also in new style format, the SIDC had moved from tags to key field.

Tested and looks good to me. OK to merge.

source: gharchive/pull-request

authors: BobBooth csmoore

repo: Esri/military-symbology

license_type: permissive

license_source: github-api


text:
Tensorflow example - AttributeError: type object 'h5py.h5r.Reference' has no attribute 'reduce_cython'

Trying to run the Tensorflow object detection example. When choosing the provided tensorflow_objectdetectionapi_coconuttree.emd file in the geoprocessing tool in ArcGIS Pro the below error is shown:

ERROR 002667  Unable to initialize python raster function with scalar arguments. [c:\program files\arcgis\pro\Resources\Raster\Functions\System\DeepLearning\ObjectDetector.py]
Traceback (most recent call last):
File "c:\program files\arcgis\pro\Resources\Raster\Functions\System\DeepLearning\ObjectDetector.py", line 41, in initialize
'{}.{}'.format(framework, self.json_info['ModelConfiguration'])), 'ChildObjectDetector')
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in gcd_import
File "", line 971, in find_and_load
File "", line 955, in find_and_load_unlocked
File "", line 665, in load_unlocked
File "", line 678, in exec_module
File "", line 219, in call_with_frames_removed
File "c:\program files\arcgis\pro\Resources\Raster\Functions\System\DeepLearning\TensorFlow\ObjectDetectionAPI.py", line 2, in
import tensorflow as tf
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\site-packages\tensorflow_init.py", line 24, in
from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\site-packages\tensorflow\python_init.py", line 82, in
from tensorflow.python import keras
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\site-packages\tensorflow\python\keras_init.py", line 24, in
from tensorflow.python.keras import activations
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\site-packages\tensorflow\python\keras\activations.py", line 24, in
from tensorflow.python.keras.utils.generic_utils import deserialize_keras_object
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\site-packages\tensorflow\python\keras\utils_init.py", line 38, in
from tensorflow.python.keras.utils.multi_gpu_utils import multi_gpu_model
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\site-packages\tensorflow\python\keras\utils\multi_gpu_utils.py", line 22, in
from tensorflow.python.keras.engine.training import Model
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\site-packages\tensorflow\python\keras\engine\training.py", line 42, in
from tensorflow.python.keras.engine.network import Network
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\site-packages\tensorflow\python\keras\engine\network.py", line 40, in
from tensorflow.python.keras.engine import saving
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\site-packages\tensorflow\python\keras\engine\saving.py", line 38, in
import h5py
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\DeepLearningEnvTest\Lib\site-packages\h5py_init.py", line 36, in
from ._conv import register_converters as _register_converters
File "h5py\h5r.pxd", line 21, in init h5py._conv
File "h5py\h5r.pyx", line 145, in init h5py.h5r
AttributeError: type object 'h5py.h5r.Reference' has no attribute 'reduce_cython'
Unable to initialize python raster function with scalar arguments.

I was able to get around this by commenting out the following line from the env_setup.bat file and reinstalling the environment. Following this the tensorflow example worked correctly.
From:

CALL "%SCRIPTS_DIR%conda.exe" install -c scw h5py --yes

To:

rem CALL "%SCRIPTS_DIR%conda.exe" install -c scw h5py --yes

@tim-mcg Thank you so much for the suggestion.
Yes, you are right, this command line was originally imported to resolve a Python packages dependency issue between TensorFlow 1.12 and ArcGIS Pro 2.4 preinstalled h5py. Now Pro has updated its h5py library to 2.9, we do not need this command line anymore. I will remove this command line from env_setup.bat file.
Once again, we really appreciate your help with regard to this issue.

source: gharchive/issue

authors: lingtangraster tim-mcg

repo: Esri/raster-deep-learning


text:
Allow observer location to be set via feature actions

Enhancement
A Feature action could be added to the widget to allow the input for the observer location to be set from existing features on the map. This will automatically open the widget if closed and set the observer location to the coordinates of the feature used.

https://developers.arcgis.com/web-appbuilder/guide/create-a-feature-action-in-your-widget.htm

This issue was moved to ArcGIS/solutions-defense-widgets#48

authors: adgiles topowright

repo: Esri/visibility-addin-dotnet

license_source: bigquery


text:
Improved abstractions for Android implementation

Refactored code into reusable methods.
Added documentation to new methods.
Simplified code in open method

great!

authors: EstebanFuentealba JamieCruwys

repo: EstebanFuentealba/react-native-share

license: mit


text:
M. Figer le contenu de la SAé lors de la demande d’évaluation par l’étudiant

Bloquer le contenu de la saé une fois que la demande d’évaluation est envoyée par l’étudiant, l’enseignant doit pouvoir la « remettre en évaluation » KAPC 1.3
Version industrielle = imaginer que l’étudiant puisse débloquer la saé tant que l’enseignant n’a pas déclarer commencer l’évaluation (en une fois par l’enseignant pour toutes les demandes d’une même saé)

Côté étudiant le contenu de la saé se fige bien après demande d'évaluation mais par contre l'enseignant ne peut pas la remettre en édition si il veut que l'étudiant la retravaille.

Dans 1.3 un enseignant ne peut pas remettre en édition une action (saé, etc.). Un compte resetter peut être donné par l'administrateur à un groupe d'usagers (cohorte).

à vérifier avec e-portfolium @olivier-gerbe

Je pense que Julien a ajouté dans le code, la possibilité de mettre le rôle enseignant pour remettre en édition. Il suffirait alors de mettre à jour les métadonnées.

À vérifier.

Dans la dernière version du backend, on peut mettre n'importe quel rôle pour réinitialiser. Il faudrait qualifier puis ajouter le rôle enseignant pour réinitialiser dans tous les modèles : sae , stages, ...

@GhisDUGAT pourrais tu vérifier cela ?

Testé avec la nouvelle livraison. Fait et à confirmer par Ghislain

Bonjour @AdrienPrugnaud et @jgribonvald , désolé de revenir vers vous si tard mais je ne trouve pas le bouton pour réinitialiser la SAé.
Voici les versions des composants utilisés :
Karuta-frontend : 3.12.2 (2023-10-04T21:13:40Z)
Karuta-backend : 2.6.3 (2023-09-27T13:11:50Z)
Karuta-fileserver : 1.3.0 (2022-09-19T12:05:59Z)

e-portfolium ( @olivier-gerbe ou Jacques) va fournir des copies d'écrans du déroulé pour obtenir les boutons
e-portoflium va revenir vers @GhisDUGAT pour voir ce qui se passe

A valider par @GhisDUGAT

Bonjour,
C'est toujours un No Go pour nous. @AdrienPrugnaud on peut s'appeler pour en discuter si tu veux.

Ghislain,
Tu peux essayer si mon astuce fonctionne en désigner car pour moi elle ne fonctionne pas dans certains cas. Je n'explique pas pourquoi même en désigner il est impossible de Défiger une sae.
Télécharger TypeApp pour Android
Le 7 nov. 2023, 09:50, à 09:50, Eric Giraudin @.***> a écrit:

Bonjour à tous,
Je confirme que ça ne fonctionne pas pour l'enseignant sur.1.3.5 (après
migration de 1.3 à 1.3.5) et pour certains portfolios d'étudiants même
en Designer non plus.
La seule astuce trouvée :
En désigner dépublier la sae dans le eportfolio de l'étudiant, cliquer
sur Réévaluer puis sur Publier la saé dans le portfolio de l'étudiant.
Télécharger TypeApp pour Android
Le 7 nov. 2023, 09:40, à 09:40, GhisDUGAT @.***> a
écrit:

Bonjour,
C'est toujours un No Go pour nous. @AdrienPrugnaud on peut s'appeler
pour en discuter si tu veux.
--
Reply to this email directly or view it on GitHub:
https://github.com/avenirs-esr/karuta-APC/issues/14#issuecomment-1798044293
You are receiving this because you commented.
Message ID: @.***>

Je ne vois pas le bouton Réévaluer après avoir dépublié la SAé...

En designer ? La sae a été finalisée avant ?
Télécharger TypeApp pour Android
Le 7 nov. 2023, 10:32, à 10:32, GhisDUGAT @.***> a écrit:

Je ne vois pas le bouton Réévaluer après avoir dépublié la SAé...
--
Reply to this email directly or view it on GitHub:
https://github.com/avenirs-esr/karuta-APC/issues/14#issuecomment-1798128523
You are receiving this because you commented.
Message ID: @.***>

Non. Tu peux me donner les étapes précises à réaliser pour tester ta procédure stp ?

un étudiant soumet une sae dans son portfolio pour évaluation à un enseignant
l'enseignant depuis son portfolio ou tableau de bord clique sur la demande d'évaluation et clique sur finaliser
en tant que désigner tu vas sur la sae en question directement sur le portfolio de l'étudiant
tu depublies
tu cliques sur le bouton Réévaluer
tu cliques sur publier
tu restes en désigner et tu prends le rôle étudiant et tu regardes si la sae  n'est plus figée

Télécharger TypeApp pour Android
Le 7 nov. 2023, 10:46, à 10:46, GhisDUGAT @.***> a écrit:

Non. Tu peux me donner les étapes précises à réaliser pour tester ta
procédure stp ?
--
Reply to this email directly or view it on GitHub:
https://github.com/avenirs-esr/karuta-APC/issues/14#issuecomment-1798150718
You are receiving this because you commented.
Message ID: @.***>

Effectivement je vois bien le bouton réévaluer, cependant il ne fonctionne pas. (La Saé reste évaluée et l'étudiant ne peut plus redemander une évaluation)

OK merci ça confirme mon pb, j'ai le même et bizarrement pour certains cas ça marche, ce que je n'explique pas
Télécharger TypeApp pour Android
Le 7 nov. 2023, 11:01, à 11:01, GhisDUGAT @.***> a écrit:

Effectivement je vois bien le bouton réévaluer, cependant il ne
fonctionne pas. (La Saé reste évaluée et l'étudiant ne peut plus
redemander une évaluation)
--
Reply to this email directly or view it on GitHub:
https://github.com/avenirs-esr/karuta-APC/issues/14#issuecomment-1798184084
You are receiving this because you commented.
Message ID: @.***>

Bonjour à tous,
Je remets ce que j'ai mis tout à l'heure dans le rocketchat (en pj)
Cordialement,
Adrien
Le Mardi 7 Novembre 2023 10:56 CET, Eric Giraudin @.***> a écrit:

 1) un étudiant soumet une sae dans son portfolio pour évaluation à un enseignant
2) l'enseignant depuis son portfolio ou tableau de bord clique sur la demande d'évaluation et clique sur finaliser
3) en tant que désigner tu vas sur la sae en question directement sur le portfolio de l'étudiant
4) tu depublies
5) tu cliques sur le bouton Réévaluer
6) tu cliques sur publier
7) tu restes en désigner et tu prends le rôle étudiant et tu regardes si la sae  n'est plus figée
Télécharger TypeApp pour Android
Le 7 nov. 2023, 10:46, à 10:46, GhisDUGAT @.***> a écrit:

Non. Tu peux me donner les étapes précises à réaliser pour tester ta
procédure stp ?
--
Reply to this email directly or view it on GitHub:
https://github.com/avenirs-esr/karuta-APC/issues/14#issuecomment-1798150718
You are receiving this because you commented.
Message ID: @.>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.>

--
Adrien PRUGNAUD / Chargé de mission ePortfolio
Port. +33 (0)6 49 17 61 @.***
GIP Recia · Ressources numériques publiques en Centre-Val de Loire
Antenne de Touraine · 4-6, boulevard de Chinon · 37510 BALLAN-MIRÉ
Tél. 02 38 42 79 60
www.recia.fr ·

Bonjour à tous,
J'ai mis des captures d'écrans dans le rocketchat esup.
Cordialement,
Adrien
Le Mardi 7 Novembre 2023 10:56 CET, Eric Giraudin @.***> a écrit:

 1) un étudiant soumet une sae dans son portfolio pour évaluation à un enseignant
2) l'enseignant depuis son portfolio ou tableau de bord clique sur la demande d'évaluation et clique sur finaliser
3) en tant que désigner tu vas sur la sae en question directement sur le portfolio de l'étudiant
4) tu depublies
5) tu cliques sur le bouton Réévaluer
6) tu cliques sur publier
7) tu restes en désigner et tu prends le rôle étudiant et tu regardes si la sae  n'est plus figée
Télécharger TypeApp pour Android
Le 7 nov. 2023, 10:46, à 10:46, GhisDUGAT @.***> a écrit:

Non. Tu peux me donner les étapes précises à réaliser pour tester ta
procédure stp ?
--
Reply to this email directly or view it on GitHub:
https://github.com/avenirs-esr/karuta-APC/issues/14#issuecomment-1798150718
You are receiving this because you commented.
Message ID: @.>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.>

--
Adrien PRUGNAUD / Chargé de mission ePortfolio
Port. +33 (0)6 49 17 61 @.***
GIP Recia · Ressources numériques publiques en Centre-Val de Loire
Antenne de Touraine · 4-6, boulevard de Chinon · 37510 BALLAN-MIRÉ
Tél. 02 38 42 79 60
www.recia.fr ·

Fait

authors: AdrienPrugnaud GhisDUGAT giraudin jgribonvald olivier-gerbe

repo: EsupPortail/KAPC


text:
Skia units have been renamed in v6.0.0

Hi
Skia units have been renamed since its integration in Delphi 12 Athens.
Do you allow me to create a PULL REQUEST to fix them on the library ?
@+
Patrick

Hello Patrick. I can use Skia from SvgIconImageList without problems: in which unit do you find the incorrect name? It was fixed in 4.1.1 version...

Fixed in 4.1.7 version ;-)

Thanks ;)

authors: DeveloppeurPascal carloBarazzetta

repo: EtheaDev/SVGIconImageList


text:
Show the name of character with certain issues

It would be much more helpful to show the name of the character when there's an issue with said character. For example

For custom maps/workshop maps characters correct?

Its not so much an issue/error, I've gotten that exact Cannot find Stash file and it was when it tried to load a new character who I haven't touched storage yet(thus no data in my save for it) , plus it should be the active character chosen in TQ Vault, which caused the popup to show up

Yeah, this isn't a bug per say, but knowing which characters cause popups would be useful.

Hello
Were you able to solve this problem?
I have this problem.

authors: EtienneLamoureux Klauhs o0oGnas xNinjaRose

repo: EtienneLamoureux/TQVaultAE


text:
🛑 Blog de Lisandro Bril is down

In 3d6d196, Blog de Lisandro Bril (https://blog.lisandrobril.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Blog de Lisandro Bril is back up in a122db9 after 53 minutes.

repo: Etixen/upptime

license: MIT


text:
Weekly Report Milestone 10/17

What did we do this week?

This week I started implementing the navigation bar in Javascript and will be continuously developing the frontend throughout the week.

My new code contributions will be in the openai_data_ag branch as I figure out how to use OpenAI API to grab data from website source code. My code from earlier this week will be pushed to my branch with extended code from my Playwright research.

This week I created a file to handle JSON golf data returned using Playwright which was pushed to my personal branch. However, we plan on using a MongoDB database going forward instead to store and iterate through this data. My upcoming contributions will be in the Database--Setup branch and will involve connecting to a MongoDB instance and starting to store JSON data.

authors: SamH477 pbgmidi wetzelTanner

repo: Etown-CS/FairwayFinder


text:
Tunel ssh

hello
can you implement a tunel ssh, there are one argument to add
exemple : ssh -L 2080:localhost:80

Duplicate of #821

authors: Eugeny kevingrondin

repo: Eugeny/terminus


text:
Evaluate integration of Saucelabs in order to test cross-browser compatibility on commit

It would be valuable to integrate with Saucelabs in order to track code coverage on commit.
Here is an example of integration by means of grunt + mocha + grunt-saucelabs
https://github.com/evilaliv3/scrypt-async-js/tree/feature/saucelabs
Here is an example of results of the coverage analysis: https://saucelabs.com/u/evilaliv3

I agree that this is valuable, but I don't have time to set this up. I'm going to say that this is a wontfix.

license: unlicense


text:
Initial connection timeout

It seems that there is no way to configure the timeout for the initial connection. Currently, if I attempt to create a source to a bad URL, it takes around 75 seconds to receive an ETIMEDOUT event which I assume is an OS default socket timeout. We have a need to abort connection earlier than this, and I was wondering if this would be a worthwhile feature or if there are any known workarounds.

This should theoretically be possible to implement/configure in eventsource@^3, by specifying your own fetch implementation.

authors: john-u rexxars

repo: EventSource/eventsource


text:
Centre align labels

Hi,
Is there a way that I can automatically centre align labels in the SpineOMatic desktop app.
Currently everything is left aligned.
I want the label to look something like this;

370.
15
DEW
Instead of having everything aligned to the left like this;
370.
15
DEW
The first two call numbers in the image are examples of how I would like the text to align when printing.

Regards,

@wolf5050, the SpineOMatic Desktop application does not provide for automatically centering the lines of the label. If you are reviewing the labels before printing, you can manually adjust the label to align as you wish.

Thanks for the feedback.
On Fri, Jun 10, 2022 at 8:36 PM mgobat @.***> wrote:

@wolf5050 https://github.com/wolf5050, the SpineOMatic Desktop
application does not provide for automatically centering the lines of the
label. If you are reviewing the labels before printing, you can manually
adjust the label to align as you wish.
—
Reply to this email directly, view it on GitHub
https://github.com/ExLibrisGroup/SpineOMatic/issues/45#issuecomment-1152633009,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANCYPFIXCM2TGRT43PBTV63VOODLNANCNFSM5YCTYD7Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Disclaimer - This e-mail is subject to UWC policies and e-mail disclaimer
published on our website at: https://www.uwc.ac.za/disclaimer
https://www.uwc.ac.za/disclaimer

repo: ExLibrisGroup/SpineOMatic


text:
Docs: API guide

There is still work to do, I just think this is ready to go in and want to keep working on it later.
It is all docstring/docs changes except for one little tweak to Job.__str__().

I think it is meant to go with a removal of the sphinx auto-generated structure, since that would duplicate the class details, but in the default way that sphinx does it.

No, not necessarily. We can have both, and this PR leaves in the auto-generated structure. At the bottom of the API reference page is a link to the complete autogenerated documentation.

I think it is meant to go with a removal of the sphinx auto-generated structure, since that would duplicate the class details, but in the default way that sphinx does it.

No, not necessarily. We can have both, and this PR leaves in the auto-generated structure. At the bottom of the API reference page is a link to the complete autogenerated documentation.

True, that is also an option. I didn't consider it because it duplicates class documentation in multiple places, which I didn't think it's something we want to do. But clearly that's an option that we can discuss.
If we want to be exhaustive, there is also a fourth option :)

I think it is meant to go with a removal of the sphinx auto-generated structure, since that would duplicate the class details, but in the default way that sphinx does it.

No, not necessarily. We can have both, and this PR leaves in the auto-generated structure. At the bottom of the API reference page is a link to the complete autogenerated documentation.

True, that is also an option. I didn't consider it because it duplicates class documentation in multiple places, which I didn't think it's something we want to do. But clearly that's an option that we can discuss.
If we want to be exhaustive, there is also a fourth option :)

I don't think it's so bad actually, the duplicated class documentation lives on its own page, and it's pretty easy to forget that it exists since the only link to it is within a subsection of a page. And it might come in handy sometime. For example if someone makes a PR adding an executor and they don't update the docs page---well, it will still be in the complete project autogenerated thing.

I don't think it's so bad actually, the duplicated class documentation lives on its own page, and it's pretty easy to forget that it exists since the only link to it is within a subsection of a page.

I'm not sure I understand the above. So let me re-state what I see is happening.
We had:

an overview page, in the spirit of https://docs.python.org/3/library/, with list of PSI/J classes and a brief description pointing into...
spinx docs from docstrings, which are exhaustive, one html page per package, and which are meant to be linked into rather than read sequentially
This PR:
an inlining of the classes in the overview page above, which puts all docs from docstrings for all classes listed there as a one html page (probably not to be read sequentially since it has the same form as the sphinx docs from docstrings documents)
spinx docs from docstrings, which are exhaustive, one html page per package, and which are meant to be linked into rather than read sequentially

While there are differences between the two items in this PR, the question is whether they are significant. Even if, say, we'd keep both, one might still want an overview page that tells what all the pieces of the API are. A ToC might be enough there, but I'm not sure a useful enough form of it can be generated automatically.
There are other issues, such as, if we link to a class from, say, a tutorial, we'd have to always decide whether we link into one or the other options in this PR, since we now basically have two copies of the docs from docstrings. So we should probably ask ourselves whether and why we would want that.

authors: hategan jameshcorbett

repo: ExaWorks/psi-j-python


text:
Callback sometimes not invoked on delete event

Replicating the advanced example from the docs https://survey.readthedocs.io/quickstart.html#advanced, I noticed that the callback does not get invoked on deletions when multi = False. It still gets invoked on insertions. If multi = True, everything works as expected.

Excellent catch! The event handler for delete was being overwritten on LineEditor. Should work fine now.

authors: Exahilosys SamSchott

repo: Exahilosys/survey


text:
Handler for custom address pattern

Hi,
I was wondering if there was a way to specify a custom address pattern for an incoming OSC stream that has multiple address patterns - I want to specify a particular address pattern.
I'm having some trouble finding how that could be implemented so any help would be really appreciated.
Thanks!

You have access to all the incoming messages and bundles. You can set it up in any way you want.
Just setup a delegate to receive everything and handle the data accordingly.
Devin
On Apr 24, 2022, 9:05 PM -0700, allan1224 @.***>, wrote:

Hi,
I was wondering if there was a way to specify a custom address pattern for an incoming OSC stream that has multiple address patterns - I want to specify a particular address pattern.
I'm having some trouble finding how that could be implemented so any help would be really appreciated.
Thanks!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

repo: ExistentialAudio/SwiftOSC


text:
[bug]Comment Anchors have conflicts with vetur collapse feature

I'am a vuejs developer, when i use Comment Anchors and vetur plugin , i found the vetur collapse /expand  code feature (in the *.vue file) was broken. I disabled the Comment Anchors plugin and reload the vs code, vetur collapse/ expand feature  is back.
env:
Version: 1.37.1 (user setup)
Commit: f06011ac164ae4dc8e753a3fe7f9549844d15e35
Date: 2019-08-15T16:17:55.855Z
Electron: 4.2.7
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18362
Comment Anchors v1.6.1
vetur v0.22.2  (https://github.com/vuejs/vetur)

I made a mistake, the collapse/expend feature is belong vs code not the vetur plugin.

Comment Anchors:
v1.6.1 (according to the changelog, with latest commit e4ed641)
VS Code:
Version: 1.38.0
Commit: 3db7e09f3b61f915d03bbfa58e258d6eee843f35
Date: 2019-09-03T21:47:00.464Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 18.7.0
Operating System:
MacOS Mojave Version 10.14.6 (18G87)
The Problem and a Quick Fix:
I'm also experiencing this issue, and can reproduce the problem with any .cpp, .h, or .py file. With Comment Anchors enabled, the code folding feature in VS Code stops working. I've found that the easiest solution to this problem (without disabling the extension) is to disable "Comment Anchors: Editor Folding" in User Settings:

It seems that the issue is somewhat known, considering the disclaimer "This feature is known to conflict with some language extensions." However, I am disappointed that it conflicts with such popular languages like C++ and Python. In my honest opinion, the feature shouldn't even be included in the stable release until it can handle these languages.

Thank you for your answer. This thing bothers me for a long time.

authors: betgar bitsy

repo: ExodiusStudios/vscode-comment-anchors


text:
Android - Emoji - List of frequently used emojis doesn't work

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 App and login with any account
Access any chat you prefer
Click on Emoji
Send multiple emojis to add them to the list of most used emoji
Log out

Expected Result:
The list of frequently used emojis should appear
Actual Result:
List of frequently used emojis doesn't appear
Workaround:
Unknown
Platform:

Where is this issue occurring?

Android

Version Number: v1.1.86-0
Reproducible in staging?: Y
Reproducible in production?: N
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/181341615-5ba301c3-1a86-469b-a76a-07857a23b4eb.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause internal team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

@thienlnam FYI Marc and I couldn't reproduce this issue. I'll remove the blocker label, but please take a look and let me know if you can reproduce it.

Closing since I can't reproduce either - please re-open if you are able to

authors: OSBotify kavimuru luacmartins thienlnam

repo: Expensify/App


text:
Archived room pill info component “This chat room has been archived.” is not aligned proper at bottom

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:

Log in any account
Search for archived chat (if not create and delete workspace)
Notice bottom pill is not aligned and conflicts with bottom spacing

Expected Result:
info pill should be proper aligned and have a space below that
Actual Result:
info pill does not have bottom space
Workaround:
unknown
Platform:

Where is this issue occurring?

iOS
Android
Mobile Web

Version Number: 1.2.36-2
Reproducible in staging?: y
Reproducible in production?: y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

Expensify/Expensify Issue URL:
Issue reported by: @dhairyasenjaliya
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1670302296370479
View all open jobs on GitHub

While we're at it, we should also fix the border radius of this info message. It should use componentBorderRadius and not buttonBorderRadius

Proposal
We can tinker around with some css styles to achieve this. The following changes:
diff --git a/src/components/ArchivedReportFooter.js b/src/components/ArchivedReportFooter.js
index c271b0f8c..0acc493d5 100644
--- a/src/components/ArchivedReportFooter.js
+++ b/src/components/ArchivedReportFooter.js
@@ -4,12 +4,14 @@ import PropTypes from 'prop-types';
 import {withOnyx} from 'react-native-onyx';
 import CONST from '../CONST';
 import Banner from './Banner';
+import withWindowDimensions, {windowDimensionsPropTypes} from './withWindowDimensions';
 import withLocalize, {withLocalizePropTypes} from './withLocalize';
 import compose from '../libs/compose';
 import personalDetailsPropType from '../pages/personalDetailsPropType';
 import ONYXKEYS from '../ONYXKEYS';
 import * as ReportUtils from '../libs/ReportUtils';
 import reportPropTypes from '../pages/reportPropTypes';
+import styles from '../styles/styles';

 const propTypes = {
     /** The reason this report was archived */
@@ -40,6 +42,8 @@ const propTypes = {
     })).isRequired,

     ...withLocalizePropTypes,
+
+    ...windowDimensionsPropTypes,
 };

 const defaultProps = {
@@ -71,6 +75,7 @@ const ArchivedReportFooter = (props) => {
             })}
             shouldRenderHTML={archiveReason !== CONST.REPORT.ARCHIVE_REASON.DEFAULT}
             shouldShowIcon
+            containerStyles={[styles.archivedComposeBanner, props.isSmallScreenWidth ? styles.mb5 : null]}
         />
     );
 };
@@ -81,6 +86,7 @@ ArchivedReportFooter.displayName = 'ArchivedReportFooter';

 export default compose(
     withLocalize,
+    withWindowDimensions,
     withOnyx({
         personalDetails: {
             key: ONYXKEYS.PERSONAL_DETAILS,
diff --git a/src/styles/styles.js b/src/styles/styles.js
index f492b7cf0..663e61713 100644
--- a/src/styles/styles.js
+++ b/src/styles/styles.js
@@ -1388,6 +1388,12 @@ const styles = {
         flexBasis: '100%',
     },

+    archivedComposeBanner: {
+        borderRadius: variables.componentBorderRadius,
+        paddingHorizontal: '20px',
+        paddingVertical: '10px',
+    },
+
     // Be extremely careful when editing the compose styles, as it is easy to introduce regressions.
     // Make sure you run the following tests against any changes: #12669
     textInputCompose: addOutlineWidth({

Result
Uploading Screen Recording 2022-12-07 at 2.42.44 AM.mov…

Proposal 2
The same effect can be achieved by following changes:
diff --git a/src/components/ArchivedReportFooter.js b/src/components/ArchivedReportFooter.js
index c271b0f8c..0d72052f2 100644
--- a/src/components/ArchivedReportFooter.js
+++ b/src/components/ArchivedReportFooter.js
@@ -10,6 +10,7 @@ import personalDetailsPropType from '../pages/personalDetailsPropType';
 import ONYXKEYS from '../ONYXKEYS';
 import * as ReportUtils from '../libs/ReportUtils';
 import reportPropTypes from '../pages/reportPropTypes';
+import styles from '../styles/styles';

 const propTypes = {
     /** The reason this report was archived */
@@ -71,6 +72,7 @@ const ArchivedReportFooter = (props) => {
             })}
             shouldRenderHTML={archiveReason !== CONST.REPORT.ARCHIVE_REASON.DEFAULT}
             shouldShowIcon
+            containerStyles={[styles.archivedComposeBanner]}
         />
     );
 };
diff --git a/src/pages/home/report/ReportFooter.js b/src/pages/home/report/ReportFooter.js
index 7c3a4191b..5db182a96 100644
--- a/src/pages/home/report/ReportFooter.js
+++ b/src/pages/home/report/ReportFooter.js
@@ -76,13 +76,11 @@ class ReportFooter extends React.Component {
                                 report={this.props.report}
                             />
                         )}
-                        {!this.props.isSmallScreenWidth && (
-                            <View style={styles.offlineIndicatorRow}>
-                                {hideComposer && (
-                                    <OfflineIndicator containerStyles={[styles.chatItemComposeSecondaryRow]} />
-                                )}
-                            </View>
-                        )}
+                        <View style={styles.offlineIndicatorRow}>
+                            {hideComposer && (
+                                <OfflineIndicator containerStyles={[styles.chatItemComposeSecondaryRow]} />
+                            )}
+                        </View>
                     </View>
                 )}
                 {(!hideComposer && this.props.shouldShowComposeInput) && (
diff --git a/src/styles/styles.js b/src/styles/styles.js
index f492b7cf0..663e61713 100644
--- a/src/styles/styles.js
+++ b/src/styles/styles.js
@@ -1388,6 +1388,12 @@ const styles = {
         flexBasis: '100%',
     },

+    archivedComposeBanner: {
+        borderRadius: variables.componentBorderRadius,
+        paddingHorizontal: '20px',
+        paddingVertical: '10px',
+    },
+
     // Be extremely careful when editing the compose styles, as it is easy to introduce regressions.
     // Make sure you run the following tests against any changes: #12669
     textInputCompose: addOutlineWidth({

Please note: No proposals will be accepted on this issue. This was assigned internally and no external label was applied.

Yup I'm able to replicate this as well!

this pr is merged: https://github.com/Expensify/App/pull/13467 :)

All right - so I think this means @dhairyasenjaliya get $250 and we're done here?

yup, and I believe we need to pay @mananjadhav for testing and reviewing the pr.

All right job is here and have sent $250 offer to @dhairyasenjaliya and $1000 for @mananjadhav

All paid up!

authors: JmillsExpensify allroundexperts kavimuru shawnborton sophiepintoraetz srikarparsi


text:
Web - Chat - List of emoji disappeared when scroll fast

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:

Open App and login
Navigate to a conversation
Open the emoji picker
Scroll down the list to the bottom

Expected Result:
Verifying each emoji is rendered correctly
Actual Result:
List of emoje disappeared when scroll fast. Usually near Travel & Places.
Issue not reproduced on Chrome and iOS/ Safari.
Workaround:
Unknown
Platforms:

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

[ ] MacOS / Safari

Version Number: 1.2.42.1
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/208793844-815c7417-3e42-4a40-9a49-7014ecff2b26.mp4

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

While I can kind of reproduce the behavior on staging, i.e. the emojis disappear if I scroll fast enough, they load within a second of me stopping the scroll. Because the emojis disappear for a fraction of a second, and I have to put effort into trying to make them disappear, I don't think this is an issue we need to solve.

Closing, feel free to reopen if you disagree!

@stitesExpensify What do you think about this one? I agree with Sonia that it's not really a priority given that the picker recovers quickly, and related, I'd say that it's even easier to reproduce this issue on Slack. So it mostly feels like @sonialiap is right and we should punt. Agreed?

Agreed, I think this is pretty normal behavior when you are scrolling through thousands of anything (even text on a website) so we should just :donothing:

authors: JmillsExpensify kbecciv sonialiap stitesExpensify


text:
Deploy Checklist: New Expensify 2023-01-16

Release Version: 1.2.55-0
Compare Changes: https://github.com/Expensify/App/compare/production...staging
This release contains changes from the following pull requests:

[x] https://github.com/Expensify/App/pull/13502
[x] https://github.com/Expensify/App/pull/13886
[x] https://github.com/Expensify/App/pull/13887
[x] https://github.com/Expensify/App/pull/13898
[x] https://github.com/Expensify/App/pull/14217
[x] https://github.com/Expensify/App/pull/14244
[x] https://github.com/Expensify/App/pull/14248
[x] https://github.com/Expensify/App/pull/14264
[x] https://github.com/Expensify/App/pull/14270
[x] https://github.com/Expensify/App/pull/14272
[x] https://github.com/Expensify/App/pull/14273
[x] https://github.com/Expensify/App/pull/14288
[x] https://github.com/Expensify/App/pull/14289
[x] https://github.com/Expensify/App/pull/14296
[x] https://github.com/Expensify/App/pull/14298
[x] https://github.com/Expensify/App/pull/14308
[x] https://github.com/Expensify/App/pull/14317
[x] https://github.com/Expensify/App/pull/14318

Internal QA:

[x] https://github.com/Expensify/App/pull/14224 - @arosiclair

Deploy Blockers:

[x] https://github.com/Expensify/App/issues/14350

Deployer verifications:

[ ] I checked the App Timing Dashboard and verified this release does not cause a noticeable performance regression.
[ ] I checked Firebase Crashlytics and verified that this release does not introduce any new crashes. More detailed instructions on this verification can be found here.

cc @Expensify/applauseleads

:rocket: All staging deploys are complete, @Expensify/applauseleads please begin QA on version https://github.com/Expensify/App/releases/tag/1.2.55-0 :rocket:

@AndrewGable Regression is completed
https://github.com/Expensify/App/pull/13898 - PROD QA
https://github.com/Expensify/App/pull/14264  is failing https://github.com/Expensify/App/issues/12123 and we are blocked on the Native aps due to a connectivity issue
#14296 is failing https://github.com/Expensify/App/issues/14357. repro in PROD checking off
#14308 is failing https://github.com/Expensify/App/issues/14356 & https://github.com/Expensify/App/issues/14302

@ctkochan22 - Can you test https://github.com/Expensify/App/pull/14264?

Sounds like https://github.com/Expensify/App/pull/14308 did not cause a bug: https://github.com/Expensify/App/issues/14356#issuecomment-1385987076

Done - https://github.com/Expensify/App/pull/14264#issuecomment-1386527152

@arosiclair - Can you please QA your internal QA? https://github.com/Expensify/App/pull/14224

Verified #14224

:shipit:

authors: AndrewGable OSBotify arosiclair ctkochan22 mvtglobally


text:
Selection indicator behaves inconsistently when navigating contact list with keyboard

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:

Click on the search icon
Use the keyboard "down" arrow key to navigate in the contact list
Notice the selection indicator stays in the third contact while moving down
Click on FAB and click on New group
Use the keyboard "down" arrow to navigate in the contact list

Expected Result:
The selection indicator should stay in the third contact while moving down just like it does on the search page
Actual Result:
The selection indicator goes down to the bottom and gets half hidden and doesn't stay on the third contact
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.12
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/df8d9e12-844e-4ece-86cf-1dfb2f321254
https://github.com/Expensify/App/assets/43996225/12263f1f-b9f1-40ed-9592-94b116bbaffb
Expensify/Expensify Issue URL:
Issue reported by: @nathan-mulugeta
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1683707181614609
View all open jobs on GitHub

I'm not sure this is a bug, asking here what others think https://expensify.slack.com/archives/C01SKUP7QR0/p1683836179485479

Proposal
Please re-state the problem that we are trying to solve in this issue.
The selection indicator doesn't stay on the third contact
What is the root cause of that problem?
In https://github.com/Expensify/App/blob/f0478bb8e9cb46ea60a9f58818a71ef39c86c729/src/components/OptionsSelector/BaseOptionsSelector.js#L235-L242
We're adjusting the sectionIndex if the section is empty
That makes the scrollToLocation function not work correctly (scroll to wrong section)
What changes do you think we should make in order to solve the problem?
Solution 1:
I don't actually know why we have to adjust the sectionIndex because when I remove these lines, everything works well
So we can remove these lines
https://github.com/Expensify/App/blob/f0478bb8e9cb46ea60a9f58818a71ef39c86c729/src/components/OptionsSelector/BaseOptionsSelector.js#L235-L242
Solution 2:
If we want to preserve this logic, we can filter out the empty sections in
https://github.com/Expensify/App/blob/f0478bb8e9cb46ea60a9f58818a71ef39c86c729/src/pages/NewChatPage.js#L87
because we don't show these empty sections (adding the empty sections can be worthless)
Result
https://github.com/Expensify/App/assets/113963320/f1ba1ee0-be2a-498b-a621-3ea2d6d0692f

Bumped for a second opinion here https://expensify.slack.com/archives/C01SKUP7QR0/p1683836179485479

authors: MitchExpensify kavimuru tienifr


text:
Settings Tooltip not shown when hovering over the edge

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:

Login to the app
Hover over the edge of the profile avatar on the LHN
Notice that even if the cursor is still Pointer tooltip is not shown

Expected Result:
The tooltip is shown when hovering over the edge and if the cursor is a pointer
Actual Result:
Settings Tooltip not shown when hovering over the edge
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.54-11
Reproducible in staging?: Yes
Reproducible in production?: Yes
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/38435837/72f0b86b-507c-4866-8c9e-c294f35fa161
https://github.com/Expensify/App/assets/38435837/70b5c582-18e6-4e47-90ce-5f97c26d3c9c
Expensify/Expensify Issue URL:
Issue reported by: @daveSeife
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1691462053076169
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
Settings Tooltip not shown when hovering over the edge
What is the root cause of that problem?
The Avatar component which has the tooltip is rounded, but it is wrapped with PressableWithoutFeedback and OfflineWithFeedback not rounded and have cursor pointer.
What changes do you think we should make in order to solve the problem?
we need to apply the same border radius to PressableWithoutFeedback and OfflineWithFeedback like this
<PressableWithoutFeedback style={{borderRadius : 20}}>

  <OfflineWithFeedback
      style={{borderRadius : 20}}
      contentContainerStyle={{borderRadius : 20}}>
      <AvatarWithIndicator />
  </OfflineWithFeedback>

</PressableWithoutFeedback>

we need to define new style = {borderRadius : 20} or use styles.actionAvatar
What alternative solutions did you explore? (Optional)
N/A

cc @grgia because we were just talking about tooltips

PROPOSAL
Issues is related with how the tooltip is configured for settings,
PressableWithoutFeedback is catching the over but is not displaying the tooltip
So we can use a explicit Tootip componente as we are doing for search
FILE: SidebarLinks.js
Solution : move tool tip as separate tag and not as property
                    <Tooltip text={this.props.translate('common.settings')}>                     <PressableWithoutFeedback                         accessibilityLabel={this.props.translate('sidebarScreen.buttonMySettings')}                         accessibilityRole={CONST.ACCESSIBILITY_ROLE.BUTTON}                         onPress={Session.checkIfActionIsAllowed(this.showSettingsPage)}                     >                         {Session.isAnonymousUser() ? (                             <View style={styles.signInButtonAvatar}>                                 <Button                                     medium                                     success                                     text={this.props.translate('common.signIn')}                                     onPress={() => Session.signOutAndRedirectToSignIn()}                                 />                             </View>                         ) : (                             <OfflineWithFeedback pendingAction={lodashGet(this.props.currentUserPersonalDetails, 'pendingFields.avatar', null)}>                                 <AvatarWithIndicator                                     source={UserUtils.getAvatar(this.props.currentUserPersonalDetails.avatar, this.props.currentUserPersonalDetails.accountID)}                                                                     />                             </OfflineWithFeedback>                         )}                     </PressableWithoutFeedback>                     </Tooltip>

Contributor details
Your Expensify account email: valdettaro@gmail.com
Upwork Profile Link: https://www.upwork.com/freelancers/albertovaldettaro

https://github.com/Expensify/App/assets/4729957/69848385-3d5b-4cec-b9c2-6ebd2034e8ff

Proposal
There is an invisible layer surrounding the avatar. When hovering over this layer the tooltip shows. If we let that layer be a square instead of a circle (as it is now) we can achieve the expected behavior.
Please re-state the problem that we are trying to solve in this issue.
Tooltip should show when hovering over the edge/corners of rounded avatar.
What is the root cause of that problem?
Since the tooltip element shares the same style as the rounded avatar, there is no tooltip element on the edge to activate the tooltip on hover.
What changes do you think we should make in order to solve the problem?
The tooltip element should be a transparent square as opposed to a circle.
// src/styles/styles.js
// ...
    sidebarAvatar: {
-       backgroundColor: themeColors.icon,
-       borderRadius: 20,
        height: variables.componentSizeNormal,
        width: variables.componentSizeNormal,
    },
// ...

This change is isolated to this element and should not produce any side effects.
https://github.com/Expensify/App/assets/25206487/9f78e716-0bc1-4f1e-b986-6bbd62c0cdd2

Contributor details
Your Expensify account email: c.darioalmonte@gmail.com
Upwork Profile Link: https://www.upwork.com/freelancers/~010e9950f7b5f0f0eb

Thank you guys, for the proposals!
@bernhardoj Even though you're right regarding the structure, the result of your solution is not quite right. The tip of the cursor is still can be hovering outside the avatar.
https://github.com/Expensify/App/assets/25520267/a3a6419d-d6dc-4319-b6d6-60b4223f1c78
@carlosalmonte04 The result is still not quite right too. The cursor is still active out of the avatar.
https://github.com/Expensify/App/assets/25520267/2d31d31e-d9df-4f26-a136-69cf38ee8fd2
@ahmedGaber93 The result of your proposal looks good, but I think we need to re-positioning the PressableWithoutFeedback settings pressable and the sign-in button.
@TTaro Hi! This is your first time contributing to this repo. We have a new template for posting a proposal. If you haven't, please go through the CONTRIBUTING.md to learn what the process is and how to get started.

Let's go with @ahmedGaber93 proposal.
🎀 👀 🎀 C+ reviewed!

I don't think this is a bug, going to close per this slack thread: https://expensify.slack.com/archives/C01SKUP7QR0/p1692635629121469


text:
[Wave6] Remove links from the next steps message

Problem
Coming from https://expensify.slack.com/archives/C049HHMV9SM/p1705600357375529
The next steps in the App are exact mirror of what we show in OldDot right now, however, that is not fully compatible with NewDot. Especially there can be buttons or links in the message that do not funciton as intended in NewDot leading to confusing experience.
Solution
We have already removed the buttons. Lets also make sure we do not hyper link the links in the next steps, leave them as normal text
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~010faf9f4e9ae96068
Upwork Job ID: 1749392983082467328
Last Price Increase: 2024-01-22

Ha funny @muttmuure

Hello, Im Artem from Callstack and would like to help with this issue!

Hey @mountiny
This link is rendering just in  component which is coming from the backend
Here is a place in "NextStep.php" file where this link is creating.

I think this should be a backend fix.

I could do that too

@mountiny in frontend part just  component is rendering with the data from backend

Will look tomorrow

Did not get around at the end of the week

PR is up and in review

I think this is done and handled by an agency. Closing

Not sure this did not close, this should be completed no cahnges required in the App

authors: mountiny muttmuure waterim


text:
[$500] "Submit" button appear and disappear when submitting a receipt which is still scanning

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.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
Expensify/Expensify Issue URL:
Issue reported by: @miljakljajic
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1705663044258599
Action Performed:
Pre requisite: Have an expense report created

Scan a receipt for expense report
Whilst scanning try to submit the report

Expected Result:
There should be some error message showing as it is not possible to submit when the scanning is in progress
Actual Result:
"Submit" button disappears and reappears
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/43996225/67ac8eb2-bf98-408a-a1d2-5a02d0865779

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

Upwork Job URL: https://www.upwork.com/jobs/~014541d04f41fe73af
Upwork Job ID: 1749441882650705920
Last Price Increase: 2024-01-30

Alternative Solution:
Problem Overview:

Software Version: 1.4.29-0
Reproducible in Staging: Yes
Reproducible in Production: Yes
Logs: Stack Overflow Link
Expensify Issue URL: GitHub Issue #34891
Issue Reported by: @miljakljajic
Slack Conversation: Slack Conversation Link

Description of the Issue:

Creating an expense report is the starting point.
Attempting to submit the report while scanning a receipt results in unexpected behavior from the "Submit" button – it vanishes and reappears instead of displaying an error message.

Expected Outcome:

Ideally, an error message should be shown when trying to submit during the scanning process.

Actual Behavior:

The "Submit" button behaves oddly, disappearing and reappearing without displaying an error message.

Proposed Resolution:

Augmenting Logging: Enhance logging to provide detailed insights into the execution flow and identify the root cause of the issue.
Timing Adjustment: Mitigate timing-related issues, particularly those associated with asynchronous operations, to ensure the smooth functioning of the "Submit" button during scanning.
Comprehensive Code Review: Conduct a thorough examination of both frontend and backend code to identify and rectify any irregularities impacting the scanning and submission process.
Rigorous Testing: Perform extensive testing to validate the proposed changes, accompanied by screenshots and confirmation of successful testing on all relevant platforms.

Implementation Process:
Upon receiving approval for the proposed solution, I will document the plan on the GitHub issue. Subsequently, I will initiate the changes in a separate code branch, providing a demonstration of the modifications and their positive impact. If everything aligns with expectations, the changes will be formally submitted for integration into the primary codebase through a GitHub pull request.
Adherence to Guidelines:
I am committed to following the guidelines outlined in the CONTRIBUTING.md document, and I understand the variable payment structure based on any potential regressions introduced by my work.
Eager to contribute positively to the enhancement of Expensify's functionality.
Best regards,
[Your Name]

No one is seeing this, maybe...

I can take over this issue as a C+ contributor

@miljakljajic Could you help clarify the expected result here?

The submit button is not shown until the scanning receipt is done
Keep the submit process and show the error message. But this will make the button disappear and reappear

We want to have clear instructions about what is happening. My opinion is we keep the button, but add a validation to check there are scanning receipts and showing the error message. The downside is, that we don't have a place to show the message for the submit button in the header report.

this is wave 5!

pending

discussed internally, closing

authors: DylanDylann TufailKhanDeveloper dylanexpensify kavimuru mollfpr


text:
Chat - User deletes attachment from uploading attachment text, yet video is shown.

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.59
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4472299
Issue reported by: Applause - Internal Team
Action Performed:

Launch app
Tap on a report
Tal plus icon --- add attachment
Upload an mp4 video
Tap send
In conversation page, long press text uploading attachment
Tap delete and confirm deleting it

Expected Result:
User deletes attachment from uploading attachment text, video message must not be shown
Actual Result:
User deletes attachment from uploading attachment text, yet video is shown
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/87e4563d-5b24-44a2-a23a-01cc7a916aff
View all open jobs on GitHub

@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

We think that this bug might be related to #vip-vsp

Still working to recreate this 👍

Going to work with Stevie since I don't have an android

I am unable to reproduce this, so going to apply Needs Reproduction on this to see if anyone gets consistent results 👍

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

Still waiting on someone to pick this up 👍

If I don't hear anything by EOD, going to present to SM or CS 👍

@CortneyOfstad Issue is not reproducible
https://github.com/Expensify/App/assets/78819774/df8a93b0-234d-455d-bcfd-00eecdb402b5

Thanks @lanitochka17! Since this is not reproducible, going to close! Feel free to reopen if it pops up again!

authors: CortneyOfstad MelvinBot lanitochka17


text:
QBO - App crashes when toggling on "Sync reimbursed reports"

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.72-0
Reproducible in staging?: y
Reproducible in production?: y
Email or phone of affected tester (no customers): applausetester+kh250402@applause.expensifail.com
Logs: https://stackoverflow.com/c/expensify/questions/4856
logs Web.docx
Issue reported by: Applause - Internal Team
Action Performed:
Precondition:

Account is connected to QBO,

Launch New Expensify app.
Log in to applausetester+kh250402@applause.expensifail.com
Go to Account settings > Workspaces > any workspace.
Go to Accounting.
Click Advanced.
Toggle on "Sync reimbursed reports".

Expected Result:
"Sync reimbursed reports" can be toggled on.
Actual Result:
App crashes.
On web, it shows console error.
Workaround:
n/a
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/93399543/359171d4-9452-4971-912c-0e240dc33cfe
https://github.com/Expensify/App/assets/93399543/c57a32ea-0b11-4061-acd4-452ee8724354
View all open jobs on GitHub

@anmurali 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.

👋 @kbecciv can you share with us which Applause QBO account you used to connect here?
I tried the one under "Applause QBO" with applausetester+qbo@applause.expensifail.com in 1Password, and I can't reproduce it:
https://github.com/Expensify/App/assets/16232057/f75e784c-764d-46a4-a15b-d30d1e394255

This is still being worked on, so not overdue.

^^ confirming if this is Android only or something in thread.

Alrighty, turns out they weren't trying with a new connection and that explains why I wasn't able to reproduce it repeatedly using the same QBO account. Closing!

authors: anmurali kbecciv trjExpensify


text:
[Payment Due 09/11] [$250] Expense - Missing green unread line after marking first expense as unread in expense report

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: 9.0.10-2
Reproducible in staging?: y
Reproducible in production?: n
If this was caught during regression testing, add the test name, ID and link from TestRail: n/a
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:

Go to staging.new.expensify.com
Go to DM.
Submit two expenses to the user.
Click on the expense preview to go to expense report.
Right click on the first expense preview.
Select Mark as unread.

Expected Result:
The line separator below "Total" will change to a green line with "New" label on the right.
Actual Result:
The line separator below "Total" disappears after marking the first expense as unread.
There is no green unread line.
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
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/fab12199-180b-42f6-ad99-bcc654454ad1

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

Upwork Job URL: https://www.upwork.com/jobs/~012c73811fb416526a
Upwork Job ID: 1815405989806434770
Last Price Increase: 2024-07-29
Automatic offers:

dominictb | Contributor | 103407584

Issue OwnerCurrent Issue Owner: @sakluger

@nyomanjyotisa thanks for your proposal! Can you also help us figure out what PR may have caused this bug?

Thanks for all the proposals so far. Can anyone identify what PR caused the regression though? It seems like all of suggested code changes aren't in code that changed recently.

Demoting this because:

its one of last blockers
its edge case where user needs to mark the first IOU action as unread
the chat shows as unread in the LHN so the user would not miss the chat as unread

@dominictb @daledah @nyomanjyotisa With any deploy blocker, always include the PR that introduced the regression

@allroundexperts mind reviewing this one? I'd also love to get to the bottom of how this happened, as this must have only happened recently 🤔

On it today.

Melv I'll be reviewing this today.

@dominictb Can you please post a video of your solution in action? I can't seem to make it work by applying your changes.

Thanks for the proposals everyone!
@dominictb's proposal looks better to me as it utilises an already used piece of code in another component.
🎀 👀 🎀 C+ reviewed

Oof yep, this probably got merged & deployed when our automation was broken 🙃

Sorry about that!
Summarizing payment on this issue:
Contributor: @dominictb $250, paid via Upwork
Contributor+: @allroundexperts $250, please request on Newdot

Pasting the BZ checklist here for convenience.
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:
[@allroundexperts] The PR that introduced the bug has been identified. Link to the PR:
[@allroundexperts] 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:
[@allroundexperts] 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:
[@allroundexperts] Determine if we should create a regression test for this bug.
[@allroundexperts] 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.

Checklist

I wasn't able to pinpoint the exact PR that caused this issue. It seems to me that this is something that was like this when it was first implemented.
N/A
N/A
I think a regression test would be helpful.

Regression test

Open the app and go to any direct message
Submit two expenses to the user
Click on the expense preview to go to expense report
Right click on the first expense preview
Select Mark as unread.

Verify that the line separator below "Total" will change to a green line with "New" label on the right.
Do we 👍 or 👎 ?

Looks good to me. Thanks!

$250 approved for @allroundexperts

authors: Beamanator JmillsExpensify allroundexperts francoisl m-natarajan mountiny sakluger


text:
Don't let users request call if blocked from Concierge

If a user is blocked from chatting with Concierge they also shouldn't be able to request a call from a guide. We handle it at the API level here, but let's also block them from requesting the call on the front-end.

Not deployed yet.


text:
IPAD - Emoji - Emoji icon is disappeared when iPAD on landscape mode

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:

Launch App and login with HT account
Open any chat and sent message
Return IPAD to landscape mode

Expected Result:
Emoji icon should be visible when iPAD on landscape mode
Actual Result:
Emoji icon is disappeared when iPAD on landscape mode
Workaround:
Unknown
Platform:

Where is this issue occurring?

iOS/IPAD

Version Number: 1.1.76.2
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers): any
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://user-images.githubusercontent.com/93399543/173476080-81714aea-dea3-433b-b756-795cff47f6cb.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Ah amazing @thesahindia! Thanks for clarifying this! I'll close this issue then.

authors: kbecciv luacmartins


text:
Add app_id for fastlane's upload_symbols_to_crashlytics Testflight build step

cc @luacmartins for context. I don't think we can be sure it will solve the issue, but it's worth trying?
Details

Specify our app's app_id as a param of in fastlane's upload_symbols_to_crashlytics function call, as suggested in https://github.com/fastlane/fastlane/issues/16168#issuecomment-607781200.
I also checked it's a supported param in their docs.

Fixed Issues
Internal discussion about dSYM file not uploading to crashlytics — https://expensify.slack.com/archives/C07J32337/p1663624752818099
Tests
Can't be tested locally, we'll manually check during the next staging deploy if Crashlytics reports that the dSYM file hasn't been uploaded again.

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

PR Review Checklist
Contributor (PR Author) Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] 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)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] 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
[x] I verified proper code patterns were followed (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 tagging the marketing team 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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] 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)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] Any functional components have the displayName property
[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 reviewer checklist, including those that don't apply to this PR.

QA Steps
Internal QA

Wait for the iOS Testflight build to finish
Go to https://console.firebase.google.com/u/0/project/expensify-chat/crashlytics/app/ios:com.chat.expensify.chat/dsyms
Make sure there is no red warning for the new staging build saying that the dSYM is missing

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

Screenshots
N/A

Tests passed. Removing Emergency label.

: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 @luacmartins in version: 1.2.4-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

I think this worked. I see no required missing dSYM files on Firebase 🎉

🚀 Deployed to production by @luacmartins in version: 1.2.4-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

authors: OSBotify francoisl luacmartins


text:
[Performance] Remove withOnyx() subscription in BaseReportActionContextMenu

Details
Proposal: https://github.com/Expensify/App/issues/11449#issuecomment-1262772264
Fixed Issues
$ https://github.com/Expensify/App/issues/11449
Tests
NOTE: betas is used in BaseReportActionContextMenu only for Copy link visibility so below steps are to test this functionality.

Login with any account
Go to any chat room
Long click any message to show context menu
Verify that Copy link option shows (In dev mode, all betas are enabled)

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

PR Review Checklist
Contributor (PR Author) Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I 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 tagging the marketing team 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 */
[ ] Any functional components have the displayName property
[ ] 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.

QA Steps
NOTE: betas is used in BaseReportActionContextMenu only for Copy link visibility so below steps are to test this functionality.

Login with commentLinking beta enabled account
Go to any chat room
Long click any message to show context menu
Verify that Copy link option shows
Logout
Login with commentLinking beta not enabled account
Go to any chat room
Long click any message to show context menu
Verify that Copy link option is hidden

[ ] Verify that no errors appear in the JS console

Screenshots
Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Looks good to me.
@vitHoracek, It's ready for your review.
🎀👀🎀
C+ reviewed

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] 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)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] 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
[x] I verified proper code patterns were followed (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 tagging the marketing team 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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] 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)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] Any functional components have the displayName property
[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 reviewer checklist, including those that don't apply to this PR.

🚀 Deployed to staging by @mountiny in version: 1.2.12-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @AndrewGable in version: 1.2.12-4 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

authors: OSBotify aimane-chnaif thesahindia