fix:: not focus the composer when file picker is opened

Details
Don't focus the composer when file picker is opened
Fixed Issues
$ https://github.com/Expensify/App/issues/22447
PROPOSAL: https://github.com/Expensify/App/issues/22447#issuecomment-1627015611
Tests

Open ND and log in with any account
Navigate to any chat
Type :he(for example) to trigger emoji suggestions
Tap + button near the composer and select Add attachment
Verify that emoji suggestions isn't displayed for a brief moment
[WEB AND DESKTOP]Tap cancel and verify that emoji suggestions is opened again
[WEB AND DESKTOP]Tap + button near the composer and select Add attachment
[WEB AND DESKTOP]Select any image and close preview
[WEB AND DESKTOP]Verify that emoji suggestions is opened again
Type @ to trigger mention suggestions
Tap + button near the composer and select Add attachment
Verify that mention suggestions isn't displayed for a brief moment

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

Offline tests

Open ND and log in with any account
Navigate to any chat
Type :he(for example) to trigger emoji suggestions
Tap + button near the composer and select Add attachment
Verify that emoji suggestions isn't displayed for a brief moment
[WEB AND DESKTOP]Tap cancel and verify that emoji suggestions is opened again
[WEB AND DESKTOP]Tap + button near the composer and select Add attachment
[WEB AND DESKTOP]Select any image and close preview
[WEB AND DESKTOP]Verify that emoji suggestions is opened again
Type @ to trigger mention suggestions
Tap + button near the composer and select Add attachment
Verify that mention suggestions isn't displayed for a brief moment

QA Steps

Open ND and log in with any account
Navigate to any chat
Type :he(for example) to trigger emoji suggestions
Tap + button near the composer and select Add attachment
Verify that emoji suggestions isn't displayed for a brief moment
[WEB AND DESKTOP]Tap cancel and verify that emoji suggestions is opened again
[WEB AND DESKTOP]Tap + button near the composer and select Add attachment
[WEB AND DESKTOP]Select any image and close preview
[WEB AND DESKTOP]Verify that emoji suggestions is opened again
Type @ to trigger mention suggestions
Tap + button near the composer and select Add attachment
Verify that mention suggestions isn't displayed for a brief moment

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/126839717/1b7295ff-3978-4891-b583-de04c9995eeb

Android: mWeb Chrome
https://github.com/Expensify/App/assets/126839717/26e0d1a2-4a79-43d2-97ce-72ef14151470

iOS: Native
https://github.com/Expensify/App/assets/126839717/3fc9cacc-8d49-4c13-a4bb-2ec39af8030c

iOS: mWeb Safari
https://github.com/Expensify/App/assets/126839717/32275888-40b2-4c82-8323-8f3bd1d83da7

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/126839717/b17a3a35-e300-4de3-a2e3-2c7b0abc5d2c

MacOS: Desktop
https://github.com/Expensify/App/assets/126839717/5093e8f5-7014-44a8-b0c0-298d584ca82c

@parasharrajat
merged. Please check

@parasharrajat
Can you please tell me what is blocking you here?

@parasharrajat
Will you check again?

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

🚀 Cherry-picked to staging by https://github.com/yuwenmemon in version: 1.4.7-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to staging by https://github.com/aldo-expensify in version: 1.4.8-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
cancelled 🔪

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/yuwenmemon in version: 1.4.8-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/yuwenmemon in version: 1.4.8-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Remove pangeo binder links from readme

Since the pangeo binderhubs are no longer operational, should remove links to them from the readme!

closed by f613477c9e6f26419abcc1ad47133f09798a6005


Defacemask at functional level

Currently the validator accepts functional defacemasks. Example datasets that have these files present are ds000113 and ds001107. Does the spec need to be updated to reflect this as a possibility?

@rwblair Could you link to the relevant issue/PR in the validator, for reference?

Found them:
bids-standard/bids-specification#233
bids-standard/bids-specification#239

what aspect of MRI would that include? Just anat ?

OK ds001107 seems to have the mask for func.

In general I would be in favor of such enhancement of the spec.

Relevant thread: https://groups.google.com/g/bids-discussion/c/IswqDa2lm5M/m/wupgaukrCAAJ
Looks like functional defacemasks were openly discussed, so it doesn't seem to be an accident of coding.


Enabling hardware MFA via config possible?

In the IAM identity centre I can enable hardware security keys, but couldn't find a setting to specify this in the accelerator config. Is it correct I have to take this step manually and cannot provide that in config (yet)?

Hello @dnz-bdeboer, and thank you for reaching out to the LZA team!
It is not possible to enable hardware security keys via API, so doing so using LZA is also not possible. You can follow this documentation in order to configure your hardware security keys based on type of key you'd like to use.
I hope this was helpful! I will be closing this issue, but please feel free to follow-up or open new issues as you have additional questions. Thank you for your interest in Landing Zone Accelerator!


postgresql unix socket

I'm trying to use unix socket with postgresql without any success. The libpq documentation says that if I provide an host starting with a / unix sockets are used.
My unix socket file for postgresql is /var/run/postgresql/.s.PGSQL.5432, so here is my database.yml
development:
  dialect: postgres
  database: mydatabase
  user: myuser
  password: none
  host: '/var/run/postgresql/.s.PGSQL.5432'

But here is the result:
$ buffalo db drop
v4.11.2

