Document that widgets in the overflow of stack do not respond to gestures

Internal: b/143100923
When a Stack contains MyWidget inside of a Positioned.
    Stack(
      overflow: Overflow.visible,
      children: [
        Positioned(
        top: -50.0,
        child: MyWidget(),
      )],
    );

Since overflow is Overflow.visible, MyWidget displays outside of the Stack. However, it doesn't accept gestures in the overflowed area. I have no idea if it's easy, difficult or downright impossible to make this change, but I can think of a gazillion use cases for that, which at the moment must be satisfied by using the much more complex Overlay, or some Stack tricks.
And in case it's impossible to make this change, then at least the documentation should clearly state that overflowed content can't receive gestures.
Also, see: https://stackoverflow.com/questions/51366761/in-flutter-how-can-a-positioned-widget-feel-taps-outside-of-its-parent-stack-ar

+1

Has anyone been able to achieve the same desired effect?
I need a stack where one widget slides up behind another and it has a gesture for pressing on it.

It is intentional that widgets in the overflow area of a stack do not react to gestures and that's unlikely to change. I recommend that people with this (or similar) problems refactor their app to keep all interactable elements within the bounds of a stack.
I do realize that we are not properly documenting this behavior of the stack widget in the API docs. Let's turn this bug into a documentation issue to improve that and properly document the gesture behavior of stack on the class.

Do you know a way around this? it seems like a bug otherwise how can we have one widget on top of another and the one behind it has a tap detector?

So the answer to this is to formalise the issue by documenting it?

Hi guys, I also hit the same rock with an ongoing redesign in our app.
I used an OverlayEntry to display the elements that I was overlapping in the Stack. You need to get the position + size of the element which you want to put the other widgets on top, with that you can position the OverlayEntry using those coordinates.
Doing this, you can get the same position you were doing with the Stack, but now your elements that are overlapping can handle gestures.
The only problem with this is that the overlay is fixed to those coordinates in the device's viewport. For a scrolling page, the overlay will be floating around, to solve this we used CompositedTransformTarget and CompositedTransformFollower, wrapping the target element with the former and the overlapping widget with the latter, both accept a link: LayerLink property, that lets you linked them, with this your overlay will follow the target widget while you scroll.
Something like this:
final _layerLink = LayerLink();
...
return CompositedTransformTarget(
      link: _layerLink,
      child: Text('Overlay target'),
    );
...
_overlay = OverlayEntry(builder: (_) {
        final RenderBox renderBoxRed = context.findRenderObject(); // BuildContext of the target element
        final position = renderBoxRed.localToGlobal(Offset.zero);
        final size = renderBoxRed.size;

        return Positioned(
          left: 16, // Horizontal positioning
          right: 16,
          child: CompositedTransformFollower(
            link: _layerLink,
            offset: Offset(0, (position.dy + size.height)), // Vertical positioning using the target dimensions
            child: Text('Overlay follower...'),
          ),
        );
      });
}

Overlay.of(context).insert(_overlay);

Hope it helps, if you want to know more about those widgets and different approaches on how to get a widget's size and position, check out these great articles that guided me to this approach.
Flutter: Using Overlay to display floating widgets
Flutter : Widget Size and Position

The problem with all of this is when I want to position an element like this :
Positioned(
  top: 22,
  left: 22,
  child: GestureDetector(
    onTap: () => Navigator.pop(context),
    child: Icon(
      Icons.arrow_back_ios,
      color: Colors.white,
      size: 28,
    ),
  )
)

Well it works fine on Android, iPhone, ... Except the iPhone XS Max (because of its rounded corners a part of this widget become invisible and it becomes unclickable).

It is intentional that widgets in the overflow area of a stack do not react to gestures and that's unlikely to change. I recommend that people with this (or similar) problems refactor their app to keep all interactable elements within the bounds of a stack.
I do realize that we are not properly documenting this behavior of the stack widget in the API docs. Let's turn this bug into a documentation issue to improve that and properly document the gesture behavior of stack on the class.

So what is the way to get the gesture when you have a positioned widget to be out of bounds of a container then?

Agreed, Because you are going to have lots of cases with design where you have a big button sitting at a bottom of a square which is a button and so on. To say you can not because it is instead cuts out a lot of designs.

This seems like something that should be a choice for the developer, not a limitation of the framework. I'm ok if the default is how it works currently, but an option to allow the click to allow for interaction outside of the stack boundaries would give that choice to the developer and allow for more options.
I was trying to implement a TapOutside widget that blocks interaction with other elements on the screen when a TextField is focused, and clears focus when tapped (and then allows interaction again). That's when I ran into this limitation. I don't think I can use a ModalRoute, as I want the user to click on and use a TextField that exists in the current screen (not push them to a new route).
I don't want to get too much more specific on the use case or ask for help (although if there is a "Flutter way" that I'm not seeing, I would potentially withdraw my complaint), just trying to demonstrate that there could be a use case. I've also looked into adding a GestureDetector at the root of the screen, and while that "works" for clicks not on other elements, because it's at the root, clicks on it do not block clicks on other elements on the screen. Maybe something with RawGestureDetector would work, but that seems like an awfully complex solution when putting a transparent barrier over the elements when the widget is focused is very simple. It just doesn't work due to this issue.

I agree that this should be left up to the developer. This is the second time I've come across this issue. My first time around I found a decent enough work around, now, it's incredibly verbose to get what I am aiming at when really this should just be left up to the developer to decide, not necessarily a design limitation of the framework.

I understand the disappointment. Unfortunately, performing hit-testing outside of the bounds of a stack in the overflow is prohibitively expensive in terms of performance.
I do still believe that you can always restructure your app to not require hit-testing in the overflow of a stack. Maybe, people can post some runnable code examples of where you'd like to do hit testing in the overflow of the stack and we can figure out how to restructure the code to not require that. Those example uses cases would also be good for us to include in the updated docs of overflow.

The example I posted is basically the scenario I envision it being useful to have hit-testing outside of the stack: basically trying to do a custom modal where you want to create an underlay that accepts click events from a specific widget. In my case, it was a search bar where we wanted to block other clickable elements when the search field is focused, but continue to have the search field above that. We did not want to make it a new "screen", hence not using the existing modal constructs.

I had a problem like this.
I animated the position of some children of a Stack so that they moved out of the Stack's bounds.
At the end of the animation, these children did not respond to gestures anymore.
I solved this problem by setting the 'fit' property of the Stack to 'StackFit.expand'.
Stack(     fit: StackFit.expand,     ... )
Hope this helps.

@frederickcxa: I was so hoping OverlayEntry would be the solution but the problem with that method is that the OverlayEntry doesn't go away when navigating to another screen. In my case, I wanted to create some sort of clickable icon widget with the OverlayEntry being the hotspot for the clickable area, which is bigger than the icon and often overlaps the surrounding area.

May I suggest an option to create an OverlayEntry above the current Overlay instead of at the topmost so at least when navigating to the next screen the OverlayEntry would be covered and not visible.

@goderbauer here's an example which I cannot figure out how to restructure:

I'm currently using a SliverAppBar with the following bottom widget:
PreferredSize(
    preferredSize: Size.fromHeight(24),
    child: Container(
      height: 24,
      child: Stack(
          overflow: Overflow.visible,
          alignment: AlignmentDirectional.center,
          children: [
            Positioned(
                bottom: -24.0,
                child: SizedBox(
                  height: 48,
                  width: 240,
                  child: RaisedButton(
                      shape: RoundedRectangleBorder(
                          borderRadius:
                              new BorderRadius.circular(30.0)),
                      onPressed: () => {},
                      color: Theme.of(context).accentColor,
                      child: Text('Shuffle Play'.toUpperCase())),
                ))
          ]),
    ));

Since the bottom half of the button is overflowing, it cannot be tapped.
I should note that I've also tried the OverlayEntry approach with CompositedTransformTarget and CompositedTransformFollower as described by @frederickcxa above but ran into the same issue as @gmaggio when navigating away from the screen (i.e. the overlay stays on the screen), even if I call overlayEntry.remove() in the dispose method of the origin screen.

@smkhalsa Put your whole list inside of a Stack. You should calculate and position your button using Positioned in this Stack, instead of the Overlay.

@marcglasberg do you mean wrap my CustomScrollView in a stack? How would I sync the position of the button with the SliverAppBar as it expands and contracts?

@marcglasberg nevermind, it worked! I wrapped my entire CustomScrollView in a stack and used CompositedTransformTarget and CompositedTransformFollower to sync the position of the button. Thanks so much!

same issue +1

same issue +1

Asking developers to re-architect their apps is really an unfortunate response imo. Developers are using these tricks because they're simple, fast, and elegant. Translating an item in a stack, is one of the few ways in Flutter to 'break our of the box', and many designs calls for this behavior. Of course these things need to be clickable.
I have a use-case for this, and interested in how you might workaround it.
The design concept for the app is Skueomorphic, the idea is that it's a bunch of buttons, on a table, and when you change views, it transitions from one spot on the table, to the other. You see the old view sliding out, and while the new one slides in, but crucially, some portion of the old view may still be visible (so I can't just load a new page entirely)
Something like this:

This is extremely easy to setup with a stack, I just create the 4 views, use Transform() to translate them offscreen, and then I can tween the correct view on screen when needed.
The only issue... none of the buttons or inputs work on Views 2 - 4, since they were initialized outside the parent stack.
I can't really think of any other ways to get this same behavior, without doing something very convoluted like rasterizing the whole widget tree, and then transitioning that offscreen, as I load my new view in.

see https://api.flutter.dev/flutter/widgets/Stack-class.html

The stack paints its children in order with the first child being at the bottom. If you want to change the order in which the children paint, you can rebuild the stack with the children in the new order. If you reorder the children in this way, consider giving the children non-null keys. These keys will cause the framework to move the underlying objects for the children to their new locations rather than recreate them at their new location.

you can put the taped widget at the last of the Stack children!

I made an overlay container (based on the overlay_container package) that makes replacing Stack(Positioned) with relatively positioned OverlayEntrys relatively easy. Also works around https://github.com/flutter/flutter/issues/48052

