Error: Can't login to NPM-Dashboard "Bad Gateway" - v2.11.0 (latest)

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

Yes

Are you sure you're not using someone else's docker image?

Yes

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug

After I've upgraded to the latest version v2.11.0, the login to the NPM-Dashboard no longer works (npm-ip:81). As a side note, the upgrade was performed automatically on my server because I always use the "latest" version of the Docker image.
The log shows that no further entries follow the block below:
-------------------------------------
 _   _ ____  __  __
| \ | |  _ \|  \/  |
|  \| | |_) | |\/| |
| |\  |  __/| |  | |
|_| \_|_|   |_|  |_|
-------------------------------------
User:  npm PUID:0 ID:0 GROUP:0
Group: npm PGID:0 ID:0
-------------------------------------

❯ Starting nginx ...
❯ Starting backend ...
[1/19/2024] [12:07:04 PM] [Global   ] › ℹ  info      Using MySQL configuration
[1/19/2024] [12:07:05 PM] [Migrate  ] › ℹ  info      Current database version:<PHONE_NUMBER>5214

When rolling back to the previous version v2.10.4, the problem could be "fixed", a login in the dashboard was possible again.
Nginx Proxy Manager Version
v2.11.0 (latest, as of date 19.01.2024)
To Reproduce
Steps to reproduce the behavior:

Go to npm-ip:81
Insert credentials
Click on "Sign in"
Error message "Bad Gateway" appears

Expected behavior

Login should be possible, as it was in the previous version.
Screenshots

Operating System

Ubuntu Server 22.04.3 LTS
Additional context

/None/

After finish the writing of this issue I saw the similiar issue (unfortunately did not realize it before) - for reference/duplication: #3473

I don't get the "Bad Gateway" message - simply nothing happens when I click "Sign in" after the update to the new Docker image. Portainer claims the container to be "Unhealty" with last output:
parse error: Invalid numeric literal at line 1, column 7 NOT OK

I get also the "Bad Gateway" message and additionally the Docker health status says:
parse error: Invalid numeric literal at line 1, column 7 NOT OK
Also, I had this in the log after starting with the new container:
❯ Configuring npm user ... useradd warning: npm's uid 0 outside of the UID_MIN 1000 and UID_MAX 60000 range.

I don't get the "Bad Gateway" message - simply nothing happens when I click "Sign in" after the update to the new Docker image. Portainer claims the container to be "Unhealty" with last output: parse error: Invalid numeric literal at line 1, column 7 NOT OK

If you want to verify it in another way, you could try sending a request via the API. Just change the IP and credentials in the body.
e.g. Get new Token - via cURL (or also via Postman):
curl -X POST --location 'yourIPv4:81/api/tokens' \
--header 'Content-Type: application/json' \
--data-raw '{
    "identity"<EMAIL_ADDRESS>    "secret": "yourPassword"
}'

The response should then be something like this:

    <title>502 Bad Gateway</title>

502 Bad Gateway

    openresty

same problem as op for me on 2 different installation

I have the same problem.

I have this problem as well. If you downgrade to the last version it works again with your normal login/configurations still working.
Just change the image line in your docker compose from image: 'jc21/nginx-proxy-manager:latest' to image: 'jc21/nginx-proxy-manager:2.10.4' and re-deploy. Hopefully it's possible to find a real fix to this issue so we can update nginx proxy manager.

Same problem. Beside that database version shows none.
[1/19/2024] [9:26:27 PM] [Global   ] › ℹ  info      Using Sqlite: /data/database.sqlite [1/19/2024] [9:26:28 PM] [Migrate  ] › ℹ  info      Current database version: none

Same problem. Beside that database version shows none. [1/19/2024] [9:26:27 PM] [Global ] › ℹ info Using Sqlite: /data/database.sqlite [1/19/2024] [9:26:28 PM] [Migrate ] › ℹ info Current database version: none

"Current database version: none" is normal when using the internal Sqlite

Hello! I have 2 instances using the github-develop image for both. I swapped to github-develop awhile back to fix some weird issue and I forgot to switch back to latest. Anyway, both containers were updated at the same time early this morning. My intranet container is working fine, login and all. My DMZ instance is getting the "Bad Gateway" error upon logging in but reverse proxy is still working fine. Both containers are virtually identical, except for being on two different VLANs.
I tried to roll back the DMZ container to 2.10.4 but I'm still having the same issue.

downgrading to :2.10.4 solved this issue for me to.

Same problem using several different builds from the unraid app store.
If I access the terminal and delete the /data/sqllite.database I am able to log in, but of course all configuration is reset.
From fresh install:
Change username password
Create a simple single host fowarded to an internal IP address, and pulled a new SSL cert.
Everything works fine. I can logout and login just fine. I can access the host properly internally and externally.
If I restart the container I get the same error on the login screen "Bad Gateway"
The host is still accessable even after this error.
The error only occurs after restarting the container.
I replicated with 2 separate servers. (Both Unraid)
I replicated with a portainer compose file.
I replicated with the Nginx Official build from the unraid store.
I repleciated with the binhex build from the unraid store.
I can not find any log errors. (But maybe dont know where to look)

-Nemsys

An update on my situation:
1.) I downgraded to 2.10.3 and removed the NODE_OPTIONS=--openssl-legacy-provider environment variable. The container came up fine and I was able to log in. I restarted the container multiple times and was able to log in after each restart.

I upgraded to 2.10.4. As before, container came up good and was able to restart/login with no issues.

I upgraded to 2.11.0 (this time using the latest tag) and saw the following in the console:
 Configuring npm user ... useradd warning: npm's uid 0 outside of the UID_MIN 1000 and UID_MAX 60000 range.
It appears that TheUntouchable commented on this earlier. Now I am unable to log in.

From here, I downgraded back to 2.10.4 and removed the NODE_OPTIONS=--openssl-legacy-provider environment variable again. BOOM. I'm able to log back in.

I still have no clue why my intranet NPM container on 2.11.0 is working fine, even after a restart.

I have the same issue since 2.11.0.
Moving back to 2.10.4 solved the issue for me too.

I have the same issue since 2.11.0.

Same issue since 2.11.0 (with latest tag)
Moving back to 2.10.4 solved the issue for me too.

Same issue with lasted on Ubuntu oracle cloud.
in Portainer also - unhealthy .

same here..
change in docker compose
image: 'jc21/nginx-proxy-manager:2.10.4'
solve issue, but use old version (of course)
thank you

change in docker compose

yes i saw ,Thanks

The error only occurs if you upgrade from 2.10.4. If you set up the container fresh with 2.11.0, the login works.

