Using attribute from object created by walrus operator raises Used-before-assignment.

Environment data

Language Server version: Pylance language server 2024.2.2 (pyright version 1.1.348, commit cfb1de0c) starting
OS and version: Ubuntu 20.04.6 LTS
Python version (& distribution if applicable, e.g. Anaconda): Python 3.10.6

Code Snippet

from dataclasses import dataclass
from typing import Optional

@dataclass
class Test:
    a: str

    @classmethod
    def from_str(cls, a:str) -> Optional['Test']:
        if not a:
            return None
        return cls(a)

print({t.a for string in ["", "a"] if (t := Test.from_str(string))})

Repro Steps

use the snippet from above

Expected behavior
No error is raised as the snippet works .
Actual behavior

Logs

2024-02-26 08:28:16.807 [info] (Client) Pylance async client (2024.2.2) started with python extension (2024.0.1)
2024-02-26 08:28:17.323 [info] [Info  - 8:28:17 AM] (1366832) Pylance language server 2024.2.2 (pyright version 1.1.348, commit cfb1de0c) starting
2024-02-26 08:28:17.324 [info] [Info  - 8:28:17 AM] (1366832) Server root directory: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist
2024-02-26 08:28:17.348 [info] [Info  - 8:28:17 AM] (1366832) Starting service instance "<default>"
2024-02-26 08:28:17.377 [info] [Info  - 8:28:17 AM] (1366832) Setting environmentName for service "<default>": "/Users/user/.pyenv/versions/3.10.6/bin/python"
2024-02-26 08:28:17.618 [info] [Info  - 8:28:17 AM] (1366832) No source files found.
2024-02-26 08:28:17.693 [info] [Info  - 8:28:17 AM] (1366832) Setting environmentName for service "<default>": "/Users/user/.pyenv/versions/3.10.6/bin/python"
2024-02-26 08:28:17.836 [info] [Info  - 8:28:17 AM] (1366832) No source files found.
2024-02-26 08:28:18.075 [info] [Info  - 8:28:18 AM] (1366832) Background analysis(1) root directory: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist
2024-02-26 08:28:18.075 [info] [Info  - 8:28:18 AM] (1366832) Background analysis(1) started
2024-02-26 08:28:36.955 [info] [Info  - 8:28:36 AM] (1366832) [BG(1)] Long operation: getInlayHints range 0:0 - 11:0 at untitled:Untitled-1 (2732ms)
2024-02-26 08:30:33.944 [info] [Info  - 8:30:33 AM] (1366832) Setting pythonPath for service "<default>": "/bin/python3.10"
2024-02-26 08:30:33.944 [info] [Info  - 8:30:33 AM] (1366832) Setting environmentName for service "<default>": "3.10.13 (global)"
2024-02-26 08:30:34.013 [info] [Info  - 8:30:34 AM] (1366832) Assuming Python version 3.10
2024-02-26 08:30:34.169 [info] [Info  - 8:30:34 AM] (1366832) No source files found.
2024-02-26 08:30:34.270 [info] [Info  - 8:30:34 AM] (1366832) Setting pythonPath for service "<default>": "/bin/python3.10"
2024-02-26 08:30:34.270 [info] [Info  - 8:30:34 AM] (1366832) Setting environmentName for service "<default>": "3.10.13 (global)"
2024-02-26 08:30:34.340 [info] [Info  - 8:30:34 AM] (1366832) Assuming Python version 3.10
2024-02-26 08:30:34.483 [info] [Info  - 8:30:34 AM] (1366832) No source files found.
2024-02-26 08:31:42.111 [info] (1366832) No pyproject.toml file found.
2024-02-26 08:31:42.112 [info] [Info  - 8:31:42 AM] (1366832) Setting pythonPath for service "<default>": "/bin/python3.10"
2024-02-26 08:31:42.112 [info] [Info  - 8:31:42 AM] (1366832) Setting environmentName for service "<default>": "3.10.13 (global)"
2024-02-26 08:31:42.169 [info] [Info  - 8:31:42 AM] (1366832) Assuming Python version 3.10
2024-02-26 08:31:42.169 [info] (1366832) Assuming Python platform Linux
2024-02-26 08:31:42.291 [info] [Info  - 8:31:42 AM] (1366832) Search paths for
2024-02-26 08:31:42.291 [info] [Info  - 8:31:42 AM] (1366832)   /user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib
2024-02-26 08:31:42.291 [info] [Info  - 8:31:42 AM] (1366832)
2024-02-26 08:31:42.291 [info] [Info  - 8:31:42 AM] (1366832)   typings
2024-02-26 08:31:42.291 [info] [Info  - 8:31:42 AM] (1366832)   /user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stubs/...
2024-02-26 08:31:42.291 [info] [Info  - 8:31:42 AM] (1366832)   /user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/bundled/stubs
2024-02-26 08:31:42.292 [info] [Info  - 8:31:42 AM] (1366832)   /usr/lib/python3.10
2024-02-26 08:31:42.292 [info] [Info  - 8:31:42 AM] (1366832)   /usr/lib/python3.10/lib-dynload
2024-02-26 08:31:42.292 [info] [Info  - 8:31:42 AM] (1366832)   /usr/local/lib/python3.10/dist-packages
2024-02-26 08:31:42.292 [info] [Info  - 8:31:42 AM] (1366832)   /usr/lib/python3/dist-packages
2024-02-26 08:31:42.292 [info] [Info  - 8:31:42 AM] (1366832) Adding fs watcher for library directories:
 file:///usr/lib/python3.10