@goderbauer

Does the Transform.translate workaround above not incur the same performance penalty?
in my case, I spent a day or two of development time reworking my code to work with the overlay system, to get something that would have taken me an hour with overflow-aware gesture detection. I would be surprised if it is less expensive computationally

From my testing, you would have to have some pretty elaborate widget trees to have a significant performance cost on tap. I removed the bounds check completely, running on a mid-range android phone, tap frame was ~10ms, basically no perceivable difference.

Stack(
fit:StackFit.expand, // add this
overflow: Overflow.visible,
children: [
Container(), // add this as your first stack child
Positioned(
top: 0.0,
left: 0.0,
child: MyWidget(),
)],
);
// that is how I managed to work around it

Oh, just spend half of the day to figure out why my Containers not responds. And still no changes in documentation. Would be great to see any progress here.

here is how i solved this
Positioned(
          // added height and width that it could accommodate all its children, which in my case are 4
            height: 200,
              width: 200,
              right: 30,
              bottom: 30,
              child: Stack(
             // added aliment to put the stack inside boundary of positioned element
                alignment: Alignment.bottomRight,
                children: <Widget>[]))

The big problem is that Stack is the only way to free the positioning widget. When you have some complex UI with nested Stacks it's become a nightmare to calculate and expand all these Stacks.
If you guys are not willing to change its behavior, can you just give some alternative where we can set a position to the widget and forget about it, like in any game engine? It could have worse performance, but if it just works it will save a bunch of time for a lot of situations.

Still having the same issue. Have anybody found the solution?
Does flutter have another widget for creating such behavior as @smkhalsa  : https://github.com/flutter/flutter/issues/19445#issuecomment-531491746

You even have Positioned widgets that overflow Stack in your video tutorials. ) https://youtu.be/EgtPleVwxBQ?t=14
But push us to "keep all interactable elements within the bounds of a stack". There is a lot of situations with flutter's tree system when it's nearly impossible to manage. Especially in case of nested stacks.

@goderbauer What are the technical / philosophical limitations of allowing someone to specify the hitbox of a widget. Possibly solving:

tapping a widget that is positioned outside the bounds of a stack
increasing the tappable size of a GestureDetector

I have to facing with this problem and I have to workaround when put the widget that is a Positioned's child and put its as the last child of Stack widget then everything work well, Gesture can response.
  Widget build(BuildContext context) {
    final screenHeight = MediaQuery.of(context).size.height;

    final _orientation = MediaQuery.of(context).orientation;

    return GestureDetector(
        onTap: () {
          FocusScope.of(context).requestFocus(FocusNode());
        },
        child: Stack(
          overflow: Overflow.visible,
          fit: StackFit.expand,
          children: <Widget>[
            _buildBackgroundImage(),
            Scaffold(
              backgroundColor: Colors.transparent,
              body: SingleChildScrollView(
                child: Column(
                  children: <Widget>[
                    SizedBox(
                      height: screenHeight / 5,
                    ),
                    Container(
                      padding: EdgeInsets.fromLTRB(
                          _orientation == Orientation.portrait ? 80 : 250,
                          0,
                          _orientation == Orientation.portrait ? 80 : 250,
                          0),
                      child: Image.asset(
                        'assets/images/logo.png',
                        alignment: Alignment.center,
                      ),
                    ),
                    SizedBox(
                      height: screenHeight / 5,
                    ),
                    _buildEmailInputTextFieldWidget(),
                    _buildPasswordInputTextFieldWidget(),
                    _buildSingInButtonWidget(),
                    _buildGestureDetector(context),
                  ],
                ),
              ),
            ),
            _buildBackButton(),
          ],
        ));
  }

  Widget _buildBackButton() {
    return Positioned(
        top: 64,
        left: 15,
        child: GestureDetector(
          onTap: () {
            Navigator.pop(context);
          },
          child: Icon(
            Icons.arrow_back_ios,
            color: Colors.black,
            size: 30,
          ),
        ),
      );
  }````

Those in this thread may be interested in this recent change: https://github.com/flutter/flutter/pull/59364

Hi guys you can solve this problem by use Transform.translate instead of Position use
this:
Stack(
      overflow: Overflow.visible,
      children: [
        Positioned(
        top: -50.0,
        child: MyWidget(),
      )],
    );

become:
 Stack(
      overflow: Overflow.visible,
      children: [
        Transform.translate(
        offset: Offset(0,-50),
        child: MyWidget(),
      )],
    );

why 5 peple don't like this?

@Piinks  how does #59364  solve this problem.

@Piinks how does #59364 solve this problem.

It offers a new approach and mentions deprecating Stack.overflow in the future.

This is unifying clip semantics across multiple widgets? That doesn't affect this issue, though, right?

Just switched to master to check #59364. Yes, there is a new parameter "clipBehavior" in Stack, but no, it does not solve this problem, unfortunately.
Still waiting for something else.

gesture detector is showing weird behavious... for one Screen it is working outside the stack and and for other screen it is not working.
so i solved this using a container with padding top or bottom and color transparent... this way gesture detector detect tap as it comes inside of stack area and is clickable

@frederickcxa: I was so hoping OverlayEntry would be the solution but the problem with that method is that the OverlayEntry doesn't go away when navigating to another screen. In my case, I wanted to create some sort of clickable icon widget with the OverlayEntry being the hotspot for the clickable area, which is bigger than the icon and often overlaps the surrounding area.

You can just remove the overlay when you navigate.

@magpiedigital So how do you rebuild the overlay on navigating back with .pop()?

@magpiedigital So how do you rebuild the overlay on navigating back with .pop()?

Just await the original .push() and rebuild it after that

"Restructure your project" is a very lazy suggestion @goderbauer , the developers decide whether they want performance or not. 3 years have passed and until today there was no solution, it is really sad.

@magpiedigital Can you give us a sample code. I've been trying to figure out a way to rebuild upon popping back but the only way I can think of is using RouteObserver.

@gmaggio This isn't the right place to be asking for this type of help (Stackoverflow is better) but have you tried something like this:
navigate() async {
   _overlay.remove() // removes the overlay before navigating
   await Navigator.of(context).push() // navigates and waits until .pop()
   Overlay.of(context).insert(_overlay); // reinserts the same way you initially build
}

In case you didn't know you could await a navigation, it's an important concept and allows you to pass values back in the pop as well.
I haven't tested this code btw

Here's how I dealt with this, I hope you find it helpful:
First off, I have a SizedBox that will take the height and width of my choosing (taking into account the size of the widgets that will overflow), the child of the SizedBox will be a Stack (Stack 1) with children, but the first child will be another SizedBox with your preferred size (not including the widgets that will overflow) and its child is a Stack (Stack 2) that has children that do not overflow. The other children of Stack 1 will be after the first SizedBox with child (Stack 2) and will be the widgets that do overflow.
Here's a quick example that I've put together for a button that overflows the stack (second FAB with a check icon):
Scaffold(
      appBar: AppBar(
        title: Text('i.e Contact Details'),
      ),
      body: SizedBox(
        height: MediaQuery.of(context).size.height,
        child: Column(
          children: [
            SizedBox(
              height: 300, /* total size accounting overflow widgets * /
              /* +30 to the 270 in the second stack to take into account the remainder of the button (~60 total diameter of a FAB) */
             /* always add the size for all of widgets that overflow and need to be pressed,
                but only the size that overflows not the whole size of the widget.*/
              child: Stack(
                overflow: Overflow.visible,
                children: [
                  SizedBox(
                    height: 270, /* size for widgets that are in the stack */
                    child: Stack(
                      children: [
                        Container(
                          color: Colors.grey[300],
                          width: double.infinity,
                          child: Center(
                            child: Text(
                              'i.e Put a contact image here',
                              style: TextStyle(
                                fontWeight: FontWeight.bold,
                                color: Colors.black,
                              ),
                            ),
                          ),
                        ),
                        Positioned(
                          top: 150,
                          right: 20,
                          child: FloatingActionButton(
                            heroTag: 'i.e Edit Contact',
                            elevation: 0,
                            backgroundColor: Colors.white,
                            onPressed: () {},
                            child: Icon(
                              Icons.edit,
                              color: Colors.black,
                            ),
                          ),
                        ),
                      ],
                    ),
                  ),
                  Positioned( /* FAB that overflows and need to be pressed, placed in the first stack */
                    top: 240,
                    right: 20,
                    child: FloatingActionButton(
                      heroTag: 'i.e Save Contact',
                      elevation: 15,
                      onPressed: () {
                        print(
                            'I can be pressed from anywhere even the parts where I overflow the stack xD');
                      },
                      child: Icon(Icons.check),
                    ),
                  ),
                ],
              ),
            ),
            Column(
              children: [
                Center(
                  child: Text(
                    'Do other great things here',
                    style: TextStyle(fontWeight: FontWeight.bold),
                  ),
                ),
              ],
            ),
          ],
        ),
      ),
    );

@fluttergithubbot Clean please fix this issue!!! None of the working around are working. You gotta seriously look into this!

This issue must be fixed

move clickable widget bottom side like this
child: Stack(
          children: [
            ListTile(title: _productImage(context), subtitle: _productInfo),
            Positioned( //clickable widget
              right: 20,
              child: Column(
                mainAxisSize: MainAxisSize.min,
                children: [
                  IconButton(
                    icon: Icon(Icons.shopping_basket),
                    onPressed: () {
                      context.read<User>().addFirstItemToBasket(product);
                    },
                  ),
                  Text('0'),
                  IconButton(
                    icon: Icon(Icons.add),
                    onPressed: () {},
                  ),
                  IconButton(
                    icon: Icon(Icons.remove),
                    onPressed: () {},
                  ),
                ],
              ),
            ),
          ],
        ),

why is this error closed without a clean fix?

https://stackoverflow.com/a/62500610/5899585

https://dartpad.dev/2ec6318a6658af7501af8f482b84364f? solution

why closed this issue

Please fix this issue 🙏🏻

