Should we support LINEARRING type?

e.g. LINEARRING(0 0, 0 5, 5 5, 5 0, 0 0)
JTS uses this - but it's unclear to me if this is a standard thing that we would benefit from supporting.

https://geos.osgeo.org/doxygen/classgeos_1_1io_1_1WKTWriter.html
GEOS also uses it apparently

A non-standard "LINEARRING" tag is used for LinearRings. The WKT spec does not define a special tag for LinearRings. The standard tag to use is "LINESTRING".

Not sure! My initial feeling is LINEARRING could be behind a feature flag? Though I'd love to hear how commonly it gets used, though not sure how to do that

For comparison: openlayers seems to have considered this a while back (https://github.com/openlayers/openlayers/issues/2679).  IIUC, they did not support it!  However, given JTS, geos and shapely output it, it would be good to support it behind a feature flag.

Along the same lines as this issue:  JTS, geos, shapely also seem to support nan, inf, etc. in WKT.  They have an "is_valid" predicate that'll be false, but allow conversion to / from wkt with nans.   Eg. POINT (nan  0.0) or POINT (10 inf)

it would be good to support it behind a feature flag

That sounds like a smart approach to me.

Should we support LINEARRING as another enum-case to the Geometry type here?  Then, convert to LineString in the conversion to geo-types?

Feature-gated enum values are a bit weird. Take this example:

program P uses crates C1 and C2
crates C1 and C2 use wkt
crate C2 enables the linearring feature
crate C1 stops building because it's no longer exhaustively a wkt::Geometry value

C1 could prevent this by adding fallback match branches. Alternatively, wkt could mark Geometry as non_exhaustive to force dependent crates to use a fallback when matching against it. But neither solution seems ideal.

Nice catch @lnicola ; I am also convinced against feature-gated addition to the enums.  Should we then store the name of the tag in addition for this variant?  We could also silently convert it to a linestring, but then parsing and writing back changes the wkt.

We could also have a variant for it and a normalization method, but I'd go for silently covering them until a user asks for more support.

To make sure I understand: by "silently convert", do you mean that any linestring which is closed will be serialized to WKT as LINEARRING?
Would that behavior be behind a feature flag?

I meant reading LINEARRING as LineString. It changes the WKT if you read and write back a file, but maybe it won't bother anyone.

Any further thoughts on this?  I like the idea of silently reading LINEARRING and converting to LineString.   Adding support for shapely and JTS extensions seems like a win for good interop.

I support it!


Upgrade third_party/buildtools to version 7e64677588750f78710de943450a6576b153095e

Cloned the branch, campfire build+test, looks good.


Search results do not appear to respect Windows indexing options.

ℹ Computer information

PowerToys version: v0.20.1
PowerToy Utility: Run
Running PowerToys as Admin: no
Windows build number: 2004 (Build 19041.450)

📝 Provide detailed reproduction steps (if any)

Go to Indexing Options.
Click the Advanced button.
Go to the File Types tab.
Uncheck all extensions except for exe and lnk.
Click the Ok button.
Click the Advanced button again.
Click the Rebuild button.
Wait for reindexing to finish.
Activate Run.
Search for an app.

✔ Expected result
Only application executables and shortcut links to appear in the results.
❌ Actual result
Folders and files of other types.
📷 Screenshots
PowerToys Run Results

Windows Search Results

Having a similar problem currently, with the newest update v0.20.1, I'm not getting .exe to show up in search any more as was working previously.

Downgrading to v0.19.2, everything works as expected.

@kherge, can you please try to search in the folders and documents tab to see if you can find any results there. By default the start menu displays apps when searched in the all tab.

I'm guessing that the older indexer database still persists somehow.
If you could confirm that you're not getting any results in the Documents (try to search for some txt or pdf file on your system that was previously indexed) and Folders tab, we shall look into why this is happening as PT run only queries the database in real time. Thank you.

@alekhyareddy28, searching those tabs reveals the results to be similar (if not identical) to those given by PT. It looks like your guess could be correct, which could mean this is not a PT specific issue. Any suggestions on how to possibly fix Windows Search results?
Documents

Folders

@kherge, sorry for the delay. This is a nice article about the windows indexer and it talks about how to delete the index file. Hope that helps. https://www.techwalla.com/articles/how-to-delete-a-windows-search-index

@alekhyareddy28, thank you for the response. I was able to figure it out, but I think it revealed what my real issue is.
I would like the option to limit the search to certain scopes (e.g. apps, folders, etc.). For my particular use case, I would limit the scope to applications as anything else would just be clutter for me.

@kherrera-yosan, can you please create a new issue stating the same as a feature request as it is different from this issue for the sake of clarity and close this issue? Thanks :)

FYI @crutkas, @saahmedm  this issue has been addressed but the user has added a comment with a feature request. I suggested a new issue be created for that feature request. Is that fine or do we track it in here?

please file a new issue


How to use Procfile?

Hi!
I've created Procfile with
worker: cd $HOME/heroku_output && ./TI.Service
but heroku tries to run
worker: cd $HOME/heroku_output && ./TI.Serviceweb: cd $HOME/heroku_output && ./TI.Service
Looks like a concatenation of my Procfile and something default.
How to fix?

Oh, sorry, found out I use another buildpack )


Fix concurrency issue on devnet

When launching a devnet, it happens frequently that the block is committed, proved and executed within a single tx.
When the execution delay is equal to 0 (devnet setting) then it should allow the tx to be valid
Currently because of the strict equality, it will trigger the circuit breaker

The issue will be resolved with the boojum upgrade: https://github.com/matter-labs/era-contracts/pull/43