file:///usr/lib/python3.10/lib-dynload
file:///usr/local/lib/python3.10/dist-packages
file:///usr/lib/python3/dist-packages
2024-02-26 08:31:42.292 [info] (1366832) Searching for source files
2024-02-26 08:31:42.293 [info] [Info  - 8:31:42 AM] (1366832) No source files found.
2024-02-26 08:31:42.313 [info] (1366832) [IDX(FG)] index libraries  (index) ...
2024-02-26 08:31:42.313 [info] (1366832) [IDX(FG)]   read stdlib indices (2ms)
2024-02-26 08:31:42.325 [info] (1366832) [IDX(FG)] index libraries  (index) [succeed] (13ms)
2024-02-26 08:31:42.480 [info] (1366832) [BG(1)] analyzing: file:///u/user/workspace/test/test.py ...
2024-02-26 08:31:42.480 [info] (1366832) [BG(1)]   parsing: file:///u/user/workspace/test/test.py (148ms)
2024-02-26 08:31:42.542 [info] (1366832) [BG(1)]   parsing: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/builtins.pyi [fs read 1ms] (63ms)
2024-02-26 08:31:42.560 [info] (1366832) [BG(1)]   binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/builtins.pyi (17ms)
2024-02-26 08:31:42.560 [info] (1366832) [BG(1)]   binding: file:///u/user/workspace/test/test.py (0ms)
2024-02-26 08:31:42.593 [info] (1366832) [BG(1)]   checking: file:///u/user/workspace/test/test.py ...
2024-02-26 08:31:42.594 [info] (1366832) [BG(1)]     parsing: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/typing.pyi [fs read 1ms] (18ms)
2024-02-26 08:31:42.598 [info] (1366832) [BG(1)]     binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/typing.pyi (5ms)
2024-02-26 08:31:42.611 [info] (1366832) [BG(1)]     parsing: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/types.pyi [fs read 1ms] (12ms)
2024-02-26 08:31:42.618 [info] (1366832) [BG(1)]     binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/types.pyi (6ms)
2024-02-26 08:31:42.628 [info] (1366832) [BG(1)]     parsing: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi [fs read 1ms] (7ms)
2024-02-26 08:31:42.635 [info] (1366832) [BG(1)]     binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi (8ms)
2024-02-26 08:31:42.642 [info] (1366832) [BG(1)]     parsing: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/abc.pyi [fs read 1ms] (3ms)
2024-02-26 08:31:42.643 [info] (1366832) [BG(1)]     binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/abc.pyi (1ms)
2024-02-26 08:31:42.685 [info] (1366832) [BG(1)]     parsing: file:///usr/lib/python3.10/dataclasses.py [fs read 0ms] (41ms)
2024-02-26 08:31:42.690 [info] (1366832) [BG(1)]     binding: file:///usr/lib/python3.10/dataclasses.py (4ms)
2024-02-26 08:31:42.695 [info] (1366832) [BG(1)]     parsing: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/dataclasses.pyi [fs read 1ms] (6ms)
2024-02-26 08:31:42.696 [info] (1366832) [BG(1)]     binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/dataclasses.pyi (1ms)
2024-02-26 08:31:42.698 [info] (1366832) [BG(1)]     parsing: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/collections/abc.pyi [fs read 0ms] (1ms)
2024-02-26 08:31:42.700 [info] (1366832) [BG(1)]     binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/collections/abc.pyi ...
2024-02-26 08:31:42.700 [info] (1366832) [BG(1)]       parsing: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/_collections_abc.pyi [fs read 1ms] (2ms)
2024-02-26 08:31:42.700 [info] (1366832) [BG(1)]       binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/_collections_abc.pyi (0ms)
2024-02-26 08:31:42.701 [info] (1366832) [BG(1)]     binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/collections/abc.pyi (2ms)
2024-02-26 08:31:42.738 [info] (1366832) [BG(1)]     parsing: file:///usr/lib/python3.10/typing.py [fs read 0ms] (35ms)
2024-02-26 08:31:42.753 [info] (1366832) [BG(1)]     binding: file:///usr/lib/python3.10/typing.py (15ms)
2024-02-26 08:31:42.758 [info] (1366832) [BG(1)]     parsing: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/typing_extensions.pyi [fs read 0ms] (4ms)
2024-02-26 08:31:42.760 [info] (1366832) [BG(1)]     binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/typing_extensions.pyi (1ms)
2024-02-26 08:31:42.769 [info] (1366832) [BG(1)]   checking: file:///u/user/workspace/test/test.py (209ms)
2024-02-26 08:31:42.769 [info] [Info  - 8:31:42 AM] (1366832) Heap stats: total_heap_size=133MB, used_heap_size=115MB, total_physical_size=131MB, total_available_size=4027MB, heap_size_limit=4144MB
2024-02-26 08:31:42.769 [info] (1366832) [BG(1)] analyzing: file:///u/user/workspace/test/test.py (438ms)
2024-02-26 08:31:48.874 [info] (1366832) [FG] parsing: file:///u/user/workspace/test/test.py (23ms)
2024-02-26 08:31:48.921 [info] (1366832) [FG] parsing: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/builtins.pyi [fs read 1ms] (68ms)
2024-02-26 08:31:48.940 [info] (1366832) [FG] binding: file:///user/.vscode-server/extensions/ms-python.vscode-pylance-2024.2.2/dist/typeshed-fallback/stdlib/builtins.pyi (19ms)
2024-02-26 08:31:48.941 [info] (1366832) [FG] binding: file:///u/user/workspace/test/test.py (0ms)
2024-02-26 08:31:48.942 [info] (1366832) Background inlayHint message
2024-02-26 08:31:48.944 [info] (1366832) [BG(1)] getInlayHints range 0:0 - 14:0 at file:///u/user/workspace/test/test.py (2ms)
2024-02-26 08:31:49.129 [info] (1366832) Background analysis message: getSemanticTokens delta
2024-02-26 08:31:49.131 [info] (1366832) [BG(1)] getSemanticTokens delta previousResultId:1708961448717 at file:///u/user/workspace/test/test.py (2ms)
2024-02-26 08:31:51.647 [info] (1366832) Background inlayHint message
2024-02-26 08:31:51.648 [info] (1366832) [BG(1)] getInlayHints range 0:0 - 14:0 at file:///u/user/workspace/test/test.py (1ms)

I'm sorry, I mixed pylint and pylance in VSCode. Not an issue - closing


Sequence by formula returns infinity and crashes numberscope

It is quite possible to produce sequences by formula that return "Infinity", e.g. factorial(n) or 2^n, if you ask for 10000 terms in a visualizer.  This will crash numberscope.

I think the same response as #166 will help here...


DTM to be replaced by Launch ?

On the following page, it states that DTM will create the extension.
I think you meant Launch. (in the Pending paragraph)
Page : https://developer.adobelaunch.com/api/reference/1.0/extensions/create/
Best,

That's correct. Would you be interested in opening a pull request to get it fixed up?

Looks like this is no longer true, after doc changes. Thanks for submitting this issue!


Allegro5

Motivation for this change
5.2 is a stable release, so no need for unstable. Nothing seems to depend on this, is that correct?
Things done

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

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[n/a] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Thanks!


Errors when running rails generate favicon

Hi,
Everytime I run rails generate favicon
I get the following error:
/Users/anthony/Sites/multi/config/initializers/active_merchant.rb:1:in `<top (required)>': Base#gateway_mode is deprecated in favor of Base#mode and will be removed in a future version
/Users/anthony/Sites/multi/config/initializers/aws.rb:1:in `<top (required)>': uninitialized constant AWS (NameError)
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/engine.rb:609:in `block (2 levels) in <class:Engine>'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/engine.rb:608:in `each'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/engine.rb:608:in `block in <class:Engine>'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/initializable.rb:30:in `instance_exec'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/initializable.rb:30:in `run'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/initializable.rb:55:in `block in run_initializers'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:226:in `block in tsort_each'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:420:in `block (2 levels) in each_strongly_connected_component_from'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:429:in `each_strongly_connected_component_from'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:419:in `block in each_strongly_connected_component_from'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/initializable.rb:44:in `each'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/initializable.rb:44:in `tsort_each_child'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:413:in `call'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:413:in `each_strongly_connected_component_from'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:347:in `block in each_strongly_connected_component'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:345:in `each'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:345:in `call'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:345:in `each_strongly_connected_component'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:224:in `tsort_each'
	from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tsort.rb:203:in `tsort_each'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/initializable.rb:54:in `run_initializers'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/application.rb:215:in `initialize!'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/railtie/configurable.rb:30:in `method_missing'
	from /Users/anthonypanepinto/Sites/multi/config/environment.rb:5:in `<top (required)>'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/application.rb:189:in `require_environment!'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/commands.rb:44:in `<top (required)>'
	from bin/rails:4:in `require'
	from bin/rails:4:in `<main>'

I've tried adding gem aws-sdk and it still didn't help. Any ideas?

"uninitialized constant AWS"? Any chance this might be related to AWS? ;-)

@phbernard fixed the AWS issue :)
This is related to the favicon gem:

ll be removed in a future version
/usr/local/rvm/gems/ruby-2.2.1/gems/rails_real_favicon-0.0.5/lib/generators/favicon_generator.rb:24:in `read': No such file or directory @ rb_sysopen - /Users/anthonypanepinto/Sites/multi/app/assets/images/master_picture.png (Errno::ENOENT)
	from /usr/local/rvm/gems/ruby-2.2.1/gems/rails_real_favicon-0.0.5/lib/generators/favicon_generator.rb:24:in `generate_favicon'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `block in invoke_all'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `each'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `map'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `invoke_all'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/thor-0.19.1/lib/thor/group.rb:232:in `dispatch'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/generators.rb:156:in `invoke'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/commands/generate.rb:11:in `<top (required)>'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:229:in `require'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:229:in `block in require'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:214:in `load_dependency'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.0.13/lib/active_support/dependencies.rb:229:in `require'
	from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.0.13/lib/rails/commands.rb:48:in `<top (required)>'
	from bin/rails:4:in `require'
	from bin/rails:4:in `<main>'

Fixed... realized the master picture is the one I'd like to turn into a Favicon, thgouht I had already done that with the generator but this is a new process. CLOSED!


Update various dependencies

Issue number: n/a
Description of change
Updates various dependencies. Change logs:

http://initd.org/psycopg/docs/news.html
https://github.com/boto/boto3/blob/develop/CHANGELOG.rst
http://docs.celeryproject.org/en/latest/whatsnew-4.2.html and http://docs.celeryproject.org/en/latest/changelog.html
https://docs.pytest.org/en/latest/changelog.html
https://pytest-django.readthedocs.io/en/latest/changelog.html
https://github.com/gevent/gevent/blob/master/CHANGES.rst
https://github.com/requests/requests/blob/master/HISTORY.rst

