text:
Remove wrapper types for get header response

📝 Summary

Previously wrapper types were made to process both bellatrix types from go-boost-utils and attestant types which includes capella types. As part of #529 this removes wrapper types as the bellatrix types from go-boost-utils will no longer be needed.
⛱ Motivation and Context

📚 References

✅ I have run these commands

[x] make lint
[x] make test-race
[x] go mod tidy

Codecov Report

Merging #538 (4a1c5ba) into remove-process-bellatrix-payload (9a16491) will decrease coverage by 1.05%.
The diff coverage is 58.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@                         Coverage Diff                          @@
##           remove-process-bellatrix-payload     #538      +/-   ##
====================================================================
- Coverage                             71.11%   70.07%   -1.05%
====================================================================
  Files                                     8        7       -1
  Lines                                  1177     1096      -81
====================================================================
- Hits                                    837      768      -69
+ Misses                                  305      284      -21
- Partials                                 35       44       +9

Flag
Coverage Δ

unittests
70.07% <58.00%> (-1.05%)
:arrow_down:

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

Impacted Files
Coverage Δ

server/service.go
77.07% <45.83%> (-5.39%)
:arrow_down:

server/utils.go
83.33% <57.14%> (+0.75%)
:arrow_up:

server/mock_relay.go
92.18% <100.00%> (+1.88%)
:arrow_up:

please rebase

authors: avalonche codecov-commenter metachris

repo: flashbots/mev-boost


text:
TLS - use modern configuration introduced in Go 1.8

https://blog.gopheracademy.com/advent-2016/exposing-go-on-the-internet/
Requirements:

Ability to set the modern TLS config via the json file config. (For each server).

Sample json config to contain settings as recommended on above blog

Fixed in PR #110

source: gharchive/issue

repo: flashmob/go-guerrilla

license: mit

license_type: permissive

license_source: bigquery


text:
Question - How to apply swatches (themes) without reloading Flask app

Hello! I recently discovered flask-admin's functionality to change the theme with FLASK_ADMIN_SWATCH on the app config. The thing is that this solution changes the theme for all users of the app, since it modifies the global config. I wanted to try a solution using cookies, so if a user switches to dark theme, I save a cookie "dark" and reload the web. Then, after reloading, I should read that cookie and change the theme accordingly.
Is there a way to to this last part without changing FLASK_ADMIN_SWATCH? I had a look at the source and it seems loading of the swatch is done here:
https://github.com/flask-admin/flask-admin/blob/efb90810f175a5d19b4053bcb88bc04af035b425/flask_admin/templates/bootstrap3/admin/base.html#L15
But I don't know how to overwrite that part of the package so I can switch the watch freely.
Thank you in advance 🙂

I was searching too much inside flaks-admin's code, answer was as simple as using Jinja to override that CSS importing and use the one I like. Found the solution here: https://github.com/flask-admin/flask-admin/issues/1286#issue-156091955
Closing this as my question ins answered!

repo: flask-admin/flask-admin


text:
Idea: Change logic for actions with checked rows

Sometimes (in my cases as a rule) it is necessary to make action with filtered rows (i.e. status='active'), but not for only selected rows.
I offer:

rename With selected to Actions
if user check rows - action will be executed for selected rows
if user apply filters and doesn't check anything - action will be executed for filtered rows
in other cases action will be executed for all rows

For any case developer can add own JS alert message, i.e.:

Do you want to apply action for selected rows?
Do you want to apply action to filtered rows?
Do you want to apply action to all rows?

Also developer can disable action for filters or | and all rows case.
If you ok with this idea - I'm ready to do it.
Thanks!

Closing this now, but please re-open if it's still relevant.

authors: ArtemSerga petrus-jvrensburg


text:
cargo: update dependencies

Signed-off-by: Vincent Batts vbatts@kinvolk.io

should rebase once #5 is merged.

See https://github.com/kinvolk/afterburn/pull/12#discussion_r589787816, we first need to test the coreos-overlay ebuild file and also bump the commit once changes are merged here.

rebased to use the rust action

Thanks, inhttps://github.com/flatcar/update-ssh-keys/pull/7 I've also ran cargo update (the same was also done on master by CoreOS folks since we branched) and tested building and running.

source: gharchive/pull-request

authors: pothos vbatts

repo: flatcar/update-ssh-keys

license_source: github-api


text:
Selfhosting ISR

We should try to enable https://nextjs.org/docs/pages/building-your-application/data-fetching/incremental-static-regeneration#self-hosting-isr and see if it helps with the cache problems

Should be fixed by https://github.com/flathub-infra/website/pull/2513

repo: flathub-infra/website


text:
flatpickr doesn't work on pages that define jQuery but not jQuery.fn

https://jsfiddle.net/tesmqdcb/
Your Environment

flatpickr version used: v4.6.0
Browser name and version: Chrome 74.0.3729.169 (Official Build) (64-bit)
OS and version: macOS 10.13.6

I am trying to use flatpickr on a page that defines an object named jQuery, but not jQuery.fn. I am getting an error saying Uncaught TypeError: Cannot set property 'flatpickr' of undefined.
I think the check in src/index.ts should be changed from if (typeof jQuery !== "undefined") to if (typeof jQuery !== "undefined" && typeof jQuery.fn !== "undefined").

Wow, that was a fast fix. Thank you. Do you have any estimate as to when this will be in an official release of flatpickr?

@elias6 already out in 4.6.1

repo: flatpickr/flatpickr

license: MIT


text:
FOGL-6675A: Update for S2OPCUA Toolkit 1.2.0

Systerel has released S2OPCUA Toolkit Version 1.2.0. They created the GitLab tag S2OPC_Toolkit_1.2.0 to allow partners to clone the S2OPC repository from the released version. This pull request updates requirements.sh to clone the S2OPC 1.2.0 release.
Signed-off-by: Ray Verhoeff ray@dianomic.com

@RVerhoeff Git clone is taking too much time; we should fetch only the required one.
With Current scenario changes, below are the logs for cloning
Cloning into 'S2OPC'...
remote: Enumerating objects: 76883, done.
remote: Counting objects: 100% (8592/8592), done.
remote: Compressing objects: 100% (1166/1166), done.
remote: Total 76883 (delta 7970), reused 7792 (delta 7419), pack-reused 68291
Receiving objects: 100% (76883/76883), 216.67 MiB | 10.46 MiB/s, done.
Resolving deltas: 100% (62924/62924), done.
Note: checking out '842a6ca2ca5505283f64effed155361bb9af9497'.

I would suggest to go with fix git clone --depth 1 -b S2OPC_Toolkit_1.2.0 https://gitlab.com/systerel/S2OPC.git it actually saves the time with our builds.
--depth option, limiting the total number of commits to be downloaded to the specified depth. It implies --single-branch by default.

Below are the logs with suggested fix
Cloning into 'S2OPC'...
remote: Enumerating objects: 2777, done.
remote: Counting objects: 100% (2777/2777), done.
remote: Compressing objects: 100% (1356/1356), done.
remote: Total 2777 (delta 1650), reused 1976 (delta 1391), pack-reused 0
Receiving objects: 100% (2777/2777), 36.64 MiB | 20.11 MiB/s, done.
Resolving deltas: 100% (1650/1650), done.
Note: checking out '842a6ca2ca5505283f64effed155361bb9af9497'

Difference

Property
current changes
proposed changes

Counting objects
8592
2777

Size
216.67 MiB
36.64 MiB

Note - revision is same in both cases 842a6ca2ca5505283f64effed155361bb9af9497

authors: RVerhoeff ashish-jabble


text:
Bug running npx rnv commands

Describe the bug
Fails to run npx rnv start, or npx rnv (any command)
To Reproduce

Install rnv globally via npm

Create new project using rnv new

Navigate into project and run npx rnv start (or any other command with npx rnv)

See error

Expected behavior
Should build the project and create all the needed files/directories

Desktop (please complete the following information):
OS: macOS Sonoma 14.4
Node Version v18.20.3
NPM Version 10.2.4
RNV Version 1.0.0-rc.12
@rnv/template-starter 1.0.0-rc.12
Additional context
Was running same steps on older mac.  Received new mac mini today and followed same steps resulting in this error.

@TDDEL thanks for reporting this, please try rc.19, that version should work.
Though there are 2 bugs https://github.com/flexn-io/renative/issues/1564 https://github.com/flexn-io/renative/issues/1508. You can overcome them by choosing all platforms when creating new project and when running something for the first time you will get error, but second time should work

@TDDEL do you have yarn installed globally? this maybe can be causes by not having yarn

@pauliusguzas Thanks! I was missing yarn globally.
Everything is working now with version 19 like you suggested

Solved

Solved with version 19

@TDDEL glad to help, in next rc both bugs mentioned above should be fixed, as well as you should be able to run project without yarn, only with npm

@pauliusguzas Is it still expected that running the application on an AndroidTV emulator is not working on Apple Silicon devices (M2 Mac Mini)?
Any recommendations on testing the AndroidTV implementation other than building to a real TV each time?
This thread has been super helpful for us too!

Atm AndroidTV is supported on m1/m2 mac processor without any workarounds

@pauliusguzas I managed to get tvOS to run but I'm getting an error when trying to run androidTV

@TDDEL hmm, don't remember this one, maybe try to clean data on simulator, try simulator with different version, I use 29 personally

@pauliusguzas I found out the issue.
Because I was setting all of this up on a fresh mac I didn't have a java sdk installed.  I hadn't noticed at first but just slightly above the first error line in the screenshot I posted there was a line mentioning something along the lines of being unable to locate a java sdk.

Closing this ticket as seems like issue was resolved, reopen if needed

authors: TDDEL iAMkVIN-S pauliusguzas

repo: flexn-io/renative


text:
Named Parameters Are Actually In Order...