[POP] 2019/07/17 12:11:36 info - drop mydatabase (postgres://myuser:none@/var/run/postgresql/.s.PGSQL:5432/mydatabase?sslmode=disable)
couldn't drop database mydatabase: error dropping PostgreSQL database mydatabase: pq: no pg_hba.conf entry for host "::1", user "myuser", database "var/run/postgresql/.s.PGSQL.5432:5432/postgres", SSL off

As you can see, it tries to use IPv6 connection instead of the unix socket connection. Also the detected database name is garbage.
I tried some path for host omitting the port (.s.PGSQL), the complete filename (keeping only the directory) and even prefixing with "unix:/" (which end up with a lookup failure for the domain 'unix', which is understandable).

I tracked the issue through layers and find that the issue is on both sides of pop and pq.
On the pq side, they use the official go url parser (/usr/lib/go/src/net/url/url.go), which fails to correctly parse the URL. When it see the host starting with a /, it assume that there is no specified host and consider it as the resource path.
Nothing surprising here, this is exactly why the postgresql documentation state that you can escape the host using %2F instead of /. Unfortunately, pq does not support as of today: https://github.com/lib/pq/issues/796
To bypass the issue, you have to use either the connection string syntax (host=/var/run/postgresql user=user password=password port=5432 dbname=database - See: https://godoc.org/github.com/lib/pq)
Or to specify the host as a query option (postgresl://user:password@:5432/database?host=/var/run/postgres).
And it's here where the issue come back on the pop side: the URL given to pq is not the one from the database.yml, it's generated. So you can't work around the issue by tweaking yourself the URL.
I patched the urlWithoutDb function inside dialect_postgresql.go:
func (p *postgresql) urlWithoutDb() string {
	c := p.ConnectionDetails
	// https://github.com/gobuffalo/buffalo/issues/836
	// If the db is not precised, postgresql takes the username as the database to connect on.
	// To avoid a connection problem if the user db is not here, we use the default "postgres"
	// db, just like the other client tools do.
	s := "postgres://%s:%s@:%s/postgres?host=%s&%s"
	return fmt.Sprintf(s, c.User, c.Password, c.Port, c.Host, c.OptionsString(""))
}

And now it works fine if my database.yml is this:
development:
  url: 'postgresql://none@:5432/mydatabase?host=/var/run/postgresql'

Still not working the classic yaml definition.

Postgresql understand also an other format that circumvent the problem with Unixsockets:
---
development:
    dialect: postgresql
    url: 'host=/var/run/postgresql database=DATABASE'

Both host and database need to be specified to be recognized by pq. The post is irrelevant, but i haven't tested multiple PostgreSQL-Servers on one machine.

If you read carefully my second post you'll see that I already stated that this other format exist, but does not work because pop parse the connection string and rebuild it, using the url format which cause problem.

@stanislas-m @markbates Was this fixed?, Google Cloud Run only supports Unix Sockets to connect to Cloud SQL Postgres. Been trying to figure out the proper connection string to pass to DATABASE_URL.
https://cloud.google.com/sql/docs/postgres/connect-run?hl=en_US

Just a note to say that I am interested in the answer too. Thanks for the update!

I'm not sure @bscott. I'll try to check this week-end.

Thank you!

@ctxnop can this change be sent as a PR?

Just for anyone looking into this, the postgres driver now is jackc/pgx, so previous findings and workarounds might not hold anymore.

I'm not working with golang anymore, feel free to do whatever you want with my proposal if it still applies.

.env
DATABASE_URL="user=postgres password=pass dbname=some_name host=/cloudsql/project-id:europe-west1:production-instance"
database.yml example file
production:    dialect: postgres    url: {{envOr "DATABASE_URL" ""}}


Server side rendering and React 16

Hi everyone.
I don't have an issue but rather couple questions:

Does this library work with server side rendering?
Does it work with React v.16?
Thanks

Yes works with server side rendering
Yes works with React v16; however there are a few bugs with just a few components -  #548

Hello @virgofx
Don't mean to re open but getting an error when server side rendering
import {NavDropdown, DropdownToggle, DropdownMenu, DropdownItem} from 'reactstrap'
give
ReferenceError: navigator is not defined
Any help would be appreciated

Dropdowns when open use popper.js (in the v5 alphas) which cannot be ran during server-side rendering as popper.js needs the browser's API to access more advanced features of the DOM for positioning and such. We may want to add a check to make sure the page is not being rendered on the server isOpen is true. The workaround is to not have isOpen be true when rendering server-side.
Versions before v5 used tether and I am not 100% sure what it is doing, but it probably has similar limitations.

@mclapa The issue is that you're running client-side code in your constructor.  You need to move that processing into componentDidMount - additionally, you shouldn't render any server side display elements that are open.
The issue you're having is really not Reactstrap specific. It's react specific. When rendering serverside you don't have access to the DOM and other top level globals (window.navigator), etc.


Besu takes too much to shutdown

Description
On network with the merge enabled, Besu takes many seconds to stop, for example:
# time service besu stop

real    0m31.088s
user    0m0.008s
sys     0m0.002s

without the merge enabled it was faster.
Depending on the setup taking to much to stop could result in the process being killed and depending on what Besu was doing, it could cause data inconsistencies.
Acceptance Criteria
Besu should only few seconds to stop
Steps to Reproduce (Bug)
Start Besu on a network with the merge enabled, i.e. Goerli, let it finish the bootstrap step, and then stop it
Frequency: [What percentage of the time does it occur?]
Always
Versions (Add all that apply)

Software version: 22.7.1
Java version: "11.0.16"
OS Name & Version: Ubuntu 22.04.1 LTS

it looks to me like this is caused by failing to shutdown the "PoWMinerExecutor"
Aug 31 03:12:04 ethnode systemd[1]: Stopping Besu Execution Layer Client service...
Aug 31 03:12:14 ethnode besu[80296]: 2022-08-31 03:12:14.635+02:00 | vert.x-eventloop-thread-0 | WARN  | EngineExchangeTransitionConfiguration | not called in 120 seconds, consensus client may not be connected
Aug 31 03:12:25 ethnode besu[80296]: 2022-08-31 03:12:25.667+02:00 | EthScheduler-Timer-0 | INFO  | FullSyncTargetManager | No sync target, waiting for peers. Current peers: 5
Aug 31 03:12:30 ethnode besu[80296]: 2022-08-31 03:12:30.668+02:00 | EthScheduler-Timer-0 | INFO  | FullSyncTargetManager | No sync target, waiting for peers. Current peers: 6
Aug 31 03:12:34 ethnode besu[80296]: 2022-08-31 03:12:34.983+02:00 | BesuCommand-Shutdown-Hook | ERROR | AbstractMinerExecutor | Failed to shutdown PoWMinerExecutor.
Aug 31 03:12:34 ethnode besu[80296]: 2022-08-31 03:12:34.988+02:00 | BesuCommand-Shutdown-Hook | INFO  | DefaultSynchronizer | Stopping synchronizer
Aug 31 03:12:34 ethnode besu[80296]: 2022-08-31 03:12:34.992+02:00 | BesuCommand-Shutdown-Hook | INFO  | NetworkRunner | Stopping Network.
Aug 31 03:12:35 ethnode besu[80296]: 2022-08-31 03:12:35.012+02:00 | BesuCommand-Shutdown-Hook | INFO  | EthProtocolManager | Stopping eth Subprotocol.
Aug 31 03:12:35 ethnode besu[80296]: 2022-08-31 03:12:35.020+02:00 | BesuCommand-Shutdown-Hook | INFO  | EthProtocolManager | eth Subprotocol stopped.
Aug 31 03:12:35 ethnode besu[80296]: 2022-08-31 03:12:35.020+02:00 | BesuCommand-Shutdown-Hook | INFO  | NetworkRunner | Network stopped.


move.py - check if number of files in manifest is = number of files in dir

added https://github.com/kieranjol/IFIscripts/commit/91b27d889002348160c10267d832bedbcd304f31


Backend/models

Created models according to the schema from design doc.
Also added enum for role.

@googlebot I consent.


Add get offers HTTP API to maker

Start Rocket with a simple GET call to get the latest offers

next steps (in subsequent PR):

use this endpoint on the taker side
use these CFD parameters on the maker side (in the LDK loop)

bors r+


chore(plot): remove deprecated interface

Description
This PR removes deprecated interfaces.
Related links

Notes for reviewers
I have confirmed that there are no regressions using CARET_report.

Pre-review checklist for the PR author

[x] I've confirmed the contribution guidelines.
[x] The PR is ready for review.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR has been properly tested.
[ ] The PR has been reviewed.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] (Optional) The PR has been properly tested with CARET_report verification.
[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@takeshi-iwanari
Could you please review this PR?


Follow User Front End

if user not connected

if click --> "you need to connect to follow user"

if user connected

if user already follows --> show FOLLOWING user
if user not follow --> show FOLLOW

every time user clicks follow/unfollow count_followers changes


Update: sunzongzheng.music version 1.1.0

Removing old versions to reduce clutter
Microsoft Reviewers: Open in CodeFlow

/azp run


Water Sensors: DKP VT (1084033)

R2B Top sensor isn't sending data

Previously talked to Lindsey
CT1: a & b (top and middle) sensors are reading very low compared to the rest, I would check them to make sure they are properly installed.
BT1: your d (surface) sensor is reading low.
CT2: B (middle) sensor is reading around 10%, but compare with the other ones maybe should be higher.
BT2: A (top) needs to be replaced (will send new sensor tomorrow). and C (deep) is also reading very low around 6% which is very unlikely to happen.
I just notice that it also needs a new temp sensor. I will send a new Temp and deep sensors for R2C and R2B

Fully online.

has not sent data for the last week asking to check on them.

nothing to be done.


Add Japanese

Hello.
I would like to add Japanese to the plugin, may I ask you to merge it?

Yes, thank you very much! I will merge this into staging for now. It will be included in the next release for this plugin which should come through soon 🙂


Updates reservation cancellation service search. Fixes project.lock.json file.

[#133973569]
https://www.pivotaltracker.com/story/show/133973569

@pcsouza PTAL


TechDocs has a hardcoded remoteUrl in LocalPublish

I'm not sure what problems this will cause, but I suspect nothing good can come out of hard coding the backend URL in https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/src/techdocs/stages/publish/local.ts#L67
Expected Behavior
TechDocs should use backend.baseUrl instead of a hardcoded host.
Current Behavior
It's hardcoded and I suspect would break when using anything other than localhost:7000
Possible Solution
Use backend.baseUrl
Steps to Reproduce
It's in the source code.
Context
I just came across this by accident while implementing a workaround for #3290.
Your Environment

NodeJS Version (v12): 12
Operating System and Version (e.g. Ubuntu 14.04): 18
Browser Information: all

Yeah it's specifically the local publish - but should still be resolved using the right facility.

@freben yeah, it's the new internalUrl that should be used.


FileNotFoundError wandb-history.jsonl on startup

Weights and Biases version: master
Python version: 3.6
Operating System: linux

Description
I ran a tensorflow run and got a crash right in the beginning:

WARNING:tensorflow:From /home/ubuntu/models/tutorials/image/cifar10/cifar10_input.py:79: FixedLengthRecordReader.__init__ (from tensorflow.python.ops.io_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by `tf.data`. Use `tf.data.FixedLengthRecordDataset`.
Filling queue with 20000 CIFAR images before starting to train. This will take a few minutes.
WARNING:tensorflow:From /home/ubuntu/models/tutorials/image/cifar10/cifar10_input.py:126: shuffle_batch (from tensorflow.python.training.input) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by `tf.data`. Use `tf.data.Dataset.shuffle(min_after_dequeue).batch(batch_size)`.
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/watchdog/observers/api.py", line 199, in run
    self.dispatch_events(self.event_queue, self.timeout)
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/watchdog/observers/api.py", line 368, in dispatch_events
    handler.dispatch(event)
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/watchdog/events.py", line 454, in dispatch
    _method_map[event_type](event)
  File "/home/ubuntu/client/wandb/run_manager.py", line 478, in _on_file_created
    self._get_file_event_handler(event.src_path, save_name).on_created()
  File "/home/ubuntu/client/wandb/run_manager.py", line 226, in on_created
    self._setup()
  File "/home/ubuntu/client/wandb/run_manager.py", line 241, in _setup
    self.file_path, on_read, seek_end=self._seek_end)
  File "/home/ubuntu/client/wandb/run_manager.py", line 64, in __init__
    self._file = open(path, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/home/ubuntu/models/tutorials/image/cifar10/wandb/run-20181130_044927-9201lt39/wandb-history.jsonl'

I think this is fixed with the more recent versions of wandb. Let's reopen it if the problem comes up again.


Write a Dart program to find square of a number

Description
Write a Dart program to find square of a number
Input  : 5
Output : 25

How to contribute

Save the solution in find_square_of_a_number.dart file
Add find_square_of_a_number.dart file in find-square-of-a-number folder

!assign

Hey @Chirag8023,
This issue has been assigned to you for more than 15 days.
We are unassigning you from this issue.
If you are still interested in contributing to this issue, please get auto-assigned on the issue by commenting !assign again.
Thanks for your contributions :)

!assign

please review new propose file


axum_login integration

I'm trying to create a Mutation endpoint that would allow me to integrate with axum_login (and therefore tower_sessions) but I can't seem to get the Sessions to stick. Has anyone else tried integrating with some sort of login/session management in the Axum ecosystem? I'd love to see an example
Thanks!

I'm using 0.10.2.
I was trying to handle login/logout and user creation through Mutations,
and when using axum-login none of the cookies were being sent back to the
browser. I even tried setting the cookie manually and it wasn't persisting.
On Fri, Dec 8, 2023 at 5:40 PM gabriiels @.***> wrote:

@slyons https://github.com/slyons What version of Axum are you using?
—
Reply to this email directly, view it on GitHub
https://github.com/async-graphql/async-graphql/issues/1436#issuecomment-1848076384,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAKDO7PYFQUCFP75ZNX6EDYIO6Q7AVCNFSM6AAAAABAIQ3TP2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBYGA3TMMZYGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Can you provide a git repository with a minimal example?


Permanently saving HTML in DevTools

Hi, I’m using school website and I have to write username and password everytime I launch application. I tried saving HTML code (adding ,,value = "my_username/my_password",, in Chrome, it worked, but in Nativefier it didn’t worked. Is there any possible way to do it in Nativefier?

Nativefier: 46.1.0
Node.js: 17.4.0
Npm: 8.3.1
OS: Windows 10 Pro Build 21H2

Closing as dup of https://github.com/nativefier/nativefier/issues/310

Autokey isnt supported for Windows.


feat(via): add support for custom body types with Boxed

I messed up a rebase which is pretty embarrassing considering that I've been working alone. This PR introduces support for custom response body types.

I went ahead and cherry-picked the relevant commits from this branch and opened #19 so we can see a clean diff. This was the easiest way to recover from the rebase gone wrong since the branches didn't diverge that much. Therefore, I'm going to close this in favor of #19. I'll keep the branch up until the end of the day on Monday.


Make Validator Class callable

Description
This PR makes the Validator a callable class

This allows us to get rid of the build() method that we use specifically use for Flutter FormField
Motivation and Context

This allows us to write more concise code and reduce verbosity.
How Has This Been Tested?

All existing test cases were updated to not call the build() method and additional tests were added to verify the behavior for the (now legacy) build() method
Types of changes

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

Checklist:

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

I think we should consider the following as well as this will help us remove further verbosity and boilerplate we won't need.
Validator(rules: [
  RequiredRule(),
  MinLengthRule(6),
])

I think this is closer to the utility method we were discussing that day without compromising on the object oriented nature of the validator @shbmbhrdwj


Refactor FormRichTextEditor component and remove ApiClient dependency in FluentCMS.Web.UI.Components

How should we get List of files & pages and how to upload file?


[Bug] Drop Table(iceberg) Force won't completely remove all files on S3

Create one iceberg table, and ingest 11B rows of data.
Do "Drop Table  Force",
Expected behavior (Required)
After the drop operation is complete, the whole s3 folder is removed.
Real behavior (Required)
After the drop operation is complete, check the s3 folder, there are still several data files and metadata files left.
StarRocks version (Required)
3.2.2

/assign

Hi @xiaobingxia-at, in my testing, drop table force will delete all data files and metadata files, with only directories left.

This behavior is consistent with Spark and is relatively conservative. Do you have a need to delete the directory?


Preferences search can't search backwards

I was building from source and noticed that the new preferences search can only search forward and doesn't respond to shift+enter to search backwards.
I can see that it is because it uses the IIterator interface, but the actual datastructure it uses implements INavigator which supports going backwards.
I have a PR ready if this is something that you're interested in changing.

@hoovercj Sure. Please submit the PR.
Thanks


Remote video not displaying

Hello, thanks for the plugin
I'm adding it to my project right now, The local stream displays so i can see my self, but the remote stream doesn't display
I'm using the example in STANDARD
This is my server code
io.on('connection', (socket) => {
  console.log('a user connected');

  socket.on('videoStarted', function(data){
    socket.join(data.roomid, function () {
       socket.to(data.roomid).emit('joined', { message: data.user });
       console.log(data.user + ' joined room ' + data.roomid);
     });
     socket.on('disconnect', function () {
      console.log('user disconnected');
      socket.to(data.roomid).emit('disconnected', { messsage: data.user });
    });
    socket.on('call', function (details){
        console.log('call from ' + details.from + ' & sdp= ' + details.sdp);
        socket.to(data.roomid).emit('call:incoming', {
            to: data.roomid,
            from: details.from,
            sdp: details.sdp
        });
    });
    socket.on('iceCandidate', function (details) {
        console.log('iceCandid from: ' + details.from + ' roomId: ' + data.roomid + ' sdp: ' + details.sdp);
        socket.to(data.roomid).emit('call:iceCandidate', Object.assign({}, details, {
            to: data.roomid
        }));
    });
    socket.on('answer', function (details) {
        console.log('answer from: ' + details.from + ' & sdp=' + details.sdp);
        //console.log('answer to', data.to);
        console.log("to room: " + data.roomid);
        socket.to(data.roomid).emit('call:answer', {
          from: details.from,
          sdp: details.sdp,
          to: data.roomid
		});
    });

    socket.on('answered', function (details) {
        console.log('call:answered ' + details.from);
        console.log('to room', data.roomid);
        socket.to(data.roomid).emit('call:answered', {
            to: data.roomid,
            from: details.from,
            sdp: details.sdp
        });
    });
    });

});

http.listen(3000, () => {
  console.log('listening on *:3000');
});

This is my Server log
a user connected
<EMAIL_ADDRESS>joined room 7
a user connected
<EMAIL_ADDRESS>joined room 7
call from<EMAIL_ADDRESS>& sdp= v=0
o=-<PHONE_NUMBER>175104177 2 IN IP4 <IP_ADDRESS>
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS 8da205d8-b8ff-430e-b13b-2a4901437867
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 9 102 0 8 105 13 110 113 126
c=IN IP4 <IP_ADDRESS>
a=rtcp:9 IN IP4 <IP_ADDRESS>
a=ice-ufrag:lO5+
a=ice-pwd:BQLTNrVRLLEmdDQQQpa1ZUKa
a=ice-options:trickle renomination
a=fingerprint:sha-256 53:7C:9A:5A:0E:DF:B3:B6:99:0B:AA:D1:EA:88:B7:C3:32:55:F6:0C:E4:25:51:B1:3F:F0:9D:F5:6F:BF:A7:C6
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:9 G722/8000
a=rtpmap:102 ILBC/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:736257118 cname:wtBEU5e0cvaHvwGO
a=ssrc:736257118 msid:8da205d8-b8ff-430e-b13b-2a4901437867 662c01a6-40f8-475b-8ff1-2be92d41beb9
a=ssrc:736257118 mslabel:8da205d8-b8ff-430e-b13b-2a4901437867
a=ssrc:736257118 label:662c01a6-40f8-475b-8ff1-2be92d41beb9
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 125 104
c=IN IP4 <IP_ADDRESS>
a=rtcp:9 IN IP4 <IP_ADDRESS>
a=ice-ufrag:lO5+
a=ice-pwd:BQLTNrVRLLEmdDQQQpa1ZUKa
a=ice-options:trickle renomination
a=fingerprint:sha-256 53:7C:9A:5A:0E:DF:B3:B6:99:0B:AA:D1:EA:88:B7:C3:32:55:F6:0C:E4:25:51:B1:3F:F0:9D:F5:6F:BF:A7:C6
a=setup:actpass
a=mid:video
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 H264/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:127 red/90000
a=rtpmap:125 rtx/90000
a=fmtp:125 apt=127
a=rtpmap:104 ulpfec/90000
a=ssrc-group:FID<PHONE_NUMBER><PHONE_NUMBER>
a=ssrc:3462586637 cname:wtBEU5e0cvaHvwGO
a=ssrc:3462586637 msid:8da205d8-b8ff-430e-b13b-2a4901437867 ee035a4f-ebfb-4387-9fa5-01ecd0ba7eda
a=ssrc:3462586637 mslabel:8da205d8-b8ff-430e-b13b-2a4901437867
a=ssrc:3462586637 label:ee035a4f-ebfb-4387-9fa5-01ecd0ba7eda
a=ssrc:2870922064 cname:wtBEU5e0cvaHvwGO
a=ssrc:2870922064 msid:8da205d8-b8ff-430e-b13b-2a4901437867 ee035a4f-ebfb-4387-9fa5-01ecd0ba7eda
a=ssrc:2870922064 mslabel:8da205d8-b8ff-430e-b13b-2a4901437867
a=ssrc:2870922064 label:ee035a4f-ebfb-4387-9fa5-01ecd0ba7eda

iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:1128470857 1 udp<PHONE_NUMBER> <IP_ADDRESS> 35423 typ host generation 0 ufrag
lO5+ network-id 3 network-cost 900
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:559267639 1 udp<PHONE_NUMBER> ::1 47110 typ host generation 0 ufrag lO5+ network-id 2
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:1510613869 1 udp<PHONE_NUMBER> <IP_ADDRESS> 42330 typ host generation 0 ufrag lO5+ network-id 1
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:1128470857 1 udp<PHONE_NUMBER> <IP_ADDRESS> 48824 typ host generation 0 ufrag
lO5+ network-id 3 network-cost 900
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:559267639 1 udp<PHONE_NUMBER> ::1 46637 typ host generation 0 ufrag lO5+ network-id 2
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:1510613869 1 udp<PHONE_NUMBER> <IP_ADDRESS> 52667 typ host generation 0 ufrag lO5+ network-id 1
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:1876313031 1 tcp<PHONE_NUMBER> ::1 38912 typ host tcptype passive generation
0 ufrag lO5+ network-id 2
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:344579997 1 tcp<PHONE_NUMBER> <IP_ADDRESS> 56756 typ host tcptype passive generation 0 ufrag lO5+ network-id 1
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:1876313031 1 tcp<PHONE_NUMBER> ::1 48169 typ host tcptype passive generation
0 ufrag lO5+ network-id 2
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:344579997 1 tcp<PHONE_NUMBER> <IP_ADDRESS> 48026 typ host tcptype passive generation 0 ufrag lO5+ network-id 1
answer from<EMAIL_ADDRESS>& sdp=v=0
o=-<PHONE_NUMBER>175104177 2 IN IP4 <IP_ADDRESS>
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS 8da205d8-b8ff-430e-b13b-2a4901437867
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 9 102 0 8 105 13 110 113 126
c=IN IP4 <IP_ADDRESS>
a=rtcp:9 IN IP4 <IP_ADDRESS>
a=ice-ufrag:lO5+
a=ice-pwd:BQLTNrVRLLEmdDQQQpa1ZUKa
a=ice-options:trickle renomination
a=fingerprint:sha-256 53:7C:9A:5A:0E:DF:B3:B6:99:0B:AA:D1:EA:88:B7:C3:32:55:F6:0C:E4:25:51:B1:3F:F0:9D:F5:6F:BF:A7:C6
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:9 G722/8000
a=rtpmap:102 ILBC/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:736257118 cname:wtBEU5e0cvaHvwGO
a=ssrc:736257118 msid:8da205d8-b8ff-430e-b13b-2a4901437867 662c01a6-40f8-475b-8ff1-2be92d41beb9
a=ssrc:736257118 mslabel:8da205d8-b8ff-430e-b13b-2a4901437867
a=ssrc:736257118 label:662c01a6-40f8-475b-8ff1-2be92d41beb9
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 125 104
c=IN IP4 <IP_ADDRESS>
a=rtcp:9 IN IP4 <IP_ADDRESS>
a=ice-ufrag:lO5+
a=ice-pwd:BQLTNrVRLLEmdDQQQpa1ZUKa
a=ice-options:trickle renomination
a=fingerprint:sha-256 53:7C:9A:5A:0E:DF:B3:B6:99:0B:AA:D1:EA:88:B7:C3:32:55:F6:0C:E4:25:51:B1:3F:F0:9D:F5:6F:BF:A7:C6
a=setup:actpass
a=mid:video
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 H264/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:127 red/90000
a=rtpmap:125 rtx/90000
a=fmtp:125 apt=127
a=rtpmap:104 ulpfec/90000
a=ssrc-group:FID<PHONE_NUMBER><PHONE_NUMBER>
a=ssrc:3462586637 cname:wtBEU5e0cvaHvwGO
a=ssrc:3462586637 msid:8da205d8-b8ff-430e-b13b-2a4901437867 ee035a4f-ebfb-4387-9fa5-01ecd0ba7eda
a=ssrc:3462586637 mslabel:8da205d8-b8ff-430e-b13b-2a4901437867
a=ssrc:3462586637 label:ee035a4f-ebfb-4387-9fa5-01ecd0ba7eda
a=ssrc:2870922064 cname:wtBEU5e0cvaHvwGO
a=ssrc:2870922064 msid:8da205d8-b8ff-430e-b13b-2a4901437867 ee035a4f-ebfb-4387-9fa5-01ecd0ba7eda
a=ssrc:2870922064 mslabel:8da205d8-b8ff-430e-b13b-2a4901437867
a=ssrc:2870922064 label:ee035a4f-ebfb-4387-9fa5-01ecd0ba7eda

to room: 7
call:answered<EMAIL_ADDRESS>to room 7
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:115579896 1 udp<PHONE_NUMBER> <IP_ADDRESS> 33780 typ host generation 0 ufrag chqQ network-id 3 network-cost 10
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:559267639 1 udp<PHONE_NUMBER> ::1 45731 typ host generation 0 ufrag chqQ network-id 2
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:1510613869 1 udp<PHONE_NUMBER> <IP_ADDRESS> 54060 typ host generation 0 ufrag chqQ network-id 1
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:1876313031 1 tcp<PHONE_NUMBER> ::1 50124 typ host tcptype passive generation 0 ufrag chqQ network-id 2
iceCandid from<EMAIL_ADDRESS>roomId: 7 sdp: candidate:344579997 1 tcp<PHONE_NUMBER> <IP_ADDRESS> 47835 typ host tcptype passive generation 0 ufrag chqQ network-id 1
call:answered<EMAIL_ADDRESS>to room 7
user disconnected
user disconnected

I noticed in the exmaple in Standard folder, answerCall() is empty that may be the reason its not working. i don't know what to do there, so i tried emitting answer and answered in socket.on('call:incoming'), didn't work either
This is my standard-vm.ts
export class StandardViewModel extends Observable {
    localView;
    remoteView;
    connection: TNSRTCPeerConnection;
    socket: SocketIO;
    me;
    localStream: TNSRTCMediaStream;

    dataChannels = new Map();
    remoteIceCandidates = [];
    inCall = false;
    isInitiator = false;
    cameraPosition: 'user' | 'environment';

    constructor() {
        super();
        const config = new TNSRTCConfiguration({
            iceServers: [
                new TNSRTCIceServer(['stun:stun.l.google.com:19302']),
                new TNSRTCIceServer(['stun:stun1.l.google.com:19302']),
            ]
        })
        this.connection = new TNSRTCPeerConnection(config);
        this.connection.onIceCandidate(candidate => {
            const object = {};
            object['from'] = this.me;
            object['sdp'] = candidate.sdp;
            object['sdpMid'] = candidate.sdpMid;
            object['sdpMLineIndex'] = candidate.sdpMLineIndex;
            object['serverUrl'] = candidate.serverUrl;
            this.socket.emit('iceCandidate', object);
        });
        this.connection.onTrack(track => {
            if (track.streams) {
                this.remoteView.srcObject = track.streams[0];
            }
        });
        this.me = appSettings.getString("email");
        this.socket = new SocketIO('http://c14b08dccee2.ngrok.io', {
            forceNew: true,
            secure: false
        });
        this.socket.on('joined', data => {
            //this.items.push(data);
            var toast = Toast.makeText(data.message + " joined");
            toast.show();
        });
        this.socket.on('disconnected', data => {
            //this.items.push(data);
            var toast = Toast.makeText(data.message + " Left call");
            toast.show();
        });
        this.socket.on('call:incoming', data => {
            const object = data;
            const from = object['from'];
            const session = object['sdp'];
            const to = object['to'];
            console.log('call:incoming from: ' + to + ' sdp:' + session);
            var toast = Toast.makeText("call to " + to);
            toast.show();
            if (to.indexOf(appSettings.getString("chatid")) > -1) {
                if (this.localStream) {
                    for (let track of this.localStream.videoTracks) {
                        this.connection.addTrack(track, [this.localStream.id]);
                    }
                    for (let track of this.localStream.audioTracks) {
                        this.connection.addTrack(track, [this.localStream.id]);
                    }
                }
                this.createAnswerForOfferReceived({
                    type: TNSRTCSdpType.OFFER,
                    sdp: session
                });
                this.socket.emit('answer', {
                    from: from,
                    sdp: session
                });
            } else {
                console.log("call:incoming error");
                var toast = Toast.makeText("incoming to.indexOf erorr");
                toast.show();
            }
        });
        this.socket.on('call:answer', data => {
            const object = data;
            const from = object['from'];
            const session = object['sdp'];
            const to = object['to'];
            console.log('call:answer');
            console.log('me : ' + this.me + ' from: ' + from + ' to: ' + to);
            var toast = Toast.makeText("call answer " + from);
            toast.show();
            if (to.indexOf(appSettings.getString("chatid")) > -1) {
                const sdp = new TNSRTCSessionDescription(TNSRTCSdpType.OFFER, session);
                this.createAnswerForOfferReceived(sdp);
                this.socket.emit('answered', {
                    from: from,
                    sdp: session
                });
            } else {
                console.log("answer error");
                var toast = Toast.makeText("answer error");
                toast.show();
            }
        });
        this.socket.on('call:answered', data => {
            const object = data;
            const from = object['from'];
            const session = object['sdp'];
            const to = object['to'];
            if (to.indexOf(appSettings.getString("chatid")) > -1) {
                console.log('call:answered');
                const sdp = new TNSRTCSessionDescription(TNSRTCSdpType.ANSWER, session);
                this.handleAnswerReceived(sdp);
                // dataChannelCreate("osei");
                // dataChannelSend("osei", "Test", FancyWebRTC.DataChannelMessageType.TEXT);
            }
        });
        this.socket.on('call:iceCandidate', data => {
            console.log('call:iceCandidate');
            const object = data;
            const from = object['from'];
            const session = object['sdp'];
            const to = object['to'];
            const sdpMid = object['sdpMid'];
            const sdpMLineIndex = object['sdpMLineIndex'];
            const serverUrl = object['serverUrl'];
            console.log("call:iceCandidate to:" + to);
            if (to.indexOf(appSettings.getString("chatid")) > -1) {
                const candidate = new TNSRTCIceCandidate(
                    session,
                    sdpMid,
                    sdpMLineIndex
                );
                this.connection.addIceCandidate(candidate);
            }
        });
        this.socket.on('connect', data => {
            const object = {};
            object['id'] = this.me;
            this.socket.emit('init', object);
            this.socket.emit('videoStarted', {
                user: appSettings.getString("email"),
                roomid: appSettings.getString("chatid")
            });
        });
        this.socket.connect();
    }

    public init() {
        if (!WebRTC.hasPermissions()) {
            WebRTC.requestPermissions().then(() => {
                if (WebRTC.hasPermissions()) {
                    this.setUpUserMedia();
                }
            });
        } else {
           this.setUpUserMedia();
        }
    }

    generateId(): string {
        return 'xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
            const r = (Math.random() * 16) | 0,
                v = c === 'x' ? r : (r & 0x3) | 0x8;
            return v.toString(16);
        });
    }

    public shareScreen(event) {
        TNSRTCMediaDevices.getDisplayMedia(new TNSRTCMediaStreamConstraints(true, true))
            .then(mediaStream => {
                this.localStream = mediaStream;
                this.localView.srcObject = mediaStream;
                this.localView.mirror = false;
            })
            .catch(error => {
                console.log(error);
            });
    }

    public switchCamera(event) {
        if (this.localStream) {
            for (let track of this.localStream.videoTracks) {
                const next = this.cameraPosition === 'user' ? 'environment' : 'user';
                track.applyConstraints({facingMode: next}).then(() => {
                    this.cameraPosition = next;
                    this.localView.mirror = next !== 'environment';
                }).catch(e => {
                    console.log(e);
                });
            }
        }
    }

    public setUpUserMedia() {
        const video = new Map();
        video.set('facingMode', 'user');
        this.cameraPosition = 'user';
        video.set('width', 960);
        video.set('height', 720);
        const constraints = new TNSRTCMediaStreamConstraints(true, video);
        TNSRTCMediaDevices.getUserMedia(constraints)
            .then(mediaStream => {
                this.localStream = mediaStream;
                this.localView.srcObject = mediaStream;
            })
            .catch(error => {
                console.log(error);
            });
    }

    public makeCall(view) {
        if (this.connection) {
            this.isInitiator = true;
            if (this.localStream) {
                const videoTracks = this.localStream.videoTracks;
                const audioTracks = this.localStream.audioTracks;
                for (let track of videoTracks) {
                    this.connection.addTrack(track, [this.localStream.id]);
                }
                for (let track of audioTracks) {
                    this.connection.addTrack(track, [this.localStream.id]);
                }
            }
            this.connection
                .createOffer({})
                .then(sdp => {
                    this.setInitiatorLocalSdp(sdp);
                })
                .catch(error => {
                    this.didReceiveError(error);
                });
        }
    }

    public answerCall(view) {

    }

    public endCall(view) {
        this.connection.close();
        this.connection.dispose();
        this.socket.disconnect();
    }

    public handleRemoteDescriptionSet() {
        for (let iceCandidate of this.remoteIceCandidates) {
            this.connection.addIceCandidate(iceCandidate);
        }
        this.remoteIceCandidates = [];
    }

    sendNonInitiatorSdp(sdp) {
        const object = {};
        object['from'] = this.me;
        object['sdp'] = sdp.sdp; // ???
        /* handleAnswerReceived(sdp); */
        this.socket.emit('answered', object);
    }

    sendInitiatorSdp(sdp: TNSRTCSessionDescription) {
        const object = {};
        object['from'] = this.me;
        object['sdp'] = sdp.sdp;
        this.socket.emit('call', object);
    }

    createAnswerForOfferReceived(remoteSdp) {
        if (!this.connection || !remoteSdp) return;
        this.connection
            .setRemoteDescription(
                new TNSRTCSessionDescription(remoteSdp.type, remoteSdp.sdp)
            )
            .then(() => {
                this.handleRemoteDescriptionSet();
                this.connection
                    .createAnswer({})
                    .then(sdp => {
                        this.setNonInitiatorLocalSdp(sdp);
                    })
                    .catch(e => {
                        this.didReceiveError(e);
                    });
            })
            .catch(error => {
                this.didReceiveError(error);
            });
    }

    handleAnswerReceived(sdp) {
        if (this.connection == null || sdp == null || this.inCall) return;
        const newSdp = new TNSRTCSessionDescription(TNSRTCSdpType.ANSWER, sdp.sdp);
        this.connection
            .setRemoteDescription(newSdp)
            .then(() => {
                this.inCall = true;
            })
            .catch(error => {
                this.didReceiveError(error);
            });
    }

    setNonInitiatorLocalSdp(sdp) {
        if (this.connection == null) return;
        this.connection
            .setLocalDescription(new TNSRTCSessionDescription(sdp.type, sdp.sdp))
            .then(() => {
                this.sendNonInitiatorSdp(sdp);
            })
            .catch(error => {
                this.didReceiveError(error);
            });
    }

    setInitiatorLocalSdp(sdp) {
        if (!this.connection) return;
        if (this.connection.localDescription) {
            if (
                this.connection.localDescription.type === TNSRTCSdpType.ANSWER &&
                sdp.type === TNSRTCSdpType.ANSWER
            )
                return;
        }

        this.connection
            .setLocalDescription(sdp)
            .then(() => {
                this.sendInitiatorSdp(sdp);
            })
            .catch(error => {
                this.didReceiveError(error);
            });
    }

    public dataChannelCreate(name) {
        const dataChannelInit = {};
        const channel = this.connection.createDataChannel(name, dataChannelInit);
        // registerDataChannelObserver(name);
    }

    didReceiveError(error) {
        console.log(
            'isInitiator: ' + this.isInitiator + ' didReceiveError: ' + error
        );
    }
}

Thanks in advance

Were you able to instantiate a WebRTC in nativescript?

Were you able to instantiate a WebRTCView in your xml page in nativescript? Mine can't find it.

@rgill02 yeah, I actually get both streams when the devices are on the same network.
Check that xmlns:ui is pointing to the right plugin name..or you can paste your xml code here

Ok i can paste my code later today when I get home. What version of nativescript are you using?

Ok i can paste my code later today when I get home. What version of nativescript are you using?

@rgill02 Nativescript core, I think the latest one but I will check

I got my WebRTCViews instantiated by downgrading nativescript from version 7 to 6. I now have the same issue as you. I can see my local stream but don't see anything for the remote stream. My "onTrack" handler where I add the remote stream to the remote view is being called, but nothing is showing up. I'm going to investigate more and see what I find.

I got my WebRTCViews instantiated by downgrading nativescript from version 7 to 6. I now have the same issue as you. I can see my local stream but don't see anything for the remote stream. My "onTrack" handler where I add the remote stream to the remote view is being called, but nothing is showing up. I'm going to investigate more and see what I find.

@rgill02 alright, let me know what you find

The value being passed to onTrack seems to be empty for me. Logging the arg passed in gives this:
{
   "_event": {},
   "_mediaTrack": {
     "_mediaStreamTrack": {},
     "_mediaStreamTrackSettings": {
       "_mediaTrackSettings": {}
     }
   },
   "_transceiver": null,
   "_receiver": {},
   "_streams": [
     {
       "_stream": {}
     }
   ]
 }

The value being passed to onTrack seems to be empty for me. Logging the arg passed in gives this:
{
   "_event": {},
   "_mediaTrack": {
     "_mediaStreamTrack": {},
     "_mediaStreamTrackSettings": {
       "_mediaTrackSettings": {}
     }
   },
   "_transceiver": null,
   "_receiver": {},
   "_streams": [
     {
       "_stream": {}
     }
   ]
 }

@rgill02 I think it has something to do with STUN & TURN servers
The media streams are shared only when they are on the same network, you can try it.
To my understanding, TURN server is used when to share media streams when they are not in the same network.

I'm just using the google stun servers given in the example. My two devices are on different networks. Should I be using something different? @adekunle11  What are you using for STUN and TURN servers?
const rtc_config = new WRTC.TNSRTCConfiguration({iceServers: [
    new WRTC.TNSRTCIceServer(['stun:stun.l.google.com:19302']),
    new WRTC.TNSRTCIceServer(['stun:stun1.l.google.com:19302']),]});

Thats the issue the plugin is having, it only uses the STUN servers and that will only work when the devices are on the same wifi.
I've tried adding turn servers, still didn't work on different networks. The way I think the plugin should work is to keep trying all the servers set until it gets one that works, but it doesn't do that.
I also noticed if you remove the iceServers set in the demo, the plugin would still work. So my guess is the plugin uses default servers the @triniwiz set while building it which are only STUN

I came up with a very hackish solution. I setup my own VPN server following this guide. I have both clients first connect to the VPN on their phone (using an app like open vpn connect). Then they can run my app while connected to my VPN. Since they are now on the same network the video streaming works. @adekunle11 you are correct about the STUN/TURN servers.

I should have this covered with the next release seems it’s not respecting the urls especially turn
Sent from Yahoo Mail for iPhone
On Friday, November 27, 2020, 6:06 PM, Ryan Gill<EMAIL_ADDRESS>wrote:
I came up with a very hackish solution. I setup my own VPN server following this guide. I have both clients first connect to the VPN on their phone (using an app like open vpn connect). Then they can run my app while connected to my VPN. Since they are now on the same network the video streaming works. @adekunle11 you are correct about the STUN/TURN servers.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Anyone still struggling with this can you please watch my comment on #44 and see whether this solves your issue?


Add API.mutes for mutes/users/list endpoint

The mutes/users/list endpoint was left out from #1055.

Resolved by https://github.com/tweepy/tweepy/commit/97b64015351201ef42f8c67134cd4180f81f5b7f (#1215) and https://github.com/tweepy/tweepy/commit/29bae1fde3ae0636fa13e5ed69f68f2af75c110b.


"use strict" on SSO pages

What is your Test Scenario?
I have addressed an issue on Stackoverflow. It is described well there. https://stackoverflow.com/questions/66030966/strict-mode-testcafe
What is the Current behavior?
The page is not loading due to javascript error in Chrome. The script is not parsed, and cannot go further from login.
The page is working in real case scenario.
What is the Expected behavior?
Make the site work as expected. This is working in real flows, only testcafe breaks it.
What is your web application and your TestCafe test code?
Angular application redirecting to AngularJS application for SSO.
The AngularJS application won't even load. So navigating to that page is not working at all.

Your website URL (or attach your complete example):
The name of the site is secret. I have mailed it to<EMAIL_ADDRESS>if you would like to test in the real scenario. Please handle it carefully.

Your complete test code (or attach your test files):
 export const adminRole = Role(
  `https://url of the oauth site`,
  async (t) => {
    await t
      .typeText(Selector('#username'), 'username')
      .typeText(Selector('#password'), 'strongpassword')
      .click(Selector('#mainButton'));
  },
  { preserveUrl: true }
);

fixture('Home page');

test('Show profile page', async (t) => {
  await t.useRole(adminRole);
  await t.navigateTo('http://tested site/profile');
  await waitForAngular();
});

Your complete configuration file (if any):
This is the original config file.

Your complete test report:
- Error in Role initializer -
      A JavaScript error occurred on ...
Repeat test actions in the browser and check the console for errors.
      If you see this error, it means that the tested website caused it. You can fix it or disable tracking JavaScript errors in TestCafe. To do the
      latter, enable the "--skip-js-errors" option.
      If this error does not occur, please write a new issue at:
      "https://github.com/DevExpress/testcafe/issues/new?template=bug-report.md".

      JavaScript error details:
      SyntaxError: In strict mode code, functions can only be declared at top level or inside a block.

      Browser: Chrome 88.0.4324.146 / macOS 10.15.7

Screenshots:
A white page, as AngularJS couldn't load.

Steps to Reproduce:

Go to the provided page.
See the error.

Your Environment details:

testcafe version:                   1.10.1
node.js version:                    v12.18.3
command-line arguments:  chrome --no-sandbox
browser name and version: Chrome 88.0.4324.150
platform and version:          macOS 10.15.7
other:                                   The name of the site is secret. I have mailed it to<EMAIL_ADDRESS>if you would like to test in the real scenario. Please handle it carefully.

Thank you for reaching out to us and submitting this issue. We requested additional information by replying to your Email.

@csutorasr
Hello,
I reproduced the issue with Windows 10 and Chrome. Our team will examine this case and check for a suitable solution.
For the team.
This issue can be reproduced with http-playground.
The "Uncaught SyntaxError: In strict mode code, functions can only be declared at top level or inside a block." minimal example:
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>i5927</title>
</head>
<body>
<script>
    !function () {
        "use strict";
        var fn = function() {
            var location = 0;
            if (true)
                do
                    location += '',
                    void 0;
                while (true);
                return location = '';
        };
    }();
</script>
</body>
</html>

Is here any news regarding this issue?


NPM Package missing update

I think you forgot to update the NPM package.
Jackson

Thank you! I will post a new version to NPM.

Bumped v1.0.1.


Make a version of the dict_tools that just uses the "regular" pack

This will be a proof-of-principle to compare to other approaches.

I added this functionality to dict_tools.dictlike_to_hepfile in merge #81 .
We should definitely run some timing tests between the two though to see which is more efficient before closing this issue though. I'm pretty confident it is what I call the classic method (using the "regular" pack) but the awkward method could be helpful for those who want to work with awkward arrays as the background data structure!


How to modify the [[quick capture]] description?

Hi, it's basically the title.
The template for each capture is fixed to
** <Time> ** [[quick capture]]:  [[Link][Title]]

I would like to know if it's possible to change the [[quick capture]] part with a meaningful description for my to-do list.
Best.

@maikol-solis this plugin only sends information to the open logseq instance through custom URL Scheme. The handling itself is performed by logseq, and there's section in config.edn to define templates for quick captures.
I didn't want [[quick capture]] too, so I modified mine as follows:
 :quick-capture-templates
 {:text "{time}: {url}"
  :media "[[quick capture]] **{time}**: {url}"}

Thanks.
This is the information that I was looking for.
Best.


playground: add single field form example

Reasons for making this change
Add an playground example for single field form
Related : #376
Checklist

[x] I'm updating documentation

[x] I've checked the rendering of the Markdown text I've added
[x] If I'm adding a new section, I've updated the Table of Content

[ ] I'm adding or updating code

[ ] I've added and/or updated tests
[ ] I've updated docs if needed

[ ] I'm adding a new feature

[ ] I've updated the playground with an example use of the feature

Sure why not!

Released along v0.41.2.


Missing 1.0.0-beta2 Docker image

The latest beta of Kapacitor 1.0.0 has been released, but the image is missing on Docker Hub.

An rc1 image will be release shortly...

1.4.0 image is missing from dockerhub


Uncaught Exception: UNKNOWN: unknown error, open 'C:\Users\pdima\AppData\Roaming\Google Play Music Desktop Player\json_s

An uncaught exception was reported.
Info:
OS: win32
Arch: ia32
GPMDP Version: 3.3.0
Time: Mon Jul 18 2016 14:25:22 GMT 0300 (GTB Daylight Time)
Error:
UNKNOWN: unknown error, open 'C:\Users\pdima\AppData\Roaming\Google Play Music Desktop Player\json_s
Error: UNKNOWN: unknown error, open 'C:\Users\pdima\AppData\Roaming\Google Play Music Desktop Player\json_store\.settings.json'
    at Error (native)
    at Object.fs.openSync (fs.js:634:18)
    at Object.module.(anonymous function) [as openSync] (ELECTRON_ASAR.js:158:20)
    at Object.fs.writeFileSync (fs.js:1337:33)
    at t.value (C:\Users\pdima\AppData\Local\GPMDP_3\app-3.3.0\resources\app\build\main\utils\Settings.js:9:2252)
    at tryOnTimeout (timers.js:224:11)
    at Timer.listOnTimeout (timers.js:198:5)

This issue was created automatically inside the uncaughtException handler

unknown error
Lol, wonderful error Node....
Thanks...
Not much I do about this one, sorry @petrisordima 😆 Node's error message is horrendous 😆


Unable to receive deferred dead-letter from session-enabled queue

I've a session-enabled queue with a message in DLQ and the state of the message is "Deferred". I use the "ReceiveDeferredMessageAsync()" method to receive the message but it fails with the exception "Azure.Messaging.ServiceBus.ServiceBusException: 'The session lock has expired on the MessageSession. Accept a new MessageSession.".
I don't think session locks are required for DLQ. Kindly suggest.
Here's the repro step:
C#
var serviceBusClient = new ServiceBusClient("<connectionstring>");
var serviceBusReceiver = serviceBusClient.CreateReceiver("<queue>", new ServiceBusReceiverOptions
{
    ReceiveMode = ServiceBusReceiveMode.PeekLock,
    SubQueue = SubQueue.DeadLetter
});

var message = await serviceBusReceiver.ReceiveDeferredMessageAsync(<sequence number>);

Exception:

Azure.Messaging.ServiceBus.ServiceBusException: 'The session lock has expired on the MessageSession. Accept a new MessageSession. TrackingId:8d745660-ceed-4806-9c39-8bd2b0c63875_B3, SystemTracker:NoSystemTracker, Timestamp:2023-03-02T06:47:29 (SessionLockLost). For troubleshooting information, see https://aka.ms/azsdk/net/servicebus/exceptions/troubleshoot.'

Hi @DeepakMohanSingh.  Thank you for reaching out and we regret that you're experiencing difficulties.  In order to receive from a session-enabled resource, you'll need to use a ServiceBusSessionReceiver, which you create by accepting a session from the ServiceBusClient using either AcceptNextSessionAsync or AcceptSessionAsync.   Once you've accepted the session, you'll hold its lock and will be able to receive from it.
More examples of sending/receiving from session-based entities can be found in this sample.

Hi @jsquire, thanks for your reply. I am afraid I can’t use ServiceBusSessionReceiver to receive messages from a dead letter queue. Please assist. Thanks.

/unresolve

apologies; that's my bad, I overlooked that we're talking about dead-lettered messages.
@JoshLove-msft:  Would you mind offering thoughts?

@DeepakMohanSingh, can you clarify the full sequence of events here?

you deadletter a session message
you then receive the deadletter message and defer
you then attempt to receive the deferred message?

Hi @JoshLove-msft, I just sent a message with "TimeToLive" property set to 10 seconds. The message got dead-lettered as I've set "Move to dead-letter upon time expiration" already.
I then deferred the message manually using .Net.
I then tried to receive the message from another .Net application (Code is shared above), which gave me an exception stated above.
Please let me know if you need more details. Thanks.

It is working as expected in my testing. Can you let me know if I'm doing something differently:
  await using var client = new ServiceBusClient(TestEnvironment.ServiceBusConnectionString);
  await using var sender = client.CreateSender(scope.QueueName);

  await sender.SendMessageAsync(ServiceBusTestUtilities.GetMessage("sessionId"));

  var receiver = await client.AcceptNextSessionAsync(scope.QueueName);
  var message = await receiver.ReceiveMessageAsync();
  await receiver.DeadLetterMessageAsync(message);

  var deadLetterReceiver = client.CreateReceiver(scope.QueueName, new ServiceBusReceiverOptions
  {
      SubQueue = SubQueue.DeadLetter
  });

  var deadLetterMessage = await deadLetterReceiver.ReceiveMessageAsync();
  await deadLetterReceiver.DeferMessageAsync(deadLetterMessage);

  var deferred = await deadLetterReceiver.ReceiveDeferredMessageAsync(deadLetterMessage.SequenceNumber);
  Assert.IsNotNull(deferred);

Hey @JoshLove-msft, thanks for your reply. Your code works for me too. Can you try the below lines alone from your application? I actually wanted you to not try ReceiveMessageAsync() as that's the solver in your case. Please run the below lines alone and have nothing in your app:
await using var client = new ServiceBusClient("<connection_string>");

var deadLetterReceiver = client.CreateReceiver("<queue>", new ServiceBusReceiverOptions
{
    SubQueue = SubQueue.DeadLetter
});

var deferred = await deadLetterReceiver.ReceiveDeferredMessageAsync(<sequence_number>);

I'm not sure I follow - I needed to receive the message to defer it. ReceiveDeferredMessage is used to receive messages that have been deferred - not messages that have merely been deadlettered.

Please receive the deferred dead letter using sequence number (note it down). Run the code that I’ve shared (paste the connection string, queue name, and sequence number).
Do not attempt to use ReceiveMessageAsync() . Just use ReceiveDeferredMessageAsync().
Note: I am deferring the message from application1 and receiving it from application2 (I store sequence number in my DB).
hope it helps.

Hi team, any luck?
Thanks.

I was able to reproduce the issue when using a separate receiver/client as you mentioned when attempting the final receive:
  await using var client = new ServiceBusClient(TestEnvironment.ServiceBusConnectionString);
  await using var sender = client.CreateSender(scope.QueueName);

  await sender.SendMessageAsync(ServiceBusTestUtilities.GetMessage("sessionId"));

  var receiver = await client.AcceptNextSessionAsync(scope.QueueName);
  var message = await receiver.ReceiveMessageAsync();
  await receiver.DeadLetterMessageAsync(message);

  var deadLetterReceiver = client.CreateReceiver(scope.QueueName, new ServiceBusReceiverOptions
  {
      SubQueue = SubQueue.DeadLetter
  });

  var deadLetterMessage = await deadLetterReceiver.ReceiveMessageAsync();
  await deadLetterReceiver.DeferMessageAsync(deadLetterMessage);

  await using var client2 = new ServiceBusClient(TestEnvironment.ServiceBusConnectionString);

  var deadLetterReceiver2 = client2.CreateReceiver(scope.QueueName, new ServiceBusReceiverOptions
  {
      SubQueue = SubQueue.DeadLetter
  });

 // this throws SessionLockLost
  var deferred = await deadLetterReceiver2.ReceiveDeferredMessageAsync(deadLetterMessage.SequenceNumber);
  Assert.IsNotNull(deferred);

I'll need to reach out to the service team to find out why this is happening.

The service team is looking into this.

The service team is looking into this.

Thanks @JoshLove-msft, appreciate your support.

This is not an SDK issue. It is an issue with the service bus service. Service Bus never allowed receiving deferred messages from a session-ful queue or subscription. So I don't want to treat this as a bug or anything. I am closing this issue, since there is already a support ticket raised to the service team. We will have to decide whether to let a client defer dead-lettered messages or not.

Thanks for explaining. I believe we were using this in the deprecated version of SDK but I’ll need to check it once.
Even in the latest version, the below code actually works. A bit strange though, but using this line deadLetterReceiver.ReceiveMessageAsync(); before receiving the deferred message makes it work as expected.
An ETA of stopping deferring DLQ will be very helpful in our case. Thanks.

/unresolve

I have checked this again.
Receiving deferred messages works fine as long as a receive link is opened. Both .net core SDKs (Track1 and Track2) open the receive link only when the first receive request is made. Am I right? That's why the sample works fine when receive is called at least once on a receiver object, after it is created. @JoshLove-msft Am I right?
In Track 0 SDKs and Java SDKs, receive link is created when a receiver is created. They don't have this problem.
I will fix this corner case in the service, in the next release. Will probably roll out next month.

@yvgopal - that's right. I just confirmed that if I call receive before the call to ReceiveDeferredMessage, the code above works.


The Colab notebook has lmdb error

It looks like unicore didn't install successfully. We'll try to fix this later. You can also run the binding pose prediction task in docker

If you're struggling to install UniMol locally, feel free to try https://www.tamarind.bio/, a website which offers a no-code interface for bioinformatics tools including UniMol for free.

How to run docker ? I cannot find documentation

@ZhouGengmo docker run -it  dptechnology/unimol:latest-pytorch1.11.0-cuda11.3
I can go inside docker but can't find program there

The docker image doesn't contain the code, you need to copy it in

Is there any tutorial os bunch of commands how to use docker? I coudn't figure it out

你好，请问这个问题解决了吗，我想知道这个到底是怎么运行的


SynapseBridge: executeBridgeTokenTransaction checks estimated bridge fee as part of validation

This would only apply to calls to SynapseBridge.executeBridgeTokenTransaction(), but those should be a large majority of actual transaction executions.

Coverage decreased (-0.06%) to 99.475% when pulling a21895d4663926d9e208496a2f4ef29a3477b321 on feature-bridge/check_fee_before_exec into 7ec118b95d49bda2a3e4ade6d0df05e9bef54aec on dev.


toml lang updated to 1.0.0-rc1

https://github.com/toml-lang/toml/blob/master/versions/en/toml-v1.0.0-rc.1.md

RC2 is out now: https://github.com/toml-lang/toml/releases/tag/1.0.0-rc.2

+1 - any chance we can up this to full v1.0.0 release? Raw tabs in basic strings seem to be already accepted. I could identify these as needing addressing:
* Allow heterogenous values in arrays.
* Clarify that trailing commas are not allowed in inline tables.

https://github.com/toml-lang/toml/blob/master/CHANGELOG.md

This project seems to have been abandoned. Probably time to look at toml11 or toml++.

Ah cool, already two alternatives out there, any comparisons yet? I'm not strongly attached to this one but would like to be v1.0 compliant.

@monkeydom I haven't yet.

@monkeydom I haven't yet.

think I'll be going with toml11 as it has the more detailed error reporting. However, it doesn't have a one header file amalgamation yet, so that's something I'll probably have to add as I want my library to be as tight as possible.


Support function receivers self, mut self, &self, &mut self

Adds support for receiver parameters self, mut self, &self, &mut self.
Also captures several "non-content" tokens like ( ) parameter list group, : parameter name-value separator, -> return type separator.
This PR contains breaking changes, as it splits FunctionParameter up:
#[derive(Clone, Debug)]
pub enum FunctionParameter {
    Receiver(FunctionReceiverParameter),
    Typed(FunctionTypedParameter),
}

// self, mut self, &self, &mut self
#[derive(Clone, Debug)]
pub struct FunctionReceiverParameter {
    pub attributes: Vec<Attribute>,
    pub tk_ref: Option<Punct>,
    pub tk_mut: Option<Ident>,
    pub tk_self: Ident,
}

// name: type
#[derive(Clone, Debug)]
pub struct FunctionTypedParameter {
    pub attributes: Vec<Attribute>,
    pub tk_mut: Option<Ident>,
    pub name: Ident,
    pub tk_colon: Punct,
    pub ty: TyExpr,
}

Always a pleasure to get a high-quality PR =)
From a quick read-through, everything looks good. I'll look at it again and (presumably) merge it before the end of the week.

Thanks a lot for the kind words 😊

No worries, and thanks for the heads-up!
One thing I was wondering when working on the other PR: would it make sense to use shorter identifiers, since this got quite long with the "Receiver"/"Typed" addition -- also for consistency with other identifiers like GenericParam? Instead of
pub enum FunctionParameter { ... }
pub struct FunctionReceiverParameter { ... }
pub struct FunctionTypedParameter { ... }

there could be
pub enum FnParam { ... }
pub struct FnReceiverParam { ... }
pub struct FnTypedParam{ ... }

If yes, I could do that either here or in a separate follow-up "consistency PR". Other types might have similar points.

I'd lean towards doing it once both PRs are merged.

Sounds good to me!

Some feedback:

In the codebase, "consume_xxx" is meant to indicate functions that return an option or a vector that is potentially empty. Functions that panic if they can't find tokens they're looking for should be called "parse_xxx". I'm thinking of consume_fn in particular which should be renamed to parse_fn. (I don't know if this matches common practice, but I'd like to stay consistent)
You added a use case for functions like fn foobar(mut arg: Foo) (functions with mutable arguments). You should add a unit test for that case (the tests only cover the mut self case).
When parsing a function, the parser drops the semicolon if there's one. It should store it in the Function type instead of re-creating one in the ToTokens impl.
FWIW, I tried to stick to a flow in the codebase where dependencies go "up". That is, the "exported" functions are at the bottom, and the function they call are above them. It's not better or worse than the alternative, but I'd like to stay consistent there too.

Overall, none of these are blockers, so I'm merging the PR now.

Thanks a lot for the merge and the feedback!

In the codebase, "consume_xxx" is meant to indicate functions that return an option or a vector that is potentially empty. Functions that panic if they can't find tokens they're looking for should be called "parse_xxx". I'm thinking of consume_fn in particular which should be renamed to parse_fn. (I don't know if this matches common practice, but I'd like to stay consistent)

I see, but this is currently not done consistently -- e.g. consume_attributes() or consume_vis_marker() both panic.
Slightly off-topic, what do you think about translating those panics into Result<..., venial::Error> and propagate them via ? operator, to have errors messages with spans? I'm aware that venial's declared trade-off is "It doesn't attempt to recover gracefully from errors. If [the input isn't a valid declaration], venial will summarily panic.", so I wanted to ask what your stance here is if readability doesn't suffer much.
Your other points should be clear, I'll integrate them as a separate commit in the impl PR.


Add examples

update versions of mvm plugins
Bar & BarTransformer examples
New examples to YouFirstAPI

LGTM
@shun-fan FYI


[Search for a Journey] The status of journey disappears after clean data.

Reproducible: always, rarely, sometimes etc.
Build found: 1.0.99
Preconditions
The "Car" app is opened
The user is logged in
The "Journey" status is "Requested"
Steps to reproduce

Clean data and cash
Log into the app
Go to the "Search for a journey page"
Select requested journey
Observe the result

Actual result
The status of the journey disappears after clean data.
Expected result
The status of the journey is not changing after clean data.
Labels to be added
"Bug" ("bug"), Priority ("pri: ")

Not a bug


C# Driver with Network Topology Interface

Hello, are you planning to support a C# driver to enable network interface model.

So in terms of the driver accessing the database you only need the AQL interface, which is provided by both community c# drivers.
If you want to create custom REST routes you can use the FOXX framework on the server side.

Hi,
If you still have questions, don't hesitate to ask.
I will close this now due to inactivity.

Hi I would like to see a sample posted - with C#... this is turning out complex to port over.
We did it with MS Graph and Neo4j, both were doable but not easy..

Could you show what you already have and tell where it falls short?

I already described it earlier..

Network Interface Nodes:
Get/Put Nodes
Get optimal routes between notes
Configure load metrics on the vertexes
Display graph

Hi, we offer this graph course that helps you learn howto implement it in Arangodb: https://arangodb.com/arangodb-graph-course/


Docker image display an empty version string

ex:
me@shell:~ $ docker run -it mailhog/mailhog:latest --version
MailHog version:

Good find, thanks @fredleger, just need to work out how to fix it 😀

it looks like the binary was built without specifying a build number.
this explains how the version is being set.


Reentrancy Settings

Recently we have received the request of modifying the reentrancy of grpc client request VIs in order to improve the system performance from our customers. Request Link: https://github.com/ni/adas-replay-hil-internal/discussions/348
Among the gRPC VIs, we noticed the Client Unary Call.vim was all re-entrant.The DLL calls are also configured to support calls form multiple threads.

However, the caller --Unary VIs below that were generated by the grpc scripting tool were all non-reentrant.

Is there a specific reason to set those unary VIs to be non-re-entrant? If not, can we have a proposal to let the scripting tool to make those VIs to be re-entrant?

@yijueli
Initially it was mix and match where some VIs were shared clone re-entrant and some were non-reentrant. We changed some of the VIs to have Pre-allocated shared clone re-entrancy via ths PR #106 .  At that point we only changed the VI's under grpc-lvsupport.lvlib. We can certainly try to make the client template VI's re-entrant. I am not sure about the impact on memory footprint though for ADAS

It sounds like there is no known reason why those VIs need to stay non-re-entrant. I would recommend that the ADAS team implement this change and contribute it rather than waiting for LabVIEW R&D to implement it. FYI @gregr-ni

Agree with the no reason to stay reentrant. Sumit has already created a PR though so unless there is more to do, the ADAS team shouldn't need to do anything.

fixed in PR #200


A problem for training SqueezeSeg model

Hello.
I'm trying to train the SqueezeSeg model from random inital weights. However, the iou seems too low after 16h training (about 16.2%).
GPU: a NVIDIA TITAN X.
Training set: sequence 0~7
Validation set: sequence 8
Arch config: squeezeseg.yaml (I just set batch_size=18 due to GPU memory limitation)
There are some information about my training in this pic may help.
Do I need more time for training? Could anyone give me some suggestions? @tano297
Thanks a lot !

I would say that your curves indicate that you need more training time. You also see that the losses are still going down and the IoU goes still up.

I would say that your curves indicate that you need more training time. You also see that the losses are still going down and the IoU goes still up.

Thank you for your reply !
I will keep training it and see what will happen.
Do you know how long it usually takes to train a model like SqueezeSeg ?

I have just checked, and training was done for roughly 300 epochs.
Convergence will be faster than that, at 150-200 epochs, but I kept training for fairness to the original method, because I wanted to make sure there would be no improvement. I'm closing this now, if there is more questions feel free to keep commenting.


Release 2.0.12

Originally, some master playlists (m3u) were miss-detected. This release will prevent the downstream users to be unable to read properly some streams. More on that, see the related PR.
2.0.12 (2022-02-12)
Fixed

ASCII miss-detection on rare cases (PR #170)

Codecov Report

Merging #171 (3d5b4c2) into master (d56ed8c) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #171   +/-   ##
=======================================
  Coverage   89.40%   89.40%
=======================================
  Files          11       11
  Lines        1199     1199
=======================================
  Hits         1072     1072
  Misses        127      127

Impacted Files
Coverage Δ

charset_normalizer/version.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Multiqc related updates

Add dupRadar slope intercept value and rRNA biotype counts to multiqc general stat table for easy interpretation

Upon successful completion try to attach the multiqc report with notification email

Thank you @ewels and @sven1103 for the review, I have made new commit addressing your comments :+1:
Nice Weekend :tada:

Super nice, thanks @senthil10!

Thank you all :)

Ah crap, this was into master instead of dev again. Really need to stop doing this..

I don't think that it really matters what they're called, the key is that the default git branch should only have the last release (so that this is fetched if -r is not used in Nextflow).
Here we don't have any releases yet, so it's no big deal. But going forward we need to be more careful.
What would be ideal is if master could be protected from PRs coming from anything other than a same-repo branch. But as far as I know this isn't possible. Please correct me if I'm wrong :)
We may be able to simulate this by making the Travis tests fail. This should sort of happen already I guess, as we already do the extra --release lint tests if it's on master which should fail with the dev version numbers. But here the tests are failing anyway all the time.
So maybe it's fine and I don't need to worry.

My understanding is that if a project is run for first time, nextflow downloads whole project (repo) and runs the code from master branch's latest commit right ? and for later run/executions the code will not be pulled unless pull is used ?

My understanding is that if a project is run for first time, nextflow downloads whole project (repo) and runs the code from master branch's latest commit right?

Correct, unless the user does nextflow run <pipeline> -r <version> (which we suggest in the docs). The -r then specifies to use that release. But otherwise, yes it pulls master.

later run/executions the code will not be pulled unless pull is used?

Also correct, though more recent versions of nextflow do warn the user if the remote pipeline has been updated, and suggests that the user runs nextflow pull.


reject sqids with many numbers

This pull request makes django-sqids reject sqid fields with more than one number in it.
This actually happened to me in production.  A random character sequence turned out to be a proper sqid, just with two numbers instead of one. (For example, [1, 42] instead of just [1].)
Because django-sqids only looks at first number, an url with such sqid is actually valid, and in my case resolved to a page with real existing model instance.
That url then got indexed by a popular search engine, which got confused because the canonical url wouldn't match, messing up the SEO stuff.

Great find, thank you for this! Indeed for the primary key of an instance we never want more than one number returned.


bug: ionic serve --lab current version is not working in my pc

Bug Report
Ionic version:

[x] 4.x
Current behavior:

Expected behavior:

Steps to reproduce:

Related code:

insert short code snippets here

Other information:

Ionic info:

insert the output from ionic info here

@Navanee26 Can you be a little more expressive in your bug report? What exactly is not working? Does it build successfully? Do you get any errors? Is it just a blank app? Also can you provide the ionic info in the bug report as stated by the template requirements  ?


Cache more ASTs for debugging

Working from #5160.
The Debugger wants to save phase ASTs in the following way

Save phase Asts right after their creation
Clear all saved phase ASTs when a new compilation is triggered

There is already caching done in order to have incremental compilation but

It saves phase ASTs only after a full successful compilation
It does not, and will not, clear all cached phase ASTs once a new compilation is triggered.

Does this mean that we need to save each (front-end) phase ast twice?

wrong repo


Indicator if its currently/on the forcast day raining or snowing

This is needed to provide some functionality to the default Apple Home app. But it will also be available in the eve mode.


Error on dumping 3.5 floppy disc

Version
32 bit, AnsiBuild, 20230111T021641
Describe the bug
When trying to dump a regular 3.5 floppy drive (connected via standard floppy connector cable to floppy pins on motherboard) I get the message about an incorrect function.
I can format the drive at the command line with no problems, I also can list the contents (which are empty, because freshly formatted). Putting a file onto the floppy disk doesn't change the outcome.
Log file
listing of the empty floppy disk from command line
dir A:
 Volume in Laufwerk A: hat keine Bezeichnung.
 Volumeseriennummer: 9811-F131

 Verzeichnis von A:\

Datei nicht gefunden

DCI output (no log files are generated on disc containing more than that, not even _voldesc file when there's a file on the floppy disk):
DiscImageCreator fd a floppy.bin
AppVersion
        32 bit, AnsiBuild, 20230111T021641
CurrentDirectory
        C:\Users\Jack\Desktop\dumps
WorkingPath
         Argument: floppy.bin
         FullPath: C:\Users\Jack\Desktop\dumps\floppy.bin
            Drive: C:
        Directory: \Users\Jack\Desktop\dumps\
         Filename: floppy
        Extension: .bin
StartTime: 2023-01-25T08:15:57+0100
[F:TestUnitReady][L:45] GetLastError: 1, Unzulässige Funktion.

Please wait for 25000 milliseconds until the device is returned
EndTime: 2023-01-25T08:16:23+0100

connected via standard floppy connector cable to floppy pins on motherboard

I only checked a floppy drive via usb, it's no problem.

What is [F:TestUnitReady][L:45] refering to?

https://github.com/saramibreak/DiscImageCreator/blob/master/DiscImageCreator/execScsiCmd.cpp#L45
It failed to execute TestUnitReady function. Generally, It's a hardware problem.

As I can use the drive without any problems (formatting disk, copying files onto disk, saving BIOS image onto the disk) I only could imagine, that the old motherboard or the floppy connector doesn't return a specific information which a USB drive would do.

Considering modern motherboards never will have a floppy connector anymore, this problem probably can be neglected.


Make an API

Hey @andreyanufr,
Can you make an API in your repo?
Here is the proposal:

Create a folder named whowhatbench
Add __init__.py and evaluate.py inside
Create a class Evaluator that receives a source model in the constructor. Expose it in the __init__.py.
Add score(optimized_model) method to the Evaluator class that will return the accuracy metric
Add simple setup.py to your project

Overall it should look like:
from whowhatbench import Evaluator

base_model = Auto/OVModelForCausalLM.from_pretrined(...)
evaluator = Evaluator(base_model)
... # model optimization process
metric = evaluator.score(optimized_model)

As a continuation, we can extend API with additional methods useful for research and debugging purposes.
worst_examples = evaluator.worst_examples(top_k=5) # list of dicts: [{"prompt": prompt_text,"source_model": text1, "optimized_model": text2}, ...]

for e in worst_examples:
    print("=========================")
    print("Prompt: ", e["prompt"])
    print("Source Model:\n ", e["source_model"])
    print("Optimized Model:\n ", e["optimized_model"])


is this possible search in dynamically populated list?

I have a file where i populate list with jquery and there is already a input tag and i initialize hideseek on it but its not work. Is there any method like refresh or other which work on dynamically list.

I managed to get it to work by using JQuery and off().
...after list has been dynamically regenerated
$('#search').off().hideseek()
Rebinds hideseek() after removing all events from the element, not possibly the best solution but it seems to work for me.

I have the same question, and using .off() didn't work for me.
I am using ajax to load a php page that gets info from a sql table.
Any other suggestions?


Fix exclude bug

Description
Fix exclude bug
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[ ] Refactoring, Maintenance
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

@JustinWonjaePark , 스펙 확정되지 않은 건으로 Draft로 변경합니다.


BLD: fix use of non-default interpreter, improve f2py handling

This PR does the following:

Add a CI job which installs both python3.10 (default, gets python3 alias) and python3.11 in Ubuntu 22.04
Change almost all calls to f2py to a generator, making the code in meson.build files much more concise
Ensure all .pyf files are consistently named, matching their import name (modulo an underscore). This is necessary to support the generator usage.
Add import shims for interpolate.dfitpack, which were still missing.
Fix test_extending.py test setup so it works when the meson that is found isn't in the active environment but the default python3 one.
Get rid of all direct invocations of the Python interpreter that we're building for (which was done through custom_target(..., command: [py3, ...]). This will improve the cross-compilation experience, since QEMU or similar is no longer needed to run the cross interpreter.

Part of this is invoking f2py as f2py rather than python -m f2py. f2py generates code that does not depend on the platform or Python version it's installed for (with one single exception for long-double on some platforms - when the code hits _selected_real_kind_func - that we should not be affected by). This allows running f2py as a regular code generator, just like cython.

Closes gh-20535.

Okay, this is happy now! This is a fairly significant build change and fixes some nontrivial issues, so I'd like to get it merged soon so it has a few weeks in main before 1.14.x is branched.

@thalassemia maybe one for you to review?

The only change post-review-approval is a tweak to code comments, so I'll hit the green button here. Thanks again @thalassemia

I got the following errors on main,
scipy/meson.build:156:15: ERROR: Command `/Users/czgdp1807/mambaforge/envs/scipy-dev-clang-15/bin/f2py -v` failed with status 1.

Program f2py found: YES (/Users/czgdp1807/mambaforge/envs/scipy-dev-clang-15/bin/f2py)
Running command: /Users/czgdp1807/mambaforge/envs/scipy-dev-clang-15/bin/f2py -v
--- stdout ---

--- stderr ---
Traceback (most recent call last):
  File "/Users/czgdp1807/mambaforge/envs/scipy-dev-clang-15/bin/f2py", line 5, in <module>
    from numpy.f2py.f2py2e import main
  File "/Users/czgdp1807/mambaforge/envs/scipy-dev-clang-15/lib/python3.11/site-packages/numpy/f2py/__init__.py", line 14, in <module>
    import subprocess
  File "/Users/czgdp1807/mambaforge/envs/scipy-dev-clang-15/lib/python3.11/subprocess.py", line 49, in <module>
    import signal
  File "/Users/czgdp1807/Quansight/scipy/scipy/signal/__init__.py", line 307, in <module>
    from . import _sigtools, windows
  File "/Users/czgdp1807/Quansight/scipy/scipy/signal/windows/__init__.py", line 42, in <module>
    from ._windows import *
  File "/Users/czgdp1807/Quansight/scipy/scipy/signal/windows/_windows.py", line 7, in <module>
    from scipy import linalg, special, fft as sp_fft
ModuleNotFoundError: No module named 'scipy'

After reverting this PR locally the above errors are removed.

I'm seeing the same error as @czgdp1807  when building SciPy on main using python dev.py build on Linux and have also found that I can still build when reverting this PR locally.

The traceback indicates that from within the stdlib's subprocess module the import signal statement is picking up scipy.signal rather than the stdlib's signal module. That is odd, and doesn't occur in any CI jobs. Do you have PYTHONPATH set or some such thing? If not, could you one of you please open a new issue with all the details about build environment and full build log?


Add back some of the missing localized messages

Some messages are hardcoded in english, they should be accessed using the yml file taken from forem.
Suggested by @AustinLMayes
Additionally, the translations don't seem to work unless manually copied into the application using mongoid_forums. Not sure how they are meant to work (if they should be copied over in the install generator or if rails looks there automatically.

See PR #14