how to handle session expiration while chat is ongoing

getting below error
onSendMessage error= ChatConnectionException: null ErrorPacket: {type: auth, code: 401, condition: Condition.not_authorized, text: You must authenticate session first, before you can send any message or presence packet.}

I  CB-SDK: : onSendMessage error= ChatConnectionException: null ErrorPacket: {type: auth, code: 401, condition: Condition.not_authorized, text: You must authenticate session first, before you can send any message or presence packet.}

              I  CB-SDK: : onSendMessage error= ChatConnectionException: null ErrorPacket: {type: auth, code: 401, condition: Condition.not_authorized, text: You must authenticate session first, before you can send any message or presence packet.}
                                 I  CB-SDK: CubeChatConnection: Chat connection Closing
                                 I  CB-SDK: CubeChatConnection: Chat connection Closing
                                 I  CB-SDK: CubeChatConnection: Chat connection Closing
                                 I  CB-SDK: CubeChatConnection: Chat connection Closing
                                 I  CB-SDK: : [_initCubeChat] state CubeChatConnectionState.Closing
                                 I  CB-SDK: : [_initCubeChat] state CubeChatConnectionState.Closing
                                 I  CB-SDK: : [_initCubeChat] state CubeChatConnectionState.Closing
                                 I  CB-SDK: CubeChatConnection: Chat connection Closed
                                 I  CB-SDK: CubeChatConnection: Chat connection Closed
                                 I  CB-SDK: CubeChatConnection: Chat connection Closed
                                 I  CB-SDK: CubeChatConnection: Chat connection Closed
                                 I  CB-SDK: : [_initCubeChat] state CubeChatConnectionState.Closed
                                 I  CB-SDK: : [_initCubeChat] state CubeChatConnectionState.Closed
                                 I  CB-SDK: : [_initCubeChat] state CubeChatConnectionState.Closed
                                 I  showSoftInput(View,I)
                                 I  ssi() - flag : 0 view : com.bv.mainCourt reason = SHOW_SOFT_INPUT
                                 I  ssi() view is not EditText
                                 D  show(ime(), fromIme=true)
                                 I  showSoftInput(View,I)
                                 I  ssi() - flag : 0 view : com.bv.mainCourt reason = SHOW_SOFT_INPUT
                                 I  ssi() view is not EditText
                                 D  show(ime(), fromIme=true)
                                 I  ViewPostIme pointer 0
                                 I  ViewPostIme pointer 1
                                 I  CB-SDK: : onSendMessage message= {_id: 65116a023687295dbf716c72, chat_dialog_id: null, message: hi, date_sent:<PHONE_NUMBER>, sender_id: null, recipient_id: null, read_ids: null, delivered_ids: null, views_count: null, attachments: null, reactions: null, id: null, created_at: null, updated_at: null}
                                 I  CB-SDK: AsyncStanzaSender: add new task 65116a023687295dbf716c72
                                 I  CB-SDK: AsyncStanzaSender: start timer 65116a023687295dbf716c72
                                 I  CB-SDK: AsyncStanzaSender: unpause subscription
                                 I  CB-SDK: AsyncStanzaSender: responseStanza<PHONE_NUMBER>87295dbf716c71
                                 I  showSoftInput(View,I)
                                 I  ssi() - flag : 0 view : com.bv.mainCourt reason = SHOW_SOFT_INPUT
                                 I  ssi() view is not EditText
                                 D  show(ime(), fromIme=true)
                                 I  showSoftInput(View,I)
                                 I  ssi() - flag : 0 view : com.bv.mainCourt reason = SHOW_SOFT_INPUT
                                 I  ssi() view is not EditText
                                 D  show(ime(), fromIme=true)
                                 I  ViewPostIme pointer 0
                                 I  ViewPostIme pointer 1
                                 I  CB-SDK: : onSendMessage message= {_id: 65116a053687295dbf716c73, chat_dialog_id: null, message: gi, date_sent:<PHONE_NUMBER>, sender_id: null, recipient_id: null, read_ids: null, delivered_ids: null, views_count: null, attachments: null, reactions: null, id: null, created_at: null, updated_at: null}
                                 I  CB-SDK: AsyncStanzaSender: add new task 65116a053687295dbf716c73
                                 I  CB-SDK: AsyncStanzaSender: start timer 65116a053687295dbf716c73
                                 I  showSoftInput(View,I)
                                 I  ssi() - flag : 0 view : com.bv.mainCourt reason = SHOW_SOFT_INPUT
                                 I  ssi() view is not EditText
                                 D  show(ime(), fromIme=true)
                                 I  showSoftInput(View,I)
                                 I  ssi() - flag : 0 view : com.bv.mainCourt reason = SHOW_SOFT_INPUT
                                 I  ssi() view is not EditText
                                 D  show(ime(), fromIme=true)
                                 I  ViewPostIme pointer 0
                                 I  ViewPostIme pointer 1
                                 I  ViewPostIme pointer 0
                                 I  ViewPostIme pointer 1
                                 I  ViewPostIme pointer 0
                                 I  ViewPostIme pointer 1
                                 I  CB-SDK: : onSendMessage message= {_id: 65116a083687295dbf716c74, chat_dialog_id: null, message: gi, date_sent:<PHONE_NUMBER>, sender_id: null, recipient_id: null, read_ids: null, delivered_ids: null, views_count: null, attachments: null, reactions: null, id: null, created_at: null, updated_at: null}
                                 I  CB-SDK: AsyncStanzaSender: add new task 65116a083687295dbf716c74
                                 I  CB-SDK: AsyncStanzaSender: start timer 65116a083687295dbf716c74
                                 I  showSoftInput(View,I)
                                 I  ssi() - flag : 0 view : com.bv.mainCourt reason = SHOW_SOFT_INPUT
                                 I  ssi() view is not EditText
                                 D  show(ime(), fromIme=true)
                                 I  showSoftInput(View,I)
                                 I  ssi() - flag : 0 view : com.bv.mainCourt reason = SHOW_SOFT_INPUT
                                 I  ssi() view is not EditText
                                 D  show(ime(), fromIme=true)
                                 I  ViewPostIme pointer 0
                                 I  ViewPostIme pointer 1
                                 I  ViewPostIme pointer 0
                                 I  ViewPostIme pointer 1
                                 I  CB-SDK: : onSendMessage message= {_id: 65116a133687295dbf716c75, chat_dialog_id: null, message: hi, date_sent:<PHONE_NUMBER>, sender_id: null, recipient_id: null, read_ids: null, delivered_ids: null, views_count: null, attachments: null, reactions: null, id: null, created_at: null, updated_at: null}
                                 I  CB-SDK: AsyncStanzaSender: add new task 65116a133687295dbf716c75
                                 I  CB-SDK: AsyncStanzaSender: start timer 65116a133687295dbf716c75

onSendMessage error= ChatConnectionException: Connection timeout was occured durins end packe

even when connecting to new wifi i am getting this kind of message
onSendMessage message= {_id: 65116d223687295dbf716c77, chat_dialog_id: null, message: hi oi, date_sent:<PHONE_NUMBER>, sender_id: null, recipient_id: null, read_ids: null, delivered_ids: null, views_count: null, attachments: null, reactions: null, id: null, created_at: null, updated_at: null}
void onSendChatMessage(String content) {
if (content.trim() != '') {
final message = createCubeMsg();
message.body = content.trim();
onSendMessage(message);
} else {
showSnackBar(message: 'Nothing to send');
}
}
createCubeMsg not providing proper data

are you sure that you sent the message after successfully logging into the chat? from the provided log I can see some issues with the chat connection, it closes due to some reasons

yes i had login successfully, maybe in between my net was slow. but still it should not provide me proper error so that my user can get better idea or else provide me status code with error message so that i can show user some popup if issue is related to network.
but here even after switching to wifi i have tried to send a message  , at that time cubemessage has not provided me right data as below
even when connecting to new wifi i am getting this kind of message
Logs :  onSendMessage message= {_id: 65116d223687295dbf716c77, chat_dialog_id: null, message: hi oi, date_sent:<PHONE_NUMBER>, sender_id: null, recipient_id: null, read_ids: null, delivered_ids: null, views_count: null, attachments: null, reactions: null, id: null, created_at: null, updated_at: null}
Logic : -
void onSendChatMessage(String content) {
if (content.trim() != '') {
final message = createCubeMsg();
message.body = content.trim();
onSendMessage(message);
} else {
showSnackBar(message: 'Nothing to send');
}
}

have you managed this issue? or do you still need our help?

no activity for a long time, closing.


Resolves #114 dates are validated for short months and leap years

Overview
What it says on the tin. Resolves #114. What was happening was that moment.js actually catches and throws errors on such things just fine, just that d3-time-format changes the supplied date to the next closest valid one, creating the error as described.
I changed it so that default uses a moment.js format string to parse the date, rather than using the timeParse of d3-time-format. fmt remains the same. I also chucked in a couple of tests for short months and leap dates.

Please preserve this line to notify @roll (lead of this repository)

@UnicodingUnicorn
Thanks but I think the problem is still here because we use timeParse for custom formats. And we rely on these format strings not compatible with moment.js
Any chance we can make timeParse raise these errors?

@roll I believe that this problem is mentioned in d3/d3-time-format#47. I don't think timeParse can, or will, raise an error now or in the future.
As an aside, may I ask why the decision to use an additional library? As far as I can see, moment.js time parsing offers similar functionality, albeit with different syntax.

@UnicodingUnicorn
Thanks for the information. Datetime objects in JavaScript is a joke... Yea, I don't see how it can be resolved for custom datetime-formats.
Regarding the syntax - this library is an implementation of the Table Schema spec along with other 8 implementations. So on the lib level, we don't choose what syntax to use. And the reason is interoperability between different platforms.