This is the best bet for getting a fix for this anytime soon, please share your use cases here:
https://github.com/flutter/flutter/issues/75747

Why this issue is still considered as "works as expected" or "works as intended"?
Clearly, an undeniable amount of power users of Flutter facing it.

gesture detector is showing weird behavior... for one Screen it is working outside the stack and and for other screen it is not working.
so i solved this using a container with padding top or bottom and color transparent... this way gesture detector detect tap as it comes inside of stack area and is clickable

code example will be appreciated

I faced the same issue now and resolved it as follows.
This can not apply to every case but some cases would be solved.
In my case, I need to overlap half of the tappable widget to the end of the bigger container.
The key is Make a Stack bigger than you need and locate tappable positioned widget at the end
SizedBox(
              width: dashboardContainerWidth,
              height: dashboardCenterContainerHeight + 50, <--
              child: Stack(
                clipBehavior: Clip.none,
                alignment: Alignment.center,
                children: [
                  Align(
                    alignment: Alignment.center,
                    child: Container(
                      height: dashboardCenterContainerHeight,
                      decoration: BoxDecoration(
                        color: AppColors.light_gray,
                        borderRadius: AppBorderRadius.circularMax,
                        border: Border.all(),
                      ),
                    ),
                  ),
                  Positioned(
                    top: 0,
                    child: OrangeArrowButton( < -- height is 50, tappable widget
                      arrowIcon: AppIcons.arrow_upward,
                    ),
                  ),
                  Positioned(
                    bottom: 0,
                    child: OrangeArrowButton(< -- height is 50, tappable widget
                      arrowIcon: AppIcons.arrow_downward,
                    ),
                  ),
                ],
              ),
            ),

The key is Make a Stack bigger than you need and locate tappable positioned widget at the end

Wrapping Stack with SizedBox worked for me
SizedBox(
  width: double.infinity, // or `height: double.infinity` based on your case
  child: Stack(
    children: [
      ...
    ],
  ),
)

Any updates on this? Got a production app and really need this feature.

why closed the issue???

Hey everyone, this issue was closed because it's now only asking for the documentation to clearly state the limitation.
This documentation change was actually done by https://github.com/flutter/flutter/pull/60726
Please note, there are other issues that could solve this, here:

https://github.com/flutter/flutter/issues/75747
https://github.com/flutter/flutter/issues/31728

And there is also this package:

https://pub.dev/packages/expand_tap_area
However, it really doesn't work well because it can't feel a tap outside of the parent's bound.


Addressing crate local state for procedural macros problem

Hi! Thank you for this cool work!
I think that this approach could also address this issue. More precisely, I mean persistent data storage for all macros. This could be obtained by Wasm multimodules approach and sharing the same memory for one modules. Moreover, SQLite or Redis could be used to save state. All of them compiled in such a way to work like in-memory db without any imports. With our proc macro they could be used in the following way:
#[invocation_handler(side_modules = redis)]
fn run(arg: String) -> Vec<u8> {
    redis::call("SET A 1")
}

#[invocation_handler(side_modules = sqlite)]
fn run(arg: String) -> Vec<u8> {
    sqlite::call("SELECT * FROM Table")
}

And I can adapt them to any convention.
What do you think about that? I haven't look at the internals of watt, so can't estimate how many should be add to support this idea.

This doesn't solve part two of https://github.com/rust-lang/rust/issues/44034#issuecomment-371636335:

There is no guarantee of ordering -- if do_it! needs data from all config! invocations, that's a problem.

You also have the problem that there is no place to store the database. watt can't just think of a place to store it without co-operation with cargo. For build scripts, cargo passes the OUT_DIR env var, but for rustc invocations it only does it when there was a build script. For rustc invocations, cargo assumes that nobody will write to the OUT_DIR. Any persistence of state without co-operation with cargo is a problem, as cargo doesn't know if and when it needs to invalidate the state. It is also completely valid for the rustc process to have read-only access to all files except for the /tmp dir and the output artifacts. In fact I wouldn't be surprised if for example bazel already does this. In any case bazel doesn't persist the state across rustc invocations. Every rustc invocation gets it's own container.

@bjorn3 thank you for the answer

There is no guarantee of ordering -- if do_it! needs data from all config! invocations, that's a problem.

What about the next answer on that topic with depends_on feature of proc macro?
Regarding the other - all of proposed DBs are only in-memory, so access to filesystem isn't needed, only thing that need is using the same memory in macro interpreting. (Sorry, I've added later while modifing the issue text). To be honest, I don't know is it possible with watt to make memory persistent.

What about the next answer on that topic with depends_on feature of proc macro?

That would need to be added to rustc first.

Yes, you are right. Lets consider another approach.
I think that significant part of the people whom this issue is addressed to want to just two-stage scheme when some information is collected from applying proc macros and on the second stage this infomation is used by some other code that need to be run automatically on compile time. In my case I am developing a SDK for wasm with support of interface-types generation. Smth similar to wasm-bindgen, but mostly for server-side platform without integration with JS. Moreover, wasm-bindgen works in two forms - at first, it embeds some additional info to wasm binary (such as describes functions and some static arrays) by applying proc macro and then it uses all of this info in CLI form by cargo wasi/wasm-pack. With watt I believe this two form could be reduces just to one.
It could be done by dtor of some static object inside wa. This dtor needs only an access to Wasm memory that should previously be filled with neccessary info from proc macros.

You would still need a seperate step for wasm-bindgen. First multiple crates may independently use it, in which case the proc-macro can't ever read the info from the other crate. (think sibling crates) Two there is no way to generate js using the proc-macro. There is no place to write it to.

First multiple crates may independently use it

Haven't thought about it, and don’t know whether it is possible to solve it...

Two there is no way to generate js using the proc-macro.

I meant that this will be done by dtor of some global object inside crate with proc-macro definition. Based on the wa example it could be written smth like that:

struct Test {
  wasm_macro: WasmMacro,
  final_state_generator: Box<FnOnce<...>>,
}

// assuming that this is possible in Rust
static mut TEST: Test = Test::new(WasmMacro::new(WASM), Box::new(wasm_state_generation));

static WASM: &[u8] = include_bytes! {
    "../../impl/target/wasm32-unknown-unknown/release/watt_demo.wasm"
};

impl Drop for Test {
  fn drop(&mut self) {
    self.final_state_generation(self.wasm_macro.get_state());
  }
}

fn wasm_state_generation(wasm_state: &WasmState) {
   // generating js, interface-types and other stuff based on the Wasm state
}

#[proc_macro_derive(Demo)]
pub fn demo(input: TokenStream) -> TokenStream {
    TEST.proc_macro_derive("demo", input)
}


⚠ ClamAV has degraded performance

In e524b90, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 297 ms

Resolved: ClamAV performance has improved in 13eccc7.


core: give possibility to configure state machine batch sizes

What this PR changes/adds
Add configuration settings to set the batch size of the state machines:

edc.negotiation.consumer.state-machine.batch-size: ConsumerContractNegotiationManagerImpl
edc.negotiation.provider.state-machine.batch-size: ProviderContractNegotiationManagerImpl
edc.transfer.state-machine.batch-size: TransferProcessManagerImpl