Hi all, same for me.
As far as i can see, starting logs with 2.10.4 are:
[Global   ] › ℹ  info      Using MySQL configuration
[Migrate  ] › ℹ  info      Current database version:<PHONE_NUMBER>5214
[Setup    ] › ℹ  info      Logrotate Timer initialized
[Setup    ] › ℹ  info      Logrotate completed.
[IP Ranges] › ℹ  info      Fetching IP Ranges from online services...
[IP Ranges] › ℹ  info      Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
[IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v4
[IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v6
[SSL      ] › ℹ  info      Let's Encrypt Renewal Timer initialized
[SSL      ] › ℹ  info      Renewing SSL certs close to expiry...
[IP Ranges] › ℹ  info      IP Ranges Renewal Timer initialized
[Global   ] › ℹ  info      Backend PID 168 listening on port 3000 ...

vs 2.11.0:
[Global   ] › ℹ  info      Using MySQL configuration
[Migrate  ] › ℹ  info      Current database version:<PHONE_NUMBER>5214

Obviously services are not launching on the new version of the image.

I have the same issue since 2.11.0

Works with github-pr-3395 but there is let's encrypt error like these:
[1/20/2024] [8:57:38 PM] [SSL      ] › ✖  error     Error: Command failed: certbot renew --non-interactive --quiet --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --preferred-challenges "dns,http" --disable-hook-validation
Failed to renew certificate npm-10 with error: Some challenges have failed.
Failed to renew certificate npm-11 with error: Some challenges have failed.
Failed to renew certificate npm-12 with error: Some challenges have failed.
Failed to renew certificate npm-13 with error: Some challenges have failed.
Failed to renew certificate npm-14 with error: Some challenges have failed.
Failed to renew certificate npm-15 with error: Some challenges have failed.
Failed to renew certificate npm-8 with error: Some challenges have failed.
Failed to renew certificate npm-9 with error: Some challenges have failed.
All renewals failed. The following certificates could not be renewed:
  /etc/letsencrypt/live/npm-10/fullchain.pem (failure)
  /etc/letsencrypt/live/npm-11/fullchain.pem (failure)
  /etc/letsencrypt/live/npm-12/fullchain.pem (failure)
  /etc/letsencrypt/live/npm-13/fullchain.pem (failure)
  /etc/letsencrypt/live/npm-14/fullchain.pem (failure)
  /etc/letsencrypt/live/npm-15/fullchain.pem (failure)
  /etc/letsencrypt/live/npm-8/fullchain.pem (failure)
  /etc/letsencrypt/live/npm-9/fullchain.pem (failure)
8 renew failure(s), 0 parse failure(s)

And not works since github-bookworm-base version for me.

I would like to remind people that "same issue" posts aren't really helpful, they just spam the inbox of people who are subscribed to this issue.
I think it's pretty clear by now that upgrading from 2.10.4 to 2.11.0 introduces a bug.

I found the solution. Problem is when no certificates have dns-challenge.
setup.js would need this small code:
if (!plugins.length) {     return; }
added before:
return certbot.installPlugins(plugins);

As @ToxicToxster has identified, yes this only affects startup where there are certs but none of them have DNS challenges.
I've pushed a fix to develop branch, just waiting for a build and I can run a full test of the circumstance.

Thanks, i just upgraded to the github-develop one and it works again. Great work!

New version v2.11.1 has been released. Tests were successful after update.
Description in PR #3482

Version 2.11.1 works a wanted (I can login!)

Update to latest version worked, thank you for the fast update!

Docker updated via Watchtower and works. Container healthy.

i got same problem in 2.11.1 , downgrade to 2.10.4 is also not working
what shall i do? T.T

i got same problem in 2.11.1 , downgrade to 2.10.4 is also not working what shall i do? T.T

What kind of certificates do you use? Do you use DNS-challenge?

i got same problem in 2.11.1 , downgrade to 2.10.4 is also not working what shall i do? T.T

What kind of certificates do you use? Do you use DNS-challenge?

I also upgraded to :latest yesterday and use DNS-challenge.
At first no apparent problems. But then started noticing my domains were loading extremely slow.
Went out on a search, thought it was a Cloudflare/ISP issue. Sometimes it would connect fast and fine but only when loading from cache. Majority of the time it would give a 522 error.
Then wanted to log in on admin panel, got the bad gateway error. Pulled the instance down, opened it up and the admin panel was inaccessible. Downgrading to previous version didn't work as the update probably altered files, so had to restore from a backup and upgraded that to 2.10.4.

stdout: [1;34m❯ [1;36mStarting nginx ...[0m stderr: nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/npm-13/fullchain.pem": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/etc/letsencrypt/live/npm-13/fullchain.pem, r) error:10000080:BIO routines::no such file)
copy npm-12 to non existent npm-13 solved the issue for me -.-

As @ToxicToxster has identified, yes this only affects startup where there are certs but none of them have DNS challenges.
I've pushed a fix to develop branch, just waiting for a build and I can run a full test of the circumstance.

Doesn't work for me

solution for now : cp-r npm-16 npm-28 in live directory

I had this error whenever I used 2.11.x images:
node[468]: std::unique_ptr node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start() at ../src/node_platform.cc:68
Nothing worked for me until I upgraded my Ubuntu VM from version 20 to 22. Hope this helps someone.

Resolving "Bad Gateway" Error in Podman Containers
Hi Team,
I encountered and resolved a recurring "Bad Gateway" error on the Admin Web interface (v2.11.1 © 2024 jc21.com, Theme by Tabler). Despite the error, the sites were operational. Here’s a summary of the steps taken:
Initial Issue:
The Admin Web interface displayed "Bad Gateway," and I was unable to log in, although the sites were up and running.
Attempted Solution:
I created a new container using the same docker-compose.yml file to address the issue. The configuration was as follows:
version: '3.8'
services:
superapp:
image: 'docker.io/jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '2080:80'    # Public HTTP Port
- '2443:443'   # Public HTTPS Port
- '2081:81'    # Admin Web Port
environment:
DB_MYSQL_HOST: "HOSTDB"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "SUPERUSER"
DB_MYSQL_PASSWORD: "SUPERPASSWORD"
DB_MYSQL_NAME: "SUPERDB"
DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- superdb
superdb:
image: 'docker.io/jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'SUPERPASSWORD'
MYSQL_DATABASE: 'SUPERDB'
MYSQL_USER: 'SUPERUSER'
MYSQL_PASSWORD: 'SUPERPASSWORD'
MARIADB_AUTO_UPGRADE: '1'
volumes:
- ./mysql:/var/lib/mysql
Observations:
The new container operated without issues for a couple of weeks but eventually failed with the same "Bad Gateway" error. Checking the console, I found the following error message:
[superapp2] | [6/12/2024] [7:43:45 PM] [Global   ] › ✖  error     Migration table is already locked
[superapp2] | [6/12/2024] [7:43:46 PM] [Migrate  ] › ℹ  info      Current database version:<PHONE_NUMBER>5214
[superapp2] | Can't take lock to run migrations: Migration table is already locked
[superapp2] | If you are sure migrations are not running you can release the lock manually by running 'knex migrate:unlock'
I attempted to run knex migrate:unlock, but it was unsuccessful.
Final Solution:
I created a third container and compared the database tables with the previous containers:
New (3rd) Container Tables:
MariaDB [npm]> show tables;
+--------------------+
| Tables_in_npm      |
+--------------------+
| access_list        |
| access_list_auth   |
| access_list_client |
| audit_log          |
| auth               |
| certificate        |
| dead_host          |
| migrations         |
| migrations_lock    |
| proxy_host         |
| redirection_host   |
| setting            |
| stream             |
| user               |
| user_permission    |
+--------------------+
15 rows in set (0.001 sec)
Old (1st and 2nd) Container Tables:
MariaDB [npm]> show tables;
+----------------------+
| Tables_in_npm        |
+----------------------+
| access_list          |
| access_list_auth     |
| access_list_client   |
| audit_log            |
| auth                 |
| certificate          |
| dead_host            |
| knex_migrations      |
| knex_migrations_lock |
| migrations           |
| migrations_lock      |
| proxy_host           |
| redirection_host     |
| setting              |
| stream               |
| user                 |
| user_permission      |
+----------------------+
17 rows in set (0.001 sec)
To resolve the issue, I deleted the extra knex_migrations and knex_migrations_lock tables from the 2nd container, which restored its functionality.
Important Note: This action was performed in a test environment with full data backup. If you choose to replicate this process, ensure you have backups to prevent data loss. Proceed with caution.
I hope this information is helpful.
Best regards,

To resolve the issue, I deleted the extra knex_migrations and knex_migrations_lock tables from the 2nd container, which restored its functionality.

Ville1ero, can you explain how to do this?  I don't know mysql at all, I'm just trying to get nginx installed.  I am assuming this is done through a shell on the mysql container but again, I'm not familiar.

Ville1ero, can you explain how to do this? I don't know mysql at all, I'm just trying to get nginx installed. I am assuming this is done through a shell on the mysql container but again, I'm not familiar.

Hi ccbadd, I recommend against proceeding with this process without a solid understanding of MySQL. It involves data backup and requires familiarity with the steps to avoid data loss.

Ville1ero, can you explain how to do this? I don't know mysql at all, I'm just trying to get nginx installed. I am assuming this is done through a shell on the mysql container but again, I'm not familiar.

Hi ccbadd, I recommend against proceeding with this process without a solid understanding of MySQL. It involves data backup and requires familiarity with the steps to avoid data loss.

Actually it is MariaDB (sorry) and I only installed it as part of the nginx install.  There was no other data to risk.  I did find another poster who posted their docker-conpose.yml file with a couple of differences so I tried it just now and that got things working!
Thanks for the quick reply.

Actually it is MariaDB (sorry) and I only installed it as part of the nginx install. There was no other data to risk. I did find another poster who posted their docker-conpose.yml file with a couple of differences so I tried it just now and that got things working! Thanks for the quick reply.

Before proceeding, can you please confirm that you have the same error:
[Global ] › ✖ error Migration table is already locked
[Migrate ] › ℹ info Current database version:<PHONE_NUMBER>5214
[superapp2] | Can't take lock to run migrations: Migration table is already locked
[superapp2] | If you are sure migrations are not running you can release the lock manually by running 'knex migrate:unlock'

Sorry, I already purged the original containers and reinstalled.

Ok, if it happens again, and is the same error:
[Global ] › ✖ error Migration table is already locked
[Migrate ] › ℹ info Current database version:<PHONE_NUMBER>5214
[superapp2] | Can't take lock to run migrations: Migration table is already locked
[superapp2] | If you are sure migrations are not running you can release the lock manually by running 'knex migrate:unlock'
These are the detailed steps:
podman exec --user=root -it [DATABASE_CONTAINER] /bin/sh
mysqldump -uroot -p [DATABASENAME] > 20240727_[DATABASENAME]_backup.sql
mysql -uroot -p [DATABASENAME]
MariaDB [[DATABASENAME]]> DROP TABLE knex_migrations, knex_migrations_lock;
For me still working.

the same problem 2.11.3. solved by sequentially restarting containers, first mariadb then npm

I'm on 2.11.3 and I'm having the same problem. Tried using older versions but they present the same error. Funny that it was working properly last month. Anyone still having this problem on 2.11.3?

My solution still working for me, no issues after more than 3 months.


The linkNoPrefix option strips out domains when opening the link edit modal

Describe the bug
When creating a link while the linkNoPrefix option is set to true, you can put in an absolute URL (internal or external) as you would expect. When applying the link, the href attribute is set to what you have filled in, e.g. https://example.com/test. Everything good so far. But when you want to edit this link, the whole domain gets stripped out in the link input field in the modal, leaving only test as the url. This shouldn't happen. You should be able to put any link, internal or external when the linkNoPrefix option is set to true.
To Reproduce
Steps to reproduce the behavior:

Set the linkNoPrefix to true for your editor
Add some text in the editor and create an absolute link from (some of) the text.
At this point the absolute link is present correctly in the href attribute of the a element.
Edit the link, and you will see the domain gets stripped out of the absolute link (which actually isn't absolute anymore at this point).

Expected behavior
Nothing should happen to the link that is filled in when editing the link while the linkNoPrefix option is set to true for the editor.
Desktop (please complete the following information):

OS: Tested on both Windows 10 Home and Pro
Browser: Happens in at least the most current versions of Chrome, Edge and FireFox

Would be super if this can be fixed! Thanks!

The 2.43.13 version has been updated.
If this issue has not been resolved, please reopen this issue.
Thank you.

It's fixed now indeed, thanks!


fix(rtl-customisation): changed the header back button orientations o…

…f all the components and sidebar collapse button from left to right
PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://refine.dev/docs/guides-concepts/contributing/#commit-convention

Bugs / Features

[x] Related issue(s) linked
[x] Tests for the changes have been added - There were no tests for the example that I made changes to
[ ] Docs have been added / updated
[ ] Changesets have been added https://refine.dev/docs/guides-concepts/contributing/#creating-a-changeset

What is the current behavior?
In the current behaviour whenever we use the rtl-customisation example the arrows are not aligned from right to left
What is the new behavior?
The arrows are not aligned to the right to left format
fixes # (issue)
https://github.com/refinedev/refine/issues/5953#issuecomment-2119900397
Notes for reviewers

If anyone could help me with the documentation and changesheet part, I have never done that and I followed the documentation but I have some doubts

Got it @aliemir I'll make the necessary changes and get back to you.

@aliemir Thanks for the help, I had no idea about the antd ConfigProvider, could you please take a look at this PR, and let me know if anything needs to be changed!!

@aliemir sure I can work on the tests as well, Do I do this in this PR only or do I need to raise a different one?
I'll surely ask you if I get stuck somewhere, do let me know how do I reach out to you!!

Hey @ApsMJ23 you can do it in this PR.

@aliemir This looks good to me, It was a great learning experience I learned more by contributing on this than my day job xD, Please lemme know if I can do anything more to make refine better!!


I try to login with email and found error on second time

I try to login with email, it okay on first time.
After I modify command help and rerun. I found this error below
File "/root/FHPBOT/pybot/Aria_helper/CHRLINE/models.py", line 568, in postPackDataAndGetUnpackRespData
raise LineServiceException(res['error'])
CHRLINE.exceptions.LineServiceException: Code: 20, Message: Failed to issue V3 token
Please help
Thank you so much  for your support

This may be a bug in the CHRLINE API.
If you are not using Andriod device and use email login ....
Android or IOS login devices only support private token.


Update image-builder-powershell.md

Customer of Azure PowerShell reported that they could not follow the steps in this document because the required cmdlet could not be found. Root cause is that the Az.ImageBuilder PowerShell module is not included in the Az rollup module so it needs to be installed separately.
This PR adds a note in the "Prerequsites" section to state how to do that.
Link to the doc: https://learn.microsoft.com/en-us/azure/virtual-machines/windows/image-builder-powershell#create-an-image
Link to customer reported issue: https://github.com/Azure/azure-powershell/issues/20923

@kof-f
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Migrate Auth0 from deprecated API

The API we're using is going away, need to migrate to new API.

Oh, and we have until July 16th. Fun.


Create Assembly Endpoint (REST API) does not allow you to add a team for your assembly.

Right now if i use the endpoint to create an assembly, It will create an assembly but it will not create the relationship between the assembly and me (or my team). This only happens when you do it through the UI. This would lead me to create phantom assemblies that have no teams and I cannot see or delete after I create them (I have done this). Because this bug is here, this also happens in the oneops cli gem too I believe.

Issue tracking is migrated to Walmart JIRA and https://github.com/oneops/oneops.


Please create a codepen example of aos.js with animate.css because I tried as your guides but did not get success.

This is:

Request

Specifications

AOS version:

Detailed Description

I tried to use aos.js with animate.css according to your guidelines and using your demo script animatecss.html on codepen (Link) but didn't get success.

Please fix bugs or errors of my codepen if found or create a fresh codepen.

My Codepen Link.
AOS with AnimateCSS

Possible Solution

I requested to you please create a codepen aos.js with animate.css for better understanding.

This code pen might be helpful:
https://codepen.io/michalsnik/pen/WxNdvq

This code pen might be helpful:
https://codepen.io/michalsnik/pen/WxNdvq

This is the default AOS. Can somebody please give us a codepne link for AOS integrated with latest animate.css which has changed their default calls name. like this: " animate__ "

Hi @srmahmud2
Here is a working codepen link for AOS with Animate.css : https://codepen.io/nathan-sr/pen/KKYOype
Thanks & Credits to the excellent AOS Library and its contributors !
Best Regards,
Nathan S.R.


Refactor for printing with BlockTag::Latest and BlockTag::Pending

Refactors changes for #757 (blocked by #795)
Raised when working on this PR: #791
Introduced changes

RawForgeConfig to serialize data from metadata. RawForgeConfig is parsed into ForgeConfig using TryFrom trait, allowing us to early catch e.g. URL parsing errors
test-collector: RawForkConfig parsed to ForkConfig to parse URL early and return errors during compilation.

Checklist

[ ] Linked relevant issue
[x] Updated relevant documentation
[x] Added relevant tests
[x] Performed self-review of the code
[ ] Added changes to CHANGELOG.md

I don't think there is a point merging this one before chatnet fixes their issue

Closing, starting again with #919


App crashed after viewing a Received ID

Describe the bug
After sharing an ID and opening the shared ID in the Received IDs, the app crashes.
To Reproduce
Steps to reproduce the behavior:

Share an ID
After successfully sharing an ID, the receiving device should land on the Received IDs page
Open the ID shared in the Received IDs
See error

Expected behavior
App should not crash and you should be able to open and view the details of the shared ID in the Received IDs page
Additional context
Tested on builds:
Android: QA4_io.mosip.residentapp-0.4.1-rc1-newlogic_20221123_1723.apk
iOS: inji 0.4.1 (3) (TestFlight)
Smartphone

iPhone 11 - iOS 16.1
iPhone SE - iOS 15.4
Samsung Galaxy A23 - Android 12

Screenshots
https://user-images.githubusercontent.com/102940764/204182590-5f039680-251d-4d4d-8f0c-c5902304dd47.MP4

Related crashlytics report:
https://console.firebase.google.com/project/mosip-resident-app/crashlytics/app/android:io.mosip.residentapp/issues/ae12e08275f7310db29992f1ef9776f6?time=last-seven-days&sessionEventKey=6385AFC700490001593AA5BE88576146_1749777588287282709

Tested on
Android: QA4_io.mosip.residentapp-0.4.1-rc3-newlogic_20221205_0904.apk
iOS: Inji 0.4.1 (4)
ISSUE IS STILL PRESENT
Assign back to dev
@pmigueld @danicaerediano @Anushree09-N @kyanthony @rakhimosip @Sujithbn
To Reproduce
Steps to reproduce the behavior:

Share an ID
After successfully sharing an ID, the receiving device should land on the Received IDs page
Open the ID shared in the Received IDs
See error

Test devices:
iPhone SE - iOS 15.4
iPhone 11 - iOS 16.1.1
Samsung Galaxy A23 - Android 12
Samsung Galaxy A20s - Android 11

Tested on
Android: COLLAB_io.mosip.residentapp-0.4.1-rc5-newlogic_20221216_1728.apk
iOS: Inji 0.4.1 (7)
WORKS AS EXPECTED
@pmigueld @danicaerediano @Anushree09-N @kyanthony @rakhimosip @Sujithbn
To Reproduce
Steps to reproduce the behavior:

Share an ID
After successfully sharing an ID, the receiving device should land on the Received IDs page
Open the ID shared in the Received IDs
Verify that the app doesn't crash

Test devices:
iPhone SE - iOS 15.4
iPhone 11 - iOS 16.1.1
Samsung Galaxy A23 - Android 12
Samsung Galaxy A20s - Android 11

Verified this issue in android QA5 env, issue is not observed anymore, we are able to share and view VC in android without any errors, hense the bug is closable from android side
Screenshot :
https://user-images.githubusercontent.com/102220709/209133646-7918c9b0-c659-4e2a-8487-25e8da303205.mp4
Smartphone :

Device: PIXEL 6
OS: Android 13
MOSIP Version: <IP_ADDRESS>
MOSIP server: qa5.mosip.net
APP link; https://mosip.atlassian.net/browse/DSD-1816

Verified on:
Device: iPhone 8 & iPhone 11
OS: 16.0.2 (20A380), 15.6.1
Inji app version: 0.4.1 (4) -> Testflight
MOSIP Version: <IP_ADDRESS>
MOSIP server: qa5.mosip.net
App is not  crashing able to view Received ID.
Uploading RPReplay_Final1671712517.MP4…


[spaceship] Retry request when App Store Connect raises Bad Gateway

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
Sometimes, App Store Connect raises Bad Gateway.
<!DOCTYPE html>



Bad Gateway

Correlation Key: XXXXXXXXXXXXXXXXXXXXX

When fastlane/deliver is waiting a processing phase, lane execution is stoped due to this error.
We want to ignore this error and retry requests.
Description

Defined BadGateway error
If BadGateway is raised, fastlane attempt to retry sending.

Do we have a concrete issue this is trying to solve? I think I remember some, but can't find them right now.

If you are using 2.109+ already you can check the spaceship logs at /tmp/spaceship-*.log - those should contain the response body and header code now.
You could also send it to me at<EMAIL_ADDRESS>then I can take a deeper look to understand what seems to be going on and which calls exactly are erroring (and if you include the output of fastlane at the same time, even correlate to what exactly fastlane was doing).

Thanks for the PR @giginet 👍

We are still on 2.108.0 so logs are disappeared. 😢
I'll wait for the next error to further investigation.

(2.108.0 also has logs of course, but they problably don't contain the neccessary information to debug this properly. But have a look anyway if you can - maybe I am wrong)


Date (skeletons): handle date and time in the same skeleton

Currently, it's possible to:
> Globalize.formatDate(new Date(), "MMMd")
'Jun 3'
> Globalize.formatDate(new Date(), "hms")
'1:40:31 PM'

Although, .formatDate( date, "MMMdhm" ) isn't. But, it should.
http://www.unicode.org/reports/tr35/tr35-dates.html#Time_Data

If a client-requested set of fields includes both date and time fields, and if the availableFormats data does not include a dateFormatItem whose skeleton matches the same set of fields, then the request should be handled as follows:

Divide the request into a date fields part and a time fields part
For each part, find the matching dateFormatItem
Combine the patterns for the two dateFormatItems using the appropriate dateTimeFormat pattern, determined as follows from the requested date fields:

If the requested date fields include wide month (MMMM, LLLL) and weekday name of any length (e.g. E, EEEE, c, cccc), use
Otherwise, if the requested date fields include wide month, use
Otherwise, if the requested date fields include abbreviated month (MMM, LLL), use
Otherwise use

See also: https://github.com/ibm-js/ecma402/issues/76

@rxaviers sir,
I see ibm-js/ecma402/issues/76 have already implemented long , medium , short which is already available here under preset datetime . If there is more customization like above examples given by you, what we can do is parse the skeleton and see date and time component and call formatDate for both separately and return accordingly. But yes there may be several cases we have to take care of. For example, "GyMMM" and similar skeletons: In this we would need to put AD after the time. Also it may be possible user asks for time first before date. So should take care of all flexibilities.
I would like to take this up if possible.

is already available here under preset datetime

Yeap, this issue isn't about the presets. But, skeletons.

For example, "GyMMM" and similar skeletons: In this we would need to put AD after the time. Also it may be possible user asks for time first before date. So should take care of all flexibilities.

@ManrajGrover note there's a difference between skeletons and raw patterns. A skeleton is mapped into a raw pattern. For example, GyMMM skeleton becomes MMM y G raw pattern for en-US, and Gy年M月 raw pattern for zh-CN. So, note the order of the pattern-fields in a skeleton doesn't select their order in the final raw pattern. That's its beauty by the way. A skeleton should be always in the canonical order.

and call formatDate for both separately and return accordingly

I'm looking for a solution that extends date/expand-pattern.

@rxaviers sir,
Ohkay sir. So basically the pattern should be entered in canonical form and then should be extracted and processed, right? The method mentioned in this can be used but it does not say anything about the time. What if user wants dates "full" date but "short" time? There this method will return datetime: "full" .
I would suggest we take each date and time separately and then concatenate them. One more thing is if either date nor time don't exist, should we throw an error or give a closest form of datetime? How to do that?
I went through the code given in date/expand-pattern and saw we can handle these in case "skeleton" in pattern.

So basically the pattern should be entered in canonical form and then should be extracted and processed, right

Correct.

What if user wants dates "full" date but "short" time? There this method will return datetime: "full" .
I would suggest we take each date and time separately and then concatenate them. One more thing is if either date nor time don't exist, should we throw an error or give a closest form of datetime? How to do that?

We won't handle the combination of different values for date and time separately.

I went through the code given in date/expand-pattern and saw we can handle these in case "skeleton" in pattern.

Just let me know in any questions.

@rxaviers sir,
We can check if it is date or time or datetime.
if(skeleton.isDate() || skeleton.isTime()){
    then do default search for result
else if(skeleton.isDateTime){
    then follow four if cases listed above.
}

Last case is default short. We won't be doing appendItems as mentioned in this link last paragraph, right?
I shall start working on it.

Yeap, your high level sketchup seems correct. Looking forward to it. Thanks

@rxaviers sir,
I have almost completed the feature. It is throwing error for the case containing "MMMME" and "MMMM" . This is because the CLDR does not contain these pattern. Though I just need to give "full" as result for them, which I am, it is throwing "E_MISSING_CLDR: Missing required CLDR content main/en/dates/timeZoneNames/gmtFormat." on line 84 in globalize.js .

it is throwing "E_MISSING_CLDR: Missing required CLDR content 'main/en/dates/timeZoneNames/gmtFormat'".

Have you loaded all required CLDR data for the Date module?

Though I just need to give "full" as result for them,

Why do you need to return full?

I have almost completed the feature. It is throwing error for the case containing "MMMME" and "MMMM" . This is because the CLDR does not contain these pattern.

I'm confused why are checking "MMMM" given it's about the month pattern only. It has nothing to do with handling date and time in the same skeleton.
Can you handle "MMME"? I'm mostly interested on handling date and time patterns in the same skeleton. Not #271.

@rxaviers sir,
According to the link, there are 4 cases, first one being when skeleton has "MMMM" and a day component. For that it says to print answer as datetime: "full". Yes sir, similarly for next three cases, I am returning "long" , "medium" and "short". "MMME" comes under Case 2.

It's not saying you should use datetime: "full" (this is a Globalize definition). But, <dateTimeFormatLength type="long">, which is the "glue" pattern from CLDR data.

I assume you have seen this data. But, just in case http://www.unicode.org/repos/cldr-aux/json/26/main/en/ca-gregorian.json

Yes sir. I have been following this only and have inferred the data from this and the link I mentioned before working. Sir, by "glue" pattern you mean?

"dateTimeFormats": {
          "full": "{1} 'at' {0}",
          "long": "{1} 'at' {0}",
          "medium": "{1}, {0}",
          "short": "{1}, {0}"
}

Yeps. I have used them only. Should I send a PR? That will help clear things.

Great then. Yeap, please do so.


Adding some utilty functions like t.sha3, t.u256_to_string, t.string_to_u256

They have some tests too. The name of the latter two could be better. Helper functions fill some holes in this wiki page describing the functions interesting for testing. (#159 for reference)
Btw, x-2**256 if x > 2**255 else x in "s.send" could be like something that bites people as unexpected? (hmm if it stays i should mention it in the wiki page)

Looks good; though likely needs to be updated for the new code architecture.


INDENTATIONERROR 'EXPECTED AN INTENTED BLOCK'

My code is working perfectly fine before using the obfuscator, after I use the obfuscator tool, my python code won't run and I receive the following error "IndentationError: ('expected an indented block'"
It would appear to me that the tool is causing some kind of issue with the code? Can you please assist, this tool was what I have been looking for, for so long. =[ Do you have a direct email address?

Just checked my original code with online tool, and it also found "expected indented block".
But for some reason, before I obfuscate the code, the code still works and runs.
Only when I obfuscate it, does it not allow the program to run
I am closing this issue, as I have confirmed with the online tool that there is an indentation error (or so I assume)

Let me know if there is anything else you would love me to help. Cheers! There is some bugs that I know are in the current implementation with longer code snippets, which I need to go ahead and fix at some point.

Hi again, I now have another problem. My code is too large, so the server times out, and im unable to obfuscate the code. I have taken your suggestion of attempting to run the program locally. I have installed Ubuntu on a VM, I have also installed all the required files you mentioned in the text file (argparse, cyclone, pyOpenSSL, twisted, wsgiref, zope interface). Now im stuck, what do i do from here? If i attempt to run (python pyobf.py) in the terminal nothing happens. If i attempt to "execute" pyobf.py, the OS lags for abit, and then I get these "PS" files generated, which are just screenshots (images) called "base64" and "re", and they're simply images of my desktop screen. If I "execute" obfuscatorPage.py , nothing happens. If i attempt to run (python obfuscatorPage.py) in the terminal, I get "twisted.internet.error.cannotlistenerror: couldnt listen on any:5000: [Errno 98] Address already in use"..... Im really stuck right now, where am i suppose to input my original code? How am i suppose to run the program? Can you please help me, I really need to release my program for my customers today, but I dont want to release it before I obfuscate it. Your urgent assistance will be greatly appreciated

Just to update,  If i attempt to run (python obfuscatorPage.py) it successfully starts listening (i just restarted Ubuntu and it fixed the error I mentioned above). But I still cant work out how to actually use this program. Ive been trying different things for 4 hours straight. If you are reading this please help me lol im going crazy

Hey man,
so you don't need to run the server (server is really for demo purpose on heroku), you need to write a script to load pyobf.py (all it needs is standard python libs so you shouldn't need to setup anything to use that script), then you just need to run
obf = pyobf.Obfuscator(string)
obfuscated = obf.build_simple()

and that should be able to get your code obfuscated. However, as I mentioned before, the script is currently buggy with large source files, your mileage will vary, and I think what you should try is to understand the code (should be a short read), fork, and refine the algorithm to make it more robust.
Let me know if you still have questions. I think that should get you up and running.

As for installing dependencies in the server, you need to use python-pip (preferably with pyvenv/virtualenv). Once you have those setup, you should be able to run
pip install

and pip will install those dependencies (cyclone etc) for you based on requirements.txt. Hope that speeds up your python development as well! (once you start using package management tools, you can NEVER go back!)
http://docs.python-guide.org/en/latest/dev/virtualenvs/
https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/

You could try to fork this and deploy on heroku yourself. That way you don't have to pay me for the heroku dyno haha!

I worked it out!! Thanks so much for your help, much appreciated


KOGITO-6033: Make DMN data types documentation entries readable

For more details see:

https://issues.redhat.com/browse/KOGITO-6033

before

after

The (build) kogito-tooling-editors-java check has failed. Please check the logs.


fix fix memory leak in VDataStreamRecvr::SenderQueue (#8643)

backports from https://github.com/apache/incubator-doris/pull/8643
After VDataStreamRecvr::SenderQueue::close clears _block_queue, calling
VDataStreamRecvr::SenderQueue::add_block again will cause a memory leak.
So, change the lock position, like the other add_block and add_batch.
(cherry picked from commit ea45940ef0c0b893f48b09320f248f8e44505c2a)
Signed-off-by: SWJTU-ZhangLei<EMAIL_ADDRESS>Proposed changes
Issue Number: close #xxx
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

hi @SWJTU-ZhangLei , you need to merge to master branch , not dev-1.0.1


split up into a docker-compose and docker-compose.dev.yml

include the dev yml for development locally. on a server we just use the docker-compos.yml
also added default logging settings so we don't keep the entire log
FYI I use this in my .bashrc to make this automatic, but you can also set up a .env file locally

# sets up compose env
function dev_compose_env() {
    COMPOSE_FILE=''
    if [ -f "$PWD/docker-compose.yml" ]; then
        COMPOSE_FILE='docker-compose.yml'
        if [ -f "$PWD/docker-compose.dev.yml" ];then
            COMPOSE_FILE="$COMPOSE_FILE:docker-compose.dev.yml"
        fi
        if [ -f "$PWD/docker-compose.override.yml" ];then
            COMPOSE_FILE="$COMPOSE_FILE:docker-compose.override.yml"
        fi
        echo "using COMPOSE_FILE=$COMPOSE_FILE"
        export COMPOSE_FILE
    fi
}

function replace_cd() {
    if builtin cd "$@";then
        dev_compose_env
    fi
}

include the dev yml for development locally. on a server we just use the docker-compos.yml also added default logging settings so we don't keep the entire log
FYI I use this in my .bashrc to make this automatic, but you can also set up a .env file locally

# sets up compose env
function dev_compose_env() {
    COMPOSE_FILE=''
    if [ -f "$PWD/docker-compose.yml" ]; then
        COMPOSE_FILE='docker-compose.yml'
        if [ -f "$PWD/docker-compose.dev.yml" ];then
            COMPOSE_FILE="$COMPOSE_FILE:docker-compose.dev.yml"
        fi
        if [ -f "$PWD/docker-compose.override.yml" ];then
            COMPOSE_FILE="$COMPOSE_FILE:docker-compose.override.yml"
        fi
        echo "using COMPOSE_FILE=$COMPOSE_FILE"
        export COMPOSE_FILE
    fi
}

function replace_cd() {
    if builtin cd "$@";then
        dev_compose_env
    fi
}

Also, I really like this! Just so it's written down publicly somewhere, here's my quick translation to fish (which is what I use, may be useful to others at some point)
# goes in ~/.config/fish

function doco_compose_env --description 'Sets COMPOSE_FILE environment variable automatically upon entering a directory' --on-variable PWD
  if test -f (pwd)/docker-compose.yml
    set -x COMPOSE_FILE docker-compose.yml
    if test -f (pwd)/docker-compose.dev.yml
      set -x COMPOSE_FILE  $COMPOSE_FILE docker-compose.dev.yml
    end
    if test -f (pwd)/docker-compose.override.yml
      set -x COMPOSE_FILE $COMPOSE_FILE docker-compose.override.yml
    end
    echo "Using COMPOSE_FILE=$COMPOSE_FILE"
  end
end


[DO NOT MERGE] PP 11682 Replace 'request' package with 'axios'

https://payments-platform.atlassian.net/browse/PP-11682
WHAT

Change client methods to use ‘axios-base-client’ i.e.
adminusers.client.js
cardid.client
connector.client.js
Refactor call parameters initialisation.
Use ‘async/await’ syntax.

HOW
All automated tests should pass preferably without the need to be amended.
Existing functionality should remain unaffected.

No longer required - this PR has been broken up into smaller PRs.


feat: add Jina integration extension

Description
This adds an extension to allow using Jina Embeddings via Jina Embedding Platform.
Checklist

[x] Is this code covered by new or existing unit tests or integration tests?
[ ] Did you run make test successfully?
[x] Do new classes, functions, methods and parameters all have docstrings?
[ ] Were existing docstrings updated, if necessary?
[x] Was external documentation updated, if necessary?

Additional Notes or Comments

@JoanFM Thanks for your PR ! Could you plz have a look at the lining issues ?

@JoanFM Thanks for your PR ! Could you plz have a look at the lining issues ?

Hey @fnikolai , I have checked it and fixed some issues, can u recheck?

@JoanFM plz try:
black superduperdb test
ruff --fix superduperdb test/

If you don't have these packages installed, you can get them via pip:
pip install black ruff

@JoanFM plz try:
black superduperdb test
ruff --fix superduperdb test/

If you don't have these packages installed, you can get them via pip: pip install black ruff

I did, it is just funny that this does not work:
from .model import JinaEmbedding

__all__ = 'JinaEmbedding'

but this does:
from .model import JinaEmbedding

__all__ = ['JinaEmbedding']

@JoanFM plz try:
black superduperdb test
ruff --fix superduperdb test/

If you don't have these packages installed, you can get them via pip: pip install black ruff

I did, it is just funny that this does not work:
from .model import JinaEmbedding

__all__ = 'JinaEmbedding'

but this does:
from .model import JinaEmbedding

__all__ = ['JinaEmbedding']

Yeap, it's for compliance with PEP8 coding style.
It's kind of a future-proof convention, in case you want to include more exported variables.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (34830a7) 80.33% compared to head (f41a4fd) 67.85%.
Report is 1309 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1533       +/-   ##
===========================================
- Coverage   80.33%   67.85%   -12.49%
===========================================
  Files          95      110       +15
  Lines        6602     7578      +976
===========================================
- Hits         5304     5142      -162
- Misses       1298     2436     +1138

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Great PR @JoanFM ! Thanks!


Automated documentation updates

Would be nice to generate the options/examples automatically from source with something like JSDoc.

We can probably write TSDoc comments and then use microsoft's parser to parse them, dump them into the README (as opposed to something heavy-weight like using typedoc to generate an entire site). This library isn't that big, so just need to basically do the config object.
https://github.com/microsoft/tsdoc/tree/master/tsdoc


Bazel issue

Hello! Thank you very much for your awesome dataset and its wrapper! I was trying to evaluate my model on val set locally and followed the tutorial which deals with bazel. So after running bazel test waymo_open_dataset/metrics:all i got the following output:
INFO: Build completed successfully, 949 total actions
//waymo_open_dataset/metrics:breakdown_generator_test                    PASSED in 0.0s
//waymo_open_dataset/metrics:detection_metrics_test                      PASSED in 0.1s
//waymo_open_dataset/metrics:hungarian_test                              PASSED in 0.3s
//waymo_open_dataset/metrics:iou_test                                    PASSED in 0.0s
//waymo_open_dataset/metrics:matcher_test                                PASSED in 0.0s
//waymo_open_dataset/metrics:metrics_utils_test                          PASSED in 0.0s
//waymo_open_dataset/metrics:mot_test                                    PASSED in 0.0s
//waymo_open_dataset/metrics:motion_metrics_test                         PASSED in 0.0s
//waymo_open_dataset/metrics:motion_metrics_utils_test                   PASSED in 0.0s
//waymo_open_dataset/metrics:tracking_metrics_test                       PASSED in 0.1s

Executed 10 out of 10 tests: 10 tests pass.
There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these arINFO: Build completed successfully, 949 total actions

But when I was trying to
bazel build
waymo_open_dataset/metrics/tools/compute_detection_metrics_main
bazel-bin/waymo_open_dataset/metrics/tools/compute_detection_metrics_main
waymo_open_dataset/metrics/tools/fake_predictions.bin
waymo_open_dataset/metrics/tools/fake_ground_truths.bin

I faced the following output:
WARNING: Usage: bazel build <options> <targets>.
Invoke `bazel help build` for full description of usage and options.
Your request is correct, but requested an empty set of targets. Nothing will be built.
INFO: Analyzed 0 targets (0 packages loaded, 0 targets configured).
INFO: Found 0 targets...
INFO: Elapsed time: 0.077s, Critical Path: 0.00s
INFO: 0 processes.
INFO: Build completed successfully, 1 total action
zsh: no such file or directory: waymo_open_dataset/metrics/tools/compute_detection_metrics_main
zsh: no such file or directory: bazel-bin/waymo_open_dataset/metrics/tools/compute_detection_metrics_main
zsh: exec format error: waymo_open_dataset/metrics/tools/fake_predictions.bin
zsh: exec format error: waymo_open_dataset/metrics/tools/fake_ground_truths.bin

but the thing is that waymo_open_dataset/metrics/tools/compute_detection_metrics_main.cc exist and if specifying waymo_open_dataset/metrics/tools/compute_detection_metrics_main.cc in above mentioned command i'm getting the other error:
WARNING: Usage: bazel build <options> <targets>.
Invoke `bazel help build` for full description of usage and options.
Your request is correct, but requested an empty set of targets. Nothing will be built.
INFO: Analyzed 0 targets (0 packages loaded, 0 targets configured).
INFO: Found 0 targets...
INFO: Elapsed time: 0.133s, Critical Path: 0.00s
INFO: 0 processes.
INFO: Build completed successfully, 1 total action
waymo_open_dataset/metrics/tools/compute_detection_metrics_main.cc: 1: /bin: Permission denied
waymo_open_dataset/metrics/tools/compute_detection_metrics_main.cc: 3: Syntax error: "(" unexpected
zsh: no such file or directory: bazel-bin/waymo_open_dataset/metrics/tools/compute_detection_metrics_main
zsh: exec format error: waymo_open_dataset/metrics/tools/fake_predictions.bin
zsh: exec format error: waymo_open_dataset/metrics/tools/fake_ground_truths.bin

Another thing which is wrong with this command is that bazel-bin/waymo_open_dataset/metrics/tools/compute_detection_metrics_main does not exist at all! The whole folder /tools doest not exist in bazel-bin/waymo_open_dataset/metrics/. Can you please help me with that thing? I've tried multiple versions of bazel and tensorflow, but nothing helped me to fix that issue. Thanks in advance!

Just in case, It required from me a bit of knowledge of bazel. I built everything using bazel test waymo_open_dataset/metrics/tools:all and after that, in order to evaluate I used the following command:
bazel-bin/waymo_open_dataset/metrics/tools/compute_detection_metrics_main \
waymo_open_dataset/metrics/tools/fake_predictions.bin \
waymo_open_dataset/metrics/tools/fake_ground_truths.bin


Consider renaming case ... of to match ... with

case ... of expressions are a hold over from the language's roots in Haskell but currently the syntax has more in common with F# and Ocaml which uses match ... with. Rust also uses match but that could be both an argument for (to make it more similiar) or against (the syntax still differs so having case instead could be a good distinction.

Changed in 22fc6b95ef50501a4a346b37fd8d0dd6bd90ec10


Add --disable-admin-operations flag in Compactor UI and Bucket UI

Signed-off-by: Harsh Pratap Singh<EMAIL_ADDRESS>Fixes #5390

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes
This PR adds a flag, named --disable-admin-operations, to the Compactor UI and Bucket Web UI to decide whether to disable the corresponding buttons Mark Deletion and Mark No Compaction in the UI as they are admin-level operations. It also restricts the API usage for both of them.
Verification
It was tested locally.
The UI test:

The API test:
❯ curl -X POST -d "id=_ulid&action=DELETION" http://localhost:8080/api/v1/blocks/mark
{"status":"error","errorType":"bad_data","error":"Admin operations are disabled"}
❯ curl -X POST -d "id=_ulid&action=DELETION" http://localhost:10922/api/v1/blocks/mark
{"status":"error","errorType":"bad_data","error":"Admin operations are disabled"}

cc @yeya24 @GiedriusS @saswatamcode

If everything goes okay with this PR, I will add the changelog. Sorry for messing up a lot of times and thanks for the patience. Also how to fix this Docs CI failing!?

@harsh-ps-2003 you don't need to raise a new PR every time after review. you can push commits to address feedback. 🙂
Also, you can run make doc and commit to fix docs CI

Thanks for the review and sorry for the closed PRs @saswatamcode

@saswatamcode @yeya24 @GiedriusS when I did make docs, it gave me an error
>> cleaning up white noise
sed: 1: "./CODE_OF_CONDUCT.md": invalid command code .
make[1]: *** [white-noise-cleanup] Error 1
make: *** [docs] Error 2

as I am on Mac OS. The invalid sed command is happening as on macOS; the sed command requires an empty string argument after the -i option when doing in-place editing, while on Linux, this argument is optional. I have locally made changes to the cleanup-white-noise script to work on both Mac and Linux systems. And this was the reason the Docs CI was failing.
After fixing this when I do make docs I don't get any errors, but when I do make check-docs I get some errors! Working on it...


Update README.md

GitHub Codespaces Integration:
This pull request adds support for GitHub Codespaces to the project. With this integration, developers can easily set up a development environment in the cloud using Codespaces.
Changes Made:

Added a devcontainer.json file with the necessary configuration for Codespaces.
Updated the README file to include instructions for using Codespaces.
Ensured that the project's dependencies are automatically installed in a Codespace using the requirements.txt file.

This PR associated with Add GitHub Codespaces #20
Please review this pull request and let me know if any further modifications or adjustments are needed. Thank you!

Hey @AtulRajput01 thanks a lot for this PR. Can you look at #28 as well?

Hey @AtulRajput01 thanks a lot for this PR. Can you look at #28 as well?

Hey @ChakshuGautam , thank you so much for merging my PR! I really appreciate it. I'm excited to continue working on improving the project. By the way, regarding PR #28, I'm eager to contribute and would be happy to take it up.
Thanks again!


Use core's new fifo functions

Realm Core v5.23.2 adds a couple of new FIFO functions.

be careful, once merged realm_coordinator.cpp in core-6 branch needs to be updated as well to use the include from Core
--- a/src/impl/realm_coordinator.cpp
+++ b/src/impl/realm_coordinator.cpp
@@ -41,7 +41,7 @@
 #include <realm/db.hpp>
 #include <realm/history.hpp>
 #include <realm/string_data.hpp>
-#include <util/fifo.hpp>
+#include <realm/util/fifo_helper.hpp>

 #include <algorithm>
 #include <unordered_map>

@nhachicha I hope that #798 will take of that :smile:.

After restarting the test a few times, they still seem to fail with invalid top refs: `Unable to open a realm at path '/var/folders/01/
qdkfxkd167338d33x5c6bt540000gl/T/realm-object-server/io.realm.object-server-
utility/metadata/sync_metadata.realm': Invalid top array (ref: 31432, size:

Path:.
`


Support Keberos authentication

No tests because setting Kerberos in an automated fashion is tricky. Besides, we are just passing the config options to the Kafka client, so it should not need much validation

@jordansissel updated after your review.

a hand-wave LGTM; I haven't tested this and haven't confirmed if this sets the right things in the kafka client.


C++ file name with space causes error in Visual Studio Code

When I write a C++ program with the file name Hello World.cpp in Visual Studio Code I got some errors:
#include
using namespace std;
int main()
{
cout<<"Hello World!!!"<<endl;
return 0;
}
Output:-
g++.exe: error: Hello: No such file or directory
g++.exe: error: World.cpp: No such file or directory
g++.exe: error: World: No such file or directory
g++.exe: fatal error: no input files
compilation terminated.
But when I rename the file without space like HelloWorld.cpp, then I did not get any type of error. And I use the latest updated Visual Studio Code and MingW compiler.
But I wanted to use filename with space. How do I resolve this problem?

Try placing quotes around the file name in your terminal.

Closing due to lack of update


events going missing when I use add_covariate_to_timeline()

I'm working on a time-varying cox regression analysis.
I'm attempting to add time varying covariates to a dataset in long format, following the examples here as closely as possible.
When using the add_covariate_to_timeline() function, however, all the time periods in the resultant dataset come back with False in the event column.

For reference, here's the base df:

and here's the covariate df:

I'm wondering if it has to do with the covariate df being a 'cumulative event' type df? Not sure, so I thought I'd ask.
I'm using lifelines version 0.26.3
Thanks so much!

Hi @DavidSorge - are you able to supply a small sample dataframe that replicates the problem? That would help debug this.

Yes, that should be pretty easy.
Here's a code snippet that reproduces the problem:
base_df_sample = pd.read_csv('base_df_sample.csv', index_col=0)
covariate_sample = pd.read_csv('covariate_sample.csv')

print('Before merge:')
print(base_sample.event.value_counts())
print()

integrated = add_covariate_to_timeline(
    base_df_sample,
    covariate_sample,
    duration_col='start_day',
    id_col='PC_ID',
    event_col='event'
)

print('After merge:')
print(integrated.event.value_counts())

The sample files are attached. They are from two of the geographical units that have the most events (in this case, incidents of unrest). Being incidents of unrest, the events in my model are non-absorbing, (ie, a single district can experience multiple events).
The csv files with the snippets are attached here:
base_df_sample.csv
covariate_sample.csv

(Also, for the record, thank you for both (a) a great tool--I'm really grateful to be able to do my Survival Analysis in python rather than having to jump over to R-- and (b) your amazingly fast response time--right after I initially posted the issue!


Missing Cape Town af-south-1 AWS Region

Describe the bug
Hey everyone 👋 .
The South African (Cape Town) AWS Region isn't being shown as an option to select during the Amplify CLI configuration process. The AWS Region is af-south-1. I don't know if there is a AWS limitation or AWS Region limitation for Cape Town to not be listen as an available region or not? It's a fairly new AWS Region.
Amplify CLI Version
4.24.0
To Reproduce
Type aws configure and try to search for af-south-1.
Expected behavior
I expected the Cape Town af-south-1 AWS Region to be there.
Desktop (please complete the following information):

OS: MacOS Catalina
Node Version. v12.18.1

Hi @Asjas, many regions that are not supported by the CLI are due to limitations of the regions themselves. I can't comment on when it might get support, but we are looking into expanding the number of supported regions.

@jhockett Is there any traction on support for af-south-1?

Any updates on this?

Pinging for any updates

My company and clients is patiently waiting for this capability from AWS South Africa (Cape Town) af-south-1 region.
If you can provide timelines so we can plan or move over to another provider.

Also hoping to get support for af-south-1

Yes, please AWS - we need Amplify in af-south-1!

Still no support for Africa?

@jhockett Any idea who can provide some insight into when this service will be deployed to Cape Town?

Any updates on the availability of the AWS af-south-1 region?

Can you please provide an ETA on when the af-south-1 region will be available? Thanks

sigh

big sigh

Hello. Any updates?

Hello. Any updates?

I don't think this thread is being followed by AWS at all.

Any updates on this?


test(references): add tests for $page->references api support.

:tada: This PR is included in version 1.4.0-rc.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Bump-up Go version on CI to 1.20

Description
Bump-up Go version on CI to 1.20
Type of change

Configuration update

Testing steps
To be checked on CI.
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report
Patch has no changes to coverable lines.
:loudspeaker: Thoughts on this report? Let us know!.


seeing side of ship

i have a problem where i try to use any emote and it shows the side of the ship no matter where i am, i do sometimes have the problem is the dance 1 instead of the new emotes. i removed all emote mods just incase that was it and nothing has changed.

The default dance emote was a bug in 1.9.2 because I accidentally mixed up some testing files into the update. Should be fixed in 1.9.3.
The side of ship bug seems to be a bug that is caused by the corporate restructure mod for whatever reason. Do you by chance have this mod installed?

ahh thank you, and i do have that mod, i disabled it and was able to use it fine now. i also updated o both problems are sorted now


EmojiPort does not remember the last scroll position

Here is a video.

This is more like the stock behavior and none of EmojiPort's concerns; iOS will somehow round the scroll position possibly via -[UIKeyboardEmojiCollectionInputView indexForPrettyCategoryDisplay:].

You are right. Can you fix that iOS issue please?

https://www.dropbox.com/s/sm4eautfpevc404/com.ps.emojum_0.0.1_iphoneos-arm.deb

Thank you but that tweak doesn't seem to be working.

See if before you dismiss the keyboard, you tap on some emoji then the scroll index would occasionally persist.

Still doesn't work.


Swift 3: pull in fixes from master branch

This PR pulls changes from two recent PRs into the swift-3.0-branch.

#4371: better diagnostics for var x: T()
#4445: better diagnostics for guard let x = (non-optional enum) ...

@swift-ci please test


how to add Canonical URL in angular 4 app when using server side rendering

Bug Report or Feature Request (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ ] feature request

Command (mark with an x)
- [ ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Versions

Repro steps

The log given by the failure

Desired functionality

Mention any other details that might be useful

I think you should ask your question on stackoverflow. Here is just for bugs/feature requests


Segmentation Fault on Mac OS X

I'm trying to run the demo application on Mac OS X 10.10.2, and I get a segmentation fault. The display window opens with just a black background, and then crashes.
Here's a gist of the trace that OS X throws up after it crashes.
I tried to tweak the window width and height, the number of samples, and the x resolution, but that didn't seem to do anything.
This is the output of running the demo in GHCi.
GHCi, version 7.8.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main             ( random.hs, interpreted )
Ok, modules loaded: Main.
*Main> main
Loading package array-<IP_ADDRESS> ... linking ... done.
Loading package deepseq-<IP_ADDRESS> ... linking ... done.
Loading package bytestring-<IP_ADDRESS> ... linking ... done.
Loading package zlib-<IP_ADDRESS> ... linking ... done.
Loading package primitive-<IP_ADDRESS> ... linking ... done.
Loading package vector-<IP_ADDRESS> ... linking ... done.
Loading package text-<IP_ADDRESS> ... linking ... done.
Loading package hashable-<IP_ADDRESS> ... linking ... done.
Loading package unordered-containers-<IP_ADDRESS> ... linking ... done.
Loading package stm-2.4.2 ... linking ... done.
Loading package old-locale-<IP_ADDRESS> ... linking ... done.
Loading package time-1.4.2 ... linking ... done.
Loading package random-<IP_ADDRESS> ... linking ... done.
Loading package OpenGLRaw-<IP_ADDRESS> ... linking ... done.
Loading package GLURaw-<IP_ADDRESS> ... linking ... done.
Loading package OpenGL-<IP_ADDRESS> ... linking ... done.
Loading package containers-<IP_ADDRESS> ... linking ... done.
Loading package binary-<IP_ADDRESS> ... linking ... done.
Loading package pretty-<IP_ADDRESS> ... linking ... done.
Loading package filepath-<IP_ADDRESS> ... linking ... done.
Loading package unix-<IP_ADDRESS> ... linking ... done.
Loading package directory-<IP_ADDRESS> ... linking ... done.
Loading package bindings-DSL-1.0.22 ... linking ... done.
Loading package bindings-GLFW-<IP_ADDRESS> ... linking ... done.
Loading package GLFW-b-1.4.6 ... linking ... done.
Loading package transformers-<IP_ADDRESS> ... linking ... done.
Loading package mtl-2.2.1 ... linking ... done.
Loading package JuicyPixels-3.2.2 ... linking ... done.
Loading package old-time-<IP_ADDRESS> ... linking ... done.
Loading package polyparse-1.11 ... linking ... done.
Loading package cpphs-1.18.6 ... linking ... done.
Loading package nats-1 ... linking ... done.
Loading package semigroups-<IP_ADDRESS> ... linking ... done.
Loading package transformers-compat-<IP_ADDRESS> ... linking ... done.
Loading package void-0.7 ... linking ... done.
Loading package contravariant-<IP_ADDRESS> ... linking ... done.
Loading package tagged-0.7.3 ... linking ... done.
Loading package distributive-0.4.4 ... linking ... done.
Loading package comonad-4.2.2 ... linking ... done.
Loading package semigroupoids-4.2 ... linking ... done.
Loading package bifunctors-4.2 ... linking ... done.
Loading package prelude-extras-0.4 ... linking ... done.
Loading package profunctors-4.3.2 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package free-<IP_ADDRESS> ... linking ... done.
Loading package adjunctions-4.2 ... linking ... done.
Loading package exceptions-0.6.1 ... linking ... done.
Loading package parallel-<IP_ADDRESS> ... linking ... done.
Loading package reflection-1.5.1 ... linking ... done.
Loading package split-0.2.2 ... linking ... done.
Loading package lens-<IP_ADDRESS> ... linking ... done.
Loading package linear-1.16 ... linking ... done.
Loading package GLUtil-0.8.2 ... linking ... done.
Loading package utf8-string-0.3.8 ... linking ... done.
Loading package cairo-<IP_ADDRESS> ... linking ... done.
Loading package colour-2.3.3 ... linking ... done.
Loading package MonadRandom-<IP_ADDRESS> ... linking ... done.
Loading package transformers-base-0.4.3 ... linking ... done.
Loading package monad-control-<IP_ADDRESS> ... linking ... done.
Loading package either-<IP_ADDRESS> ... linking ... done.
Loading package glib-<IP_ADDRESS> ... linking ... done.
Loading package process-<IP_ADDRESS> ... linking ... done.
Loading package pango-<IP_ADDRESS> ... linking ... done.
Loading package mmorph-1.0.4 ... linking ... done.
Loading package pipes-4.1.4 ... linking ... done.
Loading package dynamic-graph-<IP_ADDRESS> ... linking ... done.
Segmentation fault: 11

Thanks very much for your help.

Hi
It hasn't been tested on anything other than Linux. I should be able to get hold of a Mac soon and debug this.

Oh right. No worries—I can run it on Linux easily enough instead.

On 17 Jan 2015, at 4:47 pm, Adam Walker<EMAIL_ADDRESS>wrote:
Hi
It hasn't been tested on anything other than Linux. I should be able to get hold of a Mac soon and debug this.
—
Reply to this email directly or view it on GitHub.

Let me know if it works. You never know.

is this still an issue? i'm interested as well

I assume so. I haven't fixed it and don't have access to a mac, unfortunately.

Might be related to the comment under the createWindow function here:
https://hackage.haskell.org/package/GLFW-b-<IP_ADDRESS>/docs/Graphics-UI-GLFW.html

how to use the codes on qt,please?

I also get crashes on OS X. Out of the box I get,
2018-07-19 13:56:42.939 waterfall[38263:21299099] WARNING: nextEventMatchingMask should only be called from the Main Thread! This will throw an exception in the future.
2018-07-19 13:56:42.939 waterfall[38263:21299099] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /Library/Caches/com.apple.xbs/Sources/Foundation/Foundation-1349.91/Misc.subproj/NSUndoManager.m:363
2018-07-19 13:56:42.941 waterfall[38263:21299099] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /Library/Caches/com.apple.xbs/Sources/Foundation/Foundation-1349.91/Misc.subproj/NSUndoManager.m:363
2018-07-19 13:56:42.941 waterfall[38263:21299099] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fffd16972cb __exceptionPreprocess + 171
	1   libobjc.A.dylib                     0x00007fffe64ae48d objc_exception_throw + 48
	2   CoreFoundation                      0x00007fffd169c042 +[NSException raise:format:arguments:] + 98
	3   Foundation                          0x00007fffd30e4be0 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195
	4   Foundation                          0x00007fffd306f093 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 170
	5   AppKit                              0x00007fffcf0f94ed -[NSApplication run] + 1200
	6   libglfw.3.2.dylib                   0x000000010507b88e initializeAppKit + 1534
	7   libglfw.3.2.dylib                   0x000000010507ada0 _glfwPlatformCreateWindow + 48
	8   libglfw.3.2.dylib                   0x0000000105075945 glfwCreateWindow + 501
	9   waterfall                           0x0000000104ec820a GLFWzmbzm3zi2zi1zi0zm2RXpO5VvXer1OcGugK5djJ_GraphicsziUIziGLFW_setErrorCallback1_info + 930
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6

I tried moving the createWindow call outside the forkIO, but since the call to pollEvents is still in the forkIO it crashes:
2018-07-19 14:02:44.715 waterfall[52709:21321823] WARNING: nextEventMatchingMask should only be called from the Main Thread! This will throw an exception in the future.
Segmentation fault: 11

According to this page,
https://hackage.haskell.org/package/GLFW

GLFW doesn't work well with GHC threads, forkIO or threadDelay.  So avoid them if you can.

Avoiding forkIO seems like a pretty fundamental design change -- but also perhaps an unavoidable one?

I hacked all the forkIO out of window and now things work. Some of the stuff I removed was probably important. But with this window function I can actually display waterfalls,
window :: IsPixelData a
       => Int                                  -- ^ Window width
       -> Int                                  -- ^ Window height
       -> IO (Consumer a IO ())                -- ^ The Consumer that draws on the window. Obtain this from one of the other modules in this package. Must be given in an IO monad so that it can be initialised with the OpenGL context created within this function.
       -> ExceptT String IO (Consumer a IO ())
window width height renderPipe = do
    closed <- lift $ newIORef False
    res' <- lift $ createWindow width height "" Nothing Nothing

    do
        res <- {- runExceptT $ -} do
            win <- maybe (throwE "error creating window") return res'
            lift $ setWindowSizeCallback win $ Just $ \win x y ->
                viewport $= (Position 0 0, Size (fromIntegral x) (fromIntegral y))
            lift $ setWindowCloseCallback win $ Just $ \win -> writeIORef closed True
            lift $ makeContextCurrent (Just win)
            lift $ clearColor $= Color4 0 0 0 0

            renderPipe <- lift renderPipe

            let thePipe = forever $ do
                    lift pollEvents
                    dat <- await -- lift $ takeMVar mv
                    lift $ makeContextCurrent (Just win)
                    lift pollEvents
                    lift $ clear [ColorBuffer]
                    yield dat
                    lift $ swapBuffers win
            return $ {- runEffect $ -} thePipe >-> renderPipe
        pure res


class$ broken in v2 with webcomponents polyfill v1.3.0 and shadyDOM

Description
It appears that class$ is broken in Polymer v2 with the webcomponents polyfill v1.3.0. Something is preventing the style-scope and associated classes from being added on the first render. Subsequent renders calculate and add those classes properly.
Live Demo
https://glitch.com/edit/#!/sleepy-cauliflower
In that demo, the text should render in bold. It doesn't render bold when the page loads but it does after clicking the button and making the computed class reevaluate.
This works properly with v1.2.7 of the webcomponents polyfill.
Steps to Reproduce

Force ShadyDOM
Add a computed binding for class$ on any element

Expected Results
style-scope and other classes are setup
Actual Results
style-scope isn't added to the class list.
Browsers Affected

[x] Chrome
[x] Firefox
[ ] Edge
[x] Safari 12
[ ] Safari 11
[ ] Safari 10
[ ] IE 11

Versions

Polymer: v2.X.X
webcomponents: v1.3.0

This does not repro on the latest version of Polymer (2.7.0) and latest webcomponents (1.3.0): https://glitch.com/edit/#!/false-club?path=bower.json:5:0.
On your glitch, if you rm -rf bower_components && bower install, you get the latest version of Polymer (that glitch had an old version installed).


Return a *bytes.Reader instead of an io.Reader

Change GetJobArtifacts, DownloadArtifactsFile, DownloadSingleArtifactsFile, and GetTraceFile to return a *bytes.Reader instead of an io.Reader.
This change makes it simple to e.g. unzip archive files without needing to first write the data to a file.
I don't see any applicable tests to touch up, I've tested it in a personal application that uses GetJobArtifacts to download and unpack artifact archive files and it works as expected.
Closes: #1023

@svanharmelen -- Is there a plan for a next release, or a regular release cadence for go-gitlab?  I'm making plans for updating my app.  Thanks.

@svanharmelen -- Is there a plan for a next release, or a regular release cadence for go-gitlab?  I'm making plans for updating my app.  Thanks.

Just created v0.42.0 👍🏻

Just created v0.42.0 👍🏻


Release raw Wikipedia dumps

Hi @crystina-z - We should release the raw Wikipedia dumps from the passages were extracted. Coordinate with me on Slack and let's figure this out?

Done! #4


IF: Is there a method to get IE working when all rows contain colspans?

http://mkoryak.github.io/floatThead/examples/row-groups/ describes how you can specify a row in a table that contains a full set of cells (if the first body row doesn't).
But what do you do if all rows contain colspans? As in http://jsfiddle.net/vvhp2e9g/14/
The first table renders o.k. as the first body row contains a full set of cells.
But the second table contains colspans in every row, just at different positions.

there is no way to do it with the plugin, unfortunately. But, you can hack it:
http://jsfiddle.net/vvhp2e9g/18/
if you know how many columns you have ahead of time.

That's what I had in mind. Just wanted to make sure there isn't another way.


Remote participant cannot hear the audio of other side

*Describe the bug
We are joining the twilio room with two participant (We are allowing only two). But the remote participant cannot hear me. But when I make my self as the main seaker he can hear me and on remote side even if the remote participant doesn't make himself as the main speaker still I can hear him. I tried removing the disable audio flag from main speaker but that didn't helped.
I have modified the participant stripe and I'm showing only the participant which is not selected in the participant stripe area.(same as whatsapp video call). lso when the camera is disabled the participant cannot hear.
To Reproduce
Steps to reproduce the behavior:

Join the room
When remote participant joins I can hear him / her
But the remote participant cannot hear me.

Expected behavior
I want that no matter the speaker selected the audio should be heard whenever any participant speaks.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS: Windows 10
Browser: Chrome 84.0.4147.105
App Version: 2.7.1
Node.js version: 12.16.1

Additional context
I don't know how but sometimes the problem doesn't arise but once I start switching the participant the issue arises.

+1

Edit in description: Now the audio issue is solved but not pefectly when I'm switching between main speaker and participant speaker the audio get detached from the DOM and doesn't re-attach but keeps replacing the same audio element when switching the user.

Thanks for the issue @papuruth!
It sounds like you are using a version of the app that you have modified for your use case. Is it possible to share some code snippets of what you have changed? Or could you share a link to a deployed version of the app? I'll be better able to help out if I could see the changes that you have made.
Thanks!

@timmydoza
Hi, I have the same problem, can I send you a version of our app also?
Can you send me an email to<EMAIL_ADDRESS>so I will send you the details?

It would be nice if you could specify which part of code you want to see?
I cannot share the code base because it's against company policy. And the repo is hosted on gitlab on companies domain which is private.

Secondary Participant Code
import { checkEmpty } from '@/utils/commonFunctions/CommonFunctions';
import useParticipants from '@/utils/twilioVideo/hooks/useParticipants/useParticipants';
import useVideoContext from '@/utils/twilioVideo/hooks/useVideoContext/useVideoContext';
import React from 'react';
import Participant from '../Participant/Participant';
import useSelectedParticipant from '../VideoProvider/useSelectedParticipant/useSelectedParticipant';

export default function SecondaryParticipant() {
  const {
    room: { localParticipant },
  } = useVideoContext();
  const participants = useParticipants();
  const [selectedParticipant, setSelectedParticipant] = useSelectedParticipant();
  console.log('local p', localParticipant);
  console.log('selectedParticipant', selectedParticipant);
  return (

      {!checkEmpty(participants) && (
        <Participant
          key={selectedParticipant === localParticipant ? participants[0]?.sid : localParticipant?.sid}
          videoPriority="high"
          participant={selectedParticipant === localParticipant ? participants[0] : localParticipant}
          onClick={() => setSelectedParticipant(selectedParticipant === localParticipant ? participants[0] : localParticipant)}
        />
      )}

  );
}

Main Participant Code
import useMainSpeaker from '@/utils/twilioVideo/hooks/useMainSpeaker/useMainSpeaker';
import usePublications from '@/utils/twilioVideo/hooks/usePublications/usePublications';
import useScreenShareParticipant from '@/utils/twilioVideo/hooks/useScreenShareParticipant/useScreenShareParticipant';
import React from 'react';
import styled from 'styled-components';
import MainParticipantInfo from '../MainParticipantInfo/MainParticipantInfo';
import ParticipantTracks from '../ParticipantTracks/ParticipantTracks';
import useSelectedParticipant from '../VideoProvider/useSelectedParticipant/useSelectedParticipant';

const NoVideoContainer = styled.div`
  font-size: 40px;
  color: #fff;
`;

export default function MainParticipant() {
  const mainParticipant = useMainSpeaker();
  const [selectedParticipant] = useSelectedParticipant();
  const screenShareParticipant = useScreenShareParticipant();
  const videoPriority = mainParticipant === selectedParticipant || mainParticipant === screenShareParticipant ? 'high' : null;
  const publications = usePublications(mainParticipant);
  const videoPublication = publications.find((p) => p.trackName.includes('camera'));
  const isVideoEnabled = Boolean(videoPublication);

  return (
    <MainParticipantInfo participant={mainParticipant}>
      <ParticipantTracks participant={mainParticipant} enableScreenShare videoPriority={videoPriority} />
      {!isVideoEnabled && <NoVideoContainer>Camera is off</NoVideoContainer>}
    </MainParticipantInfo>
  );
}

When the meeting starts the remote user is on main screen and the local user moves to secondary screen. But if I click on secondary screen the user switches and one of the audio elements gets removed from the dom and doesn't returns. After that one audio element remains in the dom and if the user is switched the audio tracks is replaced on the same element for bot user (local and remote). I have change the room seetings to allow only two user at a time in a room. One to One meeting type.

Hey @papuruth!
Thanks for sharing the code! I looked through it all and it all looks good to me. I didn't see anything in your code that would cause the issue you describe.
Just curious, did you happen to modify the <Participant /> or <ParticipantTracks /> components? Problems in those components could prevent the <AudioTrack /> component from rendering.

Hi,
I have a similar issue, when I enable my audio and start screen sharing, my audio can be heard by the second user, but when I stop the screen sharing, my audio is not heard anymore. I investigated it a little and found out that when I stop my screen sharing, my audio track's medisStreamTrack's enabled property is set to false on the second user side(my audioTrack is remoteAudioTrack from second user perspective). In order to be heard, I am manually setting enabled property participant.audioTracks.entries().next().value[1].track.mediaStreamTrack.enabled = true to true.
@timmydoza do you have any thought why this can happen?

I am also facing the exact same issue. In my case, I have modified the code of the Participant Strip where in I am rendering only the localParticipant and the remote Participant(only one remote participant is allowed) I rendered on the main Participant div. Whenever I click on the participant from the participant strip, I swap these two participants such that their video position exchange with each other. I can only hear the audio of the remote participant when he is in the participant strip area, I mean I dont hear any audio from them when they are in the main div.
I have removed disableAudio prop from main participant div and internally there is no code as such I see which could cause this  issue, but still I dont understand why this is happening.
@papuruth , if you are able to resolve this at your end , Can you please suggest something to me?
Any thoughts @timmydoza  ?

@rachnaban try using this code in AudioTrack.js component
import useRoomState from '@/utils/twilioVideo/hooks/useRoomState/useRoomState';
import { useAppState } from '@/utils/twilioVideo/state';
import { useEffect, useRef } from 'react';

export default function AudioTrack({ track }) {
  const { activeSinkId } = useAppState();
  const roomState = useRoomState();
  const audioEl = useRef();
  useEffect(() => {
    setTimeout(() => {
      if (!document.getElementById(track?.name)) {
        audioEl.current = track.attach();
        audioEl.current.setAttribute('id', track.name);
        document.body.appendChild(audioEl.current);
      }
    }, 0);
    return () => {
      track.detach().forEach((el) => el.remove());
    };
  }, [track, roomState]);

  useEffect(() => {
    if (audioEl?.current && audioEl?.current?.setSinkId) audioEl.current.setSinkId(activeSinkId);
  }, [activeSinkId]);

  return null;
}

Thanks so much @papuruth for the quick response. Sure, I will try this and update here.

@papuruth , Thanks for the suggestion above. I tried , but still it is not working for me.

@rachnaban could you share some code snippets of the files I have shared? So that I can see where's the problem.
Can you confirm one thing when you are switching the participants see for audio elements attached to the DOM are they getting de-attached?

Hi,
I have a similar issue, when I enable my audio and start screen sharing, my audio can be heard by the second user, but when I stop the screen sharing, my audio is not heard anymore. I investigated it a little and found out that when I stop my screen sharing, my audio track's medisStreamTrack's enabled property is set to false on the second user side(my audioTrack is remoteAudioTrack from second user perspective). In order to be heard, I am manually setting enabled property participant.audioTracks.entries().next().value[1].track.mediaStreamTrack.enabled = true to true.
@timmydoza do you have any thought why this can happen??

@rachnaban Can you look at the DOM and confirm that there is one <audio> element for each participant? I wonder if you are having the same issue as @papuruth where audio tracks are not being re-attached to the DOM.
There's one thing that could be worth trying. We had a previous version of our AudioTrack component where the audio element is rendered by React (instead of document.appendChild). Try replacing your AudioTrack component with this:
In src/components/AudioTrack/AudioTrack.tsx:
import React, { useEffect, useRef } from 'react';
import { AudioTrack as IAudioTrack } from 'twilio-video';

interface AudioTrackProps {
  track: IAudioTrack;
}

export default function AudioTrack({ track }: AudioTrackProps) {
  const ref = useRef<HTMLAudioElement>(null!);

  useEffect(() => {
    const el = ref.current;
    track.attach(el);
    return () => {
      track.detach(el);
    };
  }, [track]);

  return <audio ref={ref} />;
}

Hi,
I have a similar issue, when I enable my audio and start screen sharing, my audio can be heard by the second user, but when I stop the screen sharing, my audio is not heard anymore. I investigated it a little and found out that when I stop my screen sharing, my audio track's medisStreamTrack's enabled property is set to false on the second user side(my audioTrack is remoteAudioTrack from second user perspective). In order to be heard, I am manually setting enabled property participant.audioTracks.entries().next().value[1].track.mediaStreamTrack.enabled = true to true.
@timmydoza do you have any thought why this can happen?

I troubleshot my case, and it happened that I was creating two audio elements for the same track, one was created when I enabled my audio, the second time was when I shared my screen. The problem was in this part of ParticipantTrack
if (enableScreenShare && publications.some(p => p.trackName.includes('screen'))) {
    filteredPublications = publications.filter(p => !p.trackName.includes('camera'));
  } else {
    filteredPublications = publications.filter(p => !p.trackName.includes('screen'));
  }

here if screen share was enabled it entered inside the if statement, and my filteredPublications become every other publications except video publication, so here my audio and data tracks were instantiated the second time. I changed this part to this
if (enableScreenShare) {
    filteredPublications = publications.filter(p => p.trackName.includes('screen'));
  } else {
    filteredPublications = publications.filter(p => !p.trackName.includes('screen'));
  }

Hope this will help someone.

Hey @papuruth , @timmydoza and @arshKhachatryan , Thanks so much on this one. Your comments helped me a lot. This issue got fixed for me. It was my code issue. I was rendering an Avatar whenever local/remote participant was muting video, but here I forgot to attach the audio tracks back when Avatar is shown. This was the mistake! Thanks so much again.

@timmydoza could you please help me in something? I want to end the call after a specified time limit automatically but I'm not where should i place my code. I tried in end call button function using react useEffect Hook and setTimeout but once the disconnects console throwing warning of can't update state on an unmounted component, where as there is no such problem if the call is ended by clicking the button. Could you please tell what could be going wrong.
Here's the code sinppet of End Call Button Function
import { ReactComponent as EndCall } from<EMAIL_ADDRESS>import Toast from '@/utils/Toast';
import useVideoContext from '@/utils/twilioVideo/hooks/useVideoContext/useVideoContext';
import React, { useEffect } from 'react';
import { Fab } from 'react-tiny-fab';
import ReactToolTip from 'react-tooltip';

const styles = {
  buttonStyle: {
    color: '#000',
    backgroundColor: 'red',
  },
};

export default function EndCallButton() {
  const { room } = useVideoContext();

  const disconnectMeeting = () => {
    room.disconnect();
  };

  useEffect(() => {
    const t1 = setTimeout(() => {
      Toast.info('Meeting will end in 5 seconds');
    }, 5000);
    const t2 = setTimeout(() => {
      disconnectMeeting();
    }, 10000);
    return () => {
      clearTimeout(t1);
      clearTimeout(t2);
    };
  }, []);

  return (
    <>
      <Fab
        onClick={disconnectMeeting}
        mainButtonStyles={styles.buttonStyle}
        icon={(

            <EndCall />

        )}
        event="click"
      />
      <ReactToolTip effect="solid" type="info" offset={{ top: 10 }} backgroundColor="#72D36B" />
    </>
  );
}

Hey @papuruth - I'd add it in the useRoom hook.
This code is from src/components/videoContext/useRoom/useRoom.ts starting on line 25:
(I added comments by the code I added)
      return Video.connect(token, { ...options, tracks: [] }).then(
        newRoom => {
          const timeoutId = setTimeout(() => newRoom.disconnect(), 10000); // <<<<<<<< Set timeouts here

          setRoom(newRoom);
          const disconnect = () => newRoom.disconnect();

          newRoom.once('disconnected', () => {
            // Reset the room only after all other `disconnected` listeners have been called.
            setTimeout(() => setRoom(new EventEmitter() as Room));
            window.removeEventListener('beforeunload', disconnect);

            clearTimeout(timeoutId); // <<<<<<<< Clear timeouts here

            if (isMobile) {
              window.removeEventListener('pagehide', disconnect);
            }
          });

The callback function passed to Video.connect(...).then() is only called once, so you don't have to worry about any components updating. Lemme know how it works out for you!

@timmydoza Is this code fine? Beacause the toast is being fired multiple times and I want it to fire only once
export default function useRoomState() {
  const { room } = useVideoContext();
  const [state, setState] = useState('disconnected');
  useEffect(() => {
    const setRoomState = () => setState(room.state || 'disconnected');
    setRoomState();
    room.on('disconnected', setRoomState).on('reconnected', setRoomState).on('reconnecting', setRoomState);
    room.once('participantDisconnected', (participant) => {
      Toast.info(`${participant.identity} has left the meeting.`);
    });
    room.once('participantConnected', (participant) => {
      Toast.info(`${participant.identity} has joined the meeting.`);
    });
    return () => {
      room.off('disconnected', setRoomState).off('reconnected', setRoomState).off('reconnecting', setRoomState);
      room.off('participantDisconnected', () => {}).off('participantConnected', () => {});
    };
  }, [room]);

  return state;
}

Sorry about the delay @papuruth.
I think it's incorrect to include your code in the useRoomState() function because that function is called many times (which is why you'd see multiple toasts).
Try putting the code in src/components/videoContext/useRoom/useRoom.ts. This function is only called once (after you join a room).
      return Video.connect(token, { ...optionsRef.current, tracks: localTracks }).then(
        newRoom => {
          setRoom(newRoom);
          const disconnect = () => newRoom.disconnect();

          room.on('participantDisconnected', (participant) => {
            Toast.info(`${participant.identity} has left the meeting.`);
          });

          room.on('participantConnected', (participant) => {
            Toast.info(`${participant.identity} has joined the meeting.`);
          });

Let me know how this works out for you!
I'm going to go ahead and close this issue since the original issue appears to be resolved. If you have another question - feel free to open a new issue. I'm happy to help!


The order of the  elements defines the order in which they are returned by the bulk operation?

What does it mean by "The order of the <COLUMN> elements in the <ROW> element defines the order in which they are returned by the bulk operation."? Why does the bulk operation return anything? Are we only trying to load data into the table in this example?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6b3384ba-bb57-c651-d1e7-ebcb608c3170
Version Independent ID: 7e8b85c3-70b6-8f55-8090-78021387d324
Content: Map table columns to data-file fields with a format file - SQL Server
Content Source: docs/relational-databases/import-export/use-a-format-file-to-map-table-columns-to-data-file-fields-sql-server.md
Product: sql
Technology: data-movement
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

@kind03 -- thank you for your questions.
@MashaMSFT -- please look into this issue.

Hi @kind03 , thanks for contacting Microsoft!
The reason it says “returned by the bulk operation” is because the bulk operation can have different targets, it’s just the pipeline between a source and a target. In this case, the source is a flat file and the target is a table, so the bulk operation is reading the data from the flat file and “returning” it in the order defined by the format file to the target which is a table.
However, it may provide more clarity if we update the sentence to:
The order of the  elements in the  element defines the order in which the bulk operation sends them to the target.
@WilliamAntonRohm , would you be able to process this change please?
Thanks again for reaching out, and please let us know if we can be of further assistance!
Masha from the SQL Docs team

Hi @kind03 , thanks for bringing this to our attention! I have processed a change that hopefully provides a but more clarity around this statement.
I hope that helps and please let us know if we can be of further assistance? I am going to close out this Git Issue, but please feel free to comment should you need anything further.
Thanks again and I hope you have a wonderful rest of your day!
Masha from the SQL Docs team

Thanks a lot for everyone above!


Changes/fixes for planners

Use arena agent with observation packer
spacial horizon for cadrl
add mpc to .rosinstall

Added launch files for crowdnav and sarl
Added argument for flatland vizualisation in the main launch file


the DLSrecipes for normalcup are not for special spiffocup

also other colors，DLS only for blue one。not fair

Sorry for the delay in my reply, I wasn't getting notifications for this repo.
Are you referring to the mug with the Spiffo logo on it? Which recipes don't work with it? I checked my recipes and there's no references to mugs anywhere.

Ignore my previous comment, I see the issue now. Will fix shortly.