I mistyped my own code, but in so doing, accidentally ended up with this...
http://localhost/elonmusk/profile

	Flight::route("/@user/@module", function(string $module, string $user) {
		var_dump($module);  // elonmusk
		var_dump($user);  // profile
		return false;
	});

I always had the impression that Named Parameters was .. named parameters.. 🤣 But it seems to follow the parameter order instead? Is it a bug or I just misunderstood the documentation?
PS. Please excuse me, I'm very confused by my own code now. 🤣

So you are correct, but these aren't actually named parameters. If you check out the code in https://github.com/flightphp/core/blob/master/flight/Engine.php#L525-L527 it calls $this->dispatcher->execute() which takes the params that were pulled out of the url via regex. It passes those in and eventually calls call_user_func_array() at https://github.com/flightphp/core/blob/master/flight/core/Dispatcher.php#L354 which has no concept of named parameters or what order things should be passed in as.
So I wouldn't call this as much a bug as much as maybe a misunderstanding? The only way I could possibly see this happening is if the framework uses reflection to determine how you called your parameters and what you named your variables and if they match up then it would reorder them (or remove them) from the $params variable. That would be a good size performance hit though it if did that. Reflection is fun, but it ain't cheap :sweat_smile:

+1 for this idea!

While it would be a nice convenience, I don't think it is worth the time and effort on this one.. ^_^ .. dependency injectors are around for a reason... Leave it as parameters in order.. Even if one doesn't use dependency injectors, can  add a few extra lines and use a closure to pass to another function in the "appropriate" order..
I just think that usually when I read "Named Parameters", it has a specific meaning. So maybe just need to update the docs and/or give it a new name.. 🤣

@n0nag0n Parameter capture is done with normal groups ( ) or with named groups (?<>) ???

On the one hand, it is true that named parameters are quite confusing if they are actually positional parameters... so we are sorry for the confusion in the documentation.

on the other hand it is true that reordering the parameters based on the url pattern may require reflection which is quite expensive, and to implement more flags in flight, we will end with 40 configuration flags in no time xD

Yeah true....we'll get the documentation corrected and close this issue for now.

So you are correct, but these aren't actually named parameters. If you check out the code in https://github.com/flightphp/core/blob/master/flight/Engine.php#L525-L527 it calls $this->dispatcher->execute() which takes the params that were pulled out of the url via regex. It passes those in and eventually calls call_user_func_array() at https://github.com/flightphp/core/blob/master/flight/core/Dispatcher.php#L354 which has no concept of named parameters or what order things should be passed in as.
So I wouldn't call this as much a bug as much as maybe a misunderstanding? The only way I could possibly see this happening is if the framework uses reflection to determine how you called your parameters and what you named your variables and if they match up then it would reorder them (or remove them) from the $params variable. That would be a good size performance hit though it if did that. Reflection is fun, but it ain't cheap 😅 It would also add complexity cause what if you typed your variable name wrong? What if you only had 1 of the 4 variables in your URL? What about typing and what if you accidentally typed your variable wrong and it kept coming through as an int? (I guess that's a problem right now too...)
Might be worth visiting in the future, I'd have to think about it and if it'd be worth it. It's the reason why the middlewares have an array of params instead of individual params because a grouped middleware might have routes with different numbers of params in their.

Sorry If I am saying silly things I come from Python :D
Is there a chance to build something like?:
Flight::route("/@user/@module", function(array $params) {
		var_dump($params['module']);  // elonmusk
		var_dump($params['user']);  // profile
		return false;
	});

So, yes technically could do that as you outlined, but in the current context you would be dispatching to a "mini router" It'd be something like:

// routes
Flight::route("/@user/@module", function(array $params) {
    var_dump($params['module']);  // elonmusk
    var_dump($params['user']);  // profile
    return false;
});

// Mini_Router.php
class Mini_Router {
    public static function call(string $user, string $module, ...$args) {
        if(file_exists('path/to/controllers/'.$user.'.php') === false) {
            throw new Exception('Class not found');
        }

        call_user_func_array([ $user, $module ], $args);
    }
}

Untested but this is the gist of it.

repo: flightphp/core


text:
Remove .vscode directory, and add it to .gitignore

Delete the .vscode directory, that had been reintroduced during #547, and add it back to the .gitignore file.
Helpful documentation: Git - gitignore Documentation, in particular the Pattern Format section.
By the way, excluding these IDE directories seems to be unpopular, because it should be the user's responsibility to exclude the metadata from the editors he is using.
See for instance:

https://github.com/laravel/framework/pull/19323
https://github.com/laravel/framework/pull/22550
https://github.com/laravel/framework/issues/37017

However, Taylor Otwell ended up adding these exclude lines, and I think the added convenience is worth these few extra lines.

So first off thanks for contributing! Usually we have a convo before a PR is submitted but this is small enough we can just have that convo here.
Originally it was excluded, but then it was included again because we wanted to keep workspace settings consistent among the maintainers and contributors while we were working out some consistent settings to be ran by automated processes (like spacing, whitespace, linting, etc).
So we do have better settings in place now. I'm curious what @fadrian06 thinks.
One thing to point out, Laravel is a fantastic framework, and has done a lot of good for the community! That being said however, we can learn from and in some cases mimic what Laravel does, but we shouldn't just blindly do it because Taylor did it. What Laravel is doing makes sense for Laravel, and it might make sense for Flight. Not a dig at you personally, just pointing it out for anyone who sees this PR.

Reading a little about the references attached in the PR, I was struck by the "what if tomorrow there is another IDE?"... You just have to look at the numbers to realize that VSCode will not be a dead thing tomorrow.
I'm not against removing editor settings in the project, but like @n0nag0n I'm not against removing editor settings in the project, but like you mention @n0nag0n It was just a mechanism so that contributors always had the same spacing, end of line and so on... I personally tend to forget and realize very late before committing.
I support using SublimeText :D but I removed its configuration from the project because I think I'm the only one who uses it... but in the case of VSCode it's different

The settings.json of .vscode will not even weigh 5kb, and it is not included when the package is installed, making Flight install very quickly even on slow connections...
Since we have the tests ignored in the composer install, we had the freedom to add more tests as necessary, the same happens with .vscode, which well only has the basics of code style, this way we ensure consistency in the PRs

If you don't mind @n0nag0n If you don't mind @n0nag0n and you will have your local configuration correct, removing other KB from the repository and making the flight lighter hehe

I think I'm ok merging this because we have PHPCS which will make the commits and things more consistent and we don't need editor settings to be saved in the repo anymore. Thanks for the help @vlakoff !


text:
#ChangeResolverNaming Change annotations and fields related to resolvers to be more intuitive and readable

Change
@Resolve(value="dep_name", inputs = {"i1","i2"} ) to
@To(dep="dep_name", depInputs = {"i1","i2"} )
OR
@ResolveInputsOf(dep="dep_name", depInputs = {"i1","i2"} )
Change
@BindFrom to @From

https://github.com/flipkart-incubator/Krystal/pull/113

repo: flipkart-incubator/Krystal


text:
feat: expose if refresh changed state in node sdk

Like #431 but for node

@erka Just published @flipt-io/flipt-client-browser@0.3.1 and @flipt-io/flipt-client@0.11.0

repo: flipt-io/flipt-client-sdks


text:
errors trying to view dashboard

After running 'yarn start' the localhost:3000 page is opened, a dashboard page appears very briefly then the below errors are displayed.

Looks like ^|"user"|occurences is empty which caused be causing the eerrors as no data would be returned by dc.Report.WebRest

repo: flnaves/airplane


text:
Clear timeout when socket is connected

Right now the "connection" timer is cleared when the response event is emitted.
There are cases where the response event is not emitted, for example if no data is received from the socket after connection.
When this happens timed-out emits a connection timeout error but technically this is not correct as the a connection has been established. Here is a test case:
'use strict';

const timeout = require('timed-out');
const http = require('http');

const server = http.createServer();

server.on('request', () => {});

server.listen(() => {
  const req = http.request({
    port: server.address().port,
    hostname: 'localhost'
  });

  timeout(req, 500);

  req.on('error', (err) => console.log(err.stack));
  req.end();
});

It prints the following errors:
Error: Connection timed out on request to localhost:50385
    at Timeout.timeoutHandler (/Users/luigi/timeout/node_modules/timed-out/index.js:10:11)
    at tryOnTimeout (timers.js:232:11)
    at Timer.listOnTimeout (timers.js:202:5)
Error: socket hang up
    at createHangUpError (_http_client.js:252:15)
    at Socket.socketCloseListener (_http_client.js:284:23)
    at emitOne (events.js:101:20)
    at Socket.emit (events.js:188:7)
    at TCP._handle.close [as _onclose] (net.js:493:12)

I wonder if it makes more sense to clear the timer when the connect event is emitted on the socket:
diff --git a/index.js b/index.js
index c3ff8b2..92c87a8 100644
--- a/index.js
+++ b/index.js
@@ -12,13 +12,16 @@ module.exports = function (req, time) {
 		req.emit('error', e);
 	}, time);