Why it does that
As stated in #393 currently the batch size is hard-coded, adding settings will permit more fine-grained configuration of the EDC
Further notes
Extracted StateMachineStore interface that is extended by TransferProcessStore and ContractNegotiationStore, this will permit to have a unique documentation point for nextForState, and in the future could lead to a stronger abstraction that could avoid further duplications.
Extracted AbstractContractNegotiationManager that for the moment will be a container for the collaborators (that are the same between the two implementations` and for the builder abstraction. In the future could be used to contain other common code.
Linked Issue(s)
Fix #393
Checklist

[x] formatted title correctly? (take a look at the CONTRIBUTING
and styleguide
for details)
[x] added appropriate tests?
[x] performed checkstyle check locally?
[x] added/updated copyright headers?
[x] documented public classes/methods?
[x] added/updated relevant documentation?
[x] added relevant details to the changelog? (skip with label no-changelog)
[x] linked GitHub project? (see the section on the right-hand side -->)

One minor thing is I would rename this issue to describe what it does better. This will help when it is picked up in the change log.

@jimmarino I tried, it's better now?

@jimmarino the CosmosDB test is flaky (I can't restart it). For the rest I think we are ready for merging it


[WIP] Added Plugwise component

Description:
Adding Plugwise thermostats to be controlled and monitored through an integration. Including the other climate products of this vendor is anticipated by the community, but let's start with this (current custom_component) and use our community forces to expand before the PRs get too big.
Pull request with documentation for home-assistant.io: home-assistant/home-assistant.io#9992
Example entry for configuration.yaml (if applicable):
climate:
  - platform: plugwise
    password: secret
    host: 192.168.xxx.xxx

Checklist:

[x] The code change is tested and works locally.
[x ] Local tests pass with tox.
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ x The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[x] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[x] Untested files have been added to .coveragerc.

--
Waiting on original author of haanna.py dependency to update PyPi module before removing [WIP].
--
As this is my first (set of PRs) please correct me where necessary - I'm on discord as well.
Code has been working and tested as a custom_component from https://github.com/laetificat/anna-ha

Hello @CoMPaTech,
When attempting to inspect the commits of your pull request for CLA signature status among all authors we encountered commit(s) which were not linked to a GitHub account, thus not allowing us to determine their status(es).
The commits that are missing a linked GitHub account are the following:

9e8d3e5a198c6b633cb2c3a30546f4330190ae55 - This commit has something that looks like an email address (info@compa.nl). Maybe try linking that to GitHub?.

Unfortunately, we are unable to accept this pull request until this situation is corrected.
Here are your options:

If you had an email address set for the commit that simply wasn't linked to your GitHub account you can link that email now and it will retroactively apply to your commits. The simplest way to do this is to click the link to one of the above commits and look for a blue question mark in a blue circle in the top left. Hovering over that bubble will show you what email address you used. Clicking on that button will take you to your email address settings on GitHub. Just add the email address on that page and you're all set. GitHub has more information about this option in their help center.

If you didn't use an email address at all, it was an invalid email, or it's one you can't link to your GitHub, you will need to change the authorship information of the commit and your global Git settings so this doesn't happen again going forward. GitHub provides some great instructions on how to change your authorship information in their help center.

If you only made a single commit you should be able to rungit commit --amend --author="Author Name<EMAIL_ADDRESS>
(substituting Author Name and<EMAIL_ADDRESS>for your actual information) to set the authorship information.
If you made more than one commit and the commit with the missing authorship information is not the most recent one you have two options:

You can re-create all commits missing authorship information. This is going to be the easiest solution for developers that aren't extremely confident in their Git and command line skills.
You can use this script that GitHub provides to rewrite history. Please note: this should be used only if you are very confident in your abilities and understand its impacts.

Whichever method you choose, I will come by to re-check the pull request once you push the fixes to this branch.

We apologize for this inconvenience, especially since it usually bites new contributors to Home Assistant. We hope you understand the need for us to protect ourselves and the great community we all have built legally. The best thing to come out of this is that you only need to fix this once and it benefits the entire Home Assistant and GitHub community.
Thanks, I look forward to checking this PR again soon! :heart:

Hi @CoMPaTech,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Waiting for https://github.com/laetificat/haanna/issues/7

Thanks for the pointers @elupus I've cleaned up a good bit of things that shouldn't have been there in hindsight. Thanks for helping along on the learning experience. As the code is outdated, should I resolve all conversations or leave them open? (It won't build anyway as we're waiting on post-black)

Resolve what you consider fixed. Then rebase after black.

B(l)ack on track :) Hope you'll find the code improved and in better condition!

@elupus ?


Best way of monitoring multiple fields at once?

Hi,
this is a slightly simpler version of what I currently have:
stream
    .from().measurement('reading')
    .alert()
        .id('Sensor {{ index .Tags "sensorId" }}')
        .message('{{ .ID }} is {{ .Level }} (Temp: {{ index .Fields "Temperature" }}C, Humidity: {{ index .Fields "Humidity" }}%)')
        .warn(lambda: "Temperature" > 20 OR "Humidity" > 60)
<EMAIL_ADDRESS>
I have two questions regarding this.

Is there a smarter way of monitoring 2 different fields at the same time than putting an OR inside a lambda like I did here?
Is there a way to tell which one of these two values triggered the warning/crit inside the message()? If I had that, I would not have to display both fields when perhaps only one of them is relevant at a certain moment.

If this is explained somewhere in the docs, sorry for the trouble, I somehow didn't find it then, but I believe I checked it all.
Thanks

@pootzko There are two ways to do what you want.

Using the OR as you have it and using conditional logic in the template itself. See golang template docs https://golang.org/pkg/text/template/. But that requires you to duplicate the logic in the lambda expression and the template which is not ideal.

Use two different alert nodes one for each field.

var data = stream
    .from().measurement('reading')

// Alert for high Humidity
data
   .alert()
        .id('Sensor {{ index .Tags "sensorId" }}')
        .message('{{ .ID }} is {{ .Level }} Humidity: {{ index .Fields "Humidity" }}%')
        .warn(lambda: "Humidity" > 60)
<EMAIL_ADDRESS>
// Alert for high Temperature
data
   .alert()
        .id('Sensor {{ index .Tags "sensorId" }}')
        .message('{{ .ID }} is {{ .Level }} Temp: {{ index .Fields "Temperature" }}C')
        .warn(lambda: "Temperature" > 20)
<EMAIL_ADDRESS>

A little more verbose but I think its more clear what you are trying to do.

Oh ok, that's great. Thank you.
What would you say, is there any significant performance difference between using OR and having two alert nodes?

There is a performance difference as more work needs to be to send the data to both alert nodes but I do not think it is significant, but I don't have any data to back that up ;)
FYI  I am currently working to better quantify the performance characteristics so if I learn something surprising I'll post back.

That would be most awesome. Thanks. :)


Addressing issue #41 - maxSyncConcurrency environment variable

Fixes #41
Motivation

This commit allows users to specify an env variable MAXSYNC which overrides DefaultConcurrency in rosetta-sdk-go.
Solution

The solution was to add a field to the Configuration struct in the same way as Mode and Network. Then used this value when constructing the syncer to override defaults.
Open questions

This is a revised PR, same fix but cleared up some issues with the Dockerfile.


fix: fix Preview.Input content

Before submitting a pull request, please make sure the following is done...

[x] Ensure the pull request title and commit message follow the Commit Specific in English.
[x] Fork the repo and create your branch from main.
[x] If you've added code that should be tested, add tests!
[ ] If you've changed APIs, update the documentation.
[x] Ensure the test suite passes (npm test).
[x] Make sure your code lints (npm run lint) - we've done our best to make sure these rules match our internal linting guidelines.

Please do not delete the above content

What have you changed?
fix https://github.com/alibaba/formily/issues/2749

Codecov Report

Merging #12 (0cebe02) into main (c7cc0d8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #12   +/-   ##
=======================================
  Coverage   75.00%   75.00%
=======================================
  Files           1        1
  Lines          16       16
  Branches        4        4
=======================================
  Hits           12       12
  Misses          4        4

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 c7cc0d8...0cebe02. Read the comment docs.


DOCS-1090: Adds versioning configuration

Fixes https://tigera.atlassian.net/browse/DOCS-1090

Corrects the versioned URL structure for version 'latest'
Adds/removes banners with version-related message.
Sets CE 3.14 as 'latest'
Adds 'beta' tag and unreleased banner to 3.15

@ctauchen looks good.
one note. Ticket says "These links should always link to the current version.". Not sure what does it mean, if "current" here means currently selected version (or last selected version) then it's fine, but that how it always worked. If "current" means always latest version, then it's not fixed. I.e if I select 3.24 then the link in header will lead me to OS 3.24

@denis-alkhelali Thanks. I wasn't very precise in my wording, and I forgot entirely about how Docusaurus remembers what you've been viewing.
My test: When I open in incognito mode and click on Calico Enterprise from the Docs drop-down, it opens 3.14 (and for OS 3.25.
Thanks for following up and clarifying.


Update to Mirage 4.5

Update to the compile time/runtime arguments change in mirage 4.5.
All the options except "enable-monitoring" are moved to the runtime arguments.
The "syslog" and "monitor" runtime arguments are not present when monitoring is not enabled.

thanks.


XR input sources interact with Elements

Allows XR (VR and AR) Input Sources to interact with Element components. This simplifies creating UI for XR.
Events: hoverstart, hoverend, pressedstart, pressedend, click will now be fired when interacting with UI using input sources: gaze, screen (AR), handheld, etc.
New APIs:
pc.ElementInput#options.useXr // new property for constructor options
entity.button.on('selectstart', function(evt) { }); // fired when input source primary action is started on UI element
entity.button.on('selectend', function(evt) { }); // fired when input source primary action is ended on UI element
entity.button.on('selectenter', function(evt) { }); // fired when input source starts to hover over UI element
entity.button.on('selectleave', function(evt) { }); // fired when input source is not hovering over UI element anymore
pc.ElementSelectEvent // new event object to handle input sources interactions with Elements
pc.XrInputSource#id // unique number to identify input source. It will not persist for physical hardware reconnections.
pc.XrInputSource#elementInput // boolean to toggle if input source should interact with Elements. By default is True.
pc.XrInputSource#elementEntity // null or Entity over which input source ray is hovering

I confirm I have signed the Contributor License Agreement.

This PR will have to be updated after https://github.com/playcanvas/engine/pull/1991 is merged.

OK @Maksims, #1991 has now been merged. :smile:

Updated the PR, so now it uses updated input source transform methods.
Ready for merging.


Add direct measurement result to measurement.

This change is

src/main/proto/wfa/measurement/api/v2alpha/measurement.proto, line 127 at r3 (raw file):
Previously, stevenwarejones (Steven Ware Jones) wrote…
what about using com.google.protobuf.Duration?

Done.


fix: exit recording should be something like save and exit recording

The fact that this action both saves and exits is not immediately obvious

fixed in v1.1


Using dd doesn't copy end of line on single line

When using dd in Vim, newlines are copied even on single lines. In an empty file, this Vim macro can be used to demonstrate the issue: iThis is a test.<ESC>dduppp
NOTE: <ESC> should be replaced with the escape key, which can not be rendered by GitHub's font in this case.
In Vim, the output is as follows:
This is a test.
This is a test.
This is a test.
This is a test.

In Atom with vim-mode, however, it is this:
This is a test.This is a test.This is a test.This is a test.

Thanks for looking into this. I feel like these types of basic concerns are essential to the Vim experience, and are an expectation for a lot of common tasks performed by Vim users. I think that just forgetting this would be a bit too sad, but writing a custom undo/redo system seems a bit messy. I wonder if Atom should (or maybe already does?) expose more flexible APIs for working with undo/redo?

Thanks for looking into this. I feel like these types of basic concerns are essential to the Vim experience, and are an expectation for a lot of common tasks performed by Vim users. I think that just forgetting this would be a bit too sad, but writing a custom undo/redo system seems a bit messy. I wonder if Atom should (or maybe already does?) expose more flexible APIs for working with undo/redo?

I can't replicate the bug - is it still there?

@jacekkopecky Thanks for looking into this. It looks like this was fixed recently along with another issue. I'll close the issue for now. Thanks! :)


News97: add label to illustration of attack

This adds a label to the image in https://bitcoinops.org/en/newsletters/2020/05/13/#request-for-an-additional-taproot-signature-commitment
Adding a label makes it similar to the related attack described in a newsletter a month later: https://bitcoinops.org/en/newsletters/2020/06/10/#fee-overpayment-attack-on-multi-input-segwit-transactions
I want to use both images in a different context and so it'd be nice if they both had labels (my preference) or neither had a label.

Looks good to me. Thanks @harding!


Recommend step stops including access tokens

[EDIT by guardrex to add code blocks and inline code style]
Step 6 In Program.Main (Program.cs):
-builder.Services.AddTransient(sp => new HttpClient
-    { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
+builder.Services.AddScoped(sp => new HttpClient
+    { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });

The AddTransient is not present in the visual studio templated webassembly application.  Not really knowing what to do (very new to blazor) I added the line to my program.cs
Adding the line after this one
builder.Services.AddScoped(sp => sp.GetRequiredService<IHttpClientFactory>().CreateClient("Test.ServerAPI"));

So the final code looks like this
builder.Services.AddScoped(sp => sp.GetRequiredService<IHttpClientFactory>().CreateClient("Test.ServerAPI"));
builder.Services.AddScoped(sp => new HttpClient{ BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });

allows the code to run but stops tokens being passed on GetFromJsonAsync webapi calls.
Good learning experience for me but one I'd sooner have lived without.
Changing the wording to recommend only adding the problem line if the AddTransient line exists might have helped me.
Steps to reproduce

create a new web assembly project with Individual; user accounts and HTTPS.
follow the steps in the article but guess incorrectly on how to handle the section mentioned above.

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

ID: b031caa0-c62b-37da-46c3-59043256cac2
Version Independent ID: bdf98c9a-96f6-79fd-a650-5c0385d1a62b
Content: Migrate from ASP.NET Core 3.1 to 5.0
Content Source: aspnetcore/migration/31-to-50.md
Product: aspnet-core
Technology: aspnetcore-migration
GitHub Login: @scottaddie
Microsoft Alias: scaddie

Thanks @sterneric ... I'll take a look at this on Thursday.


About the ShapeNet dataset

Hi, thanks for your great work! I want to ask what pointcloud, label, seg represent in ShapeNetPart dataset?

And can we use the part segmentation code of dgcnn to perform instance segmentation with only one category? As shown in the figure below, I want to separate each part inside by training dgcnn.

Hi, thanks for your great work! I want to ask what pointcloud, label, seg represent in ShapeNetPart dataset?

Please see DGCNN paper for details.

And can we use the part segmentation code of dgcnn to perform instance segmentation with only one category? As shown in the figure below, I want to separate each part inside by training dgcnn.

DGCNN can't perform instance segmentation. You need to understand what the part segmentation task is.


horizontal scrolling mouse utility

Description of the new feature / enhancement
I'm unsure whether i'm missing something, both on PowerToys and Windows outright, regarding the ability to horizontal scroll on office apps. whereas virtually everywhere else it is reached via holding SHIFT+MOUSE WHEEL up/down, office apps do not seem to allow me to do this.
Scenario when this would be used?
whenever using office apps
Supporting information
No response

Hi @CRV-WKD, thanks for reaching out.
This is something that is implemented per app and Office app doesn't support that for some reason. I just gave it a try, Word doesn't support Shift+Scroll but it supports scrolling via thumb scrolling wheel I have on my mouse.
I.e. this is related to external app, not PowerToys


Problem dashboards should show unhandled counts (and overall counts below)

This also fixes the weird difference between the 'Meter' widget counts
and summary of all problems.
Requested here: https://monitoring-portal.org/index.php?thread/40796-icinga-2-login-mit-dashing-anbinden/
refs #18
fixes #17

This solution looks good for me, of course smarter as mine. :)


 This is a good engine yes, but like, you don't wanna get too many coders on the team because, like I said, you'll just over sophisticate things.
Secondly, this a pretty good engine ngl.
Thirdly,
(I know this is kinda hypocritical to what I said but) can I be part of the team please? It's your choice on whether you wanna invite me or not brandon, your opinion, not mine.
Fourthly, your a cool person and friend brandon :)))

And yes, I got github pro.

yeah....


Traffic Ops Server Unique Constraint Doesn't Allow Multiple Servers With The Same IP and Profile on Different Ports

The Traffic Ops server table has a unique constraint on (ip, profile). This should be (ip, port), or possibly (ip, port, profile), to allow multiple servers on the same machine/ip with different ports. This is particularly useful for testing with many synthetic servers on the same machine.
I particularly need this, because I was trying to create a Dockerfile with ~1000 test caches, to load test the Monitor, and it isn't possible without dropping that constraint (or creating 1000 separate profiles, which is infeasible).
implementation
The constraints are in traffic_ops/app/db/create_tables.sql
CREATE UNIQUE INDEX idx_89709_ip_profile ON server USING btree (ip_address, profile);
CREATE UNIQUE INDEX idx_89709_ip6_profile ON server USING btree (ip6_address, profile);
A Goose migration needs created in traffic_ops/app/db/migrations which drops those indexes (constraints) and creates new ones for (ip, port).

@rob05c - is this still relevant?

Yes. This is still relevant, and still a pain for people running multiple CDN services on the same host.


Change maintainer from @astrofrog to @astrofrog-conda-forge

Hi there :wave:. This is an automated pull request to change the maintainer from @astrofrog to @astrofrog-conda-forge (having conda-forge as one of my organization makes the Travis and AppVeyor GitHub integrations extremely slow, so I've decided to have a dedicated account for conda-forge-related work)

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

@conda-forge-admin, please update team

@astrofrog -- I'm merging even though CI hasn't passed since we are not rebuilding anyway...


Fix geos website link

A little fix for the link to the new geos website. Is it plan to use an external website for the documentation ?

Thanks! Yes, we should look into setting up something better for documenting all the functions etc. Or maybe we can do a GitHub wiki? We'll think about it.


Fix erroneous extra lines in PackageReference documentation

This removes some seemingly unintended extra lines introduced by #1119, which also cut off part of the text "NuGet.Config".

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/consume-packages/Package-References-in-Project-Files.md
:white_check_mark:Succeeded
View

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


Update to 3.0.8

Implemented option to allow browser innate caching - feature request #52

This would be incredibly useful for production enviroments!!
@IonDen

any update on merging this?

@exoszajzbuk, yes, thanks for reminding.

@IonDen any update?


feat: make changelog filename configurable

Optional parameter -f or --filename is added to specify the name of the changelog file

partly fixes  #1

Hi @juckerf
Thanks for the contribution!
I would love to merge this, if we can do it without the breaking change.
I know of multiple different applications that are already using this in automated pipelines, and I would hate to break them on next release.
/Frederik

I changed the default filename back to Changelog.md, so now it should be non-breaking.
(I made a bit of a mess with the commits, so feel free to squash the PR for a clean history)

Perfect! Thanks!


Tag new version

Please create a new release version tag so that people do not have to use dev-master.

@bumbummen99 Thank you for noting this. Working on it!

Thank you! It is ready!


chore: Compute default value for jsaction params

Description
Automation
/ok-to-test tags=""
:mag: Cypress test results

[!CAUTION]
If you modify the content in this section, you are likely to disrupt the CI result for your PR.

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[ ] No

/build-deploy-preview skip-tests=true


k8s1.22 部署web.yaml失败.Internal error occurred: failed calling webhook "mutating.lxcfs-admission-webhook.aliyun.com": failed to call webhook: Post "https://lxcfs-admission-webhook-svc.default.svc:443/mutate?timeout=10s": x509: certificate specifies an incompatible key usage

Internal error occurred: failed calling webhook "mutating.lxcfs-admission-webhook.aliyun.com": failed to call webhook: Post "https://lxcfs-admission-webhook-svc.default.svc:443/mutate?timeout=10s": x509: certificate specifies an incompatible key usage

any update ?
I have this error too

I found the register cert with kubernetes api is misleading
https://github.com/denverdino/lxcfs-admission-webhook/blob/master/deployment/webhook-create-signed-cert.sh#L87
Just to create a tls with openssl is enough.Like below
https://pet2cattle.com/2021/08/kubernetes-mutating-webhook


cannot publish tables

The tables cannot be published in the project to relate the data, it is not possible to set a date for the migration file names.

@henry-ht can you please share more details? the error you are getting and which version of laravel you are using?
Are you upgrading for an earlier version? or is it a fresh install?
try follow these steps
php artisan vendor:publish --tag=world

php artisan migrate

php artisan db:seed --class=WorldSeeder

@henry-ht can you please share more details? the error you are getting and which version of laravel you are using? Are you upgrading for an earlier version? or is it a fresh install? try follow these steps
php artisan vendor:publish --tag=world

php artisan migrate

php artisan db:seed --class=WorldSeeder

more than an error, it is a problem to be able to add it to an existing project. for example, as the tables are always created at the end, it is impossible for me to establish a relationship with the user table

@henry-ht i don't fully understand the problem but for custom implementation i would suggest you clone the repository, and many copy and adapt the code in order for you to create a relationship with users which is not supported by the package itself


Query Builder set update not working correctly

Codeigniter 4.0.3 version.
$builder->set('order', 'order+1')
	->where('order >=', 0)
	->update();

produce query
UPDATE `core_cms_banners` SET `order` = 'order+1' WHERE `order` >= 0

This is good but i wanted to update with a numeric value based on order so i have this code
$builder->set('order', 'order+1', FALSE)
	->where('order >=', 0)
	->update();

produced query
UPDATE `core_cms_banners` SET order = order+1 WHERE `order` >= 0

For this i get error from db because of fields are not incapsulated correctly
So i tried this code
$builder->set('`order`', '`order`+1', FALSE)
	->where('order >=', 0)
	->update();

so i get THIS QUERY
UPDATE `core_cms_banners` SET order = `order`+1 WHERE `order` >= 0

there is missing qutoes for the first order text like it is removed from nowhere even with third parameter $escape as FALSE

Anyway i used increment() function for this
I think this is not a bug or ?

I used increment() method because of this.


Updated FaceRec/app/main/Edit.py

Description
Improper Resource Management: The camera resource (cv2.VideoCapture(0)) is now properly initialized and released to prevent the camera from being locked after the application stops. Functions for initializing and releasing the camera are added to ensure correct handling.
Lack of Comprehensive Error Handling and Input Validation: Input validation is implemented for the form data, ensuring that invalid or malicious inputs are not processed. Error handling has been added for camera access, file operations, and HTTP requests to avoid crashes and provide meaningful feedback to the user.
Avoidance of Global Variables Leading to Potential Race Conditions: Global variables are replaced by Flask’s g object to store request-specific data. This refactoring prevents race conditions and ensures data integrity across concurrent requests.
Fixes # (issue 73)
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Test A: Tested video feed functionality to ensure the camera resource is properly managed and released.
Test B: Validated input for the form on the /capture route with valid and invalid inputs, ensuring proper error handling.
Test C: Simulated concurrent requests to check for race conditions and verify data consistency when using the Flask g object.
Checklist:

My code follows the style guidelines of this project
I have performed a self-review of my own code
I have commented my code, particularly in hard-to-understand areas
My changes generate no new warnings

📊 Contributor Stats for @bhavya2021245:

Total PRs Merged: 18

Recent Contributions (last 10 PRs):

Lines Added: 43209
Lines Deleted: 5506
Keep up the great work! 🚀

Hello @bhavya2021245 , I appreciate your efforts towards our project, we'll shortly review your PR It would be really helpful if you include screenshots of your changes.
@puwun please look into it


[CROSSDATA-413] Adapt Crossdata to the last version of the Spark-MongoDB datasource

This PR adapt Crossdata to the latest version of Spark Mongo Data Source (0.11.1)

+1


where are the docs?

It would be super convenient if the feather documentation is linked in the Readme -- it is takes an annoying amount googling to find it.
https://arrow.apache.org/docs/python/feather.html
I can push a pull request if you wish.

Sure, send a PR if you wish in the preamble of the README where it says that the development has moved to the Arrow project


Button javascript.0.Log-Script.logXxxx.clearJSON not working reliably

Clicking on button javascript.0.Log-Script.logXxxx.clearJSON is not working reliably. See forum report by liv-in-sky.
Script version: 1.02 alpha

Fixed with version 1.2


Add cron.deny/allow and refactored for Puppet4

This is a fairly extensive refactor to get rid of some of the unsupported stuff (like using hiera_hash(), create_resources..etc).  I also pulled in #24 into this PR as @pillarsdotnet had already added the type casting to parameters
Closes #24
TL;DR
Refactored for Puppet 4 and added cron.allow/deny
* Feature: add management of /etc/cron.allow and /etc/cron.deny
* Enhancement: Replaced hiera_hash() with lookup() calls
* Enhancement: Replaced params.pp with in-module data (Hiera 5)
* Enhancement: Replaced create_resources with iterators
* Enhancement: Replaced anchor pattern with contain
* Metadata: Changed compatibility to Puppet >4.9.0 <6.0.0

Summary
Feature: /etc/cron.allow,deny
This PR adds the ability to manage /etc/cron.allow and /etc/cron.deny using the $users_allow and $users_deny parameters.  It can be switched on and off with the $manage_users_allow and $manage_users_deny parameters.  Both of these params currently default to false to help with backwards compatibility - so this feature is currently opt-in
Replaced hiera_hash()
hiera_hash() has reached the end of the road - this has been replaced with the lookup() function  introduced the Puppet 4.x series
Replaced params.pp pattern
The params.pp pattern is no longer the necessary evil it once was.  This pattern is now considered dated and this PR replaces params.pp with the new style data-in-modules using Hiera 5
Replaced create_resources()
Like params, create_resources() is something that just needs to go away now - this PR replaces the create_resources calls with iterators.
Replaced anchors with contain
The anchor pattern was something of a hack that is now achievable in a much nicer way using contain
Compatibility
Technically, due to the use of Hiera 5 these changes mean the module is now compatible out-of-the-box with Puppet 4.9 ( < 6.0.0 ).  Users of older Puppet 4 installation can still get it working though, they'd just need to add some extra Hiera data to account for data in modules not being available.  I think this could easily be documented, and there should be very few reasons why existing Puppet 4 users shouldn't be updating to at least 4.10.  This module is still 0.x, I dont think we should be afraid to add the dependency on 4.9+ - it's better than starting out on unsupported patterns.

I love this but the hard dependency to 4.9+ scares me.
I know this module is only version 0.x but for some reason it gets a ton of downloads and I'm afraid this will break some setups.
Is it really >=4.9? Not >=4.7?

Well, it's a soft dependancy - I think the only thing that wouldn't work in earlier 4.x versions is the hiera 5 style data in modules that replaces params.pp which can be circumvented by the user adding some extra Hiera data of their own - not ideal but not impossible either.
It's not 4.7 compatible because it's Hiera 5
What level of version support coverage would you find acceptable?  I'll try and re-work the PR to be compatible with those versions.....

@roman-mueller I've been trying to get the data in modules to work with Hiera v4 for compatibility but running into some really strange behaviour trying to run the tests on certain versions of Puppet..... v4 Hiera is also experimental and already deprecated (it was the bridge between Hiera 3 and Hiera 5) so I'm not very keen on using it anyway.
I think you need to make a decision on whether you want to accept the new Hiera 5 functionality now or not, and if not then the module will have to continue with the out dated params.pp pattern which would be quite sad:(
Personally, I would release 1.x of the module with the latest supported features (Hiera 5...etc) and comtinue to support 0.x in a branch for the people lagging behind until 4.x goes EOL.   That could be easily documented, and people should expect breaking changes from 0.x to 1.x. It gives the module a chance to not get held back by dated patterns because people don't upgrade but you can still put fixes in 0.x for those people.
Thoughts?

As a user of this module I would very much support this PR without compromising on removing hiera5 compatibility. Users who use older versions should be using r10k or some other tool to specify a version of the module that they are using. Hiera5 is fact of life and if they want new features they will have to upgrade. It sounds like a hard line but I believe their option to still download an older perfectly functioning version of the module, is a perfectly acceptable compromise.

Thanks for the feedback!
I'll merge this and release it was version 1.0.0, I'm going to add a section in the README.md for Puppet <4.9 users.

Awesome - thanks @roman-mueller !

Removing the operatingsystem fact from the spec tests turns out not to be a good idea.
Under certain conditions, spec tests will fail with...
Evaluation Error: Error while evaluating a Resource Statement, Could not autoload puppet/type/service: Could not autoload puppet/provider/service/bsd: Could not autoload puppet/provider/service/init: undefined method `downcase' for nil:NilClass

https://travis-ci.org/voxpupuli/puppet-cron/jobs/311845970#L656
https://github.com/voxpupuli/puppet-cron/pull/33#issuecomment-349466261


Bug: cursor size does not align with font-size

in https://playground.lexical.dev/
type anything and make font-size bigger.
In the next paragraph, the cursor is still small. And when you type the font-size still remains big, making the cursor bigger, thus creating a inconsistent feeling for the user.

I've looked into this one, due to lack of caret CSS properties, there are a few approaches:

CSS of an empty span: https://benfrain.com/creating-a-custom-input-cursorcaret/ which is why the cursor is correct inside the span (not optimal in here, due to the creation of empty paragraph node and only after typing adding the spans)

Override the paragraph node, so that it takes the font-size from the toolbar and when creating the paragraph and when the anchor is at the end of the node to apply to the paragraph element style attribute of 'font-size:  px' which will resize the cursor correctly and then swiftly remove once a span is added (not great, but feasible)

The problem with moving any default font sizing logic in the paragraph code, since lexical is headless and supports plain-text, where font-size and toolbar doesn't 'exist', we need a rich-text only solution, which would mean either somehow patching 'INSERT_PARAGRAPH_COMMAND' in the 'rich-text' package and manually adding the font-size.
@zurfyx or @fantactuka any suggestions for a better approach that's fixable without needing a node override?


No Entries found

tried to use the app today, "No Entries Found" kept popping up at the bottom.  I am going to assume nhentai has changed the api calls

It seems to still work
Check your tags from 'manage tags' , maybe galleries with those tags doesn't exists, if idlt doesn't fix the problem please post the url (top right in 3 circle menu there is a button 'Open in browser')

You right, I had some weird tag combinations.


add units and metadata for utility rates inputs

Add additional documentation to the vartable to solve (improve)? #909
Shouldn't change any code behavior.

Colons : in variable metadata separate attribute name from description, so using them in the variable description causes problems with rendering in PySAM doc generation:
For example, colon in dostrings:

Results in PySAM documentation:

Replacing colons with equal signs fixes issue in PySAM doc:


fix: Fix memory leak in DASH live streams with inband EventStream

EventStreams in DASH generate TimelineRegionInfo objects, which are
then stored in the RegionTimeline and RegionObserver classes.  But
DashParser would add all regions to RegionTimeline, even if they would
be quickly removed again, and RegionObserver would cache some regions
from the timeline without ever removing them.
This fixes the issue from both of those directions.  DashParser will
now ignore regions that are outside the DVR window (and therefore
would soon be removed from RegionTimeline), and RegionObserver listens
to an event on RegionTimeline to clean up its own storage when regions
fall outside the DVR window during playback.
Closes #3949 (memory leak in DASH live streams with inband EventStream)

Hrm... I've got a test failure, likely caused by the code I moved in DashParser.  I'll take a look on Wednesday.


Add QuALITY

Fixes #3441.

Thanks for your contribution, @jaketae. Are you still interested in adding this dataset?
We are removing the dataset scripts from this GitHub repo and moving them to the Hugging Face Hub: https://huggingface.co/datasets
We would suggest you create this dataset there. Please, feel free to tell us if you need some help.


Template escape using $el property

Vue.js version
1.0.26
Reproduction Link
http://jsfiddle.net/bob4vmko/1/
Steps to reproduce
Open the fiddle, see alert box
What is Expected?
The HTML template expression should not execute javascript code

Hello, {{ + $el.innerHTML='' }}

What is actually happening?
The alert box pops up - the script tag is executing

It's executing because you are changing the innerHTML via javascript. It has nothing to do with Vue.js

Oh, my bad!

as explained above thanks to @sirlancelot , for 1.0
For 2.0,


Shadow tree association causes GC issues

Usage in Ehcache of statistics has revealed that associations in the shadow tree can cause references to no longer be garbage collected. See ehcache/ehcache3#1328
Investigation should be performed to see if this situation can be resolved. And in the positive case how to resolve it.

Hi,

I think I found a slow memory leak in PassThroughStatistic.

Each PassThroughStatistic is added to the BINDING weak hash map. But that isn’t enough to have them recycled.

Running the following code will eventually go in OOME (use –Xmx40m to make it quicker).

A quick solution would be to clear them on cache manager close. But since stores and not closeable, I’m not sure how easy that is.

What do you think?

Thanks,
Henri

public class OffheapAllocation {

    @Test
    public void testPool() {

        for (int i = 0; i < 10_000; i++) {
            CacheManagerBuilder cacheManagerBuilder = newCacheManagerBuilder();
            CacheManager cacheManager = cacheManagerBuilder
                .withCache("cache", newCacheConfigurationBuilder(Long.class, byte[].class, newResourcePoolsBuilder()
                    .heap(1, EntryUnit.ENTRIES)))
                .build(true);

            Cache<Long, byte[]> cache = cacheManager.getCache("cache", Long.class, byte[].class);
            cache.put(1L, new byte[1000]);
            cacheManager.close();
        }
    }

}

I propose:

we remove PassThroughStatistic.BINDING
we remove PassThroughStatistic.bindStatistic()
and we return PassThroughStatistic from StatisticsManager.createPassThroughStatistic() (2 methods)

then, all client code that calls StatisticsManager.createPassThroughStatistic() would need to keep a hard reference to PassThroughStatistic, until they do not use it.
This is what was already done for all other observers by the way. Passthrough is I think the only observer that works differently, but it wouldn’t be hard to make it work like the other observers.
tc-platform and ehcache are the only 2 projects that use PassThroughStatistic for now. The change is quite easy also for someone who knows how stats work.


Module 1.1 Assignment

Given what you have learned about Git, why would you want to use Git in your classroom?

👋 Hi @alciomarhollanda you are missing your answer for the question above. Please post it here in this thread.

Given what you have learned about Git, why would you want to use Git in your classroom?
@arelia
I would like to use git in the classroom to introduce students to a market tool that is also very useful for version control.
I wish I had learned that before when I was studying.
I hope to make a difference for students.


Add authentication

I have Plex installed without Docker on a local machine and I can add Internet authentication if somebody try to access to it throught my Internet IP addres and the Plex port. However, if I install it using this container I can't see the authentication, it's never asked. Am I doing anything wrong or this is not possible using Docker?

I'm not 100% sure how plex's auth works.
Though you should be able to do it.
Try setting the PLEX_DISABLE_SECURITY environment variable to 0
ie --env PLEX_DISABLE_SECURITY=0
One thing to be aware the ip that Plex will see is not the pc/server IP unless you are using --net=host.
It's normally in the <IP_ADDRESS>/12 range.
The quick fix is use  --net=host in your docker run.
If you are wanting to do multiple versions of plex on the same server you won't be able to use that flag due to port collisions.

I already tried the PLEX_DISABLED_SECURITYenvironment variable. I think the issue is that for Plex the client is always the Docker host. I mean, when I see the logs the client ip logged is always the Docker host, so it gets detected as a LAN connection instead of an external connection and I think that's the problem

Hmm it's possible though you should be seeing the external IP's.
Did you try running with --net=host. Your then using the external networking directly so it should be as close to running it normally as you can.
I know some people use the image to run multiple versions on shared host. So I image it must be possible to enable auth.
Unfortunately I don't have time right now to test and see if I can see what's happening.

Ok did a quick google.
You can try setting the "--userland-proxy=false"
For the daemon.
https://github.com/docker/docker/issues/15086

I know this is not an issue related to this specific container, but it still not working... I tried also with --net=hostand now in the logs is showed my external public IP, all good so far but it still allowing me to access without authentication

Are you sure your plex is set to ask for authentication? Also what are your allow ranges.
If plex is getting the correct IPs then it means that for some reason plex is not asking for auth.
Check under
What is in the list for  "List of networks that are allowed without auth".  This is in settings->server->network settings.
If those are all correct I would check your xml preference file.
Unfortunately if those don't help you'll have to ask on the plex forums as if the application isn't asking for auth once it's seeing the correct IP's then problems is somewhere inside the application.

I set the hosts without auth to <IP_ADDRESS>/<IP_ADDRESS> just to test
<?xml version="1.0" encoding="utf-8"?>
<Preferences MachineIdentifier="id" ProcessedMachineIdentifier="id"
AnonymousMachineIdentifier="id" MetricsEpoch="1"
allowedNetworks="<IP_ADDRESS>/<IP_ADDRESS>"
AcceptedEULA="1" FriendlyName="Name" PlexOnlineToken="myToken"
collectUsageData="0" PublishServerOnPlexOnlineKey="1"
LastAutomaticMappedPort="0" ManualPortMappingMode="1"
<EMAIL_ADDRESS>PlexOnlineUsername="blahBlah" CertificateVersion="2"
PubSubServerPing="21" PlexOnlineHome="1" DlnaEnabled="0"
LanguageInCloud="1" GdmEnabled="0" disableRemoteSecurity="0"
CloudSyncNeedsUpdate="0"
FSEventLibraryPartialScanEnabled="1"
FSEventLibraryUpdatesEnabled="1" ScheduledLibraryUpdatesEnabled="1"><IP_ADDRESS>/24</Preferences>

Unfortunately I don't really use the preference xml as my use case is quite simple.
If the application is getting the correct IP's and not asking for auth for some reason there must be a setting that's saying it must not ask for auth.
So it means that your problem now is somewhere with the plex application.
I do believe the initial problem was the application not getting the correct IP which you've now solved.
As said you'll now have to follow up on the plex forums as you'll be able to get help for the application side there.
We are not affiliated with plex, we just provide the docker build to help people.
So once it's not a problem on the docker side we can't help that much. Since the application is now getting the correct IPs it means that everything on the docker side is now correct.
Though if you find the solution I would be interested to hear what it is and if it's something that can be added to the startup scripts.
I'll leave this open for now so if someone else knows a solution or if you find one it can be added here.

Thanks @timhaak, I really appreciate your help

Hello,
I've the same problem. When doing a fresh install with docker, the web interface asks for an authentication. But after restarting the docker container, no more authentication. The only way I found to get it back is to delete the container, removing the old plex folder, removing the old server from the "My devices" on plex.tv website and then relaunching the container.

Hi, yesterday, i found why.
I tried to use the PLEX_TOKEN variable with a newly created plexconfig directory.
And you have an error in first creating preferences.xml and define conf afterwards in start.sh
I activated DEBUG option like you see in docker-compose.zml below 👍
plex-media-server:
image: "timhaak/plex"
container_name: plex-media-server
ports:
- "32400:32400"
environment:
PLEX_USERNAME: ${PLEX_LOGIN}
PLEX_PASSWORD: ${PLEX_PASSWORD}
DEBUG: "true"
PLEX_DISABLE_SECURITY: 0
volumes:
- ${MEDIA}:/data
- ${PLEX_CONFIG}:/config
restart: always
hostname: ${PLEX_HOSTNAME}
and like you can see in this file
log.txt
you have an error : failed to load external entity "/config/Library/Application Support/Plex Media Server/Preferences.xml"
After resolving, I have others errors. So i will submit to you a merge request soon to correct this, if you agree.

@laouache Thanks :)
Yup more than happy to get a pull request.

