[Mac OS BigSur] FSLeyes: Unable to load OpenGL library

Recently, I updated my Mac OS from Mojave(10.14.6) to Mac OS Big Sur (11.4). In doing so, I am unable to open FSLeyes in AxonDeepSeg
I get the following OpenGL issue: Unable to load OpenGL library. Log is below:

log
Using TensorFlow backend.
  _np_qint8 = np.dtype([("qint8", np.int8, 1)])
  _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
  _np_qint16 = np.dtype([("qint16", np.int16, 1)])
  _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
  _np_qint32 = np.dtype([("qint32", np.int32, 1)])
  np_resource = np.dtype([("resource", np.ubyte, 1)])
 WARNING          __init__.py  637: create          - GLContext callback function raised ImportError: ('Unable to load OpenGL library', 'dlopen(OpenGL, 10): image not found', 'OpenGL', None)
Traceback (most recent call last):
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/darwin.py", line 38, in GL
    mode=ctypes.RTLD_GLOBAL
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/ctypesloader.py", line 36, in loadLibrary
    return _loadLibraryWindows(dllType, name, mode)
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/ctypesloader.py", line 89, in _loadLibraryWindows
    return dllType( name, mode )
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/ctypes/__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: ('dlopen(OpenGL, 10): image not found', 'OpenGL', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/fsleyes/gl/__init__.py", line 631, in create
    ready()
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/fsleyes/main.py", line 579, in realCallback
    fslgl.bootstrap(namespace.glversion)
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/fsleyes/gl/__init__.py", line 301, in bootstrap
    import OpenGL.GL         as gl
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/GL/__init__.py", line 3, in <module>
    from OpenGL import error as _error
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/error.py", line 12, in <module>
    from OpenGL import platform, _configflags
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/__init__.py", line 36, in <module>
    _load()
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/__init__.py", line 33, in _load
    plugin.install(globals())
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/baseplatform.py", line 97, in install
    namespace[ name ] = getattr(self,name,None)
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/baseplatform.py", line 15, in __get__
    value = self.fget( obj )
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/darwin.py", line 62, in GetCurrentContext
    return self.CGL.CGLGetCurrentContext
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/baseplatform.py", line 15, in __get__
    value = self.fget( obj )
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/darwin.py", line 45, in CGL
    def CGL(self): return self.GL
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/baseplatform.py", line 15, in __get__
    value = self.fget( obj )
  File "/Users/vasudevsharma/anaconda3/envs/ads_venv/lib/python3.7/site-packages/OpenGL/platform/darwin.py", line 41, in GL
    raise ImportError("Unable to load OpenGL library", *err.args)
ImportError: ('Unable to load OpenGL library', 'dlopen(OpenGL, 10): image not found', 'OpenGL', None)

Platform :

OS: Mac OS Big Sur (11.4)
AxonDeepSeg version number: latest master branch

@ahill187 found a solution for this bug I think

We had a thread about it on Slack, there's a Python file you need to edit.

Here was the solution I think: https://stackoverflow.com/questions/63475461/unable-to-import-opengl-gl-in-python-on-macos

Here was the solution I think: https://stackoverflow.com/questions/63475461/unable-to-import-opengl-gl-in-python-on-macos

This solution works amazingly well.

Although the FSLeyes window loads for me, I'm unable to get the ADS plugin working on this. For more details check https://github.com/neuropoly/axondeepseg/pull/507#issuecomment-857539432

Stale - no longer using FSLeyes


Unable to save objects with Master Key from PHP SDK

This is a copy of a question on the PHP SDK, here: #231
Environment Setup
My environment is set up with my master key, running on Heroku with MongoDB. I am able to save objects fine from the iOS SDK, but when trying to save new objects in the PHP SDK, I get the error "unauthorized: master key required".
PHP SDK is initialized:

ParseClient::initialize('appId', 'restID', 'masterKey');

ParseClient::setServerURL("myServerURL");

Steps to reproduce

$parseTransaction = new ParseObject("Transaction");
$parseTransaction->set("buyer", $buyer);
.... //set some more things
$parseTransaction->save(true);

Can you run this locally, set the environment variable VERBOSE=1 and capture the request/response made for this?

I actually got this to work by using ParseObject::create("Transaction") and had no problems.


Automatically kick off build on TFS checkin

It would be nice if a build could automatically be triggered when a check in is done to a project in TFS. Using the "Link to current solution" option and then subscribing to an event in TFS could trigger the "Build now"  event.
So more information around subscribing to events in TFS...
http://msdn.microsoft.com/en-us/magazine/cc507647.aspx#S3

I understand the need for you for such a functionality, but I'm not sure if a visual studio plugin is the best place for it. Would be cleaner if TFS could call an url when something is commited, don't you agree?

Agreed.  Thanks


Fix SVG import

Please update:
import { Svg } from 'expo';
const { Rect, Defs, LinearGradient, Stop, } = Svg

to:
import Svg, { Rect, Defs, LinearGradient, Stop, RadialGradient, Path } from 'react-native-svg';

Any news on this?

I've created a fork and submitted a PR with these changes.

Please update

update! it's no longer compatible with new SDK versions

I'm gettin this error: TypeError: undefined is not an object (evaluating '_expo.SVG.Rect')


Updating List of Support Metrics

@anirudhcavale,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

#sign-off

@anirudhcavale : Thanks for your contribution to the Azure documentation! The author, @anirudhcavale, has been notified to review your proposed change.

@johnkemnetz - Please review the proposed changes and add an appropriate comment so that automation can take the corresponding action.  Thanks

#sign-off


Fix MaxMeasuredValue is out of range Temperature Measurement Cluster

Problem
What is being fixed?  Examples:

MaxMeasuredValue needs to be between -27314 to 32767 , but SDK is reporting -32768.

Fixes #9864

Change overview
Fix MaxMeasuredValue is out of range Temperature Measurement Cluster
Testing
How was this tested? (at least one bullet point required)
yufengw@yufengw-SEi:~/connectedhomeip/out/debug/standalone$ ./chip-tool temperaturemeasurement read measured-value
.....
[1646333860.006585][34569:34574] CHIP:DMG: ReportDataMessage =
[1646333860.006589][34569:34574] CHIP:DMG: {
[1646333860.006592][34569:34574] CHIP:DMG: 	AttributeReportIBs =
[1646333860.006598][34569:34574] CHIP:DMG: 	[
[1646333860.006601][34569:34574] CHIP:DMG: 		AttributeReportIB =
[1646333860.006606][34569:34574] CHIP:DMG: 		{
[1646333860.006610][34569:34574] CHIP:DMG: 			AttributeDataIB =
[1646333860.006614][34569:34574] CHIP:DMG: 			{
[1646333860.006618][34569:34574] CHIP:DMG: 				DataVersion = 0x9651a08a,
[1646333860.006622][34569:34574] CHIP:DMG: 				AttributePathIB =
[1646333860.006626][34569:34574] CHIP:DMG: 				{
[1646333860.006630][34569:34574] CHIP:DMG: 					Endpoint = 0x1,
[1646333860.006634][34569:34574] CHIP:DMG: 					Cluster = 0x402,
[1646333860.006638][34569:34574] CHIP:DMG: 					Attribute = 0x0000_0000,
[1646333860.006642][34569:34574] CHIP:DMG: 				}
[1646333860.006646][34569:34574] CHIP:DMG:
[1646333860.006650][34569:34574] CHIP:DMG: 					Data = NULL
[1646333860.006654][34569:34574] CHIP:DMG: 			},
[1646333860.006658][34569:34574] CHIP:DMG:
[1646333860.006662][34569:34574] CHIP:DMG: 		},
[1646333860.006666][34569:34574] CHIP:DMG:
[1646333860.006670][34569:34574] CHIP:DMG: 	],
[1646333860.006674][34569:34574] CHIP:DMG:
[1646333860.006678][34569:34574] CHIP:DMG: 	SuppressResponse = true,
[1646333860.006681][34569:34574] CHIP:DMG: 	InteractionModelRevision = 1
[1646333860.006684][34569:34574] CHIP:DMG: }
[1646333860.006739][34569:34574] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_0000DataVersion:<PHONE_NUMBER>
[1646333860.006759][34569:34574] CHIP:TOO:   MeasuredValue: null

Per sync offline, we will not enforce the range check in SDK, but just assume that the device maker will not set the invalid value. All temperature attributes shall be null if their value is unknown.


Use google-auth-library 1.0

google-auth-library version 1.0 includes type definitions.  When the translation of the error reporting code to Typescript has completed, bring in google-auth-library >=1.0 to remove manually written type definitions in the error-reporting code.

Since we upgraded to the latest @google-cloud/common, this is fixed :)

Awesome


https://github.com/triton-lang/triton/pull/4222 not included in triton 3.1

Hello, I have a question about https://github.com/triton-lang/triton/pull/4222. It's needed by torchao. But it's not included in triton 3.1 while pytorch 2.5 has a dependency on triton 3.1.0.
Should I cherry-pick that commit and build from source code? (Would that work? Should I pick more changes?) If yes, which one is the triton 3.1.0 release branch?
Or should I use latest main branch of triton instead?
Thanks!