-	// Set additional timeout on socket - in case if remote
-	// server freeze after sending headers
-	req.setTimeout(time, function socketTimeoutHandler() {
-		req.abort();
-		var e = new Error('Socket timed out on request' + host);
-		e.code = 'ESOCKETTIMEDOUT';
-		req.emit('error', e);
+	req.on('socket', function assign(socket) {
+		socket.on('connect', function connect() {
+			clear();
+			socket.setTimeout(time, function socketTimeoutHandler() {
+				req.abort();
+				var e = new Error('Socket timed out on request' + host);
+				e.code = 'ESOCKETTIMEDOUT';
+				req.emit('error', e);
+			});
+		});
 	});

 	function clear() {
@@ -28,7 +31,5 @@ module.exports = function (req, time) {
 		}
 	}

-	return req
-		.on('response', clear)
-		.on('error', clear);
+	return req.on('error', clear);
 };

This makes timed-out emit a socket timeout error when the socket is connected but no data is received. The above example yields the following result:
Error: Socket timed out on request to localhost:50446
    at Socket.socketTimeoutHandler (/Users/luigi/timeout/node_modules/timed-out/index.js:20:13)
    at Socket.g (events.js:291:16)
    at emitNone (events.js:86:13)
    at Socket.emit (events.js:185:7)
    at Socket._onTimeout (net.js:334:8)
    at tryOnTimeout (timers.js:232:11)
    at Timer.listOnTimeout (timers.js:202:5)
Error: socket hang up
    at createHangUpError (_http_client.js:252:15)
    at Socket.socketCloseListener (_http_client.js:284:23)
    at emitOne (events.js:101:20)
    at Socket.emit (events.js:188:7)
    at TCP._handle.close [as _onclose] (net.js:493:12)

@lpinca yes, this makes perfect sense. Can you do a PR?
Only question is – is time in socket.setTimeout should be decreased by time, that socket event take?

I'm not sure, as I see it, it should works like this:

Wait for the connection event and if we don't get it in time emit the connection timeout error.
Once the connection event is fired set the timeout on the socket.

There could indeed be a case where the connection is opened very late and then there will be no more activity on the socket. In this condition the error event will be fire after ~ 2 * time, but I think the same can also happens with the current implementation for example when the response event is fired very late then a chunk is sent and then there will be no more activity on the socket.
Anyway I think this is a breaking change because right now (correct me if I'm wrong) a request is aborted for example when streaming something that takes longer than time and a response is not sent by that time. With this change this is no longer true. Everything is fine as long as there activity on the socket and the connection has been established.

I'll send a PR later and we continue the discussion there, I guess.

authors: floatdrop lpinca

repo: floatdrop/timed-out


text:
Intel HD Graphics 4000 glXCreateContextAttribsARB Failed

I am running an example Sokol program on linux: https://github.com/floooh/sokol-samples … ube-sapp.c
I get this error:
[sapp][panic][id:35] ../../sokol/sokol_app.h:10351:0:
	LINUX_GLX_CREATE_CONTEXT_FAILED: Failed to create GL context via glXCreateContextAttribsARB

The corresponding glfw example works.
Is there another way to create a window with sokol for this old graphics card?
inxi -Ga:
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics vendor: Apple driver: i915
    v: kernel arch: Gen-7 process: Intel 22nm built: 2012-13 ports:
    active: LVDS-1 empty: DP-1, DP-2, DP-3, HDMI-A-1, HDMI-A-2, HDMI-A-3,
    VGA-1 bus-ID: 00:02.0 chip-ID: 8086:0166 class-ID: 0300
  Device-2: Apple FaceTime HD Camera (Built-in) driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-1.1:3
    chip-ID: 05ac:8509 class-ID: 0e02 serial: DJHC8806HWDH7FL0
  Display: unspecified server: X.Org v: 21.1.14 driver: X:
    loaded: modesetting alternate: fbdev,intel,vesa dri: crocus gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1280x800 s-dpi: 96 s-size: 338x211mm (13.31x8.31")
    s-diag: 398mm (15.69")
  Monitor-1: LVDS-1 model: Apple Color LCD built: 2009 res: 1280x800 hz: 60
    dpi: 114 gamma: 1.2 size: 286x179mm (11.26x7.05") diag: 337mm (13.3")
    ratio: 16:10 modes: 1280x800
  API: EGL v: 1.5 hw: drv: intel crocus platforms: device: 0 drv: crocus
    device: 1 drv: swrast gbm: drv: crocus surfaceless: drv: crocus x11:
    drv: crocus inactive: wayland
  API: OpenGL v: 4.5 compat-v: 4.2 vendor: intel mesa v: 24.2.7-arch1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel HD Graphics 4000 (IVB
    GT2) device-ID: 8086:0166 memory: 1.46 GiB unified: yes

Hmm that will be hard to investigate since I don't have a HD4000 laptop around. Does that GPU even support GL 4.3? (since the HD4000 is really ancient).

Can you try this:
Down in the sokol_main function, define a GL version 4.1 like this:
    return (sapp_desc){
        .gl_major_version = 4,
        .gl_minor_version = 1,
        .init_cb = init,
        ...

This is basically the difference between cube-sapp.c and cube-glfw.c, one uses GL 4.3, the other GL 4.1.

Ahh I see. It works!
It doesn't support GL 4.3. I checked glxinfo -B:
  Max core profile version: 4.2
  Max compat profile version: 3.0
  Max GLES1 profile version: 1.1
  Max GLES[23] profile version: 3.0

Thanks!

authors: floooh zhedye

repo: floooh/sokol

license: Zlib


text:
Language binding friendly API changes...

A collection of things I stumbled over while doing language bindings:

all sizes and indices should be changed from signed integer to unsigned integer (probably even to size_t?), this is probably the most important change, as it can prevent a lot of ugly casts in more strict languages
anonymous nested structs and unions need to go (I don't like the few cases where this currently happens anyway)
some functions should offer an optional "f" version to return or accept floats (also to avoid casting):

sapp_width() / sapp_height()
sg_apply_viewport()
sg_apply_scissor_rect()

sg_draw() all args should be unsigned
pointer/size pairs should be grouped in a "range" struct (that way it might be possible to replace the pointer/size with a proper range/slice type in some languages)

...this isn't particularly high priority.

This is now implemented (with some exceptions where I changed my mind, see https://floooh.github.io/2021/02/07/sokol-api-overhaul.html)


text:
Publish package on PyPi

Here is the version how it can be installed from pypi and used as a library.
I already published it under https://pypi.org/manage/project/fritz-switch-profiles as I thought you would not respond to my issue.
I can add you as an owner on the project or delete it so you can create your own project.
Just tell me what you prefer.
Maintainer email address(s) and name(s) would have to be adapted in both cases.

Ah, I see that you've already adapted the Travis config ;)

authors: eifinger flopp

repo: flopp/fritz-switch-profiles


text:
Feature/GitHub workflow win mac

Hello,
inspired by a conversation on a PR on py-staticmaps, this PR adds windows and macOS to the github workflow.
It contains a dirty hack for pylint on windows only as it complains about no-member.
A lot of reading on the internet and testing various solutions brought me to this hack ;-).
I don't know if You'd like to have things like this on Your repo.
Take it as You like ...
Cheers
LT

Sorry,
that was too quick copy-and-paste

repo: flopp/py-staticmaps


text:
Tests are too slow

Tests from com.floragunn.searchguard.SGTests works to slow. On my machine 17 tests from SGTests get 5 minutes. As result tests not available run often when prepare PR with TDD methodology.
What do you thinks about test refactoring, and increase startup time?

Good idea, wanna submit a PR for this?

Yes

Great, happy to merge

authors: Gordiychuk floragunncom

repo: floragunncom/search-guard


text:
Crop sizes

Hey there,
in Vipsthumbnail.php, the resize() return statements on L 146 & 151 are exactly the same, aren't they? So you could do this instead:
	protected function resize(): string
	{
		// normalize crop
		// here it should be possible to take $this->options['crop'] "center" etc to make crops by direction
		// dirty weak check $this->options['crop'] == true if its either true or string "center" etc
		if (is_string($this->options['crop'])) {
			$this->options['crop'] = true;
		}

		// simple resize
		if ($this->options['crop'] === false) {
			return sprintf('--size %sx%s', $this->options['width'], $this->options['height']);
		}

        return sprintf('--size %sx%s --smartcrop attention', $this->options['width'], $this->options['width']);
	}

.. or not? :fox_face:
Cheers,
S1SYPHOS

Nevermind, it was late .. I see more clearly now :)


text:
Redirect throught geo localization

Hi, thank you for this plugin.
At the beginning I thought it was redirecting to the country of provenience of the client ip, but it seems it isn't.
Would it be possible to add this function? Maybe something like this https://github.com/boxedfish/yourls-Geo-API-plugin/blob/master/geo_api/plugin.php.
The idea is that if I share a link to shortened link to amazon.it and a german guy click on the link, Yourls checks the location and then redirect to amazon.de and add the german affiliate code.
Thank you and have a good day,
Alessandro

Hi @theRAGEhero,
thanks for the suggestion, but I don't have plans for adding this functionality to the plugin. Feel free to open a PR yourself or fork the repo if you need this in your YOURLS.

Hi @theRAGEhero,
thanks for the suggestion, but I don't have plans for adding this functionality to the plugin. Feel free to open a PR yourself or fork the repo if you need this in your YOURLS.

authors: floschliep theRAGEhero

repo: floschliep/YOURLS-Amazon-Affiliate


text:
Auto generate credential secret for NR project to remove warnings in log

closes #16
NOTE: This PR is linked with FlowForge auto-gen-cred-secret branch & should be reviewed/merged as one

As described in https://github.com/flowforge/flowforge/pull/604#pullrequestreview-978277836 - the launcher should be picking this up in the same way it gets its platform access token - via an command line parameter or env var:

args: https://github.com/flowforge/flowforge-nr-launcher/blob/d6019f895b509e037c18559464f2e8a7d04f6f41/index.js#L9-L15
fallback to env var: https://github.com/flowforge/flowforge-nr-launcher/blob/d6019f895b509e037c18559464f2e8a7d04f6f41/index.js#L20-L24

authors: Steve-Mcl knolleary

repo: flowforge/flowforge-nr-launcher


text:
Add roadmap page to website

Description

Added the webpage /roadmap
Added the roadmap page to the menu structure under features (changed "features" naming to "benefits")
The roadmap sections are dynamically populated with data fetched from the GitHub API, ensuring up-to-date information is displayed.

Main changes

Implemented fetchGitHubIssues() and fetchDevIssues() functions to fetch issue data from the GitHub API.
Created updateRoadmap() function to update the roadmap sections with fetched data.
Added new CSS classes and HTML structure for the roadmap sections.

Related Issue(s)
https://github.com/flowforge/website/issues/585
Screenshot

Checklist

[ ] I have read the contribution guidelines
[ ] I have considered the performance impact of these changes
[ ] Suitable unit/system level tests have been added and they pass
[ ] Documentation has been updated

I'm open to any suggestions for improvements or design changes. If you have any ideas or recommendations on how to enhance the user experience or the overall appearance of the roadmap page.

repo: flowforge/website


text:
initFileFn function not executed

We use ng-flow a lot and have set our own custom file bootstrap function initFileFn in options to extend the file object with some method of ours.
I can see from the source code that Fusty's bootstrap function does not simply check for the existence of an initFileFn.
It it purposeful? Or can I just PR to add the same logic from flow.js?
Current
    bootstrap: function () {
      this.abort(true);
      this.finished = false;
      this.error = false;
},

Desired

    bootstrap: function () {
      if (typeof this.flowObj.opts.initFileFn === "function") {
        this.flowObj.opts.initFileFn(this);
      }

      this.abort(true);
      this.finished = false;
      this.error = false;
},

Please open a pull request, fusty flow might be missing some new features

authors: AidasK djechelon


text:
🛑 Landing Page is down

In 71e6443, Landing Page (https://flowlity.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Landing Page is back up in 394066b after 8 minutes.

repo: flowlity/upptime


text:
notworking with phonegap

is this supported on phonegap ?

By phonegap do you mean this framework: http://phonegap.com/ ? Then this is not the place to talk about Flowplayer integration into development frameworks, at least not without more details.
Or are you talking about the playback problem on Android, like in your forum post at https://flowplayer.org/forum/#!/setup:mpeg-dash-with-flowplayer ?
Both the README and the demo mention the Android issue with AAC_HE. Does the second example on the demo page work?
As MPEG-DASH is still sort of experimental we expect problems, but again, please provide more details: which device? which OS version etc. etc.

As per forum also Android Lollipop as covered at length here: https://github.com/flowplayer/flowplayer-mpegdash/commit/1de538ea6cbeeec1be0ec448af4b976e1520a292#commitcomment-12997450
@ipernet - does the AAC_HE video still have to be there for reference in the Chromium bug report? I can't follow https://code.google.com/p/chromium/issues/detail?id=527411 because I get a 403. I could put it somewhere else, and have the AAC_LC example on our demo site.

Hi @blacktrash
The HE-AAC demo video is not required anymore as a reference., you can change it.
FYI the Chrome team has fixed the bug:
https://chromium.googlesource.com/chromium/src.git/+/0b5ec458acf03e3507a3737cfc483df0694cf803^!/ but I haven't tested it yet.

@ipernet - thanks. I understand the code that AAC_HE now should work (once one uses an OS version featuring the change), or have I got it muddled up?
If I'm right, we can leave the demo as is.

@blacktrash this is correct, this should work on the next chrome release so you can leave the demo as is!

@ipernet - thanks.
Closing this.

authors: blacktrash ipernet vinodhum

repo: flowplayer/flowplayer-mpegdash


text:
我安装了PluginLoader，但是依然提示没有安装，环境和其他步骤全部按照readme操作的

错误提示
Traceback (most recent call last):
  File "/www/server/panel/BTPanel/__init__.py", line 1850, in publicObject
    res = run_obj.run(toObject, defs, get)
  File "/www/server/panel/BTPanel/__init__.py", line 1797, in run
    result = getattr(toObject,get.action)(get)
  File "class/panelController.py", line 80, in model
    import PluginLoader
ModuleNotFoundError: No module named 'PluginLoader'

系统
debian 10

import PluginLoader

ModuleNotFoundError: No module named 'PluginLoader'
\n
Traceback (most recent call last):
File "/www/server/panel/BT-Task", line 13, in
import task
File "/www/server/panel/task.py", line 24, in
import db
File "/www/server/panel/class/db.py", line 16, in
import PluginLoader
ModuleNotFoundError: No module named 'PluginLoader'
\n
Traceback (most recent call last):
File "/www/server/panel/BT-Task", line 13, in
import task
File "/www/server/panel/task.py", line 24, in
import db
File "/www/server/panel/class/db.py", line 16, in
import PluginLoader
ModuleNotFoundError: No module named 'PluginLoader'

Name: pluginloader
Version: 0.1.3
Summary: Library to manage plugins/extensions in your applications.
Home-page: https://github.com/magmax/python-pluginloader
Author: Miguel Ángel García
Author-email: miguelangel.garcia@gmail.com
License: MIT
Location: /usr/local/lib/python3.9/dist-packages
Requires:
Required-by:

这个不需要你安装什么其他插件，应该是你的宝塔面板源码少文件了。你是用的第三方云端自带的宝塔安装包还是自己改的？

它自带的

自带的用批量替换脚本之后，我试过没问题啊

那可能是我哪里出错了。。已经放弃了改用破解版了额，不过谢谢回复

repo: flucont/btcloud


text:
FluentLoggerFactory#getLogger() potentially returns null

entry.getKey() returns null when key is GCed.

@todesking  thanks for your contribution. LGTM, merged.

authors: oza todesking

repo: fluent/fluent-logger-java


text:
Add support for AWS Elasticsearch

Update image with the fluent-plugin-aws-elasticsearch-service gem, https://github.com/atomita/fluent-plugin-aws-elasticsearch-service which allows you to specify an IAM access key/secret key for an IAM account to write to ES.

I'm currently working on that part for my current setup.
@repeatedly would you prefer that to be a brand new image or just add it as an option to the existing debian-elasticsearch one?

Actually, I deployed the aws elasticsearch proxy service inside k8s cluster.
And, use fluent-bit/fluent-d to publish data to proxy service.
I checked the atomita's plugin but feel no one maintain that for a long time.

Interesting. Are you talking about https://github.com/abutaha/aws-es-proxy ?
I've been using teh atomia plugin for a very long time outside of that project and am currently migrating to using this project, just adding the gem from https://github.com/atomita/fluent-plugin-aws-elasticsearch-service . There's been some activity on it lately thanks to @cosmo0920 .

@aerostitch
Yes.
container image: abutaha/aws-es-proxy:0.9

@hixichen @aerostitch  would love to hear more about the aws-es-proxy and any issues you've run into doing so.
Would ideally be best if the stable helm chart https://github.com/kiwigrid/helm-charts/tree/master/charts/fluentd-elasticsearch ? had a way to do this setup or similar.
But still - would rather hear first hand from others who've done it the issues they've faced.. reliability.. scaling.. gotchas.. etc

I tried the https://github.com/abutaha/aws-es-proxy but it does not seem ready for production. It has 13 open issues at the moment, 2 of which are deal killers for me: it fails to pass along 403 or 302 responses. When it encounters those responses from upstream (Elasticsearch or Kibana), it sends an empty 200 response downstream. That is a big problem, especially for Kibana.
So I am using  the mozilla-services proxy  proxy instead, as it seems to be in much better shape than the other one, is very easy to configure, and the whole Docker image is only 11 MB.

Hi Team.
Is there solution for this ?
Thanks in advance.

See https://github.com/fluent/fluentd-kubernetes-daemonset/pull/317

See #317

Thanks bro... I'll test and comment any issue

Can anyone please tell me how can I know if my fluentd is working properly. The daemon-set pods are running with no restarts, but there is still no index to Kibana. Here is my logs for the fluentd pod.
kubectl logs -f fluentd-6c6f9b575c-vgh7k
2020-12-17 14:13:57 +0000 [info]: parsing config file is succeeded path="/etc/fluent/fluent.conf"
2020-12-17 14:13:57 +0000 [info]: [elasticsearch] Detected ES 6.x: ES 7.x will only accept `_doc` in type_name.
2020-12-17 14:13:57 +0000 [info]: using configuration file: <ROOT>
  <match fluent.**>
    @type null
  </match>
  <source>
    @type forward
    port 24224
    bind "0.0.0.0"
  </source>
  <match fluentd.**>
    @type null
  </match>
  <source>
    @type http
    port 9770
    bind "0.0.0.0"
  </source>
  <source>
    @type monitor_agent
    bind "0.0.0.0"
    port 24110
    tag "fluentd.monitor.metrics"
  </source>
  <match **>
    @id elasticsearch
    @type elasticsearch
    @log_level "info"
    include_tag_key true
    host "elasticsearch-client"
    port 9200
    scheme http
    ssl_version TLSv1
    logstash_format true
    <buffer>
      @type "file"
      path "/var/log/fluentd-buffers/kubernetes.system.buffer"
      flush_mode interval
      retry_type exponential_backoff
      flush_thread_count 2
      flush_interval 5s
      retry_forever
      retry_max_interval 30
      chunk_limit_size 2M
      queue_limit_length 8
      overflow_action block
    </buffer>
  </match>
  <system>
    root_dir "/tmp/fluentd-buffers/"
  </system>
</ROOT>
2020-12-17 14:13:57 +0000 [info]: starting fluentd-1.3.3 pid=1 ruby="2.3.3"
2020-12-17 14:13:57 +0000 [info]: spawn command to main:  cmdline=["/usr/bin/ruby2.3", "-Eascii-8bit:ascii-8bit", "/usr/local/bin/fluentd", "--under-supervisor"]
2020-12-17 14:13:58 +0000 [info]: gem 'fluent-plugin-concat' version '2.3.0'
2020-12-17 14:13:58 +0000 [info]: gem 'fluent-plugin-detect-exceptions' version '0.0.11'
2020-12-17 14:13:58 +0000 [info]: gem 'fluent-plugin-elasticsearch' version '3.0.2'
2020-12-17 14:13:58 +0000 [info]: gem 'fluent-plugin-kubernetes_metadata_filter' version '2.1.6'
2020-12-17 14:13:58 +0000 [info]: gem 'fluent-plugin-multi-format-parser' version '1.0.0'
2020-12-17 14:13:58 +0000 [info]: gem 'fluent-plugin-prometheus' version '1.3.0'
2020-12-17 14:13:58 +0000 [info]: gem 'fluent-plugin-systemd' version '1.0.1'
2020-12-17 14:13:58 +0000 [info]: gem 'fluentd' version '1.3.3'
2020-12-17 14:13:58 +0000 [info]: adding match pattern="fluent.**" type="null"
2020-12-17 14:13:58 +0000 [info]: adding match pattern="fluentd.**" type="null"
2020-12-17 14:13:58 +0000 [info]: adding match pattern="**" type="elasticsearch"
2020-12-17 14:13:58 +0000 [info]: #0 [elasticsearch] Detected ES 6.x: ES 7.x will only accept `_doc` in type_name.
2020-12-17 14:13:58 +0000 [info]: adding source type="forward"
2020-12-17 14:13:58 +0000 [info]: adding source type="http"
2020-12-17 14:13:58 +0000 [info]: adding source type="monitor_agent"
2020-12-17 14:13:58 +0000 [info]: #0 starting fluentd worker pid=11 ppid=1 worker=0
2020-12-17 14:13:58 +0000 [info]: #0 listening port port=24224 bind="0.0.0.0"
2020-12-17 14:13:58 +0000 [info]: #0 fluentd worker is now running worker=0

As of deployment process was improved, there is a room for newer image build pipeline if user helps continuously maintain  the image even though still have  #293 issue. if you still have interest to do it, please create PR.

authors: AdrienKuhn Dolape1983 Nuru aerostitch amin224 esteban1983cl hixichen jicowan kenhys nukepuppy

repo: fluent/fluentd-kubernetes-daemonset


text:
Add Fluent::Plugin::Base#after_start to detect end of #start

This method (and flag which shows this method is called properly) helps threads to start its actual process when all preparations are done.
This fixes #1187.

@repeatedly Please check this change. This should be included in next release.

It's green on CI. I'll merge this later.

Does this addition require plugins to call after_start?
I was testing things using Fluentd v0.14.12 and the Elasticsearch output plugin v1.9.2 (which extends from ObjectBufferedOutput) and write never seemed to be called.  It also seemed like flush_interval was being ignored.  Instead, chunks only adhered to buffer_chunk_limit.
As a result, this would eventually lead to a BufferOverflowError.  Adding the following to the plugin seemed to resolve the problem, but I just wanted to confirm whether or not this an appropriate usage of after_start within a plugin.  Thanks.
def start
  super
  self.after_start
end

No. elasitcsearch plugin v1.9.2 uses v0.12 API and v0.14 uses compat layer for it.
after_start is not needed in v0.12 API so the problem seems not plugin itself.

authors: beng-beng repeatedly tagomoris

repo: fluent/fluentd


text:
Revert "WIP: Add GitLab CI Support to FluentD"

Reverts fluent/fluentd#2417
Can I revert these commits for now? I think it's super confusing that there is fluentd-bit's CI result in fluentd README.
What do you think? @edsiper @repeatedly @Digi59404

Hi @ganmacs!
Thanks for this! I was unaware of the Readme issue. Ideally Id like to roll forward instead of backward. I have a set of changes to the CI/CD file that are coming today to make it better and clean it up. In addition; I can also fix the Readme.
I apologize; I was unaware of the Readme issue otherwise I would have fixed it sooner. But I can include the fixes in a new MR later today.

Just a heads up; These concerns are addressed in https://github.com/fluent/fluentd/pull/2443

Thank you 😉 @Digi59404


text:
when pod mounting no dataset, change the affinity info from pod AntiPrefer to node Prefer.

Ⅰ. Describe what this PR does
when pod mounting no dataset, change the affinity info injected by the plugin from pod AntiPrefer to node Prefer.
The test code is optimized.
change "Labelname" to "LabelName"
Ⅱ. Does this pull request fix one issue?

Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
doc/zh/operation/pod_schedule.md
Ⅴ. Special notes for reviews

@allenhaozi  Please help review. thanks.

Codecov Report

Merging #827 (01a94c2) into master (10d8751) will increase coverage by 0.05%.
The diff coverage is 13.63%.

:exclamation: Current head 01a94c2 differs from pull request most recent head 83b57f6. Consider uploading reports for the commit 83b57f6 to get more accurate results

@@            Coverage Diff             @@
##           master     #827      +/-   ##
==========================================
+ Coverage   13.87%   13.93%   +0.05%
==========================================
  Files         106      107       +1
  Lines        4856     4872      +16
==========================================
+ Hits          674      679       +5
- Misses       4118     4127       +9
- Partials       64       66       +2

Impacted Files
Coverage Δ

pkg/common/constants.go
0.00% <0.00%> (ø)

pkg/ddc/alluxio/hcfs.go
0.00% <0.00%> (ø)

pkg/ddc/alluxio/port_parser.go
20.68% <ø> (ø)

pkg/ddc/alluxio/shutdown.go
0.00% <0.00%> (ø)

pkg/ddc/base/label.go
0.00% <0.00%> (ø)

pkg/ddc/base/runtime.go
47.12% <ø> (ø)

pkg/ddc/jindo/cache.go
0.00% <ø> (ø)

pkg/ddc/jindo/port_parser.go
25.00% <ø> (ø)

pkg/ddc/jindo/shutdown.go
0.00% <0.00%> (ø)

pkg/utils/dataset/lifecycle/schedule.go
23.21% <0.00%> (ø)

... and 4 more

Continue to review full report at Codecov.

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

authors: cheyang codecov-commenter yangyuliufeng

repo: fluid-cloudnative/fluid


text:
Added bottom to up button in the index file.

Fixed issue : #76
The bottom to up button is added with easy css,js,html. This is very helpful as it helps to go to top of the page with just clicking a button.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@jobara ?

@aashimgarg I mentioned on the Issue that we need to think about the design more. First to determine if it is something that is needed for this site, and, if so, what the intended design for it is.

 All committers have signed the CLA.

Stale and inactive PR. It requires more discussion. May or may not be closed.

This PR won't be merged as we are currently beginning a redesign process. Thanks for your contribution!

authors: CLAassistant aashimgarg claassistantio greatislander jobara sachin10101998


text:
perf(build): #0 local fmt conversion

Going to the binary cache for 2500 generated JSONs
is a waste of time, better build them locally

This also saves us the initial phase were Nix queries all configured substituters (binary cache) for checking if the file is there, which is really the bottleneck as 2500 http roundtrips take a lot of time

repo: fluidattacks/makes


text:
Accumulo testing

The change in commit 98eb086 are not yet tested.

I just tested the changes in commit 98eb086.  It works

+1

authors: keith-turner mikewalch

repo: fluo-io/fluo-deploy


text:
Framework not found ‘xxx plugin‘

I tried everything, but nothing worked for me.
flutter clean
delete pubspec.lock
delete podfile.lock
flutter pub get
pod install

flutter doctor
[✓] Flutter (Channel stable, 2.8.1, on macOS 12.3.1 21E258 darwin-arm, locale
    zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.57.1)
[✓] Connected device (2 available)
    ! Error: iPhone is busy: Fetching debug symbols for iPhone. Xcode will
      continue when iPhone is finished. (code -10)

• No issues found!

xcode log
ld: warning: directory not found for option '-L/Users/company/jz_idphoto/ios/Runner/frameworks'
ld: framework not found image_picker
clang: error: linker command failed with exit code 1 (use -v to see invocation)

vscode log
ld: warning: directory not found for option '-L[/Users/company/jz_idphoto/ios/Runner/frameworks]()'
    ld: framework not found image_picker
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    note: Using new build system
    note: Planning
    note: Build preparation complete
    note: Building targets in dependency order

Podfile
# Uncomment this line to define a global platform for your project
platform :ios, '9.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end

  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      ... # Here are some configurations automatically generated by flutter

      # You can enable the permissions needed here. For example to enable camera
      # permission, just remove the `#` character in front so it looks like this:
      #
      ## dart: PermissionGroup.camera
      # 'PERMISSION_CAMERA=1'
      #
      #  Preprocessor definitions can be found in: https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler/ios/Classes/PermissionHandlerEnums.h
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',

        ## dart: PermissionGroup.camera
        'PERMISSION_CAMERA=1',

      ]

    end
  end
end

@luokunman
Can you upgrade to latest stable and try again to see if same error occurs ? If so,  Can you provide entire verbose log in a text file by running flutter run -v along with pubspec.yaml in properly formatted text ?

@luokunman 您可以升级到最新的稳定版并再次尝试查看是否出现相同的错误吗？如果是这样，您能否通过与格式正确的文本flutter run -v一起运行来在文本文件中提供完整的详细日志pubspec.yaml？

I tried to upgrade to the latest version. That still doesn't solve my problem.
I delete the entire project and recreate the new project overlay. That would solve my problem.
I'm going to close the question, But I still don't know why.

authors: darshankawar luokunman

repo: flutter/flutter


text:
Strategies for static content rendering performance

I'm rendering document pages, which seems to be very performance intensive. I'm not entirely sure why. The volume of content in the document pages isn't dramatic. Nonetheless, the time to push the display list to the engine takes many frames.
Putting aside the time to push the initial display list, is there a way to cache a document page's display list in the engine, such that the page can be scaled up/down, without sending over another display list? The page content doesn't change after the initial render, only the ancestor transformations, so I would hope that there's a way to avoid any additional RenderObject work, but I haven't found such a path.
I tried wrapping each page with a RepaintBoundary, but this seems to yield very strange behavior when scaling up/down. Does the display list within a RepaintBoundary apply ancestor transformations up front, and then retain global coordinates? Or does the display list within a RepaintBoundary retain local coordinates and then play those on top of ancestor transformations in the engine? If the former, that might explain the weird behavior that I'm seeing.
Here are a couple videos that show the RepaintBoundary problem. In this first video, I have a series of "pages" that I can scroll and scale. The pages changes size as expected, they continue to meet exactly where they should, and the circle in the center grows and shrinks as expected.
https://user-images.githubusercontent.com/7259036/201578975-b57dc532-5dbc-4619-a74d-06ba96d518cc.mp4
In this next video, I took the exact same code and added a RepaintBoundary around a CustomPaint, which paints the circle at the center of each page. Here's what happens now.
https://user-images.githubusercontent.com/7259036/201579005-6caa133b-3a4d-4abf-bc8b-b00ee849d31c.mp4
These pages are laid out in a custom RenderObject, so it's possible that I'm screwing something up, but in the absence of a RepaintBoundary, the children appear with the offset and scale that they should.
So that's a problem that's actively preventing me from using a RepaintBoundary, but I'm also wondering if there are any other caching strategies that would allow content transformation without regenerating the display list for each page?

@chinmaygarde @jason-simmons - You probably know the answer to this.

Hi @matthew-carroll, I'm curious about how the display list diagnosis was reached. If there was already a discussion going on another github issue or discord thread, would you mind linking that here?
cc @flar

@matthew-carroll we need a code example to diagnose this.

Specifically on the code example, it'd be really good to have something that shows the bad behavior with the repaint boundary you're seeing. If that's a bug in the framework or engine we'd like to fix it.
On the broader question about performance it'd help to see some tracing and understand what's slow. It's hard to answer in the abstract. Maybe a strategy that preserves picture layers (like what flutter_svg currently does) would help. Maybe you need an API that lets you render text without using the whole of the paragraph machinery on each frame. Maybe you need to do something like use Picture.toImageSync to handle your own raster caching. Or maybe it's something else entirely. Without traces it's hard to say.

I'll need to figure out how to share useful snippets of code. I'll chat with my client and see what we can do.

I'm not sure we need the entire original application, but the code sample that were used to make those videos - the ones that showed the transform bugs - would help us diagnose the problem you are getting when you add the RepaintBoundaries.

It would still be nice to know more about the bug in the video around the repaint boundaries.

I think I've confirmed that the layout issue was my fault. I was doing something that wasn't quite right in terms of canvas vs layer transforms. I think I've fixed it.
I still plan to bring more material to this ticket, as requested. I need to reach an appropriate stopping point with my current work so that I can figure out what to extract and post here.

I tried wrapping each page with a RepaintBoundary, but this seems to yield very strange behavior when scaling up/down. Does the display list within a RepaintBoundary apply ancestor transformations up front, and then retain global coordinates? Or does the display list within a RepaintBoundary retain local coordinates and then play those on top of ancestor transformations in the engine? If the former, that might explain the weird behavior that I'm seeing.

I just saw this question within the original description. When recording to a Canvas, say in a CustomPaint or any RenderObject that executes calls on a ui.Canvas object, it is recording local coordinates. There is no initial transform in the ui.Recorder or ui.Canvas. The transforms in parent Widgets/RenderObjects are expressed by enclosing Transform objects and the recordings within a given Canvas are played back relative to those transforms.
If you have a RepaintBoundary around the generation of that display list, then the contents of that RepaintBoundary are severed from any connection with the surrounding painting and that display list is not regenerated unless a Widget underneath the RepaintBoundary widget indicates some need to repaint (such as an animation). It couldn't contain global coordinates otherwise it couldn't do its job of avoiding the rebuilding of the display list (or in some cases display lists) that its children generate.

Update: We've done a lot of optimizing for document rendering.
Layout
There are so many operations to process per page of a document that we can't fit the layout process into a single frame. As a half measure, we run as many layout operations during the layout phase as possible, until we reach 8ms of work, and then we punt to the next frame. This approach takes a lot of extra frames for setup and teardown, and the time estimations aren't good enough to completely eliminate jank, but it's far superior to our previous implementation that blocked the main thread for the entire layout pass.
When we run layout, we're caching Path objects. We'd like to cache the layout on a background thread, but the Flutter engine won't let us create Paths or Paragraphs in a background isolate. It would be nice if these weren't tied to the main isolate. What we're going to try, instead, is to define our own data structures for various paths, so that we can collect those path definitions in a background isolate, pass them to the main isolate, and then convert them into Flutter Paths. This re-definition of paths and the serialization is a consequence of Flutter limiting where those objects can be instantiated.
Painting
We discovered that our primary performance impact with painting was the shear number of Paragraphs we were creating and dispatching, because the document format tells us where to place smalls runs of glyphs, rather than providing a large piece of text to flow, ourselves.
The best answer here would be for Flutter to expose some of the lower level text painting abilities in Skia. We'd like to be able to say something like canvas.drawGlyph().
Currently, we've worked around the Paragraph problem by integrating a font package that renders individual glyphs. We've used that package to paint packed glyph textures. And we're drawing glyphs to the screen using canvas.drawAtlas() for an entire page at a time.
Rasterization
One area that seems to be completely outside our control is rasterization. For some reason, we're seeing a rasterization time of 25ms to 40ms. It's unclear why this is happening. I don't think our total number of paths is much larger than other complex Flutter UIs. I thought that perhaps the raster time was due to drawAtlas(), so I removed drawAtlas() and the raster times were still far too high. We've also noticed that anywhere from 33% to 50% of the raster time is spent on the Android buffer swap command. For example, we have seen buffer swaps that report a time of 20ms.
Shader Compilation
We were seeing massive shader compilation jank on the first frame per page. I opted to precompile those shaders. As a result, most shader compilation time is gone, but for some reason there are still a number of small shader compilation steps for the same pages in the same document. Also, for some reason, the time that we saved from shader compilation seems to have been replaced with other things, as mentioned above in the "Rasterization" section.
Summary
We'd love to see some kind of mechanism to paint our own glyphs. We're reinventing a lot of stuff to get around Paragraph.
We'd love to see the ability to creating Canvas painting objects like Paths and Paragraphs in a background isolate.
We don't know what to do about the raster process. We can't explain why it's taking so long and we're not sure what we can do about it.

Out of curiosity, how large is the text layout? Does it cover visible area, or entire document?

Out of curiosity, how large is the text layout? Does it cover visible area, or entire document?

At the moment, we're rendering an entire page at a time, regardless of visible area. That said, such a thing needs to be possible, anyway, because if the user zooms out, then the user is going to see the entire page. So aggressive culling might be a nice late-stage optimization, but lagging when the full page is visible isn't really acceptable.

I might be a bit confused with terminology. What exactly is a page? Text layouts usually works with documents and paragraphs. My question is, whether the entire document is laid out, or just the paragraphs currently being visible.
The problem I see here is that no matter how well you optimise the layout, if you keep laying out the entire document you are bound to reach the size where you just can't do that at interactive speeds.
For example TextKit 1 used to layout entire document by default and partial layout was an opt-in. In TextKit 2 partial layout is the default and laying-out anything outside visible viewport need to be manually requested. Considering partial layout a late-state optimisation seems a bit strange to me.

To be clear about terminology:

page: a finite visual area filled with text and shapes, e.g., an 8.5"x11" area scaled by the DPI
document: a series of pages

While rendering multiple pages in a document at the same time will certainly exacerbate performance issues, this ticket refers to issues that are faced when rendering even one page at at time. My point above is that we shouldn't have any issue rendering a single page, at a typical page size. We can open any popular document viewing or editing application and we can view a single page without issue. That page isn't culling any content, because all of its content is visible.

authors: dnfield flar knopp matthew-carroll zanderso


text:
The catchError method of SynchronousFuture returns a Completer that will never complete

Encountered while working on #113637.
Tangentially related: https://github.com/flutter/flutter/issues/115602.
See title.
https://github.com/flutter/flutter/blob/c0719509a1603a2357996b38ce94397f10ac3957/packages/flutter/lib/src/foundation/synchronous_future.dart#L37
The catchError method returns a new Future (via Completer<T>().future) that will never resolve since the completer it originated from is never completed.
This can break Future chains that include catchError. Here is an example:
// Inside some StatefulWidget

void _onUserSearchButtonPressed() {
  // Retrieve user data from over the network and then show it on the UI.
  // In the event that the network call fails, we'll load it from somewhere else instead.
  // Results are cached. Upon a cache hit, _getUserInfoFromFlakyNetwork
  // will return a `SynchronousFuture` containing the cached data.
  _getUserInfoFromFlakyNetwork(this.usernameToSearchFor)
      .catchError((error, stackTrace) => _getUserInfoFromReliableNetwork())
      // Issue: if `_getUserInfoFromFlakyNetwork` returns a SynchronousFuture,
      // the callback we provide to `then` will never be called.
      .then((userData) {
        // Update Widget state with userData
      })
     .catchError((error, stackTrace) () {
       // Handle error from _getUserInfoFromReliableNetwork
     });
}

Repro project
While this issue, as far as I know, isn't directly solvable[^1], we could do more to prevent confusing situations like the above.
Suggestions:

(Not mutually exclusive) Add a note to the docstring of SynchronousFuture warning of this behavior.
(Not mutually exclusive) Have calls to catchError on SynchronousFuture print a warning.
Have calls to catchError simply return this. This would be breaking, as (buggy) code that used to be a no-op would no longer be a no-op.

[^1]: Since a SynchronousFuture can resolve synchronously, it's possible that the callback passed to then runs before .catchError can be run to register the error-handling callback.

I see the same behavior upon running the reproducible code sample.

 stable, master flutter doctor -v
[✓] Flutter (Channel stable, 3.3.10, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.3.10 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 135454af32 (15 hours ago), 2022-12-15 07:36:55 -0800
    • Engine revision 3316dd8728
    • Dart version 2.18.6
    • DevTools version 2.15.0

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.7.0-13.0.pre.51, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.7.0-13.0.pre.51 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6441a7dc62 (3 hours ago), 2022-12-22 20:38:18 -0500
    • Engine revision 12badb5459
    • Dart version 3.0.0 (build 3.0.0-60.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

authors: andrewkolos darshankawar


text:
For what's worth, @999eagle got caching working on both iOS and android on a custom fork of the plugins repository video_player. We hope to open a PR with this back into the plugins repo at some point.

    For what's worth, @999eagle got caching working on both iOS and android on a custom fork of the plugins repository video_player. We hope to open a PR with this back into the plugins repo at some point.

  video_player:
    git:
      url: https://github.com/999eagle/plugins.git
      ref: feature/caching
      path: packages/video_player

Limit is set to 200mbs
Here are the commits with the magic.
https://github.com/999eagle/plugins/commits/feature/caching
Thanks to her work, we've now got video playing in our app :-)
Originally posted by @lifenautjoe in https://github.com/flutter/flutter/issues/28094#issuecomment-533831604

It's working 100% but I want to clear the cache. How can I do that? Is there any function available in this plugin to clear the cache?

For support issues with plugin forks, please contact the fork authors, or use a general discussion forum.
Closing as this is not a Flutter project issue.


text:
TextEditingController gets triggered twice when deleting characters from TextField

Is there an existing issue for this?

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

Steps to reproduce
Just use the official example for controlled text input on the latest stable release:
https://docs.flutter.dev/cookbook/forms/text-field-changes
Expected results
The characters should not show up twice in the console when deleting them:

Actual results
The last character gets printed twice to the console when deleting it:

Code sample
Code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

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

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Retrieve Text Input',
      home: MyCustomForm(),
    );
  }
}

// Define a custom Form widget.
class MyCustomForm extends StatefulWidget {
  const MyCustomForm({super.key});

  @override
  State<MyCustomForm> createState() => _MyCustomFormState();
}

// Define a corresponding State class.
// This class holds data related to the Form.
class _MyCustomFormState extends State<MyCustomForm> {
  // Create a text controller and use it to retrieve the current value
  // of the TextField.
  final myController = TextEditingController();

  @override
  void initState() {
    super.initState();

    // Start listening to changes.
    myController.addListener(_printLatestValue);
  }

  @override
  void dispose() {
    // Clean up the controller when the widget is removed from the widget tree.
    // This also removes the _printLatestValue listener.
    myController.dispose();
    super.dispose();
  }

  void _printLatestValue() {
    print('Second text field: ${myController.text}');
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Retrieve Text Input'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          children: [
            TextField(
              onChanged: (text) {
                print('First text field: $text');
              },
            ),
            TextField(
              controller: myController,
            ),
          ],
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.10.1, on macOS 13.3.1 22E261 darwin-arm64, locale de-DE)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.78.1)
[✓] Connected device (2 available)
[✓] Network resources

same problem...

This breaks my search completely... Did you find any workaround so far?

Thanks for filing this issue @kamami. This https://github.com/flutter/flutter/issues/45804#issuecomment-1234656811 is similar to this issue. Closing this as there is a similar issue currently open #45804, kindly follow up on the issue for further updates.
Thank you!

authors: arcanine33 dam-ease kamami


text:
[Impeller] vulkan backend broken at flutter/flutter main

reproduction steps
cd $FLUTTER_DIR/examples/hello_world
flutter run --enable-impeller

doctor
$ flutter doctor -v
[✓] Flutter (Channel main, 3.14.0-14.0.pre.271, on macOS 13.5.2 22G91 darwin-arm64, locale en)
    • Flutter version 3.14.0-14.0.pre.271 on channel main at /Users/aaclarke/dev/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 0aa879919c (15 minutes ago), 2023-09-13 11:52:08 -0400
    • Engine revision 5e671d5c90
    • Dart version 3.2.0 (build 3.2.0-140.0.dev)
    • DevTools version 2.27.0

log
E/flutter (11195): [ERROR:flutter/shell/platform/android/android_context_vulkan_impeller.cc(45)] Using the Impeller rendering backend (Vulkan with Validation Layers).
Syncing files to device Pixel 4a...                                 15ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

A Dart VM Service on Pixel 4a is available at: http://127.0.0.1:61122/UsQDTgwII3A=/
The Flutter DevTools debugger and profiler on Pixel 4a is available at: http://127.0.0.1:9101?uri=http://127.0.0.1:61122/UsQDTgwII3A=/
E/flutter (11195): [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure:
E/flutter (11195): --- Vulkan Debug Report  ----------------------------------------
E/flutter (11195): |                Severity: Error
E/flutter (11195): |                    Type: { Validation }
E/flutter (11195): |                 ID Name: VUID-vkCmdDraw-None-02699
E/flutter (11195): |               ID Number: 369680064
E/flutter (11195): |       Queue Breadcrumbs: [NONE]
E/flutter (11195): |  CMD Buffer Breadcrumbs: [NONE]
E/flutter (11195): |         Related Objects: DescriptorSet [284773511594243] [UNNAMED]
E/flutter (11195): |                 Trigger: Validation Error: [ VUID-vkCmdDraw-None-02699 ] Object 0: handle = 0x1030000000103, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0x1608dec0 | Descriptor set VkDescriptorSet 0x1030000000103[] encountered the following validation error at vkCmdDraw time: Descriptor in binding #64 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://www.khronos.org/registry/vulkan/specs/1.3-khr-extensions/html/vkspec.html#VUID-vkCmdDraw-None-02699)
E/flutter (11195): -----------------------------------------------------------------
E/flutter (11195): [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure:
E/flutter (11195): --- Vulkan Debug Report  ----------------------------------------
E/flutter (11195): |                Severity: Error
E/flutter (11195): |                    Type: { Validation }
E/flutter (11195): |                 ID Name: VUID-vkCmdDraw-None-02699
E/flutter (11195): |               ID Number: 369680064
E/flutter (11195): |       Queue Breadcrumbs: [NONE]
E/flutter (11195): |  CMD Buffer Breadcrumbs: [NONE]
E/flutter (11195): |         Related Objects: DescriptorSet [293569604616459] [UNNAMED]
E/flutter (11195): |                 Trigger: Validation Error: [ VUID-vkCmdDraw-None-02699 ] Object 0: handle = 0x10b000000010b, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0x1608dec0 | Descriptor set VkDescriptorSet 0x10b000000010b[] encountered the following validation error at vkCmdDraw time: Descriptor in binding #64 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://www.khronos.org/registry/vulkan/specs/1.3-khr-extensions/html/vkspec.html#VUID-vkCmdDraw-None-02699)
E/flutter (11195): -----------------------------------------------------------------

I bisected the issue to this pr: https://github.com/flutter/engine/pull/45739


text:
win-9 is dead.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
win-9 is dead.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Network adapter offline, rebooting machine to restart network service.


text:
Document that explains the importance of cleaning up Temporary Directory after using takePicture or recordVideo

We used the camera library, made it into a feature, and launched it to users, there were reports of our app consuming 40+ GB of storage space. After investigating, our top suspect is we didn't perform a clean-up of the cache in the Temporary Directory
I wish that we include and emphasize in the camera library docs the importance of removing unused cache after using takePicture and recordVideo
This will help raise awareness for young developers like me.
I may also help in writing the doc.
For in-depth details, I wrote something about it Storage Size Cleanup

https://github.com/flutter/flutter/issues/137889 is related; there's clearly some potential benefit to re-evaluating how we store camera images and/or how we describe that process.

Our company uses this package and thinking of implementing camera package our own due to security concerns. Saving sensitive images on disk in cache could cause information leaks. Manually deleting temp directory could be a solution but in nonhappy path, like app crashes, image will still persist.

authors: darielkurt pcc-cheng stuartmorgan


text:
Repurpose dev/integration_tests/external_ui

/cc @jonahwilliams @johnmccutchan @bdero
Background
Unbeknown to me, we have an e2e test in the framework covering surface_texture external textures:

.ci.yaml: https://github.com/flutter/flutter/blob/e593cdfb80975fb6a41dff21e3f4f774f7e68723/.ci.yaml#L2171
.dart runner: https://github.com/flutter/flutter/blob/e593cdfb80975fb6a41dff21e3f4f774f7e68723/dev/devicelab/lib/tasks/integration_tests.dart#L43
(actual test) https://github.com/flutter/flutter/blob/e593cdfb80975fb6a41dff21e3f4f774f7e68723/dev/integration_tests/external_ui/test_driver/main_test.dart

If working properly, it produces a picture like this:

... however, it doesn't do any pixel validation, and only runs on the Skia backend.

Tasks

[ ] Add a pixel-validation test, likely with two filled rectangles one-inside another
[ ] Add a resizing platform view test (https://github.com/flutter/engine/pull/50144)
[ ] Run Android in both Skia (current) and Impeller+OpenGLES (perhaps later in Vulkan)
[ ] Rename external_ui to external_texture_integration_test to disambiguate
[ ] Link to this test in the shell/embedder/android/README.md

I've decided to just not touch this for the time being.


text:
Support Google ads privacy sandbox

Use case
Privacy Sandbox will introduce new technology with how ads operate in Android apps and how to help data stay protected.
Proposal
ensure Flutter android apps leverages the new ads privacy sandbox appropriately https://privacysandbox.com/android

@zoeyfan @johnmccutchan, is this something that needs docs for the Q3 release on docs.flutter.dev?

Not that I am aware of.

authors: mariamhas sfshaza2 zoeyfan


text:
[tool_crash] ProcessException: Failed to find "/Applications/flutter/bin/cache/dart-sdk/bin/dartaotruntime" in the search path. Command: /Applications/flutter/bin/cache/dart-sdk/bin/dartaotruntime, OS error code: 0

Command
flutter --no-color run --machine --track-widget-creation --device-id=57624277-D4BC-4B27-B22B-019E1A996D1B --start-paused lib/main-staging.dart --flavor staging --dart-define ENV=STAGING --dart-define=flutter.inspector.structuredErrors=true lib/main-staging.dart

Steps to Reproduce

run lib/main.dart

Logs
ProcessException: Failed to find "/Applications/flutter/bin/cache/dart-sdk/bin/dartaotruntime" in the search path. Command: /Applications/flutter/bin/cache/dart-sdk/bin/dartaotruntime, OS error code: 0
#0      LocalProcessManager.start (package:process/src/interface/local_process_manager.dart:56:7)
#1      ErrorHandlingProcessManager.start.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:699:24)
#2      _run (package:flutter_tools/src/base/error_handling_io.dart:569:20)
#3      ErrorHandlingProcessManager.start (package:flutter_tools/src/base/error_handling_io.dart:698:12)
#4      DefaultResidentCompiler._compile (package:flutter_tools/src/compile.dart:875:37)
#5      DefaultResidentCompiler._recompile (package:flutter_tools/src/compile.dart:735:14)
#6      _RecompileRequest._run (package:flutter_tools/src/compile.dart:421:16)
#7      _CompilationRequest.run (package:flutter_tools/src/compile.dart:395:30)
#8      DefaultResidentCompiler._handleCompilationRequest (package:flutter_tools/src/compile.dart:781:23)
#9      _rootRunUnary (dart:async/zone.dart:1407:47)
#10     _CustomZone.runUnary (dart:async/zone.dart:1308:19)
#11     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1217:7)
#12     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:365:11)
#13     _DelayedData.perform (dart:async/stream_impl.dart:541:14)
#14     _PendingEvents.handleNext (dart:async/stream_impl.dart:646:11)
#15     _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:617:7)
#16     _rootRun (dart:async/zone.dart:1391:47)
#17     _CustomZone.run (dart:async/zone.dart:1301:19)
#18     _CustomZone.runGuarded (dart:async/zone.dart:1209:7)
#19     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1249:23)
#20     _rootRun (dart:async/zone.dart:1399:13)
#21     _CustomZone.run (dart:async/zone.dart:1301:19)
#22     _CustomZone.runGuarded (dart:async/zone.dart:1209:7)
#23     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1249:23)
#24     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)

[✓] Flutter (Channel stable, 3.24.4, on macOS 15.1 24B83 darwin-arm64, locale en-US)
    • Flutter version 3.24.4 on channel stable at /Applications/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 603104015d (13 days ago), 2024-10-24 08:01:25 -0700
    • Engine revision db49896cf2
    • Dart version 3.5.4
    • DevTools version 2.37.3

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/mac/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/to/macos-android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16B40
    • CocoaPods version 1.16.2

[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Android Studio (version 2024.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.3+-79915917-b509.11)

[✓] IntelliJ IDEA Community Edition (version 2024.2.4)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 82.1.3
    • Dart plugin version 242.22855.32

[✓] Connected device (3 available)
    • iPhone 11 (mobile)              • 57624277-D4BC-4B27-B22B-019E1A996D1B • ios          • com.apple.CoreSimulator.SimRuntime.iOS-18-1 (simulator)
    • macOS (desktop)                 • macos                                • darwin-arm64 • macOS 15.1 24B83 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                • darwin       • macOS 15.1 24B83 darwin-arm64

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

! Doctor found issues in 2 categories.

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: f30b7f4db93ee747cd727df747941a28ead25ff5
Plugins
firebase_core-1.13.1
firebase_core_web-1.6.1
firebase_crashlytics-2.5.3
firebase_messaging-11.2.8
firebase_messaging_web-2.2.9
firebase_remote_config-2.0.2
firebase_remote_config_web-1.0.7
flutter_pdfview-1.2.5
mixpanel_flutter-2.1.1
package_info_plus-4.1.0
path_provider-2.0.12
path_provider_android-2.0.12
path_provider_foundation-2.1.1
path_provider_linux-2.1.7
path_provider_windows-2.1.7
sentry_flutter-7.9.0
share-2.0.4
shared_preferences-2.0.13
shared_preferences_android-2.0.11
shared_preferences_ios-2.1.0
shared_preferences_linux-2.1.0
shared_preferences_macos-2.0.3
shared_preferences_web-2.0.3
shared_preferences_windows-2.1.0
sqflite-2.0.2
url_launcher-6.1.8
url_launcher_android-6.0.15
url_launcher_ios-6.0.15
url_launcher_linux-3.0.2
url_launcher_macos-3.0.0
url_launcher_web-2.0.14
url_launcher_windows-3.0.3
webview_flutter-4.5.0
webview_flutter_android-3.15.0
webview_flutter_wkwebview-3.12.0

Closing this as a duplicate of https://github.com/flutter/flutter/issues/143391

authors: Henrydykee darshankawar


text:
Compartmentalize CupertinoNavigationBar causes error

For some reason, I get this error when I try to compartmentalize CupertinoNavigationBar. What am I doing wrong?

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.blueGrey,
      ),
      home: CupertinoPageScaffold(
        navigationBar: new NavigationBar,
        child: Center(child: Text("Test!")),

      )
    );
  }
}

class NavigationBar extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new CupertinoNavigationBar(
      leading: Text("lead"),
      middle: Text("Title"),
      trailing: Text("Trailing")
    );
  }
}

Hi @lukepighetti
The error is due to the fact that the CupertinoPageScaffold expects a widget that implements the ObstructingPreferredSizeWidget interface, such as the CupertinoNavigationBar class.  Your NavigationBar stateless widget class doesn't implement this interface, hence the type error.
If all you want to do is refactor parts of your widget tree, you could use a method instead. It could be defined on MyApp or as top level method, for example:
class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.blueGrey,
      ),
      home: CupertinoPageScaffold(
        navigationBar: _navigationBar('Title'),
        child: Center(child: Text("Test!")),
      ),
    );
  }

  CupertinoNavigationBar _navigationBar(String middle) {
    return CupertinoNavigationBar(
      leading: Text('lead'),
      middle: Text(middle),
      trailing: Text('Trailing')
    );
  }
}