Ok just merged @laouache patch.
If the people that are having a problem with this could pull the new image in about 20 minutes and see if it fixes your problems.

It's getting worse for me, no more installation wizard and still no authentication :/

I'm assuming since there hasn't been anyone else adding anything to this that its fixed.

Not fixed. I was helping a friend setup her plex server, and noticed this problem.
Steps:

setup by running:

docker run --restart=always -d --name plex --net=host -v /home/dockeruser/configs/plex:/config -v /mnt/nas/media:/data/media timhaak/plex

forward a port on my router from outside to the machine running docker.

in the plex server settings, check the allowed subnets without auth. By default this seems to be <IP_ADDRESS>/16 and <IP_ADDRESS>/24 (my LAN).

try access :/web from any external device (not on my lan). It loads straight away, no authentication required.

My understanding for why this is the default it that since --net=host is not the default or recommended installation, without disabling the security by default, the PLEX_ALLOWED_NETWORKS will only contain the docker network subnet (by default <IP_ADDRESS>/16) and not be accessible on any machine other than the docker host - which for some may be headless.
The instructions are designed to make it easy to get set up in the typical usecase: running Plex for your local network. If the end user had to manually set PLEX_ALLOWED_NETWORKS then it starts becoming more complicated, however, I would not be adverse to removing PLEX_DISABLE_SECURITY=1 from the Dockerfile and adding it to the instructions in the README.md (in the example command) providing that the reason for the security being disabled is explained as well as the risk of doing this if port forwarding will be used to allow WAN access with a link explaining how to correctly set the PLEX_ALLOWED_NETWORKS variable.
I am not able to confirm or test what I have said here otherwise I would do a PR with these changes. If someone could confirm by testing and make these changes I think they would be beneficial. @timhaak do you think it would be better to move this default from the Dockerfile into the example command?


