Sorry, an error has occurred, please try again - 1.0.2

Describe the bug
Before upgrading the server version to the latest 1.0.2 I was able to see channels and chat was working normally. Now every time I open the app I get the following error:
Sorry, an error has occurred, please try again.
I tried another Android phone and got the same error. I also tried the experimental app, and there everything was blank.
To Reproduce
A1. Open Rocket.Chat app
A2. I got error
B1. Open Rocket.Chat Experimental
B2.  I see blank content
Screenshots

Devices and Versions
Your Rocket.Chat.Android version: 3.3.1
Your Rocket.Chat Server version: 1.0.2
Google Pixel 3XL (Android Q) and Huawei P20pro (Android 9)
Additional context
I tried uninstalling apps and deleting app content without success. I also tried signing up with another newly created account and it didn't work.

How did you deploy Rocketchat?
What do the Rocketchat logs tell you?

Seems very similar to
https://github.com/RocketChat/Rocket.Chat.Android/issues/2225

We've deployed Rocket Chat with docker-compose and we're using Nginx.
The logs shows this after logging in:
API ➔ debug POST: /api/v1/login
API ➔ debug GET: /api/v1/me
API ➔ debug Success { statusCode: 200,
body:
{ _id: 'jwM8X9PM6D9hEMWD8',
name: 'temp',
emails: [ [Object] ],
status: 'offline',
statusConnection: 'offline',
username: 'temp',
utcOffset: undefined,
active: true,
language: undefined,
roles: [ 'admin' ],
settings: { preferences: [Object] },
customFields: undefined,
email: undefined,
avatarUrl: 'https://OUR_URL/avatar/temp',
success: true } }
API ➔ debug GET: /api/v1/settings.public?count=0&fields=%7B%22type%22%3A%201%7D&query=%7B%22_id%22%3A%20%7B%22%24in%22%3A%20%5B%22uniqueID%22%2C%22LDAP_Enable%22%2C%22CAS_enabled%22%2C%22CAS_login_url%22%2C%22Accounts_RegistrationForm%22%2C%22Accounts_ShowFormLogin%22%2C%22Accounts_PasswordReset%22%2C%22Accounts_CustomFields%22%2C%22Accounts_OAuth_Google%22%2C%22Accounts_OAuth_Facebook%22%2C%22Accounts_OAuth_Github%22%2C%22Accounts_OAuth_Linkedin%22%2C%22Accounts_OAuth_Meteor%22%2C%22Accounts_OAuth_Twitter%22%2C%22Accounts_OAuth_Gitlab%22%2C%22API_Gitlab_URL%22%2C%22Accounts_OAuth_Wordpress%22%2C%22API_Wordpress_URL%22%2C%22Jitsi_Enabled%22%2C%22Jisti_Enable_Channels%22%2C%22Jitsi_SSL%22%2C%22Jitsi_Domain%22%2C%22Jitsi_URL_Room_Prefix%22%2C%22Site_Url%22%2C%22Site_Name%22%2C%22Assets_favicon_512%22%2C%22Assets_favicon_192%22%2C%22UI_Use_Real_Name%22%2C%22UI_Allow_room_names_with_special_chars%22%2C%22Favorite_Rooms%22%2C%22FileUpload_Storage_Type%22%2C%22FileUpload_MaxFileSize%22%2C%22FileUpload_MediaTypeWhiteList%22%2C%22Message_HideType_uj%22%2C%22Message_HideType_ul%22%2C%22Message_HideType_au%22%2C%22Message_HideType_mute_unmute%22%2C%22Message_HideType_ru%22%2C%22Message_AllowDeleting%22%2C%22Message_AllowEditing%22%2C%22Message_AllowPinning%22%2C%22Message_AllowStarring%22%2C%22Message_ShowDeletedStatus%22%2C%22Message_ShowEditedStatus%22%2C%22Assets_tile_310_wide%22%2C%22Store_Last_Message%22%2C%22Message_Read_Receipt_Enabled%22%2C%22Message_Read_Receipt_Store_Users%22%5D%7D%7D
API ➔ debug GET: /api/v1/permissions
API ➔ debug Success { statusCode: 200,
body:
{ settings:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object] ],
count: 47,
offset: 0,
total: 47,
success: true } }
The endpoint "permissions" is deprecated and will be removed after version v0.69
API ➔ debug Success { statusCode: 200,
body:
[ { _id: 'access-mailer',
roles: [Array],
_updatedAt: 2019-05-06T09:12:18.868Z },
{ _id: 'access-permissions',
roles: [Array],
_updatedAt: 2018-09-06T07:37:31.981Z },
{ _id: 'add-oauth-service',
roles: [Array],
_updatedAt: 2018-09-06T07:37:31.984Z },
{ _id: 'add-user-to-any-c-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:31.991Z },
{ _id: 'add-user-to-any-p-room',
roles: [Array],
_updatedAt: 2018-09-06T08:11:37.418Z },
{ _id: 'add-user-to-joined-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:31.988Z },
{ _id: 'api-bypass-rate-limit',
roles: [Array],
_updatedAt: 2019-02-24T23:55:55.789Z },
{ _id: 'archive-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.025Z },
{ _id: 'assign-admin-role',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.028Z },
{ _id: 'assign-roles',
roles: [Array],
_updatedAt: 2019-04-28T18:31:16.932Z },
{ _id: 'auto-translate',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.510Z },
{ _id: 'ban-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.031Z },
{ _id: 'bulk-create-c',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.034Z },
{ _id: 'bulk-register-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.037Z },
{ _id: 'call-management',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.440Z },
{ _id: 'clean-channel-history',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.053Z },
{ _id: 'close-livechat-room',
roles: [Array],
_updatedAt: 2019-05-06T09:12:18.880Z },
{ _id: 'close-others-livechat-room',
roles: [Array],
_updatedAt: 2019-05-06T09:12:18.883Z },
{ _id: 'create-c',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.041Z },
{ _id: 'create-d',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.044Z },
{ _id: 'create-p',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.048Z },
{ _id: 'create-personal-access-tokens',
roles: [Array],
_updatedAt: 2018-11-28T18:38:26.696Z },
{ _id: 'create-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.051Z },
{ _id: 'delete-c',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.056Z },
{ _id: 'delete-d',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.060Z },
{ _id: 'delete-message',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.068Z },
{ _id: 'delete-p',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.071Z },
{ _id: 'delete-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.074Z },
{ _id: 'edit-message',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.077Z },
{ _id: 'edit-other-user-active-status',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.081Z },
{ _id: 'edit-other-user-avatar',
roles: [Array],
_updatedAt: 2019-04-28T18:31:16.947Z },
{ _id: 'edit-other-user-info',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.254Z },
{ _id: 'edit-other-user-password',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.259Z },
{ _id: 'edit-privileged-setting',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.262Z },
{ _id: 'edit-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.265Z },
{ _id: 'edit-room-retention-policy',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.269Z },
{ _id: 'force-delete-message',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.272Z },
{ _id: 'join-without-join-code',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.275Z },
{ _id: 'leave-c',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.278Z },
{ _id: 'leave-p',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.281Z },
{ _id: 'mail-messages',
roles: [Array],
_updatedAt: 2019-05-06T09:12:17.681Z },
{ _id: 'manage-apps',
roles: [Array],
_updatedAt: 2019-05-06T09:12:15.189Z },
{ _id: 'manage-assets',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.284Z },
{ _id: 'manage-cloud',
roles: [Array],
_updatedAt: 2019-05-06T09:12:07.982Z },
{ _id: 'manage-emoji',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.287Z },
{ _id: 'manage-integrations',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.291Z },
{ _id: 'manage-oauth-apps',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.302Z },
{ _id: 'manage-own-integrations',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.293Z },
{ _id: 'manage-sounds',
roles: [Array],
_updatedAt: 2019-05-06T09:12:17.732Z },
{ _id: 'mention-all',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.310Z },
{ _id: 'mention-here',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.313Z },
{ _id: 'mute-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.316Z },
{ _id: 'pin-message',
roles: [Array],
_updatedAt: 2019-05-06T09:12:17.934Z },
{ _id: 'post-readonly',
roles: [Array],
_updatedAt: 2019-05-06T09:12:17.669Z },
{ _id: 'preview-c-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.432Z },
{ _id: 'remove-closed-livechat-rooms',
roles: [Array],
_updatedAt: 2019-05-06T09:12:18.888Z },
{ _id: 'remove-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.322Z },
{ _id: 'reset-other-user-e2e-key',
roles: [Array],
_updatedAt: 2018-11-28T18:38:26.718Z },
{ _id: 'run-import',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.326Z },
{ _id: 'run-migration',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.329Z },
{ _id: 'save-others-livechat-room-info',
roles: [Array],
_updatedAt: 2019-05-06T09:12:18.886Z },
{ _id: 'send-many-messages',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.342Z },
{ _id: 'set-leader',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.345Z },
{ _id: 'set-moderator',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.334Z },
{ _id: 'set-owner',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.337Z },
{ _id: 'set-react-when-readonly',
roles: [Array],
_updatedAt: 2019-05-06T09:12:17.678Z },
{ _id: 'set-readonly',
roles: [Array],
_updatedAt: 2019-05-06T09:12:17.673Z },
{ _id: 'snippet-message',
roles: [Array],
_updatedAt: 2019-05-06T09:12:17.942Z },
{ _id: 'start-discussion',
roles: [Array],
_updatedAt: 2019-04-28T18:31:28.830Z },
{ _id: 'start-discussion-other-user',
roles: [Array],
_updatedAt: 2019-04-28T18:31:28.888Z },
{ _id: 'unarchive-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.348Z },
{ _id: 'user-generate-access-token',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.354Z },
{ _id: 'view-broadcast-member-list',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.437Z },
{ _id: 'view-c-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.351Z },
{ _id: 'view-d-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.357Z },
{ _id: 'view-full-other-user-info',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.371Z },
{ _id: 'view-history',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.379Z },
{ _id: 'view-join-code',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.392Z },
{ _id: 'view-joined-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.389Z },
{ _id: 'view-l-room',
roles: [Array],
_updatedAt: 2019-05-06T09:12:18.873Z },
{ _id: 'view-livechat-analytics',
roles: [Array],
_updatedAt: 2019-05-06T09:12:18.891Z },
{ _id: 'view-livechat-manager',
roles: [Array],
_updatedAt: 2019-05-06T09:12:18.875Z },
{ _id: 'view-livechat-rooms',
roles: [Array],
_updatedAt: 2019-05-06T09:12:18.878Z },
{ _id: 'view-logs',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.399Z },
{ _id: 'view-other-user-channels',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.402Z },
{ _id: 'view-outside-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.434Z },
{ _id: 'view-p-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.408Z },
{ _id: 'view-privileged-setting',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.411Z },
{ _id: 'view-room-administration',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.421Z },
{ _id: 'view-statistics',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.424Z },
{ _id: 'view-user-administration',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.429Z },
success: true ] }
API ➔ debug GET: /api/info
API ➔ debug Success { statusCode: 200, body: { version: '1.0.2', success: true } }
API ➔ debug GET: /api/v1/me
API ➔ debug GET: /api/v1/emoji-custom
The endpoint "emoji-custom" is deprecated and will be removed after version v1.12.0
Meteor ➔ method listEmojiCustom -> userId: null , arguments: [ {} ]
API ➔ debug Success { statusCode: 200,
body:
{ _id: 'jwM8X9PM6D9hEMWD8',
name: 'temp',
emails: [ [Object] ],
status: 'offline',
statusConnection: 'offline',
username: 'temp',
utcOffset: undefined,
active: true,
language: undefined,
roles: [ 'admin' ],
settings: { preferences: [Object] },
customFields: undefined,
email: undefined,
avatarUrl: 'https://OUR_URL/avatar/temp',
success: true } }
The endpoint "emoji-custom" is deprecated and will be removed after version 1.12.0
API ➔ debug Success { statusCode: 200,
body:
{ emojis:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object] ],
success: true } }
API ➔ debug POST: /api/v1/push.token
API ➔ debug Success { statusCode: 200,
body:
{ result:
{ token: [Object],
appName: 'Main',
userId: 'jwM8X9PM6D9hEMWD8',
enabled: true,
createdAt: 2019-05-09T12:12:14.131Z,
updatedAt: 2019-05-09T12:12:14.131Z,
_id: 'TYGyvQQnqgJwFYjbf' },
success: true } }
Meteor ➔ publish null -> userId: null , arguments: []
Meteor ➔ publish null -> userId: jwM8X9PM6D9hEMWD8 , arguments: []
API ➔ debug GET: /api/v1/rooms.get
Meteor ➔ method rooms/get -> userId: jwM8X9PM6D9hEMWD8 , arguments: [ undefined ]
API ➔ debug Success { statusCode: 200,
body: { update: [ [Object] ], remove: [], success: true } }
Meteor ➔ publish userData -> userId: jwM8X9PM6D9hEMWD8 , arguments: []
Meteor ➔ publish activeUsers -> userId: jwM8X9PM6D9hEMWD8 , arguments: []

We have the same problem. A third of our users could use the Android app anymore.
I attached a log in debug mode, which contains every items, which appear, while someone is opening the app:
rocket.chat.log
(all personal information were replaced by x's)

Guys, we just released 3.3.2 version on the Play Store. Could you try it, please?
Thanks.

Yay! It fixed blicked chats and avatars are back to chat list

3.3.2 doesn't fix the issue for me unfortunately :-(

Tried android rocketchat app 3.3.2, still showed "The required "roomId" or "roomname" param provided does not match any channel [error-room-not-found] if I click on any new message from livechat and there is no way to reply for that message from app

Tried android rocketchat app 3.3.2, still showed "The required "roomId" or "roomname" param provided does not match any channel [error-room-not-found] if I click on any new message from livechat and there is no way to reply for that message from app

That seems to be a different bug.

Guys, we just released 3.3.2 version on the Play Store. Could you try it, please?
Thanks.

I can confirm that after upgrading to the latest version 3.3.2 everything is back to normal.
Thank you, guys.

Guys, we just released 3.3.2 version on the Play Store. Could you try it, please?
Thanks.

No, everything the same. We also updated to the server version 1.0.3 and nothing changed.

Update app? - Doesn't help
Login again? - Doesn't help
Reinstall app? - Doesn't help

Same here,
Rocketchat 1.0.3 - no error in Logfile
AppVersion 3.3.2
Can login, Can search for Users / Channels but if any channel is selected an inifity loop with "Loading room XY" is shown.
Any News here?

Version 3.3.2 fixed the problem for me.
But after you released 3.4.0 yesterday, I am getting the same error message:
Sorry, an error has occurred, please try again
Logs
API ➔ debug GET: /api/v1/emoji-custom
The endpoint "emoji-custom" is deprecated and will be removed after version v1.12.0
Meteor ➔ method listEmojiCustom -> userId: null , arguments: [ {} ]
The endpoint "emoji-custom" is deprecated and will be removed after version 1.12.0
API ➔ debug Success { statusCode: 200,
body:
{ emojis:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object] ],
success: true } }
API ➔ debug GET: /api/v1/permissions
The endpoint "permissions" is deprecated and will be removed after version v0.69
API ➔ debug Success { statusCode: 200,
body:
[ { _id: 'access-mailer',
roles: [Array],
_updatedAt: 2019-05-10T13:16:47.441Z },
{ _id: 'access-permissions',
roles: [Array],
_updatedAt: 2018-09-06T07:37:31.981Z },
{ _id: 'add-oauth-service',
roles: [Array],
_updatedAt: 2018-09-06T07:37:31.984Z },
{ _id: 'add-user-to-any-c-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:31.991Z },
{ _id: 'add-user-to-any-p-room',
roles: [Array],
_updatedAt: 2018-09-06T08:11:37.418Z },
{ _id: 'add-user-to-joined-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:31.988Z },
{ _id: 'api-bypass-rate-limit',
roles: [Array],
_updatedAt: 2019-02-24T23:55:55.789Z },
{ _id: 'archive-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.025Z },
{ _id: 'assign-admin-role',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.028Z },
{ _id: 'assign-roles',
roles: [Array],
_updatedAt: 2019-04-28T18:31:16.932Z },
{ _id: 'auto-translate',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.510Z },
{ _id: 'ban-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.031Z },
{ _id: 'bulk-create-c',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.034Z },
{ _id: 'bulk-register-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.037Z },
{ _id: 'call-management',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.440Z },
{ _id: 'clean-channel-history',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.053Z },
{ _id: 'close-livechat-room',
roles: [Array],
_updatedAt: 2019-05-10T13:16:47.453Z },
{ _id: 'close-others-livechat-room',
roles: [Array],
_updatedAt: 2019-05-10T13:16:47.455Z },
{ _id: 'create-c',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.041Z },
{ _id: 'create-d',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.044Z },
{ _id: 'create-p',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.048Z },
{ _id: 'create-personal-access-tokens',
roles: [Array],
_updatedAt: 2018-11-28T18:38:26.696Z },
{ _id: 'create-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.051Z },
{ _id: 'delete-c',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.056Z },
{ _id: 'delete-d',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.060Z },
{ _id: 'delete-message',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.068Z },
{ _id: 'delete-p',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.071Z },
{ _id: 'delete-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.074Z },
{ _id: 'edit-message',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.077Z },
{ _id: 'edit-other-user-active-status',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.081Z },
{ _id: 'edit-other-user-avatar',
roles: [Array],
_updatedAt: 2019-04-28T18:31:16.947Z },
{ _id: 'edit-other-user-info',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.254Z },
{ _id: 'edit-other-user-password',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.259Z },
{ _id: 'edit-privileged-setting',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.262Z },
{ _id: 'edit-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.265Z },
{ _id: 'edit-room-retention-policy',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.269Z },
{ _id: 'force-delete-message',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.272Z },
{ _id: 'join-without-join-code',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.275Z },
{ _id: 'leave-c',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.278Z },
{ _id: 'leave-p',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.281Z },
{ _id: 'mail-messages',
roles: [Array],
_updatedAt: 2019-05-10T13:16:46.138Z },
{ _id: 'manage-apps',
roles: [Array],
_updatedAt: 2019-05-10T13:16:43.599Z },
{ _id: 'manage-assets',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.284Z },
{ _id: 'manage-cloud',
roles: [Array],
_updatedAt: 2019-05-10T13:16:26.051Z },
{ _id: 'manage-emoji',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.287Z },
{ _id: 'manage-integrations',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.291Z },
{ _id: 'manage-oauth-apps',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.302Z },
{ _id: 'manage-own-integrations',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.293Z },
{ _id: 'manage-sounds',
roles: [Array],
_updatedAt: 2019-05-10T13:16:46.199Z },
{ _id: 'mention-all',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.310Z },
{ _id: 'mention-here',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.313Z },
{ _id: 'mute-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.316Z },
{ _id: 'pin-message',
roles: [Array],
_updatedAt: 2019-05-10T13:16:46.426Z },
{ _id: 'post-readonly',
roles: [Array],
_updatedAt: 2019-05-10T13:16:46.130Z },
{ _id: 'preview-c-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.432Z },
{ _id: 'remove-closed-livechat-rooms',
roles: [Array],
_updatedAt: 2019-05-10T13:16:47.460Z },
{ _id: 'remove-user',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.322Z },
{ _id: 'reset-other-user-e2e-key',
roles: [Array],
_updatedAt: 2018-11-28T18:38:26.718Z },
{ _id: 'run-import',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.326Z },
{ _id: 'run-migration',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.329Z },
{ _id: 'save-others-livechat-room-info',
roles: [Array],
_updatedAt: 2019-05-10T13:16:47.458Z },
{ _id: 'send-many-messages',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.342Z },
{ _id: 'set-leader',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.345Z },
{ _id: 'set-moderator',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.334Z },
{ _id: 'set-owner',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.337Z },
{ _id: 'set-react-when-readonly',
roles: [Array],
_updatedAt: 2019-05-10T13:16:46.135Z },
{ _id: 'set-readonly',
roles: [Array],
_updatedAt: 2019-05-10T13:16:46.133Z },
{ _id: 'snippet-message',
roles: [Array],
_updatedAt: 2019-05-10T13:16:46.434Z },
{ _id: 'start-discussion',
roles: [Array],
_updatedAt: 2019-04-28T18:31:28.830Z },
{ _id: 'start-discussion-other-user',
roles: [Array],
_updatedAt: 2019-04-28T18:31:28.888Z },
{ _id: 'unarchive-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.348Z },
{ _id: 'user-generate-access-token',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.354Z },
{ _id: 'view-broadcast-member-list',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.437Z },
{ _id: 'view-c-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.351Z },
{ _id: 'view-d-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.357Z },
{ _id: 'view-full-other-user-info',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.371Z },
{ _id: 'view-history',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.379Z },
{ _id: 'view-join-code',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.392Z },
{ _id: 'view-joined-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.389Z },
{ _id: 'view-l-room',
roles: [Array],
_updatedAt: 2019-05-10T13:16:47.445Z },
{ _id: 'view-livechat-analytics',
roles: [Array],
_updatedAt: 2019-05-10T13:16:47.463Z },
{ _id: 'view-livechat-manager',
roles: [Array],
_updatedAt: 2019-05-10T13:16:47.448Z },
{ _id: 'view-livechat-rooms',
roles: [Array],
_updatedAt: 2019-05-10T13:16:47.450Z },
{ _id: 'view-logs',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.399Z },
{ _id: 'view-other-user-channels',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.402Z },
{ _id: 'view-outside-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.434Z },
{ _id: 'view-p-room',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.408Z },
{ _id: 'view-privileged-setting',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.411Z },
{ _id: 'view-room-administration',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.421Z },
{ _id: 'view-statistics',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.424Z },
{ _id: 'view-user-administration',
roles: [Array],
_updatedAt: 2018-09-06T07:37:32.429Z },
success: true ] }
API ➔ debug GET: /api/v1/settings.public?count=0&fields=%7B%22type%22%3A%201%7D&query=%7B%22_id%22%3A%20%7B%22%24in%22%3A%20%5B%22uniqueID%22%2C%22LDAP_Enable%22%2C%22CAS_enabled%22%2C%22CAS_login_url%22%2C%22Accounts_RegistrationForm%22%2C%22Accounts_ShowFormLogin%22%2C%22Accounts_PasswordReset%22%2C%22Accounts_CustomFields%22%2C%22Accounts_OAuth_Google%22%2C%22Accounts_OAuth_Facebook%22%2C%22Accounts_OAuth_Github%22%2C%22Accounts_OAuth_Linkedin%22%2C%22Accounts_OAuth_Meteor%22%2C%22Accounts_OAuth_Twitter%22%2C%22Accounts_OAuth_Gitlab%22%2C%22API_Gitlab_URL%22%2C%22Accounts_OAuth_Wordpress%22%2C%22API_Wordpress_URL%22%2C%22Jitsi_Enabled%22%2C%22Jisti_Enable_Channels%22%2C%22Jitsi_SSL%22%2C%22Jitsi_Domain%22%2C%22Jitsi_URL_Room_Prefix%22%2C%22Site_Url%22%2C%22Site_Name%22%2C%22Assets_favicon_512%22%2C%22Assets_favicon_192%22%2C%22UI_Use_Real_Name%22%2C%22UI_Allow_room_names_with_special_chars%22%2C%22Favorite_Rooms%22%2C%22FileUpload_Storage_Type%22%2C%22FileUpload_MaxFileSize%22%2C%22FileUpload_MediaTypeWhiteList%22%2C%22Message_HideType_uj%22%2C%22Message_HideType_ul%22%2C%22Message_HideType_au%22%2C%22Message_HideType_mute_unmute%22%2C%22Message_HideType_ru%22%2C%22Message_AllowDeleting%22%2C%22Message_AllowEditing%22%2C%22Message_AllowPinning%22%2C%22Message_AllowStarring%22%2C%22Message_ShowDeletedStatus%22%2C%22Message_ShowEditedStatus%22%2C%22Assets_tile_310_wide%22%2C%22Store_Last_Message%22%2C%22Message_Read_Receipt_Enabled%22%2C%22Message_Read_Receipt_Store_Users%22%5D%7D%7D
API ➔ debug Success { statusCode: 200,
body:
{ settings:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object] ],
count: 47,
offset: 0,
total: 47,
success: true } }
API ➔ debug POST: /api/v1/push.token
API ➔ debug Success { statusCode: 200,
body:
{ result:
{ _id: 'bqQ3WSW9cB7oQrftG',
token: [Object],
appName: 'Main',
userId: '4ZZYv2CfFrxcK9bQL',
enabled: true,
createdAt: 2019-05-10T04:29:24.579Z,
updatedAt: 2019-05-16T10:54:58.693Z },
success: true } }
Meteor ➔ publish null -> userId: null , arguments: []
Meteor ➔ publish null -> userId: 4ZZYv2CfFrxcK9bQL , arguments: []
API ➔ debug GET: /api/v1/rooms.get
Meteor ➔ method rooms/get -> userId: 4ZZYv2CfFrxcK9bQL , arguments: [ undefined ]
API ➔ debug Success { statusCode: 200,
body:
{ update:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object] ],
remove: [],
success: true } }
Meteor ➔ publish userData -> userId: 4ZZYv2CfFrxcK9bQL , arguments: []
Meteor ➔ publish activeUsers -> userId: 4ZZYv2CfFrxcK9bQL , arguments: []
Meteor ➔ method UserPresence:online -> userId: 4ZZYv2CfFrxcK9bQL , arguments: []

The same failure after upgrade to 3.4.0 - the same chats are inaccessible but now no error message displayed

Well, I've found that be it version 3.3.2 or 3.4.0, there is a flow which involves searching, selecting some chats, pressing backs, etc (can't formalize it yet) after which the chat list becomes functional...

we are getting the exact same thing on samsungs note 9 and on one s7 while it works fine on a different S7.

we are getting the exact same thing as OP on samsungs note 9 and on one s7 while it works fine on a different S7.

We also have this issue on Samsung Galaxy S7. So I don't think the device matters.

I have the same problem. I think it's a bug in the application because if I search for a private conversation and click on it, I get an error. But if I go back to the main application page, the conversation appears in the list and if I click on it I can read the messages.

A similar problem, on the part of mobile devices works, on the part - does not work.
The position was saved by the application “Rocket.Chat Experimental” - everything is working correctly in it.
Server version: 1.0.3

thank you,  So we should try the "experimental" version?

Same here,
Server version: 1.0.3
Works with experimental app version..

I had the same issue. Server in 1.0.3, app in 3.4.1, and working fine on the experimental version.
We had to restart the server today and then it work fine on the android app.
So, maybe a server reboot solve the issue.
Now, we need to be sure it doesn't happen again.

My server hasn't been restarted for 3 days and yet today it works...
Looks like there's a third party service hiding in there.

My server hasn't been restarted for 3 days and yet today it works...
Looks like there's a third party service hiding in there.

The server setup was not questionable here, but Android app version. Most likely your app got updated and now it works.

No, app was already in version 3.4.1 yesterday and it didn't work, that for 3 phones ( samsung galaxy ).

The Same here. We are using the latest live rocketchat release 3.4.1.  its all on Samsungs that we are having the issue on.

@nopynoop and @andypost Is the 3.4.1 (2069) working for both of you?

@all3kcis, @Siorde @dcook1313 and possible others here that are still facing that bug with 3.4.1 (2069), do you guys care creating a test user account to me on your servers? This way I can try to simulate what is going wrong. If so, please contact me on our open server here.

@nopynoop and @andypost Is the 3.4.1 (2069) native Android version working for both of you?

I can confirm that the 3.4.1 (2069) is working fine for me.
The server version is still 1.0.3.

I'm sorry Filipe, I am not able, I am not the admin of the server where RocketChat resides, just a middleman.
The Admin has it locked down so only he can create new user accounts.  I'm also not a programmer so forgive me if this is a stupid question, is it possible to get the older version of the android application and will it still work if we can?  All I know is we have several techs all complaining that rocket chat is not working now.

I had the problem 2 days ago and i already was on 3.4.1. But since i restarted the server yesterday it is working.

@dcook1313 Downgrading the app version is not a good thing to do (we have lots of features, improvements and bug fixes done from the past release - as an example the last Android app version has more than 50 PRs merged). Downgrading will be a crazy situation, believe me (but you are free to try it locally).
We really need to have our last version working for all users and we are trying to do all best to understand and consequently fix the bug. What happens when you restart your server (as done by @Siorde)? Did you try doing it? If not, could you try?

thank you Filipe, thank you for the info. I would so just do this myself if
I could.  Im going to ask to see if they can reset the server with Rocket
Chat on it. Ill try getting back to you as soon as I can get them to do
it.  thank you again
On Wed, May 22, 2019 at 7:18 AM Filipe Brito<EMAIL_ADDRESS>wrote:

@dcook1313 https://github.com/dcook1313 Downgrading the app version is
not a good thing to do (we have lots of features, improvements and bug
fixes done from the past release - as an example the last Android app
version has more than 50 PRs merged). Downgrading will be a crazy
situation, believe me (but you are free to try it locally).
We really need to have our last version working for all users and we are
trying to do all best to understand and consequently fix the bug. What
happens when you restart your server (as done by @Siorde
https://github.com/Siorde)? Did you try doing it? If not, could you try?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RocketChat/Rocket.Chat.Android/issues/2308?email_source=notifications&email_token=AINVDNZEYTQPIDUYUUKKEILPWVI3PA5CNFSM4HLYX6S2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV7GMMI#issuecomment-494822961,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AINVDN5CAR7WMMT4KP2UWDLPWVI3PANCNFSM4HLYX6SQ
.

@filipedelimabrito,
I included logging on the server and compared logs of users - those who do not work and those who work.
It is very likely that for the first to one of the requests, an array with objects is given, and for the second, an array with arrays.
The reason for this I could not find, the settings for these users are the same.
Today, before the end of the day, try again to make a comparison and attach logs here.

Thanks @Cosmos-Web! As soon as you have that comparison let us know by attaching the logs here.

@filipedelimabrito
Magic!
I apologize, but as soon as I was going to collect logs - it turned out that today everything works correctly for everyone.
I have an assumption - maybe there is some kind of data or versioning caching? Those. some time for some users received answers from the server in the old version?
Because we had a server version 0.73.2, the mobile application was updated to the latest version and stopped working. Then I updated the server to 1.0.3, and some users still have a cache?
And now, after some time, everything began to work correctly.
PS: I restarted the server several times, but this did not solve the problem. Everything worked over time.
P.P.S .: Our server is in the Docker container.

Similar problem Samsung A5 2017
Server version 1.0.3
Application version 3.4.1
The application was installed recently, the server is installed and updates via Snaps

The problem seems to have resolved itself on some phones.
But still present on a Galaxy A8
Server version 1.0.3 (manual install on Debian 9)
Application version 3.4.1

All the same problem on ASUS ZC554KL
8.1.0 version of Android
Server version 1.0.3
Application version 3.4.1
Also logs on the server as written above

From my testing over the past few days it appears that the channel list doesn't automatically update.
I have conversations which shows the "last message" from hours or days ago.
I am able to force an update by either starting a new conversation with a contact or clicking "message" from a contact's profile.
This updates the list and allows me to mitigate the issues on my android devices.

I opened #2341 for this, then @all3kcis kindly pointed out it was a duplicate. Full details (and screenshots) in that bug. Summary: Android 3.4.1, server 1.0.3, docker-compose, nginx.
Happy to give RC team members access to server to help debug this, users are suffering and RC is becoming useless for us. :(
I'll add nginx configuration which was not in the original Issue, it might be useful:
 server {
   listen 443 ssl http2;
   server_name rocketchat.graduway.com;
    ssl_certificate /etc/letsencrypt/live/rocketchat.MUNGED.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/rocketchat.MUNGED.com/privkey.pem; # managed by Certbot
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_prefer_server_ciphers on;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
   root /usr/share/nginx/html;
   index index.html index.htm;
   # Make site accessible from http://localhost/
   server_name localhost;
   location / {
     proxy_pass http://localhost:3000/;
     proxy_http_version 1.1;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection "upgrade";
     proxy_set_header Host $http_host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forward-Proto http;
     proxy_set_header X-Nginx-Proxy true;
     proxy_redirect off;
   }

}
 server {
    if ($host = rocketchat.MUNGED.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

   listen 80;
   server_name rocketchat.MUNGED.com;
   return 301 https://$host$request_uri;
}

As practice shows, this is a problem for users.
I go from one device under different users, one has an error for the second one.

@peterkogit I think it happens to most if not all of our users (many tend not to point out issues and just stop using the tool). Are there any specific differences between the two users you mention?

@antgel There are no strong differences between them.
The first is just an employee of the company. The second test user, but he has all the same powers.
The only difference is that an employee of the company actively rewritten and throws off various fights.

I just made a new installation of Docker server (v1.0.3), Android 3.4.1 app works correctly.
Then I imported the backup from my real server. And then the mistakes come back.
Concerning the real server I upgraded from version 0.74.3 to 1.0.3  last week.
Maybe there was a problem during the migration?

hi Guys, after they rebooted the server, it appears to be working for the
te techs now.  thank you
On Tue, May 28, 2019 at 7:13 AM All3kcis<EMAIL_ADDRESS>wrote:

I just made a new installation of Docker server (v1.0.3), Android 3.4.1
app works correctly.
Then I imported the backup from my real server. And then the mistakes come
back.
Concerning the real server I upgraded from version 0.74.3 to 1.0.3 last
week.
Maybe there was a problem during the migration?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RocketChat/Rocket.Chat.Android/issues/2308?email_source=notifications&email_token=AINVDNYLT3HL2ZHZZBKMCY3PXU4YDA5CNFSM4HLYX6S2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWMIITQ#issuecomment-496534606,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AINVDN3RY6PNU2GRIHEMURDPXU4YDANCNFSM4HLYX6SQ
.

The problem is still in effect:
Huawei P9 Lite
Server version 1.1.0 (manual install on Debian 9)
Application version 3.4.1
Neither logout or reinstalling the app worked so far.

I just debugged this issue in my own interest, and found the problematic logic. The state machine in the SDK for the RoomListAdapter has a wrong assumption on an object end. @filipedelimabrito already prepared a fix in https://github.com/RocketChat/Rocket.Chat.Kotlin.SDK/pull/250 , a longside with a lot of other changes. The change needed to resolve this particular issue is https://github.com/RocketChat/Rocket.Chat.Kotlin.SDK/pull/250/commits/1347a0a97060dbca0fcb2d329760230268249b0d . I'd be glad if @filipedelimabrito would be able to finialize this PR and releases a new version, with the updated logic.

Very good to know the solution of the problem,  but will it fix the "The required "roomId" or "roomname" param provided does not match any channel [error-room-not-found]" issue?

@filipedelimabrito In response to @Exordian 's comment, can we get a hotfix? The application is broken for many people in production.

@antgel We are doing our best to fix this issue. Sorry for that.

For those having this problem (and for those already able to see the chat list) could you guys try this apk?
We are going to release a new app version on Play Store, but it'd be great if you all can confirm us that it is working as expected now.

@filipedelimabrito I confirm it is working very well for me, and all chat rooms are visible now. :tada:

@filipedelimabrito Chats with new apk work. Let's hope that the problem will be solved.

@filipedelimabrito 3.4.2 works for me (Samsung S8 Android 9.0)
thanks for the fix and giving the apk

@filipedelimabrito Thanks for dealing with the issue. Has the .apk been submitted to the Play Store for approval?

@antgel Yes.

This issue has occurred for the first time for me after the update to 3.5.
Running 1.1.3 via Snap
Reset app, uninstalled reinstalled, restarted server.
I have a blank chat list, can search but not message.
Receive "sorry an unknown error has occurred"

@caesarcxiv Still happening to you? 🤔

Yes

same error on APK v 3.5.0

also noticed errors like this in nginx log (using as reverse proxy)
GET /api/v1/rooms.get HTTP/1.1 400

Issue resolved itself for a couple days and is now back.
Snap updated to 1.2.3 in the meantime.


chore: restrict use of deleted boolean field

Instead of removing the deleted field, we restrict its use, so it doesn't grow again.
More details in comments in cod.

Summary by CodeRabbit

Refactor

Transitioned from deleted field to deletedAt timestamp to track deletions in domain models more precisely.

/ok-to-test<EMAIL_ADDRESS>

Test recording that this doesn't create a large diff.
https://github.com/appsmithorg/appsmith/assets/120119/f84db508-1de7-46dc-a879-de17cf93d4e8


⚠ Digital Ocean - https://status.digitalocean.com/ has degraded performance

In e6f44e2, Digital Ocean - https://status.digitalocean.com/ (https://status.digitalocean.com/api/v2/status.json) experienced degraded performance:

HTTP code: 200
Response time: 68 ms

Resolved: Digital Ocean - https://status.digitalocean.com/ performance has improved in ae83a45.


More logging

I've addressed the review in a series of new commits to be clear what I've changed. I'm happy to squash once you're happy.

Ok, a few minor nits available! After resolving them, please rebase onto the current master!

Updated and rebase (the last commit). Still willing to squash all the commits once accepted :)

Oh, what I meant was that I was approving this. Please squash!

Squashed!


Ignore paths that do not exist.

Fixes errors that may occur when using NPM instead of Yarn.

:tada: This PR is included in version 4.1.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Intellisense stop functioning if chaining commands in different lines

Version of VSCode:
Version of the extension: 0.3.11
OS: macOs
Description:
Rust intellisense stop works when chaining commands in different lines.
For example I can't peek definition to read_line function if my code is like that
io::stdin()
        .read_line(&mut guess)
        .expect("Failed to read line");

But it works perfectly if it's in one line like that
io::stdin().read_line(&mut guess)

It is duplicate of #165

Yeah, looks like it was Racer's bug. It works perfectly after updating Racer


Multi Arch build (arm64 x86_64) on MacOS to support ARM Mac Devices (Universal Binary)

Confirm by changing [x] to [] below:

[x ] I've gone though Developer Guide and API reference
[x] I've searched for previous similar issues and didn't find any solution

Platform/OS/Hardware/Device
What are you running the sdk on?
Mac OS 10.15 Catalina, using Xcode12
Describe the question
Upcoming ARM Macs have following requirements to build to ensure universal compatibility.
https://developer.apple.com/documentation/xcode/building_a_universal_macos_binary
I use the following command to build aws sdk (As an example, take into account only cognito and kinesis.
cmake -DBUILD_ONLY="cognito-identity;kinesis" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -G Xcode
xcodebuild -project AWSSDK.xcodeproj

The resulting .dylib files upon running Apple's compatibility checker, I get the following output
lipo libaws-cpp-sdk-access-management.dylib -archs
x86_64

My expectation was, it should show both x86_64 and arm64. Can anyone tell me why this is occurring. Perhaps apple's implementation is to build these two architectures separately and merge them together using the lipo tool.
Logs/output
If applicable, add logs or error output.
None
To enable logging, set the following system properties:
REMEMBER TO SANITIZE YOUR PERSONAL INFO
options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace;
Aws::InitAPI(options)

Hi @Sunil-P , sorry for the delayed response
I've tested this and you are right the arm64 build fails. It does so silently because cmake is happy to have x86_64 build and just ignores building arm.
It seems to be related mostly to the sdk's dependencies, but we'll look more into it
thanks fro bringing this up to us.

Any update on this, guys ? Anyone working on this

Ive managed to build an arm version of my required libs, and managed to combine them using lipo tool.
As of this moment, Cmake is broken with latest version, use Cmake 3.18.4 to build aws. Homebrew can't downgrade, so if uve installed Cmake via home-brew,
brew remove Cmake
install via pip
pip install Cmake
check Cmake version using
Cmake --version
Rest of the build step
`git clone https://github.com/aws/aws-sdk-cpp
cd aws-sdk-cpp
cmake ../aws-sdk-cpp -G Xcode -DBUILD_ONLY="cognito-identity;kinesis" -DTARGET_ARCH="APPLE" -DCMAKE_OSX_ARCHITECTURES="arm64"
I only build cognito and kinesis
xcodebuild -project AWSSDK.xcodeproj -target "aws-cpp-sdk-core" -target "aws-cpp-sdk-kinesis" -target "testing-resources" -target "aws-cpp-sdk-iam" -target "aws-cpp-sdk-access-management" -target "aws-cpp-sdk-cognito-identity"
xcodebuild -project AWSSDK.xcodeproj -target "aws-cpp-sdk-core" -target "aws-cpp-sdk-kinesis" -target "testing-resources" -target "aws-cpp-sdk-iam" -target "aws-cpp-sdk-access-management" -target "aws-cpp-sdk-cognito-identity" -configuration Release
mkdir -p ~/aws-libs/arm/{Debug,Release}
find -f .//Debug/ -name ".dylib" -exec cp {} ~/aws-libs/arm/Debug ;
find -f .//Release/ -name ".dylib" -exec cp {} ~/aws-libs/arm/Release ;
`


signal: add runtime dependencies to LD_LIBRARY_PATH

Description of changes
This is solving the missing libwayland-cursor recently introduced
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/1016/30

from my testing this was already fixed by https://github.com/NixOS/nixpkgs/pull/206737/files#diff-8730738486948abe95d6a01d11e4805b3fb83c0e3fb920603fe883343550d87eR116
Did you tested with latest master?

autoPatchelfHook already should use runtimeDependencies

you are right, I am on nixos-unstable and the modification has not been merged yet. I close this


[fix]: Fix the usage of Span::join

Actually, Span::join doesn't work on stable at all (and returns None), so care should be taken to have a fallback
This means that on stable we will have error spans that are slightly incorrect

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 3 files are covered.
6238 unchanged lines in 108 files lost coverage.
Overall coverage decreased (-1.0%) to 58.437%

Files with Coverage Reduction
New Missed Lines
%

cli/src/main.rs
1
0.0%

cli/src/samples.rs
1
0.0%

cli/src/torii/pagination.rs
1
98.9%

config/base/src/runtime_upgrades.rs
1
51.72%

config/src/torii.rs
1
96.67%

core/src/smartcontracts/isi/block.rs
1
87.5%

crypto/src/merkle.rs
1
96.23%

data_model/src/domain.rs
1
47.37%

logger/src/lib.rs
1
95.15%

config/src/lib.rs
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-1.0%

Covered Lines:
21541

Relevant Lines:
36862

💛  - Coveralls


importing boto3 fails (python3.6)

To reproduce just
import boto3
somewhere in the code, for example in service.py
and deploy for python3.6
Removing concurrent directory from the zip package solves the problem.
Exception details:
s3_client = boto3.client('s3')
File "/var/task/boto3/__init__.py", line 83, in client
return _get_default_session().client(*args, **kwargs)
File "/var/task/boto3/session.py", line 263, in client
aws_session_token=aws_session_token, config=config)
File "/var/task/botocore/session.py", line 836, in create_client
client_config=config, api_version=api_version)
File "/var/task/botocore/client.py", line 65, in create_client
cls = self._create_client_class(service_name, service_model)
File "/var/task/botocore/client.py", line 89, in _create_client_class
base_classes=bases)
File "/var/task/botocore/hooks.py", line 227, in emit
return self._emit(event_name, kwargs)
File "/var/task/botocore/hooks.py", line 210, in _emit
response = handler(**kwargs)
File "/var/task/boto3/utils.py", line 61, in _handler
module = import_module(module)
File "/var/task/boto3/utils.py", line 52, in import_module
__import__(name)
File "/var/task/boto3/s3/inject.py", line 15, in <module>
from boto3.s3.transfer import create_transfer_manager
File "/var/task/boto3/s3/transfer.py", line 127, in <module>
from s3transfer.exceptions import RetriesExceededError as \
File "/var/task/s3transfer/__init__.py", line 134, in <module>
import concurrent.futures
File "/var/task/concurrent/futures/__init__.py", line 8, in <module>
from concurrent.futures._base import (FIRST_COMPLETED,
File "/var/task/concurrent/futures/_base.py", line 357
raise type(self._exception), self._exception, self._traceback
^
SyntaxError: invalid syntax

Yep, I am experiencing the same issue. I added concurrent== to the blacklist of packages here:
https://github.com/nficano/python-lambda/blob/master/aws_lambda/aws_lambda.py#L274
However, I am not sure if this should be the best solution.

Any thought on the proper way to fix this problem? Why is concurrent installed in the first place?

I'm running into this, too, but I'm not sure what the workaround is exactly. Can somebody please jot down the steps they took?

Why include boto3 while it is available as part of runtime?
https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html

The fix for this is to change either

Use pip3 install for lambda runtimes of 3.X
Delete the folder in your packaged concurrent/futures/


Store an index by publish time

The current index records are great when you want to read the messages by log_time. If you want to read the messages by publish_time, you have to create your own index by reading all the records and building it in memory. It would be nice to consider writer options for recording both index types in the file.

I think the best solution would be to store (log time, publish time, offset) triples in the message index record and extend the chunk index record with publish start/end. Breaking change for the former + 8 bytes per record.
If we need something in the interim, we could append publish_start and publish_end to the chunk index record as optional fields, and append a publish_time_index array to the end of message index that mirrors the existing record time index structure. This would cost 8 bytes per record more than the breaking solution due to timestamp duplication.


Docs should be built with all features for docs.rs

Version
0.15
Problem
Various gamepad, mouse etc features don't show up.
Solution
Steal tech from Bevy's CI to build with all features for docs.

Bevy's dev-docs are built with the all-features flag here, but that won't be supplied to docs.rs.

Aha: you pass in metadata in your Cargo.toml using the [package.metadata.docs.rs] section: https://github.com/bevyengine/bevy/blob/89a5c741f77a28efb1cbe4b25408cd27b51ca2c9/Cargo.toml#L3398


Not able to make predictions from pretrained model

Hi, I have been trying to detect text from images, but every time I run the pre-trained model the model is loading but I am not getting any output from the log_demo_result. txt file.
Thanks

Show an example of the command you are using to run. BTW this model is to make recognition and not detection.

can predict  ABCDEFG~ with pretrained model

if you do give more info this is difficult to help you. If you figure out how to run the model would you please close the issue?

Hi, I have been trying to detect text from images, but every time I run the pre-trained model the model is loading but I am not getting any output from the log_demo_result. txt file.
Thanks

if you do give more info this is difficult to help you. If you figure out how to run the model would you please close the issue?


kapow: init at 0.5.3

Motivation for this change
Adds kapow. A server to expose command-line programs over HTTP.

https://github.com/BBVA/kapow
https://kapow.readthedocs.io/en/stable/

Things done

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

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

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

Thank you, @adisbladis !


Github workflows

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@c896441). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master       #6   +/-   ##
=========================================
  Coverage          ?   80.00%
=========================================
  Files             ?        2
  Lines             ?       30
  Branches          ?       10
=========================================
  Hits              ?       24
  Misses            ?        2
  Partials          ?        4

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[nrf fromlist] modules: Add TF-M SECURE_UART1 config

-This adds a Kconfig configuration which allows
disabling SECURE_UART1.
Upstream PR: pull/38670
Signed-off-by: Georgios Vasilakis<EMAIL_ADDRESS>

Good to have this! Please reference the upstream PR in the commit message.

I will indeed, I just wanted to have the first round of the reviews before I do to avoid multiple revisions upstream.

I will do the change only in the sdk-nrf.


Remove {{< youtube >}} shortcode

We should remove the {{< youtube >}} shortcode. It appears to be unused unused.
Supporting Data
In the production database, the only search result for
SELECT *
FROM websites_websitecontent
WHERE markdown LIKE '% youtube %';

is the sentence

I’ve shared my experiences and my project with her and she was very impressed with the MIT K12 youtube channel.
on page https://ocw.mit.edu/courses/20-219-becoming-the-next-bill-nye-writing-and-hosting-the-educational-show-january-iap-2015/pages/student-reflections/joshua-cheongs-reflections/

acceptance criteria

[ ] update the data on ocw-studio-rc and in production to use a regular video resource instead of this embedded Youtube shortcode
[ ] remove the code that overrides the default youtube shortcode

@gumaerc explained to me that the {{< youtube >}} shortocde is a Hugo builtin, so this customizes it so that in case it does get used, the custom video player gets used instead.
However, our override's syntax is different from the builtin's syntax (positional parameters after the first are different, see https://github.com/gohugoio/hugo/blob/3d5dbdcb1a11b059fc2f93ed6fadb9009bf72673/tpl/tplimpl/embedded/templates/shortcodes/youtube.html).
IMO, we should still remove it. If we really want to prevent using {{< youtube >}}, then the override should be errorf.

@ibrahimjaved12 re

update the data on ocw-studio-rc and in production to use a regular video resource instead of this embedded Youtube shortcode

I think this is done: there was no data. (I should have been clearer in my original post that the SQL query yielded no relevant hits. I looked for " youtube " since shortcodes are case sensitive and that would find either {{< youtube ... or {{% youtube ...).
If you want to double check, could use a django query or sql. Happy to help/answer questions re that.


time module implementation

Added time module

add it if you want, its cool and my players like it


Number in Name - React

Wow! A huge refresh! Thank you for your continued work on this plugin!

I had a bug to report.
I encountered it when running the React tab.
When there is a number or special chars in the name, it just gets dropped.
This is problematic because I could have icons/video-1 and icons/video-2 and they would both become components named IconsVideo which would cause issues if I'm importing them into code.
See this screenshot, which tells all.

In the screenshot above, I would have expected Icons/video-2 to generate a file name and component name IconsVideo2 NOT IconsVideo.

fixed in #13, will be released with #12


SOCIS Ideas link not working

🐞 Problem
The link to SOCIS Ideas of EinsteinPy  does not work. It is similar to the following for different projects.
https://github.com/einsteinpy/einsteinpy/wiki/SOCIS-Ideas#adaptive-mesh-refinement-for-einsteinpy
🎯 Goal
The link needs to be fixed. It should point to the existing SOCIS 2019 Ideas wiki in the repo.

Can I solve the issue?

The link in the SOCIS website is : https://github.com/einsteinpy/einsteinpy/wiki/SOCIS-Ideas#adaptive-mesh-refinement-for-einsteinpy
But actually, it should be : https://github.com/einsteinpy/einsteinpy/wiki/SOCIS-2019-Ideas#adaptive-mesh-refinement-for-einsteinpy

I think, you can't the change the link in SOCIS website ( xD ). It's better to change our wiki.

[ ] Just change the title of that wiki page from SOCIS-2019-Ideas to SOCIS-Ideas .
I guess we don't have access to create/edit a wiki. ( Do we? )

Solved.

Oh! It was me! Hehe

Thanks @Tushar-Tyagi :)

Closed in https://github.com/einsteinpy/einsteinpy/wiki/SOCIS-Ideas/434388396f0b4f2dc914304625a24f27975d2cf5


Feedback on /docs/tutorials/getting-started/hello-world - Fri, 28 Jul 2023 15:16:23 GMT

Discussed in https://github.com/asyncapi/website/discussions/2017

Originally posted by asyncapi-bot July 28, 2023
I like the introduction. However in the earlier sections there as a lot of good information on the types of messages and how they affect the channel name. For example a command to say hello might be called say-hello or a subsequent event might be guest-greeted. It would be nice to have even this simple example assume some of command, query, or event.

Hello @derberg ,
From what I understand, you're suggesting that the current documentation lacks examples demonstrating different message types like commands, queries, and events and how they influence channel names. I appreciate your feedback and I'm eager to tackle this issue. Here's my proposed solution:

Introduction Enhancement: I plan to enhance the introduction by emphasizing the significance of various message types within an event-driven architecture.
Diverse Naming Examples: To address the issue, I'll enrich the sample specification with illustrative examples of different message types. For instance, I'll demonstrate how a command like 'say-hello' might be named differently from subsequent events like 'guest-greeted'.
In-depth Clarifications: Alongside the examples, I'll provide detailed explanations of how each message type works, aiding developers in creating channels that accurately reflect their communication needs.

I'm excited to contribute and make the documentation more insightful. If I'm on the right track, please let me know. Your input is invaluable and any additional feedback you can provide would be greatly appreciated.

actually I just created an issue basing on the anonymous feedback that we got from someone on the website. So I'm not 100% what it relates to exactly.
I assume we just need to modify the example AsyncAPI document to be more explicit.And regarding more docs about message types, imho this is what concept docs are for https://www.asyncapi.com/docs/concepts/message

actually I just created an issue basing on the anonymous feedback that we got from someone on the website. So I'm not 100% what it relates to exactly.
I assume we just need to modify the example AsyncAPI document to be more explicit.And regarding more docs about message types, imho this is what concept docs are for https://www.asyncapi.com/docs/concepts/message

could you please provide a bit more context or details about which specific example you're referring to?
Is it the one here - https://github.com/asyncapi/website/blob/7eda8a3d968edb845db382c41497df517a0db2f4/pages/docs/tutorials/getting-started/hello-world.md

yes, source of document the feedback relates to is https://github.com/asyncapi/website/blob/master/pages/docs/tutorials/getting-started/hello-world.md
you see there code samples of AsyncAPI document, YAML format. I assume from feedback description that maybe hello channel name needs update, or just a message needs a name 🤔 not sure

@derberg @aroramrinaal Any updates on this feedback?

closing for now as all docs were reworked for v3 version of AsyncAPI


Impossible to use App Secret in a browser

When I try to use api secret in my local environment, it throws You are publicly sharing your App Secret. Do not expose the App Secret in browsers.
The README has the following note on the subject:

If you are running backend code in Google Cloud or you know what you're doing, you can specify browser: false in options to skip this check.

Well, I know what I'm doing (it's going to be a developer tool only available locally, with api secret read from environment).
Yet, the suggestion specify browser: false doesn't work. It doesn't just suppress the error. It also tells the stream-js client to use Node packages (http.Agent) - resulting in a run-time error in a browser. https://github.com/GetStream/stream-js/blob/main/src/client.ts#L257 .
As such, the note in README is misleading. It feels like a mistake in the code rather then the docs though.
Thanks

This repo is about feeds. You are referring another repo: https://github.com/getstream/stream-chat-js which is chat client.
Relevant line is here: https://github.com/GetStream/stream-chat-js/blob/01bf0acd0ac7b13ca9b0e3e61a3f45820fadb1a2/src/client.ts#L164

Nope, it's about feeds, specifically in relation with token generation:
https://github.com/GetStream/stream-js#api-client-setup-node--browser

I see your point now, will make a patch.

8.0.2 should fix your use-case, let me know how it goes.

Thanks, looks good!


Enabling conditions on functions

Hi all,
There are many cases where we need to have conditions as output of the mappings, similar to what is described here.
These are just some of concrete use cases we have, but there are many more.

When a given field is empty, the triple is not created
When a field represent ranges we need to be able to create instances for each value in the given range, e.g., XYZ12,14, means that we need to obtain three instances, i.e., ex:XYZ12, ex:XYZ13, and ex:XYZ14
When a field contains strings that should be split into two properties given a specific pattern

When a given field is empty, the triple is not created

I think this is the only case that we understand as conditional generation
The last two, IMHO can be already handled by RML-FNML, am I right @bjdmeest?

@dachafra if you happen to have an example of the last two in the meantime would be great.

I'll redirect you to the RML-FNML https://w3id.org/rml/fnml/spec and if you have any questions you can open them here https://github.com/kg-construct/rml-questions/discussions

The solution for this issue is being proposed in the corresponding repository by @bjdmeest https://github.com/kg-construct/rml-fnml/pull/46. So let's transfer this there


"record-data" variable in all red

I guess it is somewhat special, but I don't have a clue why...

record-data is valid in AcuCOBOL-GT for everyone else it's isn't, so it is highlighted so you can ensure your code is portable.
https://www.microfocus.com/documentation/extend-acucobol/925/BKINRHINUI5U.html

It isn't in its reserved word list:
https://www.microfocus.com/documentation/extend-acucobol/925/GUID-45E064B5-D77F-4DA4-8E5F-A6D957BDEDCF.html
But this does highlight an important issue: Wouldn't it be reasonable to be able to add/remove reserved words for the highlighter? Is there an option to do so without recompiling the extension?

The item has the scope "invalid.illegal.acu.cobol", so you can tweak the highlighting in settings.
No, it's not possible to add/remove the reserved word list on fly but as I said above you can it in settings eg:
"editor.tokenColorCustomizations": {
        "textMateRules": [
            {
                "scope": "invalid.illegal.acu.cobol",
                "settings": {
                    "foreground": "#ffffff"
                }
            }
        ]
    }

or make it specific to your chosen theme.
The closest you can get is to apply semantic highlighting but this will still require all the reserved words to be present and unless you are analyzing the code for dialect then it will be painful for the user, as it is not easy to determine what dialect the code is written for, because it might be compliant with one dialect but be required to execute on another which behaves differently at runtime.

Okay, no follow up for a while, so I'll assume it's all good.

Rechecked:
ACUCOBOL dialect has it as reserved word in blue -> reasonable
COBOL (which I consider to be the "portable" one) in red -> explained by you above, fine
Enterprise for z/OS dialect has it as user defined word in white -> fine
MF not found (I guess we're going with "COBOL" here)
OpenCOBOL/GnuCOBOL is red again -> I'd say reserved words that it should be the same as in Enterprise for z/OS; either there "red" or (my preference here) "white" in both.
... and to this special word: it is not on the ACUCOBOL reserved word list itself and a "type attribute" used in a ACUCOBOL-GT only "heavy extension" of the screen section.


Opening a New project in a new window causes editor crash

Prerequisites

[ ] Can you reproduce the problem in safe mode?
[ ] Are you running the latest version of Atom?
[ ] Did you check the debugging guide?
[ ] Did you check the FAQs on Discuss?
[ ] Are you reporting to the correct repository?
[ ] Did you perform a cursory search to see if your bug or enhancement is already reported?

For more information on how to write a good bug report or enhancement request, see the CONTRIBUTING guide.
Description
I could successfully open a project in atom. But when i tried to open a new project in a new window, it causes the editor to crash.

[Description of the bug or feature]
Steps to Reproduce

[First Step]
[Second Step]
[and so on...]

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Versions
You can get this information from executing atom --version and apm --version at the command line. Also, please include the OS and what version of the OS you're running.

Please open a new issue and completely fill out the issue template.


docs(v2): fix typo

Motivation
One small typo fix for docusaurus, one giant leap towards perfectionism.
Have you read the Contributing Guidelines on pull requests?
Yes

Thanks
I'll edit this and just remove the number of the wording so that the wording is future proof if we add more params


Normalize path generation

Fix a problem when webpack's publicPath option doesn't have the trailing slash.

It will fail in Windows :-(.


Status of otel_ngx_module vs otel-webserver-module is unclear

The status of these two different ways to get opentelemetry into nginx is pretty unclear. They have entirely separate authors, and are both have recent-ish updates.
@seemk @tobiasstadler @DebajitDas @kpratyus as the primary contributors to the two modules: could you help clear this up a bit? Will they coexist?

@kamalmarhubi  - Both will co-exists as long as they are maintained. Would suggest you use one which suits your requirements.

Closing this issue, please reopen if you still have any questions.


How to Skip First Row in RecyclerView Item Decoration for GridLayout?

Hi, I'm newbie in android.
Can you help me with this question?
http://stackoverflow.com/questions/29230795/how-to-skip-first-row-in-recyclerview-item-decoration-for-gridlayout

Not an issue with the sample code.


openfl.display.BitmapData.fillRect behaviour is "blend" instead of "replace"

On Flash and native the following will produce an inner rectangle (blue) and outer rectangle (red) of same opacity. On HTML5 rectangles are blend one over other instead. This makes it impossible to use default backend to erase parts of BitmapData's.
class Main {
    @:keep static function main() {
        var v = new openfl.display.BitmapData(320, 320, true, 0x80ff0000);
        v.fillRect(new openfl.geom.Rectangle(80, 80, 160, 160), 0x800000ff);
        openfl.Lib.current.addChild(new openfl.display.Bitmap(v));
    }
}

Pretty sure this is fixed :smile:

Not working on latest version.
It blends the alpha channel instead of replacing them.
using a call to clearRect does the expected behavior.


Help importing react component

Hi. im trying to make a simple webpage that will read qr code of product and check the database for additional info about the product and sends its back. I want to add a qr code reader trough react component. I have zero experience with react and almost none with javascript. The package is react-qr-scanner.  If anyone can help me import the package into reflex it would be appriciated. Thank you

Hi there, just to u know I don't have that strong bg with using react, I am still in the process, bu I don't mind exploring and learning new things in the way of solving this situation with u....

This should probably be marked as a "feature request" for react-qr-scanner
By the way @mrtineu since you're still unfamiliar with some of the underlying tech, I would recommend you try ChatGPT-4 when you run into issues. It doesn't know about Reflex but it does a good job of writing python, javascript, react and solving general issues

I'm trying to import introjs-react as a component with react, would love to try and go through this process together if we can try and find a way to solve these step by step. The reflex team has provided a basic react component import here - https://reflex.dev/docs/advanced-guide/wrapping-react. I' trying out importing as a component similar to these steps. Seems like a good knowledge of react would be more beneficial in solving this faster.

I haven't forgotten about this one yet, just working on it in the background.
I found a better (easier? more compatible?) QR scanner than the one originally requested:
from typing import Dict, Set
import reflex as rx
from reflex.components.component import Component, NoSSRComponent
from reflex.vars import Var

class QrScanner(NoSSRComponent):
    library = "@yudiel/react-qr-scanner"
    tag = "QrScanner"

    # The delay between scans in milliseconds.
    scan_delay: rx.Var[int]

    # The id of the element to disaply the video preview
    video_id: rx.Var[str]

    hide_count: rx.Var[bool]

    container_style: rx.Var[Dict[str, str]]
    video_style: rx.Var[Dict[str, str]]

    def get_controlled_triggers(self) -> Dict[str, Var]:
        """Dict mapping (event -> expected arguments)."""
        return super().get_controlled_triggers() | {
            "on_result": rx.EVENT_ARG,
            "on_decode": rx.EVENT_ARG,
            "on_error": rx.EVENT_ARG,
        }

qr_scanner = QrScanner.create

and the app
import reflex as rx

from .yudiel_qr_scanner import qr_scanner as yudiel_qr_scanner

class State(rx.State):
    last_scan: str = ""

    def on_scan(self, result: str):
        print(f"on_scan: {result}")
        if result:
            self.last_scan = result

def yudiel_react_qr_scanner_page() -> rx.Component:
    return rx.fragment(
        rx.vstack(
            rx.heading("@yudiel/react-qr-scanner", font_size="2em"),
            rx.box(
                rx.cond(
                    State.last_scan,
                    rx.text(State.last_scan),
                    rx.text("Scan a valid QR code"),
                ),
            ),
            yudiel_qr_scanner(
                on_decode=State.on_scan,
                container_style={
                    "width": "640px",
                    "height": "480px",
                    "padding-top": "0",
                },
            ),
            spacing="1.5em",
            font_size="2em",
            padding_top="10%",
        ),
    )

app = rx.App()
app.add_page(yudiel_react_qr_scanner_page, route="/index")
app.compile()

I'm planning on writing up my process for creating this as a set of blog posts and video, but I didn't want to wait until then before sharing what I have so far!

qr-scanner is now officially part of reflex-examples and working with our latest release, 0.2.5: https://github.com/reflex-dev/reflex-examples/tree/main/qr-scanner


Could not find a declaration file for module '@etchteam/next-pagination'.

Found an error while trying to import Pagination from '@etchteam/next-pagination'. While importing<EMAIL_ADDRESS>works. Error goes as follows:
Could not find a declaration file for module '@etchteam/next-pagination'. <EMAIL_ADDRESS>implicitly has an 'any' type.

It appears the error is from typescript, I solved it by using // @ts-expect-error on the line above it, not the best of solutions.

Hey @vitorklock this has been fixed in v3.5.3 👍
In case you run into this problem in the future on different projects, you could fix this yourself by either:

Creating a typescript declaration file in your local project
Submitting a PR to add typescript definitions to the project
Adding to types for the project to https://github.com/DefinitelyTyped/DefinitelyTyped


[FLINK-9926][Kinesis Connector] Allow for ShardConsumer override in Kinesis consumer.

Ability to override the shard consumer in derived classes, smaller unit of override for shard consumer run loop, consistent use of custom KinesisProxy for discovery and record fetch through factory use.
R: @tzulitai @glaksh100 @jgrier @yxu-valleytider

I see. Thanks Thomas.
Seems streamingplatform master POM still refers to 1.4 release tag. Will that get changed to release-1.5 soon?
<flink.connector.kinesis.version>1.4-lyft20180719</flink.connector.kinesis.version>

+1 from my side. LGTM.

@tzulitai it would be great if you could merge this PR. We also need it for
https://issues.apache.org/jira/browse/FLINK-4582

Thanks all for the PR and reviews.
+1, merging this ..

@tzulitai thanks, can you add it to 1.6 also?


Publish ADF json files - Azure Devops - Access denied

Hello,
I'm new in using this solution and I would like to use UI version.
I set up my release pipeline in AzureDevops:

created Azure Agent
Run task: Validate ADF files - works without any issues. The same subscription, resource groups, adf and agent.
Run task: Publish ADF Json files - does not work so far. The same subscription, resource groups, adf and agent.:

In the last task I'm receiving an error: Access to the path 'D:\a\r1\a' is denied.
Here are the logs I was able to receive:

I have a feeling that PowerShell script that clean the credentials and try to use new once is making a problem here in my case. I would really appreciate your help here as I'm trying to actually replace my current solution written in the Power Shell with more friendly one for people who are not aware how Power Shell works and your application seems to fit perfectly :)
Thank you for your support here!
Marta

Hello,
I've just figured out that there was just an issue that I marked Filtering Type and didn't put any value. Now everything works correct :)


cmd/compile: eliminate all (some?) convT2{I,E} calls

For pointer-shaped types, convT2{I,E} are already done by the compiler.  We currently call into the runtime only for non-pointer-shaped types.
There are two cases, where the interface escapes and where it doesn't.
type T struct {
    a, b, c int
}
func f(t T) interface{} {
    return t
}
func g(t T) {
    h(t)
}
//go:noescape
func h(interface{})

In both cases, I think, it would be easier to inline the work that convT2{I,E} does.  f does this:
LEAQ    type."".T(SB), AX
MOVQ    AX, (SP)
LEAQ    "".autotmp_0+40(SP), AX
MOVQ    AX, 8(SP)
MOVQ    $0, 16(SP)
CALL    runtime.convT2E(SB)
MOVQ    24(SP), CX
MOVQ    32(SP), DX

instead it could do:
LEAQ    type."".T(SB), AX
MOVQ    AX, (SP)
CALL    runtime.newobject(SB)
MOVQ    8(SP), DX
MOVQ    "".autotmp_0+40(SP), AX
MOVQ    "".autotmp_0+48(SP), BX
MOVQ    "".autotmp_0+56(SP), CX
MOVQ    AX, (DX)
MOVQ    BX, 8(DX)
MOVQ    CX, 16(DX)
LEAQ    type."".T(SB), CX

11 instructions instead of 8, but several runtime calls bypassed (convT2E, plus the typedmemmove it calls, and everything that calls, ...).
The expanded code gets larger if T has a pointer in it.  Maybe we use typedmemmove instead of explicit copy instructions in that case.
g is even easier because there is no runtime call required at all.  Old code:
LEAQ    type."".T(SB), AX
MOVQ    AX, (SP)
LEAQ    "".autotmp_2+64(SP), AX
MOVQ    AX, 8(SP)
LEAQ    "".autotmp_3+40(SP), AX
MOVQ    AX, 16(SP)
CALL    runtime.convT2E(SB)
MOVQ    24(SP), CX
MOVQ    32(SP), DX

new code:
MOVQ    "".autotmp_2+64(SP), AX
MOVQ    "".autotmp_2+72(SP), BX
MOVQ    "".autotmp_2+80(SP), CX
MOVQ    AX, "".autotmp_3+40(SP)
MOVQ    BX, "".autotmp_3+48(SP)
MOVQ    CX, "".autotmp_3+56(SP)
LEAQ    type."".T(SB), CX
LEAQ    "".autotmp_3+40(SP), DX

one less instruction, and if we can avoid the copy (if autotmp_2 is never modified after), it could be even better.  And no write barriers are required on the copy even if T has pointers.
Maybe we do the no-escape optimization first.  It seems like an obvious win.  That would allow removing the third arg to convT2{I,E}.  Then we could think about the escape optimization.
@walken-google

Sounds like the escape case is for later.

Seems too late now. Moving to 1.11.

@randall77 I think this may be done. Do you see anything left to do here?

Yes, I think there's more to be done. The escape case (f in my example) seems nonoptimal. It makes a temporary, then passes the address of that temporary to convT2Enoptr.
We could just call newobject directly, then initialize its contents in compiled code. I don't think it would be any bigger (for pointerless types, anyway).


feat(core): wip - add quantity FHIR general type

What is this about
Add formatter for quantity FHIR general type

https://github.com/bonfhir/bonfhir/pull/97


Add support for Samsung TC-P42U2 TV

Please remove the sqlite file

removed and added another LG LP1017WSR AC unit


The spec of to_device() method is missing

Here we mentioned there's a to_device() method to enable data copy/movement across devices:
https://github.com/data-apis/array-api/blob/09410675703ee275e6e5746db3aded0d37bc4b96/spec/design_topics/device_support.md#L48-L49
But we haven't defined the signature and semantics yet.

I think the signature should be as follows:
to_device(self, /, device, *, stream=None)

where device is a mandatory positional argument and stream is an optional kw-only argument, with the same semantics as in the DLPack support.

Good catch, that is indeed missing.

where device is a mandatory positional argument

So you don't want it to be positional-only? That's possible, because it's a new method name so every library can choose the same name. However x.to_device(device='xxx') may be a little odd with the double "device".

Hi @rgommers

So you don't want it to be positional-only?

Ah yes, I meant it to be position-only, but I typed the signature wrong. It should read
to_device(self, device, /, *, stream=None)

My apology, @rgommers, I forgot that you already had a pending PR for this (#171). Should we merge it first, and then I'll make improvements (add the stream argument, etc) in #259?

@leofang Yeah, that would probably make the most sense. Based on the #171, looks like it still may still need a couple of tweaks before merging.

Thanks, Athan, I just did!

Actually, let me ask a question about stream here: is using the DLPack-like integer the right choice here? I think libraries will either have no support for streams, or have custom objects. For DLPack there was little choice, because a custom class instance cannot work. However intra-library it could, similar to how Device itself works, or the dtype objects. Seems like that would be more natural.

That's a good point, Ralf. Thanks for brining it up. How about we make it a union, i.e. we accept both the DLPack-like integer and library-specific stream objects?

That makes sense to me. The "integer to stream" logic must be implemented anyway to support DLPack, so is not much of an extra burden. The actual union then becomes Union[int, _Stream] with _Stream: Any I guess?
It would also be good to write up here in a few sentences how often stream support in to_device is needed. I see PyTorch doesn't have it in .to (docs)- it does have a non_blocking keyword though, which I assume interacts with a stream context manager.

That makes sense to me. The "integer to stream" logic must be implemented anyway to support DLPack, so is not much of an extra burden. The actual union then becomes Union[int, _Stream] with _Stream: Any I guess?

Technically a Union is not the correct type here, as (with protocol arguments being contravariant) that would imply concrete implementation must, at minimum, have support for all union members. Instead, with int- and _Stream-support being optional, you're in a similar situation to builtin protocols such as __abs__, wherein one of the types is a (somewhat constrained) free variable. Expressing the latter can be done with a typevar (e.g. ~T or ~StreamType), though arguably  they don't look quite as nice as unions.
Examples
from __future__ import annotation
from typing import Union, Protocol, Any, TypeVar

_Stream = Any
_T_contra = TypeVar("_T_contra", bound=Union[None, int, _Stream], contravariant=True)

# Concrete implementations must support all union-members
class SupportsToDevice1(Protocol):
    to_device(self, /, device, *, stream: int | None | _Stream = None): ...

# Concrete implementations must support one or more of the typevar bounds
class SupportsToDevice2(Protocol[_T_contra]):
    to_device(self, /, device, *, stream: None | _T_contra = None): ...

It would also be good to write up here in a few sentences how often stream support in to_device is needed. I see PyTorch doesn't have it in .to (docs)- it does have a non_blocking keyword though, which I assume interacts with a stream context manager.

Yes I think so too, so PyTorch's .to(..., nonblocking, ...) is not much different from CuPy's asnumpy(..., stream, ...). They're all about synchronous/asynchronous executions, which is a subject we don't want to touch in the Array API as far as I understand.
So what I have in mind is taking one step back. We can say "if stream is specified, the copy is done on the given stream, otherwise it's done on the library's default stream" (whatever it is, even CPU libraries have an implicit "queue/stream"). Whether or not asynchronous execution is supported is up to the library.

Expressing the latter can be done with a typevar (e.g. ~T or ~StreamType), though arguably they don't look quite as nice as unions.

This makes perfect sense. It doesn't belong in the API standard docs though I think, that'd be pretty confusing to the reader. Maybe the right approach is to avoid using Union and just use text to say "or any ...".
For a library implementing this, the protocol approach makes sense. Right now we don't have a good place to put these type annotations though.

We can say "if stream is specified, the copy is done on the given stream, otherwise it's done on the library's default stream" (whatever it is, even CPU libraries have an implicit "queue/stream"). Whether or not asynchronous execution is supported is up to the library.

This sounds good.


Fix string-valued launch argument substitution

Consider a launch file that declares an argument meant to be used as a string,
in this example an IP address.
from simple_launch import SimpleLauncher

sl = SimpleLauncher()

sl.declare_arg('robot_ip', '<IP_ADDRESS>')

def launch():
    print(sl.arg('robot_ip'))
    return sl.launch_description()

generate_launch_description = sl.launch_description(opaque_function=launch)

Performing the substitution as above inside the opaque function context results
in an SyntaxError being thrown since the given literal value <IP_ADDRESS> --
as seen by ast.literal_eval -- cannot be interpreted as valid Python.
My suggested fix is simply catching this exception and returning any such
"invalid" inputs as strings.
It might be worth noting that one can bodge a fix on the user side as follows:
sl.declare_arg('robot_ip', '"<IP_ADDRESS>"')

ros2 launch ... robot_ip:=\"<IP_ADDRESS>\"

Note the additional quotes to force interpretation as a Python string.
P.S. Thank you for making this wonderful library. With it, I no longer feel existential
dread when faced with launching off a few ROS 2 nodes...

Hi,
Good catch!
As you have guessed, the whole point of simple_launch is to focus on robotics so yeah, it is much better to hide this complexity inside the try_perform function than going into details on adding quotes around IPs as launch arguments.
Thanks for the PR, I'll merge it and prepare a new release.


feat: support node21 for prebuilds

Prebuild the native module for Node 21.
Plus workaround for https://github.com/nodejs/node-gyp/issues/2869

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

Comparison is base (394a79b) 86.22% compared to head (cc25ce1) 86.22%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #838   +/-   ##
=======================================
  Coverage   86.22%   86.22%
=======================================
  Files          19       19
  Lines         668      668
  Branches      153      153
=======================================
  Hits          576      576
  Misses         92       92

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

LGTM


Example of ingress for Traefik on K3S

I'm deploying to a K3S cluster which has built-in Traefik ingress controller. It would be great to see an example of how that is configured in the component chart.

@AnsonT it should be the same as with nginx or any other ingress controller. You may have to set a label or an annotation so that the ingress controller processes the ingress you define using the component-chart but other than that, it should not be any different.

Anyone have any success in doing this? I would like a working example of a ingress yaml or a command line

Running help install as given on their website with the following values file work
ingress:
enabled: true
host: "loft.yourdomain.com"
annotations:
kubernetes.io/ingress.class: traefik
Make sure to put DNS entry for host file pointing to the IP Address listed to access


Suggestion: Save player's AFK status in their file

This way bots like Hack Club's Minecraft Bot would be able to read the status, and display it in the command output

I don't feel like it's necessary since a certain player's AFK status would likely be more relevant to those who are actually playing on the server than those who are not. AFK currently works the way it is because it's per-session and it doesn't make sense to persist the status across sessions.

@lukec11 I don't feel like it's necessary since a certain player's AFK status would likely be more relevant to those who are actually playing on the server than those who are not. AFK currently works the way it is because it's per-session and it doesn't make sense to persist the status across sessions.


GCC Handler should catch the filename

Working on clang tools issues (cf issue #392) I tried to understand why I had "false" errors popping up.
Clang tools can included compilation database to analyse all relevant files in project when analysing one particular file of the project. Using this -p flag means that all these other files are also passed through, and files different from the buffered file pop in the output.
As seen in the handler (relevant line), s:path_pattern is not caught by the handler, nor the pattern is used afterwards in the l:output dictionary. Warnings for the other included files should either be filtered out location list, or kept in but should open the location accordingly in the other file using another buffer.
Relevant log below (a little obfuscared but it should still show my point) :

The file in buffer is "SortieVtu.cpp", but in loclist I also have warnings at lines 189, 215, 378... corresponding to other files in the first few warnings below.
This log was generated setting g:ale_history_log_output and running ALE as suggested, with my fork using clang-check

(finished - exit code 0) ['/bin/bash', '-c', 'clang-check -analyze /path/to/project/src/fich_mtc/SortieVtu.cpp -p /path/to/project/build < /tmp/vH6iQpE/14/SortieVtu.cpp']

<<<OUTPUT STARTS>>>
In file included from /path/to/project/src/fich_mtc/SortieVtu.cpp:4:
In file included from /path/to/project/src/globales/EntetesPrecompiles.h:49:
In file included from /path/to/project/src/migration/dmailmars.h:757:
/path/to/project/src/migration/selectbis-inline.h:189:7: warning: Value stored to 'pos' is never read
                                  pos=noeud.numero();
                                  ^   ~~~~~~~~~~~~~~
/path/to/project/src/migration/selectbis-inline.h:215:7: warning: Value stored to 'pos' is never read
                                  pos=noeud.numero();
                                  ^   ~~~~~~~~~~~~~~
/path/to/project/src/migration/selectbis-inline.h:378:22: warning: Value stored to 'l' during its initialization is never read
        const Item<CIMint> *l=this->inverse_proc()[noeud].debut();
                            ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/project/src/migration/selectbis-inline.h:379:22: warning: Value stored to 'lnb' during its initialization is never read
        const Item<CIMint> *lnb=this->inverse_proc_nb()[noeud].debut();
                            ^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/project/src/migration/selectbis-inline.h:381:2: warning: Value stored to 'inter' is never read
        inter=noeud-_NbNs+1;
        ^     ~~~~~~~~~~~~~
/path/to/project/src/fich_mtc/SortieVtu.cpp:137:16: warning: Value stored to 'TypeChamp' during its initialization is never read
                const char * TypeChamp = LeChamp->getType();
                             ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~
/path/to/project/src/fich_mtc/SortieVtu.cpp:170:16: warning: Value stored to 'TypeChamp' during its initialization is never read
                const char * TypeChamp = LeChamp->getType();
                             ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~
7 warnings generated.
<<<OUTPUT ENDS>>>

This issue is kind of a duplicate, but I'll leave it open for now. I mentioned this problem previous in the one issue, #392, for addressing all current C/C++ header issues.
Some discussion has been had on setting others found for one file in other files if they happen to be open, but I'm still unsure about doing that. I tend to think it will be incredibly complicated, and lead to strange issues. An attempt was made at implementing that, but I'm not sure it's worth supporting. I think it will be better to either entirely discard problems found in other files, or report them inside of the file at line 1 with the feature for showing more error details, etc.
I think we should start by simply throwing those problems in other files away, and only introduce any other features when we have something which actually makes sense.

This was fixed a while ago now. Error lines from included files are put into detailed information for :ALEDetail, and ALE just reports there being a problem in included files where #include is used.


DBZ-4983 Use correct Java encoding Charset in AbstractMysqlFieldReader

https://issues.redhat.com/browse/DBZ-4983

@LarsWerkman LGTM, thanks! I left one comment related to havi separate/re-used singleton.

@LarsWerkman Applied, thanks a lot!


chore: removing logback from all components

Issue #, if available:
Description of changes:
We have enough log frameworks (slf4j / log4j), removing logback and use log4j
In v2, we'll use only slf4j and slf4j-simple. log4j/logback will be implementations for the logging module, nothing else.
Checklist

[x] Meet tenets criteria
[x] Update tests
[ ] Update docs
[x] PR title follows conventional commit semantics

Breaking change checklist

RFC issue #:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report
Patch and project coverage have no change.

Comparison is base (31bebb7) 70.87% compared to head (b403150) 70.87%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff            @@
##               main    #1227   +/-   ##
=========================================
  Coverage     70.87%   70.87%
  Complexity      541      541
=========================================
  Files            72       72
  Lines          2328     2328
  Branches        254      254
=========================================
  Hits           1650     1650
  Misses          558      558
  Partials        120      120

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Fix stable diffusion export

Fix bugs introduced by the update of the optimum main repo.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

In addition to the usual errors we have, there seems to be an issue with stable diffusion export tests: 'GPT2NeuronConfig' has no attribute 'get_mandatory_axes_for_task'.

In addition to the usual errors we have, there seems to be an issue with stable diffusion export tests: 'GPT2NeuronConfig' has no attribute 'get_mandatory_axes_for_task'.

@dacorvo, it's interesting as GPT2NeuronConfig is not supposed to be used during the sd test 🤔.
Could you give me a snippet so that I can reproduce it? Thanks!

In addition to the usual errors we have, there seems to be an issue with stable diffusion export tests: 'GPT2NeuronConfig' has no attribute 'get_mandatory_axes_for_task'.

@dacorvo, it's interesting as GPT2NeuronConfig is not supposed to be used during the sd test 🤔.
Could you give me a snippet so that I can reproduce it? Thanks!

Yes, my bad, this error is for the next test. The stable diffusion error is about a string passed as a list index.
This is the log from the CI: https://github.com/huggingface/optimum-neuron/actions/runs/5598435281/jobs/10238146802?pr=144.


build: add kokoro & ci configs to 1.106.1-patch branch

This adds update kokoro and ci configs to the 1.106.1-patch branch in prep for a patch release.
Required for: #844

https://github.com/googleapis/java-storage/pull/862 should remove the linkage-monitor check @BenWhitehead

This is ready to go @BenWhitehead @frankyn. I've added the Kokoro integration & passed the tests.


Use Cloudant Lite plan instead of Shared

This repo uses Cloudant Shared plan. This plan has been deprecated and is no longer available. An alternative is to use the Lite plan.
https://www.ibm.com/blogs/bluemix/2016/09/new-cloudant-lite-standard-plans-are-live-in-bluemix-public/

We'll update the service plan prereq in manifest.yml to Lite to allow for demo deployment without a PAYG Bluemix account. This plan is free but should not be used in production deployments due to the restrictions it imposes on storage and throughput.

Delivered by #212


fix: restart Vite if tutorial has a .env file

fixes #206
There are two problems with #206.
For the first problem, as expected, learn.svelte.dev waits for Vite dev server to restart when a .dev file is also added, but Vite only restarts when the .env file is changed.

Vite

https://github.com/vitejs/vite/blob/d953536aae448e2bea0f3a7cb3c0062b16d45597/packages/vite/src/node/server/index.ts#L486-L503
https://github.com/vitejs/vite/blob/d953536aae448e2bea0f3a7cb3c0062b16d45597/packages/vite/src/node/server/hmr.ts#L54-L72

learn.svelte.dev

https://github.com/sveltejs/learn.svelte.dev/blob/1c3bebf6dd07596924066bf43edd20082700ce08/src/lib/client/adapters/webcontainer/index.js#L235-L243
So, you might assume that just make learn.svelte.dev not wait for Vite dev server to restart when a .env file is added, but that would not solve the second problem.
As for the second problem, it is due to Vite's behavior. That is, when a .env file is added, the Vite dev server must be restarted in order to make the environment variables loaded from the .env file available.
In other words, if switching to a tutorial with a . env  file, the Vite dev server must be restarted. However, I looked through the Vite documentation and could not find a way to restart Vite.
This PR fix is hacky, but it solves both problems. Of course, if you have a better idea, I would like to do so.

Alternatives considered

Add an blank .env file to the content/tutorial/common directory.

This will treat a .env files added as changed. This way we don't have to modify the code, but a .env file would appear in the SvelteKit tutorials, which may confuse the user who is trying to learn.

Restart Vite dev server programatically.

When Switching from a tutorial without a .env to one with it, kill Vite dev server process and then restart Vite dev server with turbo run dev (see implementation example). This way seems a royal road, but has two problems: first, it is slow to start a tutorial when switching. and second, it relies heavily on the Webcontainer API, which is still in alpha.

Thank you for the PR — brilliant sleuthing! I've opened an issue on Vite, hopefully we can remove this hack one day: https://github.com/vitejs/vite/issues/12127


Option to open video to the left.

I prefer to have the notes pane to the right of the video pane.
Would be very nice to have the video to open up "to the left". Could be a switch in the settings?
Thanks for a great plugin!
/Jonas

Apologies for the long period of inactivity on this project. I wanted to inform you that the plugin has been fully rewritten for the v3 release. I'm currently preparing for the beta release. Once it's available, if you encounter similar issues, please don't hesitate to open a new issue. Thank you for your understanding.