Yikes.

Is there still something to do for the Flutter team?

authors: jonahwilliams lukepighetti zoechi


text:
Weird glitchy artefacts for transparency on HTC One M9

Reproducible on the Flutter Gallery and also VivaBem app.
I tried with the latest flutter master branch also with the same result.
Android version 5.0.2. HTC Sense 7.0

Good news. I upgraded to Android version 5.1 and the artefacts have gone.


text:
Platform channel method invocation fails when waiting await to finish

This supersedes #20378. I open this new issue to describe the problem more precisely and correctly base on my latest findings.
The code that reproduces the issue (at least on my machine) can be found here. The repo uses firebase_messaging plugin to reproduce the issue, but I suspect the problem relates to Flutter and is a more generic one.
(I didn't include google-services.json in the repo, but am happy to provide one if needed)
Flutter's firebase_messaging plugin sets up a method channel to communicate with the platform code. On Android, calling FirebaseMessaging.configure() in Dart will trigger FirebaseMessagingPlugin.onMethodCall() to be called in Java, followed by some logic to retrieve the FCM token. When the Java code receives the FCM token through a callback, it calls Dart's onToken() method through method channel, which in turns trigger's the method call handler of the Dart code i.e. FirebaseMessaging._handleMethod() to run.
The problem is that if I have a long enough await statement after FirebaseMessaging.configure(), the Java code can still get the FCM token and calls channel.invokeMethod("onToken", token);, but this will no longer trigger the execution of FirebaseMessaging._handleMethod() in Dart. The message is lost, casuing the FCM token never returned to Dart. So if we wait for the FCM token to return in Dart, it will block forever.
Strangely this seems to be broken only when the code appears before runApp. If I move the configure and await code to the init method of a widget, the FCM token will return properly. Not sure if this is of any indication though.
I had a hard time isolating the exact cause of the problem and constructing a codebase that reproduce this issue 100%, which I don't want to repeat here. But this means that I'm not sure if the issue is reproducible on other people's machine. Please see #20378 to know more of my journey and some screencasts.
I am yet to have the time to test it on iOS.
[√] Flutter (Channel dev, v0.8.1, on Microsoft Windows [Version 10.0.17134.228], locale zh-HK)
    • Flutter version 0.8.1 at C:\flutter
    • Framework revision 0235ec59d1 (2 days ago), 2018-09-06 20:23:13 -0700
    • Engine revision 9b297b3b51
    • Dart version 2.1.0-dev.3.1.flutter-760a9690c2

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Users\CY\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: C:\Program Files\Android\Android Studio 3\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[!] Android Studio (version 3.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 22.2.1
    • Dart plugin version 171.4424
    X Unable to determine bundled Java version.
    • Try updating or re-installing Android Studio.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio 3
    • Flutter plugin version 28.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[!] Android Studio (version 2.1)
    • Android Studio at C:\Android\android-studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    X Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[!] VS Code, 64-bit edition (version 1.23.0)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected devices (1 available)
    • Nexus 5X • 00e1c63e154fae10 • android-arm64 • Android 8.1.0 (API 27)

! Doctor found issues in 3 categories.

I think https://github.com/flutter/plugins#869 was supposed to fix that.
Feel free to add a comment to have it reopened if you disagree.

authors: tamcy zoechi


text:
Execution failed for task ':path_provider:verifyReleaseResources'.  > java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details

flutter build apk

error:
Execution failed for task ':path_provider:verifyReleaseResources'.
java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details

@jp1017 did you manage to solve it?

@jp1017 did you manage to solve it?

I had the same issue.
Change the path_provider version to the newest. For ex. path_provider: 1.3.0
Then in terminal run:
flutter clean
Wait for it to delete older iOS and Android build files.
Then run again:
flutter build apk

authors: BondarenkoStas jp1017 yasinarik