Celery now supports a form of rediss:// for the result back end, but not for the broker. So I've left the previous rediss:// logic unchanged.
Checklist

[x] Have any relevant search models been updated?
[x] Have any relevant fixtures (fixtures/test_data.yaml) been updated?
[x] Have any relevant select-/prefetch-related field lists in the views and search apps been updated?
[x] Has the admin site been updated (for new models, fields etc.)?
[x] Has the README been updated (if needed)?

Codecov Report

Merging #994 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #994   +/-   ##
========================================
  Coverage    96.78%   96.78%
========================================
  Files          195      195
  Lines         5502     5502
  Branches       518      518
========================================
  Hits          5325     5325
  Misses         116      116
  Partials        61       61

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 d054f30...262b3c2. Read the comment docs.


all: reopen tree for Go 1.22 development

Current Tree Status: Tree closed for Go 1.22 general development
This is a tracking issue for the upcoming task of reopening the tree for Go 1.22 development. (It's created a little early to create room for planning early CLs/branches to land during tree reopening.)
As usual, the tree will initially be open to changes that must land early:

[x] Bump internal/goversion.Version to 22 and update the go directive in the go.mod files —this should be the very first CL to be submitted as it marks the start of master branch representing Go 1.22 (rather than Go 1.21). (Example CL.)
[x] Any CLs associated with issues labelled as early-in-cycle.

[x] #60463 (cc @dmitshur)

(Its CLs are fine to submit after general tree opening.)

[x] #55160 (cc @prattmic) (can wait until after general tree opening)

[x] Submit CLs that are already approved and marked AutoSubmit, but blocked on wait-release
[ ] Finally, open the tree for all general Go 1.22 changes.

CC @golang/release.

Hi guys!
I believe you really wanted to cc my long lost brother mr @prattmic instead of me :heart:

Sorry about that!

#61454 is fixed. Proceeding.


Classifcation from Documents

Hey,
it is possible to create a section for classification. My issue is, I will create a document in the wiki and this document must be classify to compliance. I hope you understand me. :)
Best regards

Do you mean some kind of workflow or process for reviewing content? I quite don't get what you want...

Hi @boberbeck,
If this it just for the purposes of displaying a classification level, you could just use tags? (Found in the sidebar when editing a page)
If your levels are numerical then, by using tags, you'd even be able to use the tag search functionality to search greater-than or less-than a certain classification level.

Closing this off since clarification has not been provided. If the above tag solution does not fit, and you have further clarification, please feel free to open a new issue with that clarification, referencing this one.


[WIP] add new maintainers

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

There are 1 too many lines.  There should be one empty line at the end of the file.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

There are too few lines.  There should be one empty line at the end of the file.

Hi,
I’m attempting to do a windows fix. However, I just recently opened this PR
and I immediately ran into some issues with the linter. After address that
you’ll see the cleanup action items appear after.
I can change the PR message to “windows fix” so it’s more clear for you.
On Mon, Jan 10, 2022 at 10:04 AM Christian Brueffer <
@.***> wrote:

Hi @BubblyOrca https://github.com/BubblyOrca, just adding a new
maintainer without explanation or actual content changes doesn't tell us
much. Please submit the actual changes you'd like to make via PR and if
you're still interested, add yourself as maintainer as part of that.
That said, this recipe could certainly use a cleanup.
—
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/r-gensa-feedstock/pull/8#issuecomment-1009027636,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHKKTGT6QHBZRRZQPVYNVATUVL7R7ANCNFSM5LT7AQPA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Great, that's very useful! We just had a few PRs in other feedstocks that added a maintainer and nothing else, so I thought I'd chime in here since we're unlikely to merge those. And yes, if that's what you'll do in this PR, please change the title.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

As a starting point I'd suggest re-generating the recipe using https://github.com/bgruening/conda_r_skeleton_helper, that'll clean the recipe up and provide a good base for anything further.

@BubblyOrca have a look at https://github.com/conda-forge/r-gensa-feedstock/pull/9 .. used https://github.com/bgruening/conda_r_skeleton_helper to regenerate the recipe + another automatic rerender commit. That added all the windows build requirements and everything is green there.

Done via https://github.com/conda-forge/r-gensa-feedstock/pull/9

Done via https://github.com/conda-forge/r-gensa-feedstock/pull/9

@dbast Hi! I wanted to verify if the windows build has been updated and merge for r-gensa since my PR is closed?
I needed to incorporate the windows build for r-gensa because it's a dependency for r-eulerr which is the next feedstock I'm moving on to.

Please have a look at https://github.com/conda-forge/r-gensa-feedstock/pull/9 and https://anaconda.org/conda-forge/r-gensa ... that shows you everything.


Crash decoding boolean in embedded struct

Given these classes:
// @ts-ignore
@json
class JSONSchema {
    firstName: string
    lastName: string
    age: i32
    meta: Meta
}

// @ts-ignore
@json
class Meta {
    country: string
    awesome: boolean
}

If I attempt to decode JSON, it crashes any time the boolean exists. If I remove it, the crash no longer happens. Unsure if it's related to the data type or not.
Error:
Index out of range; file: ~lib/array.ts, line: 99, col: 42"

Hmm... Going to re-create this.

Fixed it. Made a new algorithm. :)


InvalidArgumentError:  transpose expects a vector of size 3. But input(1) is a vector of size 4 	 [[{{node loss_2/softmax_loss/binary_crossentropy_plus_jaccard_loss/mul_1-1-TransposeNHWCToNCHW-LayoutOptimizer}}]] [Op:__inference_keras_scratch_graph_21681]

Hello,
I want to use Unet in segmentation_models for building segmentation.
my training data shape is : x_train.shape:(6773, 128, 128, 4), y_train.shape:(6773,128,128), x_val=(1693,128,128,4) , y_val=(1693,128,128)
and using this code:
import segmentation_models as sm
from segmentation_models import Unet
from segmentation_models import get_preprocessing
#import keras
from tensorflow import keras
keras.backend.set_image_data_format('channels_last')
or keras.backend.set_image_data_format('channels_first')
from segmentation_models.losses import bce_jaccard_loss
from segmentation_models.metrics import iou_score
BACKBONE = 'vgg16'
preprocess_input = sm.get_preprocessing(BACKBONE)
load your data
#x_train, y_train, x_val, y_val = load_data(...)
preprocess input
x_train3 = preprocess_input(x_train)
print(x_train3.shape)
x_val3 = preprocess_input(x_val)
print(x_val3.shape)
define model
#sm.Unet('vgg16', classes=1, activation='sigmoid')
model = sm.Unet('vgg16', input_shape=(None, None,4), encoder_weights=None, decoder_block_type='upsampling',
classes=1, activation='softmax',
decoder_filters=(256, 128, 64, 32, 16))
model.compile(
'SGD',
loss=sm.losses.bce_jaccard_loss,
metrics=[sm.metrics.iou_score],
)
model.fit(
x=x_train3,
y=y_train,
batch_size=16,
epochs=100,
validation_data=(x_val3, y_val),
)
after run this code, The following error occurs:
ValueError                                Traceback (most recent call last)
 in ()
6
7 # pretrain model decoder
----> 8 model.fit(x=x_train, y=y_train, epochs=2)
9
10 # release all layers for training
2 frames
/usr/local/lib/python3.6/dist-packages/keras/engine/training_utils.py in standardize_input_data(data, names, shapes, check_batch_axis, exception_prefix)
133                         ': expected ' + names[i] + ' to have ' +
134                         str(len(shape)) + ' dimensions, but got array '
--> 135                         'with shape ' + str(data_shape))
136                 if not check_batch_axis:
137                     data_shape = data_shape[1:]
ValueError: Error when checking target: expected softmax to have 4 dimensions, but got array with shape (6773, 128, 128)
please help me.

check this part and you will find  'y_train' is not load correctly
#x_train, y_train, x_val, y_val = load_data(...)

check this part and you will find 'y_train' is not load correctly
#x_train, y_train, x_val, y_val = load_data(...)