[collab] request to join space experience

when opening a composer link to a space you're not a member of, allow sending a request to "owners" of the space and notify them to approve the request.

this needs a ux design first


Password Reset OTP Part

Describe the feature to implement.
The user will provide an OTP before they are allowed to reset their password. Write a function to send an OTP to the user through text and then receive that OTP. So it is essentially the first 3 steps of the Pin Reset flow in the screenshot below. Ask in the group chat with Assaf and I if you have any questions.
Figma Screenshot if applicable

Additional context if applicable
Add any other context or screenshots about the feature request here.

This is done and potentially working, just unable to test without UI due to Firebase restrictions.


Fix program fetching in cost function

Motivation
In snarkos developer context, we don't really have a transaction storage; programs are added to Process directly. This will cause executing to fail as the cost function can't find the program in the non-existent storage. This PR makes the cost function read the program directly from the Process instead of the consensus storage to make executing work again.
Test Plan

Well, there really should be a test case for this but I didn't write one...
Related PRs

(What's that protocol-docs repo? Seems it's private.)

Thank you for doing this @HarukaMa ! I was planning to do it myself as well.


No release available for Windows i386

A customer reported that they were unable to use Viceroy on Windows i386.
The Fastly CLI does support win i386, so they were able to install the CLI, but running fastly compute serve failed as it was unable to fetch a matching Viceroy release from GitHub.
In the meantime this has been worked around by having the customer clone and build Viceroy themselves.