Failure to build on g5.12xlarge

On a fresh g5.12xlarge running  amazon/ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20230919, trying to build the docker image fails reproducibly.
git clone https://github.com/NVIDIA/TensorRT-LLM.git
cd TensorRT-LLM
git submodule update --init --recursive
make -C docker release_build

....

368.9 [ 97%] Building CUDA object tensorrt_llm/kernels/CMakeFiles/kernels_src.dir/weightOnlyBatchedGemv/weightOnlyBatchedGemvBs4Int4b.cu.o
391.8 [ 98%] Building CUDA object tensorrt_llm/kernels/CMakeFiles/kernels_src.dir/weightOnlyBatchedGemv/weightOnlyBatchedGemvBs4Int8b.cu.o
1626.3 [ 98%] Built target kernels_src
1626.3 [ 98%] Linking CXX static library libtensorrt_llm_static.a
1645.3 [ 98%] Built target tensorrt_llm_static
1645.3 [100%] Linking CXX shared library libtensorrt_llm.so
1645.4 /usr/bin/ld:/src/tensorrt_llm/cpp/tensorrt_llm/batch_manager/x86_64-linux-gnu/libtensorrt_llm_batch_manager_static.a: file format not recognized; treating as linker script
1645.4 /usr/bin/ld:/src/tensorrt_llm/cpp/tensorrt_llm/batch_manager/x86_64-linux-gnu/libtensorrt_llm_batch_manager_static.a:1: syntax error
1645.4 collect2: error: ld returned 1 exit status
1645.4 gmake[3]: *** [tensorrt_llm/CMakeFiles/tensorrt_llm.dir/build.make:714: tensorrt_llm/libtensorrt_llm.so] Error 1
1645.4 gmake[2]: *** [CMakeFiles/Makefile2:677: tensorrt_llm/CMakeFiles/tensorrt_llm.dir/all] Error 2
1645.4 gmake[1]: *** [CMakeFiles/Makefile2:684: tensorrt_llm/CMakeFiles/tensorrt_llm.dir/rule] Error 2
1645.4 gmake: *** [Makefile:179: tensorrt_llm] Error 2
1645.4 Traceback (most recent call last):
1645.4   File "/src/tensorrt_llm/scripts/build_wheel.py", line 248, in <module>
1645.4     main(**vars(args))
1645.4   File "/src/tensorrt_llm/scripts/build_wheel.py", line 152, in main
1645.4     build_run(
1645.4   File "/usr/lib/python3.10/subprocess.py", line 526, in run
1645.4     raise CalledProcessError(retcode, process.args,
1645.4 subprocess.CalledProcessError: Command 'cmake --build . --config Release --parallel 48 --target tensorrt_llm tensorrt_llm_static nvinfer_plugin_tensorrt_llm th_common ' returned non-zero exit status 2.
------
Dockerfile.multi:48
--------------------
  46 |
  47 |     ARG BUILD_WHEEL_ARGS="--clean --trt_root /usr/local/tensorrt"
  48 | >>> RUN python3 scripts/build_wheel.py ${BUILD_WHEEL_ARGS}
  49 |
  50 |     FROM devel as release
--------------------
ERROR: failed to solve: process "/bin/bash -c python3 scripts/build_wheel.py ${BUILD_WHEEL_ARGS}" did not complete successfully: exit code: 1
make: *** [Makefile:47: release_build] Error 1
make: Leaving directory '/home/ubuntu/TensorRT-LLM/docker'
root@ip-172-31-37-99:/home/ubuntu/TensorRT-LLM# ]

This issue should be same to https://github.com/NVIDIA/TensorRT-LLM/issues/100, it may be helpful.


Update FileProvider description

Updated description of FileProvider project
Project URL
https://github.com/amosavian/FileProvider

Thanks, @amosavian!

thank you @dkhamsing for correcting typos
@lfarah thanks for your kindness


[FIX-8135] [Bug] [DataSource] jdbc connect parameters can not input '@'

Purpose of the pull request
This pr fix bug 8135
Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

@JYInMyHeart Do you mind to solve the conflicts

I found out we already fix this bug in #8293, I prefect to close it.

@caishunfeng do you mind to make a double check here?

@JYInMyHeart Do you mind to solve the conflicts

Oh. It's too late.

@JYInMyHeart  It does not matter, we still have many works to do, which you can see in #5689


Failed to start the project following the documentation

typos command reports error
error: `expresson` should be `expression`
  --> ./crates/oxc_index/src/macros.rs:81:5
   |
81 | /// expresson.
   |     ^^^^^^^^^
   |
error: `platorms` should be `platforms`
  --> ./crates/oxc_parser/src/lexer/number.rs:140:50
    |
140 | /// cycles, which doesn't include addition. Some platorms support mul + add in a
    |                                                  ^^^^^^^^
    |
error: Recipe `ready` failed on line 24 with exit code 2

Let me double check what's wrong with the CI job https://github.com/oxc-project/oxc/actions/runs/10651699041/job/29524584137

I'll change renovate bot to upgrade typos asap.


exception during platformio upgrade

Here is the console output of the upgrade. There is an exception trace at the end. This was run from an administrative command prompt in Windows 8.1.
>platformio upgrade
There is a new version 0.10.1 of PlatformIO available.
Please upgrade it via platformio upgrade command.
Changes: http://docs.platformio.ikravets.com/en/latest/history.html

There are the new updates for platforms (atmelavr)
Please wait while updating platforms ...

Platform atmelavr
--------
Updating toolchain-atmelavr package:
Versions: Current=1, Latest=1    [Up-to-date]
Updating tool-avrdude package:
Versions: Current=1, Latest=1    [Up-to-date]
Updating framework-arduinoavr package:
Versions: Current=8, Latest=9    [Out-of-date]
Uninstalling framework-arduinoavr package:      [OK]
Installing framework-arduinoavr package:
Downloading  [####################################]  100%
Unpacking  [####################################]  100%

Platform timsp430
--------
Updating toolchain-timsp430 package:
Versions: Current=1, Latest=1    [Up-to-date]
Updating tool-mspdebug package:
Versions: Current=1, Latest=1    [Up-to-date]
Updating framework-energiamsp430 package:
Versions: Current=2, Latest=2    [Up-to-date]

Platform titiva
--------
Updating toolchain-gccarmnoneeabi package:
Versions: Current=1, Latest=1    [Up-to-date]
Updating tool-lm4flash package:
Versions: Current=1, Latest=1    [Up-to-date]
Updating framework-energiativa package:
Versions: Current=3, Latest=3    [Up-to-date]

There are the new updates for libraries (Adafruit-NeoPixel)
Please wait while updating libraries ...
Updating  [ 28 ] Adafruit-NeoPixel library:
Versions: Current=349b45afc9, Latest=61d5a3ebe9          [Out-of-date]
The library #28 'Adafruit-NeoPixel' has been successfully uninstalled!
Installing library [ 28 ]:
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
The library #28 'Adafruit-NeoPixel' has been successfully installed!

Downloading/unpacking platformio from https://pypi.python.org/packages/source/p/platformio/platformio-0.10.1.tar.gz#md5=65edff2e8a2c92906a847f7e55e71
8a8
  Downloading platformio-0.10.1.tar.gz
  Running setup.py (path:c:\users\....\appdata\local\temp\pip_build_jhalleux\platformio\setup.py) egg_info for package platformio

Requirement already up-to-date: click in c:\python27\lib\site-packages (from platformio)
Requirement already up-to-date: pyserial in c:\python27\lib\site-packages (from platformio)
Downloading/unpacking requests from https://pypi.python.org/packages/py2.py3/r/requests/requests-2.5.1-py2.py3-none-any.whl#md5=11dc91bc96c5c5e0b566c
e8f9c9644ab (from platformio)
Requirement already up-to-date: colorama in c:\python27\lib\site-packages (from platformio)
Installing collected packages: platformio, requests
  Found existing installation: platformio 0.9.2
    Uninstalling platformio:
      Successfully uninstalled platformio
  Running setup.py install for platformio

    Installing platformio-script.py script to C:\Python27\Scripts
    Installing platformio.exe script to C:\Python27\Scripts
Cleaning up...
Exception:
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python27\lib\site-packages\pip\commands\install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "C:\Python27\lib\site-packages\pip\req.py", line 1443, in install
    requirement.commit_uninstall()
  File "C:\Python27\lib\site-packages\pip\req.py", line 610, in commit_uninstall
    self.uninstalled.commit()
  File "C:\Python27\lib\site-packages\pip\req.py", line 1860, in commit
    rmtree(self.save_dir)
  File "C:\Python27\lib\site-packages\pip\util.py", line 43, in rmtree
    onerror=rmtree_errorhandler)
  File "C:\Python27\lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "C:\Python27\lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "C:\Python27\lib\shutil.py", line 252, in rmtree
    onerror(os.remove, fullname, sys.exc_info())
  File "C:\Python27\lib\site-packages\pip\util.py", line 62, in rmtree_errorhandler
    func(path)
WindowsError: [Error 5] Access is denied: 'c:\\users\\....\\appdata\\local\\temp\\pip-p5rme5-uninstall\\python27\\scripts\\platformio.exe'

Storing debug log for failure in \pip.log

What is interesting, that PlatformIO is upgraded successfully and pip couldn't clean own temp dir. It looks strange for me. But I will fix it, because I also see this behaviour in my virtual machine.
Thanks.


fix deliverShipment insertion in max distance constraint

this PR does the same thing as #301, without the state(manager) simplification.
so also related to #292.

Perfect @jie31best. Thanks a lot!


iPhone hardware mute silences the palyback

When iPhone hardware mute button is toggled - the video will play silent.
Is there a way enable sound for the playback in the plugin or, ideally, let JavaScript to control the behaviour of hardware mute button?

I'm with the same problem.Can you fixed it? @vkhazin

Sorry did not - known issue.
On Wednesday, 30 December 2015, Guilherme da Costa Couto <
<EMAIL_ADDRESS>wrote:

I'm with the same problem.Can you fixed it? @vkhazin
https://github.com/vkhazin
—
Reply to this email directly or view it on GitHub
https://github.com/nchutchind/Streaming-Media-Cordova-Plugin/issues/26#issuecomment-168067324
.

--
Sincerely yours,
Vlad Khazin
Email<EMAIL_ADDRESS>Skype: vladimir.khazin
Cell:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
http://www.linkedin.com/in/vkhazin

Do anyone resolved this issue???

I have switched to native html5 video player using:
https://github.com/Wildhoney/ngVideo and did not yet have chance to confirm
whether mute button has been resolved - I have switched for the playback
events shall be sent back to the app reason.
On Mon, May 9, 2016 at 12:00 AM, Kailash43<EMAIL_ADDRESS>wrote:

Do anyone resolved this issue???
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/nchutchind/cordova-plugin-streaming-media/issues/26#issuecomment-217771565

--
Sincerely yours,
Vlad Khazin
Email<EMAIL_ADDRESS>Skype: vladimir.khazin
Cell: 1<PHONE_NUMBER>
Fax: 1<PHONE_NUMBER>
http://www.linkedin.com/in/vkhazin

Resolved with latest PR


ci: run on idle GPUs

Occasionally the CI has conflicts with people using 100% of memory on GPUs. This picks idle GPUs to run on. Script from ci_mpi branch but renamed, cf. #48.

@neil-lindquist Can you look over the gpu_bind.sh script that I added?

Here's an example running, where someone was using GPUs 0, 2, 3:
sh leconte test> mpirun -np 4 ./gpu_bind.sh ./tester --matrix rand_zerocol13,rand_zerocol37,rand_zerocol95,rand_zerocol0.0,rand_zerocol0.5,rand_zerocol1.0 --nb 32 --dim 100 getrf
1 ../tools/idle_gpus.py
0 ../tools/idle_gpus.py
2 ../tools/idle_gpus.py
3 ../tools/idle_gpus.py
local_rank 1, gpu_kind cuda, idle_gpus_array 1 4 5 6 7, ndev 5, dev 1, visible_devices 4, rank_var MPI_LOCALRANKID
local_rank 3, gpu_kind cuda, idle_gpus_array 1 4 5 6 7, ndev 5, dev 3, visible_devices 6, rank_var MPI_LOCALRANKID
local_rank 0, gpu_kind cuda, idle_gpus_array 1 4 5 6 7, ndev 5, dev 0, visible_devices 1, rank_var MPI_LOCALRANKID
local_rank 2, gpu_kind cuda, idle_gpus_array 1 4 5 6 7, ndev 5, dev 2, visible_devices 5, rank_var MPI_LOCALRANKID
% SLATE version 2023.08.25, id 4765f637

At the moment, I'm just adding the gpu_bind.sh script so users (mainly us) can use it. Later on, #48 will use it in the CI, and the script needs to be copied to the build directory for that purpose. (I'll rebase #48 after merging this one.)
The only reason to add it in this PR is that there's some interaction with the ${idle_gpus} variable between setup_env.sh and gpu_bind.sh, and it's convenient to provide gpu_bind.sh for everyone.


Flutter tool should recommend flutter upgrade when that would fix issues

[✓] Flutter (on Linux, channel alpha)
• Flutter at /usr/local/google/home/mehmetf/flutter/flutter
• Framework revision 7a9fe01cb9 (3 days ago), engine revision dedab3e6e7
From atom:
flutter run lib/main.dart (debug) • app/
Running lib/main.dart on Nexus 5...
--------- beginning of system
E/flutter : [ERROR:dart_error.cc(17)] Wrong script snapshot version, expected 'a00846c0d769e2b1b7b71e6f5039bbda' found 'a251fdac8f24f6596148a19e2d511fb6'
E/flutter : [ERROR:dart_error.cc(17)] Unhandled exception:
E/flutter : No top-level getter 'main' declared.
E/flutter :
E/flutter : NoSuchMethodError: method not found: 'main'
E/flutter : Receiver: top-level
E/flutter : Arguments: [...]
E/flutter : #0      NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:178)
E/flutter : #1      _getMainClosure (file:///b/build/slave/Linux_Engine/build/src/out/android_debug/gen/sky/bindings/dart_ui/natives.dart:38)

On command line I get something completely different:
Thu Aug 11(11:27)|app$ flutter run
Running 'pub get' in app...
The pubspec for quiver 0.22.0 from path has version 0.23.0-dev.

and that's it.

Thanks for the report!
I just changed to alpha branch, created a new app, and ran it on my 5X. It worked. So, I wonder if this is an issue that appears when you're trying to upgrade an existing app?

@devoncarew is there something we can do to print more from flutter run in the case where apparently something isn't happy with versions? (Not sure how to repro this :(

@mehmetf is it possible to share your pubspec.yaml for your project (in email if that works)

We should catch "Wrong script snapshot version" errors and recommend flutter upgrade as the solution.

+1 This could be extended to various pub errors as well.

My understanding is we now run pub get as part of flutter run?  But there is likely still work we could do under this bug.

I don't understand how we would know when to recommend flutter upgrade. Can you elaborate?

flutter doctor now prints a big hint when a newer version is available at the current channel.

We now provide hints in flutter doctor when new versions are available. The incorrect snapshot error is a result of bugs in our build system, which are tracked here: https://github.com/flutter/flutter/issues/16604


Use requireAuth and waitForAuth

AngularFire now has waitForAuth and requireAuth methods. Utilize those in our directives and resolve callbacks.

Now utiliized in the simpleLogin.js service, which is used by others.


Add RBFSeasonality

I have been working on this feature, and had chance to play with it on some highly seasonal series. If you think this would be a nice feature, I can wrap it up, open a PR and hopefully share some plots.

Sounds good!

I was trying to compare the RBFSeasonality with FourierSeasonality with the air passengers dataset. However, I am not able to reproduce the results in the readme. This is is what I am getting:
import pandas as pd
from timeseers import FourierSeasonality, LinearTrend

passengers = pd.read_csv('AirPassengers.csv').reset_index().assign(
    t=lambda d: pd.to_datetime(d['Month']),
    value=lambda d: d['#Passengers']
)

model = LinearTrend(n_changepoints=10) * FourierSeasonality(n=5, period=pd.Timedelta(days=365))
model.fit(passengers[['t']], passengers['value'], tune=2000)

model.plot_components(X_true=passengers, y_true=passengers['value']);

Dataset: https://www.kaggle.com/rakannimer/air-passengers
Fits very fast (10 seconds), and no divergences. I might be missing something here. Do you have any ideas?

hm, I do remember this. It has to do with the multiplicative seasonality and the scaling of the data. Can you change the y-scaler to a MinMaxScaler and see whether the same occurs there?

Okay thanks a lot, it is great now. It seems like the negative values resulted by the StdScaler result in this problem.
For the sake of completeness, here is the results now:
import pandas as pd
from timeseers import FourierSeasonality, LinearTrend

passengers = pd.read_csv('AirPassengers.csv').reset_index().assign(
    t=lambda d: pd.to_datetime(d['Month']),
    value=lambda d: d['#Passengers']
)

model = LinearTrend(n_changepoints=10) * FourierSeasonality(n=5, period=pd.Timedelta(days=365))
model.fit(passengers[['t']], passengers['value'], tune=2000, y_scaler=MinMaxScaler)

model.plot_components(X_true=passengers, y_true=passengers['value']);


Set / determine maximum available memory

Currently there's no way of knowing how much physical memory there is, form inside IncludeOS. You'll know from the outside, as this is a parameter to the VM.
I think the proper way to do it is by inspecting ACPI tables / RSDP. So:

Determine maximum memory the proper way
Have sbrk enforce this maximium limit, again causing malloc/new to fail gracefully

Now we A) use multiboot to get a complete memory map or B) ask CMOS. With CMOS you'll only get reported a maximum of 2^16 kb. (~65MiB). With multiboot you get correct values.

We also implemented enforcing memory maximum in sbrk. Closing.


♻(models) move selling organizations to the course/product ManyToMany

Purpose
The organizations that are selling a product were defined through a ManyToMany relation on the Product model. This worked for products that are sold by the same organizations, whatever the course on which they are sold.
The problem is that we also have products, like for example certificates, that are sold on many courses but by a different organization on each course.
Proposal
I propose to move the definition of selling organizations to the relation model between the Course and the Product.

Would it be possible in the code to directly distinguish the organizations that are creating the course from the ones that are selling the course using label methods or fields in serializers or model to clarify the understanding ?

Not sure what you are asking for. Can you make actual proposals ?
For example, do you mean the organizations field on the Course model should be renamed authoring_organizations  and the organizations field on the CourseProductRelation model should be renamed to selling_organizations?

Would it be possible in the code to directly distinguish the organizations that are creating the course from the ones that are selling the course using label methods or fields in serializers or model to clarify the understanding ?

Not sure what you are asking for. Can you make actual proposals ? For example, are you suggesting to rename the organizations field on the Course model to author_organizations and the organizations field on the CourseProductRelation model to seller_organizations?

For the record, IRL discussion confirmed that we don't want to rename the organizations field but would need to helper methods on the model or queryset to lower the complexity of using these models. For example:
product.get_selling_organizations_for_course(course)
We agreed that such methods were not impacting the database modelisation and can be added later and case-by-case.


For some previous solidity complier version

Can this tool support the previous solidity version, like v.4.24 for solidity?

There are many changes in the language between solidity versions. It would be good if solang could switch between solidity versions. This would require some big changes to sema.
Unfortunately I do not have the time to implement this. However, I'm very much open to contributions for this.

It occurred to me that more can be done to solve this problem.
@KunPengRen it would be more useful to know what specific compilation problems you are having.

It occurred to me that more can be done to solve this problem.
@KunPengRen it would be more useful to know what specific compilation problems you are having.

I have made some modifications so previous versions of solidity also compile. Please let me know if there are specific issues you are having.

Thanks! That's great, I will test later.


Add auto translation to Tree

Should fully close #80549.

Changes made.

Thanks!

I was surprised that it doesn't cause any unwanted translations in the editor, even with non-editable Trees

Apparently it auto-translates file names in FileSystem.
https://github.com/godotengine/godot/assets/2223172/87c1a3de-b302-4d70-9bea-730c753a1e95


New version: dumbasPL.CSGOAccountChecker version 1.4.4

Pull request has been created with komac v2.2.1 :rocket:
Microsoft Reviewers: Open in CodeFlow

/azp run

/azp run


CUDA compare and swap with index

Closes #6702.
Currently numba.cuda.atomic.compare_and_swap only operates on the first array element. This PR adds support for operating on any array element by index. Much of this PR is derived from a previous attempt (#7844) with the permission of the original author @bryevdv. The new function is called numba.cuda.atomic.cas and it takes one more argument (the array index) than compare_and_swap.
My use case is in datashader to create bespoke CUDA atomic operations that are more complicated than simple add or max. Datashader essentially writes to a 2D array, each element of which represents an output pixel, and multiple CUDA threads may write to the same pixel at the same time. The indexed cas function allows the use of a 2D integer array as an array of mutexes, one per pixel, to limit access to a single thread at a time per pixel.
For anyone interested, here is my "datashader lite" implementation in which each pixel is visited multiple times with different integer values. Each pixel stores the two maximum values, in decreasing order, of all visits to that pixel. Without the cas-based locking mechanism the checking and shuffling operation of the max values per pixel isn't atomic.
# Datashader-like max2.
# Locking a single pixel at a time using CUDA CAS mutex.
import cupy
from numba import cuda
import numpy as np

@cuda.jit(device=True)
def lock(mutex, index):  # 2D index here
    while cuda.atomic.cas(mutex, index, 0, 1) != 0:
        pass
    cuda.threadfence()  # This may not be necessary?

@cuda.jit(device=True)
def unlock(mutex, index):  # 2D index here
    cuda.threadfence()
    cuda.atomic.exch(mutex, index, 0)

@cuda.jit
def datashader_lite(x, y, val, max2, mutex):
    offset = cuda.grid(1)
    if offset < x.size:
        i, j, v = x[offset], y[offset], val[offset]
        lock(mutex, (j, i))

        # max aggregator would normally have configurable length, but here hard-coded as 2
        if max2[j, i, 0] == -1:
            max2[j, i, 0] = v
        elif v > max2[j, i, 0]:
            max2[j, i, 1] = max2[j, i, 0]
            max2[j, i, 0] = v
        elif v > max2[j, i, 1]:
            max2[j, i, 1] = v

        unlock(mutex, (j, i))

x   = cupy.array([0, 0, 1, 1, 2, 2,  0,  0,  1, 1, 2, 2])
y   = cupy.array([0, 0, 0, 0, 0, 0,  1,  1,  1, 1, 1, 1])
val = cupy.array([1, 2, 3, 4, 5, 6, 12, 11, 10, 9, 8, 7])

ny, nx = 2, 3  # Pixels in target array
max2 = cupy.full((ny, nx, 2), -1)  # -1 is the unset value
mutex = cupy.zeros((ny, nx), dtype=np.uint32)  # Supports integer dtypes
tpb = 10
bpg = int(np.ceil(len(x)/tpb))
datashader_lite[bpg, tpb](x, y, val, max2, mutex)
print('max2', max2)

Output using this PR is:
max2 [[[ 2  1]
  [ 4  3]
  [ 6  5]]

 [[12 11]
  [10  9]
  [ 8  7]]]

This is my first numba PR 😃

@ianthomas23 Many thanks for the patch. @gmarkall any chance you could review this please?

gpuci run tests

The reference docs should probably be updated to mention the new function too, in this section: https://github.com/numba/numba/blob/main/docs/source/cuda-reference/kernel.rst#synchronization-and-atomic-operations

I've added docs for numba.cuda.atomic.cas after the other atomic functions:

I haven't added an entry for compare_and_swap as presumably we should be encouraging use of the new function instead.

I think I've addressed all review comments so far.

gpuci run tests


Do not throw exception in finally block

This can mask exceptions thrown in the try or catch blocks.  Found via
error-prone.  Reference:
https://errorprone.info/bugpattern/Finally

Maybe this is a good moment to update the Java requirements and use try-with-resources

@gaul Try to rewrite this title and try to find where we are missing Java 7 features. We ASF developers are not so fast to update all 100 Maven projects, so it means we need some help from you contributors.
Then pls run the build mvn -P run-its verify to make sure all changes are alright.

Superseded by #18.


Checking only first string symbol

While checking first symbol of the string value that would be converted to integer after validation, there will be no errors if validate the following argument:
class Form(Form):

    id_ = IntegerField('Parent directory identifier')

form = Form({
    'id_: '2njadhuaibsd',
})
print(form.validate(), form.errors) . # True {}

#451 I think it solves this problem

I'm not sure that #451 will solve the issue. The example you present deals with formdata, whereas the pull request deals with process_data so it shouldn't make a difference.
Additionally, I cannot replicate the error you describe.
from wtforms.fields.core import IntegerField
from wtforms.form import Form

class Form(Form):
    id_ = IntegerField('Parent directory identifier')

form = Form({
    "id_": "2njadhuaibsd",
})

print(form.validate(), form.errors)

This gives me a TypeError: formdata should be a multidict-type wrapper that supports the 'getlist' method  on the dict being passed into F which is expected behaviour. Passing data into formdata in this way requires the use of a MultiDict-like structure

I confirm #451 fixes this issue.
>>> from wtforms import Form, IntegerField
>>> class F(Form):
...    foo = IntegerField('foobar')
>>> form = F(foo='2njadhuaibsd')
>>> form.validate(), form.errors

With #451:  (False, {'foo': ['Not a valid integer value']})
Without: (True, {})


Compare main and test

Patch Description
Describe your changes
Testing steps
Describe how you tested your changes

For comparison only.


ARROW-2094: [C++] Install libprotobuf and set PROTOBUF_HOME when using toolchain

C++-only libprotobuf is now being provided by conda-forge

Merging. Travis build failure is unrelated


Add hisaac.net to smallweb.txt

This adds my personal website, hisaac.net to the smallweb.txt list.

+2 as per guidelines please

Ah apologies, I didn't read the guidelines on the main page 🤦♂
I'll convert this to a draft until I've got things all sorted.

Ok, I've added a few more sites now.


SPDX License header

All source code files require the following license header (with commenting syntax adapted to the file's language):
/* Copyright 2022 Contributors to the Parsec project.
 * SPDX-License-Identifier: Apache-2.0 */

Feel free to add whoever contributed to this file in a PR :ok_hand:


run "zephir build" ... diplay "File not found at path: IR/gcc-version"

Hi.
A build error occurred while running the "hello world" example. I followed the tutorial. https://docs.zephir-lang.com/en/0.10/tutorial
What parts should I check?
# zephir init utils
# cd utils/
# vi utils/greeting.zep
namespace Utils;
class Greeting
{
    public static function say()
    {
        echo "hello world!";
    }
}
# zephir build
INFO: Preparing for PHP compilation...
INFO: Preparing configuration file...
sh: 1: cannot create IR/gcc-version: Directory nonexistent
File not found at path: IR/gcc-version

My System Informations
# uname -a
Linux benant-dev 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

# php --version
PHP 7.2.12-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Nov 12 2018 09:55:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.12-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

# php -m | grep Zephir
Zephir Parser

# apt-get install git gcc make re2c php php-json php-dev libpcre3-dev build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.1ubuntu2).
gcc is already the newest version (4:5.3.1-1ubuntu1).
make is already the newest version (4.1-6).
re2c is already the newest version (0.16-1).
git is already the newest version (1:2.7.4-0ubuntu1.5).
libpcre3-dev is already the newest version (2:8.41-4+ubuntu16.04.1+deb.sury.org+1).
php is already the newest version (2:7.2+68+ubuntu16.04.1+deb.sury.org+1).
php-dev is already the newest version (2:7.2+68+ubuntu16.04.1+deb.sury.org+1).
php-json is already the newest version (2:7.2+68+ubuntu16.04.1+deb.sury.org+1).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

# phpize -v
Configuring for:
PHP Api Version:         20170718
Zend Module Api No:      20170718
Zend Extension Api No:   320170718

# zephir help
Usage:
  help [options] [--] [<command_name>]

Arguments:
  command               The command to execute
  command_name          The command name [default: "help"]

Options:
      --format=FORMAT   The output format (txt, xml, json, or md) [default: "txt"]
      --raw             To output raw command help
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --dumpversion     Print the Zephir version — and don't do anything else
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Help:
  The help command displays help for a given command:

    php /usr/local/bin/zephir help list

  You can also output the help in other formats by using the --format option:

    php /usr/local/bin/zephir help --format=xml list

  To display the list of available commands, please use the list command.

Thanks,
Benant.

@benant Could you please try latest changes from development branch? It seems I fixed this a few days ago. You have to clone this repo, then run composer install from the project run. Then use ./zephir as a entrypoint

I hope this fixed in the latest release. Feel free to open a new issue if the problem appears again. Thank you for contributing.

@sergeyklay It works perfectly. Thanks.


phase1: fix emoji picker refocus issue

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/29011
PROPOSAL: https://github.com/Expensify/App/issues/29011#issuecomment-1761922826
Tests

Note: For the iOS Safari platform, it only focuses without opening the keyboard, which is another separate issue and is beyond the scope.

Send a message in any chat in App.
Long press the message and tap on Edit message.
Tap on the emoji picker.
Select an emoji and verify the keyboard will open up.

[ ] Verify that no errors appear in the JS console

Offline tests

Same as Tests
QA Steps

Same as Tests

[ ] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

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

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

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/8579651/9c44158e-ae50-4bbe-ac5b-86ce19970aa4

Android: mWeb Chrome
https://github.com/Expensify/App/assets/8579651/a1712880-d423-45c5-8820-b5c379c8cf21

iOS: Native
https://github.com/Expensify/App/assets/8579651/013606f8-e84f-47ca-b018-1446e915f9bd

iOS: mWeb Safari
https://github.com/Expensify/App/assets/8579651/b0622a35-8aaa-4ccf-9563-59542eec854d

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/8579651/af969688-344a-4d65-b1b2-16bab908c1c6

MacOS: Desktop
https://github.com/Expensify/App/assets/8579651/7ffc3c62-2586-4200-8be5-36591743c6f8

Hey @parasharrajat I believe this is the first PR related to this issue.

@parasharrajat have we been waiting on your review for two weeks?  This issue is holding up many others.  Can you prioritize please?

@ntdiary i'm trying to get as much context i can, so this PR (phase1) only handles the case described in the PR right?

Testing

@ntdiary i can notice a kind of swift glitch (switching focus from the second input)

Send two messages
Edit the two messages
Focus the above input
Open the emoji picker from the bottom input
Close the emoji picker

https://github.com/Expensify/App/assets/75031127/ae50674f-cea1-49ed-85a3-41e8750a68fb

Similar case as ^, focus the second input, open emoji picker on the above input and pick an emoji
Emoji will be inserted on the first input but the second one is focused. not reproducible on prod.
https://github.com/Expensify/App/assets/75031127/6ebec553-2ae8-48c9-96ee-2822563bab05

BUG: focus not restored after opening profile details page

Send a message
Long press > Edit
Make sure the input is focused
Press the header of the room/chat
Press the back button

https://github.com/Expensify/App/assets/75031127/8a89edf5-3f32-4d7a-8b9d-748a95d4f8b7

Now, the first two problems are consistent with production, the third problem is out of the scope of this PR (RHP modal), and I can't reproduce it. 😂

Hmm, was not able to reproduce on prod will try again.

Reviewer Checklist

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

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

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

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

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

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is 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(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the form input styles:

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

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Note: For the iOS Safari platform, it only focuses without opening the keyboard, which is another separate issue and is beyond the scope.

So technically we're not fixing https://github.com/Expensify/App/issues/29011?

@ntdiary i am not even able to reproduce the issue on production, android native.
https://github.com/Expensify/App/assets/75031127/630bee31-4a0c-4313-a1c2-ccfd55918940

@ntdiary just tested on physical android device, it's the same 😄
https://github.com/Expensify/App/assets/75031127/8c24486d-0f44-41cb-a4ff-5412418798f6

@getusha, interesting. In my test on the main branch, opening emoji modal doesn't cause the main composer to blur, so the keyboard can't pull up after closing the emoji modal.

this is interesting, let me test it on various devices.

If your keyboard can pull up on the main branch, can you please further confirm whether the main composer's blur is fired when opening the emoji modal? And which elements triggered it?

@ntdiary still not able to reproduce it testing on other models but the main composer is not being blurred while opening the emoji picker.

I see we're making progess, could you please merge main just to ensure the type conflicts don't build up and become overwhelming? Thanks

@getusha, Did you test it on Android 14 (API 34)? I noticed that the android native code can pull up the keyboard after closing the modal, but for versions before android 14, the issue still persists (I test on Android 13 / API 33).

Generating some builds to try to speed up the review.

@getusha, Did you test it on Android 14 (API 34)? I noticed that the android native code can pull up the keyboard after closing the modal, but for versions before android 14, the issue still persists (I test on Android 13 / API 33).

Hi @ntdiary, are you saying this isn't fixed for Android <=13 devices?

@Julesssss, I mean that issue https://github.com/Expensify/App/issues/29011 can only be reproduced on Android <= 13 devices. And this PR can ensure that the issue is fixed on these devices. :)

Ah thanks. I don't have any old Androdi devices and I don't think the emulator is a good device for testing this as they keyboard behaviour is flakey. I'll ask internally to see if anyone has an older Android device.

Hey @getusha, are you able to complete the review now?

Hey @getusha, are you able to complete the review now?

Yes, will be on it in 3 hours.

Installing a system image API level 32

Did you test it on Android 14 (API 34)? I noticed that the android native code can pull up the keyboard after closing the modal, but for versions before android 14, the issue still persists (I test on Android 13 / API 33).

Able to reproduce on lower versions :)
https://github.com/Expensify/App/assets/75031127/f24ed835-e68f-4369-b049-a81e13fe704b

Will test it on several devices.

BUG: Cursor is placed before the inserted emoji (Not able to reproduce on staging)

Edit any message
Open the emoji picker
Insert one emoji

https://github.com/Expensify/App/assets/75031127/89bd361d-f15b-4e3e-9c9e-e1544b29fce0
BUG:  Inserting emoji on composer crashes the app (mWeb android)

Open any chat
Open emojipicker
Insert an emoji

https://github.com/Expensify/App/assets/75031127/98c0075d-e069-49d6-b1f5-970b62c63da5

Hey @ntdiary would you mind merging main to resolve conflicts once more please

: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/Julesssss in version: 1.4.61-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
cancelled 🔪

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/Julesssss in version: 1.4.61-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.61-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Fixed evaluating arithmetic comparisons in Binary Expressions for floats

Currently there is an issue with how Binary Expressions evaluate pretty much all types, but let's focus on the case of numbers.
At line 2491 of ast.go we have:
func evalBinaryExpr(expr *BinaryExpr, m map[string]interface{}) interface{} {
And 4 lines below:
// Evaluate if both sides are simple types.
switch lhs := lhs.(type) {
The culprit is that the right side is never asserted to be a simple type. Assuming a simple query:
select * from cpu_load_short where value < 5.1
select * from cpu_load_short where 5.1 > value
If value is a float, then in both cases we will fall into this scenario:
case float64:
rhs, _ := rhs.(float64)
In the first scenario we will get a perfectly fine result depending on what number value actually is.
However, in the second scenario, if rhs, that being our value, is a nil, this type of a safe cast will write 0 to rhs and false to the second variable, which is ignored. Therefore, our expression evaluates to 5.1 > 0 and thus to 'true', meaning that we will receive as a result every single row with either the correct value smaller than 5.1 or with value field empty.
I believe that this is not the expected result, therefore I have suggested a fix by not ignoring the cast information and, upon fail, returning a nil, thus preventing the rows with nils from displaying.
Here are screenshots with an example before applying the patch:

And the incorrect result:

After applying the patch:

Moreover, same kind of check could be applied to other types, this being int64, string and bool. However, in case of bool I am not sure if the expected return for OR in case lhs is true and rhs is nil should be true or false, therefore I would prefer a comment from you, dear developers, before issuing pull requests for this and other types.

Additionally, the fact that both the pull request and master pass on CircleCl means that the tests do not account for logic of expression evaluation.

@Jackkoz Thanks for the fix. It looks good except that it seems like NEQ should return true if RHS is nil. Can you also add a test case for this?
As for other types, I think they can be applied in the same way. For a boolean OR it should return true even if LHS or RHS is nil so long as the other one is true.

@benbjohnson If NEQ gave true in such a scenario, then we would still end up with results that might be counter-intuitive - as in, contain empty fields. Screenshot below:

Also, there is a discrepancy between two similar querries when evaluating NEQ to true.

@jackkoz I suppose NEQ in SQL ignores nulls as well. Adding an IS NULL is probably the correct way to go.
I still don't understand why one column ignores nulls but returning two columns returns the null rows. @pauldix?
I'm also interested to hear what @dgnorton thinks.

@benbjohnson I think that's just an oddity of the query engine. Different execution paths if you're selecting a single column vs. selecting multiple columns. We should update it to have consistent behavior.

I think this is good to go for this change. We can address the single column vs. multi-column stuff in another PR. @Jackkoz if you can add a test that verifies the behavior here, I'll merge it in.

@jsternberg @benbjohnson Is this still an issue now that #5196 is merged?

@jwilder I'll give it a try and get back to you.

@jwilder the new query engine appears to handle this perfectly.
> insert cpu value=1,host="A"
> insert cpu host="B"
> select host from cpu where value > 0
name: cpu
---------
time                    host
1455136677351093250     A

> select host from cpu where value != 1
name: cpu
---------
time                    host
1455136685698114508     B

I'm going to close the issue and update the milestone to 0.11. @Jackkoz if I have made a mistake in my tests or I am missing something, please feel free to reopen. Thanks for your help!

@jsternberg unfortunatelly I can no longer devote time to InfluxDB to thoroughly check this myself. However, what I can say is that your provided test does not cover what I described in my initial report, at the very top of this page - that is, testing both value > 0 and 0 < value. Same would apply to value != 1 and 1 != value.
Best,
Jacek

Thank you @Jackkoz for taking the time to clarify what I missed. Those two queries now work too.
> select host from cpu where 0 < value
name: cpu
---------
time                    host
1455136677351093250     A

> select host from cpu where 1 != value
name: cpu
---------
time                    host
1455136685698114508     B

Once again, thank you for your help.


fix(schema): Integration JSON-LD and schema.org

:tada: This PR is included in version 3.0.8 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Reposition dialog when window is resized

This is particularly useful when there's a text field
in a dialog, and the window becomes twice smaller when
the text field is focused on mobile (because of the
on-screen keyboard).

@hai-cea Fixed.

Thanks @pomerantsev :+1:


Even lazier instantiation of event listeners?

Hey folks,
while deeply diving into event manager and its performance, I wonder if even lazier instantiation of event listeners at the last possible moment, i.e. \Zend\EventManager\EventManager::triggerListeners() could further improve performance?
I realize LazyListeners already exist, but they are usually instantiated during instantiation of the respective event manager.
In case of many events for the same event manager this obviously leads to many unnecessary operations.
Any opions?

@Pittiplatsch
As far as I known, Lazy loading of listener has been implemented in ZF3.
See https://zend-eventmanager.readthedocs.io/en/latest/lazy-listeners/lazy-event-listener/

As I stated, I do know about LazyListeners.
My point is that I see even more potential for increasing performance by avoiding premature instantiation of any listener objects, even lazy listener objects.
Or did I miss something?

@Pittiplatsch
The purpose of a lazy event listener is to load the real event listener when the events on which it is listening is triggered. This is a real performance gain because the "wrapped" event listener will not be instantiated on registration. Registering a lazy event listener in place of a real event listener is really cheap. Think that real event listeners can requires configuration phase and so on on instantiation, leading to useless works when finally, no events on which they are listening is triggered. In any cases, the event listener must be registered, else, the event manager will not be aware of them.
 I can be wrong at some point.
@weierophinney Can you confirm?

Well, I see that Lazy Listeners can be very cheap compared to potentially expensive, but needless instantiation of the "real" wrapped event listener.
However, I want to point out that even the cheapest instantiation of (a potentially substantial set of) lazy listeners which at least do some consistency / validation checks of given definition is by far more expensive than delaying any instantiation to the last possible moment which is just at the time of triggering the respective event.
Granted, the event name must be evaluated in either case, but building a simple data structure in analogy to \Zend\EventManager\EventManager::$events is obviously cheaper than instantiating any object at all.

Object instantiation is still cheaper than inventing a new data structure
that adds a layer of indirection. What is possibly heavy is the related
autoloading, but not really the instantiation.
I strongly suggest writing benchmarks for the scenario before bringing the
proposal any further.
On 8 Oct 2017 22:52, "Lars Heber"<EMAIL_ADDRESS>wrote:

Well, I see that Lazy Listeners can be very cheap compared to potentially
expensive, but needless instantiation of the "real" wrapped event listener.
However, I want to point out that even the cheapest instantiation of (a
potentially substantial set of) lazy listeners which at least do some
consistency / validation checks of given definition is by far more
expensive than delaying any instantiation to the last possible moment
which is just at the time of triggering the respective event.
Granted, the event name must be evaluated in either case, but building a
simple data structure in analogy to \Zend\EventManager
EventManager::$events is obviously cheaper than instantiating any object
at all.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zendframework/zend-eventmanager/issues/61#issuecomment-335037639,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJakGJ6oMgYQIdik7aTonOnkoKs7z0Aks5sqTX9gaJpZM4PxrCa
.

👍 for writing benchmarks first.
I must admit that I don't really know how to start doing so...
I don't see how to benchmark two different EM implemenations against each other using current benchmark architecture (https://github.com/zendframework/zend-eventmanager/tree/master/benchmarks).
Could plz someone shed some light?

@Pittiplatsch argh, these benchmarks are still using athletic. We should port them to phpbench, which has export/comparison utilities (see https://github.com/doctrine/doctrine2/pull/6649#issuecomment-325133806 for an example of what this looks like)

Phew, that's definitely out of this issue's scope...
Not sure how to proceed from here :confused:

let's move to phpbench (separate issue)
continue here after that

@Ocramius @Pittiplatsch I can move it to phpbench :) I'll push my PR soon.

Switched to phpbench in PR #62

@Pittiplatsch You've made a ton of assertions that things can be made faster... but not exactly how, nor what the trade-offs might be.
As @Ocramius noted, we definitely need benchmarks so that we can compare, and I see that @webimpress has opened a pull request to update to phpbench, which will allow that.
Next, however, is how you would plan to implement such changes. A lot of thought went into the design for zend-eventmanager v3, and one aspect in particular was type safety. Being able to provide a specific type when attaching listeners greatly reduces the internal complexity as we now no longer need to determine what we received, nor, at execution of listeners, determine if we need to marshal something before we execute it.
Lazy listeners were a key aspect of that: by having a lightweight object that composes the service name and the DI container, we are essentially only storing references until the listener is executed. This delays creation and greatly conserves resources.
Yes, we have an actual object in the scope, but as @Ocramius notes, this is a cheap operation in modern PHP versions.
So, we'll be weighing several factors as you provide a proposal:

Performance
Resource overhead
Code complexity

Please keep these in mind as you proceed, and I look forward to seeing your experiments, regardless of their outcomes!

Very rough draft:
https://github.com/Pittiplatsch/zend-eventmanager/commit/8611005872d65c57642eed403acbe52cd45025fb
I think, comparison should be done based on \ZendBench\EventManager\MultipleEventListenerDefinitionBench vs. \ZendBench\EventManager\MultipleEventLocalListenerBench (the original benchmark that I simply copied and adjusted).
If I read the benchmark results correctly (vendor/bin/phpbench run benchmarks/ --iterations=100 --revs=100 --filter MultipleEventLocal --filter MultipleEventListener), my version seems to be notably slower.
However, my local tests which directly compare usage of \Zend\EventManager\LazyListenerAggregate::__construct against my "even lazier listener" version prove that time for attaching listeners is reduced by >50%, and even actual triggering is saves ~30%.
Therefore, I am not sure if I may trust my rude benchmark test...
@weierophinney Thx for your enlightenment. I definitly see my code will increase complexity, especially the part with "kind of self-modifying code" of the wrapper listener.
From that point of view I'd absolutely accept if my approach didn't find your agreement.
Anyhow, any comments are welcome 😄

Remember to run the benchmark without XDebug
On 9 Oct 2017 16:14, "Lars Heber"<EMAIL_ADDRESS>wrote:

Very rough draft:
Pittiplatsch/zend-eventmanager@8611005
https://github.com/Pittiplatsch/zend-eventmanager/commit/8611005872d65c57642eed403acbe52cd45025fb
I think, comparison should be done based on \ZendBench\EventManager
MultipleEventListenerDefinitionBench vs. \ZendBench\EventManager
MultipleEventLocalListenerBench (the original benchmark that I simply
copied and adjusted).
If I read the benchmark results correctly (vendor/bin/phpbench run
benchmarks/ --iterations=100 --revs=100 --filter MultipleEventLocal
--filter MultipleEventListener), my version seems to be notably slower.
However, my local tests which directly compare usage of
\Zend\EventManager\LazyListenerAggregate::__construct against my "even
lazier listener" version prove that time for attaching listeners is reduced
by >50%, and even actual triggering is saves ~30%.
Therefore, I am not sure if I may trust my rude benchmark test...
@weierophinney https://github.com/weierophinney Thx for your
enlightenment. I definitly see my code will increase complexity, especially
the part with "kind of self-modifying code" of the wrapper listener.
From that point of view I'd absolutely accept if my approach didn't find
your agreement.
Anyhow, any comments are welcome 😄
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zendframework/zend-eventmanager/issues/61#issuecomment-335171083,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJakKiXpehYHXGcYfmpPbir4v3Ei1nOks5sqipIgaJpZM4PxrCa
.

Remember to run the benchmark without XDebug
Thx for that. Absolute times went massively down, but the relative result stays within similar ranges.

After @weierophinney 's notes, is my approach worth any further work?
It obviously contradicts current implementation's simplicity and type safety.
By now I can't imagine a compromise of my approach vs. current implemenation as my approach gains its speed from its admitted dirtiness :smirk:
Otherwise, I'm fine with just closing this issue.

Close it and reopen once you have a better plan of attack.


Feature : Adding axis labels to line chart

Description

I made it so users that create a line chart can specify labels for both axes X and Y and has it draw them on the chart. My changes need an intervention because I couldn't have the margins of the chart successfully increased to fit the two labels. Even though I had access to the margins const in the main function line(), updating it didn't achieve any purpose. The exports(_selection) function in line.js doesn't seem to consider the margins defined in the function line().
Motivation and Context

How Has This Been Tested?
I followed the suggestion in the contributing guide of the project.
I updated the line.spec.js file to add four test to my features

two accessors test, one for each label
one to test the absence of the labels on the chart if the labels aren't specified (default behavior)
one to test the presence of the labels on the chart if they are specified

I ran  : Yarn run test -> all tests are green

Screenshots (if appropriate):
To illustrate the problem with the margins

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

The suggested changes have been implemented. Thank you for the return

Awesome! Thanks a lot!
I will try to find some time this weekend and fix the issue, so that we can merge it.

Merged in #419


Add roads project and example notebook

Summary
This adds the roads example data model as a YAML project as well as a notebook that goes through the process of creating a new user, loading the roads project, validating it, then deploying it. Since we're using the postgres container now, the demo DJ environment starts up as an fresh/empty deployment. Running this notebook deploys the project defined in the YAML files to quickly get the demo environment up and running.
Test Plan
Ran docker compose --profile=demo up and ran the DJ Projects Tutorial.ipynb notebook.

[ ] PR has an associated issue: #
[ ] make check passes
[ ] make test shows 100% unit test coverage

Deployment Plan

"Now I am become YAML, shatterer of worlds."


encourage users to pull template via wasp new

[ ] remove the Use This Template feature on this GitHub repo
[ ] remove mentions of Use This Template in the docs
[ ] add instructions on using wasp new -t saas to docs

We can discuss this more @vincanger , to make sure it is the right move -> it does feel like the right direction to me at the moment, because I think it gives us needed flexibility to both provide best experience for developing open-saas and also best experience for using it, but if you think we are loosing something, I would love to take that into account.

@Martinsos I think youre right, that the easiest path to a clean install is via wasp new so i've updated the docs to inform users to pull the template that way :)

@Martinsos I think youre right, that the easiest path to a clean install is via wasp new so i've updated the docs to inform users to pull the template that way :)

Ok! But we still have the option to make a template out of the repo, what about that?
Also, once we made the decision to do it via wasp new, we can immediately put a bit of work into utilizing that, in the sense that we can remove some redundant files and similar. I would at least make a task for that.


chore(Travis): Try removing --low-resources-mode

GCE-based containers (we use one now) have ~8Gb of Ram and 2 (Burstable) Cores:
https://docs.travis-ci.com/user/reference/overview/#Virtualisation-Environment-vs-Operating-System
We should see if we can remove --low-resources-mode, if possible.

Looks like it works just fine. Will let @jakemac53 and @natebosch give the yay/nay.
(One big difference now is we never run pub run test concurrently with the build system)

LGTM! that is much faster now haha


Add fact check token to preview link for preludial states

Users of Publisher want to provide access to the draft content, even
when its not in the fact check state. Therefore, add the fact check
token to the Preview button link.
As the preview link now includes the token, remove the
fact_check_edition_path function and changes uses of it to use
preview_edition_path.
Alter the model to allow for the generation of the fact check id
regardless of the state.
Note that the Publishing API currently strips the access limited
information when sending published content to the draft content
store. This means that the token won't have any effect, therefore to
avoid confusion, don't include the token if this is the case.
https://trello.com/c/LTxUDSbU/661-enable-preview-links-for-external-users-for-draft-content

Looks good, would be good to poke at in Integration!


Calling SnapKit methods from Objective C classes

Hi Team,

[ √] I have looked at the Documentation
[ √] I have read the F.A.Q.
[ √] I have filled out this issue template.

Info
Value

Platform
iOS

Platform Version
13.3

SnapKit Version
Latest (5.0.1)

Integration Method
Cocoapods

I'm aware of Masonry for Objective C code. But I have a project where we are using some old view controllers with Masonry. We are planning to migrate everything to Swift and changing the dependency frameworks to alternative Swift libraries. Is there a way to call SnapKit methods from Objective C classes? I tried with implementing interface between Objective C code & SnapKit library. My code follows as below.
extension UIView {
func makeDDConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
self.snp.makeConstraints(closure)
}
}
But when I try to add @objc infront of func statement, it showing an error as, "Method cannot be marked @objc because the type of the parameter cannot be represented in Objective-C".
Is there any other alternative options to achieve this? Appreciate any help to solve this.

@krishnadodla afaik no, SnapKit is using types that can't be used in ObjC, that's why the compiler won't let you add @objc annotation.
You have two options:

Keep using Masonry with ObjC code and SnapKit with Swift
Rewrite ObjC code to Swift and use SnapKit there


mMARCO

Dataset Information:
MS MARCO translated into various other languages.
Links to Resources:

https://github.com/unicamp-dl/mMARCO
https://arxiv.org/abs/2108.13897

Dataset ID(s):
One option would be to fit it under the msmarco-passage hierarchy. This namespace is already pretty busy though. And having e.g. msmarco-passage/train/es or msmarco-passage/es/train may make it looks like these are official translations of the dataset (and could cause naming conflict if there are ever alternative translations). So I think a separate hierarchy would be preferred:

mmarco (placeholder)
mmarco/[es|fr|it|...] (docs)
mmarco/[es|fr|it|...]/train (docs, queries, qrels)
mmarco/[es|fr|it|...]/dev (docs, queries, qrels)

Supported Entities

[x] docs
[x] queries
[x] qrels (via msmarco)
[ ] scoreddocs
[ ] docpairs

Additional comments/concerns/ideas/etc.

The above proposal will have a strange consequence of borrowing qrels from a different hierarchy.
mmarco will be ranked above msmarco-[passage|document] in alphabetic lists (and have a shorter ID), perhaps confusing users. Maybe it should be mmarco-passage (solving the latter issue)?

core stuff is there, but...

what about scoreddocs and docpairs? These should be trivial to bring from msmarco-passage, since they are ID-based
what about /[train|dev]/judged /dev/small, /train/split-200-[train|valid], /train/medical?

two of the source files were renamed, updated in https://github.com/allenai/ir_datasets/commit/cfa0faf0751bcae4435958b17af98d14fe94343d

This dataset has been added. Although the source files appear to be renamed from time to time, I think I can close this issue and add the GH action identifies that they've moved.


EAS Update failing

Build/Submit details page URL
https://expo.dev/accounts/adherb/projects/parkiq-native/builds/39c0f07d-0114-451c-b93d-10f94b2b4d28
Summary
I have built a project for internal distribution using:
eas build --profile preview --platform ios
When I try and update the build I get errors:
eas update --branch preview --message "Updating the app"
Managed or bare?
Managed
Environment
✔ Check package.json for common issues
✔ Validate global prerequisites versions
✔ Validate Expo Config
✔ Check compatible dependency versions for the installed Expo SDK
✔ Check for conflicting global packages in project
✔ Check for incompatible packages
✔ Verify prebuild support package versions are compatible
Didn't find any issues with the project!
Error output
expo-cli] Starting Metro Bundler
[expo-cli]
[expo-cli] Web Bundling failed 15841ms
[expo-cli]
[expo-cli] Error: Unable to resolve module ../Utilities/Platform from /Users/adamherbert/Documents/GitHub/beeper-native/node_modules/react-native/Libraries/ReactPrivate/ReactNativePrivateInterface.js:
[expo-cli]
[expo-cli] None of these files exist:
[expo-cli]   * node_modules/react-native/Libraries/Utilities/Platform(.native|.web.ts|.native.ts|.ts|.web.tsx|.native.tsx|.tsx|.web.js|.native.js|.js|.web.jsx|.native.jsx|.jsx|.web.json|.native.json|.json)
[expo-cli]   * node_modules/react-native/Libraries/Utilities/Platform/index(.native|.web.ts|.native.ts|.ts|.web.tsx|.native.tsx|.tsx|.web.js|.native.js|.js|.web.jsx|.native.jsx|.jsx|.web.json|.native.json|.json)
[expo-cli]   22 | import typeof deepFreezeAndThrowOnMutationInDev from '../Utilities/deepFreezeAndThrowOnMutationInDev';
[expo-cli]   23 | import typeof deepDiffer from '../Utilities/differ/deepDiffer';
[expo-cli] > 24 | import typeof Platform from '../Utilities/Platform';
[expo-cli]      |                              ^
[expo-cli]   25 |
[expo-cli]   26 | import {type DangerouslyImpreciseStyleProp} from '../StyleSheet/StyleSheet';
[expo-cli]   27 |
[expo-cli] Error: Unable to resolve module ../Utilities/Platform from /Users/adamherbert/Documents/GitHub/beeper-native/node_modules/react-native/Libraries/ReactPrivate/ReactNativePrivateInterface.js:
[expo-cli]
[expo-cli] None of these files exist:
[expo-cli]   * node_modules/react-native/Libraries/Utilities/Platform(.native|.web.ts|.native.ts|.ts|.web.tsx|.native.tsx|.tsx|.web.js|.native.js|.js|.web.jsx|.native.jsx|.jsx|.web.json|.native.json|.json)
[expo-cli]   * node_modules/react-native/Libraries/Utilities/Platform/index(.native|.web.ts|.native.ts|.ts|.web.tsx|.native.tsx|.tsx|.web.js|.native.js|.js|.web.jsx|.native.jsx|.jsx|.web.json|.native.json|.json)
[expo-cli]   22 | import typeof deepFreezeAndThrowOnMutationInDev from '../Utilities/deepFreezeAndThrowOnMutationInDev';
[expo-cli]   23 | import typeof deepDiffer from '../Utilities/differ/deepDiffer';
[expo-cli] > 24 | import typeof Platform from '../Utilities/Platform';
[expo-cli]      |                              ^
[expo-cli]   25 |
[expo-cli]   26 | import {type DangerouslyImpreciseStyleProp} from '../StyleSheet/StyleSheet';
[expo-cli]   27 |
[expo-cli]     at ModuleResolver.resolveDependency (/Users/adamherbert/Documents/GitHub/beeper-native/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:114:15)
[expo-cli]     at DependencyGraph.resolveDependency (/Users/adamherbert/Documents/GitHub/beeper-native/node_modules/metro/src/node-haste/DependencyGraph.js:277:43)
[expo-cli]     at Object.resolve (/Users/adamherbert/Documents/GitHub/beeper-native/node_modules/metro/src/lib/transformHelpers.js:169:21)
[expo-cli]     at Graph._resolveDependencies (/Users/adamherbert/Documents/GitHub/beeper-native/node_modules/metro/src/DeltaBundler/Graph.js:473:35)
[expo-cli]     at Graph._processModule (/Users/adamherbert/Documents/GitHub/beeper-native/node_modules/metro/src/DeltaBundler/Graph.js:261:38)
[expo-cli]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[expo-cli]     at async Graph._addDependency (/Users/adamherbert/Documents/GitHub/beeper-native/node_modules/metro/src/DeltaBundler/Graph.js:372:20)
[expo-cli]     at async Promise.all (index 0)
[expo-cli]     at async Graph._processModule (/Users/adamherbert/Documents/GitHub/beeper-native/node_modules/metro/src/DeltaBundler/Graph.js:322:5)
[expo-cli]     at async Graph._addDependency (/Users/adamherbert/Documents/GitHub/beeper-native/node_modules/metro/src/DeltaBundler/Graph.js:372:20)
✖ Export failed
Reproducible demo or steps to reproduce from a blank project
Create an expo project.
In eas.json add a previre channel.
Build the project using - eas build --profile preview --platform ios
Update the project using:
eas update --branch preview --message "Updating the app"
This is where the error occurs.


⚠ Bofrost.at has degraded performance

In 2d55541, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1656 ms

Resolved: Bofrost.at performance has improved in 303641f after 13 minutes.


Add / update front-end linting

Reinstate ESLint
Move all react JS files to JSX for linter
Update webpack to resolve both JSX and JS files
Add some handy ESLint rules

Have you manually tested the main UI flows, e.g. branch page, workbench and uploading a screenshot?
Feel free to resolve this comment yourself if that's already been done, there's no automated UI tests so we will need to manually verify that this doesn't introduce an issue somewhere (I'm thinking of the file name changes from .js to .jsx as a potential source of a problem)


Moved PluginManager into Core

Description
Please describe your pull request:

Why is it necessary?
It makes no sense, that the plugin manager is a own plugin :). It should be in core
What does it improve?
Moves the plugin manager in the core code
Does it have side effects?
Nope

Questions
Answers

BC breaks?
no

Tests pass?
yes

Related tickets?

How to test?

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-18140.
Please use this issue to track the state of your pull request.

We decided to close this PR because of time constraints and limited overall benefit to the product. If this change is still important to you, please create a new issue on https://issues.shopware.com so people can up-vote this feature.
For more information about our contribution guidelines, see https://developers.shopware.com/contributing/contribution-guideline/.


Getting c.outlet is not a function error in 1.6.14,1.7 and in few other versions

Describe the bug
I have a web app that has solidjs: 1.6.14 and "solid-app-router": "^0.3.2".  On opening the website in a webview in a react-native application, i am getting the error
c.outlet is not a function
How is this a solid-js issue ?
This error i was getting in 1.7.0, 1.6.15. When i downgraded the version to 1.5.x the error was changing ws is not a function, No is not a function.
It is working fine in dev/build environment in web, but it shows error while opening in webview.
Steps to Reproduce the Bug or Issue

Create a web app using solid-js: 1.6.15
Try opening it in a webview
Inspect this page (chrome://inspect)
In console we get this error

Expected behavior
The web app breaks and does not render. This should work fine irrespective where it is opened.
Screenshots or Videos

Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
In version 1.4.8 it is not happening but in 1.7.0 it is definitely there.

Yeah the bug is with the router which is a much older version. I didn't find it because there was a bunch any typecasting until much later. solid-app-router has been deprecated and replaced with @solidjs/router. Update to the latest version of the router and you should be fine.


Using YouTube json instead of scraping

https://m.youtube.com/results?search_query=[query]&app=m
returns search results in json. Maybe using those results would be better than using bs4 (or regex) on the HTML results returned for a normal search (https://www.youtube.com/results?search_query=[query]&app=desktop).
Pagination might be an issue - how to get the next page for m.youtube.com results?

@natumbri: You can get the title and id without downloading the page for each result with this:
youtube_dl.YoutubeDL().extract_info('ytsearch50:python', download=False, process=False)

Takes about 2 seconds for me. Unfortunately, it doesn't include the duration of the videos or any other metadata apart from the title and id.

Pagination might be an issue - how to get the next page for m.youtube.com results?

I tried looking a bit into this, and I'm not sure it's feasible. Requests to get subsequent pages include a ctoken parameter, which isn't simply a value provided in the initial request like a normal pagination token. It is generated somehow, and must include both the search term and which page to fetch, as this info isn't provided elsewhere in the request. I don't see how we can figure out how to generate this token (unless we reverse engineer the javascript code for m.youtube.com).

Sometimes the result back from YouTube doesn't include the HTML that we're looking for, but does include json that is similar to - but not the same as - the json that is returned by m.youtube.com/results.  So now, if there is nothing in the BS4 soup, it falls back to japi to see if it can find something that way.
But I'm not going to develop a version that relies on m.youtube.com/results, so I'm closing this issue.

You should really think about using youtube-dl because it removes a lot of maintenance work keeping up with youtube.

@SuperSandro2000 yeah, I think you are right - I just have to get motivated to switch it over.  Maybe one day...


Mounting FUSE should be possible with Docker Swarm Mode

Description
I'd like to mount filesystem using FUSE inside container when it starts, but this doesn't seem to be possible in Docker Swarm Mode.
In particular, I want to mount ceph-fuse.
Ideally, following should work (it actually works with version: '2' after scaling Ceph's nodes to 3+ instances):
# docker-compose.yml
version: '3.1'
services:
  consul:
    image: nazarpc/webserver:consul
    restart: always

  ceph-mon:
    image: nazarpc/webserver:ceph
    command: mon
    restart: always

  ceph-osd:
    image: nazarpc/webserver:ceph
    command: osd
    restart: always

  ceph-mds:
    image: nazarpc/webserver:ceph
    command: mds
    restart: always

  nginx:
    image: nazarpc/webserver:nginx
    restart: always
    environment:
      CEPHFS_MOUNT: 1
# In order to access FUSE
    devices:
      - /dev/fuse:/dev/fuse
# In order to mount CEPHFS
    cap_add:
      - SYS_ADMIN

However, both devices and cap_add are not allowed with v3 of docker-compose.yml file format, which in turn seems to be limited by Docker Engine itself.
Steps to reproduce the issue:

Mount ceph-fuse in container running with Docker Swarm Mode

Describe the results you received:
Mounting fails
Describe the results you expected:
Mounting should be possible somehow
Output of docker version:
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:57:21 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:57:21 2017
 OS/Arch:      linux/amd64
 Experimental: false

Output of docker info:
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 28
Server Version: 1.13.1
Storage Driver: btrfs
 Build Version: Btrfs v4.7.3
 Library Version: 101
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.10.0-8-generic
Operating System: Ubuntu Zesty Zapus (development branch)
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 15.57 GiB
Name: nazar-pc
ID: 3RNU:FHWJ:O265:QXAO:Y276:CZXJ:Z3XR:LP6O:POQW:MRRC:PK44:BP2K
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Just to clarify a little bit on what I'm trying to achieve: the goal is to have distributed storage implemented inside of containers that doesn't need privileged access to Docker Engine and doesn't need basically any manual configuration in simplest cases besides generic declarative docker-compose.yml.
I've seen Infinit acquisition, but it is not integrated deeply and as easy to use as overlay for networking yet.

It might be easier to use a volume plugin, eg see the example sshfs fused based volume plugin here https://github.com/vieux/docker-volume-sshfs as an example, writing a ceph plugin should be fairly simple.
Adding device support is on the roadmap see the functionality parity issue for details https://github.com/docker/docker/issues/25303

It is not easier to use volume plugin, since Ceph needs to be configured upfront manually and is not a part of services declaration in contrast to simple docker-compose up -d.
Writing and maintaining custom plugin is not easy too, especially for someone who doesn't know the Go language.
Do you think this issue should be closed in favor of generic --devices and --cap_add service options support you've linked?

@nazar-pc I think you will find that writing a volume plugin is much easier. They do not need to be written in Go, they just communicate over a socket. This is exactly the use case they are designed for. You just need to do docker plugin install to install them and then your compose yaml file can just specify that you want to use the ceph volume driver.
If you use the method you suggest you are granting cap_sys_admin to all services, which is almost the same as --privileged.

Yes, let's close this in favor of https://github.com/docker/docker/issues/25885, and https://github.com/docker/docker/issues/25303, which are already tracking the requirements


Brute force solution for problem 4

Works for both the example and the actual problem

Codecov Report

Merging #7 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master     #7   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           5      6    +1
  Lines         101    110    +9
=====================================
+ Hits          101    110    +9

Impacted Files
Coverage Δ

code/problem4.py
100% <100%> (ø)

code/test.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


"Malaia " , "Ciungetu " , "Săliștea" are listed in the drop-down menu

The villages are listed in the drop-down menu alongside its corresponding county and city, according to the law
Preconditions : the  website is up and runing. After every step delete the text you typed from the search bar.

Step 1
Write in the search bar "Malaia "

Expected results
The location appears in the drop-down menu as "Sat Malaia , VÂLCEA (Malaia )"

Step 2
Write in the search bar "Ciungetu "

Expected results
The location appears in the drop-down menu as "Sat Ciungetu , VÂLCEA (Malaia )"

Step 3
Write in the search bar "Săliștea"

Expected results
The location appears in the drop-down menu as "Sat Săliștea, VÂLCEA (Malaia )"


Feature/88 tooltip, only merge when new Geppetto Meta is released

https://github.com/MetaCell/geppetto-NeuroSCAN/pull/171


Adding a separate script for EU region and fixing a typo in dashboard

@ricegi and @bpschmitt may I pls. ask you to review my suggested changes. Thanks!


Test and trail on github master to main switching feature

https://github.com/github/renaming
Follow the guidance and test each feature.
Repo to test:
https://github.com/sima-zhu/azure-sdk-for-java

Renaming the branch: master to main

Open PR is able to retarget to main:

Closed the issue as the job has done already