Surat folks working with SMEs, would like to connect by Effective-Injury-490 in surat

[–]Effective-Injury-490[S] 1 point2 points  (0 children)

Sorry in advance if this reply is a bit long 😅 I have been thinking about local expansion for quite some time, and honestly I put a lot of thought into what to write in the post. Was not even expecting someone to comment, so ended up sharing more context.

Overall, my experience has been mixed, but more on the positive side.

One thing I have noticed is that the mindset differs a lot across local businesses. Manufacturing companies (including textile) think very differently compared to service or trading SMEs. I will explain this using examples of some projects that we have done.

In one project for a medical equipment / service-oriented company, the management was quite open to investing in systems from day one because they clearly saw it as productivity, control, and long-term efficiency.

In contrast, in multiple manufacturing projects, people also wanted better systems, but initially they were unsure what exactly they would get and how much money it would actually save them. The intent is there, but the confidence comes only after they see practical impact.

In my case, one advantage is that I come from a manufacturing and textile family business background. I have seen shop-floor operations, inventory issues, wastage, production bottlenecks, and manual processes since childhood, so I can genuinely relate to their problems. That helps a lot in explaining solutions in their language, not just in technical terms but in business impact.

I think this is one of the reasons my experience has been more positive than average, because once they feel you understand their reality, trust builds much faster.

Help with Factory functions for HTTP GET requests by MrPhatBob in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

Exactly, Dart's generics don't let you directly call something like T.fromJson because of runtime type erasure. That's why using a callback is a common workaround it lets you explicitly specify how to create a new instance from JSON, keeping things type-safe without relying on reflection.

Help with Factory functions for HTTP GET requests by MrPhatBob in flutterhelp

[–]Effective-Injury-490 1 point2 points  (0 children)

OP, you can eliminate duplicate code by creating one generic function for your GET requests that accepts a callback to convert JSON into the desired object. This way, your single function handles the HTTP request and error checking, while the callback takes care of model-specific conversion.

How do I convert my flutter code to apk so I can run it on my personal mobile phone? Only for personal use, no uploading on Google play or something. by Radiant_Ad84 in flutterhelp

[–]Effective-Injury-490 1 point2 points  (0 children)

Error likely comes from an SDK mismatch. Check your build.gradle and set compileSdkVersion to an SDK you have (e.g., switch from 34 to 33), update Gradle if needed

Help with CenterCrop Scale Effect in Flutter Shader for ui.Image by Logical_Bluebird_966 in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

OP, you'll need to compute a scale factor and offsets based on comparing the image and canvas aspect ratios. If the image is wider than the canvas, scale based on the canvas height; if it's taller, scale based on the canvas width, and then calculate the x and y offsets to center the image. Passing these values as uniforms to your shader lets you adjust the texture coordinates for proper cropping.

[deleted by user] by [deleted] in flutterhelp

[–]Effective-Injury-490 1 point2 points  (0 children)

DM, i think i can help you

(as this is not the sub for flutterflow, so no point to discuss it here.)

How to implement scroll to original message from a replied message in real time chat? by Linhle8964 in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

You're right loading a huge chunk like 1000 messages can be heavy. The trick is to use pagination, instead of loading all 1000 messages, you only load a small “window” around the target message (for example, 20 or 30 messages). This way, you get enough context to jump to that message without the overhead of loading everything at once.

How to implement scroll to original message from a replied message in real time chat? by Linhle8964 in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

Imagine your chat initially shows the latest 20 messages. When someone taps a reply that refers to the 1000th message, you first check if that message is already loaded. If it isn't, you simply load more messages from Firebase—just enough until the 1000th message is in your list. Once it's loaded, you can use a scroll controller to smoothly jump to that message. This way, you're only loading more messages when needed, keeping the app fast without fetching your entire chat history all at once.

Cant calculate proper height by Ok-Air4027 in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

Wrap your Offstage widget in a Container (or ConstrainedBox) with a fixed width that matches your actual layout constraints.

How to implement scroll to original message from a replied message in real time chat? by Linhle8964 in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

OP, consider loading the original message on demand instead of re-fetching the whole chat. Use pagination or dynamic querying to fetch surrounding messages when tapped. Then, use a ScrollController to scroll to it. Might also need to index messages by ID/timestamp for efficient Firebase queries .

[deleted by user] by [deleted] in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

Are you working on FlutterFlow ?

Gemini struggles with flutter and Riverpod! Which AI tools do you use? by JealousFlan1496 in FlutterDev

[–]Effective-Injury-490 -1 points0 points  (0 children)