thank you jackyysu
but i dont use load_data.
is y_train shape is correct?

check this part and you will find 'y_train' is not load correctly
#x_train, y_train, x_val, y_val = load_data(...)

thank you jackyysu
but i dont use load_data.
is y_train shape correct?

the shape of y_train should be same as x_train
you should implement the function load_data( ) yourself

check this part and you will find 'y_train' is not load correctly
#x_train, y_train, x_val, y_val = load_data(...)

thank you jackyysu
but i dont use load_data.
is y_train shape correct?

the shape of y_train should be same as x_train
I think you should implement the function load_data( ) yourself
I cannot find the code about how you get y_train

thank you. That's right.


chore(package): update nyc to version 11.0.2

Closes #152

Coverage remained the same at 100.0% when pulling 53ba1acb5fb98236b271885db537f85ae2ef98dc on greenkeeper/nyc-11.0.2 into<PHONE_NUMBER>7b90bd305dd7b4fefb28e9732d6ae5 on master.


Implement Loopback adaptor

Please feel free to check out the full code base for the plugin operator and provide feedback:
https://github.com/donpenney/oran-hwmgr-plugin/tree/initial-code


chore: split test files

Referencing compiler-core/compiler-dom, the tests are split into multiple files for easy copying of other tests.
Vapor is a combination of core and dom. Some features that vapor calls from core do not need to be tested. It is necessary to merge the tests of dom and core into vapor. For example, vOn.spec.ts from both core and dom can be merged into one in vapor.

@sxzz I want to confirm one thing, should compile() in __tests__/transform be changed to transform() like in compiler-core/dom?
an example: /packages/compiler-core/tests/transforms/vBind.spec.ts

Yes, we should separate IR transforming and codegen part.

LTGM but I think we should rename .test.ts to .spec.ts for better consistence.

Sure, I'll take care of it right away.

Yes, we should separate IR transforming and codegen part.

If you plan to merge this PR as soon as possible, I can create a new PR later to do it.


wrap-generic: skip secretless function body

Fixes #1151
Call cse/canonicalize in this pass because there might be some function body that is dead but uses the argument

My only concern with this PR is that this changes the front-end interface of the compiler. If someone says "this function argument is secret," then they expect the compiler to convert the type signature to an encrypted version of that argument's type.

Also addressing https://github.com/google/heir/issues/1151#issuecomment-2523855612, if we go with the way with fixing CollapseSecretlessGeneric, user could still experience this surprise. Doing it later with CollapseSecretlessGeneric might be cleaner, but that means type conversion back then why should not stop at first.
We should discuss the semantic of {secret.secret}; is that an annotation mainly for compiler and the compiler can discard it at will, or is that the responsiblity of the user and compiler would reject it when it found false secretness.

Since the annotations are attributes and could be discard

While I agree with the conclusion that --wrap-generic should always be first, in most pipelines function op attributes happen to be preserved because there are so few passes that wholesale replace function ops, and the ones that do are careful to copy over all function attributes.


The  nanosleep tick size now varies from 250 usec to 0.0001 usec.

The tick size is no longer a constant 250 usec.  At the end of the program run the deltas are so small that the elapsed time and the specified time are nearly identical.

Close, superseded by #15


Wildcard {{changed_by}} empty on arming action

Checklist

[x] I checked for similar existing issues (both open and closed) before posting.
[x] I am running the latest version.

Behavior

Alarmo is configured to send out a notification:  The alarm is set to {{arm_mode}} by {{changed_by}}
When arming Alarmo using the Alarmo-Card the message that is sent out reads:   The alarm is set to Armed Away by  (the value {{changed_by}} is not filled in.
For disarmed I have Alarm Turned Off ({{changed_by}}) which gets properly  replaced:  Alarm Turned Off (Frank)

Expected behavior

Alarmo should fill in the {{changed_by} with the username who armed it

Steps to Reproduce

Set the Notification Action Messages to above values.

The changed_by property is derived from the code which was used for arming/disarming.
If you configured the alarm to allow arming without any code, Alarmo cannot know who armed it.
Did you set up Alarmo to require a code for arming?
If not, the behaviour is as I would expected, it is not a bug.

Ah, that explains it then! I'll have to enable that then. Thanks.


Fixed broken link

Updated link to Array Methods in TOC

您好，我已收到您的邮件，祝您天天开心，工作顺利。

Thanks for the catch 👍  sorry I took some time


chore: Save perf stats to external DB

Save perf stats to external DB in CI

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS


Added simple handle on edge cases (filling with empty pixels)

I changed it and now it handles top, right, left. It seems like it just doesn't run enough cycles to perform operation for the bottom edge.

I know. I tried to explain it. You'll need to keep processing after you reach the last pixel. Anyways, I can do that.

I added 2 extra cycles for rows in tester script so now it fills bottom as well. I will also try other ways of filling after.

I realized you removed asserts and pixel checks. We have to keep those to make sure the code is doing what it is supposed to do. If an assert is failing, it doesn't mean the assert is wrong. It means your code is wrong. If an assert is failing, you must try to fix it not avoid it. Because of that, you didn't see that the output images are now shifted upwards. The reason for that is you "reset to start processing from top edge." You can't do this because it breaks the order of everything.

I fixed it for you. I also changed the logic so that we'll clamp the nearest pixels to match the library. Unfortunately, the library doesn't have an option to change the default "edge action." But it doesn't matter now since we're applying filter the same way and output images match perfectly.


Basically I setup dual boot yesterday and everything was working fine, i could swap between OS's whenever I'd shut down with no issue.
For some reason, recently it's decided to be 'temperamental'; for lack of a better term. At time the ReFined boot doesn't cue so it boots into the last OS (usually windows), I get the dualboot fix was supposed to fix this but thays the temperamental part.
Secondly, it's seemed to corrupt my steamos linux build. It's put I into a sort of 'fresh from box' Start up mode. Tried to reboot it a few times and nothing so i thought I'd go ahead with it. As i did and it does it's updates and checks, it gets infinitely stuck on the verification files menu. I've got internet connection (wired and wireless, I've tried both)
If this persists ill probably fully reset my deck, it's partitions and redo the whole process from the ground up. It'll be extensively tedious and long but honestly I just want my shid to work when I come back from a long shift. As fun as troubleshooting can get, i wanna shoot me some skids and sit in a xb party with my mates from time to time (windows game mode ftw)
If anyone has any idea how to fix this on a non monotonous way I'd very much appricate it.

I'm trying to fully decipher all of that... XD
Anyways, it seems that something has become corrupted with your setup. If you're willing to start from scratch, then that may not be a bad idea. It may be necessary if your SteamOS actually became corrupted somehow.
The tricky part in all of this is that if you don't disable the Windows EFI entry, Windows will hijack the boot order any time that you don't boot into SteamOS, since on SteamOS side the installation process adds a service that forces rEFInd as top boot priority every time that you boot into SteamOS. There is a Window's side equivalent scheduled task, but a lot of people either don't know about that or never bother to set that up. What I personally do is disable the Windows EFI entry, but this has required a different Linux live iso in recent history (Kubuntu). Hopefully that all makes sense.


Refactor low_level_api move to modules

Issue number and link
Relates: #158
Describe your changes

add re-export on crate level for high_level_api
Moving definitions from api::low_level_rs to modules.
change api::low_level_rs for re-exports for keep public api.

Checklist before requesting a review

[ ] I follow the Semantic Pull Requests rules (bugfix/feature)
[ ] I specified links to related issues (must: bugfix, want: feature)
[ ] I have performed a self-review of my code (bugfix/feature)
[ ] I have added thorough tests (bugfix/feature)
[ ] I have edited ## [Unreleased] section in CHANGELOG.md following keep a changelog syntax (bugfix/feature)
[ ] I {made/will make} a related pull request for documentation repo (feature)

Discussed in internal Slack.
Our goal is to provide users with a high level of API.
Low-level APIs are not needed unless needed on the side of his Client library. (For example, "SpringQL-client-c")
For this reason, I will first refactor SpringQL-client-c to use the highest level API as much as possible, and then organize the API.


[Mention The Feature]: Enhancement of Chatbot design

Is your feature request related to a problem? Please describe.
Yes, the current chatbot design lacks engaging and user-friendly features that enhance user interaction. Users often face difficulties in navigating the chat interface, leading to frustration, and the design does not sufficiently reflect a modern, intuitive, and accessible experience.

Describe the solution you'd like.
The enhancement of the chatbot design should focus on creating a more user-friendly, modern, and personalized experience. Key improvements include:
Responsive and Adaptive UI:
    Implement a design that adjusts seamlessly across all devices, from mobile to desktop.
    Use larger, touch-friendly buttons for mobile users, ensuring easy interaction.

Improved Visual Hierarchy:
    Highlight important user actions like "Send," "End Chat," or common commands with distinct colors, fonts, and spacing.
    Use contrasting colors for bot and user messages to distinguish them clearly.

Customizable Themes:
    Allow users to switch between light and dark modes, adjust font sizes, and customize chat bubble colors, making the experience more personal.

Natural Language UX Enhancements:
    Incorporate real-time typing indicators and natural, human-like animations (e.g., chat bubbles expanding as the bot responds).
    Display contextual suggestions (quick-reply buttons) for common commands or follow-ups.

Describe alternatives you've considered.
No response
Additional context.
No response
Show us the magic with screenshots
No response
Checklist

[X] I have checked the Existing Issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

sure go ahead
Make sure to join the discord server for further communication
Don't forget to star the repository
Complete the task in next 2 days and kindly mention your issue # in your pr like this:
Closes #IssueNumber
Note: the level of the issue may change based on the quality of the PR cod

@aditya-bhaumik Thank u,I'll work upon it

Its been a week and no pull request was made so we are closing this issue.


use exisiting openssl wrapper script instead to invent wheel

Some shell scripts use shell variable set to openssl command.
The exisiting shell code does not allow commend override as is OPENSSL=openssl instead for instance OPENSSL=${OPENSSL-openssl}.
Now I note that new code uses function with body  LD_LIBRARY_PATH=.... .../openssl $@ ! Opps but this is not portable!
Please use exisiting script util/opensslwrap.sh instead to invent wheel.

Sample:
OPENSSL=${OPENSSL-../../util/opensslwrap.sh}

Can you give more details about what is not portable?
It is the use of $@ to pass in function args?
Instead of using $@, we can use $1 $2 $3 $4 ...

Hi,

Can you give more details about what is not portable?

Details about portability could be found in "wrapper scrip" - how to setup environment and run executable.
Those settings along with default build rules allows script to run OpenSSL executable and libraries from build directories in native and cross builds.

It is the use of $@ to pass in function args?

Even on this part script script pass arguments more precisely. Please note slight difference.

@petrovr, I think that the question is, where do we not use the wrapper script?
I know of one place, the demos directory. That is on purpose, though...


convertToSinglePlacementGroup for VirtualMachineScaleSets inside Compute.json (2019-03-01) missing parameter

The definition for convertToSinglePlacementGroup under VirtualMachineScaleSets inside Compute.json (2019-03-01) is missing ApiVersionParameter as a parameter

@avirishuv, please check to see if this is still an issue. This issue was opened last year, but was missed in triage for a long time. So it may have already been fixed.


Ix optimizations

This PR is to optimize Ix Async by incorporating the patterns used in https://github.com/dotnet/corefx/tree/master/src/System.Linq/src/System/Linq, taking advantage of the thought leadership and performance reviews of that codebase.

/cc @aelij for any code review feedback

@bartdesmet The goto case loops have been replaced with while and do loops as appropriate. While in the iterator mindset, it was too easy to fall into the pit of goto ;)