[Fix #6086] Fix an error for Gemspec/OrderedDependencies

Fixes #6086.
This PR fixes an error for Gemspec/OrderedDependencies when using method call to gem names in gemspec.
The following is reproduction steps.
% cat /tmp/foo.gemspec
Gem::Specification.new do |spec|
  spec.add_development_dependency 'rspec'.freeze
  spec.add_development_dependency 'rubocop'.freeze
end
% rubocop foo.gemspec --only Gemspec/OrderedDependencies -d
For /private/tmp: configuration from
/Users/koic/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rubocop-0.58.0/config/default.yml
Inheriting configuration from
/Users/koic/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rubocop-0.58.0/config/enabled.yml
Inheriting configuration from
/Users/koic/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rubocop-0.58.0/config/disabled.yml
Inspecting 1 file
Scanning /private/tmp/foo.gemspec
An error occurred while Gemspec/OrderedDependencies cop was inspecting
/private/tmp/foo.gemspec.
undefined method `downcase' for nil:NilClass

(snip)

/Users/koic/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rubocop-0.58.0/exe/rubocop:12:in
`<top (required)>'
/Users/koic/.rbenv/versions/2.5.1/bin/rubocop:23:in `load'
/Users/koic/.rbenv/versions/2.5.1/bin/rubocop:23:in `<main>'
.

1 file inspected, no offenses detected

1 error occurred:
An error occurred while Gemspec/OrderedDependencies cop was inspecting
/private/tmp/foo.gemspec.
Errors are usually caused by RuboCop bugs.
Please, report your problems to RuboCop's issue tracker.
https://github.com/rubocop-hq/rubocop/issues

Mention the following information in the issue report:
0.58.0 (using Parser <IP_ADDRESS>, running on ruby 2.5.1 x86_64-darwin17)
Finished in 0.43951499997638166 seconds

This PR considers the case to be called in the method chain for
the gem name as follows.
spec.add_development_dependency 'foo'.bar.baz

In this case, the gem name will be resolved searching recursively.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run rake default or rake parallel. It executes all tests and RuboCop for itself, and generates the documentation.

👍


Want to swipe content

I want to swipe content also like Swipe-box in Angular 1 ,Here i can only swipe header tab not the lower part so it's look like tab.

Have you solved it?

yes . use this https://github.com/zyra/ionic2-super-tabs


Throttling incoming websocket data

Problems: the UI will get stuck with so many updates.
The flow data (market) is as follows: -> HelperWebsockets (parsing market data message) -> HelperOrderBook (will generate events) -> vmOrderBook (will process it, and send it to UI)
VisualHFT uses real-time data, but the human eye does not see beyond 30 updates per second.
Market data usually got updated much faster than that, and if we keep that rate the whole system will be unresponsive.
We need to come up with a nice design to throttle the incoming data and avoid freezing the UI
Things to keep in mind:

human eye won’t keep up past 30 updates per sec
but we cannot just dump the data, we have historical charts that display values (and stats) for all the updates.

I am closing this known issue.
We added a queue and also sent the real-time data every 100ms.
After continuing testing, we may find more improvements in this regard, but until that happens I'm closing this issue.


feat: add rfc3339 format for templates (fix #61)

Add date format follwing rfc3339 for templates.
Fix #61

I think this should solve it.
As RFC3339 needs the hours, minutes and seconds it is unclear what should be used for other dates than today... This will always use the time of the note creation. Not sure if it should default to some other value or not.

Sorry I just noticed your update now. Happy to merge, though!


Android 6.0.1 : localized strings not pickup on some devices

On a FR Samsung Notes device, res/values-fr/strings.xml are falling back to res/values
Android 6.0.1

Fixed by commit b33994be688b95130538904688e6996ac0dd93e5


[BUG]After GlobalThroughputControlConfig enable getting error " The control container must have partition key equal to /groupId"

Describe the bug
GlobalThroughputControlConfig enabling is not working
Exception or Stack Trace
error.type":"java.lang.IllegalArgumentException","error.message":"The control container must have partition key equal to /groupId","error.stack_trace":"java.lang.IllegalArgumentException: The control container must have partition key equal to /groupId\n\tat com.azure.cosmos.implementation.throughputControl.controller.group.global.ThroughputControlContainerManager.lambda$validateControlContainer$12(ThroughputControlContainerManager.java:213)\n\tSuppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: \nError has been observed at the following site

This is expected behavior (but I ack that docs should be improved). It is described here: https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/throughput-control-spark#how-does-throughput-control-work
the PK of the container used for throughput control metadata needs to have "/groupId" set as partition key - and TTL needs to be enabled (On (no default)) - https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/how-to-time-to-live?tabs=dotnet-sdk-v3


BuildClassPathJar task and multi-module build

The BuildClassPathJar task does not pick up artifacts from sub-projects on the first run. It only includes compile dependencies that exist when the evaluation phase of Gradle is complete.
The culprit is the isFile() check in line 49:
CompositeFileCollection files = (serverConf + classPath).filter { File file ->
file.isFile() && file.name.endsWith('.jar')

On the next run (without a clean), the artifacts have been built already and are picked up correctly.
I tried to get the manifest created at task execution, but failed. Maybe there is a better way, but for now I simply removed the isFile() check as a quick workaround.
I ran into this problem, because in my setup a subproject of the Vaadin project contains themes with SCSS files. The main theme in the Vaadin project references the subproject's theme.

The isFile() was added there to ensure that no directories ending with .jar would be included. This is however very unlikely and even if they were included it wouldn't matter. So I think it would be safe to remove that check.


Remove various python 2.6 stuff

Python 2.6 is not supported anymore, but these things were left
lingering around.

there's some more stuff, eg dateintervalparam could use functools.partial or whatever it's called

Ah cool. I never meant to say that this is a complete list ^^

Was this LGTM @erikbern ? Also do you have time to review the other patches I've submitted?


Pongbot does not run on linux mint 19

When I setup my new project of slack-bot, it don't start where I call SLACK_API_TOKEN=apit_token bundle exec ruby lib/neza_sbot.rb => neza_sbot is the same as pongbot.rb
So this is the log I am getting:
Traceback (most recent call last):
        9: from lib/neza_sbot.rb:1:in `<main>'
        8: from lib/neza_sbot.rb:1:in `require'
        7: from /home/descholar/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/slack-ruby-bot-0.16.0/lib/slack-ruby-bot.rb:3:in `<top (required)>'
        6: from /home/descholar/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/slack-ruby-bot-0.16.0/lib/slack-ruby-bot.rb:3:in `require'
        5: from /home/descholar/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/slack-ruby-bot-0.16.0/lib/config/environment.rb:5:in `<top (required)>'
        4: from /home/descholar/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/slack-ruby-bot-0.16.0/lib/config/environment.rb:5:in `require'
        3: from /home/descholar/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/slack-ruby-bot-0.16.0/lib/config/application.rb:6:in `<top (required)>'
        2: from /home/descholar/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/slack-ruby-bot-0.16.0/lib/config/application.rb:6:in `require'
        1: from /home/descholar/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/slack-ruby-bot-0.16.0/lib/config/boot.rb:5:in `<top (required)>'
/home/descholar/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/slack-ruby-bot-0.16.0/lib/config/boot.rb:5:in `require': cannot load such file -- active_support (LoadError)

I have tried to research on the internet since Friday evening, but couldn't get any medic to my problem. My system is Linux mint 19.3 Tricia. I think it's a bug.

We removed a dependency on activesupport in https://github.com/slack-ruby/slack-ruby-client/pull/325, but looks like it's needed by slack-ruby-bot. I fixed that here.
As a workaround, add activesupport into your Gemfile.

Also running pongbot I'm seeing a side-effect fixed by https://github.com/slack-ruby/slack-ruby-client/pull/336.
We need some kind of integration test here ...

We removed a dependency on activesupport in slack-ruby/slack-ruby-client#325, but looks like it's needed by slack-ruby-bot. I fixed that here.
As a workaround, add activesupport into your Gemfile.

Yes Thank you @dblock That worked.

Also running pongbot I'm seeing a side-effect fixed by slack-ruby/slack-ruby-client#336.
We need some kind of integration test here ...

Yes sure, running it, it's showing a lot of warnings, hope that when this PR gets merged for the next release, things will be okay


Feature/12804 Automatic Seeding of the CLI

What does this PR do?
The argument seed_default_value of the LightningCLI is changed to the type Optional[Union[bool,int]] = True (from Optional[int] = None). The Optional flag is set for backwards compatibility. Setting it to None has the same effect as setting it to False, but raises a rankzero - LightningDeprecationWarning.
If the value is set to True a valid (range np.iiinfo(np.int32).min to np.iiinfo(np.int32).max ) seed is drawn at random and added as default to the seed_everything argument.
The issue was discussed and approved in 12804. The type of --seed_everything is set to Optional[int32], as I do not think, that setting it to Optional[Union[bool,int]] is required. By default the CLI now chooses a new seed with every instantiation, which can of course be overwritten with --seed_everything from the CLI or a config file. The only time, one would like to set it to False, would be if somewhere in the code the seed is already set, but in this case the automatic seeding should be disabled in the code (by setting seed_default_value to False) and not in a config file with --seed_everything.
Choosing a seed outside of the valid seed range, raises and error and avoids unnoticed accidental mistakes.
The version in the deprecation warning still needs to be set.
Fixes #12804
For a motivation and discussion, have a look at the issue.
Does your PR introduce any breaking changes? If yes, please list them.
No.
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

You are correct @Schinkikami. I opened #13110 with a fix.

@carmocca Does --seed-everything includes workers==True?


Fixing 'Example Code'

Made 'Example Code' a consistent size throughout document
Added in 'Example Code' on several pages
Added in missing programming language titles

I checked the changes in this PR for correctness and I can say there are no errors in it. I'd still like to pull @leios into this PR to discuss which size headline we want to use for "Example Code". In my opinion, it should be a H2 (##) because it should be one level lower than the chapter headline, which is a H1 (#) since the example code is part of the chapter and not a chapter in itself.

Yeah, agreed. If we could use ## instead of #, that would be nice. I use ## for all other section headings (I think)

I just asked myself: Why do we even have the language headlines (### Java, ### Haskell, ...)? There is always only one programming language visible at a time anyway and we don't add headlines to the smaller code snippets. Honestly, I don't think we need those, but I want to hear what others think.

Okay. The same question has been answered in another PR. I'd say we finish up this one first (change "Example Code" to ## instead of #) and then remove all the language headlines in another PR.

Yeah. Agreed. I want to merge #242 soon, too. I think it will break some PR's, though.

It shouldn't break too much. Git properly detected all the file moves, so it should be able to handle it.

@Butt4cak3 I'll make that PR to remove language headlines :)


adds an WOH, which can add catalogs to the MediaPackage of an workflow instance

This WorkflowOperationHandler can add a catalog to the MediaPackage.
It supports the following workflow configuration keys:

catalog-path: The path to the catalog, which will be added.
catalog-flavor: The flavor of the catalog, also used to identify catalogs of the same type.
catalog-name: Name of the catalog in the workspace.
catalog-tags: List of comma seperated catalog tags.
catalog-type-collision-behavior the action to perform, if an catalog of the same flavor already exists. Three options are supported: skip the adding of the catalog, fail the workflow operation or keep the new catalog, resulting in two or more catalogs of the same type coexisting.

@darolfes Not expecting you to implement this, but it would be nice to generalize this WOH to add just any type of media package element. Just one more configuration key "type" (track|catalog|attachment) and some additional logic that adds track|catalog|attachment instead of just catalogs (they all have a flavor, name, tags and some potential for collisions... just mentioning in case you had a lot of time ;-)
... and just wondering: What is the use case for adding a catalog in a workflow?

... and just wondering: What is the use case for adding a catalog in a workflow?

Setting a default extended metadata catalog for ingests from unreliable sources (like the inbox)

@staubesv

it would be nice to generalize this WOH to add just any type of media package element.

We've discussed that today and added it to our todo window (←yes, it's a real window) but it will probably not happen for OC7 since we want to get a few other things ready in time.

I added the documentation and fixed the issues


Add retries and timeout options to API calls

Add to all the API calls the retries and timeout options to manage the error responses.  Consider a retry-wait option to manage retry speed.
retries - number of times to try the request before failing (default=1)
timeout - time to wait before interpreting the request as failed
retry-wait - the base time to wait between tries for exponential backoff
Note: retries should probably be tries but the parameter name retries is in too wide use to fight against.

Possibly related to #110


unable to Set Property

Hi,
I need your help with changing properties of Blynk Image (a picture in Image Gallery). I want to refresh it in Blynk after taking a snapshot.
My flow is:
flow.txt

Hello,
it would never have worked because the "urls" and "url" properties for the image gallery were not yet implemented in the library.
Download the new version 0.9.0 which implements these new properties!
You have to modify your flow because it is not correct, if you use the "set property" node use these examples:
msg = {}
msg.topic = "bycode";
msg.payload = "not empty";
msg.urls=[
    "https://www.iconsdb.com/icons/preview/white/test-tube-2-xxl.png",
    "https://www.iconsdb.com/icons/preview/yellow/test-tube-2-xxl.png",
    "https://www.iconsdb.com/icons/preview/blue/test-tube-2-xxl.png",
    "https://www.iconsdb.com/icons/preview/red/test-tube-2-xxl.png",
    "https://www.iconsdb.com/icons/preview/white/test-tube-2-xxl.png",
    ]
return msg;

msg = {}
msg.topic = "bycode";
msg.payload = "not empty";
msg.imgid=5; //index of image
msg.url="https://www.iconsdb.com/icons/preview/orange/test-tube-2-xxl.png";
return msg;

if you use the "image gallery" node these:
msg = {}
msg.topic = "write-property";
msg.urls=[
    "https://www.iconsdb.com/icons/preview/white/test-tube-2-xxl.png",
    "https://www.iconsdb.com/icons/preview/yellow/test-tube-2-xxl.png",
    "https://www.iconsdb.com/icons/preview/blue/test-tube-2-xxl.png",
    "https://www.iconsdb.com/icons/preview/red/test-tube-2-xxl.png",
    ]
return msg;

msg = {}
msg.topic = "write-property";
msg.imgid=3; //index of image
msg.url="https://www.iconsdb.com/icons/preview/orange/test-tube-2-xxl.png";
return msg;

let me know
Greetings


Fixed #34523 -- Fixed TransactionManagementError in QuerySet.update_or_create() with MyISAM storage engine.

QuerySet.update_or_create() uses nested atomic to handle possible integrity errors taking savepoints as way to mark back the connection as usable. Savepoints are not returned when uses_savepoints/can_release_savepoints feature flags are set to False. As a consequence, QuerySet.update_or_create() assumed the outer atomic block is tainted and raised TransactionManagementError.
This commit partly reverts 331a460f8f2e4f447b68fba491464b68c9b21fd1.
Thanks gatello-s for the report.
ticket-34523
Without this patch, get_or_create tests crash on MySQL wit MyISAM storage engine:
./runtests.py get_or_create
Found 50 test(s).
Creating test database for alias 'default'...
Cloning test database for alias 'default'...
Cloning test database for alias 'default'...
Cloning test database for alias 'default'...
Cloning test database for alias 'default'...
Cloning test database for alias 'default'...
Cloning test database for alias 'default'...
Cloning test database for alias 'default'...
Cloning test database for alias 'default'...
System check identified no issues (1 silenced).
sss........E............................EE........
======================================================================
ERROR: test_create_with_duplicate_primary_key (get_or_create.tests.UpdateOrCreateTestsWithManualPKs)
If an existing primary key is specified with different values for other
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/django/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/django/django/db/backends/mysql/base.py", line 75, in execute
    return self.cursor.execute(query, args)
  File "/lib/python3.10/site-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/lib/python3.10/site-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/lib/python3.10/site-packages/MySQLdb/connections.py", line 254, in query
    _mysql.connection.query(self, query)
MySQLdb.IntegrityError: (1062, "Duplicate entry '1' for key 'get_or_create_manualprimarykeytest.PRIMARY'")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/django/django/db/models/query.py", line 915, in get_or_create
    return self.create(**params), True
  File "/django/django/db/models/query.py", line 650, in create
    obj.save(force_insert=True, using=self.db)
  File "/django/django/db/models/base.py", line 814, in save
    self.save_base(
  File "/django/django/db/models/base.py", line 877, in save_base
    updated = self._save_table(
  File "/django/django/db/models/base.py", line 1020, in _save_table
    results = self._do_insert(
  File "/django/django/db/models/base.py", line 1061, in _do_insert
    return manager._insert(
  File "/django/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/django/django/db/models/query.py", line 1807, in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
  File "/django/django/db/models/sql/compiler.py", line 1820, in execute_sql
    cursor.execute(sql, params)
  File "/django/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/django/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/django/django/db/backends/utils.py", line 84, in _execute
    with self.db.wrap_database_errors:
  File "/django/django/db/utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/django/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/django/django/db/backends/mysql/base.py", line 75, in execute
    return self.cursor.execute(query, args)
  File "/lib/python3.10/site-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/lib/python3.10/site-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/lib/python3.10/site-packages/MySQLdb/connections.py", line 254, in query
    _mysql.connection.query(self, query)
django.db.utils.IntegrityError: (1062, "Duplicate entry '1' for key 'get_or_create_manualprimarykeytest.PRIMARY'")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/usr/local/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/usr/local/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/django/tests/get_or_create/tests.py", line 627, in test_create_with_duplicate_primary_key
    ManualPrimaryKeyTest.objects.update_or_create(id=1, data="Different")
  File "/django/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/django/django/db/models/query.py", line 946, in update_or_create
    obj, created = self.select_for_update().get_or_create(
  File "/django/django/db/models/query.py", line 918, in get_or_create
    return self.get(**kwargs), False
  File "/django/django/db/models/query.py", line 625, in get
    num = len(clone)
  File "/django/django/db/models/query.py", line 379, in __len__
    self._fetch_all()
  File "/django/django/db/models/query.py", line 1883, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/django/django/db/models/query.py", line 90, in __iter__
    results = compiler.execute_sql(
  File "/django/django/db/models/sql/compiler.py", line 1560, in execute_sql
    cursor.execute(sql, params)
  File "/django/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/django/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/django/django/db/backends/utils.py", line 83, in _execute
    self.db.validate_no_broken_transaction()
  File "/django/django/db/backends/base/base.py", line 517, in validate_no_broken_transaction
    raise TransactionManagementError(
django.db.transaction.TransactionManagementError: An error occurred in the current transaction. You can't execute queries until the end of the 'atomic' block.

======================================================================
ERROR: test_integrity (get_or_create.tests.UpdateOrCreateTests)
If you don't specify a value or default value for all required
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/django/django/db/models/query.py", line 915, in get_or_create
    return self.create(**params), True
  File "/django/django/db/models/query.py", line 650, in create
    obj.save(force_insert=True, using=self.db)
  File "/django/django/db/models/base.py", line 814, in save
    self.save_base(
  File "/django/django/db/models/base.py", line 877, in save_base
    updated = self._save_table(
  File "/django/django/db/models/base.py", line 1020, in _save_table
    results = self._do_insert(
  File "/django/django/db/models/base.py", line 1061, in _do_insert
    return manager._insert(
  File "/django/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/django/django/db/models/query.py", line 1807, in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
  File "/django/django/db/models/sql/compiler.py", line 1820, in execute_sql
    cursor.execute(sql, params)
  File "/django/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/django/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/django/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/django/django/db/backends/mysql/base.py", line 80, in execute
    raise IntegrityError(*tuple(e.args))
django.db.utils.IntegrityError: (1048, "Column 'birthday' cannot be null")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/usr/local/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/usr/local/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/django/tests/get_or_create/tests.py", line 358, in test_integrity
    Person.objects.update_or_create(first_name="Tom", last_name="Smith")
  File "/django/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/django/django/db/models/query.py", line 946, in update_or_create
    obj, created = self.select_for_update().get_or_create(
  File "/django/django/db/models/query.py", line 918, in get_or_create
    return self.get(**kwargs), False
  File "/django/django/db/models/query.py", line 625, in get
    num = len(clone)
  File "/django/django/db/models/query.py", line 379, in __len__
    self._fetch_all()
  File "/django/django/db/models/query.py", line 1883, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/django/django/db/models/query.py", line 90, in __iter__
    results = compiler.execute_sql(
  File "/django/django/db/models/sql/compiler.py", line 1560, in execute_sql
    cursor.execute(sql, params)
  File "/django/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/django/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/django/django/db/backends/utils.py", line 83, in _execute
    self.db.validate_no_broken_transaction()
  File "/django/django/db/backends/base/base.py", line 517, in validate_no_broken_transaction
    raise TransactionManagementError(
django.db.transaction.TransactionManagementError: An error occurred in the current transaction. You can't execute queries until the end of the 'atomic' block.

======================================================================
ERROR: test_manual_primary_key_test (get_or_create.tests.UpdateOrCreateTests)
If you specify an existing primary key, but different other fields,
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/django/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/django/django/db/backends/mysql/base.py", line 75, in execute
    return self.cursor.execute(query, args)
  File "/lib/python3.10/site-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/lib/python3.10/site-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/lib/python3.10/site-packages/MySQLdb/connections.py", line 254, in query
    _mysql.connection.query(self, query)
MySQLdb.IntegrityError: (1062, "Duplicate entry '1' for key 'get_or_create_manualprimarykeytest.PRIMARY'")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/django/django/db/models/query.py", line 915, in get_or_create
    return self.create(**params), True
  File "/django/django/db/models/query.py", line 650, in create
    obj.save(force_insert=True, using=self.db)
  File "/django/django/db/models/base.py", line 814, in save
    self.save_base(
  File "/django/django/db/models/base.py", line 877, in save_base
    updated = self._save_table(
  File "/django/django/db/models/base.py", line 1020, in _save_table
    results = self._do_insert(
  File "/django/django/db/models/base.py", line 1061, in _do_insert
    return manager._insert(
  File "/django/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/django/django/db/models/query.py", line 1807, in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
  File "/django/django/db/models/sql/compiler.py", line 1820, in execute_sql
    cursor.execute(sql, params)
  File "/django/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/django/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/django/django/db/backends/utils.py", line 84, in _execute
    with self.db.wrap_database_errors:
  File "/django/django/db/utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/django/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/django/django/db/backends/mysql/base.py", line 75, in execute
    return self.cursor.execute(query, args)
  File "/lib/python3.10/site-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/lib/python3.10/site-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/lib/python3.10/site-packages/MySQLdb/connections.py", line 254, in query
    _mysql.connection.query(self, query)
django.db.utils.IntegrityError: (1062, "Duplicate entry '1' for key 'get_or_create_manualprimarykeytest.PRIMARY'")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/usr/local/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/usr/local/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/django/tests/get_or_create/tests.py", line 367, in test_manual_primary_key_test
    ManualPrimaryKeyTest.objects.update_or_create(id=1, data="Different")
  File "/django/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/django/django/db/models/query.py", line 946, in update_or_create
    obj, created = self.select_for_update().get_or_create(
  File "/django/django/db/models/query.py", line 918, in get_or_create
    return self.get(**kwargs), False
  File "/django/django/db/models/query.py", line 625, in get
    num = len(clone)
  File "/django/django/db/models/query.py", line 379, in __len__
    self._fetch_all()
  File "/django/django/db/models/query.py", line 1883, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/django/django/db/models/query.py", line 90, in __iter__
    results = compiler.execute_sql(
  File "/django/django/db/models/sql/compiler.py", line 1560, in execute_sql
    cursor.execute(sql, params)
  File "/django/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/django/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/django/django/db/backends/utils.py", line 83, in _execute
    self.db.validate_no_broken_transaction()
  File "/django/django/db/backends/base/base.py", line 517, in validate_no_broken_transaction
    raise TransactionManagementError(
django.db.transaction.TransactionManagementError: An error occurred in the current transaction. You can't execute queries until the end of the 'atomic' block.

----------------------------------------------------------------------
Ran 50 tests in 1.711s

FAILED (errors=3, skipped=3)
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...

There's only one thing I don't get: when I ran the reporter's test with engine=MyISAM appended to the create … the test passed. Yet you were able to identify the regressed commit (which meant you observed the reported failure) – what did I miss – did it require setting default engine on MySQL settings?

There's only one thing I don't get: when I ran the reporter's test with engine=MyISAM appended to the create … the test passed. Yet you were able to identify the regressed commit (which meant you observed the reported failure) – what did I miss – did it require setting default engine on MySQL settings?

I'm using:
DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        ...
        "OPTIONS": {
            "init_command": "SET default_storage_engine=MYISAM",
        },
    },
    ...
}

@shangxiao it doesn't matter what the engine of the table is, it's the connection's default_storage_engine that determines if transactions are enabled. Try with the following in your DATABASES entries
'OPTIONS': {
  'init_command' : 'SET default_storage_engine=MyISAM',
}

Thanks :+1:


[Question]: Adding safety settings to vertex ai

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
I am trying to add safety settings to vertex ai models.
safety_settings={
                    generative_models.HarmCategory.HARM_CATEGORY_HATE_SPEECH: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
                    generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
                    generative_models.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
                    generative_models.HarmCategory.HARM_CATEGORY_HARASSMENT: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
                }

when I pass the above settings I get the following error.
pydantic.v1.errors.ConfigError: field "safety_settings_List[ForwardRef('SafetySetting')]" not yet prepared so type is still a ForwardRef, you might need to call Vertex.update_forward_refs().

Then whats the correct format to pass the safety settings

As the error says, update forward refs needs to be called, so the class has to be updated
The workaround would be calling it yourself before using it
Vertex.update_forward_refs()

llm = Vertex(....)

@dosu-bot, @logan-markewich
safety_settings={
                HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_ONLY_HIGH,
                HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
                HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
                HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_NONE,
            }

Vertex.update_forward_refs()
llm = Vertex(
    model="gemini-1.5-pro-preview-0514",
    safety_settings=safety_settings,
    project=credentials.project_id,
    credentials=credentials,
    temperature = 0.3,
    max_tokens = 8192,
)

NameError: name 'SafetySetting' is not defined. Did you mean: 'SafetySettingsType'?

from langchain_google_vertexai import VertexAI
client = aiplatform.gapic.PredictionServiceClient()
llm = VertexAI(
client = client,
model_name="gemini-pro",
max_output_tokens=8000,
temperature=0.1,
top_p=0.8,
top_k=40,
verbose=True,
)
getting NameError: name 'SafetySetting' is not defined


Propagate auth headers to white-listed resources

Summary
Right now if the user is accessing a white-listed resource, the authorization headers (neither Authorization nor X-Auth-Token) are forwarded to a upstream-url, which means that my backend is not aware if the user is authenticated or not. Previously there was an allow-anonymous attribute which did exactly what I need.
I could in theory use access token from cookies, but right now I have enable-encrypted-token parameter activated and I don't see easy ways to decrypt it.

Why?
In my case, I have a website that provides an additional functionality for registered users, while others still can access the website in a read-only mode. I manage permissions on a backend side and need GGK to only handle authentication flow with keycloak.

How
Probably it should be just like it was with allow-anonymous resource parameter

Acceptance criteria
If the user navigates to a resource that is marked as white-listed, the authorization headers propagated to an upstream-url server, just like they do on protected resources.

Hi thank you for opening issue! Hmm a little bit contradictory requirements, you would like to not authenticate as you are setting white listed resource on the other hand you would like to decrypt token that means you assume bounding of token to gatekeeper but other people might not want to do that. Not sure about allow anonymous attribute as far as I remember there was not such flag but yeah i don't know all deep history of louketo but sounds to me like an alternative to white-listed not additional flag. Anyway in old versions of louketo there were also bugs and bad design decisions so I need to think about this of how to implement it in clean way.

yes, looks like you're right and there were no such flag. probably we used a patched version of ggk in my previous project and added this flag manually for this exact case.
still, I think this would be a very useful flag that allows to specify resources where you not force user to be authenticated, but if they are - you want to know this as it will change the appearance of the website.

@ikhomutov i was thinking about this, actually you are already doing some kind of authentication as you must use password to encrypt token on client side, can you explain a little bit more your setup, you have client which sends encrypted token for both read-only and write users, you want gatekeeper to decrypt it (in case of write user to do also other checks) in both cases and then backend decides if user should have read-only or write access, right? wouldn't be proper design to authenticate both users but they would have different groups? why you don't want to authenticate read-only user?


python311Packages.aiolifx-themes: 0.4.8 -> 0.4.9

Diff: https://github.com/Djelibeybi/aiolifx-themes/compare/refs/tags/v0.4.8...v0.4.9
Changelog: https://github.com/Djelibeybi/aiolifx-themes/releases/tag/v0.4.9
Description of changes

Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 255918 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.lifx
python310Packages.aiolifx-themes
python310Packages.aiolifx-themes.dist
python311Packages.aiolifx-themes
python311Packages.aiolifx-themes.dist


Signing plugin doesn't work with GPG 2.1

Expected Behavior
If using the 'signing' plugin in a system that has GPG version 2.1, it should work.
Current Behavior
It isn't working.
Context
GPG 2.1 doesn't use secring.gpg file. According to the changelog, this plugin should use the gpg-agent.
Also, it should support long key id format, besides this isn't a problem.
Steps to Reproduce (for bugs)
Apply this plugin and try to use it in a system with GPG 2.1.
Your Environment
A system with GPG 2.1 version installed.

/cc @xmartlabs/android

Gradle is currently using org.bouncycastle:bcpg-jdk15on:1.51.
The latest version is org.bouncycastle:bcpg-jdk15on:1.55.
The (confusingly structured) Bouncy Castle release notes contain the following line for 1.55:

Additional search methods have been added to PGP public and secret key rings.

This may or may not be related in some way. A little more info than "It isn't working." might be useful.

Okay, the thing is it doesn't find the key, because it isn't there:
did not find secret key for id 'ABCDEF12' in key source 'file: /home/bryant1410/.gnupg/secring.gpg'

And trying with pubring.gpg (which in fact it shouldn't work), it isn't able to parse it:
Caused by: org.gradle.api.InvalidUserDataException: Unable to read secret key from file: /home/bryant1410/.gnupg/pubring.gpg (it may not be a PGP secret key ring)

Maybe upgrading this library to that version will work

Any news one this?

brew update just forced me to upgrade to GnuPG 2.1. Surprisingly, everything was still working.
This is the case because upgrading GnuPG leaves the existing ~/.gnupg/secring.gpg file alone and is simply importing its content during initial startup.
If you started out with GnuPG 2.1 instead of upgrading from earlier versions, creating a secring.gpg file manually appears to be the proper workaround:
gpg --export-secret-keys >~/.gnupg/secring.gpg

I tested this by replacing my original secring.gpg file with a freshly exported one. Signing still worked afterwards.
Keep in mind that you need to repeat this export every time you add a new private key to GnuPG 2.1.
See What’s new in GnuPG 2.1 - Removal of the secret keyring.
Hope this helps.

@huxi That is also the workaround I found. I forgot to report it here. Thanks for doing it.

With a slightly patched Gradle you can also use the (currently in alpha) gpg-signing plugin.

This is quite frustrating, especially when generating new keys (finding the 4-byte ID from gpg is non-obvious). Any chance the docs could be updated to note the incompatibility?

And add the simple fix that @huxi provided.

To find the 4-byte ID: gpg  --list-keys --keyid-format 0xSHORT

10+ times over the past four years, I've found myself pulling out hair and eventually re-discovering this issue.
This is important, first-party Gradle functionality.  Are there plans to support contemporary versions of GPG?  If not, are there significant blockers, e.g. BouncyCastle is incompatible?  Or is it simply that it hasn't made the cut, and help would be appreciated?

Since Gradle 4.5.1 you can use the useGpgCmd() option of the signing plugin to use gpg-agent as the backend instead of Gradle's Java backend. This works fine for me in GPG 2.2.23, and also supports using smartcard keys.

Thank you very much, it solved my problem.

This is very much not a stale issue.  The default signing plugin continues to not work with the default versions of GPG, and it continues to be a nuisance requiring delving into github issues (!) to learn how to properly sign things.

@benjamin-bader To be honest, the official documentation clearly says that useGpgCmd() should be used for gpg2:
https://docs.gradle.org/7.4.2/userguide/signing_plugin.html#sec:using_gpg_agent
and it seems to work (at least it worked when I last check it 2 or 3 years ago).
Maybe you could propose a PR with the documentation changes to make it more "findable"?

Landed here after trying and failing to use the signing plugin with secring.gpg generated from GnuPG 2.4.5.
I'm on Windows building from Android Studio. It worked after enabling useGpgCmd() and it prompted me for my password.
To avoid the password prompt you can provide it from your gradle.properties like so:
signing.gnupg.keyName=24875D73
signing.gnupg.passphrase=gradle

See above post. Thanks @szpak.

I've been able to follow that for Github Actions, I set the passphrase as a Github Secret, then access the secret like so:
run: ./gradlew assembleRelease -Psigning.gnupg.passphrase=${{ secrets.GPG_SIGNING_PASSWORD }} -Psigning.gnupg.executable=gpg

Sorry for the late reply.
The documentation was updated a couple of times since the issue was requalified as a documentation issue. This issue will be closed as obsolete.
If you have suggestions on how to improve the docs, please open a new issue.


Fixed html 4 charset detection

Old regex worked for<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
but not <meta content="text/html; charset=gb2312" http-equiv="Content-Type">
old regex: https://regex101.com/r/y6hyRj/1
new regex: https://regex101.com/r/wb4AFp/1

Thx for this, I am putting this on hold for now, as textConverted() is really a legacy API that's created to be backward compatible with node-fetch v1.
It's not a part of Fetch Spec and ideally we want to phase out this API and create a simple module that takes res.body and output exactly the same UTF-8 plain text.
If you ended up making such a module please let us know.

ok with close this?


failing to pull images?

Trying to run docker-compose build is failing
$ sudo docker-compose build
$ [+] Building 0.0s (0/0)

Tried across 3 different debian systems, all with verified working docker/compose setups (have some magento containers running)
I was able to run build fine yesterday on my windows machine but I have been hesitant to touch test today as its currently the only device I am able to use to work with saleor.

still having an issue with actually running "docker compose build" but just running "docker-compose up" pulls them in anyway.


[docs] Add Greenlink to showcase

[x] I have followed (at least) the PR section of the contributing guide.

@cvanem Thank you for sharing your project, however, I'm not sure that we should move forward: https://github.com/mui-org/material-ui/pull/15658#issuecomment-491494748.
@mbrookes I think that we should write down in the documentation what project we want to showcase, do you agree with these criteria? Basically, its a not for Material-UI to gain credibility, not a tool for the community to create awareness of new projects.

its a not for Material-UI to gain credibility,

Do you mean the opposite?
If so, then yes, that is the primary motivation. However volume is also a metric that adds to credibility, so, as long as the site meets some reasonable standards for UI / UX, design innovation etc, I don't have an issue adding it.
Looking at the screenshot, this does seem to have a nice clean consistent UI, so at first glance is a fair demonstration of Material-UI. My main issue is that the link goes to a login-page, rather than logging in with a demo account, so visitors can't experience it first hand. (While this is also an issue with some of our other showcase sites, they meet some other metric, such as traffic volume.)
There is also the question of the subject of this site. While the sale of cannabis is legal in certain jurisdictions, it is not in others, so promoting this site globally could prove problematic (IANAL). Even though it is only a platform, not a vendor's site, it might be viewed as a "risky click" for some visitors.

My main issue is that the link goes to a login-page, rather than logging in with a demo account, so visitors can't experience it first hand.

This is my main gripe as well. While it might be a full fledged app for users for interested visitors from material-ui.com it's just a signup form.

The signup form is easily bypassed if you want it set up that way.  I'm also fine with not showcasing it if it is controversial.


Some minor enhancements

Prefer reference for functions' arguments
Enhance mul_vec_to_vecp
Use smart pointers in FFT_2n

Merging the PR to move forward next ones


Question: just want to know why drawdown doesn't in the default strategy

Hello @tangxianrong,
Well drawdown is new to Pandas TA so it was not incorporated into ta.CommonStrategy. Common Strategy is mainly composed of the indicators that are usually presented on many Financial News TV Networks and drawdown is not among them. What's more important is not the Common Strategy, but creating your own Pandas Strategy with the indicators that you commonly use.
Regards,
KJ


Write a Java program to print reverse of a string by recursion

Description
Write a Java program to print reverse of a string by recursion
Reverse of a string is the string with characters in reverse order. For example, reverse of "GeeksQuiz" is "ziuQskeeG".
Input  : abcd
Output : dcba

How to contribute

Save the solution in PrintReverseOfAStringByRecursion.java file
Add PrintReverseOfAStringByRecursion.java file in print-reverse-of-a-string-by-recursion folder

!assign

!assign


Feature Request: Help user with locating the next line to read when spacebar-based scrolling presents the last page

The spacebar-based article scrolling and navigation provides a great user experience that enables reading articles with least amount of effort.
Issue: Scrolling the article page by page leads to the inevitable behavior when the end of the article is reached and the last page is presented: the user loses the read position and needs to fish up and down the page to figure out where the next unread line is before continuing reading. This is distracting, even mildly annoying.
Suggested solution: Temporarily flash/highlight the next line to read when spacebar-scrolling presents the last page of an article.

An implementation of this feature:
https://github.com/nminnov/NetNewsWire/commit/e5c9edbc


Discord output

Work in Progress

@nibalizer What about my proposal on Slack to format the output with colors, etc, like for Slack and others?

Yes I think we should do it. I can work on this a bit today and will. Sorry for the delay.

@Issif please see my note above, I don't see a good way to do colors for messages in discord.

Color is working, need to write some more code before it'll work/look right

Thanks for the tip @Issif

Nice ! Can you display fields as seperated? One again, like in Slack or Teams.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign leodido
You can assign the PR to them by writing /assign @leodido in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@nibalizer: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sorry team! I'll try to get back to this as soon as I can!

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

a845a4e hey it builds
00eb21a wow it works team
0d4081f Update config.go

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@nibalizer no problem, I'm really busy on my side

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

22f5de7 Create OWNERS
7302869 feature(discord): Add discord output

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@nibalizer: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign issif
You can assign the PR to them by writing /assign @issif in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: cc879161305492236a796a8fff745563ace9ee31

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm
/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Multi-Select / Edit

Hi,
Is it possible to edit multiple rows at once with this editor? Meaning, can I enable somehow that a user selects multiple rows and when they press "Edit", columns with varying values show something like "Multiple Values"? The idea is to be able to set column A of rows 1 and 3 to the same value through one operation.

No, this is not supported.
Il mer 13 nov 2019, 19:01 irreleph4nt<EMAIL_ADDRESS>ha scritto:

Hi,
Is it possible to edit multiple rows at once with this editor? Meaning,
can I enable somehow that a user selects multiple rows and when they press
"Edit", rows with varying values show something like "Multiple Values"? The
idea is to be able to set column A of rows 1 and 3 to the same value
through one operation.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/KasperOlesen/DataTable-AltEditor/issues/67?email_source=notifications&email_token=ACLII2HZ2G5U34VXTA6R7ZTQTQ6GLA5CNFSM4JM7GTY2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HZC6DMQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACLII2CYNLLHLLMACGWRF63QTQ6GLANCNFSM4JM7GTYQ
.

Hi.
I just discovered DataTable-AltEditor. Is planned to add delete/edit multiple selection lines feature in future releases? Deleting many lines instead of one by one would be a great improvement for this software.


scodec-core version

Codecov Report

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

@@           Coverage Diff           @@
##           master      #86   +/-   ##
=======================================
  Coverage   22.99%   22.99%
=======================================
  Files          33       33
  Lines         948      948
  Branches       17       21    +4
=======================================
  Hits          218      218
  Misses        730      730

Impacted Files
Coverage Δ

core/src/main/scala/laserdisc/protocol/RESP.scala
74.52% <ø> (ø)
:arrow_up:

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 f3c3c45...eb856e1. Read the comment docs.


Navigate to the unknown route

It would be nice if mapUnknownRoutes({ name: '404', ... }) would create an actual route when it contains a name.
This would allow direct navigation to the route router.navigateToRoute('404') or return new RedirectToRoute('404').
Currently this fails, and trying to go to an unknown route with APIs navigateToRoute('sfjklghsf') does not actually go to the unknown route, it just fails the router silently.
The workaround right now is to manually pass the route to both mapUnknownRoutes and config.map().

This is the loneliest issue in all of the aurelia repos.


add a bin/webpack

Summary
see: https://github.com/Betterment/test-track-app/pull/31#discussion_r1757654499
In CI we have a frontend build verification step which runs either bin/vite or bin/webpack, but test_track uses none of those. As a workaround, this commit adds a bin/webpack script that just runs yarn build:css internally.
Other Information

If there's anything else that's important and relevant to your pull
request, mention that information here. This could include
benchmarks, or other information.

Thanks for contributing to TestTrack!

/domain @Betterment/test_track_core

@smudge I don't have write access, so I can't merge this. Would you mind helping me with that?


Multiple webviews disappear at random

Unfortunately this is not easily reproducible(I myself cannot reproduce, but 30% of my users report it), but I have an IndexedStack where each child is a webview. The user, via controls on the app, is able to flip through webviews so that one is displayed at a time and the other ones(being children of an IndexedStack) are hidden.
Problem is that sometimes when users flip to a webview in the IndexedStack, they aren't there -- the webview is totally blank as if it wasn't there(I have done extensive debugging to verify that it is indeed there on the widget tree side). Sometimes refreshing it brings it back, sometimes not. Its as if they fall asleep when in the background.
Any thoughts?

I think this may be caused by https://github.com/flutter/flutter/issues/61781 webviews DO use lots of memory.

Restarting the device temporarily fixes the issue, which if caused by #61781 makes sense as restarting clears memory.

@owenkealey
would be good if you could provide reproducing steps with a minimal complete code sample/project together with your flutter doctor -v

@owenkealey - please see if you can provide a minimal example. It would also help to know what platform(s) this happens on. The linked bug is specific to iOS.

Sorry about that! Heres an example:
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Buggy Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _tab = 0;

  void _changeTab() {
    setState(() {
      _tab == 9 ? _tab = 0 : _tab ++;
      print("_tab");
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: IndexedStack(
          index: _tab,
          /// These are the "tabs"
          children: <Widget>[
            ...List<int>.generate(10, (i) => i + 1).map((e){
              return Container(
                height: 500,
                child: WebView(
                  javascriptMode: JavascriptMode.unrestricted,
                  initialUrl: "https://footlocker.com",
                )
              );
            }).toList()
          ],
        )
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _changeTab,
        tooltip: 'Switch Webview',
        child: Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

@dnfield As far as I know this only happens on iOS thats why I mentioned that issue(but I also haven't tested on Android).
flutter doctor -v:
➜  webview_bug flutter doctor -v
[✓] Flutter (Channel stable, v1.17.5, on Mac OS X 10.15.6 19G73, locale en-US)
    • Flutter version 1.17.5 at /Users/owen/Downloads/flutter
    • Framework revision 8af6b2f038 (3 weeks ago), 2020-06-30 12:53:55 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, set ANDROID_SDK_ROOT to that location.
      You may also want to add it to your PATH environment variable.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.8.4

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).

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

[✓] Connected device (1 available)
    • iPhone 11 Pro • 8AD57C00-669E-47D9-AC42-E72F5EC1DD39 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-6
      (simulator)

! Doctor found issues in 2 categories.```

Also note that this is really only reproducible on a real iPhone. My internal users have not been able to reproduce on iPad however, or simulator which leads me to believe this is a out of memory issue(as iPads and desktops have much more memory for the webviews).

I think this is a bug because I can make a similar app with Swift, WKWebview and sub/super views and it wont do this.

@owenkealey thanks,
I tried with stable 1.17.5, webview_flutter: ^0.3.22+1 on iPhone 7 iOS 13.6 this code sample (the only change - set initialUrl to https://flutter.dev, because after many visits access to the website from code sample was restricted). I tried with higher number of tabs (40). The first blank webview appeared on 27th tab and then the more tabs I change - the more often webviews were not rendered.
I tried also with current master 1.21.0-2.0.pre.94 - reproduces too, webviews start to load after some pause, but the first blank appeared on 54th tab.
It may be not iOS specific. I tried with Redmi Note 7 Android 9 (API 28).  It's working properly with 5 tabs.
But when I set 10  - app crashes when I change tab before all of them are loaded, but once they are loaded I can interact with them. When I use 40 or 20 - app is loading for long time and crashes in the end without even rendering webview.
No stack trace, only Lost connection to device..

Similar to https://github.com/flutter/flutter/issues/34647

@VladyslavBondarenko Makes sense, I also suspect this is NOT a problem with the plugin because I have tried with other webview plugins(flutter_inappwebview) and the same thing happens.

If it helps, refreshing the webview often brings it back(sometimes not though) but obviously this is sub optimal.

One of my users it happens with just 6 tabs:
video0.mp4.zip

Unfortunately this is not easily reproducible(I myself cannot reproduce, but 30% of my users report it), but I have an IndexedStack where each child is a webview. The user, via controls on the app, is able to flip through webviews so that one is displayed at a time and the other ones(being children of an IndexedStack) are hidden.
Problem is that sometimes when users flip to a webview in the IndexedStack, they aren't there -- the webview is totally blank as if it wasn't there(I have done extensive debugging to verify that it is indeed there on the widget tree side). Sometimes refreshing it brings it back, sometimes not. Its as if they fall asleep when in the background.
Any thoughts?

GOOGLE LOOK AT THIS NOW

Maybe the views are always attached to some rendered, even when in the background, which means that, when native, the system can easily cull them out, saving memory, however, it cannot cull them out with flutter because they're always constantly rendering?

I'm not exactly sure what you mean, I thought the whole point of an IndexedStack was so that each child remains in the widget tree even when not being painted.
Unless in this case the RenderObject is being delegated to the system and the system is just doing whatever it wants with it?

The system has to draw to a texture in order to pass it to flutter, it might constantly keep the webview drawing which draws more of the system resources than something native which could automatically stop drawing and taking ram.
I would expect similar RAM usage from a native view that has to draw 5 or 6 webviews at once.

Although to be honest I am not really sure how flutter and native views interact so my assessment could be wrong.

Yea I guess that's a possibility, in any event we will probably have to wait for the Flutter engine team to comment.

@owenkealey - I just tried this on master on an iPhone 11, and I'm not able to see any issue. Memory usage looks reasonable to me and doesn't increase as I cycle through. I'm able to continuously cycle through and not have any webviews disappear.

Can you try on master and see if you still have this issue?

Sure, trying now.

I'm also using webview_flutter 0.3.22+1

/cc @cyanglaz @blasten

Ahh, with a sufficiently large number of webviews I do run into problems - e.g. if I bump it up to 100 webviews instead of 10.

Running in debug mode with just ten webviews one disappears and then two more. Refreshing brings them back and Interestingly, I am using flutter_inappwebview for the webviews because it has callback support for iosOnWebContentProcessDidTerminate but that doesnt fire when they disappear so it must be something else.
I have also tried with webview_flutter and can confirm they disappear there as well.
Them disappearing with 100 isnt that concerning honestly because I don't expect users to have 100 browser tabs open, but some users can reproduce with like 2 or 3.

Also if it is of any help, I with my internal users have found that if you DON'T switch through webviews, they dont disappear(until you start flipping through them). For example, if you make some webviews, leave them for 20 minutes on the first one, they will start disappearing 1-2 minutes into you flipping through them.

@owenkealey This seems to occur if you load the website in the example. It doesn't occur if it's changed to google.com or wikipedia.org.  If you found evidence that this repros with other websites, feel free to reopen the issue.

@owenkealey thanks,
I tried with stable 1.17.5, webview_flutter: ^0.3.22+1 on iPhone 7 iOS 13.6 this code sample (the only change - set initialUrl to https://flutter.dev, because after many visits access to the website from code sample was restricted). I tried with higher number of tabs (40). The first blank webview appeared on 27th tab and then the more tabs I change - the more often webviews were not rendered.

@VladyslavBondarenko found it happens on flutter.dev.  I too can reproduce on flutter.dev.
I suspect it happens more frequently on footlocker.com because footlocker.com is image and resource heavy. I tested on another image heavy site, polygon.com and it reproduces there as well.
Even if it only happens on a few sites...certainly it must be something to do with Flutter because I a) can use WKWebview with Swift and nothing like this happens(lag happens, but thats to be expected with so many browsers) and b) I seriously doubt that there is something special about footlocker.com and flutter.dev that causes their host browsers to crash and go blank.

@blasten ^^ Not sure if you get notifs for closed issues so sorry If I have @ you twice

@blasten I'm sorry but this is not a valid reason to close the issue.
If it happens on this website, what stops it from happening to another website? Are all webview usecases really nothing but google and wikipedia?
There is a problem here, and it's wrong to silence it because it's "just a strange edge case".

Sorry. I didn’t mean to close it because it’s an edge case. If you have the example in a vanilla iOS app, please send it to us as it could help us figure out where the issue may be.

By vanilla iOS app do you mean an app made with Swift/WKWebview?

Because if you scroll up I commented an example of it in Flutter.

@blasten My suspicion is that we are creating a FlutterView with its one device backing store for each platform view even though there is no interleaving of Flutter contents. Does that make sense? There is a test case for this so we should use that to verify.

Might also want to take a look at this thread, https://github.com/pichillilorenzo/flutter_inappwebview/issues/459 That was the original issue I reported because I thought it was a plugin issue(before I discovered I could reproduce with the official plugin).
Someone reported problems as well with putting a webview inside a page view not sure if related.

@blasten somewhat unrelated but how could I get in contact with the flutter team to get a customer: label. My company uses Flutter and would like one.

@csells

Any plan to fix this issue? Thanks

P2 to P3, maybe speed it up to fix it. Is it good news?

@chinmaygarde There's only one FlutterView and one WKWebView at the time. (no overlay surfaces)
I debugged this further. This seems to happen only if you use the IndexedStack widget. If you change it for Column and display the 10 webviews at the same time, then they are all rendered.
I tried to come up with an equivalent SwiftUI code, and saw that website isn't rendered passed the 5th webview.
If you can come up with an equivalent demo in a vanilla iOS app that works, I can give it try.

Any idea why it happens when only using IndexedStack? That widget is kind of essential to making tabs for my browser app.

IndexedStack causes the webviews to be appended and removed from the view hierarchy multiple times, while strong references are held in memory.

@blasten Was the appending and removing happening because of the clipping logic (https://github.com/flutter/flutter/issues/46167)? Or it is something else.

Was the appending and removing happening because of the clipping logic

This seems to be the behavior of IndexedStack: https://github.com/flutter/flutter/blob/c44e5a32b5d88e605c9b86ba7029e8e86f42b85f/packages/flutter/lib/src/rendering/stack.dart#L707

@blasten That's odd. If it was a memory issue then multiple web views on the screen at once should produce the blank screen problem, correct?

Oh also I tried using Visibility and Offstage widgets to achieve the same effect and same issue.

Maybe iOS isn't detecting that the WKWebView has left the screen because it's status in the widget tree is managed by Flutter, so it never activates the memory and energy saving features that it normally would(such as pausing JavaScript execution).

Still wait for a good workround🤒

Hey is there any way to delete the webhistory. Please let me know if there is any.

One month has passed. Is there any update on this issue?
Anyone suffers from this problem. Please raise your hand! Let the flutter team hear us

@cyanglaz feel free to assign a new milestone

any updates on this issue or plan?

After digging into the problem, it seems that loading too many requests on too many web views caused the problem. I couldn't find anything here indicates a limit of web views can load request at the same time.
It could also be that loading request while the web view is not in the view hierarchy caused the issue.
For reference, here is a sample iOS app that reproduced the same problem, this is resembling how flutter engine and the web view plugin works behind the scene.
#import "ViewController.h"
#import <WebKit/WebKit.h>

@interface ViewController ()

@property (nonatomic, strong) NSMutableArray *webviews;
@property (weak, nonatomic) WKWebView *current;
@property (assign) NSInteger index;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  self.webviews = [[NSMutableArray alloc] init];
  for (int i = 0; i < 100; i ++) {
    WKWebViewConfiguration* configuration = [[WKWebViewConfiguration alloc] init];
    WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, 300, 400) configuration:configuration];
    [self.webviews addObject:webView];
    NSURLRequest* request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://footlocker.com"]];
    [webview loadRequest:request];
  }
  UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 400, 100, 100)];
  button.backgroundColor = [UIColor redColor];
  [button addTarget:self action:@selector(nextWebView) forControlEvents:UIControlEventTouchUpInside];
  [self.view addSubview:button];

  // Do any additional setup after loading the view.
}

- (void)nextWebView {
  if (self.index == self.webviews.count) {
    self.index = 0;
  }
  if (self.current) {
    [self.current removeFromSuperview];
  }
  WKWebView *webview = self.webviews[self.index];
  self.current = webview;
  [self.view addSubview:webview];
  self.index ++;
}

@end```

For fixing this, I think it makes sense for a WebView to only load request when it is added to the view hierarchy.

Based on my comment above, there isn't really a proper fix from flutter side, because this behavior is limited on iOS.
One workaround is to reload the webView on webViewWebContentProcessDidTerminate I will create a PR to expose this callback to dart, so one can reload the webview in this callback.
However, I would highly recommend against using IndexedStack with many WKWebView (more than 10 is probably too many in old devices) as IndexedStack caches all its children, especially for web pages uses a lot of memory. And also on iOS, WKWebView runs out of process so the app can't reliably catch the memory pressure warning.

After flutter/plugins#3212 lands, this could be workarounded by reloading the webview when WebResourceErrorType.webContentProcessTerminated is present. (You might need to do more handling based on your specific cases.
A simple example would be:
IndexedStack(
        index: _tab,
        /// These are the "tabs"
        children: <Widget>[
          ...List<int>.generate(40, (i) => i).map((e) {
            WebView webView = WebView(
              javascriptMode: JavascriptMode.unrestricted,
              initialUrl: 'https://footlocker.com',
              onWebViewCreated: (controller) {
                _controllers[e] = controller;
              },
              onWebResourceError: (error) {
                if (error.errorType == WebResourceErrorType.webContentProcessTerminated) {
                  _controllers[e].reload();
                }
              },
            );
            return webView;
          }).toList()
        ],
      )),

I think this issue falls is because of a more general issue with the design of the framework itself. When the state of a widget changes, flutter doesn't change the widget, but discards it and makes a new one. This is fine for lightweight text widgets and such, but for webviews it means creating and destroying a webview every time the page is scrolled potentially.
https://stackoverflow.com/a/56995828
There is a NOTICEABLE performance difference between a webview inside flutter and one inside a Swift app, like HUGE, even with just one.

flutter/plugins#3212 has been landed, we should be able to workaround this issue by detecting when the webview stopped loading due to memory pressure.

@chinmaygarde There's only one FlutterView and one WKWebView at the time. (no overlay surfaces)
I debugged this further. This seems to happen only if you use the IndexedStack widget. If you change it for Column and display the 10 webviews at the same time, then they are all rendered.
I tried to come up with an equivalent SwiftUI code, and saw that website isn't rendered passed the 5th webview.
If you can come up with an equivalent demo in a vanilla iOS app that works, I can give it try.

@blasten I am using flutter_echarts in a ListView and get the issue Echarts widget is blank(white, though it should be another issue that webview_flutter should be initially transparent instead of white background) randomly.
The flutter_echarts is using webview_flutter internally to render Apache Echarts.js.
Please check this issue for reference: https://github.com/entronad/flutter_echarts/issues/129
As per my observation, the "blank webview" issue happens more frequently on IOS(in practice, for my app not happen on Android), after digging a lot, I think it may be related to this issue.


Pagination

Summary
Added the possibility to change page for each dataset because we needed to show more than the first page of the results.
Result
This enables you to use the following in your templates:

<button class="aa-page" data-page="1">2</button>: Go to the 2nd page. The index starts at 0, so that the 2nd page is 1, the same as the Algolia search API page parameter.
<button class="aa-page" data-page="next">Next</button>: Fetches and shows the next page. (If there is any, stops at the last page.)
<button class="aa-page" data-page="prev">Previous</button>: Fetches and shows the previous page. (If there is any, stops at 0.)
<button class="aa-page" data-page="first">First</button>: Fetches and shows the first page
<button class="aa-page" data-page="last">Last</button>: Fetches and shows the last page

Hey @andreas-ateles, thanks a lot for this contribution. I'll take a look at it soon, however, it would be easier to review if the dist folder wasn't changed in this PR. Also really nice would be to add a new example which uses this pagination so we can try it out and see if it works. Thanks!

@Haroenv alright, I'll try to update the PR when I get some time, altho not sure when that will be.

Hey @andreas-ateles please can you tell me how i'd implement this in my current code? I am struggling to setup any pagination at all for some reason:
client.autocompleteSearch = function(){

	var client = algoliasearch("****", "*****"),
		index = client.initIndex(mainSiteUrl+'_allSiteData');

	var index = client.initIndex(mainSiteUrl+'_allSiteData');
	var myAutocomplete = autocomplete('.search-input', {hint: true}, [
		{
		  source: autocomplete.sources.hits(index, {hitsPerPage: 5}),
		  displayKey: 'title',
		  templates: {
		    suggestion: function(suggestion) {
		      var sugTemplate = ""+ suggestion._highlightResult.title.value +""
		      return sugTemplate;
		    },
		    footer: function() {
		    	var sTpl = "<button class='aa-page' data-page='1'>2</button>";
		    }
		  }
		}
	]).on('autocomplete:selected', function(event, suggestion, dataset) {
		console.log(suggestion, dataset);
	});

	document.querySelector(".searchbox [type='reset']").addEventListener("click", function() {
		document.querySelector(".aa-input").focus();
		this.classList.add("hide");
		myAutocomplete.autocomplete.setVal("");
	});

	document.querySelector(".search-input").addEventListener("keyup", function() {
		var searchbox = document.querySelector(".aa-input");
		var reset = document.querySelector(".searchbox [type='reset']");
		if (searchbox.value.length === 0){
			reset.classList.add("hide");
		} else {
		  reset.classList.remove('hide');
		}
	});

};

I've tried adding a footer with this button in

@mdunbavan it just looks like you just missed a return in your footer function. Try:
footer: function() {
    return "<button class='aa-page' data-page='next'>next</button>";
}

Hey @andreas-ateles it doesn't actually get the next results for some reason

@mdunbavan here's a basic working example: Gist basic_pagination.html

Autocomplete v0 has been in low maintenance mode for a few years and we just released Autocomplete v1 which lets you achieve this user-land.

You can find the code in this sandbox.
Closing this–thanks for your contribution!


Scopes pooling and stagnating

Many scopes that are being watched aren't ending, and are just adding up.  For some reason this also makes it harder to catch any new scopes that are starting.

Have this same issue myself.  The only fix is to restart the script, which is sadly annoying :( Often when I revisit it there is a backlog of undownloaded broadcasts.


Can't connect to shell

Good day,
For a while I've been trying to emulate my firmware of the Netgear WNDR3800.
I get the following error.

Do you have a sollution for this?
Thanks in advance for any help.
Regards alex

It looks like trying to connect to the netcat was failed for some reason (e.g., blocked by iptables or failed to run netcat).
I updated the debug.sh script that checks the netcat connection, and the script helps to connect to the target firmware with socat, too.
Please pull the latest code and try to debug with socat. :)

Hi,Thank you very much for replying 🙂.I am what you call, a noob. A student as of 8 weeks.We have to reverse engineer a Firmware for our class.Would you be so kind to explain how to use socat?Thank you in advance,AlexOp 3 mei 2021 17:12 schreef Mingeun Kim @.***>:
It looks like trying to connect to the netcat was failed for some reason (e.g., blocked by iptables or failed to run netcat).
I updated the debug.sh script that checks the netcat connection, and the script helps to connect to the target firmware with socat, too.
Please pull the latest code and try to debug with socat. :)
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

You made a handy tool!
The webserver works great.
One more question, if I may.
I applied the new debug.py and now get this message:

Sorry, kinda noobish... would u be so kind to explain this error?
Thank you for your help,
Alex

Thank you for the quick fix in the debugger and for creating this useful tool!
I was struggling with similar problems as nathalex27, with firmware images. With some debugging I discovered that in many binaries the following lines in the preinit are not executed (added to the preinit by makenetwork.py):
/firmadyne/network.sh &
/firmadyne/run_service.sh &
firmadyne/debug.sh
/firmadyne/busybox sleep 36000

I was able to confirm this using the TP-link archer AC5400 image. If we write those lines to rc.local instead, the debugger does start:

To nathalex27,
It seems to be the debug.py script of your system was broken. (There are no such strings <!DOCTYPE html> in debug.py)
Can you check whether the debug.py script is a python script, please?
If there are some problems on your debug.py then, try git checkout debug.py && git pull, and check again.
Thank you for your interest!

Something went wrong with copying the file.
Thanks for everything, after I replaced debug.py, all was good!
Thx again!


Autogenerate silicon theme

It would be great if the plugin had an option to generate a silicon theme from the currently used theme, similar to silicon.lua. This is useful for users who use a lot of different themes or use an unsupported theme.

Interesting idea! The mentioned repo does not have a LICENSE file, so I would need to contact the authors, if I could reuse their function... Let me check on one of the next weekends...

Asked for the addition of a license file in the other repo. In the meantime I saw a comment underneath the video, that s.b. thought about the colours of treesitter and that is not supported (yet) in silicon itself. So I am wondering, what would happen if I take the current colors and specify them as theme to Silicon - would they render correctly? What's your opinion on this?

The other author made the lib public domain. I can try to take a look at his code and decide if I can find a way to make it work well.


Table virtual scroll is buggy with zebra stripes on odd/even change

Was not confirmed before creating issue, please first confirm this is still present.

Closing this for lack of info. Feel free to reopen when you have a repro.

Have you tried enabling virtualization on zebra-striped table? Then try scrolling down and you will see a nice animation happening while rows are changing color :)
Using storybook virtualized story as a repro is fully enough.
Css selectors of even-odd will not work on virtualized table.

Created repro: https://codesandbox.io/s/itwinui-table-zebra-virtualization-bug-158ui7
In this table, pay close attention to row 100, it changes background color when scrolling up and down.
https://user-images.githubusercontent.com/9084735/219088011-5f00b590-0b50-4add-a835-65fd733a9bb9.mov


Delete unnecessary std usage

Makes it easier to integrate with projects that do not use std. I didn't add #![no_std] because it breaks the tests, but I think we should do it by default if this lib is meant to be used. Needed this to integrate with chocolate milk.

Cheers, I'll try to throw the tests into a mod so I can extern crate std; inside there

Done in 20c400c


feat(Low-Code Concurrent CDK): Make SimpleRetriever thread-safe so that different partitions can share the same SimpleRetriever

What
Right now, because the SimpleRetriever has an internally managed and modified state, we cannot have multiple partitions running at the same time share the same SimpleRetriever. Otherwise we might run into data loss because the state of the SimpleRetriever (things like page number, etc) are modified by different partitions. We've seen this problem arise in some connections (link issue) and we have temporarily solved this by having every Partition instantiate it's own SimpleRetriever.
This however is very inefficient for a couple reasons like needing to perform auth for every partition (link issue). And this is a hard blocker on AsyncRetriever which must be shared across partitions in order to manage the shared job repository.
This PR replaces an internal state for SimpleRetriever and all of its dependencies which are manged via a token field and makes all methods stateless by relying on passing parameterized values for the next_page_token instead.
How
This PR basically makes the following changes for thread safety:  to the underlying implementations of the DefaultPaginator and all the pagination strategies so that they no longer have internal fields and instead pass required information via parameters to be stateless

The SimpleRetriever class had internal fields that were removed and replaced by local method variables like  last_record, and last_page_size. These are passed to and from methods local to the initial read_records() invocation
The Paginator/DefaultPaginator interface has removed internal state so that the previous token is passed via parameter to determine the next token to supply to the retriever. Methods are now receiving parameters like next_page_token because we need the prior value to get the new value in a stateless manner. This will impact custom components that will no longer adhere to the original interface. More on that below.
PaginationStrategy was also affected by methods needing to receive additional parameters
All forms of resetting PaginationStrategy and DefaultPaginator components is removed because there is no longer an internal state field

I also added in the changes to allow AsyncRetriever to instantiated within the concurrent framework because I want to test some of this functionality with sendgrid which needs these changes.
Other notes

This is technically considered a breaking change because it changes the Paginator and PaginationStrategy method interfaces to now include additional parameters and our internal code now passes extra parameters
The impact should be that only connectors that use custom components will be affected, and we expect them to fail loudly
There is some debate about whether this should be a minor or major version bump:

[Connectors with no custom components] - Not breaking
[Connectors with custom components] - Independently versioned and will fail loudly when bumping to latest CDK

source-freshdesk: custom pagination strategy
source-linkedin-ads: custom retriever
source-mixpanel: custom pagination strategy
source-monday: custom pagination strategy
source-zendesk-chat: custom pagination strategy

[manifest-only with custom components] - These carry the risk of getting upgraded and now failing. They need to be fixed post-release

source-the-guardian-api: custom pagination strategy

[Customer created connectors] - The builder doesn't currently support custom components until the in progress project ships. But for the moment we're operating that there are none. Brian to confirm w/ marketplace.

Because there really seems to only be one very low usage community connector that would be affected by the breaking change, I am proposing we make this a minor change so that all of our connectors don't get pinned behind a breaking change and can continue to receive our future changes that will improve adoption of concurrency. I'm happy to pick up this discussion in the PR if there's opposition

Summary by CodeRabbit

New Features

Enhanced concurrency handling for streaming data, supporting both synchronous and asynchronous stream types.
Improved pagination token management across various paginator classes.

Bug Fixes

Updated error handling to prevent potential deadlocks in concurrent processing.
Adjusted pagination logic to ensure correct token retrieval and state management.

Tests

Expanded test coverage for pagination strategies and concurrent sources.
Updated existing tests to align with new method signatures and behaviors.

See https://github.com/airbytehq/airbyte/pull/49812#issuecomment-2566033462 for notes on regression test results on source-sendgrid. Full refresh, incremental, async contacts stream have expected mismatches

source-the-guardian-api fails acceptance tests, but I also believe this is expected because it uses a custom component CustomPageIncrement which no longer adheres to the interface as noted in the PR description. Testing locally, there is the incoming parameter mismatch, but after fixing the custom component the connector syncs streams as expected.
I will fix this in a follow up PR, but until then this will fail on our CI checks so we need to manually override to merge this