Using main is unlikely to work as PyTorch uses internal triton implementation details that aren't stable across versions.  Cherry-picking the fix is your best bet, but we can't really advise on what other changes you'd need.
You could also try a nightly build of pytorch which may use a newer triton version.


Is there a flag to use CPU instead if GPU?

It's not currently possible in the library but try this:
https://datascience.stackexchange.com/a/58846.
On Thu, Jul 8, 2021 at 3:31 PM Fadwa @.***> wrote:

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/justinshenk/fer/issues/28, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACOLMZBTKT2JEPFCEVUYQX3TWWSBRANCNFSM5AAYG7GQ
.


Auto corrected by following Lint Ruby Style/PerlBackrefs

Auto corrected by following Lint Ruby Style/PerlBackrefs
Click here to configure it on awesomecode.io

Coverage remained the same at 96.13% when pulling 4c2b7defc015334b0983d8ccca14f339b385b1c0 on awesomecode-lint-ruby-style-perlbackrefs-47815 into 99aa892c07cfc221480991741f56e2ccdf4fb464 on master.

Coverage remained the same at 96.13% when pulling 4c2b7defc015334b0983d8ccca14f339b385b1c0 on awesomecode-lint-ruby-style-perlbackrefs-47815 into 99aa892c07cfc221480991741f56e2ccdf4fb464 on master.


GuiBuilder ?

Hello , did material ui swing work with any scenebuilder/guibuilder ?

Hi @Fusked,
Material-ui-swing is an l&f, don't use any personal component, an example: JMaterialButton, but customize the native JButton with a swing component called ButtonUI.
So, I think that material-ui-swing work with a GUI builder, I tried to use Matisse with Netbeans and the library worked.

Okay thank u very much

I'm marking this issue of how resolved and I'm closing it.


Years section misaligned

Hi there,
Awesome plugin! I've been trying to use it with bootstrap by inserting the timesheet in a row and the years section is aligned to the center.
Need some guidance please?! Any suggestions?

Issue was due to parent having 100px of padding.
Sorry for the incovenient


Implements radix sort for sorted minimax

@AlexHartmann00 can you add some unit tests to this code?  At the moment you can't prove that it is sorting correctly

@AlexHartmann00 can you add some unit tests to this code? At the moment you can't prove that it is sorting correctly

There already is. In sortedABMiniMaxTest

Ahh, didn't realise!


ImportError: cannot import name 'formatargspec' from 'inspect' (C:\anaconda3\Lib\inspect.py)

Anyone any idea why this is happening?
just by importing Agents and tasks
from crewai import Agent, Task, Crew, Process
I get the following error
ImportError: cannot import name 'formatargspec' from 'inspect' (C:\anaconda3\Lib\inspect.py)
Never really came across this problem ever
Python version 3.11.5

@LeventeNagy Need more info here (full traceback, are you using conda for env management?)


annotation menu will refuse to go away

this appears to be an issue catching mousedown or something?
in any case, i occasionally cannot get the annotation menu to go away. without actually clicking on any cell it pops up over and over in a loop, and keeps selecting these rectangles as if was clicking...

Look at Elemenet.setCapture, or a way to capture the mouse in electron.

According to MDN, Element.setCapture() is non-standard and is not supported by major browsers
Fixed by binding the mouseUp event handler to the document rather than the table component.


Added call merger utility

Added a call merger utility which allows the merging of any call instruction in a target method body.