BTW, we now have code coverage enabled in the command-line build and for CI. The CI build publishes to coveralls.io, like CoreFX does.
There doesn't yet seem to be any working code coverage tooling that works within VS.
https://coveralls.io/github/Reactive-Extensions/Rx.NET

Changes Unknown when pulling 5f86b48ecd4df80afe0960f7a701a512096d1dd0 on ix-optimizations into ** on master**.

An open question about the use of Debug.Assert versus throwing an exception (some places we do one, or the other, or neither) and now I'm mostly picking up stylistic things while reviewing - I could probably open a PR to just do those changes directly, or just push to this branch.
I also kind of agree with @bartdesmet's comment on how much we can trust the current set of tests. I'll see if I can find time this week to dig into those and see where we can improve them.

@shiftkey about the current state of the tests -- they're actually not too far off. That's why I hooked up the code coverage to verify current/new gaps. I'm going through the coverage report to fill new tests as needed to cover the new bits.

Okay @bartdesmet @shiftkey. Test coverage should be complete now...and is 1.5% higher than it was before ;) You can see in the coveralls report (or by running a local build) that we've now hit pretty much all of the new code and ensured the optimization paths all work.


Feature : Item Name Scrolling

Issues

Closes #85

Description
Long application names now scroll on the screen after a delay.
Types of changes
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[X] Requested changes are in a branch
[X] Compiled and tested requested changes on target hardware (PC, device)
[ ] Updated the documentation, if necessary
[ ] Updated the LICENSES file, if necessary
[X] Reviewed the guidelines for contributing to this repository

Further comments
Commits include changes from #125 as it hasn't been merged into master, and is a required dependency for this change.

There a bug with game edit mode. If you wake the screen, sometimes the scrolling just messes everything up. Can't seem to figure out why.

I haven't looked at the implementation, I'll leave that to @XScorpion2, but I pulled the code and ran it.
Man, it's so cool to see stuff moving on the screen! I did up the steps to 30 to slow it down a bit, I like it a lot better like that.

There a bug with game edit mode. If you wake the screen, sometimes the scrolling just messes everything up. Can't seem to figure out why.

I would hold on merges till this is figured out. Although I have some work that needs some rather urgent attention for the next few days so I apologize if I'm blocking/holding anyone or anything up.

@XScorpion2 I don't see any method in the Adafruit SSD1306 library to do partial updates of the screen.
We can certainly send commands and data so it'd be a matter of just creating our own partial update function and calling that one instead of display->display();
Ref:
https://electronics.stackexchange.com/questions/335152/ssd1306-i2c-draw-only-changes-works-however-on-wrong-position-how-to-set-posit
https://github.com/adafruit/Adafruit_SSD1306

@t3knomanzer ya, would need to add that function.
And as it just so has it, I did just that for the qmk keyboard firmware:
https://github.com/qmk/qmk_firmware/blob/master/drivers/oled/oled_driver.c
I should be able to take that and modify it for use with Arduino's wire library.

@XScorpion2 That's fantastic! Actually, on another note... we should also start taking all those other .ino files and making them into real C libraries.
I'm not super experienced in C/C++ so there is a lot of room for improvement in many areas. From code organization to style and memory management.
I'm definitely going to take a look at the qmk_firmware and use that as reference. I'm glad the oled driver is a pure C library and not C++. IMO, c++ is overkill for MCUs but that's just an opinion.

@XScorpion2 Do you have any idea when you'll be able to tackle this? It's the only task left to release 1.1.0. No pressure of course, we all have day jobs :D

I've set aside some time this weekend to work on it. Not sure if the right approach is to modify the qmk oled code, or to modify the adafruit library at this point, but either way it should be about the same amount of time to knock out.

Awesome!
I really like the code in QMK.
I personally would love to go that way. Get rid of all the third party libs we’re using and and make our own C implementations but that’s just personal preference.
We can do one at a time of course.
By the looks of it, the oled driver in qmk is a full implementation, completely standalone, right?

Just to confirm, are you guys getting the crashes while in game edit mode with this PR? I've noticed that it happens a lot more with "Steam Client Bootstrapper"

@SchemingWeasels I'm seeing this.

Thanks. Pulling my hair out at the moment. The drawing code is identical to the larger fonts (Nav, App, Game Select Screens) but this crashes while the other doesn't.

I tried reducing the max number of items to see if we were running out of memory but doesn't seem to be the case.

I tried reducing the max number of items to see if we were running out of memory but doesn't seem to be the case.
I'm working on something else now but I can help you debug it over the weekend maybe.

