Notify and Listen components throw error: object has no attribute 'build_results' + incompatible component inputs

Bug Description
Notify and Listen components have Data and Text inputs that are incompatible with other nodes. Additionally both components throw error:
Error building Component Notify:
'NotifyComponent' object has no attribute 'build_results'
Traceback (most recent call last):
File "/app/.venv/lib/python3.12/site-packages/langflow/graph/vertex/base.py", line 727, in _build_results
result = await initialize.loading.get_instance_results(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/langflow/interface/initialize/loading.py", line 67, in get_instance_results
return await build_component(params=custom_params, custom_component=custom_component)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/langflow/interface/initialize/loading.py", line 153, in build_component
build_results, artifacts = await custom_component.build_results()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NotifyComponent' object has no attribute 'build_results'
And similarly:
Error building Component Listen:
'ListenComponent' object has no attribute 'build_results'
Traceback (most recent call last):
File "/app/.venv/lib/python3.12/site-packages/langflow/graph/vertex/base.py", line 727, in _build_results
result = await initialize.loading.get_instance_results(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/langflow/interface/initialize/loading.py", line 67, in get_instance_results
return await build_component(params=custom_params, custom_component=custom_component)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/langflow/interface/initialize/loading.py", line 153, in build_component
build_results, artifacts = await custom_component.build_results()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ListenComponent' object has no attribute 'build_results'
Rendering them unusable.
Reproduction

Add component Notify and/or Listen on the canvas.
Select Data input handle or Name input handle
See the available list of available inputs / connective components
Try to build/run Notify and/or Listen components

Expected behavior
Expect input Data handle and Text handle to connect with correct inputs/outputs and for Notify and Listen components to execute correctly.
Who can help?
@ogabrielluiz @nicoloboschi
Operating System
Ubuntu Linux 22.04
Langflow Version
v1.0.19.post1
Python Version
None
Screenshot

Flow File
No response

Any idea to fix it?

Patch up the connectors is fairly straightforward but it seems the componentes are incomplete otherwise, and even after trying to implement the build_result I was never able to get them working correctly (probably due to my limited skills and knowledge of Langflow).

Hello @marfal @guoguoguilai the components were in an old format, they are still going to be reformulated that's why they are in beta. I have updated both of them.
Listen.json
Notify.json

@joaoguilhermeS Hi. I appreciate your help, but I guess these components are just not ready from the prime time yet. While the connector handles seem to be of a correct type now, there is still an error when trying to actually build/run the components. For example notify gies this error:
Error building Component Notify NEW:
cannot access local variable 'data' where it is not associated with a value
Traceback (most recent call last):
File "/app/.venv/lib/python3.12/site-packages/langflow/graph/vertex/base.py", line 727, in _build_results
result = await initialize.loading.get_instance_results(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/langflow/interface/initialize/loading.py", line 67, in get_instance_results
return await build_component(params=custom_params, custom_component=custom_component)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/langflow/interface/initialize/loading.py", line 153, in build_component
build_results, artifacts = await custom_component.build_results()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/langflow/custom/custom_component/component.py", line 707, in build_results
return await self._build_with_tracing()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/langflow/custom/custom_component/component.py", line 695, in _build_with_tracing
_results, _artifacts = await self._build_results()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/langflow/custom/custom_component/component.py", line 731, in _build_results
result = method()
^^^^^^^^
File "", line 32, in build_notify
UnboundLocalError: cannot access local variable 'data' where it is not associated with a value

Hey @marfal , although I didn't initially encounter the problem, I was able to replicate and fix it along with some other minor issues. I believe everything is now fully resolved and will be opening a PR soon to definitively address it. In the meantime, you can use this flow: Notify and Listen - Example.json.

@joaoguilhermeS Maybe I'm a bit confused -- I thought the purpose of notify/listen is that you don't need to have them connected and they would be "connected" via the event name. So that if the notifier fires the event, then the listener automatically picks it up and runs. For example:

Will this not work?

@SnakeO, you are right, this is still ongoing work and might be fixed soon. Feel free to contribute to the PR as well.

Thank you @joaoguilhermeS -- can you explain in plain english how this might be accomplished without having an input connected to the listener, and I'll see if I can get it working?


Shallow clone mgem source

What will happen with "--depth 1" option?  Performance?

Cloning will be much faster as it fetches the history as a single revision (the only commit git log will show is the latest commit of the given branch). (We do that on mruby-redis and holycorn and this speeds up the builds).

Yeah, it will only make the fetch for the mgem-list faster.
It looks like the only other git.run_clone already does this:
https://github.com/mruby/mruby/blob/a41a649e8370a8a0dfd7e5de4833be28842fdfb9/tasks/mruby_build_gem.rake#L96


Bug Fixes.

removed warning in console
removed farm deposit modal warning on eran page.

Codecov Report

Merging #472 (0cb6d06) into develop (a6505aa) will increase coverage by 9.95%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #472      +/-   ##
===========================================
+ Coverage    76.09%   86.05%   +9.95%
===========================================
  Files           81       49      -32
  Lines         3037     1936    -1101
  Branches       469      307     -162
===========================================
- Hits          2311     1666     -645
+ Misses         726      270     -456

Flag
Coverage Δ

batch-submitter
?

contracts
86.05% <ø> (ø)

core-utils
?

data-transport-layer
?

message-relayer
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ubmitter/src/batch-submitter/tx-batch-submitter.ts

...itter/src/batch-submitter/state-batch-submitter.ts

packages/message-relayer/hardhat.config.ts

...ackages/batch-submitter/src/utils/tx-submission.ts

packages/data-transport-layer/src/utils/index.ts

.../src/services/l2-ingestion/handlers/transaction.ts

...ckages/data-transport-layer/src/utils/contracts.ts

.../batch-submitter/src/transaction-chain-contract.ts

packages/core-utils/src/index.ts

...h-submitter/src/batch-submitter/batch-submitter.ts

... and 22 more

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 a6505aa...0cb6d06. Read the comment docs.

Incorporated in https://github.com/omgnetwork/optimism/pull/473, hence closing this PR


refactor: massive refactor

The main file was getting too big

Same three tests failing locally as before. Failing in CI because Infura is clogged.

Only a single v1 test is now failing locally! (for unknown reasons)

I think this is good enough for now, merging.


bug: output for offline users in !user command is confusing

When using the command with an offline user, the "logged in" and "last server interaction" are the time since 1970. We should make these more user-friendly -- and e.g. show "User not online".
22:28 cmyui: !user tsunyoku
22:28 Aika: [Player] tsunyoku (224)
Privileges: ['VERIFIED', 'UNRESTRICTED']
Donator: False
Channels: []
Logged in: 54 years ago
Last server interaction: 54 years ago
osu! build: Unknown | Tourney: False
Silenced: False | Spectating: None
Last /np: None
Recent score: None
Match: None
Spectators: [] | Elapsed: 3.41 msec

There's also a column in the users table -- latest_activity. We could use this to display the latest activity, without the user needing to be online. This can be fetched using the users_repo.fetch_one method.


nncp: 7.7.0 -> 8.0.2, add NixOS module

Motivation for this change
The NNCP package is out of date and there is no NixOS module.
Some other things:

hjson doesn't work unless python is in PATH, fixed that
hjson is Python and therefore too slow to be called from an activation script, package hjson-go
Add a reference to the man page for systemd sockets to the listenStreams option description.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Great work! My comments:

I do not get why https://github.com/NixOS/nixpkgs/pull/146011/commits/a1dfbf6bec8272196a27717f091a0f60d9f6866c belongs into this PR.
At my first try I get jq: error (at /nix/store/s9…nj-nncp.json:14): null (null) and object ({"self":{"e...) cannot be multiplied when merging my config in build, but the rebuild succeeds, with an empty /etc/nncp.hjson – maybe this should be handled more cleanly, or documented what to do and what not to do.
nixos test succeeds :+1:

@woffs thanks. The configuration mangling and merging was working for me yesterday but now I'm getting similar errors. Maybe it breaks after a certain amount of neighbour complexity. Its a bit unusual that the conversion is happening in an activation script and not as part of a systemd unit, were an error might be more obvious. I think it needs to be thought out some more.
a1dfbf6bec8272196a27717f091a0f60d9f6866c doesn't need to be part this PR, but found myself copy-pasting from documentation from the u9fs module when I should just look at the systemd socket options themselves.
Also, systemd is not passing everything that nncp-daemon expects, but the daemon still works in "pipe" mode.

Maybe you want to change nccp to nncp in the topic :-)

@woffs I tweaked the configuration generator and the error has gone away for me (and I fixed the topic, thanks).

I'm not sure what the "user" should be for the nncp-daemon. My thought was that if there is a spool directory that can be modified by both a service and normal users then a non-dynamic user is appropriate, but systemd complains that using nobody is unsafe (but using root is fine).

I think we have problems with configuring NNCP that should be dicussed upstream before releasing a NixOS module. Package update moved to #151071.


Aero modifications

Feature or improvement description
This pull request

makes some modifications to UAMod 5 for use in full 360-degree angles of attack.
uses a weighted-average of the axial induction for DBEMT input instead of just a uniform average of axial induction at all the nodes.
allows the user to change the IntegrationMethod used in UA (UA_Mod 4, 5, etc)
allows the user to have the code calculate CantAngle (if BlCrvAng is not specified in the input file). These calculated values are printed in the summary file.
caps the Ct, Cp, and Cq outputs if their denominators ever get too small
implemented the code around BldNd_BlOutNd in AeroDyn, allowing the user to specify which nodes they would like to output.
fixes an issue where the AeroDyn echo file would not include blade property files.
reports an error if one exists in the BEMT initialization of states (likely rare)
updates some calculations of the UA parameters in AFI initialization
removes non-standard tabs from MoorDyn
changes TwrAero from a logical to integer internally (the input file still recognizes the logical value)
simplifies some logic around the buoyancy calculations

Related issue, if one exists

Impacted areas of the software
AeroDyn: DBEMT, UA (UA_Mod 4, 5, or 6)
Additional supporting information

Test results, if applicable

Failing cases:

ad_BAR_SineMotion_UA4_DBEMT3

This has differences in the InflowWind output channel; I need to understand what would cause this this a little better before merging.

MHK_RM1_Fixed

The differences here are minor:

Fake5MW_AeroLin_B1_UA4_DBEMT3

Frequencies are less than 0.3% different (less than 0.009 Hz)
Damping is within 0.01%

Fake5MW_AeroLin_B3_UA6

Frequencies are less than 0.2% different (less than 0.001 Hz)
Damping is within 0.005%

Thanks for adding the BldNd_BlOutNd code updates!  That will be very useful!

To do (thinking about this because I'm dealing with AD15 input files for AD14 removal PR):

[x] update AD15 input files with new nodal output comments
[ ] update AD15 input files with Solver and other new lines (I know these are optional, but want to get a fully consistent set of input files for the release) -- @andrew-platt

To do (thinking about this because I'm dealing with AD15 input files for AD14 removal PR):
* [x]  update AD15 input files with new nodal output comments

* [ ]  update AD15 input files with Solver and other new lines (I know these are optional, but want to get a fully consistent set of input files for the release) -- @andrew-platt

@andrew-platt , As soon as you are okay with the AD15 input file changes you said you wanted to make, this should be good to merge. Though the r-test branch this points to should also be merged into dev.

I'm going to update the AD15 input files with the ROM pull request (#1295) and merge this one in first.
There are a couple of minor conflicts on r-test since I merged #2358 in first. I'll resolve those and merge this PR shortly.


Error upon incremental build in webpack-dev-server when using speed-measure-webpack-plugin (Cannot read property 'call' of undefined)

Expected Behavior

Webpack incremental build changes would be successfully applied to application.

Actual Behavior

The plugin throws an error and bundle is not built with webpack-dev-server left hanging.

[hard-source:core] Tracking environment changes with package-lock.json.
[hard-source:core] HardSourceWebpackPlugin is reading from and writing to a confighash path: [PROJECT_PATH]/node_modules/.cache/hard-source/0f2ca21329ac9c78eb29a0e430851900a0c364d9abeb399e72cb5074046b790f
✖ ｢wdm｣: TypeError: Cannot read property 'call' of undefined
    at Object.exports.call ([PROJECT_PATH]/node_modules/hard-source-webpack-plugin/lib/util/plugin-compat.js:169:17)
    at Proxy.run ([PROJECT_PATH]/node_modules/hard-source-webpack-plugin/lib/SystemArchetype.js:184:20)
    at args ([PROJECT_PATH]/node_modules/speed-measure-webpack-plugin/WrappedPlugin/index.js:52:19)
    at _fn0.then._result0 (eval at create ([PROJECT_PATH]/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:13:1)
    at <anonymous>

Steps to Reproduce

Wrap a webpack config that uses hard-source-webpack-plugin with speed-measure-webpack-plugin

Operating System, Node, and NPM dependency versions
Fedora 27
Node 8.11.1
npm 6.1.0

"devDependencies": {
    "hard-source-webpack-plugin": "^0.7.2",
    "speed-measure-webpack-plugin": "^1.2.2",
    "webpack": "^4.10.0",
    "webpack-bundle-analyzer": "^2.12.0",
    "webpack-cli": "^2.1.4",
    "webpack-dev-server": "^3.1.4",
    "webpack-merge": "^4.1.2"
}

So I found out the problem (speed-measure-webpack-plugin, dunno how it took so long to notice it in the stack trace, d'oh) during writing this report and am content with the workaround of only using one or the other at once, but thought it might be nice to post my findings here anyway.
Thanks for this plugin, the build time improvement is very nice!

@tototoben can you open an issue on speed-measure-webpack-plugin as well. hard-source registers a hook for it to use and that the hook is not available when it would otherwise call. Clearly as hard-source works fine without speed-measure this hook should be available for hard-source to call.

Found an analogous issue in their tracker, seems the problem is in sights:
https://github.com/stephencookdev/speed-measure-webpack-plugin/issues/21
Thanks again for your work on this plugin!

just an update, seems it's not fixed yet


Configuration for angular js app

I want to integrate this with angular 2 code. what is the configuration.

You can add update hook for your component and reinitialize highlights there


FreeBSD sandbox module, using jail(8)

Jail-based sandbox implementation.
Related to https://github.com/ocurrent/obuilder/issues/109

Rebasquashed, and documentation draft added.


Private dependency in pyproject.toml does not resolve

Platform: Linux
uv version: 0.1.10
I can't seem to get uv to resolve private dependencies listed in a package's pyproject.toml file. For example:
$ uv pip install '<package><EMAIL_ADDRESS> Updated<EMAIL_ADDRESS>(3386a82)
error: Package `<dependency>` attempted to resolve via URL<EMAIL_ADDRESS>
URL dependencies must be expressed as direct requirements or constraints. Consider adding `<dependency><EMAIL_ADDRESS>to your dependencies or constraints file.

However, this is package's pyproject.toml, which does indeed list the dependency in the format requested by uv:
[project]
name = 'package'
dependencies = [
  '...',
  '...',
  '<dependency><EMAIL_ADDRESS>]

[build-system]
requires = ['setuptools', 'wheel']

I confirmed that the pyproject.toml content in the uv cache directory is correct.

I think you'd need to include '<dependency><EMAIL_ADDRESS>in the install command, like:
uv pip install \
  '<package><EMAIL_ADDRESS>\
  '<dependency><EMAIL_ADDRESS>
We don't allow transitive dependencies to introduce additional URLs right now.

I see. Is it your intent to facilitate this in the future? Current behavior would make private Github package ecosystems difficult to deal with, and it's obviously a case that pip can handle.

Possibly... It's both a security issue (arbitrary dependencies in your tree can now introduce packages from arbitrary locations) and a correctness issue. For example:

You depend on package_a==1.0.0
You depend on package_b @ some_url
package_b @ some_url depends on package_a @ some_other_url (where package_a @ some_other_url happens to build to a version called 1.0.0)

What should happen?

What should happen?

IMO, then in that scenario, uv should fail with dependency conflict error.
But when that scenario didn't happen, I think it's valid to handle package_b @ some_url in lock file.
is it makes sense? WDYT?

"⚖ Drop-in replacement for common pip, pip-tools, and virtualenv commands."

What should happen?

Whatever pip does.

Tracking here: https://github.com/astral-sh/uv/issues/1808

@charliermarsh it seems like you closed this as a duplicate of #1808, which was closed by #2684, but the behavior reported in this issue still remains in v0.2.9. Is the intention still to require changes to the install command in order to allow URL installations? I too am finding the divergent behavior from pip to be a surprise, though you list reasons for this decision.
As an anecdote, I am having to track the latest commit for a repo that won't cut a release for some time. I have a few different uv pip install commands throughout my build process that I find undesirable to have to update in order to allow for this URL installation.

Yeah, we support transitive URL dependencies now. Please feel free to file a new issue with a minimal reproduction if you're having trouble.


Resolve issues while running Automatic update of daily frequency data (from yahoo finance) for US region

Description
According to README.md, I tried automatic update with US region.
python scripts/data_collector/yahoo/collector.py update_data_to_bin --qlib_data_1d_dir <user data dir> --trading_date <start date> --end_date <end date> --region us

Current implements are based on CN index, so I entered some issues:

There is no method name for US index normalize, YahooNormalizeUS1dExtend
(#1196)
-> resolved at commit b2a76df
While downloading qlib 1d data, exists_qlib_data always return False
-> Not resolved. I resolved this by removing "PRN" from the qlib_data/us_index/instruments/all.txt, but I have no idea how can I integrate this in code. Anyway this is not critial issue(no error, just takes ~2min time additionally)
While normalizing, some symbols cause error in pd.read_csv because of their names
-> resolved at commit a9cb66b
While parsing index, it always tries cn_index/collector
-> resolved at commit 0be6b99

I am totally ready for accepting your guidance if there is. Thanks.
Motivation and Context
Motivated by #1196, making automatic update available for US region.
We will be able to use automatic update(with crontab!) for US region after adopting this request.
How Has This Been Tested?

[ ] Pass the test by running: pytest qlib/tests/test_all_pipeline.py under upper directory of qlib.
[x] Pass the test by running: python scripts/data_collector/yahoo/collector.py update_data_to_bin --qlib_data_1d_dir <user data dir> --trading_date <start date> --end_date <end date> --region us.

Screenshots of Test Results (if appropriate):
Types of changes

[x] Fix bugs
[ ] Add new feature
[ ] Update documentation

Please merge master to fix the CI error.  @HyeongminMoon

Regarding the second point of your description, my guess is that it is not possible to determine whether qlib_dir exists or not, which causes GetData to be executed every time update_to_bin is run, which doesn't affect anything, but takes some unnecessary time. Is my guess correct?

Regarding the second point of your description, my guess is that it is not possible to determine whether qlib_dir exists or not, which causes GetData to be executed every time update_to_bin is run, which doesn't affect anything, but takes some unnecessary time. Is my guess correct?

Correct.

Regarding the second point of your description, my guess is that it is not possible to determine whether qlib_dir exists or not, which causes GetData to be executed every time update_to_bin is run, which doesn't affect anything, but takes some unnecessary time. Is my guess correct?

Correct.

If that's the case, I think changing the not in this judgment statement might solve the problem.

Regarding the second point of your description, my guess is that it is not possible to determine whether qlib_dir exists or not, which causes GetData to be executed every time update_to_bin is run, which doesn't affect anything, but takes some unnecessary time. Is my guess correct?

Correct.

If that's the case, I think changing the not in this judgment statement might solve the problem.

No, I think this is not from exists_qlib_data, but from a bug during the download sessions. I found there is a symbol name 'PRN' in the qlib_data/us_index/instruments/all.txt while PRN.csv does not exist in downloaded source directory.

Regarding the second point of your description, my guess is that it is not possible to determine whether qlib_dir exists or not, which causes GetData to be executed every time update_to_bin is run, which doesn't affect anything, but takes some unnecessary time. Is my guess correct?

Correct.

If that's the case, I think changing the not in this judgment statement might solve the problem.

No, I think this is not from exists_qlib_data, but from a bug during the download sessions. I found there is a symbol name 'PRN' in the qlib_data/us_index/instruments/all.txt while PRN.csv does not exist in downloaded source directory.

Since windows cannot create some special name folders, "prn" is one of them, in order to ensure that users of various systems can also use qlib, we add "_qlib_" prefix to these special names, so the "prn" seen in instruments/all.txt, and features/_qlib_prn/ are matched , because in exists_qlib_data, there is no remove prefix for the names in features, so returns False, we provide a method to remove the prefix, I think this method can be used in the exists_qlib_data code, to solve the problem.

Regarding the second point of your description, my guess is that it is not possible to determine whether qlib_dir exists or not, which causes GetData to be executed every time update_to_bin is run, which doesn't affect anything, but takes some unnecessary time. Is my guess correct?

Correct.

If that's the case, I think changing the not in this judgment statement might solve the problem.

No, I think this is not from exists_qlib_data, but from a bug during the download sessions. I found there is a symbol name 'PRN' in the qlib_data/us_index/instruments/all.txt while PRN.csv does not exist in downloaded source directory.

Since windows cannot create some special name folders, "prn" is one of them, in order to ensure that users of various systems can also use qlib, we add "qlib" prefix to these special names, so the "prn" seen in instruments/all.txt, and features/_qlib_prn/ are matched , because in exists_qlib_data, there is no remove prefix for the names in features, so returns False, we provide a method to remove the prefix, I think this method can be used in the exists_qlib_data code, to solve the problem.

I'll try this too. Thanks.

Now all issues resolved, I checked the script once again too.

It looks perfect now.
Thanks!


ViewState generation with View interface parametrized by "T extends SomeInterface"

Hi all!
I have 3 simple classes:

Class for base list item view:

public interface ListItemView<T> extends BaseView {
  void setModel(final T model);
}

Child of previous class, but is parametrized by interface:

public interface MessageListView<Model extends Message> extends ListItemView<Model> {
...
}

Interface for previous class:

public interface Message extends Comparable<Message>  {
 ...
}

When i try to rebuild my project, moxy-compiler generated code with this method in ListItemView$$ViewState class:
public  void setModel(null model) {
...
}

I have null-class argument except of Model

I think a problem in ViewStateClassGenerator in moxy-compiler module.
In cases like my ExecutableType.asType().getTypeVariables() return empty list, and so methodTypes Map has no keys for all arguments (lines 259-269 of ViewStateClassGenerator).
In line 295 parameters have 1 item with type Model, as i except.
In Util in line 84 this param is instance of TypeVariable, but types.get(param.toString()) return null for the reasons described above. So type is filled by null class

I found one solution. In theory, nothing should break down

This is published in version 1.4.6. Thanks to pull request ;)


bug: :Noice return invalid window id

Did you check docs and existing issues?

[X] I have read all the noice.nvim docs
[X] I have searched the existing issues of noice.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
v0.10.0-dev-594ff34
Operating system/version
WSL2
Describe the bug
I sometimes got this error ...r/.local/share/nvim/lazy/nui.nvim/lua/nui/split/init.lua:168: Invalid window id: 1001 during using Noice. After I got this error, :Noice no longer works.
Steps To Reproduce

Make sure :Noice previously works and populate a message history at the bottom.

Instead of closing the message history window, navigate to the "code window" that we were just before typing :Noice

Close that window instead.

Now we finally close the message history window.

Navigate to any file and type :Noice again.

An error appeared: ...r/.local/share/nvim/lazy/nui.nvim/lua/nui/split/init.lua:168: Invalid window id: 1001

Expected Behavior
The error invalid window id should not occur and :Noice still works as expected.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  {
		"folke/noice.nvim",
		dependencies = { "MunifTanjim/nui.nvim", "rcarriga/nvim-notify" },
		opts = true,
	},
  {
      'nvim-tree/nvim-tree.lua',
      keys = {
        { '<leader>fe', '<cmd>NvimTreeFindFileToggle<cr>', desc = '[F]ile [E]xplorer' },
      },
      config = function(_, opts)
          local nvimtree = require 'nvim-tree'
          nvimtree.setup(opts)
      end,
  }
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

dup of #636. Or the other one is the dup one

Let's close this issue to focus on the other one.


Add "wavy" Divider variant

Summary
In the official MD3 docs, on the Customizing Material page, a "wavy" variant of the Divider component is shown. Such a Divider variant is not currently supported in MUI. Given how it is not mentioned in the specs at all, maybe it could be wrapped in a separate component that offers specialised customization (wavelength function parameter customization?).
Examples
Here are the images from the official website:

There's even a GIF where it can be seen how it reacts to theme colour changes:

Motivation
Given that such a variant of a Divider is showcased in the official documentation, I believe that it should also be supported in MUI once v7 (MD3 support) launches. It would make for more friendly/playful content breaks.
Search keywords: wavy divider variant material design 3 MD3

Thanks for the report @TheOneTheOnlyJJ. I added it to the v7 milestone 😊.


Pkg 5871 - trio 0.26.2

trio 0.26.2
Destination channel: {defaults}
Links

PKG-5871
Upstream repository
Upstream changelog/diff
Relevant dependency PRs:

anyio 4.6.0 > trio 0.26.2 > attrs 24.2.0

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_f4hlrfkujn/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:60: invalid_url: https://trio.readthedocs.io/ : Not reachable: 403
===== Final Report: =====
0 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_ceju41gq4s/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:60: invalid_url: https://trio.readthedocs.io/ : Not reachable: 403
===== Final Report: =====
0 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_26551jdf09/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:60: invalid_url: https://trio.readthedocs.io/ : Not reachable: 403
===== Final Report: =====
0 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_80sjf1uho_/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:60: invalid_url: https://trio.readthedocs.io/ : Not reachable: 403
===== Final Report: =====
0 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_46aciv2mcj/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:60: invalid_url: https://trio.readthedocs.io/ : Not reachable: 403
===== Final Report: =====
0 Errors and 1 Warning were found


Write unit tests

 Issue by mnmtanish
Thursday Jun 23, 2016 at 08:18 GMT
Originally opened as https://github.com/storybooks/react-native-storybook/issues/22

 Comment by ndelangen
Tuesday Apr 04, 2017 at 21:11 GMT

LMAO

 Comment by ndelangen
Wednesday Apr 05, 2017 at 05:21 GMT

The reason I came across this, is because I merged this repo into the monorepo, and tests failed.
https://github.com/storybooks/react-native-storybook/blob/master/package.json#L11 Suggest there are tests, but there actually are none.


Claim not found in access token: 'given_name'. Check ADFS claims mapping.

Sorry if this is trivial. But I'm breaking my head to finish this integration.
Following the Azure guide in the Docs I believe the authentication worked.
However, when trying to claim given_name in the access_token, to create the user in my application, the information is not found. Even though I declared it in the token configuration.

Token configuration:

Here are some details of my settings:
client_id = os.environ.get('CLIENT_ID')
client_secret = os.environ.get('CLIENT_SECRET')
tenant_id = os.environ.get('TENANT_ID')

AUTH_ADFS = {
    'AUDIENCE': client_id,
    'CLIENT_ID': client_id,
    'CLIENT_SECRET': client_secret,
    'CLAIM_MAPPING': {'first_name': 'given_name',
                      'last_name': 'family_name',
                      'username': 'email'},
    'GROUPS_CLAIM': 'roles',
    'MIRROR_GROUPS': False,
    'USERNAME_CLAIM': 'upn',
    'TENANT_ID': tenant_id,
    'RELYING_PARTY_ID': client_id,
}

AUTHENTICATION_BACKENDS = (
    'django_auth_adfs.backend.AdfsAuthCodeBackend',
)

LOGIN_URL = "django_auth_adfs:login"
LOGIN_REDIRECT_URL = "/"

Azure API Permissions:

When I check the access token at https://jwt.io/, in fact the given_name is not there.
Stack trace:
The configured groups claim roles was not found in the access token
Internal Server Error: /oauth2/callback
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 143, in dispatch
    return handler(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django_auth_adfs/views.py", line 40, in get
    user = authenticate(request=request, authorization_code=code)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/decorators/debug.py", line 42, in sensitive_variables_wrapper
    return func(*func_args, **func_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/contrib/auth/__init__.py", line 77, in authenticate
    user = backend.authenticate(request, **credentials)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django_auth_adfs/backend.py", line 402, in authenticate
    user = self.process_access_token(access_token, adfs_response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django_auth_adfs/backend.py", line 181, in process_access_token
    self.update_user_attributes(user, claims)
  File "/usr/local/lib/python3.11/site-packages/django_auth_adfs/backend.py", line 301, in update_user_attributes
    raise ImproperlyConfigured(msg.format(claim))
django.core.exceptions.ImproperlyConfigured: Claim not found in access token: 'given_name'. Check ADFS claims mapping.
Internal Server Error: /oauth2/callback
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 143, in dispatch
    return handler(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django_auth_adfs/views.py", line 40, in get
    user = authenticate(request=request, authorization_code=code)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/decorators/debug.py", line 42, in sensitive_variables_wrapper
    return func(*func_args, **func_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/contrib/auth/__init__.py", line 77, in authenticate
    user = backend.authenticate(request, **credentials)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django_auth_adfs/backend.py", line 402, in authenticate
    user = self.process_access_token(access_token, adfs_response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django_auth_adfs/backend.py", line 181, in process_access_token
    self.update_user_attributes(user, claims)
  File "/usr/local/lib/python3.11/site-packages/django_auth_adfs/backend.py", line 301, in update_user_attributes
    raise ImproperlyConfigured(msg.format(claim))
django.core.exceptions.ImproperlyConfigured: Claim not found in access token: 'given_name'. Check ADFS claims mapping.

Do I still need to adjust anything in the Azure Portal?
I'm glad for any help.

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog.

I've never tried to add these claims in Azure, but I suspect they're not behaving like ADFS, and the key will be omitted if the user has not been assigned the values.
Have you ensured the user actually has a given name set?
Not much this library can do, if the token isn't providing everything we need. The alternative would be to use OBO flow and fetch more information from graph.

If you're using v1 these claims would be there automatically. The docs link you to https://learn.microsoft.com/en-us/entra/identity-platform/optional-claims for v2. It looks like you have followed that for part of it at least. It's hard to decipher what exactly needs to be setup though.
 The adfs config in your app doesn't call out version 2 hence my confusion.

Nunca tentei adicionar essas declarações no Azure, mas suspeito que elas não estejam se comportando como ADFS, e a chave será omitida se os valores não tiverem sido atribuídos ao usuário.
Você garantiu que o usuário realmente tenha um determinado nome definido? Não há muito que esta biblioteca possa fazer se o token não fornecer tudo o que precisamos. A alternativa seria usar o fluxo OBO e buscar mais informações no gráfico.

Hi @JonasKs ,
You were right. Although the user was registered in the Azure Portal, the claim attributes were not defined in the base registration. The information needed should be defined in Properties.

If you're using v1 these claims would be there automatically. The docs link you to https://learn.microsoft.com/en-us/entra/identity-platform/optional-claims for v2. It looks like you have followed that for part of it at least. It's hard to decipher what exactly needs to be setup though.
 The adfs config in your app doesn't call out version 2 hence my confusion.

Hi @tim-schilling , I set the correct version in my settings and authentication worked as expected!
Thank you very much guys for the quick replies!

I'm glad you were able to solve the problem!


Translations broken on Strapi 5

Bug report
Describe the bug
Translations are broken
I thought it was because of catalan but it's happening in spanish and english too.
Production environment, not development
I can provide with more information if needed
Cheers and thanks!

System
Node.js version: 18.20.4
YARN version: 1.22.19
Strapi version: 5.0.0
Plugin version: 2.1.0
Database: PostgreSQL
Operating system: Ubuntu24.04/Docker

@Pijuli thanks for the bug report. I will investigate this issue!

This was fixed and released with v3.0.0 of the plugin.
If you're still experiencing this, or any other issue, beyond version 3.0.0, feel free to file a new issue!


General Code Review 😎

General Code Review for @kwilks3 Portfolio - 8/25/2020

Great use of semantic elements 😆

very easy to navigate component structure 🙂
dir structure is quite elegant as well 😌

Overall everything looks amazeballs 🤘.  You have all items simplistically laid out, which is nice on the eyes. Your portfolio looks great as well

only thing I would do is delete any unused commented code,
Good job 🤙

Everything is quite responsive as well. Kudos 👍


BUG: make get_cosmology constistent with set_cosmology

As it stands, get_cosmology does not support the same inputs as set_cosmology despite what the doc-string implies.
This PR moves the logic from set_cosmology to get_cosmology. The former now just calls the latter rather than having duplicate logic.

I don't think the change I've made to support braces ({...}) is particularly robust, since something like {'a': (1, 2)} won't work, I think. I'll try to think of a better way of doing this but I'm open to suggestions.

@ColmTalbot what do you think about getting this into 2.4.0?


Add all FV events to amplitude

Send the following events to amplitude

FV_INTRO 		When a user land on faceverification intro screen Name, only a real life person can claim G$
FV_CAMERAPERMISSION		"When a user land on the  ""Camera permissions"" pop up ""You must allow access to your camera"
** camera permission popup can also be displayed in QR Scanner, should trigger different event **
FV_GETREADY_ZOOM		Zoom screen displayed
FV_PROGRESS_ZOOM		Zoom capture done and upload started
FV_ZOOMFAILED 		Zoom loading failed
FV_SUCCESS_ZOOM		Zoom success
FV_TRYAGAIN_ZOOM		Zoom try again screen (usually when liveness failed), add also "reason","liveness" as params to event
FV_GENERALERROR		something went wrong (General error) "Try again" G$ screen, add "reason" as extra params of event
FV_WRONGORIENTATION
FV_DUPLICATEERROR 		we found your twin
FV_TRYAGAINLATER		happen after 3 times
FV_CANTACCESSCAMERA 		Pop up. when user denied camera persmission after he clicks "ok verify me"

Please see the Google sheet attached
https://docs.google.com/spreadsheets/d/1nTiU5h2XtsGhJ8Vi0USn-B5jnUSMWs5OEhjwPfatthA/edit#gid=0

@sirpy  As i've understood all events we've send are already personalized if the user is logged in ?
So we don't need to send user email or other data ?


Prepare for 2.0 release of plugins

Specifically for 2.0 appengine (cloud sdk based) plugins

limit current gradle plugin to 1.+ (instead of +), so we can
gracefully update to 2.0 (or 2.+).

add in package requirement for running appengine: on maven,
get users in the habit of using non-forked plugin goals.

ping @llatif, we've release 2.0.0-rc1 for both maven and gradle.

Hrmm... I might need to clean this up a lot more now.

@loosebazooka Should we close this or something else?

you know what, I'll work on this today. I'll clean it up.

actually I'll just take this down.


[Request] Add JabRef

JabRef is an open source bibliography reference manager developed using Java. The native file format used by JabRef is BibTeX, the standard LaTeX bibliography format. JabRef is a desktop application and works equally well on Windows, Linux, and Mac OS X.
Homepage

Duplicaet of #3164


User is Typing pushes all messages up

I know it's such a small thing. But maybe it would be better fit to put the text for when users are typing on the border at the bottom rather than just pushing messages up?
How it is at the moment

How I am thinking it could be. Without it pushing messages

Just a small suggestion. Feel free to suggest other alternatives. I just don't think pushing messages up is good for readability. Particularly in lively channels

i dislike how that looks, it gets too close to the "input" text.
honestly i don't find it that annoying, but the possible solutions are:

have some permanent background there so the messages dont move
somehow overlay the typing bar on top of the messages instead of pushing them up
have an animation for when the typing bar comes in

ok please check if this solution works. i made the typing bar overlay, so the chat shouldn't jump anymore.

Yep. Chat doesn't jump anymore 👍


deviceId vs fingerprint using Android 10+

Hi there, I wonder what's if your recomendations had changed using android 10 or 11, I'm trying to get an unique id that doesn't change despise if the app is reinstalled, if the network changed or usign randomize mac (i don't think it applies but just in case).
From your readme, fingerprinter.getDeviceId() seems like the best option,   i've read the documentation:
Which one should I use? but I still wonder if this has been tested on the newest android versions.
The second question is: deviceIdResult.getDeviceId() alwasys returns a value? Is there a chance it returns null or empty?

Hi!
The recommendations are up to date :)
Everything is tested on a set of API levels, including the highest and the lowest.
What about the best option at the moment - try to use deviceIdResult.deviceId. It always returns a not null value, which is guaranteed by Kotlin. In the worst-case scenario (if a system is tweaked or corrupted with root-level frameworks) - it returns the empty string.
It doesn't change after reinstalling, and only factory reset can change it under normal circumstances.
If the circumstances are not normal (again, if a system is tweaked with root-level frameworks), this method is not very reliable, and the result can be tampered. This is actively used by fraudsters. In this case fingerprinterResult.fingerprint can help, because it's much harder to tamper its result, but identification accuracy can be lower.
So start with  deviceIdResult.deviceId.
And if you struggle with fraud, account takeover/sharing, fingerprinterResult.fingerprint can help you.

Thanks for your reply, everything is working perfectly.


[Aro]Add tests for generate_random_id function

Description

Add test to confirm generate_random_id() in src/azure-cli/azure/cli/command_modules/aro/custom.py validates return value starts with a string and contains alphanumeric chars with a length of 8.
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

add to S170


renamed all long prefixes to option name

Renamed all "long" prefixes to support UX in which the user types pkg and gets a list of all the available plan options as opposed to needing to know the options in advance.
Also considering pulling out short options.
Signed-off-by: Ian Henry<EMAIL_ADDRESS>

Thanks for the pull request! Here is what will happen next:

Your PR will be reviewed by the maintainers
If everything looks good, one of them will approve it, and your PR will be merged.

Thank you for contributing!


[tooltip] Tooltips in Menu items shown immediately after hovering

When a tooltip is placed on a menu item, it appears immediately when the item is hovered over, regardless of the delay setting. It is caused by browsers incorrectly applying the focus-visible state even though the menu was interacted with a mouse. Clicking on any other element before opening the menu makes the issue disappear.
Reproduction: https://codesandbox.io/p/sandbox/divine-meadow-xhsjpf
Search keywords:

Hi @michaldudak, I’ve been looking into this bug. Would it be possible for me to take it on?

Yes, feel free to investigate it. The fix might need to be applied in Floating UI, though.


[4.0] VSync modes force 60 FPS

Godot version
4.0 Alpha 1
System information
Windows 10 (build 19044), 3060 Ti, NV Driver 511.23, Dell S2721DGFA monitor
Issue description
I've tried all possible VSync modes in 4.0, but all of them are 60Hz, even the Adaptive one. They supposed to be relative to the real monitor refresh rate instead.

If VSync is disabled, the real 144 or 165 Hz are only visible if the window is not in focus.
If the game window is selected, the game switch back to 60Hz.

Steps to reproduce
Try different VSync modes on high-speed monitor.
Try disabling VSync and switch between the game and the editor windows.
Minimal reproduction project
No response

Unfortunately I can't reproduce this issue. All modes seem to work as expected on my configuration, which is quite similar to yours:
Enabled -> 144 FPS == monitor's refresh rate
Adaptive -> 144 FPS == monitor's refresh rate
Mailbox -> >2800 FPS
Disabled -> >2800 FPS
Framerate does not change when the window loses focus.
Does this happen with an empty project? If not, could you provide a minimal reproduction project?
Configuration:
BS: Win 10 19044.1466,
Graphics card: NV 3060 Ti (both 496.xx and 511.23 drivers tested)
Monitor AOC 27G2U 1440p version

But even if I disable G-Sync, Godot's own VSync (default, adaptive) modes are still throwing me back to 60 FPS.

We were testing the issue with da boyz and it may be due to dual monitor setup. My high-end monitor is 165Hz G-Sync, but there's also 60Hz panel attached. And even if I'm working on a fast one, it sets limits based on the slow one.
Godot 3.x was making it correctly.

Bug reproduced, if I turn off g-sync, fps is blocked correctly at active monitor refresh rate.
2 monitors connected to pc:

Active monitor - Acer Nitro XV242YPbmiiprx (144hz refresh rate)
Second monitor - Dell ST2200L (60hz refresh rate)

@Rinocrosser
That is strange, just tested this exact case. For me it worked correctly, meaning that when I move the window between monitors the refresh rate is adjusted dynamically (tested with two identical G-Sync compatible monitors, one set to 60Hz and one to 144 Hz, and one older 60Hz graphic design monitor).
Seems like this only happens with specific monitors/multi monitor configurations, presumably with G-Sync monitors, maybe not with G-Sync compatible ones. Although I am not sure yet, I am afraid this could be a driver bug, meaning that this can't be fixed on our side.
Some more questions to deduce the cause of the problem:
Does it still happen after switching to the OpenGL driver?
What happens when you disable VSync in Godot and force it via the nvidia control panel?

tested with two identical G-Sync compatible monitors, one set to 60Hz and one to 144 Hz

@Geometror I'm afraid that you need a native 60Hz panel for this issue.

Sorry, the discripition of my config in the above answer was a bit vague/unclear (edited it accordingly).
I did test it with a native 60Hz monitor (in fact, it is a screen tablet too, Kanvas Pro 20 GT1901) and could't reproduce it.

@Geometror @Lakamfo
Thanks everyone, it was NVIDIA Driver after all. It happened with me before, when NVIDIA update ruined GLES / Vulkan apps performance, so I should've guessed it. The solution is clean driver install.

Restored NV settings to default (didn't work)
Played with some of these settings to find possible issues (no luck)
Reinstalled the driver from scratch (clean installation) – now it work flawlessly

Unfortunately, the issue with windows in focus / not in focus still appears, so I'll try to figure out, what is the reason, if there will be any logic behind this, I'll share my thoughts.


Moved remaining SimpleTestCase.assertFormError()/assertFormsetErrors() tests to test_utils.

This also removes redundant tests in test_client_regress.
Follow up to 68144f40490b2572c8da4341742b9e387e3f6bdd.
See comment.

@carltongibson Thanks for checking :+1:


Initial version

Removed from mlx.traceability in this PR and moved here so that it can live as a separate Sphinx plugin, to be added to extensions list in conf.py after 'mlx.traceability' as 'mlx.jira_traceability'. The functionality remains identical besides the following fix:

Removed explicit flag notifyUsers=False in the query to Jira API because it can cause permission error.

ok for me as a starting point (although tests fail) but i dont have write access :wink:


Optimize push_transaction

Change Description

Optimize push_transaction by using deque instead of vector to avoid vector having to reallocate and move transaction receipts and max transaction metas in block.
std::queue used for now since configurable boost::container::queue is not available until boost 1.71 and don't want to require minimum boost version of 1.71 at this time. boost queue configured with 1024 elements per block was much better performing than std::queue.
Calculate action_receipt digest at action execution time to avoid copying of action_receipts and to bill for hash.
Calculate transaction_receipt digest at transaction execution time to bill for hash.

Consensus Changes

[ ] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

std::queue used for now since configurable boost::container::queue is not available until boost 1.71 and don't want to require minimum boost version of 1.71 at this time. boost queue configured with 1024 elements per block was much better performing than std::queue.

Is it worthwhile to define an alias for deque and/or #if BOOST_VERSION >= 107100 to make it easy to update when we do require Boost 1.71?

Is it worthwhile to define an alias for deque and/or #if BOOST_VERSION >= 107100 to make it easy to update when we do require Boost 1.71?

I thought about that and figured it was a bit much, but with some of the changes I already made I don't think it would be too bad now. I'll give it a shot.


Video not playing during a call

Is there an existing issue for this?

[X] I have searched the existing package issues
[X] I have read the guide to filing a bug

What package does this bug report belong to?
video_player
What target platforms are you seeing this bug on?
Android
Have you already upgraded your packages?
Yes
Dependency versions
pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  async:
    dependency: transitive
    description:
      name: async
      sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
      url: "https://pub.dev"
    source: hosted
    version: "2.11.0"
  boolean_selector:
    dependency: transitive
    description:
      name: boolean_selector
      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  characters:
    dependency: transitive
    description:
      name: characters
      sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  clock:
    dependency: transitive
    description:
      name: clock
      sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  collection:
    dependency: transitive
    description:
      name: collection
      sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
      url: "https://pub.dev"
    source: hosted
    version: "1.17.1"
  csslib:
    dependency: transitive
    description:
      name: csslib
      sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.0"
  cupertino_icons:
    dependency: "direct main"
    description:
      name: cupertino_icons
      sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be
      url: "https://pub.dev"
    source: hosted
    version: "1.0.5"
  fake_async:
    dependency: transitive
    description:
      name: fake_async
      sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.1"
  flutter:
    dependency: "direct main"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_lints:
    dependency: "direct dev"
    description:
      name: flutter_lints
      sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.2"
  flutter_test:
    dependency: "direct dev"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_web_plugins:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.0"
  html:
    dependency: transitive
    description:
      name: html
      sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a"
      url: "https://pub.dev"
    source: hosted
    version: "0.15.4"
  js:
    dependency: transitive
    description:
      name: js
      sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
      url: "https://pub.dev"
    source: hosted
    version: "0.6.7"
  lints:
    dependency: transitive
    description:
      name: lints
      sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  matcher:
    dependency: transitive
    description:
      name: matcher
      sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
      url: "https://pub.dev"
    source: hosted
    version: "0.12.15"
  material_color_utilities:
    dependency: transitive
    description:
      name: material_color_utilities
      sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
      url: "https://pub.dev"
    source: hosted
    version: "0.2.0"
  meta:
    dependency: transitive
    description:
      name: meta
      sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
      url: "https://pub.dev"
    source: hosted
    version: "1.9.1"
  path:
    dependency: transitive
    description:
      name: path
      sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
      url: "https://pub.dev"
    source: hosted
    version: "1.8.3"
  plugin_platform_interface:
    dependency: transitive
    description:
      name: plugin_platform_interface
      sha256: "43798d895c929056255600343db8f049921cbec94d31ec87f1dc5c16c01935dd"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.5"
  sky_engine:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.99"
  source_span:
    dependency: transitive
    description:
      name: source_span
      sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
      url: "https://pub.dev"
    source: hosted
    version: "1.9.1"
  stack_trace:
    dependency: transitive
    description:
      name: stack_trace
      sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
      url: "https://pub.dev"
    source: hosted
    version: "1.11.0"
  stream_channel:
    dependency: transitive
    description:
      name: stream_channel
      sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  string_scanner:
    dependency: transitive
    description:
      name: string_scanner
      sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
      url: "https://pub.dev"
    source: hosted
    version: "1.2.0"
  term_glyph:
    dependency: transitive
    description:
      name: term_glyph
      sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
      url: "https://pub.dev"
    source: hosted
    version: "1.2.1"
  test_api:
    dependency: transitive
    description:
      name: test_api
      sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
      url: "https://pub.dev"
    source: hosted
    version: "0.5.1"
  vector_math:
    dependency: transitive
    description:
      name: vector_math
      sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  video_player:
    dependency: "direct main"
    description:
      name: video_player
      sha256: "3fd106c74da32f336dc7feb65021da9b0207cb3124392935f1552834f7cce822"
      url: "https://pub.dev"
    source: hosted
    version: "2.7.0"
  video_player_android:
    dependency: transitive
    description:
      name: video_player_android
      sha256: f338a5a396c845f4632959511cad3542cdf3167e1b2a1a948ef07f7123c03608
      url: "https://pub.dev"
    source: hosted
    version: "2.4.9"
  video_player_avfoundation:
    dependency: transitive
    description:
      name: video_player_avfoundation
      sha256: f5f5b7fe8c865be8a57fe80c2dca130772e1db775b7af4e5c5aa1905069cfc6c
      url: "https://pub.dev"
    source: hosted
    version: "2.4.9"
  video_player_platform_interface:
    dependency: transitive
    description:
      name: video_player_platform_interface
      sha256: "1ca9acd7a0fb15fb1a990cb554e6f004465c6f37c99d2285766f08a4b2802988"
      url: "https://pub.dev"
    source: hosted
    version: "6.2.0"
  video_player_web:
    dependency: transitive
    description:
      name: video_player_web
      sha256: "44ce41424d104dfb7cf6982cc6b84af2b007a24d126406025bf40de5d481c74c"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.16"
sdks:
  dart: ">=3.0.5 <4.0.0"
  flutter: ">=3.3.0"

Steps to reproduce

Accept a call (call from another phone).
Open application.

Expected results
Video is playing.
Actual results
Video not starting. VideoPlayerController initialized.
Code sample
Code sample
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  late VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.networkUrl(Uri.parse(
        'https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4'))
      ..initialize().then((_) {
        setState(() {
          _controller.value.isPlaying
              ? _controller.pause()
              : _controller.play();
        });
      });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Video Demo',
      home: Scaffold(
        body: Center(
          child: _controller.value.isInitialized
              ? AspectRatio(
                  aspectRatio: _controller.value.aspectRatio,
                  child: VideoPlayer(_controller),
                )
              : Container(),
        ),
      ),
    );
  }

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
  }
}

Screenshots or Videos
No response
Logs
Logs
Launching lib/main.dart on CLT L29 in debug mode...
main.dart:1
✓  Built build/app/outputs/flutter-apk/app-debug.apk.
Connecting to VM Service at ws://<IP_ADDRESS>:52720/ItwnAjS-GMI=/ws
I/ExoPlayerImpl(32540): Init bc2192a [ExoPlayerLib/2.18.7] [HWCLT, CLT-L29, HUAWEI, 29]
W/call_with_vide(32540): Accessing hidden method Landroid/media/AudioTrack;->getLatency()I (greylist, reflection, allowed)
V/AudioManager(32540): getStreamVolume streamType: 3 volume: 2
V/AudioManager(32540): isStreamMute   streamType: 3
V/AudioManager(32540): getStreamMaxVolume  treamType: 3
D/NetworkSecurityConfig(32540): No Network Security Config specified, using platform default
W/Gralloc3(32540): mapper 3.x is not supported
W/VideoCapabilities(32540): Unrecognized profile/level 0/0 for video/mpeg2
W/VideoCapabilities(32540): Unrecognized profile/level 0/2 for video/mpeg2
W/VideoCapabilities(32540): Unrecognized profile/level 0/3 for video/mpeg2
I/VideoCapabilities(32540): Unsupported profile 5 for video/mpeg2
I/chatty  (32540): uid=11920(com.example.call_with_video) ExoPlayer:Playb identical 2 lines
I/VideoCapabilities(32540): Unsupported profile 5 for video/mpeg2
W/VideoCapabilities(32540): Unrecognized profile/level 1/32 for video/mp4v-es
W/VideoCapabilities(32540): Unrecognized profile/level 32768/2 for video/mp4v-es
W/VideoCapabilities(32540): Unrecognized profile/level 32768/64 for video/mp4v-es
I/OMXClient(32540): IOmx service obtained
I/ACodec  (32540): In onAllocateComponent create compenent, codec name: OMX.hisi.video.decoder.avc
D/SurfaceUtils(32540): connecting to surface 0x72f66a5010, reason connectToSurface
I/MediaCodec(32540): [OMX.hisi.video.decoder.avc] setting surface generation to 33320961
D/SurfaceUtils(32540): disconnecting from surface 0x72f66a5010, reason connectToSurface(reconnect)
D/SurfaceUtils(32540): connecting to surface 0x72f66a5010, reason connectToSurface(reconnect)
E/ACodec  (32540): [OMX.hisi.video.decoder.avc] setPortMode on output to DynamicANWBuffer failed w/ err -2147483648
2
I/ACodec  (32540): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:1(BT709_5), M:1(BT709_5), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec  (32540): [OMX.hisi.video.decoder.avc] using color aspects (R:2(Limited), P:1(BT709_5), M:1(BT709_5), T:3(SMPTE170M)) and dataspace 0x104
I/ACodec  (32540): onStart
I/HwExtendedUtils(32540): Set to window composer mode as 2
I/ACodec  (32540): gralloc usage: 0(OMX) => 0x2900(ACodec)
D/SurfaceUtils(32540): disconnecting from surface 0x72f66a5010, reason setNativeWindowSizeFormatAndUsage
I/ACodec  (32540): [OMX.hisi.video.decoder.avc] Output port now disabled.
I/HwExtendedUtils(32540): Set to window composer mode as 2
I/ACodec  (32540): gralloc usage: 0(OMX) => 0x2900(ACodec)
D/SurfaceUtils(32540): disconnecting from surface 0x72f66a5010, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils(32540): connecting to surface 0x72f66a5010, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils(32540): set up nativeWindow 0x72f66a5010 for 1280x720, color 0x30d, rotation 0, usage 0x2900
W/ACodec  (32540): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 15 failed: -1010
I/ACodec  (32540): [OMX.hisi.video.decoder.avc] Allocating 14 buffers from a native window of size 1413120 on output port
D/CCodec  (32540): allocate(c2.android.aac.decoder)
I/Codec2Client(32540): Available Codec2 services: "software"
I/Codec2Client(32540): Creating a Codec2 client to service "software"
I/Codec2Client(32540): Client to Codec2 service "software" created
I/ACodec  (32540): [OMX.hisi.video.decoder.avc] Output port now reenabled.
I/HwViewRootImpl(32540): removeInvalidNode jank list is null
I/CCodec  (32540): Created component [c2.android.aac.decoder]
D/CCodecConfig(32540): read media type: audio/mp4a-latm
D/ReflectedParamUpdater(32540): extent() != 1 for single value type: algo.buffers.max-count.values
D/ReflectedParamUpdater(32540): extent() != 1 for single value type: output.subscribed-indices.values
D/ReflectedParamUpdater(32540): extent() != 1 for single value type: input.buffers.allocator-ids.values
D/ReflectedParamUpdater(32540): extent() != 1 for single value type: output.buffers.allocator-ids.values
D/ReflectedParamUpdater(32540): extent() != 1 for single value type: algo.buffers.allocator-ids.values
D/ReflectedParamUpdater(32540): extent() != 1 for single value type: output.buffers.pool-ids.values
D/ReflectedParamUpdater(32540): extent() != 1 for single value type: algo.buffers.pool-ids.values
D/CCodecConfig(32540):   c2::u32 output.delay.value = 2
D/CCodecConfig(32540):   string output.media-type.value = "audio/raw"
D/CCodecConfig(32540):   c2::u32 raw.channel-count.value = 1
D/CCodecConfig(32540):   c2::u32 raw.sample-rate.value = 44100
D/CCodecConfig(32540): }
D/CCodecConfig(32540): config failed => CORRUPTED
D/CCodecConfig(32540): c2 config is Dict {
D/CCodecConfig(32540):   c2::u32 coded.aac-packaging.value = 0
D/CCodecConfig(32540):   c2::u32 coded.bitrate.value = 64000
D/CCodecConfig(32540):   c2::u32 coded.pl.level = 0
D/CCodecConfig(32540):   c2::u32 coded.pl.profile = 8192
D/CCodecConfig(32540):   c2::float coding.drc.attenuation-factor.value = 1
D/CCodecConfig(32540):   c2::float coding.drc.boost-factor.value = 1
D/CCodecConfig(32540):   c2::i32 coding.drc.compression-mode.value = 3
D/CCodecConfig(32540):   c2::i32 coding.drc.effect-type.value = 3
D/CCodecConfig(32540):   c2::float coding.drc.encoded-level.value = 0.25
D/CCodecConfig(32540):   c2::float coding.drc.reference-level.value = -16
D/CCodecConfig(32540):   c2::u32 input.buffers.max-size.value = 8192
D/CCodecConfig(32540):   c2::u32 input.delay.value = 0
D/CCodecConfig(32540):   string input.media-type.value = "audio/mp4a-latm"
D/CCodecConfig(32540):   c2::u32 output.delay.value = 2
D/CCodecConfig(32540):   string output.media-type.value = "audio/raw"
D/CCodecConfig(32540):   c2::u32 raw.channel-count.value = 2
D/CCodecConfig(32540):   c2::u32 raw.sample-rate.value = 48000
D/CCodecConfig(32540): }
D/CCodec  (32540):   int32_t sample-rate = 48000
D/CCodec  (32540): }
W/Codec2Client(32540): query -- param skipped: index =<PHONE_NUMBER>.
W/Codec2Client(32540): query -- param skipped: index =<PHONE_NUMBER>.
W/Codec2Client(32540): query -- param skipped: index =<PHONE_NUMBER>.
D/BufferPoolManager(32540): # of cleaned connections: 0
D/BufferPoolManager(32540): create new connection<PHONE_NUMBER>04832
D/CCodecBufferChannel(32540): [c2.android.aac.decoder#902] Created input block pool with allocatorID 16 => poolID 17 - OK (0)
I/CCodecBufferChannel(32540): [c2.android.aac.decoder#902] Created output block pool with allocatorID 16 => poolID 103 - OK
D/CCodecBufferChannel(32540): [c2.android.aac.decoder#902] Configured output block pool ids 103 => OK
E/ion     (32540): ioctl c0044901 failed with code -1: Not a typewriter
D/BufferPoolManager(32540): client death recipient registered<PHONE_NUMBER>04833
D/BufferPoolManager(32540): register new connection<PHONE_NUMBER>320
D/ACodec  (32540): sendVideoFpsDataToiAware time:1000000000000 fps:-1 msg:-1
I/AudioTrack-JNI(32540): AudioTrack_setup for usage=1 content=3 flags=0x0xa00 tags=
I/AudioManager(32540): requestAudioFocus focusRequest
D/AwareBitmapCacher(32540): handleInit switch not opened pid=32540
V/AudioManager(32540): getStreamVolume streamType: 3 volume: 2
V/AudioManager(32540): isStreamMute   streamType: 3
V/AudioManager(32540): getStreamVolume streamType: 3 volume: 2
V/AudioManager(32540): isStreamMute   streamType: 3
V/AudioManager(32540): getStreamVolume streamType: 3 volume: 2
V/AudioManager(32540): isStreamMute   streamType: 3
V/AudioManager(32540): getStreamVolume streamType: 3 volume: 2

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.5, on macOS 13.3.1 22E772610a darwin-arm64, locale ru-RU)
    • Flutter version 3.10.5 on channel stable at /Users/komkovkonstantin/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (9 weeks ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/komkovkonstantin/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] VS Code (version 1.81.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.70.0

[✓] Connected device (3 available)
    • CLT L29 (mobile) • WCR7N18525012846 • android-arm64  • Android 10 (API 29)
    • macOS (desktop)  • macos            • darwin-arm64   • macOS 13.3.1 22E772610a darwin-arm64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 115.0.5790.170

[✓] Network resources
    • All expected network resources are available.

Hi @KonstantenKomkov. Thanks for filing this issue. I can't seem to reproduce this on my end. Can you upgrade to the latest versions of flutter to confirm this issue persists?

Yes, I'm testing calling at the same number which are used as an internet provider, but Youtube application was opened with active call and video is playing. At Flutter 3.10.6 this is reproduced too.

Devices which can reproduce that bug: huawei p20 pro, Xiaomi mi8, Poco X3 Android 12, Samsung SM-A73 Android 12, Xiaomi redmi note 8 pro.

duplicate of #131127

@maRci002 thank you. Are there way to listen this event? In my case video in splash page and in that case I would prefer skip splash page.

@maRci002 thank you! All work.

You can use platform channels to check if phonce call is ongoing.
On Android, you can use TelephonyManager.
On iOS, you can use CallKit.
But since flutter/packages#3261 is merged it will send event to video player to stop playing video. However I think you can achive something like this:
_controller = VideoPlayerController.networkUrl(Uri.parse(widget.video.url))
  ..initialize().then((_) {
    if (mounted) {
      _controller.setLooping(true);
      _controller.play().whenComplete(() {
        if (!_controller.value.isPlaying) {
         // video is not playing skip splash screen
        }
      });

      setState(() {});
    }
  });


⚠ Bofrost.at has degraded performance

In 1949ef1, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2268 ms

Resolved: Bofrost.at performance has improved in d9e39c9 after 7 minutes.


Implement Feature Build Profiles

This PR is a continuation of #50381 (which was implemented exactly a year ago!). I was too busy to finish this, but I really wanted it before Beta so it does not have to wait for 4.1.

Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).
Add a detection system to scan the project and figure out the actual classes used.
Added the ability for SCons to load build profiles.

Obligatory Screen:

Usage:
$ scons p=windows target=release tools=no build_feature_profile="soso.build"

A simple test with a couple of nodes in the scene resulted in a 25% reduction for the final binary size. With the ability to disable more core parts of the engine, gains should be considerably even more dramatic.
TODO:

Script languages need to implement used class detection (left for another PR).
Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
Options to disable some modules would be desired.
More options to disable drivers (OpenGL, Vulkan, etc) would be desired.
There is a problem in how NavigationServer was made, because it uses resources in scene/ and this causes link to fail. This needs to be fixed in a separate PR but in the meantime add NavigationMesh and NavigationPolygon to the forced detect field at the bottom.

In general this PR is a starting point for more contributors to improve and enhance this functionality.

I would also include PCK encryption key into the same dialog / config file. Currently, it's set using environment variable, which is not a clear way to do for many users.

Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
Options to disable some modules would be desired.

It probably should have separate section for selecting TextServer implementation (dummy, HB/ICU, fallback), control embedding of ICU data and disabling related modules (freetype, graphite, msdfgen). Everything is already customizable with scons command line argument, but will be good to have all in one interface. I'll do a follow-up PR when this one is merged.

@Calinou I think it should be possible to do this without much effort, so you pass the .build file and it updates it.

Is there any performance gain in the editor or in the game build when disabling features?

No, run-time performance is expected to remain identical.

@jcostello nope

If we have automatic usage detection, wouldn't it be better to disable everything by default? If for some reason this is not the default, should we expect any issues from disabling everything manually to delegate it completely to the auto-detector?

Script languages need to implement used class detection (left for another PR).

How would this work with APIs like ClassDB where the input may only be known at runtime? Are they just considered as not supported during detection?

@neikeq auto-detect disables what is not used already by default. If you use ClassDB manually and somehow don't use the class, then it will not auto detect it. Put the classes you use in the bottom text edit so they are force detected.

Thanks!

Is there any performance gain in the editor or in the game build when disabling features?

No, run-time performance is expected to remain identical.

What about load times? We're seeing 10s+ load times for HTML5 games on old devices and it'd be really amazing if this reduced it 🤞

What about load times? We're seeing 10s+ load times for HTML5 games on old devices and it'd be really amazing if this reduced it crossed_fingers

Load times will probably not change by more than 10% or so.
Remember that Godot is asking a lot from the browser, especially on old/low-end devices. Loading a WebAssembly payload that is 10+ MB is not an easy task for the browser.

True, it is really impressive that Godot even runs in the browser on those old mobile devices.

Load times will probably not improve by more than 10% or so, even with nearly all features disabled. Unfortunately, I don't know any other low-hanging fruits to reduce the WebAssembly bundle size.

Interesting. What makes up the bulk of the WebAssembly bundle size if it's not features?

@bfelbo It is features. But disabling a feature in a build profile does not necessarily mean it will be not compiled. With the feature build profile system introduced in this PR, what it does is cause the classes to not be registered in ClassDB. Any code that isn't registered or referred to anywhere will be removed by the linker.
However, a lot of the code will still be referred to anyway. For example, a Godot came must have Viewport, and Viewport depends on the Camera2D and Camera3D nodes. Even if those nodes are not registered with ClassDB, their code will still be included because Viewport needs those classes.
@reduz summarizes this well in his post:

Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).

If you want to disable more of the engine, a more thorough approach than just not registering classes is needed. I have a PR that allows disabling 2D nodes, and I have another PR for moving 2D and 3D resources to subfolders so that they can be more easily disabled, but these have not been merged yet.

little feedback report, I tried this the other day and was able to reduce my ~57 mb master branch binary (release, linux 64 bit) to 40 mb. so that's really nice I think.
I did took me quite a while though to manually compile a list of classes my project uses that the auto detect feature was not able to detect. it's probably not something that can be expected of the average user.
also, is there any chance of this being backported to 3.x? for people wanting to optimize for size, this would be especially interesting to use with 3.x as it compounds with the already significantly smaller code base size.
for instance, if Godot 3.x could rival Flutter in wasm size (~7mb) that would be pretty cool.
without feature build profiles I get 3.x wasm down to ~10 mb currently.

@h0lley I don't think Godot 4 will be able to go down to 7 MB. My guess is we can get it down to 20 MB if we combine this PR with my other PRs and disabling modules and likely some more additional work.
https://docs.google.com/spreadsheets/d/1aWmWiA6MWoHr4Mgg22tybDFPa6BJX5oHTSjfN21plyY/edit#gid=0
Here is a spreadsheet I made over a year ago, it should still be roughly accurate. A lot of the size is from the core folder, and that code can't / shouldn't be removed. I'm curious to see what the results would be if we recreated this spreadsheet with as many changes as we can to reduce the size, to see what's left as the biggest pieces.
Anyway, this is getting off-topic for this PR. Feel free to contact me elsewhere and we can work on this together.

also, is there any chance of this being backported to 3.x? for people wanting to optimize for size, this would be especially interesting to use with 3.x as it compounds with the already significantly smaller code base size.

This relies on a lot of backwards-incompatible changes, so no.

I did took me quite a while though to manually compile a list of classes my project uses that the auto detect feature was not able to detect. it's probably not something that can be expected of the average user.

I think you should open an issue if the auto-detect feature fails to detect a class you use. Unless the classes are accessed dynamically (via ClassDB::instantiate(class_name) for example); I don't think we can do anything about those.

I think you should open an issue if the auto-detect feature fails to detect a class you use. Unless the classes are accessed dynamically (via ClassDB::instantiate(class_name) for example); I don't think we can do anything about those.

I believe only classes referenced in tscn and tres are detected atm, and nothing that's only in script.
but this is presumably due to this still missing:

Script languages need to implement used class detection (left for another PR).

so at least reduz is already aware.

via ClassDB::instantiate(class_name) for example

right, having to add one or two classes in those very niche use-cases to the "forced classes on detect" field is by no means asked too much. for reference though, here's what I had to specify manually:

"OS,Engine,MainLoop,SceneTree,DisplayServer,AudioServer,ProjectSettings,ResourceLoader,InputMap,Input,Time,Directory,File,ConfigFile,Thread,ResourceFormatLoader,RandomNumberGenerator,SceneTreeTimer,Tween,CallbackTweener,IntervalTweener,MethodTweener,PropertyTweener,RegEx,RegExMatch,AudioEffectSpectrumAnalyzerInstance,InputEventAction,InputEventKey,InputEventJoypadButton,InputEventJoypadMotion,AudioBusLayout,World2D,RichTextEffect,StyleBoxLine,ButtonGroup,ViewportTexture,ConfirmationDialog,ParallaxLayer,CheckButton,PopupMenu,TabBar,Skeleton2D,Bone2D"

so yea, according to current auto detection apparently my project doesn't use MainLoop, for instance 😅

Is there any performance gain in the editor or in the game build when disabling features?

No, run-time performance is expected to remain identical.

What about nowadays? :)

What about nowadays? :)

you can use this to make very slim builds in terms of size, not so much for performance.


173 update system design doc according to recent changes implementation   backend

Description
Updated API design doc:

update & delete userInput feature in response to Rename and Delete buttons on the client side

added ‘title’ property into UserInput data entity

replaced linktaFlows property with linktaFlowId (eliminated linktaFlows arrays to store different version)

new Data ER diagram image

added a controller and services section to explain the new diagram in PR #193

cleaned up outdated info

Updated System design doc:

added new tech

cleaned up outdated info

Fixes #173
Type of change

[x] 📝 Documentation update

Checklist:

[x] I have performed a self-review of my own code.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[X] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.
[ ] Any dependent changes have been merged and published in downstream modules.
[X] I have reviewed the Security Best Practices Document.
[X] I have followed the Naming Conventions Guide for my changes.
[X] I have ensured that my pull request title is descriptive.

Additional Information:

converted to draft to fix some typos


Problem with printing json response object

I need to print out my JSON response to see what the problem is that's causing me to get the exception
[json.exception.type_error.302] type must be number, but is null

My code is on GitHub here.  I'm currently trying to make it completely asynchronous so I can port it to WebAssembly (though I'll also need to port the ASIO and Beast libraries).
The exception came from here:
// Perform currency conversion
double client_session::convert(const std::string &from_currency, const std::string &to_currency, const double money_amount, const char *accesskey)
{
	std::vector<std::string> currencies{
		"AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTC","BTN","BWP",
		"BYN","BYR","BZD","CAD","CDF","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD",
		"FKP","GBP","GEL","GGP","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD",
		"JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LVL","LYD","MAD","MDL","MGA","MKD","MMK",
		"MNT","MOP","MRO","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR",
		"RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","STD","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY",
		"TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VEF","VND","VUV","WST","XAF","XAG","XAU","XCD","XDR","XOF","XPF","YER","ZAR","ZMK","ZMW","ZWL"
	};

	query_data = { std::make_pair("from_currency", from_currency), std::make_pair("to_currency", to_currency) };
	found = cache.get_cache().find(query_data);

	json j_res = cache.query(query_data, accesskey);

	for (const auto &v : query_data)
	{
		std::cout << v.first << ": " << v.second << '\n';
	}
	for (const auto &x : j_res)
	{
		std::cout << x << '\n';
	}

	double result = 0, rate = 0;

	try
	{
		for (const auto &x : j_res)
		{
			std::cout << x << '\n';
		}
		rate = j_res["quotes"][from_currency + to_currency].get<double>();
	}
	catch (const json::exception &e)
	{
		std::cerr << "Line 895: Error: " << e.what() << '\n';
	}

	if (std::find(currencies.begin(), currencies.end(), to_currency) != currencies.end() &&
		std::find(currencies.begin(), currencies.end(), from_currency) != currencies.end())
	{
		result = money_amount * rate;
	}

	return result;
}

The std::cerr << "Line 895: Error: " << e.what() << '\n'; line is where the output is from.
I tried to make the HTTP GET request I'm trying to make in the code manually and I got back the JSON response I expected:
{
  "success":true,
  "terms":"https:\/\/currencylayer.com\/terms",
  "privacy":"https:\/\/currencylayer.com\/privacy",
  "timestamp":1542208746,
  "source":"USD",
  "quotes":{
    "USDPKR":134.000093
  }
}

But for some reason, when I do it in this code, I get either an exception about the type being null or an exception about not being able to use operator[] with a string as the key with a number.  And as you can see in my code, I also tried to print out the j_res object.  Nothing from it gets printed, though.  This is my output:
in cache_storage::query, query_data is:
from_currency: USD
to_currency: PKR
Line 929: target is: /api/live?access_key=6118470d67d40caf1f4db130ec67e1e8&currencies=PKR&format=1
hi from line 943 in cache_storage::query
from_currency: USD
to_currency: PKR
Line 895: Error: [json.exception.type_error.302] type must be number, but is null

And the problem is causing both the conversion rate and conversion result to come out to be 0.  I'd really like some help here.  Thanks in advance.

Okay, I managed to solve it by making cache_storage::get_cache return a reference.  I've also replaced the code in currency_converter.cpp with the async version and made it the only .cpp file in the repository.  currency_converter_async.cpp is no longer there.


08/26/2018 21:15 : Create Pull Request for branch master -> prTesting1_2018082621

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Updated to start inside Docker container

The run script would error on:
/run: line 41: --geometry=50x10+0+0: command not found
./run: line 44: --geometry=50x10+500+0: command not found
When starting from a docker container.

Please fix code and push again.
After that, I will merge this pull request.

Updated file.


Fix bad input routing

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14220/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14220/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14220/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14220/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14220/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14220/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14220/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14220/merge#BCU1XR#0

Visualization tests for webgl2 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14220/merge/testResults/webgl2/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for webgl1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14220/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.


fix: Fix emoji encoding in TextEncoderStream polyfill and add tests

Overview

Fixes #6458
What is it?

[ ] Feature / enhancement
[x] Bug
[ ] Docs / tests / types / typos

Description
The polyfill for TextEncoderStream introduced and proposed by me in https://github.com/QwikDev/qwik/pull/6310#issuecomment-2116414641 for use in Bun and Cloudflare runtimes breaks emoji encoding. This PR fixes the encoding issue.
The issue caused by how I iterated over the input string: for...of loop relies on iterator protocol, which treats an emoji as a single character and iterates through it just once, and then String.charCodeAt(0) call was picking up just half of the symbol. Meanwhile, the Node.js' implementation iterates over the string using for loop which treats emojis as two symbols and then encodes each part of that symbol.
Use cases and why

Expected: The encoder stream polyfill should handle emoji symbols correctly.
Actual: The encoder stream polyfill breaks emoji symbols.
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[x] Added new tests to cover the fix / functionality

@octet-stream thanks a ton for looking into this and getting the test for it


Acmeair bench

Adding acmeair benchmark

As I had mentioned earlier, we need to have this PR broken down into 3 different PRs

acmeair benchmark code as-is
Any code updates to acmeair benchmark that we have done
Autotune related scripts similar to what we have done for petclinic

As it is right now, this cannot be reviewed.


Dawn 610 Context Free Actions

Tests for context free actions
Fixes for context free actions
Additional APIs made available to context free actions
** checktime_api
** crypto_api
** system_api
** action_api
** console_api
** math_api
nonce action changed to be a context free action in eosioc
read_action changed to read_action_data to distinguish between action and action_data
Also includes some of DAWN 617 work that was put on hold for this work
Does not include pruning the context_free_data from the block log

Resolves #1387

Closing this PR as another will be coming shortly with only CFA changes.


antlr3: make C++ includes compatible with C++20

(by stealing the relevant patch from Fedora)

Motivation for this change
upstream does not compile with C++20
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

Result of nixpkgs-review pr 120234 at 2ea89de2 run on aarch64-linux 1

1 package built successfully:

antlr3 (antlr3_5)

2 suggestions:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/development/tools/parsing/antlr/3.5.nix:24:3:
   |
24 |   installPhase = ''
   |   ^

warning: missing-patch-comment
Please add a comment on the line above, explaining the purpose of this patch.
Near pkgs/development/tools/parsing/antlr/3.5.nix:18:5:
   |
18 |     (fetchurl {
   |     ^


[Android][deprecation] view.startDrag(ClipData,DragShadowBuilder,Object,int)  is deprecation in sdk 24 use view.startDragAndDrop instead

view.startDrag(ClipData,DragShadowBuilder,Object,int)  is deprecation in sdk 24 use view.startDragAndDrop instead
https://stackoverflow.com/questions/39596889/startdrag-method-deprecated-and-unable-to-compile-the-program

Should I make a pr for this issue？

Please do, PRs are always welcome :)