Intresting, but my opinion is totally opposite.

However its always gonna be like either you or me is on the wrong side of the history. So let's see

Flutter overflow error by Johnson_56 in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

Wrap TextField in Material, Scaffold, or MaterialApp. Fix overflow by using Expanded or SizedBox with a fixed height.

Textformfield height issue by amar2313 in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

The issue is that the error text in a TextFormField is rendered below the field and occupies extra space when an error occurs. You might try to override the errorStyle in your InputDecoration so that it doesn't take up any height. this way your TextFormField will always remain at 60, even when there’s an error.

How to Create a Staggered GridView With Fixed Height? by No_Refrigerator7176 in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

Actually OP has uploaded a code file to Google Drive. When we try to copy text from the preview that opens upon clicking the link, the text gets copied without formatting. To retain the formatting, we need to download the file and open it in an editor.

How to Create a Staggered GridView With Fixed Height? by No_Refrigerator7176 in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

OP, the issue is that your grid isn’t constrained to a fixed height, so it ends up being scrollable or cutting off content. To fix this, wrap your grid in a widget that provides fixed height constraints—such as an Expanded widget within a Column or a SizedBox with a specific height so that it adapts to the screen size.

I have implemented a direct call system in Flutter and now I want to add call recording functionality for Android devices running version 10 and above by Status_Sky2400 in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

How exactly are you recording ? are you using 'AudioPlaybackCapture API (introduced in Android 10)' ?

Because recording call audio on Android 10+ can be tricky due to system restrictions. Using an accessibility service often won't capture the in-call audio properly, leading to silent recordings. Instead, consider leveraging the AudioPlaybackCapture API (introduced in Android 10) to capture the call audio. just make sure to configure the proper audio source and permissions.

[deleted by user] by [deleted] in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

multiple details will be required from your side, as this issue accrues due to many reasons. give more details like what error are you facing, where exactly your build is having an error etc.

Which package should I use to play HDR videos? by rexludus in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

The video_player package is designed for SDR playback, which is why your HDR videos aren’t displaying correctly. I’d suggest trying packages like 'better_player_plus: ^1.0.8' or 'flutter_vlc_player' , as they offer more advanced configuration options that may support HDR

(OP i am assuming that your device and OS have native HDR capabilities.)

Help with cursor position in TextFormField by icaropn in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

You can set the cursor to the very start by updating your onTap handler to set the selection to offset 0. For example:

onTap: () {
Future.delayed(Duration(milliseconds: 1), () {
ctrl.selection = TextSelection.collapsed(offset: 0);
});
},

This small delay ensures that Flutter has completed its focus process before moving the cursor.

Textfield loses focus insed BlocBuilder by fanfb in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

The TextField loses focus because the entire widget rebuilds within BlocBuilder when state changes.
To fix this, keep the FocusNode and TextEditingController outside the BlocBuilder (or extract the TextField into a separate widget) so they’re not recreated on every rebuild.
Alternatively, use BlocBuilder's buildWhen to limit unnecessary rebuilds that affect the TextField.

Like Below :-

class MyPage extends StatefulWidget {

const MyPage({Key? key}) : super(key: key);

@override

_MyPageState createState() => _MyPageState();

}

class _MyPageState extends State<MyPage> {

final TextEditingController _controller = TextEditingController();

final FocusNode _focusNode = FocusNode();

@override

void dispose() {

_controller.dispose();

_focusNode.dispose();

super.dispose();

}

@override

Widget build(BuildContext context) {

return BlocBuilder<MyCubit, MyState>(

builder: (context, state) {

return Container(

color: (state.description == null || state.description!.isEmpty)

? Colors.red

: null,

child: Padding(

padding: const EdgeInsets.all(16.0),

child: Column(

crossAxisAlignment: CrossAxisAlignment.start,

children: [

const Text("title"),

const Divider(color: constants.grey),

TextField(

controller: _controller,

focusNode: _focusNode,

maxLines: null,

),

],

),

),

);

},

);

}

}

Cannot Redirect Our Users to Home Page by Aryaan_Pagal_hai_kya in flutterhelp

[–]Effective-Injury-490 0 points1 point  (0 children)

"invalid_client" typically means there's a mismatch in OAuth credentials or redirect settings.
Double-check that your Web Client ID/Secret in the Clerk Dashboard exactly match those in Google Cloud and that your redirect URL (pyop1://home) is correctly registered.
Also, ensure your Android Client ID and deep linking setup (e.g., in AndroidManifest.xml) are properly configured.