No worries. I figured it out. You can see the progression of catching the bug in my previous edited comment 🤦.
What values do you use for the step interval delay? Also, do you think we should raise the default sleep time because the display hardly has time to scroll before it goes to sleep with the current default sleep time.

I did up the steps to 30 to slow it down a bit, I like it a lot better like that.

I can't remember what I increased the sleep to. You choice :D

I'll push the fix tomorrow. I still have to work a bit on the scrolling in game mode because we are going to scroll 2 items. Haven't decided on the expected behavior yet.

Sounds good! Thanks for the good work @SchemingWeasels

Just to be clear, we are waiting on 2 things here, the fix from @SchemingWeasels and the display code from @XScorpion2.
Or should we just release it with the fix from @SchemingWeasels and then release the optimizations later?
I think it all depends on 2 things, how bad is the performance with the current display update code and what does @XScorpion2 have in mind.
Obviously if it's unsusable performance wise we can't release it but that's not what I have observed in the little testing I've done.
As far as the update code, I'd love to hear opinions on completely switching the Adafruit libraries for the one @XScorpion2 wrote.
My vote is on switching it completely, I really like the approach of going pure C. I'd love to slowly get rid of all third party libraries we are using and switching them for C implementations.
Then once we have switched the libraries we can start making the multiple .ino files we have into libraries too.
Ultimately completely getting rid of the arduino framework and going full avr-libc.
The benefits in my opinion are smaller size, cleaner code, less dependencies, less memory usage, better performance, good learning opportunity for some of us.
I'm all ears!

So the main performance hit by this change is going to be flushing the display every loop. Adding a check based on the calculated scroll offset before doing any display code, and exiting if it is the same as last call will store quite a bit of performance. From there I would say if the performance is good, then to merge it and I'll continue with my performance changes in Display.ino, and possible make modifications to the Adafruit library as well. Based on the usage of the library, I think my oled driver code will be a poor fit as it was designed with different restrictions and requirements in mind.

Alright then. I’ll test it in a few hours and merge if it’s fine. Can you guys test it on your side too?

The display only redraws when it has to now, this change drastically reduces the number of display updates.
Didn't notice a performance issue before, so I couldn't feel any difference with this change either. It should work exactly like before unless I missed something.

@SchemingWeasels I'm not sure about the reverse scroll. I don't find it useful reading backwards really. Personally I prefer the original implementation where it just reset back after done scrolling.
Thoughts?
Also, there is a bug in Game mode, the acceleration doesn't work. It seems to be caused by the reverse direction detection code, since both items move in opposite directions.
I can take care of that, no worries.
else if (stateGame == STATE_GAME_EDIT)
    {
      items[itemIndexGameA].volume = ComputeAcceleratedVolume(encoderDelta, deltaTime, items[itemIndexGameA].volume);
      items[itemIndexGameB].volume = ComputeAcceleratedVolume(-encoderDelta, deltaTime, items[itemIndexGameB].volume);

      SendItemVolumeCommand(&items[itemIndexGameA], sendBuffer, encodeBuffer);
      SendItemVolumeCommand(&items[itemIndexGameB], sendBuffer, encodeBuffer);
    }

@SchemingWeasels I have the acceleration fixed in another PR. As soon as you finish this one I'll merge it, rebase the fix and merge it too, then I'll trigger the build for the 1.1.0 release.

@t3knomanzer I found that the way the item name just suddenly appears to be very jarring. I have another idea. I'm thinking of scrolling past the last char and looping back around to the start of the name. Sorta "continuous scroll" for the name.
For example
[SPOTIFY PREM]
[POTIFY PREMI]
[OTIFY PREMIU]
:
[PREMIUM    SP]
[REMIUM   SPO]
[EMIUM   SPOT]
:
[SPOTIFY PREM]
Then we'll be back to 2 delays only, one for intervals between scrolls and the other is the delay between steps.
Do you think this would be more intuitive?

Absolutely, that’s be the perfect solution. Scroll all the way to the initial position the pause for a bit and scroll again.
Thanks for the work!

Why don’t you just draw the same string twice instead of modifying the string itself?
Ruben Henares

On Aug 16, 2020, at 08:30, SchemingWeasels<EMAIL_ADDRESS>wrote:

@SchemingWeasels commented on this pull request.
Started running into SRAM issues. I put all the consts into flash and that helped a bit. I ran into SRAM issues when I joined the names back to back into a long string.
In my opinion, shouldn't most of these be precompiler directives (#define) ?
Also, I made the separator customizable. It's currently 3 spaces, but I tried with some other chars and it looked alright as well.
Honestly, I'm not really stoked on the way I did it. Feels really sloppy, evident by the running out of SRAM.
In Embedded/MaxMix/Display.ino:

 UpdateScrollTimer();

}
return 0;
}
+}

