weightedAvg throws "index out of bounds" exception

When weightedAvg is called on an empty vector the following exception is thrown:
> import Statistics.Quantile as Q
> import Data.Vector as V
> Q.weightedAvg $ V.fromList []
 *** Exception: ./Data/Vector/Generic.hs:235 ((!)): index out of bounds (-1,0)

Unfortunately most input errors seem to be handling with exceptions. To be nice to the user, the error could be made more explicit:
> import Statistics.Quantile as Q
> import Data.Vector as V
> Q.weightedAvg $ V.fromList []
 *** Exception: Statistics.Quantile.weightedAvg: Sample is empty

mean and welfordMean return NaN and 0 resp. on empty input. Would that be a solution? Either way, it would be good to document which parameters can be used such that the user can be extra careful.

I agree library function should not throw out of bounds access errors. They aren't more helpful than dreaded Prelude.head: empty list.
Situation with mean is little trickier. Mean is not defined for empty sample so we have to either throw error for empty sample or wrap result in Maybe or add define result for empty sample. Both mean and welfordMean are defined in terms of left fold so there's base case for empty sample and it happens to be NaN and 0 respectively.

Same applies for quantiles, they're not defined for an empty input. I guess the ideal solution would indeed be to wrap everything in Maybes, or provide an alternative package/module like safe to avoid breaking compatibility. Though I believe that a meaningful error message is already an improvement over the current behavior. Feel free to close this if it's satisfactory.

I'm closing this in favor of #100. Problem with weightedAvg is fixed and other issue is more general


proposal: work on branches from main repo rather than forks

It looks like we'll be using a development model where we have new features (new viz tools, new downstream analysis, etc) as a pull request that then need to get integrated into the pipeline. That means the current workflow to test a PR is:

checkout a new branch in my own fork
pull the changes from the PR to be checked
make any changes to get things running
commit those changes to the branch on my own (or on clone of original repo)
submit the combination of original PR and the additional changes as another PR
merge that combined PR into master

In my experience (and as discussed here), for small teams like us where members all have developer access, it's a lot easier to work on branches off the main repo rather than a fork. That way, the workflow becomes:

checkout the feature branch
make any changes to get things running
push changes directly to the feature branch
merge when ready

Extra benefits: discussion and any relevant commits show up on the same PR page, and anyone can push changes to the branch to get it working.
So I propose we each clone the main repo and create feature branches for our work to be submitted as a PR, rather than forking to our own accounts.
Thoughts?

Whoops! Missed this entirely. will try and remember to do this going forward. Thanks!

Closing issue. I'm going to try and do all future dev on branches of the main repo.


the dev branch does not compile in MinGW

The following error message is generated:
C:/git/openfhe-development/src/core/lib/utils/get-call-stack.cpp:94:26: error: declaration of 'std::vector<std::__cxx11::basic_string<char> > get_call_stack()' has a different exception specifier
   94 | std::vector<std::string> get_call_stack() {
      |                          ^~~~~~~~~~~~~~
In file included from C:/git/openfhe-development/src/core/lib/utils/get-call-stack.cpp:31:
C:/git/openfhe-development/src/core/include/utils/get-call-stack.h:42:26: note: from previous declaration 'std::vector<std::__cxx11::basic_string<char> > get_call_stack() noexcept'
   42 | std::vector<std::string> get_call_stack() noexcept;
      |                          ^~~~~~~~~~~~~~
[ 14%] Building CXX object src/core/CMakeFiles/coreobj.dir/lib/utils/openfhebase64.cpp.obj
make[2]: *** [src/core/CMakeFiles/coreobj.dir/build.make:467: src/core/CMakeFiles/coreobj.dir/lib/utils/get-call-stack.cpp.obj] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 14%] Linking CXX static library ../../../lib/libbenchmark.a
[ 14%] Built target benchmark
make[1]: *** [CMakeFiles/Makefile2:603: src/core/CMakeFiles/coreobj.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Superseded by #812


All links from the header should be accessible

Description: You must check if all the links from the header work correctly and if you are redirected to the related section.
Precondition: The website is up and running

Step 1: Check if "Misiunea noastră" link works.
Expected result: The link should work.

Step 2: Check if "Cum poți ajuta tu?" link works.
Expected result: The link should work.

Step 3: Check if "De ce să ajuți?" link works.
Expected result: The link should work.

Step 1: Check if "Echipa" link works.
Expected result: The link should work.

Step 5: Check if "Alătură-te" button works.
Expected result: The button should work.


Use default locale.

Description
Additional small pr to use laravel localization in the backend.
Related Issues

@ifox this pr changes to not use the custom locale, this seems to work fine as the locale is only set in the twill locale middleware.
But I might overlook some things. any input?

Hey @ifox,
Maybe we can add this to 3.x? If you have any consideration before we do, I am happy to look into it.


community[minor]: add FirestoreVectorStore

Implements #5289

For a community contribution, I imagine what is also needed are

peer dependencies in package.json
documentation somewhere

I'd welcome guidance or contribution on this, as well as the code itself.
In the mean the code is working as-is when used in a local project of mine

For my reference mainly, #655 seems a good PR to compare against what needs to be done


Updating how to troubleshooting recommendation

Removing this paragraph as this tool and portal has been deprecated - confirmed with feature team that a new functionality will be added for this in the Azure portal.
Removing this reference to avoid any confusion.

@CosminGuliman-MSFT : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@billmath for review
Thanks.

The article has been substantially updated since this PR was created, and the target content no longer exists. I'll close now. Thanks!


Will Accept Monero for Printed Goods.

500 Business Cards for 1
1,000 Business Cards for 1.5
All manner of business forms, envelopes, copies, large format banners, you name it. Contact<EMAIL_ADDRESS>

If you have a website then that can be linked on the 'merchants' page but otherwise there isn't really a place for "flyer" type posts

Website will be up within 2 to 3 weeks full shopping cart environment
Monero capable at www.mycopycorner.com
On Aug 9, 2017 3:25 PM, "cryptochangements34"<EMAIL_ADDRESS>wrote:

If you have a website then that can be linked on the 'merchants' page but
otherwise there isn't really a place for "flyer" type posts
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/monero-project/monero-site/issues/346#issuecomment-321398361,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AcaBTmXi71lYlNn914VPEEIwi9qvzhRiks5sWjHTgaJpZM4Ov0yw
.

ok cool. Leave a comment here once the site is up and running, then it will be added ;)

@thesyndicated your website still doesn't seem to be up

No, right now everything is on fire so the website is not accessible.
On Oct 15, 2017 1:17 PM, "mattcode55"<EMAIL_ADDRESS>wrote:

@thesyndicated https://github.com/thesyndicated your website still
doesn't seem to be up
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/monero-project/monero-site/issues/346#issuecomment-336738331,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AcaBTuYXWFU17x8Gx3EJLvV67rsrFE1iks5ssmg8gaJpZM4Ov0yw
.

@thesyndicated Ping.
+merchant

@thesyndicated please respond soon, if not, this issue should be closed.

@rehrar I think there's been sufficient time for him to respond. We should just mark as stale and issue-bot will close it. If anyone disagrees they can say so and we can re-open it.

Yes, my apologies for not responding. I have inherited a lot of problems at
this job. We are rolling our office over from a microsoft environment to a
linux environment post fires up here in norcal. The website has been
sidelined as a project financially so we are currently accepting monero in
our store front with limited takers. I will be sure to post another request
to be added to your list of vendors when the webcart project is developed
to a workable mature state.
Regards
-Mark
On Feb 12, 2018 10:56 PM, "Mike Justman"<EMAIL_ADDRESS>wrote:

@rehrar https://github.com/rehrar I think there's been sufficient time
for him to respond. We should just mark as stale and issue-bot will close
it. If anyone disagrees they can say so and we can re-open it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/monero-project/monero-site/issues/346#issuecomment-365168566,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AcaBTjBywakP-XpWxM0jaFPIPeC0myMDks5tUTIrgaJpZM4Ov0yw
.

@thesyndicated Thanks for your quick reply. I'll go ahead and close the Issue. You're definitely welcome to open a new request when it's functional.
(Closing as stale since resolved doesn't seem appropriate given that it's still not added.)
+stale


Swagger generates string for a byte array in object, missing format "byte"

It appears that the problem is in SchemaRegistry.CreatePrimitiveSchema. The full type name for a byte array is "System.Byte[]" but it is compared against "System.Byte" which does not match and therefore creates the wrong schema.

See Nuget 5.3.2


Unable to write from csv to parquet + register glue after 0.0.2

i am having issue when writing data consists of null to parquet.
Following error message is returned:

f"Unsupported Pyarrow type for column {name}: {dtype}")
awswrangler.exceptions.UnsupportedType: Unsupported Pyarrow type for column xxxxxxx: null

The same code work fine in version 0.0.2.

@BellyTheMagnificent
That was deliberated and the reason is because Pandas has a too generic "data type" named object. Pandas object columns can be string, dates, etc, etc.
We can handle this object column fine inferring the types of theses objects inside the values, Pyarrow does that like a charm.
So the real problem starts when we have a completely empty object column, because we don't have anything to infer.
Before 0.0.3 we were simply considering all object columns as string on Athena and this isn't the best approach. From 0.0.3 and beyond we are inferring from the columns values and throwing a exception in case of a completely null column.
To work with empty object columns you can explicitly set the expected Athena data type for the target table doing:
import awswrangler
import pandas as pd

dataframe = pd.DataFrame({
    "col": [1, 2],
    "col_string_null": [None, None],
    "col_date_null": [None, None],
})
session.pandas.to_parquet(
    dataframe=dataframe,
    database="DATABASE",
    path=f"s3://...",
    cast_columns={
      "col_string_null": "string",
      "col_date_null": "date"
    })

Btw, I will also improve the documentation and the exception message to help others.

Thank you for the explanation. I have upgrade the module to 0.0.9 and use the function awswrangler.data_types.pandas2athena() to generate dict for cast_columns. However it now appears to have new error below:
ol_index = table.column_names.index(col_name) ValueError: 'XXXXX' is not in list
The code can work if it is in 0.0.2
I tried remove partition_cols and it work. The issue could due to the partition column is not part dataframe index column?


Cache is not deleted when switching to kit with different target arch, but same host arch

Brief Issue Summary
The cache is not deleted when switching to a kit with a different target arch, but the same host arch. It results in error during building:
[cmake] CMake Error: Error: generator platform: win32
[cmake] Does not match the platform used previously: x64
[cmake] Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.

I detailed this in the Additional Info section.
If logs are still needed, let me know. I'll add them.
CMake Tools Diagnostics
No response
Debug Log
No response
Additional Information
I want to compile an MSVC project for x86 and x64. I do switch target arch by switching the kit in CMake Tools Statusbar:

As you can see, there are 4 compilers/kits available:

C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.33.31629/bin/Hostx64/x64/cl.exe
C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.33.31629/bin/Hostx64/x86/cl.exe
C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.33.31629/bin/Hostx86/x86/cl.exe
C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.33.31629/bin/Hostx86/x64/cl.exe