:white_check_mark: Build ConfuserEx 305 completed (commit https://github.com/mkaring/ConfuserEx/commit/03122bf3aa by @ElektroKill)


doc error - NumericUpDown

Describe the bug
doc error - NumericUpDown

Steps to reproduce the bug
Click here to see.
Expected behavior
No response
Screenshots
No response
NuGet package version
No response
IDE
No response
Framework type
No response
Windows version
No response
Additional context
No response

closed in #1292，thx @JeremyWu917 😄


Train 4 days with batchsize 14 but no loss decrase or mAP increase

I wonder if the annotations label have to follow order like the id, all the class 1 have to be in id [0,10] and other class have to be [11,...] because my id follow image, image have 10 objects with 10 class will be [0,1] not same class.
Train dataset is 4300 images, val/test set is 1440 but training didnt go on, can you pls check if same class objects have to follow id?

The annotation ID doesn't need to have any relationship with the category ID. The image IDs just need to be linked up correctly with the IDs in the 'image' list.


CNN(backbone) + WDRO

Can transformer based backbone (i.e., ViT) be applied for training WDRO?

Yes, during  training stage, our method substitute the gradient of last hidden layer. You can try ViT by substituting the gradient with the solved gradients.


[iOS]: Pressure always null in touch events on iOS devices that support 3D Touch

[X] I tried searching Solar2D forums for the solution.

Describe the bug
Pressure value in touch events for iPhone are null even if the device supports Force Touch/3D Touch when building with recent iOS SDK versions.
To Reproduce
Implement a Corona app which prints out the pressure value from touch events. Note that it is always null even if the device supports 3D Touch (e.g. iPhone 6s)
Target platform and where build was made:

Device: iPhone 6S
OS: iOS 13.7
Xcode 13 (iOS 15 SDK)

Additional context
It seems like later iOS SDKs don't guarantee to call traitCollectionDidChange, so setForceTouchSupport never gets called.
We worked-around this problem by manually calling traitCollectionDidChange from our implementation of viewDidLoad:
       gameView.traitCollectionDidChange(gameView.traitCollection)
whole test project or build.settings
N/A

Will take a look at this, but you are aware that Apple stopped putting 3D Touch in there iPhones back in 2018? This Api and tech seems to be on its way out the door

This has been fixed with #384


Error upon creating CI build

Hi Donovan,
Running the yo team generator, I get as far as creating the CI Build and it errors on me:
Any ideas what went wrong with the generator?
Thanks in advance,
Mark
? Enter Team Services account name
({account}.visualstudio.com)
Or full TFS URL including collection
(http://tfs:8080/tfs/DefaultCollection)? https://markarrowsmith.visualstudio.com
? What is your TFS Personal Access Token? ****************************************************
Getting Agent Queues...
? What agent queue would you like to use? Default
? What type of application do you want to create? .NET Core
? What is the name of your application? yo-vsts-demo
? Where would you like to deploy? Azure App Service
? What is your Azure subscription name? Visual Studio Ultimate with MSDN
? What is your Azure subscription ID? *******************************************
? What is your Azure Tenant ID? *******************************************
? What is your Service Principal ID? *******************************************
? What is your Service Principal Key? ********************************************
? Install dependencies? Yes

Creating yo-vsts-demo Team Project
Cloning repository https://markarrowsmith.visualstudio.com/_git/yo-vsts-demo
warning: invalid credential line: [0x7FFECFFB70E3] ANOMALY: use of REX.w is meaningless (default operand size is 64)
warning: You appear to have cloned an empty repository.
Creating Visual Studio Ultimate with MSDN Azure Service Endpoint
Creating CI build definition
undefined:3

^
SyntaxError: Unexpected token < in JSON at position 4
at Object.parse (native)
at Request._callback (C:\Users\marro\AppData\Roaming\npm\node_modules\generator-team\generators\app\utility.js:615:22)
at Request.self.callback (C:\Users\marro\AppData\Roaming\npm\node_modules\generator-team\node_modules\request\request.js:188:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request. (C:\Users\marro\AppData\Roaming\npm\node_modules\generator-team\node_modules\request\request.js:1171:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage. (C:\Users\marro\AppData\Roaming\npm\node_modules\generator-team\node_modules\request\request.js:1091:12)
at IncomingMessage.g (events.js:286:16)
c:\Dev\yo-team-demo>

I worked out that I only needed to put in the account name for VSTS rather than the full path.
This allowed me to progress further but still having issues:
I've been trying to follow your post on setting up a Service Principal and assigning the correct permission but the Azure portal has changed a little bit since your post so wasn't able to follow on 100%.
Some feedback for Microsoft, I think this integration between VSTS and Azure could be nicer/more streamlined as it seems to catch out quite a few people, myself included.

Cloning repository https://markarrowsmith.visualstudio.com/_git/yo3
warning: invalid credential line: [0x7FFECFFB70E3] ANOMALY: use of REX.w is meaningless (default operand size is 64)
warning: You appear to have cloned an empty repository.
Found Visual Studio Ultimate with MSDN Azure subscription
Creating Visual Studio Ultimate with MSDN Azure Service Endpoint
× Failed to create Azure Service Endpoint. Insufficient privileges to complete the operation. For troubleshooting refer to link.
Error

Failed to create Azure Service Endpoint. Insufficient privileges to complete the operation. For troubleshooting refer to link.
 _-----_     ╭───────────────────────╮
|       |    │      Bye from us!     │
|--(o)--|    │       Chat soon.      │

---------´   │      Yeoman team      │     ( _´U_ )    │    http://yeoman.io   │
/A\   /╰───────────────────────╯
|  ~  |
'..'_
´    |° ´ Y

e.g. I'm trying to create a Azure Service Endpoint for a project that doesn't exist yet in VSTS (as that's what Yeoman scaffolding is doing).

The issue has to do with the personal access token you are using. You don't need to do anything first in azure. The account used to create the personal access token in VSTS has to have the proper permissions to create a service principal in the azure subscription being used.
Then yo team will do the rest for you.
Is the account being used to create the personal access token in VSTS also an admin to azure subscription you are targeting?


fix: in-odered polygon

This fix will allow obtaining in-ordered polygon vertices for bar/QR code irrespective of the angular placement of the bar/QR code in the scene. This will certainly help for those who are trying to determine the in-order corners of the QR/bar code in the scene i.e. anti-clockwise from the top-left for an upright position.

This PR is IMHO the correct way to order the returned polygon, and I'd love to see this merged and released. I'm currently using sushil-bharati:master and it works for me.

Thanks @sushil-bharati! Like @mcbridgejc, I've switched to sushil's version. I ran:
pip uninstall pyzbar
pip install pip install git+https://github.com/sushil-bharati/pyzbar.git

Everything work and the points are in a consistent order!

I started using this fork:
https://pypi.org/project/pyzbar-upright/

This is a great update! Are there any plans on merging this feature to avoid switching to unmaintained versions of the code?

Wow. I have been trying to order them for so long and this is the solution? As simple as it may be, this is amazing work! Don't know why this isn't merged, as it helps severely for absolute orientation of a QR code.

@esclear - would you be able to merge this PR?

@esclear - would you be able to merge this PR?

No, I don't have and never had the permissions for that.


TimeoutError during installation

Hi localcolafold team,
Thank you developing such as a fascinating tool! I tired to install it on our HPC system, it worked well until the following error popped out:
Downloading tensorflow_cpu-2.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (231.8 MB)
━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━ 95.8/231.8 MB 13.9 kB/s eta 2:42:38
ERROR: Exception:
Traceback (most recent call last):
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
yield
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 561, in read
data = self._fp_read(amt) if not fp_closed else b""
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 527, in _fp_read
return self._fp.read(amt) if amt is not None else self._fp.read()
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 98, in read
data: bytes = self.__fp.read(amt)
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/http/client.py", line 466, in read
s = self.fp.read(amt)
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/socket.py", line 705, in readinto
return self._sock.recv_into(b)
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/ssl.py", line 1307, in recv_into
return self.read(nbytes, buffer)
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/ssl.py", line 1163, in read
return self._sslobj.read(len, buffer)
TimeoutError: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper
status = run_func(*args)
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper
return func(self, options, args)
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_internal/commands/install.py", line 377, in run
requirement_set = resolver.resolve(
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 179, in resolve
self.factory.preparer.prepare_linked_requirements_more(reqs)
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 552, in prepare_linked_requirements_more
self._complete_partial_requirements(
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 467, in _complete_partial_requirements
for link, (filepath, _) in batch_download:
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_internal/network/download.py", line 183, in call
for chunk in chunks:
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_internal/cli/progress_bars.py", line 53, in _rich_progress_bar
for chunk in iterable:
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_internal/network/utils.py", line 63, in response_chunks
for chunk in response.raw.stream(
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 622, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 560, in read
with self._error_catcher():
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/contextlib.py", line 153, in exit
self.gen.throw(typ, value, traceback)
File "/public/home/gongziwen/tools/colab/localcolabfold/colabfold-conda/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
Could you please let me know how to deal this issue? Thanks a lot!
Yuanwen

Solved by adding "--default-timeout=100"


ME Bridge using bytes for internal storage and item count for external storage.

Describe
Using the function getUsedItemStorage (And the other related ones) will return different results depending on if the item is stored in the disk or the chest.
If I store 64 sticks in a disk, the function returns 520 since the sticks occupy 520 bytes.

Storing them in a chest using the storage bus will result in a different value, since the chest does not store the items as bytes like the drives.

Multiplayer?
No
Version
Own compiled build.
Minecraft, Forge and maybe other related mods versions
43.3.0 1.19.2
Screenshots or Videos
No response
Crashlog/log
No response

Fixed by separating the external functions and the internal functions. The external functions will return a number in millibuckets or item count. The internal functions will return them as used/available bytes.
This was discussed with one of the AE2 developers

Not sure why I closed this...


Google is not indexing our docs

The following search https://www.google.com/search?q=site%3Axenitab.github.io+ingress should reasonably find something, but does not. I think this is because Docusaurus requires JavaScript to render the page, which Google probably refuses to do (nominally, Google does render JavaScript, but it has to be careful and I would not hold it against them if they simply skipped low-pagerank sites that present no content at all before rendering). Also, Docusaurus will not materialize menu tree nodes until the user clicks the parent, so Google would anyway not see more than a few top pages.

I have spoken to @CalleB3 and asked him to look in to this.
The plan is as follows:
So if there is a simple config value that we can set in Docusaurus that makes it possible to index the homepage.
If that is not the case we will leave Docusaurus and instead go over to https://gohugo.io/
Going over to hugo is obviously a much bigger task.

Find a good base theme for our docs page https://themes.gohugo.io/tags/docs/ and make sure that we can adopt it to our graphical profile
Adapt to our graphical profile, It don't have to look exactly like docusarus but similar.
Put in all our docs in a good way
Create a CI/CD solution that auto builds the new hugo page and publishes it when merged to main.
Create a PR and perform the switch.

My recommendation is to play with a repo in your own github or if you use a new branch for this repo to save your ongoing work.

It may be worth noting that Bing appears to be indexing our site, so it's not "unindexable" by any means (which I don't think anyone has claimed - obviously other Docusaurus sites seem to be indexed). https://www.bing.com/search?q=site%3Axenitab.github.io+kubernetes&form=QBLH&sp=-1&pq=site%3Axenitab.github.io+kubernete&sc=0-32&qs=n&sk=&cvid=2CC6A3B590764A50B049A528AF1456A3


Design - inconsistencies interface

Inconsistencies in the interface in certain areas: the title bar of the optional properties panel and the Insert Page panel are not the same for example, and theyare not the same height. I think all panels should be consistent
By Julian

New design


[Improvement] Raise an error / warning when v-model is not present or make it optional.

When v-model property is not present (or is invalid) then Multiselect behaves oddly. It's not possible to select a value because after a value is selected then it's immidiately set back to null.
When trying to change a value then 4 events are raised:

open, payload: [null]
select, payload: [{selected_val}, 0]
input, payload: [{selected_val}, 0]
close, payload: [null, null]

I thought it's a bug because I was expecting the last close payload to be [{selected_val}, 0].
IMO if v-model is required then there should be, at least, a warning shown in the console when it's missing. It should be also documented. I know that the "basic usage" example shows :options and v-model properties, but it's not clearly said that they are required.

Sorry for the offtopic, but is there any reason why it is required? Multiselect has an internal state and raises events that outer components can listen to, so IMO v-model should be optional.

That’s one of the recent changes – there is no internal state anymore (though it’s still called internalValue it’s a computed property).
The props need to be updated with required: true. Feel free to create a PR for that.


Support @Srate

Need to supoort @State or @Published in ObservedObject properties, instead of using onEditing to change values manually.

Won't do this.


Fix typo

Describe this PR

Changes

What issue does this fix?

Any other relevant information

Thank you for the fix 🙏🏽


Tooltip Re-opens upon return to tab/window after clicking IconButton

The Tooltip of the IconButton is not properly closing when navigating away from the tab/window it is being used on
This is also reproducible if you go to http://www.material-ui.com/#/components/icon-button and repeat the steps to reproduce below

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior/Steps To reproduce
Given: I'm using an IconButton with a tooltip prop passed in
When: I click on that IconButton
And: I move my cursor away from the IconButton after I've clicked it
And: I navigate to another tab
Or: I minimize and re-open the window I'm currently on
Then: I expect the Tooltip to stay closed until I hover over the IconButton again
Current Behavior
Instead:
the Tooltip opens and stays opened until I hover over the IconButton that triggers said Tooltip
Your Environment

Tech
Version

Material-UI
v.20

React
v.16.2.0

browser
Chrome v65.0.3325.181

We have been porting the component on the v1-beta branch. We have reimplemented it from the ground-up.
We encourage people starting with Material-UI to go with v1-beta. The master branch is in a low maintenance mode. We don't plan any work on it. However, we still do our best to review and merge pull requests that fix bugs on this branch.

@oliviertassinari The exact same bug is present in v1-beta.
Furthermore it happens if I click a button with tooltip that opens a Dialog and then close the Dialog. The tooltip is not showing without me hovering.

Yea, I've got a tooltips on IconButtons and when the button's action is drawer open or modal open, the tooltip is reopened after drawer/modal close and that's annoying :-/
Using MUI beta v.38

@ketysek You can solve that by setting either disableRestoreFocus on the modal or by setting disableFocusListener on the Tooltip.

I don't see disableRestoreFocus prop on Dialog or Drawer MUI-component in documentation ... so I've tried to set disableFocusListener prop on Tooltip, but React gives me error:
Warning: React does not recognize the `disableFocusListener` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `disablefocuslistener` instead. If you accidentally passed it from a parent component, remove it from the DOM element.

From the Drawer API:
The properties of the Modal component are available when variant="temporary" is set.
Modal API has disableRestoreFocus as you can see here: https://material-ui-next.com/api/modal/
disableFocusListener for the Tooltip was recently renamed so it might be that you have to use disableTriggerFocus instead. Although I did not get that to work myself.


Feature/addons

Issue #, if available: https://github.com/aws-quickstart/ssp-amazon-eks/issues/139
Description of changes:
AWS EKS supports managed addons for VPC CNI, kube-proxy and CoreDNS. It simplifies the maintenance.
The following changes are to add option for user to enable EKS managed addons.
[ ] CoreDNS
[ ] kube-proxy
[ ] Amazon VPC CNI
Reference: https://docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/do-e2e-tests

Looks good, could you please address this comment: https://github.com/aws-quickstart/ssp-amazon-eks/pull/194#pullrequestreview-750364673

Very comprehensive and thorough.
Can you please add a blueprint with managed add-ons to the bin/main.ts so that I can kick off end to end tests?

HI @shapirov103 ,
I have already added the managed addons in examples/blueprint-construct/index.ts. I am not so sure what changes needs to be done in bin/main.ts. Do you mean something like this ? Please advise.
// Added blueprint for testing EKS managed Core Addons
ssp.EksBlueprint.builder().withBlueprintProps({   addOns: [new ssp.CoreDnsAddOn,new ssp.KubeProxyAddOn,new ssp.VpcCniAddOn],   id: 'blueprint-managed-addons',   name: 'blueprint-managed-addons' });

/do-e2e-tests

@askulkarni2 please let me know if there is anything pending, you vote is marked as "requested changes".


Upgrade pygamer BSP display driver and graphics dependencies

Summary
Most of the pygamer BSP dependencies were upgraded with #766, which was merged. The remaining dependencies are upgraded to the latest version with this PR:

st7735-lcd to v0.10.0
embedded-graphics to v0.8.1
tinybmp to v0.6

Important Note
These dependency upgrades depend on #772, which has already been merged into the pygamer-upgrade-graphics branch but not yet into master. Hence, this PR should probably not be merged until #772 has been merged first.
Checklist

[X] All new or modified code is well documented, especially public items
[X] No new warnings or clippy suggestions have been introduced - CI will deny clippy warnings by default! You may #[allow] certain lints where reasonable, but ideally justify those with a short comment.

I also just noticed that README.md lists pygamer as a BSP for the atsame53j, but the PyGamer actually features a ATSAMD51J19 microcontroller (source), which is also reflected in the actual BSP. This PR branch now corrects this, as well as marks it as Tier 1.

Thanks for contributing. I'll revisit this after #772 merges

Oh that was done in another pr?

Oh that was done in another pr?

Yep, already taken care of!

Oh that was done in another pr?

Yup, looks like it was bumped to Tier 1 in another PR at some point, though it was not me who did it (didn't even know about the crates.json file)


[REQ]  Using Azure Container Registry inplace of of docker.io registry.

What kind of request is this?
Improvement of existing experience
What is your request or suggestion?
What is your question?
Is it possible to use 'Azure Container Registry(ACR)' in place of docker.io ?  I want to scan the vulnerabilities in docker image stored in ACR using github actions and upload the patched images back to ACR.
Please share the possiblity and with an example.
Below is the action I am using to scan the images from ACR

When I try to use Trivy and copa for scanning and patching, I am getting below error-

Thanks!
Are you willing to submit PRs to contribute to this feature request?

[ ] Yes, I am willing to implement it.

@ofschnai yes this is possible today. make sure to authenticate with ACR, looks like this error is coming from Trivy though

Thanks for the reply.
Yes I am using ACR login to authenticate. This is how my yaml looks like

Ok. I fixed that trivy issue. But getting time out when trying to execute the copacetic action as below -

and getting below error -

@ofschnai sounds like github actions needs access to the registry.

I tried using docker login before the run copa action but it didn't help. What can be the solution for this?

Yes I am able to pull without copa. Below are the action and logs for the same. But still getting error in copa action

@ofschnai thanks for the report! I did some digging and this is due to action not supporting buildx builders, so they cannot access credentials. Opened https://github.com/project-copacetic/copa-action/issues/32
In the meantime, you can use copa as a binary inside a github action. Example: https://github.com/sozercan/copa-test/blob/main/.github/workflows/patch.yaml#L42-L54
Here's a test run: https://github.com/sozercan/copa-test/actions/runs/7647473401

@sozercan  Thanks for the temporary solution! I tried with this solution and it is working fine.
Let me know once the github action is back in use,  will change the configuration.

Glad to hear it's working now. I'll close this issue and we'll track this in https://github.com/project-copacetic/copa-action/issues/32


RuntimeWarning: 'scenedetect.main' found in sys.modules after import of package 'scenedetect'

Happens when running via python -m scenedetect on latest v0.5.3.  Ensure fixed for v0.5.4 release.
Marking as technical item, not bug, as this only appears to generate a warning and does not currently cause side effects.  It should not appear, however, and indicates that part of the code should be refactored to avoid this warning from being generated.
Full console output:
$ python -m scenedetect
Usage: __main__.py [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...

  For example:

  scenedetect -i video.mp4 -s video.stats.csv detect-content list-scenes

  Note that the following options represent [OPTIONS] above. To list the
  optional [ARGS] for a particular COMMAND, type `scenedetect help COMMAND`.
  You can also combine commands (e.g. scenedetect [...] detect-content save-
  images --png split-video).

Options:
  -i, --input VIDEO      [Required] Input video file. May be specified
                         multiple times to concatenate several videos
                         together.
[...]

Commands:
  about             Print license/copyright info.
  detect-content    Perform content detection algorithm on input video(s).

[...]

C:\Users\Breakthrough\AppData\Local\Programs\Python\Python38-32\lib\runpy.py:127: RuntimeWarning: 'scenedetect.__main__' found in sys.modules after import of package 'scenedetect', but prior to execution of 'scenedetect.__main__'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))

See https://stackoverflow.com/a/45070583 for solution.

See https://stackoverflow.com/a/45070583 for solution.

Resolved in v0.5.5.

Resolved in v0.5.5.


Nested WAI Applications under Scotty Routes

This PR adds a new nested handler that allows you to place an entire WAI Application under a Scotty route.
Let me know if this implementation fits!
Simple Example:
simpleApp :: Application
simpleApp _ respond = do
    putStrLn "I've done some IO here"
    respond $ responseLBS
        status200
        [("Content-Type", "text/plain")]
        "Hello, Web!"

main :: IO ()
main = do
  scotty 3000 $ do
    get "/simple" $ nested simpleApp

Reference:

Spec included under describe nested in ScottySpec.hs.
Examples included under examples/nested.hs

Looks like some of the apt-get CI commands are failing?

Noticed this warning when compiling:
Web/Scotty/Internal/Types.hs:168:5: warning: [-Wnoncanonical-monad-instances]
    Noncanonical ‘return’ definition detected
    in the instance declaration for ‘Monad (ActionT e m)’.
    ‘return’ will eventually be removed in favour of ‘pure’
    Either remove definition for ‘return’ (recommended) or define as ‘return = pure’
    See also: https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/monad-of-no-return
    |
168 |     return = ActionT . return

yes we have a ticket and a PR for this already!
On Fri, 7 Jul 2023 at 09:38, Lyndon Maydwell @.***>
wrote:

Noticed this warning when compiling:
Web/Scotty/Internal/Types.hs:168:5: warning: [-Wnoncanonical-monad-instances]
Noncanonical ‘return’ definition detected
in the instance declaration for ‘Monad (ActionT e m)’.
‘return’ will eventually be removed in favour of ‘pure’
Either remove definition for ‘return’ (recommended) or define as ‘return = pure’
See also: https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/monad-of-no-return
|
168 |     return = ActionT . return
—
Reply to this email directly, view it on GitHub
https://github.com/scotty-web/scotty/pull/233#issuecomment-1624911874,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNBDKBAD5UMCCFWBF5M4T3XO64F7ANCNFSM4JEOOT6Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

@ocramz I've added a spec that matches the simple example from examples/nested.hs.

wyt @fumieval is this good to merge?

@sordina once you're able to add an entry to the Changelog I'll gladly merge. Thank you!

@ocramz Added a changelog entry under the next heading

@sordina Thank you! all good 👍


Hosting a workshop map breaks wingman functionality

This is just food for thought.
We host awp_lego from workshop on our servers for warmup sessions before the match. This map, afaik, does not have wingman capabilities.
We create a wingman match using G5 API. Everything runs smoothly, until we got our mappicks and are switching to a map to play first. After the knife round, server states:
[MatchZy] [StartLive] Starting Live! Executing Live CFG from MatchZy/live.cfg,
while having the matchConfig.Wingman set to true all the time. Thus we have the regular config with mp_maxrounds set to 24 and all that.
We then, instead of playing awp_lego, go straight to a map that has wingman capability. We used de_inferno. Again, create a match using G5, pick maps, switch maps - and everything is good.
I believe this happens because we tried to change the game mode while being on the map that is not capable of that mode (MapVeto.cs:349). We can go about this two ways:

In MapVeto.cs:351, move SetCorrectGameMode() to the ChangeMap(string, Int32) method after the map change command (Utility.cs:948), so that server actually recognizes available gamemodes on the map that we are supposed to play on. Maybe time it out a bit or change it right after the warmup (I believe warmup does not care about the current gamemode?)
In Utility.cs:1350, execute live config checking not the gameMode convar, but matchConfig.Wingman variable (since MatchZy supports only 2 gamemodes anyway)

Solution 2 might break the current gamemode (it might stay as it was on the previous map), so I'm rooting for solution 1.
Please review this @shobhit-pathak as we have a wingman tournament coming up and I want to issue a PR with your selected solution. Thanks!

Hey!
CFG is executed based on the current game mode, which we get from the GetGameMode function which checks the value of game_mode cvar. So ideally if the game_mode was set correctly, wingman cfg should have executed.
Can you try loading awp_lego again and check what game_mode gets returned in the server console?

Warmup does care about current gamemode, for example, on inferno, you'll only have A site in warmup for wingman. Hence gamemode needs to be set before the map change.
We can do this, but then if someone wants to run MatchZy on wingman mode, they will have to set matchConfig.Wingman to true every time by loading the match config. Hence GetGameMode function is there to automatically check for the game_mode and execute the appropriate CFG.

We will test that again next time. For the time being, our starting map is Inferno.


Error: multiz.v11.2: ckalloc: request for negative space.

Could you please tell me what would cause the error below?

multiz.v11.2: ckalloc: request for negative space.

Some of my MAF files ran good, but others had this error. I could not fingure out what difference between them..

@Zhuxitong This appears to be the same as https://github.com/multiz/multiz/issues/2 .

Thanks for your quick reply.
The problem doesn't seem to be solved there. An alternative solution  was made rather than mergeing multiple MAF files. That might be good. I will try that. And I will also check why some of my MAF files were successfully merged but others not.

Right, the problem wasn't solved. The original author hasn't working on multiz in over a decade, and I don't have the bandwidth to fix problems in this package.
The reason it happens for some of your runs and not for others is most likely that those that fail have more alignable content than the others do. Thus they try to allocate more memory, and the variable that determines how much memory is needed overflows. That's a guess — it's not clear where in the program the failing use of ckalloc() is called from. This could be determined but it would take time and effort I can't devote to this.
If you're ambitious, you could try the potential "fix" I mentioned in issue 2. No guarantee that will work though.

@rsharris yes, you are right about the problem that some MAFs failed. I used maf-cut to select only a short of alignable region, like 2000bp, and multiz worked then.
Some of my species are very close to the reference thus very long alignable regions were discovered. They are the problematic ones. So, I will probably first cut the interseting region out and then merge them for a better visualization.
Anyway, thanks for your kind reply and I think this might be useful for others as more and more close related complete genomes are finished now, it's a time to think how to compare them in a different way.

@Zhuxitong I'm not positive, but I believe the UCSC browser team uses a modified version of multiz. If so, they may have resolved problems like this one. You might also consider their cactus aligner.
For closely-related assemblies (e.g. individuals of the same species) the metagenomics community probably has newer comparison tools. That community may even have tools for closely-related species comparison as well.
Regarding newer assemblies of closely-related species, the biggest problem the multiz pipeline will have is that it depends on pairwise alignments from lastz (which I wrote). The newer assemblies contain telemeric and centromeric repeats that earlier assemblies avoided. And such repeats can cause lastz to grind to a halt.


HDDS-4319. Compile error with Java 11

What changes were proposed in this pull request?
AspectJ-Maven-Plugin is not compatible with Java 9 or later as of the current version (1.11).  There is a snapshot build that can be used for the time being.
https://issues.apache.org/jira/browse/HDDS-4319
How was this patch tested?
Compiled locally with Java 11.
https://github.com/adoroszlai/hadoop-ozone/runs/1221457072

Thanks @avijayanhwx for reviewing and committing it.


Add Collapsible code blocks to usage examples

Closes #142.
The code is damn ugly. Could maybe be improved but at least it works.

https://user-images.githubusercontent.com/30958850/199314068-18d8509d-f230-4967-8419-f2e7fd96b176.mp4


Soycode copypastecrypto

Ready to look at - you can now, if you choose, use the PGP api to sign/encrypt and verify/decrypt the copy paste payloads. Should be mostly self explanatory - you get two new text areas, one with your public key and one for the public key of your friend. You exchange public keys first (so for now, more copy paste) - then when you generate the message it will automatically become a signed/encrypted PGP message, and when you paste your friend's signed/encrypted message it will automatically be decrypted.
Setup is automatic and right now just a silly test passphrase/user id (that's the same for all instances) - for this to be "real" we'd need to pull in a more meaningful id and such, and persist the keys across sessions etc. Still suitable for initial proof of concept I think.

Thanks, I believe I addressed the comments - and yeah I forgot about the better promise chaining style, though for consistency I decided to not do the bind. Thanks for taking a look!

Thanks, comments addressed and also added a README that hopefully addresses the questions from Lucas. So 6 copypastes is an exaggeration (that was back when I was also copypasting user ID around), it is 4 (2public key and 2signaling messages). Will pointed out to me that it could be 3 (the getting side could bundle public key and their request message together), but that would require more tightly coupling crypto setup with giver/getter status - something that I think isn't actually desired in the "real world" use case (where we hopefully just have a better general story around key setup/exchange/storage).
Anyway, I tried to document that in the README, but further thoughts/feedback most definitely welcome.

We could imagine that when keys aren't known, we default to the custom
3-step combined key-exchange / offer answer, and in subsequent interactions
with a known user you only need the 2 offer/answer steps since keying will
already be known.
--Will
On Mon Jan 12 2015 at 10:27:39 AM soycode<EMAIL_ADDRESS>wrote:

Thanks, comments addressed and also added a README that hopefully
addresses the questions from Lucas. So 6 copypastes is an exaggeration
(that was back when I was also copypasting user ID around), it is 4 (2public
key and 2signaling messages). Will pointed out to me that it could be 3
(the getting side could bundle public key and their request message
together), but that would require more tightly coupling crypto setup with
giver/getter status - something that I think isn't actually desired in the
"real world" use case (where we hopefully just have a better general story
around key setup/exchange/storage).
Anyway, I tried to document that in the README, but further
thoughts/feedback most definitely welcome.
—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy-networking/pull/179#issuecomment-69618841
.

Sure that could make sense, but I guess I've been envisioning the public key exchange as more part of the "adding a buddy" process rather than the "I want to connect through my buddy right now" process. That said, since for most users the friends list will presumably be automatically populated, further streamlining may make sense. I'll ponder a bit more and look at the uproxy-proper code base for this sort of functionality, and if folks feel that this demo should work more like that let me know.

Chatted a bit more with Will, and I think our consensus is that 3 steps makes sense, but it'd be best to do it in another demo (or uProxy itself). Because of the way this demo works (you can opt whether or not to use crypto) it's best to be able to do things separately for testing purposes, and bringing it down to 3 steps would multiply out the possible field behavior as well. In a separate crypto-only app it'd be simpler to support 3 steps.

Revisiting this - are there any further changes or comments? Thanks!

@matthild Can you have a look? If not I'll make time and review tomorrow. Sorry for the delay!

Comments from the review on Reviewable.io

Gruntfile.coffee, line 93 [r3] (raw file):
Why is the source code in a directory called "build"?  The comment above refers to "compiled crypto lib .js", but what's going on here isn't entirely clear.  Can the source code move to less surprisingly named directory?  If not, can the comment be a bit more informative?

src/samples/copypaste-socks-chromeapp/crypto.html, line 20 [r3] (raw file):
Please put the  element on the next line, indented, along with the rest of the content of the  element.  Likewise below.

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 25 [r3] (raw file):
Most of the code uses =>, not 'function', for anonymous functions.  Probably best to be consistent.

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 149 [r3] (raw file):
Does this work for arbitrary Unicode text?  Apparently the 'length' property does not necessarily measure the number of characters in the string.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length
If yes, how about adding a comment to say so and briefly explain why?
If no, how about adding a TODO?

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 163 [r3] (raw file):
Please indicate what 'true' means here (e.g., by adding a comment or by passing a meaningfully named constant instead of the mysterious literal 'true').

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 178 [r3] (raw file):
Please change "signed" to a more meaningful name, such as "signer" or "peerUserId" or some such.  (Or, better yet, eliminate it completely, as proposed below.)

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 179 [r3] (raw file):
What do you think about consolidating these two into a single event?  For example:
freedom().emit('decryptedAndVerified',
{'signer': result.signedBy[0], 'plaintext': ab2str(result.data)});
They go together conceptually, and reducing the number of event types simplifies the system.

src/samples/copypaste-socks-chromeapp/getter.ts, line 9 [r3] (raw file):
Parts of the code refer to encryption only while other parts refer to encryption & signing.  Please be consistent.

src/samples/copypaste-socks-chromeapp/popup.ts, line 22 [r3] (raw file):
Decrypted what?  Can this field have a more informative name?  Likewise for the 'signed' field below.

src/samples/copypaste-socks-chromeapp/popup.ts, line 32 [r3] (raw file):
I think it would be a bit clearer to put all the crypto-related fields together.  Is there any reason not to?

src/samples/copypaste-socks-chromeapp/popup.ts, line 113 [r3] (raw file):
What do you think about combining these two into a single event (e.g., 'receivedArmoredMessage')?

src/samples/copypaste-socks-chromeapp/popup.ts, line 130 [r3] (raw file):
Combine into a single event (e.g., 'armorMessage' or whatnot)?

src/samples/copypaste-socks-chromeapp/README.md, line 9 [r3] (raw file):

They will be encrypted and also signed, right?

It's a bit confusing to say "with a randomly generated keypair" because there are actually TWO randomly generated keypairs involved, right?  (Each peer has one.)

Comments from the review on Reviewable.io

Gruntfile.coffee, line 93 [r3] (raw file):
This is due to how the Gruntfile for freedom-pgp-e2e is structured: https://github.com/freedomjs/freedom-pgp-e2e/blob/master/Gruntfile.js
It's fairly similar to the other Gruntfiles/repos we use, though the more complicated ones put the final result in a dist/ folder instead (and build/ is more of an intermediary). I could rename this build/ to dist/ if that seems clearer in this context, let me know if that addresses your concern.

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 25 [r3] (raw file):
Done.

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 149 [r3] (raw file):
Done - went with TODO, and also note that this function (or something very similar) is used in various other places throughout the greater codebase - so probably at some point getting a standard interface and implementation of translating between strings, arraybuffers, and so forth would be good (which is beyond the scope of this one file, hence the TODO).

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 163 [r3] (raw file):
I'll just go ahead and remove the true as that's the default parameter anyway, and it's a sensible default (it just means to sign as well as encrypt - the API is specified in the .json and is similar to the underlying e2e crypto library) and probably what is expected by reading something named signEncrypt.

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 178 [r3] (raw file):
See next comment.

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 179 [r3] (raw file):
Done - however, it required moving the ab2str helper function to popup.ts, to use the VerifyDecryptResult type rather than creating a new type. See: https://github.com/uProxy/uproxy-lib/blob/dev/src/freedom/typings/pgp.d.ts#L10

src/samples/copypaste-socks-chromeapp/getter.ts, line 9 [r3] (raw file):
Done - personally I consider "verifyDecryptInboundMessage" to be a bit of a mouthful, but not strongly enough to object if you think it clarifies things.

src/samples/copypaste-socks-chromeapp/popup.ts, line 22 [r3] (raw file):
Renaming to prefix with "input" - though I'd say it was actually fairly clear from the context and purpose of this application.

src/samples/copypaste-socks-chromeapp/popup.ts, line 32 [r3] (raw file):
Done.

src/samples/copypaste-socks-chromeapp/popup.ts, line 113 [r3] (raw file):
Doing so would be a tradeoff, in that we'd need to add a new type/interface (the previous VerifyDecrypt combination could leverage an existing type at least). We also may end up wanting a separate publicKey message type regardless, though if we can definitely factor those out I'd consider combining. Let me know your thoughts re: adding another type.

src/samples/copypaste-socks-chromeapp/popup.ts, line 130 [r3] (raw file):
Again, would lead to more types - so we're weighing a proliferation of messages against a proliferation of types. In this case I'd rather go with the simple atomic messages and basic types, but if there's an actual cost/overhead to the messages besides the extra line of code then I'd consider a refactor.

src/samples/copypaste-socks-chromeapp/README.md, line 9 [r3] (raw file):
Done.

Comments from the review on Reviewable.io

Replying to this so Reviewable stops making it red.

src/samples/copypaste-socks-chromeapp/crypto.html, line 20 [r3] (raw file):
Done.

Comments from the review on Reviewable.io

Gruntfile.coffee, line 93 [r3] (raw file):
Thinking about this a bit more, perhaps the right approach is to only npm publish within the build/ directory, but I'm not sure if that's the norm or if it's beneficial to publish the whole repo (I do think it is more typical at least). Will think about it more, thoughts are welcome - thanks.

Comments from the review on Reviewable.io

Gruntfile.coffee, line 93 [r3] (raw file):
I'm not so familiar with Gruntifles, actually, and just found it surprising that the source code was in a directory called "build".  If you think it's clear as-is, that's fine with me.  If there's something unusual about freedom-pgp-e2e's directory structure, perhaps making the comment a bit more informative would be helpful.

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 176 [r3] (raw file):
If the other two candidate locations for event consolidation (below) remain as pairs of separate events, do you think this event here should remain consolidated or revert to being a pair for consistency?

src/samples/copypaste-socks-chromeapp/getter.ts, line 9 [r3] (raw file):
It's certainly clearer, but certainly longer too.  If you find it too long, perhaps some alternative (but still consistent) vocabulary would be helpful -- e.g., perhaps "protect" and "unprotect" could mean "sign & encrypt" and "decrypt & verify", respectively.  (Personally I think either way is fine -- just a thought related to your point about length.)

src/samples/copypaste-socks-chromeapp/popup.ts, line 22 [r3] (raw file):
Hm, you are right. If you prefer the old names, that's fine with me.

src/samples/copypaste-socks-chromeapp/popup.ts, line 118 [r3] (raw file):
Whatever you think best is fine with me.

src/samples/copypaste-socks-chromeapp/popup.ts, line 135 [r3] (raw file):
As above, whatever you think best is fine with me.

Comments from the review on Reviewable.io

Gruntfile.coffee, line 93 [r3] (raw file):
There's some work to rationalize the build system; we were using sym-links to work around bugs/missing things in grunt-ts. I've since found a better way to doing this, but that's a separate pull request. So lets let that get fixed elsewhere.

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 146 [r3] (raw file):
This is already done in the uproxy arraybuffers util library, please use the version from there.

src/samples/copypaste-socks-chromeapp/popup.ts, line 117 [r6] (raw file):
Don't use any type unless you need to. It doens't tell the reader of the code anything helpful, and it sets you up for errors later.

Comments from the review on Reviewable.io

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 146 [r3] (raw file):
Done.

src/samples/copypaste-socks-chromeapp/freedom-module.ts, line 176 [r3] (raw file):
I'm okay either way - I was fine converting this one as we already needed that type and had it defined.

src/samples/copypaste-socks-chromeapp/popup.ts, line 22 [r3] (raw file):
I'm okay with these, they're consistent with the other input-prefixed ones.

src/samples/copypaste-socks-chromeapp/popup.ts, line 117 [r6] (raw file):
Agreed, that type was there and is in a few other places so I wasn't sure what it really was myself. Per a bit of logging it is evidently:
EventInterface
-emit: function () { [native code] }
-off: function () { [native code] }
-on: function () { [native code] }
-once: function () { [native code] }
-proto: EventInterface
On first glance I didn't find a type like this specified elsewhere in the uProxy codebase, but it looks elemental enough that I feel like I may be missing it. Are you aware of such a type binding, or if I do define it where would you suggest I do so? Thanks!

:+1: from me, but please wait for @iislucas to follow up regarding the 'any' type.  Thanks!

Comments from the review on Reviewable.io
Reviewed files:

Gruntfile.coffee @ r1
package.json @ r1
src/samples/copypaste-socks-chromeapp/crypto.html @ r5
src/samples/copypaste-socks-chromeapp/crypto.ts @ r1
src/samples/copypaste-socks-chromeapp/freedom-module.json @ r1
src/samples/copypaste-socks-chromeapp/freedom-module.ts @ r7
src/samples/copypaste-socks-chromeapp/getter.html @ r1
src/samples/copypaste-socks-chromeapp/getter.ts @ r4
src/samples/copypaste-socks-chromeapp/giver.html @ r1
src/samples/copypaste-socks-chromeapp/giver.ts @ r6
src/samples/copypaste-socks-chromeapp/locales/en/messages.json @ r1
src/samples/copypaste-socks-chromeapp/popup.ts @ r7
src/samples/copypaste-socks-chromeapp/README.md @ r4
src/samples/copypaste-socks-chromeapp/root.html @ r1
src/samples/copypaste-socks-chromeapp/root.ts @ r1

Very close now! one suggested edit to way messages are handled, and one suggestion for the type cleanup.

src/samples/copypaste-socks-chromeapp/locales/en/messages.json, line 17 [r7] (raw file):
Do you want a string for when there is not yet a signaling message/it is empty as distinct from saying it doesn't have a valid signature? I'd be inlined to use the phrase incorrectlySigned for this also... so it's more consistent with the string that's quite scary sounding. :)

src/samples/copypaste-socks-chromeapp/popup.ts, line 113 [r6] (raw file):
Hrm... OnAndEmit (here: https://github.com/uProxy/uproxy-lib/blob/dev/src/freedom/typings/freedom.d.ts#L15 ) was intended to capture this, but it had forgotten about once and on and off and proto.  I think you only use those, so go with that for now, and I'll do a followup pull request to uProxy for an OnEmitStub which includes off and on and proto (can you email me what those do, and I'll then include docs in the freedom typescript definition too)

Comments from the review on Reviewable.io

by the way: I tried it today and I think it is awesome. :)

Comments from the review on Reviewable.io

src/samples/copypaste-socks-chromeapp/locales/en/messages.json, line 17 [r7] (raw file):
Done - and for now I'm just hiding any message about the signature (valid or invalid) unless inputIsWellFormed is true, as it's only really relevant then (when there's a possibility of the user connecting). There's a TODO about letting the user know input is malformed but I'll punt on that as that's perhaps a separate UX/design question anyway.

src/samples/copypaste-socks-chromeapp/popup.ts, line 113 [r6] (raw file):
Done.


[OAP-1835][oap-native-sql] Support ColumnarBHJ to build and broadcast hashrelation

@zhouyuan , new BHJ codes submitted

@zhouyuan , I have verified this PR with 500G TPCH and TPCDS, thanks

Verified branch wip_BHJ_V4 on sf1000 with WSCG on and off. All TPC-DS queries are runnable.


fix: 22507 Blank Page Displayed when Copying and Pasting URL next to Original URL and Reloading with Enter Key

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/22507
PROPOSAL: https://github.com/Expensify/App/issues/22507#issuecomment-1649828706
Tests

Go to any chat

Copy and paste the url twice and press "Enter" or hit "Go" depending on platform.
For native apps running in emulators, the following commands can be used:
iOS: xcrun simctl openurl booted "<INSERT_DEEPLINK_URL_HERE>" (e.g. xcrun simctl openurl booted "new-expensify:///r/5457316673649011new-expensify:///r/5457316673649011"
Android: adb devices to get device ID and adb -s '<INSERT_DEVICE_ID_HERE>' shell am start -W -a android.intent.action.VIEW -d "<INSERT_DEEPLINK_URL_HERE>" (e.g. adb -s emulator-5554 shell am start -W -a android.intent.action.VIEW -d "new-expensify:///r/5457316673649011new-expensify:///r/5457316673649011")
Electron: Navigate to the deeplink url from a browser and a popup will appear asking if you want to open it in the desktop app. Duplicated deeplink url example: new-expensify:///r/5457316673649011new-expensify:///r/5457316673649011

Verify that the 404 page is shown and is properly formatted.

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

Offline tests

Same as "Tests"
QA Steps

Same as "Tests"

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

PR Author Checklist

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

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[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 any new file was added I verified that:

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

I have read the CLA Document and I hereby sign the CLA

Reviewer Checklist

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

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

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

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

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

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

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

🚀 Deployed to staging by https://github.com/Gonals in version: 1.3.50-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@dantastisk @rushatgabhane  Can you pls help us with more QA friendly steps ?

@mvtglobally

Open the app in a browser (https://new.expensify.com) and navigate to any chat.

Now the url should look something like this: "https://new.expensify.com/r/1234567891234567"

Copy and paste this url twice and press "Enter" or hit "Go" if on a mobile device. As if trying to visit the link. The url should look something like this: "https://new.expensify.com/r/1234567891234567https://new.expensify.com/r/1234567891234567"

This should display a clean error page with the text:
"Hmm... it's not here".

It is a bit hard to test this on native apps, but if you can somehow navigate to this thread from the device(s) you should be able to test it by clicking this link:
new-expensify:///r/5457316673649011new-expensify:///r/5457316673649011

🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.50-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/Gonals in version: 1.3.51-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.3.51-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Ask about package installation

Hello,Sir.
I have a problem to ask you about  Visual Studio Installer Projects.
I wrote a WPF program,the target framework is NET 5.0. after the WPF program is successfully packaged through visual studio installer projects, when I open the program, I find that there is no Net SDK 5.0 Windows environment, WPF program cannot be opened, and a download will pop up Net window.
this is a screenshot:

Can you solve this problem through the necessary components of visual studio installer projects. Because I didn't find it in the prerequisites net sdk 5.0。
this is a screenshot:

That all
thanks.
BO-DI
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d8f59111-46ee-3f59-3635-616f93a92c2a
Version Independent ID: edc371ba-5f33-803a-34e7-3de69f053691
Content: Visual Studio Installer Projects and .NET 6.0
Content Source: docs/deployment/installer-projects-net-core.md
Product: visual-studio-windows
GitHub Login: @MSLukeWest
Microsoft Alias: lukewest

@BO-DI - For a .NET 5 WPF app you'd want to include the prerequisite named ".NET Desktop Runtime 5.0.16 (x64)" (or the x86 version if your app is x86).  Note that the ".16" part could be slightly different based on what VS build you have installed.

@BO-DI - For a .NET 5 WPF app you'd want to include the prerequisite named ".NET Desktop Runtime 5.0.16 (x64)" (or the x86 version if your app is x86). Note that the ".16" part could be slightly different based on what VS build you have installed.

If the framework_version of my WPF app is 5.0.0,check the prerequisites when packaging and installing is ".NET Desktop Runtime 5.0.16 (x64)" still appropriate?

@MSLukeWest  i installed " .NET Desktop Runtime5.0.16(x64)" (or the x86 version if your app is x86),but it didn't work.
this is a screenshot:

@BO-DI - Two questions:

Are you by chance targeting Arm32 or Arm64 with this app?
Right next to your app exe, in both the bin folder and the install folder, there should be a file called <Your_App_Name>.runtimeconfig.json.  Inside that file there should be a "runtimeOptions" section, can you tell me what that says?  It will look something like this:

"runtimeOptions": {
    "tfm": "net5.0",
    "framework": {
      "name": "Microsoft.WindowsDesktop.App",
      "version": "5.0.0"
    }

@MSLukeWest
Hello sir.
First question:
Do you mean the windows operating environment when you refer to arm32 or arm64?
Second  question:

@BO-DI Your answer to my second question shows why you're getting this error dialog.  Your app requires "Microsoft.AspNetCore.App", meaning you need the "ASP.NET Core Runtime".  So, this must be an ASP.NET app, not just WPF.  Unfortunately, Installer Projects don't support ASP.NET scenarios, so there's no corresponding prerequisite for you to use.  If you'd like to request this functionality there's a Visual Studio feedback ticket you can upvote here: https://developercommunity.visualstudio.com/t/Creating-MSI-with-Microsoft-Visual-Stud/1405579
Alternately, if you're not actually using ASP.NET, you may be able to alter your project file in a way that eliminates this requirement.

@BO-DI Your answer to my second question shows why you're getting this error dialog. Your app requires "Microsoft.AspNetCore.App", meaning you need the "ASP.NET Core Runtime". So, this must be an ASP.NET app, not just WPF. Unfortunately, Installer Projects don't support ASP.NET scenarios, so there's no corresponding prerequisite for you to use. If you'd like to request this functionality there's a Visual Studio feedback ticket you can upvote here: https://developercommunity.visualstudio.com/t/Creating-MSI-with-Microsoft-Visual-Stud/1405579
Alternately, if you're not actually using ASP.NET, you may be able to alter your project file in a way that eliminates this requirement.

Thank you very much .I Will try.


Filters has a reference to the Layer instead a layerIndex property

CR @alonsogarciapablo
close #1020

Filters has a reference to the Layer instead had a layerIndex property.
WindshaftMap and WindshaftFilterCollection are updated to compute the list of filters grouped by layer.

:+1:


Small spelling mistake - missing 't' in alignment

I'm guessing the default value is preventing the compiler from detecting this name mismatch?

LGTM.
Name mismatch? I don't think it's considered an error for the name of a parameter in the declaration of a function to be different than the name in its separate definition. The parameter TYPES must match, but not the names. But nevertheless, yes, it's a typo. I'll merge this, thanks for the fix.


Best Buy Connection Closed

I've recently been receiving a connection aborted request from Best Buy.  It's likely that Best Buy is blocking the scrape requests even though I have a fairly lenient timeout.  Is there a way to work around this to get Best Buy active again in my rotation?  Example error:
[bstby_1] caught exception during request: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

I found the only fix to this is to go to src/scraper/BestBuy.py and edit the file. At the very bottom, change 'requests' to 'selenium'.
Of course that means you will have to build your own Docker image till an update is pushed to fix it.

I found the only fix to this is to go to src/scraper/BestBuy.py and edit the file. At the very bottom, change 'requests' to 'selenium'. I hope others have a way to make it work on requests again as selenium is slow and a resource hog.
Of course that means you will have to build your own Docker image till an update is pushed to fix it.

This change was committed in: https://github.com/EricJMarti/inventory-hunter/commit/cbd1b1774b2bbdcd0723e95f0390b4234c3d8fff
Best Buy must have changed their site since the requests-based approach was developed.


Update the README file.

Commit 38f35f8 updates the README substantially. I based it on the readme from the Vulkan-Samples.
This will need reviewing and revising.


url not loading in node-horseman

i am trying to access the url via node horseman , sometimes it loads and some times it doesn't, but i am able to access the url from my terminal via curl request.
Node Version :v6.2.0
node horseman :3.2.0

Please supply more information (e.g., PhantomJS verstion, the URL).

The issue was with the site. Now i able to access it. Hence i am closing this issue.


Implement Role-based Access Control

Implement role-based access control for different user types (customer, admin)

Tasks

[ ] Create roles (customer, admin) in the Roles table.
[ ] Assign roles to users during registration or through an admin interface.
[ ] Implement middleware to check user roles for access control to different endpoints.


Update README.md

Hi @yaa110
This small PR removes the link to Google Play in the README, since the app is apparently down...
By the way, I just found this app on the Google Play Store. This guy took your source code, added some ads in it and put it on the Store, without warning this is free software... As you are the owner of the source code, feel free to open a request to google here to remove this copy from the Store, if it's your wish ;)

Thank you for the PR, I think it is not a good idea to link to unofficial published apps.

No problem 👍


Names

Please add names for each waifu, so that we can get the name too while using the api

This is not possible as these are occasionally drawings. Most of them are not actual waifus with names, just anime images.


[BUG] Exception raised even though number of shard copies is a multiple of awareness attributes

Describe the bug
We opened an issue in opensearch-py (https://github.com/opensearch-project/opensearch-py/issues/411) but realized that the issue might be related to OpenSearch core instead.
OpenSearch-Benchmark (OSB) uses opensearch-py under the hood to perform CRUD operations on target clusters. Before users run a test, they can store their metrics and results in a datastore, which is often another opensearch cluster. Users have can override the index settings within this datastore by specifying the following in a config:
# Example config fields to ensure that indices created have 9 primary shards and 1 set of replicas
datastore.number_of_shards = 9
datastore.number_of_replicas = 1

Using the example above, there should be a total of 18 shards for each index in the datastore cluster. When we curl the datastore cluster, the indices have the correct primary and replica count set.
### Indices in single node 1AZ OpenSearch cluster
health status index                             uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   benchmark-metrics-2023-06         9JB1Ua3DRvW99DwokDyziA   9   1        280            0    779.2kb        779.2kb
yellow open   benchmark-results-2023-06         hhIrNV3KR4C7_kXS0_hkqg   9   1        184            0    152.3kb        152.3kb
yellow open   benchmark-test-executions-2023-06 0Kt0nFtJSTmHJ5llmjMIYA   9   1         27            0     57.6kb         57.6kb

However, when we try to use the same config settings for another datastore cluster that has 3AZs and has the settings default_number_of_replicas = 2, we encounter this issue:
opensearchpy.exceptions.RequestError: RequestError(400, 'invalid_index_template_exception', 'index_template [benchmark-metrics] invalid, cause [Validation Failed: 1: expected total copies needs to be a multiple of total awareness attributes [3];]')

18 should work since it's a multiple of 3. The only way we found to get around this issue with the same datastore configuration is with datastore.number_of_replicas = 2. We've been using managed service datastore clusters. We're curious if default_number_of_replicas = 2 is the culprit.
To Reproduce
The option to edit the number of shards and replicas for the datastore is not officially out yet. However, it does exist on a feature branch in a forked repository. Let me know if you'd like to test it out and I can provide it.
Expected behavior
Since my cluster has 3AZs, it should work since 18 is a multiple of 3.
Plugins
None
Screenshots
None
Host/Environment (please complete the following information):
Shouldn't matter in this situation since running against an external cluster but running the client on my local machine, which is a MacOS/X86
Additional context

I think the next step should be to narrow this down to an API call/REST request that produces invalid_index_template_exception. There should be a way to reproduce it without benchmarks or managed systems being involved.

@imRishN is this related Zone Decommission? any idea

Hi @anasalkouz , @IanHoang ,
This is related to balanced replica count : https://github.com/opensearch-project/OpenSearch/issues/3461

18 should work since it's a multiple of 3. The only way we found to get around this issue with the same datastore configuration is with datastore.number_of_replicas = 2. We've been using managed service datastore clusters. We're curious if default_number_of_replicas = 2 is the culprit.

You are accounting for number of shards in the index as well. In the calculation we just check for total copies of a given shard and that should be a multiple of AZ count  .  Since you are having 18 shards in total , I reckon the total copies of 1 shard is 2 which is not a multiple of 3 , hence you are getting validation exception.

This is trivial to reproduce:

Create a new 3-AZ OpenSearch instance in AWS.
Attempt to create a new index through the dashboard.

Creating the index will fail.
I was able to work around this by copying the configuration of an automatically generated index. Here are the settings I used:
{
  "index.auto_expand_replicas": "0-2",
  "index.number_of_replicas": "2",
  "index.number_of_shards": "1"
}

I am also facing a similar failure when trying to restore from one domain to another in the same AWS region and both the domain are at the latest 2.5 version.
 Was able to resolve by disabling Stand-By mode and then running the restore command.

Faced the same issue. Was able to resolve by disabling Stand-By mode and then running the restore command.

This did the trick for me as well on a newly created 3-AZ, 3-node opensearch domain. After turning off standby I was able to restore a snapshot from s3.

@gbbafna thanks for digging this up, is there something we need/can fix/improve in OpenSearch?

@sapatel12 , @rsolano :
The snapshot restore has an override index setting param also , which can be used here
curl -X POST "localhost:9200/_snapshot/my_repository/my_snapshot_1/_restore?pretty" -H 'Content-Type: application/json' -d'
{
  "index_settings": {
    "index.number_of_replicas": 2
  }
}
'

Hi @dblock ,
The error message is descriptive in itself . I am going to close this one.


Cloud Provider Support: MongoAtlas

I've done some simple testing on this in the past, it's a cloud provider we use, we can work together.

Hi @holiiveira , that's great to hear! Sure, we can work together on this one :)
We also have used MongoAtlas billing APIs in another platform: https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Invoices/operation/listInvoices This API returns invoices in the CSV format and then we iterate all the rows and transform the cost data into our required format. I think we can also use this way in our MongoAtlasClient here. Though downloading several CSVs and transforming the data may take more time, I guess it will still be acceptable.
For end users, the approach above is easier with respect to onboarding because only an API key is required. Another way to get the cost information from MongoAtlas is to set up a billing dashboard: https://www.mongodb.com/docs/charts/dashboards/manage-dashboards/billing-dashboards/ I have not tried this one yet and am not sure if we can get cost data from the dashboard via an API. It also requires more configurations in order to use it.
What do you think? Which way do you prefer?

Hi @gluckzhang, my tests were exactly on this API, and we do exactly as you mentioned. I think it's better to use API, precisely because it's easier to integrate for end users. I see some scenarios:

Cost per organization
Cost per organization and project
Cost per organization, project and cluster

Thinking about my use case, here we have an organization, where we have several projects (squads) that in turn have their clusters. Still in my use case, if the cost is only per organization, I would use Azure, since our billing is through there (marketplace).
Maybe have a dynamic configuration, to suit these use cases, example:

Cost per organization

infraWallet:
  integrations:
    mongoatlas:
      - orgName:
        orgID:
        publicKey:
        privateKey:

Cost per organization and project

infraWallet:
  integrations:
    mongoatlas:
      - projectName:
        orgName:
        orgID:
        publicKey:
        privateKey:

Cost per organization, project and cluster

infraWallet:
  integrations:
    mongoatlas:
      - clusterName:
        projectName:
        orgName:
        orgID:
        publicKey:
        privateKey:

What do you think about this? Does this make sense?

Hi @holiiveira, sorry about the late reply, and thanks for sharing your use cases!
We have similar use cases at Electrolux. In most cases we use one MongoAtlas organization and then we create many projects under that organization. Each project may have multiple clusters.
Since InfraWallet supports aggregating cost by service names, I am thinking maybe we can do something like the following.
First, to make users configure the integration in an easier way, I would suggest having one integration configuration block for one MongoAtlas organization.
Then we write a MongoClient to fetch all the invoices of that organization and transform the data based on three dimensions: sku, project, and cluster. For the sku dimension, we can use the service field, for example: https://github.com/electrolux-oss/infrawallet/blob/main/plugins/infrawallet-backend/src/cost-clients/AwsClient.ts#L157
Then for project and cluster, we can add them as tags, you can find an example in our demo website: https://demo.infrawallet.io/infrawallet

In this way, we can also filter Mongo costs by its projects and clusters. How does it sound?

Ah, I see, that meets the use cases. I have some free time next week, I'll start writing a MongoClient for testing. Thanks for the clarification @gluckzhang.

@holiiveira Do you use resource tags in Atlas? If yes, you can fetch those tags, and let users to filter on tags.
FYI, I am currently working on https://github.com/electrolux-oss/infrawallet/issues/5 and I will add tag support for AWS first.

@emillg, yes, we use tag here. I'll take that into consideration. Thank you for the info.


How to get meta information in the synchronization method

Describe the feature
The renderSSRHead method is an asynchronous execution method. If synchronous acquisition is required, how to define it?
Additional information

[ ] Would you be willing to help implement this feature?

Hi, this is not possible in v1 as we allow users to provide promises as input to useHead. This behavior is under consideration of being dropped for the v2.

I'll investigate support for this in v2, have added to the roadmap.