+//---------------------------------------------------------
+//---------------------------------------------------------
+uint16_t GetMaxScrollOffset(Adafruit_SSD1306* display, char* name)
+{

char displayName[strlen(name) + strlen(DISPLAY_SCROLL_ITEM_SEPARATOR) + strlen(name) + 1] = "";
strcpy(displayName, name);
strcat_P(displayName, DISPLAY_SCROLL_ITEM_SEPARATOR);

uint16_t maxOffset;
display->getTextBounds(displayName, 0, 0, NULL, NULL, &maxOffset, NULL);
So the spacing between characters is not constant, it depends on what the characters are, the font size, and font style etc. Calculating manually will cause some weird edge cases to return wrong offset/calculation values. For example, applications with multiple symbols or special characters like and .

To keep things compatible with any app name even weird ones, which I think is a fair assumption that there can and will be weird names, I used display->getTextBounds which is part of the GFX lib.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@t3knomanzer I do. I modify the string to parse into getTextBounds. Drawing is just done twice if the name is scrollable.

Sorry I haven’t been able to look at this. I’ve had some unexpected things to take care of today.

Hey,
First of all, sorry for the delay, I've had some unexpected things to deal with.
After reviewing this I think that we've iterated on this so much that's become a little messy so I took the ideas from this implementation and re-implemented it from scratch in PR #141.
Thank you all for the awesome work!


Default config causes an error

Did you check docs and existing issues?

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

Neovim version (nvim -v)
N/A
Operating system/version
MacOS
Describe the bug
The default config in the readme leads to an error. This is caused by setting the name to "Flow" but then attempting to require("flow"). This leads to an error on startup, since we're attempting to call setup() on a nil value. Can be fixed simply by leaving out the name property
Here is the received error:
Failed to run `config` for Flow

/Users/niels/.config/nvim/lua/plugins/theme.lua:24: attempt to call field 'setup' (a nil value)

# stacktrace:
  - lua/plugins/theme.lua:24 _in_ **config**
  - lua/config/lazy.lua:19
  - init.lua:74

Steps To Reproduce
Use the following config (from the docs):
return {
  "0xstepit/flow.nvim",
  name = "Flow",
  lazy = false,
  priority = 1000,
  opts = {},
  config = function()
    require("flow").setup{
      transparent = false, -- Set transparent background.
      fluo_color = "pink", --  Fluo color: pink, yellow, orange, or green.
      mode = "normal", -- Intensity of the palette: normal, dark, or bright. Notice that dark is ugly!
      aggressive_spell = false, -- Display colors for spell check.
    }

    vim.cmd "colorscheme flow"
  end,
}

Expected Behavior
It should setup, but doesn't.
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 = {
  "0xstepit/flow.nvim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

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

Hey @NielsCodes thanks for opening this issue! You're right, I also believe it is better to have the default config without renaming the plugin. Thanks a lot 🙏

Fixed! Thanks again


Typo in specs page in docs

https://vue-vine.netlify.app/design/spec.html#file-extension
here it says:

Vine uses .vite.ts as the file extension, so you know that you're actually writing TypeScript, any valid grammar in TypeScript is also valid for Vine.

I think this is supposed to say .vine.ts.

You are right, thanks for pointing out this worng 👍


Ensure JRE Compatibility

Per #938, I expect 2.9.2 to be the last(ish) release we do for 6.0/6.1. As such, I would like to ensure that this release is compatible with supported platforms for these releases, namely Java 6, which is supported for IBM and HP JDKs.
Similarly, I would like to ensure that 3.7.2 is compatible with Java 7 (again supported for IBM JDKs for 6.2).
After the release and the changes in #938, we can revisit whether or not the 6.2 branch should require Java 8, which would break compatibility with IBM JDKs, but I personally am OK with this, as long as we have at least one release (3.7.2 presumably) which is compatible.

The only exception to this is the SiteMapServlet. This uses StAX which isn't part of Java 6. I believe this is available on the appropriate IBM JDKs, but if not, this feature just won't work and I don't think it is worthwhile to migrate away from StAX (also, no one has complained about this).


How to pass conan flags to cmake?

There are some utilities to parse command args but I have no idea how to use them. Any ideas?

Are you trying to add additional Conan packages into your project? If so, there are two things you need to do:

Pass the name and version of the package into the conan_cmake_run command, which is called in cmake/Conan.cmake.
Make sure that your target executable is linked to that package by using the target_link_libraries command.

You will probably find it useful to look at how this project pulls in sdl2 as a dependency. If you grep on every instance of sdl2 in the project, you'll see the string sdl2/2.0.10@bincrafters/stable being added to the CONAN_EXTRA_REQUIRES variable in CMakeLists.txt, which is then passed as an argument into conan in cmake/Conan.cmake. You will also see CONAN_PKG::sdl2 being linked to the executable in src/sdl/CMakeLists.txt.
Keep in mind that in CMake, every time you call add_subdirectory(<some_subdirectory>), you are including the file <some_subdirectory>/CMakeLists.txt. Also, when you call include(<some_path_to_a_file>), you are including all the CMake code in that file. You need to follow every inclusion to see what CMake is doing.
Hope that helps.

I was thinking about flags that are specific to the user's machine. E.g. --profile=my_clang_profile or --build=never for debugging.

Check out the README.md at https://github.com/conan-io/cmake-conan for documentation on how to use the conan_cmake_run command.
I think you want conan_cmake_run(... ...  PROFILE my_clang_profile BUILD never) for those particular arguments.

Thank you, that's exactly what I was looking for.
I've added CONAN_PROFILE option to my CMake with an empty string as default.
set(CONAN_PROFILE "" CACHE STRING "Conan profile to use (i.e. conan's --profile option")

conan_cmake_run(
  REQUIRES
  ${CONAN_EXTRA_REQUIRES}
  # ...
  PROFILE ${CONAN_PROFILE}
endmacro()

I think that's the way to go if anyone had the same problem. I've checked that the default behavior of not passing any PROFILE is preserved if the CONAN_PROFILE option is set to an empty string.


required attributes in payloads objects are not correctly handled

Description
On Connexion 2.6.0, with swagger 2.0 specs (maybe it's related to this, dunno).
The validation of a payload with required parameters is not correctly handled.
Here an example of swagger file:
swagger: "2.0"
info:
  title: pets
  version: pug
paths:
  "/pets":
    post:
      parameters:
        - name: data
          in: body
          required: true
          schema:
            type: object
            properties:
              toto:
                required:
                 - first
                type: object
                properties:
                  first:
                    type: string
                  second:
                    type: string
      responses:
        default:
          description: pet

Expected behaviour
POST /pets
{
    "toto": {
        "first": "yeah"
    }
}

response OK: pet, 200

POST /pets
{
    "toto": {
        "first": "yeah",
        "second": "yeah"
    }
}

response OK: pet, 200

Actual behaviour
POST /pets
{
    "toto": {
        "first": "yeah"
    }
}

response KO: {
   "detail": "Request body is not valid JSON",
   "status": 400,
   "title": "Bad Request",
   "type": "about:blank"
}

POST /pets
{
    "toto": {
        "first": "yeah",
        "second": "yeah"
    }
}
response OK: pet, 200

Steps to reproduce
Use the swagger specs and try it 👍
Additional info:
Output of the commands:

python --version:

Python 3.7.0 (default, Jun 28 2018, 13:15:42)
[GCC 7.2.0]

pip show connexion | grep "^Version\:":

Version: 2.6.0

Cannot reproduce on main


Fix link in Docs

Purpose
$subject
Documentation
N/A
Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? yes
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

Codecov Report

Merging #1350 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1350   +/-   ##
=========================================
  Coverage     62.69%   62.69%
  Complexity       37       37
=========================================
  Files           624      624
  Lines         25686    25686
  Branches       4046     4046
=========================================
  Hits          16104    16104
+ Misses         8273     8272    -1
- Partials       1309     1310    +1

Impacted Files
Coverage Δ
Complexity Δ

...java/io/siddhi/core/stream/input/InputHandler.java
77.41% <0%> (-3.23%)
0% <0%> (ø)

...ut/stream/state/AbsentStreamPreStateProcessor.java
85.21% <0%> (-1.41%)
0% <0%> (ø)

...core/src/main/java/io/siddhi/core/table/Table.java
28.07% <0%> (-1.32%)
0% <0%> (ø)

.../siddhi/core/util/event/handler/StreamHandler.java
74% <0%> (+12%)
0% <0%> (ø)
:arrow_down:

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 27df4cc...c919065. Read the comment docs.


Use logging instead of print statement

There are multiple instances where info/warnings/errors are printed to the standard output using the print statement. Where it makes sense, we should use logging instead. Some of the more notable files using print are:

keylime/common.py
keylime/ima.py
keylime/user_data_encrypt.py
keylime/serve_uuid.py

Since the Python 3 port will be finished soon, it's worth postponing the work on this issue until the port is done to avoid merge conflicts.

https://github.com/keylime/keylime/pull/144


3.0.2

Built off of https://github.com/rpearce/react-medium-image-zoom/pull/83

Bah. Should have merged this to 3-0-stable. Never PR late-night


Git vulnerability issue fix.

I've readded sentry settings and git-core installation.
For some reason when running docker-compose locally, the gitconfig needs to be in /etc/gitconfig directory


Extended authentication (SSO)

This software is amazing for homelab, I'd love if had the ability to use with
https://github.com/vouch/vouch-proxy/blob/master/README.md
Or keycloak
Basically any single sign on or similar system
It would be at the same step as your current password protection. Currently I have to put password so many times...
Instead of each service having its own(and some don't) any site you tag with auth gets proxied with sso

Also, certificate based authentication would be a nice to have feature.

OIDC/Keycloak integration would be awesome to have with this.

https://github.com/jc21/nginx-proxy-manager/pull/433 added the ability to do oidc

Keycloak works with nginx-proxy-manager!

Any updates on this issue?

It will not be in this version, unless someone from the community wants to implement it. See https://github.com/jc21/nginx-proxy-manager/discussions/1202.

Please integrate NPM with spnego for Kerberos integration.
https://github.com/stnoonan/spnego-http-auth-nginx-module

Any update on this?

FYI https://github.com/NginxProxyManager/nginx-proxy-manager/pull/2630

Please integrate NPM with spnego for Kerberos integration.
https://github.com/stnoonan/spnego-http-auth-nginx-module

+1 pls

+100500
Authentik implementation will be grate too!

Stalebot is a blight

KeyCloak and Kerberos please.

just an update, by using the section where you can post your own Nginx commands on a proxy. NPM does work with Authelia and authentik that ive tested, as a domain level auth.   ie: if you go to radarr.mysite.com, it will redirect you to authentik sso page, sign in, then store and use that cookie so going to sonarr.mysite.com or any other site behind your sso becomes passwordless. you also have to configure the apps to accept the SSO or no password to make it seamless, but this does work.
so unless this is a request for the addition of maybe presaved configs or per app buttons for this, it works and Im happy. :)

NPM does work with Authelia and authentik that ive tested

The reverse proxy functionality of NPM works with Authentik / Authelia / other tools.
But the web GUI of NPM itself doesn't work, I think that's what most people here are requesting:
That we don't have to enter an email or password to get to NPM settings.

Here is how I set up Authentik to log into NginX Proxy Manager UI:
In this case i created A group with special permition to log into several services but you can do this on user level. In the group/user add the following Attributes with the correct user/pass. Leave the Token as Null
nginx_password: pass
nginx_username: user
additionalHeaders:
  X-Nginx-Token: null

Under Property Mappings create a new Scoop Maping. Name is NginX Token and Scoop Name must be ak_proxy otherwise NginX cannot call the apropeate headers. Adjust the Expression from group_attributes() to attributes for user based authentication.
The Expression should be as following:
import json
from urllib.parse import urlencode
from urllib.request import Request, urlopen

nginxuser = request.user.group_attributes().get("nginx_username", "")
nginxpass = request.user.group_attributes().get("nginx_password", "")

base_url = "http://nginx:81"
end_point = "/api/tokens"
json_data = {'identity': nginxuser,'secret': nginxpass}
postdata = json.dumps(json_data).encode()
headers = {"Content-Type": "application/json; charset=UTF-8"}
httprequest = Request(base_url + end_point, data=postdata, method="POST", headers=headers)

with urlopen(httprequest) as response:
     responddata = json.loads(response.read().decode())
return {
    "ak_proxy": {
        "user_attributes": {
            "additionalHeaders": {
                "X-Nginx-Token": responddata['token']
            }
        }
    }
}

The Expression will fetch a new Autherization Token which can be accessed through the X-Nginx-Token Header.
Create a Proxy Provider and make sure the Scoop we just created is included.
In NPM I added this configuration. Dnt forget to change the Authentik Server address
proxy_buffers 8 16k;
proxy_buffer_size 32k;

# Make sure not to redirect traffic to a port 4443
port_in_redirect off;

location / {
    proxy_pass          $forward_scheme://$server:$port;

    ##############################
    # authentik-specific config
    ##############################
    auth_request     /outpost.goauthentik.io/auth/nginx;
    error_page       401 = @goauthentik_proxy_signin;
    auth_request_set $auth_cookie $upstream_http_set_cookie;
    add_header       Set-Cookie $auth_cookie;

    # Here we call the Header we created and use the Token that Authentik fetched for us
    auth_request_set $authentik_auth $upstream_http_x_nginx_token;
    proxy_set_header Authorization "Bearer ${authentik_auth}";
    proxy_pass_header Authorization;
}

# all requests to /outpost.goauthentik.io must be accessible without authentication
location /outpost.goauthentik.io {
    # When using the embedded outpost, use:
    proxy_pass              https://authentik-server:9443/outpost.goauthentik.io;

    # Note: ensure the Host header matches your external authentik URL:
    proxy_set_header        Host $host;

    proxy_set_header        X-Original-URL $scheme://$http_host$request_uri;
    add_header              Set-Cookie $auth_cookie;
    auth_request_set        $auth_cookie $upstream_http_set_cookie;
    proxy_pass_request_body off;
    proxy_set_header        Content-Length "";
}

# Special location for when the /auth endpoint returns a 401,
# redirect to the /start URL which initiates SSO
location @goauthentik_proxy_signin {
    internal;
    add_header Set-Cookie $auth_cookie;
    return 302 /outpost.goauthentik.io/start?rd=$request_uri;
    # For domain level, use the below error_page to redirect to your authentik server with the full redirect path
    # return 302 https://authentik.company/outpost.goauthentik.io/start?rd=$scheme://$http_host$request_uri;
}

That should be it. I tried it and it works perfectly

@moutasem1989 great approach!
I tried the custom property mapping with user properties and I got this exception when navigating to the proxied page, same when using the test function from authentik admin panel:
Traceback (most recent call last): File "nginx-token", line 27, in <module> File "nginx-token", line 17, in handler File "/usr/local/lib/python3.12/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 5 column 1 (char 4)

@MahmoudAlyuDeen The code above makes a call to Nginx to retrieve an authentication code in JSON file. If the server cannot be reached because of the wrong host name or IP address or simply bad authentication values it will throw an error. Make sure the Authentik server and NginX are on the same network and try the following. It should return the entire JSON file not just the token. If it is also unsuccessful, then a connection was not possible.
comment out all the lines after with urlopen… and add this and try the test function.
with urlopen(httprequest) as response:
     return(response.read().decode())

In Terminal you can also try this to see if an authentication token can be fetched. The bove code is the express of this curl command:
curl 'http://nginx:81/api/tokens' \
  -H 'Content-Type: application/json; charset=UTF-8' \
  --data-raw '{"identity":"[Your Email]","secret":"[Your Secret]"}' \
  --compressed

Hope it works out!

I also did some Channels to handle exceptions. Check the Property Mapping code.

Also try it incognito mode cuz cookies could mess things up

Tried in incognito.
Looking at the logs, the token is there with the correct scope. ✅
But there are also default scopes that I suspect could be confusing NPM, when I try removing the default scopes from the provider, they just keep coming back.

Is there any configuration I need to do on NPM side? Other than the custom nginx code you posted?

The scoop is there but you need to check the headers
    auth_request_set $authentik_auth $upstream_http_x_nginx_token;
    proxy_set_header Authorization "Bearer ${authentik_auth}";
    proxy_pass_header Authorization;

$upstream_http_x_nginx_token calls for the value of X-Nginx-Token attribute.

I mean I know it could be an issue if it broke, but in docker restrict port 81 to localhost and use npm to access it, and put authentik etc there...if it broke just remove the interface restriction on the docker till you fixed it

The scoop is there but you need to check the headers
    auth_request_set $authentik_auth $upstream_http_x_nginx_token;
    proxy_set_header Authorization "Bearer ${authentik_auth}";
    proxy_pass_header Authorization;

$upstream_http_x_nginx_token calls for the value of X-Nginx-Token attribute. Check if the user has the right to get the token and then check if the attribute value is being called. The header Authorization should be “Bearer <token>”.

@moutasem1989 Is this method still working, even with commit 280bac8 causing problems with some of the code here?
I'm in the same boat as @MahmoudAlyuDeen where my scope tests fine with a token, but I get redirected to the login page.
With "custom locations" not working, can you define locations in the advanced field? Depending on the configuration, I can quickly get an error 500

Tried this approach and getting redirect on the login page too, mapping seems fine on authentic


MNT: Rename databroker -> dataportal.

The github repo is already renamed. This renames the Python package.

Do you also now want to rename the broker subpackage to databroker?

Superceded by #38


Azure Sphere SDK <IP_ADDRESS>408: HLApp won't build when adding libmalloc to the image package

Hi,
The newest SDK (version <IP_ADDRESS>408) contains a CMakeLists.txt error that prevents building an example HLApp with libmalloc added to the image.
https://learn.microsoft.com/en-us/azure-sphere/app-development/application-memory-usage?view=azure-sphere-integrated&tabs=windows&pivots=vs-code#add-heap-memory-allocation-tracking
23.05:

24.03:

Suggested fix:

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

ID: 72f746a7-303e-549f-76da-48f008378e4a
Version Independent ID: 44c7c189-70cd-5039-204a-f6c1616e5463
Content: Memory use in high-level applications - Azure Sphere
Content Source: AzureSphere/ASRP/app-development/application-memory-usage.md
Service: azure-sphere
GitHub Login: @prabhushyja
Microsoft Alias: azurespheredocs

@lit-af
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.


Editable HighlightView Implementation

Expands on the implementation in PR #13

Adds a controller property to HighlightView, so people can provide text via text property or via controller property

Add an editable property, which if true, renders a TextField instead of a RichText

Updated the example to use editable HighlightView

Fixes #3
Fixes #6

@dutrieuc @pd4d10 thoughts?

Seems good to me !

I've used @tusharsadhwani's branch in a small side project of mine, and it's working beautifully! It'd be good to get this merged. 👍

Since this project seems kinda abandoned, and since the subdirectory-based structure of this repo doesn't let you directly add a fork's github URL in your pubspec.yaml to modify and use this project, I've taken the liberty of copying the flutter_highlight part of this repo into my own (although I have credited the original).
You can use my fork in your projects by doing this in your pubspec.yaml:
dependencies:
  flutter:
    sdk: flutter
  highlight: ^0.6.0
  flutter_highlight:
    git: https://github.com/tusharsadhwani/flutter_highlight


Add support to mix textures/maps

@juancarlosgzrz is this resolved by OSL texture as_blend_color and as_composite_color?

Yes, resolved by as_blend_color