The host arch is tagged with a green line in the picture, and the target arch is tagged with a cyan line.
When I switch between the kits with the different host arch, CMake Cache gets removed.
Example of switching from kit 1 to kit 3 (after successful build on kit 1):
[driver] Switching to kit: Visual Studio Enterprise 2022 Release - x86
[visual-studio] Patch Windows SDK path from C:\Program Files (x86)\Windows Kits\10\bin\x86 to C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86 for C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
[driver] Removing d:/Lab/_repos/MemoryPEInjector/build/CMakeCache.txt
[driver] Removing d:\Lab\_repos\MemoryPEInjector\build\CMakeFiles

Then on the build, CMake configures the folder and successfully builds an exe.
But when switching kits with the same host arch, CMake doesn't remove the Cache.
Example of switching from kit 1 to kit 2 (after successful build on kit 1):
[driver] Switching to kit: Visual Studio Enterprise 2022 Release - amd64_x86
[visual-studio] Patch Windows SDK path from C:\Program Files (x86)\Windows Kits\10\bin\x64 to C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64 for C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat

As you can see it lacks Removing Cache lines.
Then on the build, CMake tries to configure the folder, but fails:
[cmake] CMake Error: Error: generator platform: win32
[cmake] Does not match the platform used previously: x64
[cmake] Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.

To fix that I have to execute in command palette >CMake: Delete Cache and Reconfigure. Only after this, I can successfully build with the new kit selected.
Expected behavior:
Remove the Cache when the target arch is switched.
Albeit, I don't know if the Cache removal is necessary when only the host arch is switched (current behavior), i.e [kit 1] ↔ [kit 4] or [kit 2] ↔ [kit 3]. Maybe it's ok to not remove the Cache in this situation. Maybe it was intended behavior, but someone messed that up and set Cache removal on host arch switching instead of target arch switching?

Thank you for reporting this issue. We may not be able to get to this issue immediately, however, we accept PRs from the community.
This is the place in code that needs to include the target architecture.
https://github.com/microsoft/vscode-cmake-tools/blob/86a48bf30dc449178fd63c7d5458f2807fdbbc16/src/kit.ts#L1220-L1226

hey @TishSerg This issue should now be fixed in pre-release. If possible try it out and let me know if it works for you :)

Verified on CMake Tools v1.18.43(pre-release), this issue was fixed: switching from kit 1 to kit 2 (after successful build on kit 1), CMake Cache gets removed.

@Ashley-Li Thanks for confirming!


Translated Misskey Hub to Polish

Pull Request description
Translated pretty much everything that was in the English version of the documentation to Polish(PL):
Things translated

Features,
Admin docs
API info
Main page

Pretty much all.
I hope it gets revived positively and merged into main repository. 😅 😀

noticed couple mistakes. lemme fix them


Can't I use it on app that is summited to Apple App store?

Swift version now is 1.3

Yup, README was updated to reflect this a while ago. https://github.com/KyleGoddard/KGFloatingDrawer/commit/888bd62e3ceb7b193368a26a416eea4b31e3ba3e


Upgrade django-auth-ldap to latest version

Upgrading django-auth-ldap to 1.5.0 will produce the following error while running ./tools/test-backend
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.4/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/lib/python3.4/unittest/case.py", line 577, in run
    testMethod()
  File "/srv/zulip-py3-venv/lib/python3.4/site-packages/django/test/utils.py", line 384, in inner
    return func(*args, **kwargs)
  File "/home/circleci/zulip/zerver/tests/test_auth_backends.py", line 2366, in test_non_existing_realm
    self.assertEqual(response.url, reverse('ldap_error_realm_is_none'))
  File "/usr/lib/python3.4/unittest/case.py", line 797, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib/python3.4/unittest/case.py", line 1170, in assertMultiLineEqual
    self.fail(self._formatMessage(msg, standardMsg))
  File "/usr/lib/python3.4/unittest/case.py", line 642, in fail
    raise self.failureException(msg)
AssertionError: '/' != '/config-error/ldap'
- /
+ /config-error/ldap

interesting; @umairwaheed can you investigate this one?

Yep.

Working on this.


i3lock-color: 2.11-c -> 2.12.c