Wasmtime doesn't actually support i386, so there is no way to make Viceroy work on that platform. The fact that it built at all for i386 is a bug, and we need to fix that.
The Fastly CLI will have to report an error that fastly compute serve doesn't work on i386.

@kailan https://github.com/fastly/cli/pull/753


TextField's cursor cannot move in the middle of the word

When I am trying to insert some words in the middle of the sentence in TextFormField and TextField, it will select a range of words and I am unable to move the cursor to the correct position to insert some word in the middle.
To fix this issue, I have to add a space at the end of the sentence and remove it immediately, then every things get work. But the issue will come again after I typed some words.
This issue is happened in web (ios), ios and android.
https://user-images.githubusercontent.com/4901887/199273166-69162015-fd4a-416e-b217-61a00ff2e5d4.mov
Steps to Reproduce

Execute flutter run on the code sample
Type a sentence into the TextField or TextFormField
Try to insert some words in the middle of the sentence

Expected results: A cursor can move between the word, and able to insert some word into it
Actual results: selected a rang of word when I tap the word, and I am unable to move the cursor to insert text

Code sample
@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Flutter Demo Home Page"),
        centerTitle: true,
      ),
      body: const TextField(),
    );
  }

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.6, on macOS 12.2.1 21D62 darwin-x64, locale en-GB)
    • Flutter version 3.3.6 on channel stable at /Users/samuelma/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6928314d50 (7 days ago), 2022-10-25 16:34:41 -0400
    • Engine revision 3ad69d7be3
    • Dart version 2.18.2
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/samuelma/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

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

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

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

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