Motivation for this change
Note the change in naming scheme, this is intentional
(https://github.com/PandorasFox/i3lock-color/issues/92)
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: i3lock-color
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: i3lock-color
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/f71ag753hfvykrnc508xhdai28zp2m0v-i3lock-color-2.12.c
shrinking /nix/store/f71ag753hfvykrnc508xhdai28zp2m0v-i3lock-color-2.12.c/bin/i3lock-color
gzipping man pages under /nix/store/f71ag753hfvykrnc508xhdai28zp2m0v-i3lock-color-2.12.c/share/man/
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/f71ag753hfvykrnc508xhdai28zp2m0v-i3lock-color-2.12.c/bin
patching script interpreter paths in /nix/store/f71ag753hfvykrnc508xhdai28zp2m0v-i3lock-color-2.12.c
checking for references to /build in /nix/store/f71ag753hfvykrnc508xhdai28zp2m0v-i3lock-color-2.12.c...
/nix/store/f71ag753hfvykrnc508xhdai28zp2m0v-i3lock-color-2.12.c

let's check darwin
@GrahamcOfBorg build i3lock-color i3lock-fancy

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: i3lock-color, i3lock-fancy
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-darwin (full log)
Attempted: i3lock-color
The following builds were skipped because they don't evaluate on x86_64-darwin: i3lock-fancy
Partial log (click to expand)
 /nix/store/zyyw7qxpj1yri8xdasbm68ix3hwmly85-coreutils-8.30/bin/install -c -m 644 ../../source/pam/i3lock '/nix/store/d5k91z5bbvxjh30d5vp8qn4z3acbnydg-i3lock-color-2.12.c/etc/pam.d'
make[2]: Leaving directory '/private/tmp/nix-build-i3lock-color-2.12.c.drv-0/source/x86_64-apple-darwin17.6.0'
make[1]: Leaving directory '/private/tmp/nix-build-i3lock-color-2.12.c.drv-0/source/x86_64-apple-darwin17.6.0'
glibPreFixupPhase
post-installation fixup
gzipping man pages under /nix/store/d5k91z5bbvxjh30d5vp8qn4z3acbnydg-i3lock-color-2.12.c/share/man/
strip is /nix/store/9xjkb4xz0b5lmizij9ppxy7lkxdxhx6b-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/d5k91z5bbvxjh30d5vp8qn4z3acbnydg-i3lock-color-2.12.c/bin
patching script interpreter paths in /nix/store/d5k91z5bbvxjh30d5vp8qn4z3acbnydg-i3lock-color-2.12.c
/nix/store/d5k91z5bbvxjh30d5vp8qn4z3acbnydg-i3lock-color-2.12.c

Success on x86_64-linux (full log)
Attempted: i3lock-color, i3lock-fancy
Partial log (click to expand)
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/rg98lkr6kjfiff1nj2b43b6krm1bpvp7-i3lock-fancy-unstable-2017-12-14_rev3734fba
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/rg98lkr6kjfiff1nj2b43b6krm1bpvp7-i3lock-fancy-unstable-2017-12-14_rev3734fba/bin
patching script interpreter paths in /nix/store/rg98lkr6kjfiff1nj2b43b6krm1bpvp7-i3lock-fancy-unstable-2017-12-14_rev3734fba
/nix/store/rg98lkr6kjfiff1nj2b43b6krm1bpvp7-i3lock-fancy-unstable-2017-12-14_rev3734fba/bin/i3lock-fancy: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/nii7pk6pv4x4as7vsxbvwyzjn67vax6r-bash-4.4-p23/bin/bash"
checking for references to /build in /nix/store/rg98lkr6kjfiff1nj2b43b6krm1bpvp7-i3lock-fancy-unstable-2017-12-14_rev3734fba...
/nix/store/f71ag753hfvykrnc508xhdai28zp2m0v-i3lock-color-2.12.c
/nix/store/rg98lkr6kjfiff1nj2b43b6krm1bpvp7-i3lock-fancy-unstable-2017-12-14_rev3734fba


Improve CMake/IAR support

coverage: 99.279%. remained the same
when pulling c9d4426b67020cd6cacbbcb4182ba1cb61a36c20 on thetic:iar
into 8279e909311ef19cc9edb22e0403696639c606d9 on cpputest:master.


[com.adobe.fonts/check/varfont/same_size_instance_records] fails when no instance records are present

Observed behaviour
An OTVAR without instance records in fvar makes the check FAIL.
Expected behaviour
fvar can be without instance records according to https://learn.microsoft.com/en-us/typography/opentype/spec/fvar#instancerecord (scroll to the note at the end), and this check should at most return WARN or (preferably) SKIP in such cases.
Resources and exact process needed to replicate
test_no_instance_records.ttf.zip

At some point this was fixed, we now get:
    SKIP Font has no instance records. [code: no-instance-records]


allows blobPath to be customized

Thanks for the PR. It adds some good functionality. Any reason for the change to targeting ES6 and Node 7? I think it might make more sense to still target ES5 and node 6 for compatibility purposes.

Thanks for having this library, it saves me some time.
I have another iteration to keeps the dependency level, also document the connectionString.
It has been verified in my project.

Thanks, let me know when you plan to publish to npm, so I can just npm reference instead of check in to my other project.


[TW#27966] ios devices not showing bluetooth advertisement (ble_adv example code is used for testing)

INSTRUCTIONS
Before submitting a new issue, please follow the checklist and try to find the answer.

[ x] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[x ] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[x ] I have searched the issue tracker for a similar issue and not found a similar issue.

Environment

Development Kit:      [ESP32-Wrover-Kit
Kit version (for WroverKit
Module or chip used:  [|ESP32-WROOM-32D
IDF version (run git describe --tags to find it): ESP-IDF v3.0-dirty 2nd stage bootloader
Build System:         [Make]
Compiler version (run xtensa-esp32-elf-gcc --version to find it):crosstool-NG crosstool-ng-1.22.0-80-g6c4433a5) 5.2.0
Operating System:     [Windows]
Power Supply:         [external 5V]

Problem Description
The Bluetooth advertisement of the device is not  in ios mobile, where as on android it works fine.
//Detailed problem description goes here.
The Bluetooth advertisement is visible on android devices but it just don't work on ios devices. On the same ios device if we use nRF connect app then we can see the device's Bluetooth advertisement. I am not getting what's wrong with ios devices why it is not showing Bluetooth advertisement.
Expected Behavior
The Bluetooth advertisement should be visible in list of available Bluetooth devices.
Actual Behavior
On the ios devices the Bluetooth advertisement is not visible.
Steps to repropduce

step1: Build ble_adv code given in example code of esp-idf
Turn on mobile Bluetooth and see available devices.
In android under list of available devices it shows ESP-BLE-HELLO but whereas in ios it is not listed.

@sjoteppagol, you can use nrf connect app or lightblue APP to show adv. iOS does not display BLE adv in Bluetooth settings.

@Weijian-Espressif  Thank you.
Closing this thread.


Move tests into a sub namespace of TelegramBot

Having looked at many other libraries and learning more about unit testing, I think it would make sense to move the tests into a dedicated sub namespace of the TelegramBot namespace, namely: Longman\TelegramBot\Tests.
The folder structure would then become: tests/TelegramBot/Tests
This would make the test structure cleaner and more obvious.
What do you guys think?
@akalongman @MBoretto @jacklul

Go ahead


Transfer Activity Part 1: URI Separator

This is the first part of getting the transfer activity implemented see the stale branch if you want to know the other parts.
The goal here is to generate an URI class that will handle all the URI types, they should be supportable from the uri prefix, each plugin that needs its own will implement its own uri_separator as is appropriate. https://github.com/ORNL/zambeze/pull/44
Estimated time to complete: 8 h
Checklist:
[ ] - UML Diagram
[ ] - Tests written
[ ] - Classes built


result of falling into importer counter rabbit hole.

In the process of checking out odd stats (deleted documents in ES). I ended up falling into a deep rabbit hole.  Tried calling "create" instead of "index".
Many of the changes are paranoia, and are explicit handling (counting, logging, quarantine) of improbable situations.
Using StoryWorker.incr_stories guarantees all stories are logged with status and URL.
If nothing else (and we don't merge this), it's worth reading both versions of the code as an audit.

@rahulb -- yes, you might lack familiarity with the code, but your
knowledge of the intended source, semantics and use of the metadata
fields is definitive!


fix/feat: Change the existing Add<...> impls

Implementing Add<CompactString> for String breaks String + &String, as long as compact_str is used somewhere in your current crate. Specifically this code won't compile:
use compact_str;

fn main() {
  println!("{}", "Hello".to_string() + &(" World".to_string()));
}

This isn't good! This has to do with Rust's current trait resolver and is a known issue https://github.com/rust-lang/rust/issues/77143
To fix this, we remove impl Add<CompactString> for String. You can still add CompactString to String, you just need to take a reference to it, then the impl Add<&str> for String kicks in.
We also remove a lot of impl Add<...> for CompactString, leaving just impl Add<&str> for CompactString, which allows us to add more string types than we currently can, e.g. &Box<str> and &Cow<str>. This is because the compiler auto derefs these types to &str and uses that impl

Note: these Add<...> impls were first available on v0.4.0. This fix has been back ported to:

v0.4.0 -> v0.4.1
v0.5.0 -> v0.5.1

Technically this was a breaking change because you can no longer add a String to a CompactString, but to fix it all you need to do is take a reference, e.g. make it &String. IMO this small change is worth it to prevent the bug, where importing compact_str can break other String + operations, even if they don't use CompactString at all themselves.


Model consumes too much computing resources.

Hello ESM team,
I really appreciate you sharing the code for protein language modeling.
However I can not use the model esm1_t6_43M_UR50S which has the least params, whatever I use gpu or cpu.
My machine has 32g of memory, and the graphics card 1080ti with 11g video memory.
Only when batch size is set to 4 I can get it to work normally, is it normal?
My code is as follows:
class ProteinEmbedding(nn.Module):
    def __init__(self, model_path="models/esm1_t6_43M_UR50S.pt",
                 repr_layer=6) -> None:
        super(ProteinEmbedding, self).__init__()
        self.repr_layer = repr_layer
        self.model, alphabet = esm.pretrained.load_model_and_alphabet(model_path)

        self.batch_converter = BatchConverter(alphabet=alphabet)

    def forward(self, sequences):
        batch_tokens = self.batch_converter(sequences)

        with torch.no_grad():
            token_repr = self.model(batch_tokens, repr_layers=[self.repr_layer])["representations"][self.repr_layer]
        seqs_repr = []
        for i, seq in enumerate(sequences):
            seqs_repr.append(token_repr[i, 1:len(seq) + 1].mean(0))
        return seqs_repr

The input sequences of the forward function in the code are raw protein sequences without label, consequently I rewrite the BatchConverter making it only returns tokens.
In addition, I would like to ask if token_repr[:, 0] is the <CLS> representation in your code?

Hi Tom,
Thank you for your help,
But actually I feed one batch of dataset at once.
May I ask what is the average length of the protein sequence and the batch size you use when training the model, and the corresponding required video memory size?

if you want a single representation for the sequence, you may want to use the mean over the sequence
For 1. if you provide a minimum working example and error message you see we can take a look. 6layer model is really small and should be able to process 10s of seqs of max length 1024

Thank you for your prompt reply!
For Q1，the data format in the training set is as follows：
MAFTFAAFCYMLALLLTAALIFFAIWHIIAFDELKTDYKNPIDQCNTLNPLVLPEYLIHAFFCVMFLCAAEWLTLGLNMPLLAYHIWRYMSRPVMSGPGLYDPTTIMNADILAYCQKEGWCKLAFYLLAFFYYLYGMIYVLVSS MAAAAGRLLWSSVARHASAISRSISASTVLRPVASRRTCLTDILWSASAQGKSAFSTSSSFHTPAVTQHAPYFKGTAVVNGEFKELSLDDFKGKYLVLFFYPLDFTFVCPTEIVAFSDKANEFHDVNCEVVAVSVDSHFSHLAWINTPRKNGGLGHMNITLLSDITKQISRDYGVLLESAGIALRGLFIIDPNGVVKHLSVNDLPVGRSVEETLRLVKAFQFVETHGEVCPANWTPESPTIKPSPTASKEYFEKVHQ 269

As you see, I tried to predict a label (269 in the above case) through two protein sequences.
Here is my training code:
    torch.manual_seed(511)

    device = LinkConfig.device
    emb_model, alphabet = esm.pretrained.load_model_and_alphabet(LinkConfig.emb_path)
    emb_model.eval()
    emb_model.to(device)

    batch_converter = LinkBatchConverter(alphabet)

    train_dataset = ProteinLinkDataset.from_file(LinkConfig.train_dataset_path)
    train_loader = DataLoader(
        train_dataset, collate_fn=batch_converter,
        shuffle=True,
        batch_size=LinkConfig.batch_size
    )

    print(f"Read {LinkConfig.train_dataset_path} with {len(train_dataset)} sequences")
    print(f"Read {LinkConfig.test_dataset_path} with {len(test_dataset)} sequences")

    pred_model = ProteinLinkPredictor()
    pred_model.to(device)

    loss_fn = nn.CrossEntropyLoss()

    optimizer = torch.optim.Adam(pred_model.parameters(), lr=LinkConfig.lr)

    len_dataloader = len(train_loader)
    batch_size = LinkConfig.batch_size

    for epoch in range(LinkConfig.epoch_num):
        pred_model.train()
        difference = 0
        difference_num = 0
        for i, (labels, first_proteins, second_proteins) in enumerate(train_loader):
            first_embed = get_pretrained_embedding(emb_model, first_proteins)
            second_embed = get_pretrained_embedding(emb_model, second_proteins)

            pred_model.zero_grad()

            outputs = pred_model(first_embed, second_embed)

            loss = loss_fn(outputs, labels)
            loss.backward()
            optimizer.step()

            pred = outputs.data.max(1)[1]
            difference += torch.abs(labels-pred).sum(dim=0).item()
            difference_num += batch_size
            sys.stdout.write('\r epoch: %d, [iter %d / all %d] loss %f avg difference %d' \
                             % (epoch, i + 1, len_dataloader, loss.data.cpu().item(),
                                difference // difference_num))
            sys.stdout.flush()

def get_pretrained_embedding(model, inputs):
    assert LinkConfig.final_repr in LinkConfig.repr_layers
    with torch.no_grad():
        token_repr = model(inputs, repr_layers=LinkConfig.repr_layers)["representations"]
        token_repr = token_repr[LinkConfig.final_repr]
        batch_size, _, embed_size = token_repr.size()
        seqs_repr = torch.empty((batch_size, embed_size), dtype=torch.float32).to(LinkConfig.device)
        for i, seq in enumerate(inputs):
            seqs_repr[i] = token_repr[i, 1:len(seq) + 1].mean(0)
    return seqs_repr

class LinkBatchConverter(object):
    def __init__(self, alphabet):
        self.alphabet = alphabet

    def __call__(self, raw_batch):
        batch_size = len(raw_batch)
        batch_labels, first_str_list, second_str_list = zip(*raw_batch)
        first_encoded_list = [self.alphabet.encode(seq_str) for seq_str in first_str_list]
        second_encoded_list = [self.alphabet.encode(seq_str) for seq_str in second_str_list]
        first_max_len = max(len(seq_encoded) for seq_encoded in first_encoded_list)
        second_max_len = max(len(seq_encoded) for seq_encoded in second_encoded_list)

        first_tokens = torch.empty(
            (
                batch_size,
                first_max_len + int(self.alphabet.prepend_bos) + int(self.alphabet.append_eos)
            ),
            dtype=torch.int64,
        )

        second_tokens = torch.empty(
            (
                batch_size,
                second_max_len + int(self.alphabet.prepend_bos) + int(self.alphabet.append_eos)
            ),
            dtype=torch.int64
        )

        first_tokens.fill_(self.alphabet.padding_idx)
        second_tokens.fill_(self.alphabet.padding_idx)

        labels = []
        # res_strs = []
        for i, (label, fir_encoded, sec_encoded) in enumerate(
            zip(batch_labels, first_encoded_list, second_encoded_list)
        ):
            labels.append(int(label))
            if self.alphabet.prepend_bos:
                first_tokens[i, 0], second_tokens[i, 0] = self.alphabet.cls_idx, self.alphabet.cls_idx

            first_tokens[
                i,
                int(self.alphabet.prepend_bos): len(fir_encoded) + int(self.alphabet.prepend_bos),
            ] = torch.tensor(fir_encoded, dtype=torch.int64)
            second_tokens[
                i,
                int(self.alphabet.prepend_bos): len(sec_encoded) + int(self.alphabet.prepend_bos),
            ] = torch.tensor(sec_encoded, dtype=torch.int64)
            if self.alphabet.append_eos:
                first_tokens[i, len(fir_encoded) + int(self.alphabet.prepend_bos)] = self.alphabet.eos_idx
                second_tokens[i, len(sec_encoded) + int(self.alphabet.prepend_bos)] = self.alphabet.eos_idx

        return torch.tensor(labels, dtype=torch.int64).to(DefaultConfig.device), \
               first_tokens.to(DefaultConfig.device), \
               second_tokens.to(DefaultConfig.device)

I think I feed a batch (6 as batch size) of data at once, and I can run the code with batch size 6. But if I do not use with torch.nograd() on the esm1_t6_43M_UR50S model and update its parameters at the same time, even if the batch size is 1, it will report insufficient video memory error RuntimeError: CUDA out of memory. I wonder if my code is wrong?

Thank you so much for taking the time to review and answer my question, it helped a lot!


Make outline expand automaticly when editor is opened

Hello!
Is it possible to make Outline Map to automaticaly show me properties and methods without clicking expand button every time I change the file?

[v0.8.1]
before

after

Hope this meets your expectations


Environment variables don't seem to be detected in build

Build/Submit details page URL
https://expo.dev/accounts/jorensm/projects/app/builds/3dcb9d5c-dfb2-487d-a6e5-8ce5c65b2288
Summary
So I'm trying to add environment variables to my EAS build. I've added them in my eas.json file, like so:

But they don't seem to be detected in my build. I have a validator function that throws an error if the env variables are not set, and its throwing it in my builds, thought it works fine with Expo Go.
Managed or bare?
Managed
Environment
expo-env-info 1.2.0 environment info:
System:
OS: Windows 10 10.0.19045
Binaries:
Node: 20.8.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.17 - ~\AppData\Roaming\npm\yarn.CMD
npm: 10.1.0 - C:\Program Files\nodejs\npm.CMD
SDKs:
Android SDK:
API Levels: 30, 31, 33
Build Tools: 30.0.2, 30.0.3
IDEs:
Android Studio: Version     2<IP_ADDRESS> AI-203.7717.56.2031.7678000
npmPackages:
@expo/webpack-config: ^19.0.0 => 19.0.0
expo: ~49.0.15 => 49.0.21
expo-router: ^2.0.0 => 2.0.14
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: 0.72.6 => 0.72.6
react-native-web: ~0.19.6 => 0.19.10
Expo Workflow: managed
expo-doctor didn't find any issues
Error output
No response
Reproducible demo or steps to reproduce from a blank project
This is the file that loads my env variables. On Expo Go it doesn't throw an error but on a EAS build it does.
// Constants from environment variables

const ENV_VARIABLE_NAMES = [
    'API_URL',
    'STRIPE_PUBLISHABLE_KEY',
    'SUPABASE_URL',
    'SUPABASE_KEY'
]

const validateEnvVariables = () => {
    const missing_vars = []
    for(const var_name of ENV_VARIABLE_NAMES) {
        const full_var_name = 'EXPO_PUBLIC_' + var_name
        if(!process.env[full_var_name]) {
            missing_vars.push(full_var_name)
        }
    }

    if (missing_vars.length > 0) {
        throw new Error('Missing the following environment variables: ' + missing_vars.join(', '))
    }
}

validateEnvVariables();

export const API_URL = process.env.EXPO_PUBLIC_API_URL!;
export const SUPABASE_URL = process.env.EXPO_PUBLIC_SUPABASE_URL!;
export const SUPABASE_KEY = process.env.EXPO_PUBLIC_SUPABASE_KEY!;
export const STRIPE_PUBLISHABLE_KEY = process.env.EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY!;

Apparently Expo only supports dot notation for accessing env variables. Which is strange because it worked with Expo Go. I'll try changing the validator to use dot notation and report back.

Update: After changing my validator to use dot notation, I'm still getting the same error about missing env vars

@szdziedzic I'm not working on this project anymore as my client decided to pivot, but I'll try to re run the build when I have some free time

Can confirm this a real issue I am facing.

I am having the same issue as well

Also having the same issue except i can actually see them in the spin up build environment step. However when i publish my app, they are not there.

Hello was this solved. I have the same issue. It works fine in expo go but when I run a dev build they are all undefined.

Has anyone found a solution to this issue yet ?

I had a similar issue, while doing local eas build. Everything looks to be working well with expo builds, but fails during eas local builds.
It appears that I needed to set the environment variables for the execution of build command. So, here is what I did -

created a bash script set-env.sh

#!/bin/bash

if [ $# -lt 1 ]; then
  echo "Usage: $0 <command>"
  exit 1
fi

(env $(cat .env | xargs) "$@")

Run - sh set-env.sh eas build --profile test --platform ios  --local

I have the same issue the environment variables appear in the expo logs console. But when I publish to play store the build of the app crashes because it says that the environment variable does not exist

EXPO_PUBLIC_SUPABASE_URL

I have the same issue here

I have the same issue today

Yeah this is really problematic for me also, on production builds the env vars just are not present.

Similar-ish issue here.
npx expo run:android works fine and loads all EXPO_PUBLIC_ env variables from .env
But npx expo run:android --variant release says that it loads variables in log, but process.env only has NODE_ENV in it

Facing a similar issue
Env variables are loaded when running the application in development client mode or with expo go but no env variables are loaded with  npx expo start --no-dev --minify

Yeah this is really problematic for me also, on production builds the env vars just are not present.

In the end this was me missing a vital piece of documentation on the standard env resolution I had a .env.ci which although is not listed there seems to have taken preference over .env and so it appeared empty but in actual fact those values in the CI env vars were just empty intentionally.
Weird gotcha, but I resolved this by combining the CI and app envs into a single .env.

I am facing the same issue, although the env variable is detected in dev mode, it is not when I run eas build, even though the logs show that it is loaded

This is annoying. local-build-plugin does not copy any .env files into the build dir when doing an EAS build locally. Currently the only way to get environment variables into the build is to manually export them before running eas build as per @anup-a's answer.

You need to add EXPO_PUBLIC_ befor each variable Folow this example  https://docs.expo.dev/guides/environment-variables/#migrating-to-expo-environment-variables

I read this documentation as well and am, strangely, still getting the error

I even manually exported them, still facing the issue, no env vars were being read

Having the same issue here, I can see the variable in the eas spin-up build environment too but its not there in the app.

I'm having the exact same issue! I can't make the production build app work because the ENV are not present anymore. It all started after updating from Expo 49 to 50!!! This is ridiculous!

Well, that's weird. If I have console.error(process.env); before using the environement variables, everything works (even in Release mode). But as soon as I take it out, the variable is not available and the app crashes...

Well, that's weird. If I have console.error(process.env); before using the environement variables, everything works (even in Release mode). But as soon as I take it out, the variable is not available and the app crashes...

That's very strange! Have you built the apk and the env variables work after you console.log the process.env?

I managed to find a solution. (Was pretty scared to see an opened issue from January)
I added my env in eas.json, ex:
"preview": {
    "distribution": "internal",
    "node": "18.18.2",
    "yarn": "1.22.19",
    "env": {
        "EXPO_PUBLIC_API_URL": "https://www.some_url.com/api",
    }
}

I wrote in app.config.js (if you don't have it it's app.json and you have to rename it):
export default {
    expo: {
        name: "your app name",
        ....other config stuff
        extra: {
            ...
            EXPO_PUBLIC_API_URL: process.env.EXPO_PUBLIC_API_URL
        }
 }

Then i have a file named model.tsx and i used the expo-constants library (yarn add expo-constants, or npm install):
import Constants from "expo-constants";

const extra = Constants.expoConfig?.extra;

const API_URL = extra?.EXPO_PUBLIC_API_URL ?? "";

export { API_URL }

Now everywhere i import import { API_URL } from "./model"; it has the right value.

Can confirm the above works as well. Similar solution referenced in the Expo discord here

For local builds, a workaround is to temporarily delete .env* from your .gitignore (so that it is unignored by git on your local machine) while running the local build command. This should include the .env file in the local build process.
For remote builds, you will have to split sensitive and non-sensitive values between expo.dev Secrets and eas.json respectively. You can upload expo.dev Secrets using eas secret:push. Non-sensitive values will unfortunately have to be repeated in eas.json. See this FAQ for further explanation.

I created this package to solve this issue.
https://github.com/shoma-mano/eas-config-ts
If you use this, you can add eas.json including secrets to .gitignore.

Same issue here. Took me a day to realise the EXPO_PUBLIC_… variables are undefined in production. App crashed on startup, as Supabase didn't get the right URL.

This is a major issue and there's still no answer for it. I'm currently on the "on-demand" plan in EXPO Dev, which means I pay $1 every time I do a build, and before I realised that this was an issue with EXPO, and not my code, I did at least 5 builds + the time and effort wasted on trying to find an issue that is not even in my application. We need this fixed ASAP!!!

For me, this script successfully makes the environment variables available for eas build, since it directly sources the .env file in the current shell context. This is more reliable and ensures that all environment variables are properly loaded and available for the eas build command
set-env.sh:
#!/bin/bash

# Load environment variables
set -a; source .env; set +a

# Execute command passed as arguments to this script
"$@"

run it like this:
./set-env.sh eas build --profile preview:device --platform ios --local

router

You. Are. A. Godsend.
After 4 hours of beating my head against the wall and trying everything under the sun, including reading dozens of doc files, and tons of stackoverflow. This was the only solution that worked.
I can confirm this actually worked. Just a small correction to this:

I wrote in app.config.js (if you don't have it it's app.json and you have to rename it):

You do not need to rename your app.json to app.config.js, I'm sure they both work the same, but you can keep your existing app.json and add on EXPO_SECRET_KEY to extra in app.json and it works just the same.
Thank youuuuuu!!!!

Same issue for me and it took me a while to figure it out. iOS doesn't say anything, and crash report is useless.
I'll use the workaround waiting for an official solution (?)
Thanks guys !

I still don't understand what's at play here. This is basically eas-cli's whole job, and it USED to work. Latest versions 11.x break environment variable resolution.

My approach was to use the dotenv-cli package. This tool loads environment variables into the current shell context. You can create a script in package.json to use with eas-cli. I think this is as clean as it gets.
npm i dotenv-cli -D

For .env.development file, you can use:
"build:android": "dotenv -c development -- eas build --platform android --profile preview --local",

Package docs: https://www.npmjs.com/package/dotenv-cli

I waste time and money with this issue, please fix it ASAP! Im willing to help if you need it @expoteam

Did you guys try to change to

presets: ['babel-preset-expo']

in babel.config.js ?

This fix works for me but there might be a better way to fix it. Basically what I have observed is that when the .env file is gitignored then environment variables are not loaded. So before generating the build we need to remove it from the .gitignore file.

Before running the build command, remove .env from the .gitignore file and save the .gitignore file.
Then run the build command eas build --platform android --profile preview
After the build is generated, add .env back to .gitignore file

I only have .env file and didn't add env property in the eas.json

This fix works for me but there might be a better way to fix it. Basically what I have observed is that when the .env file is gitignored then environment variables are not loaded. So before generating the build we need to remove it from the .gitignore file.

Before running the build command, remove .env from the .gitignore file and save the .gitignore file.
Then run the build command eas build --platform android --profile preview
After the build is generated, add .env back to .gitignore file

I only have .env file and didn't add env property in the eas.json

Thats an interest solution, do you think that is the same for local build (with --local flag)??
this command for example 👉 eas build --platform android --local

I haven't tried building locally yet but if you are facing the issue because the environment variables are not loaded properly, you can try this way.

I managed to find a solution. (Was pretty scared to see an opened issue from January)
I added my env in eas.json, ex:
"preview": {
    "distribution": "internal",
    "node": "18.18.2",
    "yarn": "1.22.19",
    "env": {
        "EXPO_PUBLIC_API_URL": "https://www.some_url.com/api",
    }
}

I wrote in app.config.js (if you don't have it it's app.json and you have to rename it):
export default {
    expo: {
        name: "your app name",
        ....other config stuff
        extra: {
            ...
            EXPO_PUBLIC_API_URL: process.env.EXPO_PUBLIC_API_URL
        }
 }

Then i have a file named model.tsx and i used the expo-constants library (yarn add expo-constants, or npm install):
import Constants from "expo-constants";

const extra = Constants.expoConfig?.extra;

const API_URL = extra?.EXPO_PUBLIC_API_URL ?? "";

export { API_URL }

Now everywhere i import import { API_URL } from "./model"; it has the right value.

Works for me.

Solution for Using Environment Variables in Expo with EAS Build
After diving deep into Expo's documentation and blogs, I’ve finally figured out how to properly handle environment variables in Expo projects, especially with EAS builds. I’m sharing this to help others who might run into the same issues.
First, I recommend reviewing the following:

Environment Variables in Expo
Environment Variables and Secrets in EAS Build

How it Works

app.json: Defines project details for Expo, such as:

App name
Version
Plugins
Platform-specific configurations (ios, android)

eas.json: Instructs the EAS service on how to handle the build process based on the project’s configuration.

Step-by-Step Guide

Create a .env file in your project root and prefix your variables with EXPO_PUBLIC_. For example:
EXPO_PUBLIC_SUPABASE_ANON_KEY="eyJ..."

To access these variables in your project, use:
const myVariable = process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY;
console.log(`Proof that this loads: ${myVariable}`);

For better accessibility, you can create a config.ts file:
const config = {
  SUPABASE_URL: process.env.EXPO_PUBLIC_SUPABASE_URL ?? "",
  SUPABASE_KEY: process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? "",
};

export default config;

Important Note:
.env files are not included in your EAS build by default.
Using Environment Variables in EAS Builds
If you want to use your local environment variables during EAS builds:

Create the same variables in your Expo project’s secrets. You can find them here:
https://expo.dev/accounts/<username>/settings/secrets

Update your eas.json to tell EAS which secrets to use for specific branches (e.g., development, production):
"development": {
  "autoIncrement": true,
  "developmentClient": true,
  "distribution": "internal",
  "env": {
    "EXPO_PUBLIC_SUPABASE_URL": "EXPO_PUBLIC_SUPABASE_URL",
    "EXPO_PUBLIC_SUPABASE_ANON_KEY": "EXPO_PUBLIC_SUPABASE_ANON_KEY"
  },
  "channel": "development"
}

This tells EAS to look for EXPO_PUBLIC_SUPABASE_ANON_KEY in the secrets and retrieve its value during the build.
Pushing Secrets Directly from the Command Line
To avoid manually setting up secrets in the Expo dashboard, you can push your .env file directly:
eas secret:push --scope project --env-file .env

This will automatically upload your existing env to project specific secrets.
I hope this helps someone else in the future because dealing with this was a total nightmare! But now that I understand the flow of expo’s configurations, it’s much clearer! PS. If you have anything to add, or if you think I might’ve misunderstood something somewhere, I’m all ears.

It looks like Expo does not highly recommend the use of EXPO_PUBLIC* env vars. They do discuss how to centralize configuration variables based on channels (and prevent EAS Updates from overriding the vars set by EAS Build which is what I believe is happening to most people here, me included).

I managed to find a solution. (Was pretty scared to see an opened issue from January)
I added my env in eas.json, ex:
"preview": {
    "distribution": "internal",
    "node": "18.18.2",
    "yarn": "1.22.19",
    "env": {
        "EXPO_PUBLIC_API_URL": "https://www.some_url.com/api",
    }
}

I wrote in app.config.js (if you don't have it it's app.json and you have to rename it):
export default {
    expo: {
        name: "your app name",
        ....other config stuff
        extra: {
            ...
            EXPO_PUBLIC_API_URL: process.env.EXPO_PUBLIC_API_URL
        }
 }

Then i have a file named model.tsx and i used the expo-constants library (yarn add expo-constants, or npm install):
import Constants from "expo-constants";

const extra = Constants.expoConfig?.extra;

const API_URL = extra?.EXPO_PUBLIC_API_URL ?? "";

export { API_URL }

Now everywhere i import import { API_URL } from "./model"; it has the right value.

This did work for me, I can now access env variables in both development an eas builds.
Generally, i wouldn't complain when something is not working in an open source project. But in this case, the company where I work is paying per build in EAS, and having to do a workaround for this is honestly not good. I'd expect something as common and basic as environment handling to work properly when using a paid service.

Solution for Using Environment Variables in Expo with EAS Build
After diving deep into Expo's documentation and blogs, I’ve finally figured out how to properly handle environment variables in Expo projects, especially with EAS builds. I’m sharing this to help others who might run into the same issues.
First, I recommend reviewing the following:
1. [Environment Variables in Expo](https://docs.expo.dev/guides/environment-variables/)

2. [Environment Variables and Secrets in EAS Build](https://docs.expo.dev/build-reference/variables/)

How it Works
* **`app.json`**: Defines project details for Expo, such as:

  * App name
  * Version
  * Plugins
  * Platform-specific configurations (`ios`, `android`)

* **`eas.json`**: Instructs the EAS service on how to handle the build process based on the project’s configuration.

Step-by-Step Guide
1. **Create a `.env` file in your project root** and prefix your variables with `EXPO_PUBLIC_`. For example:
   ```shell
   EXPO_PUBLIC_SUPABASE_ANON_KEY="eyJ..."
   ```

2. To access these variables in your project, use:
   ```js
   const myVariable = process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY;
   console.log(`Proof that this loads: ${myVariable}`);
   ```

3. For better accessibility, you can create a `config.ts` file:
   ```ts
   const config = {
     SUPABASE_URL: process.env.EXPO_PUBLIC_SUPABASE_URL ?? "",
     SUPABASE_KEY: process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? "",
   };

   export default config;
   ```

Important Note:
.env files are not included in your EAS build by default.
Using Environment Variables in EAS Builds
If you want to use your local environment variables during EAS builds:
1. **Create the same variables** in your Expo project’s secrets. You can find them here:
   `https://expo.dev/accounts/<username>/settings/secrets`

2. **Update your `eas.json`** to tell EAS which secrets to use for specific branches (e.g., `development`, `production`):
   ```json
   "development": {
     "autoIncrement": true,
     "developmentClient": true,
     "distribution": "internal",
     "env": {
       "EXPO_PUBLIC_SUPABASE_URL": "EXPO_PUBLIC_SUPABASE_URL",
       "EXPO_PUBLIC_SUPABASE_ANON_KEY": "EXPO_PUBLIC_SUPABASE_ANON_KEY"
     },
     "channel": "development"
   }
   ```

This tells EAS to look for EXPO_PUBLIC_SUPABASE_ANON_KEY in the secrets and retrieve its value during the build.
Pushing Secrets Directly from the Command Line
To avoid manually setting up secrets in the Expo dashboard, you can push your .env file directly:
eas secret:push --scope project --env-file .env

This will automatically upload your existing env to project specific secrets.
I hope this helps someone else in the future because dealing with this was a total nightmare! But now that I understand the flow of Expo’s configurations, it’s much clearer!
PS: If you have anything to add, or if you think I might’ve misunderstood something, I’m all ears.
A Few Key Notes:
* Using the `--local` flag will still use EAS Services, but make the build locally on your computer, instead of the cloud, meaning you’ll still need to update EAS Secrets / JSON

* You **do not** need to remove your `.env` from your `.gitignore`.

* No need to add any configurations or environment variables to `app.config.js` or `app.json`.

This your solution works for me

Solution from @Ception works for me.

Solution for Using Environment Variables in Expo with EAS Build
After diving deep into Expo's documentation and blogs, I’ve finally figured out how to properly handle environment variables in Expo projects, especially with EAS builds. I’m sharing this to help others who might run into the same issues.
First, I recommend reviewing the following:

Environment Variables in Expo
Environment Variables and Secrets in EAS Build

How it Works

app.json: Defines project details for Expo, such as:

App name
Version
Plugins
Platform-specific configurations (ios, android)

eas.json: Instructs the EAS service on how to handle the build process based on the project’s configuration.

Step-by-Step Guide

Create a .env file in your project root and prefix your variables with EXPO_PUBLIC_. For example:EXPO_PUBLIC_SUPABASE_ANON_KEY="eyJ..."

To access these variables in your project, use:const myVariable = process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY;
console.log(`Proof that this loads: ${myVariable}`);

For better accessibility, you can create a config.ts file:const config = {
  SUPABASE_URL: process.env.EXPO_PUBLIC_SUPABASE_URL ?? "",
  SUPABASE_KEY: process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? "",
};

export default config;

Important Note:
.env files are not included in your EAS build by default.
Using Environment Variables in EAS Builds
If you want to use your local environment variables during EAS builds:

Create the same variables in your Expo project’s secrets. You can find them here:
https://expo.dev/accounts/<username>/settings/secrets
Update your eas.json to tell EAS which secrets to use for specific branches (e.g., development, production):"development": {
  "autoIncrement": true,
  "developmentClient": true,
  "distribution": "internal",
  "env": {
    "EXPO_PUBLIC_SUPABASE_URL": "EXPO_PUBLIC_SUPABASE_URL",
    "EXPO_PUBLIC_SUPABASE_ANON_KEY": "EXPO_PUBLIC_SUPABASE_ANON_KEY"
  },
  "channel": "development"
}

This tells EAS to look for EXPO_PUBLIC_SUPABASE_ANON_KEY in the secrets and retrieve its value during the build.
Pushing Secrets Directly from the Command Line
To avoid manually setting up secrets in the Expo dashboard, you can push your .env file directly:
eas secret:push --scope project --env-file .env

This will automatically upload your existing env to project specific secrets.
I hope this helps someone else in the future because dealing with this was a total nightmare! But now that I understand the flow of Expo’s configurations, it’s much clearer!
PS: If you have anything to add, or if you think I might’ve misunderstood something, I’m all ears.
A Few Key Notes:

Using the --local flag will still use EAS Services, but make the build locally on your computer, instead of the cloud, meaning you’ll still need to update EAS Secrets / JSON
You do not need to remove your .env from your .gitignore.
No need to add any configurations or environment variables to app.config.js or app.json.

this works and it's clearer than the docs. thank you!

This is still going on 😁

Solution for Using Environment Variables in Expo with EAS Build
After diving deep into Expo's documentation and blogs, I’ve finally figured out how to properly handle environment variables in Expo projects, especially with EAS builds. I’m sharing this to help others who might run into the same issues.
First, I recommend reviewing the following:

Environment Variables in Expo
Environment Variables and Secrets in EAS Build

How it Works

app.json: Defines project details for Expo, such as:

App name
Version
Plugins
Platform-specific configurations (ios, android)

eas.json: Instructs the EAS service on how to handle the build process based on the project’s configuration.

Step-by-Step Guide

Create a .env file in your project root and prefix your variables with EXPO_PUBLIC_. For example:EXPO_PUBLIC_SUPABASE_ANON_KEY="eyJ..."

To access these variables in your project, use:const myVariable = process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY;
console.log(`Proof that this loads: ${myVariable}`);

For better accessibility, you can create a config.ts file:const config = {
  SUPABASE_URL: process.env.EXPO_PUBLIC_SUPABASE_URL ?? "",
  SUPABASE_KEY: process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? "",
};

export default config;

Important Note:
.env files are not included in your EAS build by default.
Using Environment Variables in EAS Builds
If you want to use your local environment variables during EAS builds:

Create the same variables in your Expo project’s secrets. You can find them here:
https://expo.dev/accounts/<username>/settings/secrets
Update your eas.json to tell EAS which secrets to use for specific branches (e.g., development, production):"development": {
  "autoIncrement": true,
  "developmentClient": true,
  "distribution": "internal",
  "env": {
    "EXPO_PUBLIC_SUPABASE_URL": "EXPO_PUBLIC_SUPABASE_URL",
    "EXPO_PUBLIC_SUPABASE_ANON_KEY": "EXPO_PUBLIC_SUPABASE_ANON_KEY"
  },
  "channel": "development"
}

This tells EAS to look for EXPO_PUBLIC_SUPABASE_ANON_KEY in the secrets and retrieve its value during the build.
Pushing Secrets Directly from the Command Line
To avoid manually setting up secrets in the Expo dashboard, you can push your .env file directly:
eas secret:push --scope project --env-file .env

This will automatically upload your existing env to project specific secrets.
I hope this helps someone else in the future because dealing with this was a total nightmare! But now that I understand the flow of Expo’s configurations, it’s much clearer!
PS: If you have anything to add, or if you think I might’ve misunderstood something, I’m all ears.
A Few Key Notes:

Using the --local flag will still use EAS Services, but make the build locally on your computer, instead of the cloud, meaning you’ll still need to update EAS Secrets / JSON
You do not need to remove your .env from your .gitignore.
No need to add any configurations or environment variables to app.config.js or app.json.

I saw this repost in a million other github forums and in redit but it doesnt work for me.
I have my env (in local ) that is EXPO_PUBLIC_API_URL, and in expo screts i have EXPO_PUBLIC_API_URL_DEVELOPMENT and EXPO_PUBLIC_API_URL_PRODUCTION.
when i access it with process.env.EXPO_PUBLIC_API_URL_DEVELOPMENT i dont have any problems (the build is using the expo secrets) buttt, when i try to use it in the eas.json like this
{
  "cli": {
    "version": ">= 10.2.1"
  },
  "build": {
    "development": {
      "developmentClient": false,
      "distribution": "internal",
      "env": {
        "EXPO_PUBLIC_NODE_ENV": "development",
        "EXPO_PUBLIC_API_URL": "EXPO_PUBLIC_API_URL_DEVELOPMENT",
        "EXPO_PUBLIC_GOOGLE_MAPS_API_KEY": "EXPO_PUBLIC_GOOGLE_MAPS_API_KEY"
      }
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {
      "env": {
        "EXPO_PUBLIC_NODE_ENV": "production",
        "EXPO_PUBLIC_API_URL": "EXPO_PUBLIC_API_URL_PRODUCTION",
        "EXPO_PUBLIC_GOOGLE_MAPS_API_KEY": "EXPO_PUBLIC_GOOGLE_MAPS_API_KEY"
      }
    }
  },
  "submit": {
    "production": {}
  }
}

it use the literal string "EXPO_PUBLIC_API_URL_DEVELOPMENT" or "EXPO_PUBLIC_API_URL_PRODUCTION".
im trying to use it in the eas for convenience but i will try the app.config.js option

Solution for Using Environment Variables in Expo with EAS Build
After diving deep into Expo's documentation and blogs, I’ve finally figured out how to properly handle environment variables in Expo projects, especially with EAS builds. I’m sharing this to help others who might run into the same issues.
First, I recommend reviewing the following:

Environment Variables in Expo
Environment Variables and Secrets in EAS Build

How it Works

app.json: Defines project details for Expo, such as:

App name
Version
Plugins
Platform-specific configurations (ios, android)

eas.json: Instructs the EAS service on how to handle the build process based on the project’s configuration.

Step-by-Step Guide

Create a .env file in your project root and prefix your variables with EXPO_PUBLIC_. For example:EXPO_PUBLIC_SUPABASE_ANON_KEY="eyJ..."

To access these variables in your project, use:const myVariable = process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY;
console.log(`Proof that this loads: ${myVariable}`);

For better accessibility, you can create a config.ts file:const config = {
  SUPABASE_URL: process.env.EXPO_PUBLIC_SUPABASE_URL ?? "",
  SUPABASE_KEY: process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? "",
};

export default config;

Important Note:
.env files are not included in your EAS build by default.
Using Environment Variables in EAS Builds
If you want to use your local environment variables during EAS builds:

Create the same variables in your Expo project’s secrets. You can find them here:
https://expo.dev/accounts/<username>/settings/secrets
Update your eas.json to tell EAS which secrets to use for specific branches (e.g., development, production):"development": {
  "autoIncrement": true,
  "developmentClient": true,
  "distribution": "internal",
  "env": {
    "EXPO_PUBLIC_SUPABASE_URL": "EXPO_PUBLIC_SUPABASE_URL",
    "EXPO_PUBLIC_SUPABASE_ANON_KEY": "EXPO_PUBLIC_SUPABASE_ANON_KEY"
  },
  "channel": "development"
}

This tells EAS to look for EXPO_PUBLIC_SUPABASE_ANON_KEY in the secrets and retrieve its value during the build.
Pushing Secrets Directly from the Command Line
To avoid manually setting up secrets in the Expo dashboard, you can push your .env file directly:
eas secret:push --scope project --env-file .env

This will automatically upload your existing env to project specific secrets.
I hope this helps someone else in the future because dealing with this was a total nightmare! But now that I understand the flow of Expo’s configurations, it’s much clearer!
PS: If you have anything to add, or if you think I might’ve misunderstood something, I’m all ears.
A Few Key Notes:

Using the --local flag will still use EAS Services, but make the build locally on your computer, instead of the cloud, meaning you’ll still need to update EAS Secrets / JSON
You do not need to remove your .env from your .gitignore.
No need to add any configurations or environment variables to app.config.js or app.json.

Although this may work, I'm not sure if that's the expected behavior. I think that Secrets and Env Vars are different and have different uses.
From one of the pages you linked:

However, the recommended practice is to use .env files in your local environment, while defining environment variables for EAS Build in eas.json. Environment variables defined in your eas.json build profile will be used when evaluating your app.config.js when running eas build and will be available to all steps of the build process on the EAS Build server.

iNSANE NO ONE FROM THE EXPO AND EAS TEAM JOINED THE DISCUSSION AND PROVIDED A FIX ! WHAT ARE THEY DOING ?

Setting up Supabase with Expo Updates and EAS
If you're struggling with Supabase integration, here's what worked for me:
Understanding the Issue
Environment variables are being picked up during the build phase but not during updates, as updates don't get access to env vars from Expo directly.
My Setup

Using EAS for builds and updates
Using continuous deployment fingerprint action for:

Creating new builds when changes occur
Publishing updates

Key Solution: Using Environment Flag
The crucial part is using --environment during expo update to attach the environment variables.
Step-by-Step Implementation

Create Environment Variables in Expo

Go to: https://expo.dev/accounts/[account]/projects/[project]/environment-variables
Create these as Plain Text variables (note: Secrets aren't supported, but Sensitive is):

EXPO_PUBLIC_SUPABASE_URL
EXPO_PUBLIC_SUPABASE_ANON_KEY

Select applicable environments (production, development, and/or preview)

Update eas.json

Reference: https://docs.expo.dev/eas/environment-variables/#setting-the-environment-for-your-builds
This correlates env vars to the build based on environment (optional for Supabase use case)

Important Documentation Note

When the --environment flag is provided, eas update will use the environment variables on EAS servers for and won't use the .env files present in your project. Expo CLI will substitute prefixed variables in your code (for example,process.env.EXPO_PUBLIC_VARNAME) with the corresponding plain text and sensitive environment variable values set on EAS servers for the environment specified with the --environment flag.

Any EXPO_PUBLIC_ variables in your application code will be replaced inline with the corresponding values from your EAS environment whether that is your local machine or your CI/CD server.

We recommend using the --environment flag to ensure the same environment variables are used both for your update and build jobs.

Accessing Variables
Use process.env.EXPO_PUBLIC_SUPABASE_URL and process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY

Now, when your app is built / an update is published, the env variable will be available for the app! 🎉
For GitHub Actions Users
If using continuous-deploy-fingerprint:

Currently awaiting this change to be merged
Temporary solution: Use uses: tharakadesilva/expo-github-action/continuous-deploy-fingerprint@main
Set environment in your action config:environment: ${{ github.event_name != 'pull_request' && 'production' || 'development' }}

can't believe this issue has been open for over two years and still has no support from expo team. 😠

I'll try to bring some clarity from my experience.
dev builds
EXPO_PUBLIC_XXX is meant to be used with .env files.
so, you may use it on local build like this :
`.env.local
EXPO_PUBLIC_ICON_PREFIX=icon_dev
EXPO_PUBLIC_MY_SECRET=xxx
`
Then when running
npx expo start Starting project at [...] env: load .env.local env: export EXPO_PUBLIC_ICON_PREFIX  [...]
this allows your local build to access vars like this const myIcon = process.env.EXPO_PUBLIC_ICON_PREFIX
EAS builds

EAS CLI itself does not support loading .env files to set environment variables when resolving the expo config.
Instead, it's recommended to use the EAS environment variables management system with EAS CLI commands to set environment variables for your build jobs [...]

So, you have to use EAS env vars.
When setting your eas.json, you can use EXPO_PUBLIC_XXX, but don't have to.
Here is what I do :
"build": {
  "production": {
    "env": {
      "ICON_PREFIX": "icon_prod",
      "MY_SECRET": "will_be_overwritten"
    }
  }
}

const appConfig: AppConfig = {
    iconPrefix: process.env.EXPO_PUBLIC_ICON_PREFIX as string,
    mySecret: process.env.EXPO_PUBLIC_MY_SECRET as string,
}

if (process.env.APP_VARIANT !== "development") {
    Object.assign(appConfig, {
      iconPrefix: process.env.ICON_PREFIX,
      mySecret: process.env.MY_SECRET,
    })
}

return {
  ios: {
      icon: `./src/images/${appConfig.iconPrefix}_ios.png`,
  },
  extra: {
    mySecret: appConfig.mySecret
  }
}

this allows your cloud build to access vars like this :
import Constants from "expo-constants"

[...]

Constants.expoConfig?.extra?.mySecret

Hope it will help.
PS :
I'm not sure if its needed but I also declare my EXPO_PUBLIC_XXX in eas for dev
"build":
  "development": {
      "developmentClient": true,
      "distribution": "internal",
      "env": {
        "EXPO_PUBLIC_ICON_PREFIX": "icon_dev",
        "EXPO_PUBLIC_MY_SECRET": "will_be_overwritten",
      }
  }

It's just silly and eas is still a paid service. No after sales service or instructions?

can't believe this issue has been open for over two years and still has no support from expo team. 😠

It's crazy!!. Like we know that these variables will be accessible in the bundles anyways so why make it so difficult. Just detect the .env file and let people upload their .env files to eas and autofill it in the server build 🤦♂. I can't count how many things I've had to hoist to a server because env variable management is still so shotty in expo

try this (use EAS CLI Command) :
eas secret:create --scope project --name EXPO_PUBLIC_DB_URL --value "your_value"
then, in eas.json :
{
  "build": {
    "production": {
      "env": {
        "EXPO_PUBLIC_DB_URL": "your_value",
        "EXPO_PUBLIC_DB_USER": "your_value",
        "EXPO_PUBLIC_DB_PASSWORD": "your_value"
      }
    }
  }
}

its worked for me

Hi,
I've just been through this process and I think I've found a solution on how we should manage environment variables with eas.
In my case I use plain text and secret variables (and files). I use secret keys for files and for tokens for authorization via Facebook, Google and Apple.
Due to the fact that I have two test and production environments, I have the same variables declared in eas for different environments - eas recognizes them and substitutes the appropriate variable values for a given build.
Not only do I use variables, I also have files like GOOGLE_SERVICES_JSON and GOOGLE_SERVICE_INFO_PLIST which I also store in eas and use when building the application in every mode (dev, preview, prod).
This is what it looks like in eas:

In developer mode, I use emulators and physical devices - it works fine for everyone.
Below are instructions on how I have it configured and how to make everything work with EAS for both the development and production environments:

you can either add environment variables from expo.dev (Select project -> configuration -> Environment variables, or from the terminal using eas secret:[COMMAND]. I did it from expo.dev because it's more convenient.

after declaring variables in expo.dev, you can download them to your test environment with one command. Remember that you have to choose for which environment you want to download the given environment variables (you declare their type in eas env - dev/preview/prod). To download them use eas env:pull --environment production (for the production environment). When downloading variables, secret variables will not be downloaded in their entirety to the file - here you need to copy the values of secret variables directly to the file. This generated file should be in .gitignore (we do not want it to be in the repo).

now you need to have two files, app.config.js (it is very important that it is not an app.json file) and eas.json. Now some information about the app.config.js file:

As you can see, in this configuration the paths to googleServicesFile and apiKey are given, taken from process.env. I also have local files google-services.json and GoogleService-Info.plist which are in .gitignore. For the test environment the application uses local files, for preview and production environments, eas already acquires keys added in expo.dev.
Further in the configuration I have the following variables declared in expo.extra[...]:

It is thanks to this declaration that your development or production environment has access to these variables (development from the .env.local file, and production from eas.
Now let's move on to the eas.json file, because it is the most important for the environments we are building:

Notice that in this place for each environment variables are declared which eas is to use during application building (per environment). Very important! - you do not provide here all variables declared as EXPO_PUBLIC_[...]. Eas will load them itself because they are public. The only place where you declare them is in expo.extra (app.config.js).
have declared variables per environment in expo.dev with the same name, e.g.:
EXPO_PUBLIC_API_ENDPOINT (development = https://mytestenv.com)
EXPO_PUBLIC_API_ENDPOINT (preview/production = https://myprodenv.com)
Eas will recognize whether it should take the value for the test environment or the production environment:

The last step is how to use environment variables in your project. I use expo-contants for this:

This is where the application uses variables declared in the app.config.js file (expo.extra[..]).
At the very end:
Check during the application building process (e.g. for a production environment) whether all variables have loaded correctly (section - Spin up build environment):

Remember! that if you change something in the .env.local file, you need to restart expo in development mode - npx expo start -c (-c removes the cache).
If you change something on the expo.dev side in variables, you need to rebuild the application, e.g. (eas build --platform ios --profile development).
Done! the application works in development mode, development mode for emulator, preview and production.


npx graphql-codegen fails with npm v.7.6.3 and over

Describe the bug
Tentatives to run graphql-codegen, by npx or npm run <script> "fails" with npx asking to install graphql-codegen package and npm issuing sh: 1: graphql-codegen: not found.
To Reproduce
(Sorry, couldn't create a codesandbox.io for this issue as it is npm-version related)
npm -v # issue tested on v. 7.6.3 and 7.7.5
mkdir bug-report && cd bug-report
npm init -y
npm i -D @graphql-codegen/cli
npx graphql-codegen

Expected behavior
Should run<EMAIL_ADDRESS>(and successfully echo Unable to find Codegen config file! as we don't need one for this bug report)
Environment:

Ubuntu 20.04.2 LTS
@graphql-codegen/cli v2.0.2:
NodeJS v14.16.0 LTS
npm v7.7.5

Additional context
It seems that an npm package named graphql-codegen does exists, maybe causing the issue (the execution works fine with the others binary aliases: npx gql-codegen and npx graphql-code-generator
Workaround
Look for usage of graphql-codegen in package.json scripts (and potentials elsewhere, depending on your usage of the package) and change it for gql-gen or graphql-code-generator.

Aaaand, after digging a bit into npm changelogs, it appears that it's part of a breaking change of npm v7: https://github.blog/2020-10-13-presenting-v7-0-0-of-the-npm-cli/#user-content-breaking-changes

npx has been completely rewritten to use the npm exec command. There are various changes in functionality, most noticeable being a prompt if the module you are trying to run is not yet installed.

More informations at https://blog.npmjs.org/post/626173315965468672/npm-v7-series-beta-release-and-semver-major

...after cleaning npm local cache, my reproduction steps don't produce the bug anymore. Hypothesis is that it was an issue with a project created under a 6.x version of npm (which creates a "lockfileVersion": 1) and used with npm v7.x (which uses ("lockfileVersion": 2`).
Sorry for the bothering


GARSession issue, when used with Swift language

Hey Guys,
I have a problem initializing a GARSession, I have my APIkey stored in a string variable and passing it to the GARSession
var apiKeyString = "somecharactersAndnumbers"
override func viewDidLoad() {
super.viewDidLoad()
    // Set the view's delegate
    sceneView.delegate = self

    // Show statistics such as fps and timing information
    sceneView.showsStatistics = true

    gSession = try! GARSession(apiKey: apiKeyString, bundleIdentifier: nil). //// creates error here

    // Create a new scene
    let scene = SCNScene(named: "art.scnassets/ship.scn")!

    // Set the scene to the view
    sceneView.scene = scene
}

My environment and build settings: IOS 13.5, Ipad or any Iphone, ARCore V 1.4.0, Firebase V 7.0. My build succeeds everytime, but it fails with an exception when ever it tries to start a GARSession and throws out the below error.
"Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=GARSession Code=-1 "(null)":"
Also, i have verified my APIKey and fire base setup working with objective C samples ARCore has provided. Did anyone face this issue?

Additional details to my error, Error Domain = GARSession Code = -1 "(null)" is caused due to Device not compatible issue. I see the error code '-1' indicates that error in the file GARSession.h file.
The device that I am trying to work this out is "Ipad Pro 11.1 (2nd generation)" and I see the device listed on "ARCore Supported Devices" webpage here
To eliminate options, i have updated my Xcode and Ipad as well, and they both are on 12.4 and IOS 14.4.
Can anyone from the ARCore team help?

Try using the latest version of ARCore (currently 1.26.0). Since 1.12, all ARKit-compatible devices are supported whether or not they were at the time the SDK version was released.


Updated link to vue-froala

Thank you for your PR.
Oh, conflicting... sorry,
Can you resolve the conflict please?

@whitef0x0 ping

/re-ping @whitef0x0

@kazupon see #630


Move instrumentation to redux-devtools-instrument

Related to https://github.com/gaearon/redux-devtools/issues/245

Sorry I didn’t react fast enough. Mind bringing in the PR from 3.3.0 and then we switch over?

@gaearon, no problems. I copied @micha149's PR to redux-devtools-instrument in https://github.com/zalmoxisus/redux-devtools-instrument/commit/8fbfa22f89496590e8b286991ab7e9d83449a53f and created #281 PR.


The upload function does not work

Hello.
I have downloaded the latest release from the website and I am trying to upload files to the server.
The procedure goes like normal, there are no errors on the screen but there are no files on the server either.
This recipe worked with the 2.x version of deployer. Maybe there have been some changes to PhpSecLib?

Can you run your command with -vvv options and show output?

This is the output from the upload-files task (I overrided it, it is not from the common recipe).
➤ E➤ecuting task deploy:upload-files
⤷ on [staging]
Run: ls /var/www/staging/releases
><PHONE_NUMBER>3014
><PHONE_NUMBER>4849
><PHONE_NUMBER>0247
><PHONE_NUMBER>5453
><PHONE_NUMBER>1732
><PHONE_NUMBER>2533
><PHONE_NUMBER>3431
><PHONE_NUMBER>1007
><PHONE_NUMBER>0908
><PHONE_NUMBER>4607
><PHONE_NUMBER>5924
>
Upload file composer.json to release/composer.json
Upload file composer.lock to release/composer.lock
Upload from public to release/public

@elfet : I had problem with upload function, too,
Mentioned here: https://github.com/deployphp/deployer/commit/4f16be0a982840e351a4a8621504c85e6f08b784

Just tested with the reverted commit. It still does not upload anything to the server.

I do not know what is it. Can you find out why this is happening?

It's work for me:
upload(__DIR__ . '/README.md', '/home/user/project/README.md');

How are you uploading?

This is how I am uploading:
upload('composer.json', 'release/composer.json');

After I changed it to this it worked:
upload('composer.json', '/var/www/JiraRepl.Staging/release/composer.json');

In 2.x the second parameter used to be relative to the {{deploy_path}} of the server.
Now we have to specify the full path?
PS: it does not seem to be related to the strreplace windows fix you reverted.

Yes, now cd function has no effect on upload and download function. This is consciously to simplicity. If you want, you can create PR this cd(deploy_path) feature.

So here is what I came up with:
$path = env('deploy_path');
upload('composer.json', $path . '/release/composer.json');

I use env('deploy_path') so it uses the deploy path of the server we are connected to.
This is so because we can use the same task on different servers with different deploy paths.

Yes, you solution is correct.


Author App is partially available to users if published.

Hi Team, In the recent version (5.5.1) of the Company Communicator, I deployed both the Author and User apps via the Teams admin console. In earlier versions, if a non-authorized UPN user attempted to add the Author app, it would get added in Teams but would not open, displaying an authorization error. However, in version 5.5.1, users can add the app and also view the card design module, which was previously unavailable. Despite this, they still cannot send messages from the Author app. Can we enforce the same level of restriction as in the earlier version, where non-authorized users were completely restricted from accessing the app?
Below are the screenshots of the old version author app added by random users after publishing it in Teams admin via Manage Apps.

Below is the screenshot of the new version 5.5.1 author app added by random users after publishing it in Teams Admin via Manage Apps.

Hi @Sheshank-TCS ,
Thanks for raising the query. Normally, in any version unauthorized users won't have access to CC author app unless their UPN is added to the UPN list. Coming to the error, check with that specific user on browser version of teams so that user will get relevant error when tries to access the application.

Hi @gsv022  I have validated on teams web version also and its still available. Though the message cannot be sent but its not giving any access denied error. Please suggest how this can be fixed.

Hi @Sheshank-TCS ,
Is it happening in New Teams as well?

Yes, this is happening with New teams, Old teams and Web version. However old Company communicator app is restricted everywhere for the users who are not Authors.

Hi @Sheshank-TCS ,
Please share your mail id so that we can discuss the issue internally.

<EMAIL_ADDRESS>you can use this one.

I have sent a mail. Please check and respond

Hi Sai, Thanks for your response, I have reverted to it.

I am facing the same issue, is there any update of this issue?

Hey Chris, Still waiting to hear from the team.

Hi @Sheshank-TCS ,
We have tried in different tenants and not able to replicate the issue. Please deploy one more instance and see the issue if persists.
Keep us posted

Working towards the implementation will keep you posted.

Sure, please keep us posted

Hi Sai, Just a query, have you validated setting up a second instance when existing instance exist. May be if you are setting up a single new instance it is not giving error.

Hi @Sheshank-TCS ,
We will check out this scenario and let you know.

@gsv022 We tried setting up the new instance and the Function app failed. Please suggest whether should I manually sync the resource from the deployment center again.

Hi @Sheshank-TCS ,

To overcome the failed resources, Go to azure portal-->Go to resource group(Where the deployment has been done)-->Select prep-function(Any failed resource) from list of resources-->Go to Deployment Center-->Click on Settings. Below is the screenshot for reference.

If the resource is not pointing to intended repository and  showing empty. Please connect to the external Git and point to the official repository(like above)
Once the status turns to Success(active) in the logs section then good to proceed with remaining steps of deployment.
Please do the same for other failed resource as well.
After performing the above steps, don't attempt for re-deploy again

We have successfully deployed the latest App version 5.5.2 and the issue has been resolved it's throwing the disclaimer message as expected when nonauthorized members add the App. Thank you Sai for all the help and support, appreciate it.


Can only sign when resized

Hello,
First of all I wanna thank you for this library, but I have a problem.
When I want to sign in the field, i first need to resize my window before I can sign it.
Do you know what the problem is? My Sign field pop's open when pushing a button. My code is the same as the source code.
Regards
Geoffry

I ran into this too, most likely you have css transitions right?  You can listen for the transitionend event.  I am using this in the Angular framework and I decided it was just easier to $watch the element.width() for changes.
                function whichTransitionEvent() {
                    var ele = document.createElement('div');
                    var transitions = {
                        'transition': 'transitionend',
                        'OTransition': 'oTransitionEnd',
                        'MozTransition': 'transitionend',
                        'WebkitTransition': 'webkitTransitionEnd'
                    };
                    for (var t in transitions) {
                        if (ele.style[t] !== undefined) {
                            return transitions[t];
                        }
                    }
                }
                var transitionEvent = whichTransitionEvent();

                element.on(transitionEvent, resizeSignaturePad);

Hello, I just used the example from the library so I didn't change anything. I don't understand what you mean.
var wrapper = document.getElementById("signature-pad"),
clearButton = wrapper.querySelector("[data-action=clear]"),
saveButton = wrapper.querySelector("[data-action=save]"),
closeButton =wrapper.querySelector("[data-action=close]"),
canvas = wrapper.querySelector("canvas"),
signaturePad;
// Adjust canvas coordinate space taking into account pixel ratio,
// to make it look crisp on mobile devices.
// This also causes canvas to be cleared.
function resizeCanvas() {
// When zoomed out to less than 100%, for some very strange reason,
// some browsers report devicePixelRatio as less than 1
// and only part of the canvas is cleared then.
var ratio =  Math.max(window.devicePixelRatio || 1, 1);
canvas.width = canvas.offsetWidth * ratio;
canvas.height = canvas.offsetHeight * ratio;
canvas.getContext("2d").scale(ratio, ratio);
}
window.onresize = resizeCanvas;
resizeCanvas();

Oh I see; the I have not experienced that issue.  The CSS transition problem that I was speaking of was specifically found while putting the signature pad in a bootstrap modal.  Does the demo work for you?

Please reopen this ticket if it's still a problem.

Hi, I'm having the exact problema described by the original poster.
If I open the signature pad inside a bootstrap modal, it doesn't work until I resize the window. It's driving me insane, lol.

I am still confident that the problem you guys are experiencing is because of css transitions.  As a test try initialing the signature in a timeout of 1 second (by then the css animation should have played through and the pad should get the correct size)

Yeah @coryasilva is correct... I have my signature box inside of a modal which sounds like the same setup as you. When the button is clicked it has an onclick property that fires the initSignature function. You may be using the data-target and data-toggle to call your modal but use an onclick function like this and then you can add the re-size as it pops up. If you inspect your code as it is now you will probably see that your canvas has a size of 0.
Button
<button class="btn btn-info btn-block" onclick="initSignature()">                                         Add Performance Report                                     </button>
Javascript
function initSignature() {                 $("#writeupModal").modal("show");                 window.setTimeout(resizeCanvas, 1000); }


Improper error highlighting

Problem:
The extension does not highlight errors in python, maybe in other languages as well but I only saw this in python so idk
let's say I have missed some enum names:
I missed the E at the end the normal default Dark+ will show this as

It's obvious from the color that I made a typo
but in the vscode vim theme ext there is no difference:

Is that an error? There is no red syntax highlighting.

Do you have a python server running on vscode?

Sorry for the late reply, but yes I have Pylance running on vscode. I think I have might have the swigglys turned off but i usually rely on the color change and it.
my problem is why isnt the theme not handling it like the default theme and other themes

No problem, that is strange I am not sure why there is no highlighting showcasing the error. The extension highlights the value property, all apart from the typo. So maybe one can use that for error messages?

Yeah, turns out pylance wasnt on when mypy was on. I turned mypy off now i am getting accurate red swigglys on the above mentioned error.
I will spend this weekend checking if i can make this better by tweaking the repo.


cargo-audit: Update crypto-primitives/blake2

Security advisory from cargo-audit. Not critical since we don't use HMACs anywhere
$ cargo audit
error: Vulnerable crates found!

ID:       RUSTSEC-2019-0019
Crate:    blake2
Version:  0.7.1
Date:     2019-08-25
URL:      https://rustsec.org/advisories/RUSTSEC-2019-0019
Title:    HMAC-BLAKE2 algorithms compute incorrect results
Solution:  upgrade to >= 0.8.1
Dependency tree:
blake2 0.7.1
└── crypto-primitives 0.1.0

Could be nice to also add cargo-audit to CI.

This is fixed by #141


feat: add xpass 1.0.0RC1 release

add :sparkles: new package xpass with version 1.0.0RC1

:tada: This issue has been resolved in version 1.345.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Complete a task value only when all inputs have completed

The current behaviour is a bit unexpected in that it will fail an eval root as soon as any of the tasks in the tree throws an exception. This leads to any already active task to be left behind and ignored.
This patch fixes the behaviour so that a task value only completes once all of the input tasks have finished evaluating.

Current coverage is 91.39% (diff: 92.85%)

Merging #22 into master will decrease coverage by 0.03%

@@             master        #22   diff @@
==========================================
  Files            16         17     +1
  Lines           420        430    +10
  Methods           0          0
  Messages          0          0
  Branches         24         26     +2
==========================================
+ Hits            384        393     +9
- Misses           32         33     +1
  Partials          4          4

Powered by Codecov. Last update b9b89a6...361424e


Multiple video topics

Publish video to multiple topics which can be subscribed to

Created request for wrong branch, redoing


BugFix: '' and '_id' conflict.

Fixes: #1680
Fixes: #1142
Addresses: #1708
When a factory has both <attribute> and <attribute>_id, each one is considered an alias for the other
and are not assigned correctly.
This requests eliminates this issue by checking if the override is an existing attribute name, before matching against an alias.

AttributeAssigner refactored to ignore a matching attribute alias, if it also matches the name of another attribute.
Renamed two methods to give more clarity to their purpose.
Tests added for attribute assignment.

It works for any recorded aliases, not just '_id'.

I had expected this problem to be much more difficult to resolve, but can't find anything wrong with your code, good job :raised_hands: When trying to understand the conflict ignored attributes - that as far as I've seen only applies to transient ones - makes the processing hard to understand. I think you managed well to make this easier to grasp.


Project recovery & Static admin recovery

What would you like to be added:
I would like there to be a way to recover a Static Admin account since if you somehow lost it (if you clear cookies without noting it down) you will have to delete the project it self, which is also not possible since there is no project delete feature in the ops http ui.
Why is this needed:
To be able to recover a project where the static admin creds have been lost.

This prblem will progress on #4844


Escaped characters printed wrong

One example:
> putStrLn . show . pprint . (\(Right a) -> a) $ parseText exp "'\\0'"
"\NUL"

This is addressed in #27


Update checks.ts

Not all type definitions use React.createElement as the jsx pragma. I bumped into this issue when updating storybook__preact types as per https://github.com/DefinitelyTyped/DefinitelyTyped/pull/37275
By adding the compiler option jsxFactory other pragmas can be used in type definitions

Ci failing for issues in @types/node which are not related to this commit

Looks like I need to update the @types/node dependency.

I published 0.9.1, which has this change and the updated @types/node dependency. New PRs on DT should get this version of dtslint.


Define secondary sort order for remainder items from primary sort

When selecting to sort by priority I noticed that the sorting for items without a priority is a bit odd.
All items that don't have priorities are listed in the reverse order that they appear in the todo.txt file.
Is this by design? I feel like it would make more sense to have the non-prioritized items appear in the same order that they are listed in todo.txt, not in the reverse order.
Could a setting be added for this perhaps? There seems to be a valid use case here for selecting a secondary sort order for items without priority when sorting by priority, or for items without due date/project/context when sorting on those.
Even without a setting like above I think the default should be set to display the remainder items as they appear in todo.txt instead of altering their order as sleek does now.

I don't see the need for another setting for this edge case, imo there already too many.
But I agree with you on the "natural sorting" method according to the order in the file, which will be integrated in 1.0.3.

Yeah I agree with keeping it simple, following the order in the file would still give one control over the order by editing it, so that's a perfectly valid solution.

Hi @tommyalatalo. This behavior is added to the development version of v1.0.3 (https://github.com/ransome1/sleek/releases/tag/v1.0.3). Please feel free to give it a look and let me know if it works as expected.


fix : finish skiplist part

finish skiplist and add a iterator
add skiplist tests
add some 'const' to proper places
Signed-off-by: SMAC_Zhang<EMAIL_ADDRESS>

Generally LGTM!
But Please resolve the conflict first.