[✓] Connected device (3 available)
    • SM N9600 (mobile) • 26dc252164217ece • android-arm64  • Android 10 (API 29)
    • macOS (desktop)   • macos            • darwin-x64     • macOS 12.2.1 21D62
      darwin-x64
    • Chrome (web)      • chrome           • web-javascript • Google Chrome
      107.0.5304.87

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

• No issues found!

Hi @siulun234, I attempted to reproduce the issue but I could not. Everything worked just fine on my end.
See the recording below.  Is there something I missed?

recording
https://user-images.githubusercontent.com/88313112/199665489-78df9dc8-b956-4a22-8412-b1720e2eae75.mp4

Is it because of the version of my android device? My testing device is Android 10 (physical device).

Hi @siulun234, what device are you testing this on?
If you test this in an android emulator, does it work for you or do you still experience the bug?
Can you also check on the latest version of stable/master to see if it makes any difference?

Hi @siulun234, you mentioned that this issue was on iOS as well. What iOS device did you test this on?
The latest stable version is 3.3.7. You can also try on the master channel to see if it reproduces for you.
Thank you

Any updates on this issue. Facing the same problems on my Samsung Galaxy S9 android 10. I'm on the stable channel version 3.3.9.

Hi @renewablezip01, do you experience this issue on only Samsung devices?

I've tested on Huawei p20 and it seemed to work fine, however the  'drag pin' is buggy in that it stops after roughly 1 second of dragging.
I'm having this tap selection issue with my Samsung phone, not sure if all Samsung devices is affected by this - but there was previous commenter on this topic who had a Samsung device (Samsung Galaxy Note 9) which experienced the same issue. The TextField/TextFormField works just fine on an emulator but it is buggy on an actual device, hence why you might be having issues reproducing the bug.
I tested on other flutter production released apps on play store, and it is the exact same issue, also created a new flutter project and added just a TextField, same issue.
Furthermore, both TextField and TextFormField is affected by this.

however the 'drag pin' is buggy in that it stops after roughly 1 second of dragging.

Kindly file a new issue for this so that it can be addressed.

The TextField/TextFormField works just fine on an emulator but it is buggy on an actual device, hence why you might be having issues reproducing the bug.

I tested on my physical device, a Poco X3 NFC as commented in https://github.com/flutter/flutter/issues/114433#issuecomment-1301723902

Furthermore, both TextField and TextFormField is affected by this.

TextFormField technically is only a Form wrapper around TextField.
@renewablezip01 for reference sake, can you share the flutter doctor -v output of master and beta you tried this one?

@renewablezip01, thanks for the info.
Labeling this for further investigation as I cannot reproduce this locally.
This seems to be affecting only Samsung devices at the moment.

Upon further inspection and looking into the https://github.com/flutter/flutter/issues/98720 issue, it appears that the phone setting "cursor control" is causing this issue. Disabling it would fix the issue but that is not a viable fix as we ought not to enforce app users to disable such setting for a fix.

Upon further inspection and looking into the #98720 issue, it appears that the phone setting "cursor control" is causing this issue.

This is correct. I tried this issue on S10+ device (Android 12) and was able to replicate the reported behavior, but upon checking the settings, I had cursor control enabled. Disabling it didn't replicate the reported behavior.

Disabling it would fix the issue but that is not a viable fix as we ought not to enforce app users to disable such setting for a fix.

I am not sure if Flutter would have any control over device settings so I am not sure if there would be a fix for it in the framework.
@siulun234 Please check this and try again at your end by disabling cursor control feature (assuming you had that enabled when you found this issue).


cant load MacFuse, too many drives allocated?

[write something useful and descriptive here]
I do not have any mounted devices
my log id: 569e5528b16680fdaa5a941c

Did you update to Ventura recently? I just updated to 13.0.1 and that seems to have broken my Finder integration as well, I'm getting the same error but can still mount other devices.

This is already being tracked in #25226

Did you update to Ventura recently? I just updated to 13.0.1 and that seems to have broken my Finder integration as well, I'm getting the same error but can still mount other devices.

I did a clean keybase install on 13.0.1

This is already being tracked in #25226

Good to know, I will close my ticket.


Get Id uploaded file

I have a huge number of video files.
Users send the file name for the my telegram bot and receives file.
Now, I'm uploading the file once for each user request, as a result, the users waiting time is increased.
As far as I know, any file that is uploaded on the server is a ID, how can I   get this ID?
Can I use this ID instead of uploading the file again? can it reduce waiting time?
thanks a lot
I use this code
WebRequest req = HttpWebRequest.Create(filepath);
using (Stream stream = req.GetResponse().GetResponseStream())
{
await MyBot.SendVideoAsync(msgText.Message.Chat.Id, new FileToSend(filename, stream),
0,TempTitle);
}

I use this code
WebRequest req = HttpWebRequest.Create(filepath);
using (Stream stream = req.GetResponse().GetResponseStream())
{
await MyBot.SendVideoAsync(msgText.Message.Chat.Id, new FileToSend(filename, stream),
0,TempTitle);
}

the SendVideoAsync method returns the sent message, so you can get the id out of this message:
var message = await MyBot.SendVideoAsync(msgText.Message.Chat.Id, new FileToSend(filename, stream),
0,TempTitle);
var videoId = message.Video.FileId

how can we send audio to the user using a telegram bot. i am using python and telepot. kindly help

This is a repository for the c# Telegram bot library.
Ask your question over at the telepot repo: https://github.com/nickoala/telepot
Please don't comment questions on unrelated, old, closed issues


The user status is not updated correctly

My Setup

Operating System: macOS 11.3.1
App Version: 3.0.3
Installation type: App Store app

[x] I have tested with the latest version
[ ] I can simulate the issue easily

Description

The user status is not updated correctly. When a user changes their Status from online, to invisible, or something else the rocket chat app does not always reflect this status change. This can result in people being shown as offline who are actually online. Or sometimes people are shown as away who are actually online. To reproduce this issue no special steps are needed, this just happens while using the app normaly.
Schrödingers state: Both Online and Offline, this is very confusing.

Current Behavior
Status changes of users are not reflected correctly in the UI. After performing a reload using <cmd>+r the status is then reflected correctly. This leads me to believe, that this is a refresh problem.
Expected Behavior

The user status is displayed correctly.

My be related, linked to Issue: https://github.com/RocketChat/Rocket.Chat.Electron/issues/1990

App Version: 3.0.3

Try new 3.2.2 version

@ankar84
Thank you for the tip, unfortunately, the latest version available on the AppStore is 3.0.0 which in reality is (3.0.3)
The last time an update was made on the AppStore was 7 months ago 😱

Since at our company we are reliant on the AppStore to distribute the app to our fleet, it would be really helpful, if the version in the app store could be bumped up :)
For testing, I will download RocketChat manually and give you feedback if the issue persists.
Should I create a new Issue for updating the AppStore app version?

For testing, I will download RocketChat manually and give you feedback if the issue persists.

It should help, I think that bug was fixed by https://github.com/RocketChat/Rocket.Chat.Electron/pull/2023 since 3.1.1

@ankar84 😎
From the first glance, it seems to be working. So what do I need to do, to get the version on the AppStore bumped to the current version, so I can roll this out to all my users.

So what do I need to do, to get the version on the AppStore bumped to the current version, so I can roll this out to all my users.

That can be done only by repo maintainers and developers

@ankar84 Ok, thank you for your help :) I will open a new Issue then requesting the bump of the Appstore Version.

There is already an issue requesting this
https://github.com/RocketChat/Rocket.Chat.Electron/issues/1974


Intellij cleanup

Doing a pass over with Intellij to cleanup and confirm our approach to quickfixes.
I expect most questionable is lifting return out of try etc, which I love.  Everything is an expression is a big win for me.

Can you explain the last sentence?  If you meant to say internals, then yep, I can revert.  otherwise I don't follow.

In Java we use package-private to avoid synthetics. It's a small increase in visibility so it's worth the very small runtime benefit.
Kotlin’s next narrowest visibility is internal, which is a large increase in visibility for a very small runtime benefit.
Therefore I don't mind private for Kotlin even though we'll get synthetics in the bytecode.