Sri Hari: Batch-4/Neetcode-All/Added-articles

@neetcode-gh

Took 25 hours for this work.
Please review it.

For the problem, LC: 2707 Extra Characters in a string, I have added more than 6 approaches. Can I add more 3 approaches which include Rolling hash, and a very unique solution with O(nlogn) time (DP + Rolling Hash + Segment Tree) which is nowhere in the discussion section?

@Srihari2222 Thanks Sri! I think while the extra solutions would def be useful to some people, but from the metrics I have I think the bigger priority at the moment would just be to have an article for each problem.
After that we can always make improvements.


fix(web): Make sure frames can't get smaller than child areas

Compute frame content boxes on the store so reactivity works

bors merge


Add duration to last step to end tour after X seconds

I am trying to figure out how to have an auto end of the tour on the last step. Anyone know of how to use the duration on the last step to have the tour end after 4 seconds?
Also any way to have the steps add a class to the current step element container?
Thanks so much in advance!

or is there a way to target the last step of each set of steps []


View Contacts in self created Contact Subfolders?

Version (e.g. 1.0, dev-master):
PHP version: 5.6.30
Microsoft Exchange version: 2013 SP1
Description of problem:
I can't find the Contacts, which will be self created in "Contact Subfolders".
How can I fix this?
Example request:
$client = new Client($host, $username, $password, $version);
// Build the request.
$request = new FindItemType();
$request->ParentFolderIds = new NonEmptyArrayOfBaseFolderIdsType();
$request->ContactsView = new ContactsViewType();
// Find contacts in the contacts folder.
$folder_id = new DistinguishedFolderIdType();
$folder_id->Id = DistinguishedFolderIdNameType::CONTACTS;
$request->ParentFolderIds->DistinguishedFolderId[] = $folder_id;
$response = $client->FindItem($request);
Thanks for any Help :-)

Self solved...


Fix tests and avoid double slashes in public urls

Currently, the tests fail because this check in it_loads_google_fonts is wrong:
$this->assertEquals($fullCssPath, $fonts->url());

$fullCssPath is $this->disk()->path($expectedFileName), which contains the file system path, while $fonts->url() returns the public path for the browser. These are not the same. Instead of disk()->path(), disk()->url() should be used to compare this value.
Moreover, I noticed that if the configured path prefix (google-fonts.path) is null (which is the case in the tests), the url returned by Fonts::url() always contains a double slash in the path. This doesn't look good, and for some web servers, it even leads to an error. Therefore, fixed the code in e31c046892379069adf83c4a477e69c1ca7efc40 to make sure the double slashes are avoided.

Thank you!


[Bug]: Appbar moving up in Samsung Galaxy - SharePlus

Platform
Android 13
Plugin
share_plus
Version
6.3.0
Flutter SDK
3.3.8
Steps to reproduce

Create a Sample Flutter Project
flutter pub add share_plus
In main.dart,  inside increment counter()
Add this code
final box = context.findRenderObject() as RenderBox?;  await Share.share(    'Sample App',    subject: 'Sample Subject',    sharePositionOrigin: box!.localToGlobal(Offset.zero) & box.size,  );
Run the app in Samsung Galaxy Mobile, once click on share button, the app bar is going upwards.

Note: This behaviour has been observed only in this device model.

Code Sample
import 'package:flutter/material.dart';
import 'package:share_plus/share_plus.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  Future<void> _incrementCounter() async {
    final box = context.findRenderObject() as RenderBox?;
    await Share.share(
      'Sample App',
      subject: 'Sample Subject',
      sharePositionOrigin: box!.localToGlobal(Offset.zero) & box.size,
    );
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: _incrementCounter,
          tooltip: 'Increment',
          child: const Icon(Icons.add),
        ), // This trailing comma makes auto-formatting nicer for build methods.
      ),
    );
  }
}

Logs
[   +7 ms] /Users/balajiks/Library/Android/sdk/platform-tools/adb -s RZ8T61M3WAT shell getprop
[  +93 ms] /Users/balajiks/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell getprop
[  +49 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +29 ms] Multiple devices found:
[        ] ro.hardware = mt6769t
[        ] ro.build.characteristics = phone
[        ] ro.hardware = ranchu
[  +25 ms] SM M325F (mobile)                   • RZ8T61M3WAT                          • android-arm64  • Android 13 (API 33)
[        ] sdk gphone64 arm64 (mobile)         • emulator-5554                        • android-arm64  • Android 13 (API 33) (emulator)
[        ] iPhone SE (3rd generation) (mobile) • 4E1CCB0A-D71D-4FE2-800B-04B16CF5E909 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-2 (simulator)
[        ] macOS (desktop)                     • macos                                • darwin-arm64   • macOS 13.1 22C65 darwin-arm
[        ] Chrome (web)                        • chrome                               • web-javascript • Google Chrome 109.0.5414.87
[        ] [1]: SM M325F (RZ8T61M3WAT)
[        ] [2]: sdk gphone64 arm64 (emulator-5554)
[        ] [3]: iPhone SE (3rd generation) (4E1CCB0A-D71D-4FE2-800B-04B16CF5E909)
[        ] [4]: macOS (macos)
[        ] [5]: Chrome (chrome)
[        ] Please choose one (To quit, press "q/Q")
[        ] :
[+2997 ms] q
[  +11 ms] "flutter run" took 6,058ms.

[ +263 ms] ensureAnalyticsSent: 252ms
[        ] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 1

Flutter Doctor
[✓] Flutter (Channel stable, 3.3.8, on macOS 13.1 22C65 darwin-arm, locale en-IN)
    • Flutter version 3.3.8 on channel stable at /Users/balajiks/Documents/Flutter/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 52b3dc25f6 (3 months ago), 2022-11-09 12:09:26 +0800
    • Engine revision 857bd6b74c
    • Dart version 2.18.4
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/balajiks/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = /Users/balajiks/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2021.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.13+0-b1751.21-8125866)

[✓] VS Code (version 1.71.0)
    • VS Code at /Users/balajiks/Downloads/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (5 available)
    • SM M325F (mobile)                   • RZ8T61M420W                          • android-arm64  • Android 13 (API 33)
    • sdk gphone64 arm64 (mobile)         • emulator-5554                        • android-arm64  • Android 13 (API 33) (emulator)
    • iPhone SE (3rd generation) (mobile) • 4E1CCB0A-D71D-4FE2-800B-04B16CF5E909 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-2 (simulator)
    • macOS (desktop)                     • macos                                • darwin-arm64   • macOS 13.1 22C65 darwin-arm
    • Chrome (web)                        • chrome                               • web-javascript • Google Chrome 109.0.5414.87

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

• No issues found!

Checklist before submitting a bug

[X] I Google'd a solution and I couldn't find it
[X] I searched on StackOverflow for a solution and I couldn't find it
[X] I read the README.md file of the plugin
[X] I'm using the latest version of the plugin
[X] All dependencies are up to date with flutter pub upgrade
[X] I did a flutter clean
[X] I tried running the example project

Same issue on Redmi Note 12 Turbo :/


DOC: add release note for 1.14 sparse section about sparse array iteration

In the release notes for v1.14, this PR adds an item regarding iterating over csr_arrays.
I've been asked about that issue so figured others might look for a note about it here.

The devdocs does not need anything more as main is published automatically.


Missing valid_until field for setting transaction expiration in tonutils-go

Hi,
According to the TON documentation and other SDKs (like TonWeb), there is typically a valid_until field that allows the user to specify the expiration time of a transaction. This is essential for creating timed transactions (e.g., a transaction that expires in 3 seconds).
However, I could not find any such field or method for setting a transaction's expiration in this package.
Would it be possible to implement this field or provide an alternative method to set the expiration for transactions in tonutils-go? This feature is available in other SDKs and would be a valuable addition here.
In other SDKs (e.g., TonWeb), the expiration time is set using the validUntil field, like:
validUntil: Date.now() + 1000 * 3  // Transaction expires in 3 seconds
Thank you for your work on this project!

Hi, this functionality is already exists, you can set valid until for wallet versions which are supports it, e.g v4, using: w.GetSpec().(*wallet.SpecV4R2) .SetMessagesTTL(seconds), spec type depends on wallet version


Callback problem

For example my app configured to redirect by default to http://my.app/auth/google_oauth2/callback
It works like a charm. But now I need to override  callback_uri not on whole app but only for couple scopes. For example I want to make my callback controller respond to js format. First i had change the href of login link to user_omniauth_authorize_path('google_oauth2', redirect_uri: "http://my.app/auth/google_oauth2/callback**.js**"). And it's generate right link, and it's added in google app credentials, and it actually redirects to http://my.app/auth/google_oauth2/callback**.js**, and I have in my callback controller
respond_to do |format|
  format.html do
    redirect_to root_path, notice: "Nice!"
  end
  format.js { render :json => response }
end

What is perfectly working. BUT there is no request.env["omniauth.auth"]. It's nill. When I'm changing it back to http://my.app/auth/google_oauth2/callback (without JS) it starts to work. But it's rendering whole site that is not satisfied my goals.
The only way to do that now through omniauth_authorize_path('google_oauth2', format: 'js') and then handle it with request.env["omniauth.params"]

I'm noticing the same thing, did you ever come up with a solution here @ptuchster ?

I have the same problem. I override the redirect_uri. The callback happens and looks correct, but the request.env["omniauth.auth"] is nil

This is duplicate of https://github.com/omniauth/omniauth/issues/618, which has more history. Should probably just close this issue.


wrong download url in readme

installation instructions in readme include the line:
wget https://<snip>/download/v0.6.2/packer-post-processor-amazon-ami-management_0.7.0_darwin_amd64.zip -P /tmp/

which has both 0.6.2 and 0.7.0, making it 404. Should probably be:
wget https://<snip>/download/v0.7.0/packer-post-processor-amazon-ami-management_0.7.0_darwin_amd64.zip -P /tmp/

Thanks @ethanmdavidson, fixed in #57


Panel supports percent values in defaultSize

Corresponding Toolbox PR: https://github.com/xh/toolbox/pull/409
Corresponding Toolbox branch: https://github.com/xh/toolbox/tree/panelSizeInPercents
These changes might resolve this issue:
"Support percent values in panelModel defaultSize": https://github.com/xh/hoist-react/issues/1856
Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[X] Caught up with develop branch as of last change.
[X] Added CHANGELOG entry, or determined not required.
[X] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[X] Updated doc comments / prop-types, or determined not required.
[N/A] Reviewed and tested on Mobile, or determined not required.
[X] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

Colin -- this all seems very promising -- potentially some great simplifications.
Have some questions about what the model sizing data means on a PanelModel if the model is not collapsible or resizable -- is it simply ignored?  I guess thats what we always had, but looking back on it now, it seems confusing to me.  Can we go over this?

Still seeing one issue with the far right panel (right panel 1). in the test
http://localhost:3000/admin/tests/panelResizing
When I first reload, there is empty space left on the far right

sorry, title is now incorrect.   minSize & maxSize must always be an
int/number which will be interpreted as px.   does not support %.  I will
fix the title.
On Mon, Jun 22, 2020 at 1:42 PM Tom Tirapani<EMAIL_ADDRESS>wrote:

@TomTirapani commented on this pull request.
In desktop/cmp/panel/PanelModel.js
https://github.com/xh/hoist-react/pull/1956#discussion_r443724126:

@@ -68,8 +68,8 @@ export class PanelModel {
* @param {boolean} [c.resizable] - Can panel be resized?
* @param {boolean} [c.resizeWhileDragging] - Redraw panel as resize happens?
* @param {boolean} [c.collapsible] - Can panel be collapsed, showing only its header?

* @param {number} c.defaultSize - Default size (in px) of the panel.

* @param {number} [c.minSize] - Minimum size (in px) to which the panel can be resized.

* @param {(number|string)} config.defaultSize - Default size (in px or %) of the panel.  eg: 300 or '50%'

* @param {?number} [c.minSize] - Minimum size (in px) to which the panel can be resized.

Does minSize / maxSize support % values? The PR title says so, but these
comments still say px?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xh/hoist-react/pull/1956#pullrequestreview-435142756,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AATUM2FKMZQVDQM3MITI6LLRX6JY7ANCNFSM4NZZKXIQ
.

--
Colin Rudd
Web Developer
<EMAIL_ADDRESS>914 433 4911

I will have a look.
On Mon, Jun 22, 2020 at 12:56 PM Lee Wexler<EMAIL_ADDRESS>wrote:

Still seeing one issue with the far right panel (right panel 1). in the
test
http://localhost:3000/admin/tests/panelResizing
When I first reload, there is empty space left on the far right
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xh/hoist-react/pull/1956#issuecomment-647645625, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AATUM2AAMNCQJDL6FLUPLTDRX6EKZANCNFSM4NZZKXIQ
.

--
Colin Rudd
Web Developer
<EMAIL_ADDRESS>914 433 4911

Still seeing one issue with the far right panel (right panel 1). in the test
http://localhost:3000/admin/tests/panelResizing
When I first reload, there is empty space left on the far right

This is a result of a buggy config:
defaultSize: 100,
minSize: 150,
side: 'right'
where the default size is smaller than the minSize.
Many choices as to what to do here.   Doing nothing and letting user notice the error ranks high among my favorites.

So I played some more with this.  I like the fact that the code seems quite similar to what we already have in the case of not using a '%' figure.  This seems like a nice feature, and should hopefully make it a bit easier to release this in production.
One asymmetry is that if I set the size to '0%' -- I lose the divider/slider, while if I set the size to 0, I keep the slider.  This seems problematic and surprising to me.

One asymmetry is that if I set the size to '0%' -- I lose the divider/slider, while if I set the size to 0, I keep the slider. This seems problematic and surprising to me.
@lbwexler I've set [minDim]: dragBarWidth in the ResizeContainer.js cmp element, as per your suggestion to resolve this issue.  The fix works well in % and in px.

I've also added a switch to set dragBarWidth to 0px if showSplitter == false.  This seems like an edge case, but it is possible to do, so needs to be handled.

@cnrudd sorry that I missed this - could you please catch up with latest on develop so we can look to merge?

@amcclain All caught up - hoist-react and toolbox.  still works.

catching it up now
On Wed, Mar 8, 2023 at 11:01 AM Lee Wexler @.***> wrote:

@cnrudd https://github.com/cnrudd -- can you catch this one up? Would
love to get branch over the finish line. Seems like we have a need for it
in a number of different context.
—
Reply to this email directly, view it on GitHub
https://github.com/xh/hoist-react/pull/1956#issuecomment-1460409744, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AATUM2GATHUQUVFCP56PFMLW3CUPFANCNFSM4NZZKXIQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Colin Rudd
Web Developer
@.***
914 433 4911

@amcclain @TomTirapani -- Would like to get this in to Hoist v56, if possible.  Am going to try to look more carefully, but would great to get your thoughts.
Messing with Panel makes me a bit nervous, so eager to get this in to develop early enough to run it through its paces

Taking a look.  Thx!
On Mon, Mar 13, 2023 at 6:34 AM Tom Tirapani @.***>
wrote:

Noticed some rendering issues with this branch while trying this out
locally:
[image: Screenshot 2023-03-13 at 10 30 41]
https://user-images.githubusercontent.com/3017757/224677032-a6d41762-e038-444e-a373-0ea95fa3d38d.png
[image: Screenshot 2023-03-13 at 10 31 08]
https://user-images.githubusercontent.com/3017757/224677050-6a05611d-fb3b-427c-806b-c9592b235edc.png
—
Reply to this email directly, view it on GitHub
https://github.com/xh/hoist-react/pull/1956#issuecomment-1465889905, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AATUM2DW7EHIDT5VHYTW65LW33Z3TANCNFSM4NZZKXIQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Colin Rudd
Web Developer
@.***
914 433 4911

Please disregard the above rendering issues - user error on my part! 😵💫
Had a great call with Colin where we went over the PR in detail, think it looks great!
It's a shame that we lose the ability to constrain resizes by when specifying the default as a percent. I was wondering if it would be possible to still support minSize and maxSize as long as they are also specified in percent? So, essentially, the Panel will either be in "pixel" or "percent" mode, and all sizes would use the same unit:
new PanelModel({
    minSize: '20%',
    maxSize: '80%',
    defaultSize: '50%',
    side: 'left'
});

I think if we were careful to parse pct constraints into pixels at the start of a resize, and then convert back before writing to panelModel.size, we could support it without too much complexity. Although even that might be too much complexity, and not worth it?

This was discussed in our Hoist API meeting.  We would like to go ahead and push this forward, if we can take the extra step of having the percentage based default size respect the pixel based max/min:

OK, if this has to happen one tick after initial layout -- it will hopefully be rare, and fast enough.
OK for max/min to always be pixel based.

@cnrudd and @TomTirapani  -- can you guys take a look at that?

Sure, happy to take a look, but just to be clear, the solution that Tom and I came to after our discussion and which he proposed above was:
all 3 inputs must use the same unit:  minSize, maxSize, defaultSize specified in either all pixels, or all percents; up to the developer to choose between pixels or percents for all 3 inputs.
This would allow the default size to respect min/max, but would not require any additional ticks.
Are you suggesting we take a different approach?

yes, different approach.  Anselm argues -- correctly, I think -- that min/max really should be in pixel units.
Also easier in that we won't need to save values in percentage terms.

so only default can be in % terms

@lbwexler @amcclain @TomTirapani
Turns out it was a pretty simple change to make this happen:  "defer applying the constraints until we have the available size, and then 'snap' any size that's out of bounds."
Ready for review.

Looking good colin!

Great point.  I will address tomorrow.
On Wed, Mar 22, 2023 at 2:56 PM Lee Wexler @.***> wrote:

@.**** commented on this pull request.
In desktop/cmp/panel/PanelModel.ts
https://github.com/xh/hoist-react/pull/1956#discussion_r1145275575:

@@ -35,8 +36,8 @@ export interface PanelConfig {
/** Can panel be collapsed, showing only its header? */
collapsible?: boolean;

/** Default size (in px) of the panel. */
defaultSize?: number;

/** Default size (in px or %) of the panel. */
defaultSize?: number | string;

I think its an excellent point
—
Reply to this email directly, view it on GitHub
https://github.com/xh/hoist-react/pull/1956#discussion_r1145275575, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AATUM2HJ4GTLJSIYQ2JIRX3W5NDORANCNFSM4NZZKXIQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Colin Rudd
Web Developer
@.***
914 433 4911

Fixed, pushed to develop.


add Alexa and Google Assistant

http://www.cnx-software.com/2017/07/30/how-to-setup-an-orange-pi-zero-diy-smart-speaker-with-google-assistant-sdk/

:1:

:+1:


Keyboard covers messages and some time (rarely) the keyboard is shown on screen but inputToolbar is hidden behind the keyboard.

Library version(s): 7.2.0
iOS version(s): 9.3

Bug report

Keyboard covers messages and
Some time (rarely) the keyboard is shown on screen but inputToolbar is hidden behind the keyboard.

Steps to reproduce

Go to JSQMessages subclass. Every thing is normal.
Tap on textfield of inputToolBar.
Hit the back button and segue back (UINavigationController).
Again go to JSQMessages subclass this time the keyboard covers the messages with inputToolBar on top on keyboard(rarely inputToolBar goes behind keyboard).

Crash log? Screenshots? Videos? Sample project?

I have tried resignFirstResponder in viewWillDisappear, but it does not work.
Thanks.

Thanks @firozkhursheed ! Please update to 7.3.4 and see if the issue still persists 😄

Updated to 7.3.4 but it doesn't fixed the problem.

Ah.. how many messages are there?
Is this the same as #256 ?

I have tried with messages count from 1 to 30 and auto scroll works, the problem come when one popToRootViewControllerAnimated while the textfield of inputToolBar is on focus(keyboard is shown on screen) and comes back to JSQMessages subclass, this time keyboard overlaps some messages (6 one line messages from bottom) as if the keyboard was not supposed to be active.
If one drags the messages screen to close the keyboard before pop operation and then repeat the above steps and get back to JSQMessages subclass this time keyboard is disabled and the everything is at it's proper place.

I think this might be fixed on develop with the improved keyboard handling.
Would you be able to try that?
There are some breaking changes, you can check the CHANGELOG: https://github.com/jessesquires/JSQMessagesViewController/blob/develop/CHANGELOG.md#800

Should be fixed by closing #1063


Invert Hover Action

At the moment, when a mouse hovers over a post the interaction elements will appear instantly and disappear after X seconds so long as the mouse has left the post area. This should be reversed to show the interaction icons after X seconds of hover and disappear immediately.
Suggested by @pharsicle

My 2 cents: I'd want the action buttons to appear and go away immediately. They should, however, not change the height of the post but instead hover over it (or perhaps the post below).

An overlapping element that perhaps obscures the timestamp section? That could work as well. I'll play around with some designs and see what is plausible.


Different pixel values for the same image when read using DecodeJpeg on x86_64 and arm64

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Windows 10
TensorFlow installed from (source or binary):
Source
TensorFlow version (use command below):
1.5.0
Python version:
3.4
Bazel version (if compiling from source):
0.11.0
CUDA/cuDNN version:
9.0/7.0.5
GPU model and memory:
N/A
Exact command to reproduce:
given below in the problem description

I used DecodeJpeg method to read in images during training, I used it with dct_method="".
In order to use the same operation on Android, I compiled TensorFlow with DecodeJpeg using bazel.
I compiled it for arm64.
The problem I'm facing is that, the pixel values from both the platforms are significantly different
In Python, I use the snippet below to read image,
with tf.gfile.FastGFile(r'path\to\image.jpg', 'rb') as image_file:
    image_bytes = image_file.read()
decode_jpeg_data = tf.placeholder(dtype=tf.string)
decode_jpeg = tf.image.decode_jpeg(decode_jpeg_data_f, channels=3)
image = sess.run(decode_jpeg , feed_dict={decode_jpeg_data: image_bytes })

I use this script to execute the model on Android.
I executed DecodeJpeg with dct_method set to ' ', INTEGER_FAST, INTEGER_ACCURATE, on both desktop as well as Android.
All of them gave pixel values which were significantly different from what I got on a desktop, for the same dct_method
For instance, for the same image, at (100,100,0) the value on x86_64 is 213, while it is 204 on arm64.
The problem is that, the prediction label sometimes flips across the two platforms, for the same image.
How can I get the same behavior on both platforms?
I had asked this on StackOverflow

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce

@andrewharp Could you please take a look at this

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

Yes

Nagging Assignee @bignamehyp: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @bignamehyp: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

This seems a bug to me. Thank you very much for reporting it. We will investigate into this issue.
How many percentage of pixels have different values on two platform, what is the average difference?

Also, can you please try fancy_upscaling=false to see if it reproduced?

@mingxingtan if you are interested.

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 29 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 44 days with no activity and the awaiting response label was assigned. Is this still an issue?

We are closing this issue for now due to lack of activity. Please comment if this is still an issue for you. Thanks!


Adobe Illustrator Workflow SVG Export Settings

Browser

[X] Chrome/Chromium

Operating system

[X] Windows

Description
I tried to follow the illustrator exporting method mentioned here but it seems the exported SVG doesn't respect the artboard size (24x24)
I suggest changing the export method in the illustrator guide from Export > Export As to File > Save As and choosing .svg file type and using the following settings:

Steps to reproduce
here's a video explaining it:
https://youtu.be/-uko_Y0U9sk
My apologies for the terrible audio/video quality 😅
Checklist

[X] I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)

Just to clarify further,
when doing Export > Export As to export the svg, the viewBox property is not guaranteed to be "0 0 24 24"  and will most definitely be at max"0 0 23 23" (Since we're adding 1px padding around the artboard)


Update packages to most recent versions

And fix any problems that arise

See this PR
https://github.com/nsuarez2/1q/pull/3


BE - Implement inheritance for user types

Implement inheritance for user types, to avoid having too many fields in the base user class.

Won't handle, for now


Docker exit code 0 - Dot Net core

My dot net core solution works fine both in debug and release mode. When I package it in Docker, it fails to work. Container starts and stops with exit code 0.
How do I verify what can be issue ? How to check any generated error logs.
Dockerfile:
FROM mcr.microsoft.com/dotnet/aspnet:3.1
COPY publish/ App/
WORKDIR /App
ENTRYPOINT ["dotnet", "FrameGrabber.dll"]

Thanks for sharing the issue. For troubleshooting and support, please try the Docker Community Slack or Forums:

https://dockercommunity.slack.com/
https://forums.docker.com/


Getting http status code 502 instead of 404 for missing images

hi
I am trying to access the file via cloudfront and that file does not exists in S3 bucket. I am getting 502 error code instead of 404 in my browser.
Is it the right expected response code from this service ?
Also if my original image not found, I want to return noImageFound.jpeg as a response. Is there anyway to do it ?

I think that the issue is related to a misspelled variable https://github.com/awslabs/serverless-image-handler/blob/6a30bd785999bea6ba9dfb402bf550b2dd8f2f8f/source/image-handler/lambda_function.py#L216:
replacing:
return response_formater(status_code=response.status_code)
with
return response_formater(status_code=thumbor_response.status_code)
Should fix the 502 error.

Thank you for bringing this to our attention! We've got a fix in the pipeline for our next release.

please see #41 which will fix this.

release v3.1.0 has been pushed, closing the issue.


Improvise the resource limiting docs

Summary
Some users misunderstood that the resource limits apply to all the applications in a tenant. However, it is not the case. The resource limits defined in the resource limiting profile are for each application in a tenant.
Also, it would be good to document the error cause displayed on TTS Console when the MQTT connections resource-limiting exceeds.
Why do we need this ?

To help users troubleshoot the issue when their MQTT connections are being rejected.
To clarify that the resource limits are per application in a tenant.

What is already there? What do you see now?
The documentation contains information to define resource limits for whole deployment, tenant, and per application. Also, it has information about the errors (at the client end) for the new connections when the resource limit exceeds.
What is missing? What do you want to see?

Emphasize with a note point that the resource limits are per application in a tenant.
Document the error cause for the MQTT connection failed events in the console and the resolution. As mentioned in the docs, the resolution for this error would be to terminate existing connections and retry.

Sample Error:
Resource limit 16 exceeded for resource with key as:conn:frontend:mqtt:app:test-app-1@test-tenant-1

How do you propose to document this?

...
Can you do this yourself and submit a Pull Request?
No

As far as I can understand from here, resource limiting can be configured per application or for all applications in a tenant


Documentation of the statistics and identifying stably expressed genes

Hello,
I am trying to use the software and trying to understand the statistics. Here is what I understand (and please correct me if I'm wrong):

The n* values are to construct the contingency table
The pvalue and the padj are the pvalue and the adjusted pvalue for the dysfunctionally expressed genes

However I do not understand what are the alpha1 and alpha2 along with se and z1 values in the results table.
Furthermore, I would like to identify the stably expressed genes (I believe that this is the first step in the other rankcomp algorithms). Is it possible using RankCompV3?

Hi,
The last four columns in the output file are delta1, delta2, standard error, z1.  They are statistics calculated using McCullagh's test on the contingency tables. McCullagh's paper is available at http://www.jstor.org/stable/2345320.  Two deltas are calculated using two different estimations (eqs. 2.6 and 2.7 in McCullagph's paper). s.e. is the estimated standard error of the deltas and z1 is the normal transformation based on delta1 and s.e.
If padj is larger than 0.05 for a gene, it will be considered as a non-DEG. These non-DEGs will be used as the reference genes for the following iterations.
Thanks for your interests in RankCompV3.
Best regards,
Xianlong
Wang Xianlong
@.***
13908215057
电子名片新出VIP模板啦，快来体验>>
扫一扫,
快速添加名片到手机

------------------ 原始邮件 ------------------
发件人: Melclic  @.***>
发送时间: 2023-06-02 04:37:10
收件人:pathint/RankCompV3.jl @.***>
抄送:Subscribed @.***>
主题: [pathint/RankCompV3.jl] Documentation of the statistics andidentifying stably expressed genes (Issue #1)
Hello,
I am trying to use the software and trying to understand the statistics. Here is what I understand (and please correct me if I'm wrong):
The n* values are to construct the contingency table The pvalue and the padj are the pvalue and the adjusted pvalue for the dysfunctionally expressed genes However I do not understand what are the alpha1 and alpha2 along with se and z1 values in the results table.
Furthermore, I would like to identify the stably expressed genes (I believe that this is the first step in the other rankcomp algorithms). Is it possible using RankCompV3?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Thanks for your reply.
For z1, does it mean that it may be used as a way to measure the direction of the change in direction (effect size)? (my comparison with other pairwise comparison software seem to suggest so). If that's the case, what are z1 cutoffs that you suggest that may be used to say that the test and control genes have a large difference?


echarts-gl mousewheel zoom doesn't work

Version
5.0.2
Reproduction link
https://echarts.apache.org/examples/en/editor.html?c=sphere-parametric-surface&gl=1
Steps to reproduce
Using firefox 87 (the latest as of this writing) - visit an echarts-gl example on the official site, and try to zoom.
What is expected?
You should be able to zoom in and out using your mouse wheel.
What is actually happening?
Nothing zooms.

Same issue here.
Might be related to this commit in zrender: https://github.com/ecomfe/zrender/commit/e16f77423fcdc052722bb8c6b7abd5406dc39f43
Is there any workaround?

I have found a workaround:
window.addEventListener("DOMMouseScroll", e => {
	e.stopImmediatePropagation();
	e.target.dispatchEvent(new WheelEvent("wheel", e));
});


amplify push error

when trying
amplify push
i am getting the error
There was an error pulling the backend environment dev.
An error occurred during the push operation: Stack with id amplify-amplifyreactappnew-dev-141312 does not exist
i dont understand what is happening,can someone help?

Hey @AjayBains :wave: would you mind porting this over to our bug report template in order to gather additional context about the environment?

Closing this issue as no information provided. Please fill the issue template


Allow using a custom Config

Fixes a bug that prevents using a custom URLSession.

have the same here too https://github.com/adamrushy/OpenAISwift/pull/81

I believe this is now fixed?


Cannot open "VM22 :14 Cannot read property 'SOCKET' of undefined TypeError: Cannot read property 'SOCKET' of undefined"

When opening the terminal I get this error:
VM22 <embedded>:14 Cannot read property 'SOCKET' of undefined TypeError: Cannot read property 'SOCKET' of undefined

VM22 <embedded>:14 Cannot read property 'SOCKET' of undefined TypeError: Cannot read property 'SOCKET' of undefined
    at new PipeSocket (/home/user/.atom/packages/platformio-ide-terminal/node_modules/node-pty-prebuilt-multiarch/lib/unixTerminal.js:259:41)
    at new UnixTerminal (/home/user/.atom/packages/platformio-ide-terminal/node_modules/node-pty-prebuilt-multiarch/lib/unixTerminal.js:87:25)
    at Object.fork (/home/user/.atom/packages/platformio-ide-terminal/node_modules/node-pty-prebuilt-multiarch/lib/index.js:33:12)
    at Object.module.exports (/home/user/.atom/packages/platformio-ide-terminal/lib/process.coffee:25:22)
    at process.<anonymous> (/usr/share/atom/resources/app.asar/src/task-bootstrap.js:51:41)
    at emitTwo (events.js:126:13)
    at process.emit (events.js:214:7)
    at emit (internal/child_process.js:772:12)
    at _combinedTickCallback (internal/process/next_tick.js:141:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)

Hi
I've got the same logged error here.
Adding versions if it help:
$ apm --version
>
apm  2.1.2
npm  6.2.0
node 8.9.3 x64
atom 1.33.1
python 2.7.17
git 2.17.1

$ atom --version
>
Atom    : 1.33.1
Electron: 2.0.16
Chrome  : 61.0.3163.100
Node    : 8.9.3


a useful new function

Suggest to add a new function
    public function getValue($name)     {         $query = $this->get();         return isset($query[$name])?$query[$name]:false;     }

Hi @shaobingme ,
Thanks for your suggestion. We might think to add that functionality in next release. I note that.
Thanks.

I made a slight change:

public function getValue(string $field)
{
        $query = $this->select($field)->get('array');
        return $query[$field] ?? null;
 }


Datepicker: updating ngModel binding clears input

Bug, feature request, or proposal:
Bug
What is the expected behavior?
The user enters a value, the code reads the input value and writes the perfectly formatted date into the model. Angular then writes the value into the input field.
What is the current behavior?
The user enters a value, the code reads the input value, updates the model and... the input field is cleared with a red error border.
What are the steps to reproduce?
Just throw an [(ngModel)] onto the datepicker input and transform the input value on a change event. As soon as the model gets updated, Angular clears the input completely.
https://stackblitz.com/edit/angular-rsduqa?file=app/datepicker-overview-example.html
What is the use-case or motivation for changing an existing behavior?
We're parsing shortcuts for "yesterday" (y) and "the day before yesterday" (b) from the user input and replace the letter with a date. The Angular datepicker currently breaks that behavior. I have not been able to find a workaround.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Tested with Angular 5.2.10
Is there anything else we should know?
The other features of the Datepicker and its looks are awesome!

The recommended way to do this is to create a custom DateAdapter by extending the NativeDateAdapter and overriding the parse behavior. Implementation here: https://github.com/angular/material2/blob/2fad732b090335054dbfca539ce76f17f55b8590/src/lib/core/datetime/native-date-adapter.ts#L176
Your adapter would basically be:
class MyNativeDateAdapter extends NativeDateAdapter {
  parse(value: any): Date | null {
    if (value === 'today' || ...) {
      // custom parse logic
    } else {
      return super.parse(value);
    }
  }
}

The docs discuss how to provide your custom DateAdapter so that the Datepicker will use it: https://material.angular.io/components/datepicker/overview


Make @Html.Display() and @Html.Editor() order properties by name

MVC 5.2 and (soon, see issue #964 and PR #1010) 6.0 order properties in the @Html.Display() and @Html.Editor() return values using the ModelMetadata.Order property.  This produces as stable an order as Linq's OrderBy() -- leaves the properties in their original order.  But the order isn't predictable because the CLR doesn't guarantee an order the Type.GetRuntimeProperties() extension method returns properties.
The point may be moot if Type.GetRuntimeProperties() happens to order properties consistently and not by (say) the order they appear in the IL.  But we could ensure a predictable order by adding ThenBy(m => m.Name) to our current sort (in the ModelMetadata.Properties lazy-init getter)
Some questions:

Is this necessary?  That is are properties ordered by name or something equally obvious already?
Would the additional sorting have any downsides?  For example performance could be an issue because the Properties enumeration isn't initialized in our ModelMetadata prototype cache.

Closing because we have no plans to support this.


MicroK8s using large amount disk

In 1 day only, microk8s using increment from 22GB to 35GB in  /var/snap/microk8s/common
$ cd /var/snap/microk8s/common
$ sudo du -hsx * | sort -rh | head -10
35G	var
3.8M	run
8.0K	default-storage

My application is simple.
I don't know why, please help me.
Thanks.

Hi @EnziinSystem. The docker images are stored under that directory. You can read more on how and when the unused images are garbage collected in [1]. To configure kubelet to match the behavior you desire you will need to edit /var/snap/microk8s/current/args/kubelet and restart MicroK8s with microk8s stop; microk8s start.
[1] https://kubernetes.io/docs/concepts/cluster-administration/kubelet-garbage-collection/


Did not need a semi-colon at the end of the font-family:Monospace statement to go to next challenge. I thought each attribute had to end with a ";".

Challenge http://freecodecamp.com/challenges/waypoint-set-the-font-family-of-an-element has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
To reproduce, add the statement "font-family:Monospace" and you will be able to go to next challenge.
I thought you needed a semi-colon at the end of each attribute.

A semi-colon isn't completely necessary for the last element in CSS. However, it's definitely good practice.
More information here:
http://stackoverflow.com/questions/11939595/leaving-out-the-last-semicolon-of-a-css-block

Thank you, AryanJ,
Paul


⚠ Fortnite has degraded performance

In fd8592b, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1608 ms

Resolved: Fortnite performance has improved in 55e3bee.


Bot may crash on servers with no classes

Bot may crash on servers with no classes.  Register and unregister reacts sends a invalid class to the functions it provides.

Bot may crash on servers with no classes. Register and unregister reacts sends a invalid class to the functions it provides.

should just be an if


Unable to Use multiple instance of same controller in multiple widget (Scoped Instance)

Describe the bug
When a controller is initialized in a stateless widget. it is stored in Get Instance. Then we use GetX to get that instance. The problem is I need multiple instances for the different widgets.
The controller instance should be scooped to that widget.
For example, we already have GetX global field. if we set this to false. it is scoped to that widget. I can able to use multiple times with different widgets. I've multiple ```.obs```` from the different controllers. I need to update using Obx. So I don't want to use GetX or GetBuilder to initialize the controller.
Also, we need an option to get the same controller with a different instance.
To Reproduce
Run the sample code given below.
Press the Add button.
Press View Attach Button now.
Expected behavior
Two different Widgets with the same controller (Need separate instance for each widget using Get.put)
It triggers an update on both widgets (Attachment 1 and Attachment 2)
Flutter Version:
Flutter 1.17.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 8af6b2f038 (2 months ago) • 2020-06-30 12:53:55 -0700
Engine • revision ee76268252
Tools • Dart 2.8.4
Getx Version:
get: ^3.4.0
Describe on which device you found the bug:
Samsung J6+
Minimal reproduce code
class TwoController extends GetxController {
  final attachments1 = <String>[].obs;
  final attachments2 = <String>[].obs;
}

class PageOne extends StatelessWidget {
  final controller = Get.put(TwoController());
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Container(
          color: Colors.yellow,
          child: SingleChildScrollView(
            child: Column(
              children: <Widget>[
                Text("Attachment 1"),
                AttachWidget(
                  attachments: controller.attachments1,
                ),
                Text("Attachment 2"),
                AttachWidget(
                  attachments: controller.attachments2,
                ),
              ],
            ),
          )),
    );
  }
}

class AttachController extends GetxController {
  final isButtonVisible = true.obs;
}

class AttachWidget extends StatelessWidget {
  final RxList<String> attachments;

  AttachWidget({
    Key key,
    this.attachments,
  }) : super(key: key);

  final _ = Get.put(AttachController());
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Obx(() {
          if (_.isButtonVisible.value)
            return RaisedButton(
              onPressed: () {
                attachments.add("${attachments.length + 1}Attach");
                _.isButtonVisible.value = false;
              },
              child: Text("Add Attach"),
            );
          return SizedBox();
        }),
        RaisedButton(
          onPressed: () => _.isButtonVisible.value = true,
          child: Text("View Attach Button"),
        ),
        Obx(() => ListView.builder(
              itemCount: attachments.length,
              shrinkWrap: true,
              itemBuilder: (ctx, int index) => Row(
                children: <Widget>[
                  Expanded(child: Text(attachments[index])),
                  IconButton(
                    icon: Icon(Icons.close),
                    onPressed: () => attachments.removeAt(index),
                  ),
                ],
              ),
            )),
      ],
    );
  }
}

Hi @manojeeva, I think I understand your point, but might not be a good idea to do it the way you did it in the provided example.
Having the controller as a final field of a StatelessWidget will "recreate" it every time that StatelessWidget rebuilds.
Although not a big issue, if you have final observables variables inside the controller, you will recreate them as well, even though the multiple calls to the same Get.put(instance) will not override the instance already in memory... it's like a waste of resources, and potential memory leaks. This is where lazyPut() shines, as the creation of the instance is delayed until you actually use it with Get.find().
Second, as you probably know, GetBuilder() and GetX() are actually there to help you in these cases, as they have they own "lifecycle", so using init: Controller(), global: false will assure you the Controller lifetime (onInit, onReady, onClose) as long as the Widget is "mounted" in tree (like if you wanna use internal GetxControllers for each item in your "AttachWidget" sample).
Third, Get.create(()=>Controller()) is a way to create a new controller every time you run Get.find(), seems like a weird usecase, but if you use it with class MyWidget extends GetWidget<Controller> , the controller will be cached and will be unique inside that Widget.
Fourth, regarding your example, did you try to use Get.put(Controller(), tag: "controller1") ? it's a way to have multiple instances stored with the same Type... like an "id".
So, let me know if that answer helps you.
Answering your sample...
in PageOne:
...
children: <Widget>[
                Text("Attachment 1"),
                AttachWidget(
                  attachments: controller.attachments1,
                  tag: 'attach1',
                ),
                Text("Attachment 2"),
                AttachWidget(
                  attachments: controller.attachments2,
                  tag: 'attach2',
                ),
              ],
...

in AttachWidget:
class AttachWidget extends StatelessWidget {
  final RxList<String> attachments;

  final String tag;
  AttachWidget({
    Key key,
    this.attachments,
    @required this.tag,
  }) : super(key: key) {
    Get.put(AttachController(), tag: tag);
  }

  get _ => Get.find<AttachController>(tag: tag);

  @override
  Widget build(BuildContext context) {
    return Column(
...

This is perfect.
I was thinking to put some extra variables inside the controller and access it later.
With your solution now I can use the tag to access the controller's instance later.
I tried this approach before but, it didn't work. I should've done wrongly.
Also, I'm not sure where to initialize the controller. Now I can understand it.
One small doubt, you mentioned using the final variable inside the controller will recreate. I can see in the State Management doc, all variables are final here
Can you explain that a bit? Should I use the var keyword?
I'm like to learn more about getx.
class MyWidget extends GetWidget<Controller>  This approach looks easy like binding and don't want to worry about initialization.
But is it possible to access the controller outside I mean with multiple instances pick the correct one using the tag?
How do we use the tag with this approach?
There is a tag variable in the GetWidget. I can able to override the tag. But Unable to access the controller outside.
Thanks.

You can't use a tag with GetWidget<Controller>, the widget is just a shortcut to have
get controller => Get.find<Controller>();. (My bad, someone pushed a PR these days)...
What I meant by final was the usage INSIDE a StatelessWidget... as they tend to be "recreated" often, your Controller's might be initialize it a lot of times (the constructor will run), and then will never be used (cause Get already has the first instance active), until you pop() the current screen, in which case, Get route management will dispose the active Controller mentioned before. So, if you can, always use final, generally ...
Maybe, if u don't feel comfortable using Get.put(), Get.lazyPut(), etc,  don't overthink so much in terms of the controllers... sometimes is better to pass down references in constructors, mostly with Flutter Widgets. We have to work more on the documentation and show some uses cases of it, maybe is a little complex to understand, because of the auto memory management GetX has.

put() and lazyPut() is totally okay.
The problem is not sure where should I initialize the controller.
In a statelesswidget should I use
 final controller =Get.put(Controller());
or
inside the constructor
MyWidget():super() {
Get.put(Controller())
}

And If I want to access the controller outside with different instances I need a tag, right?
And how we going to get if we use  final controller =Get.put(Controller()); in statelesswidget ?
We must use the constructor method to put the tag right?
Please tell me which approach is best for the above use-case.
Just want to isolate widget functionality in a particular controller and don't care about what that widget is doing, and when we need something from that widget after navigating few screens we need to get the controller and access the data (will be multiple instance or controller and widget with the same type)
Using GetWidget<Controller> is Initializing the controller and I can straightaway access the controller like binding.
In GetWidget source
I can see a tag variable
while accessing the controller it is getting from the instance as you mentioned.
If possible we can use tag in GetWidget so we can pass the tag in the get controller to get a specific controller
  T get controller {
    if (_value.isEmpty) _value.add(GetInstance().find<T>());
    return _value.first;

Just asking will there is an option.
Thanks for helping me out.

Sorry, is a little late here and Im exhausted, so I will try to be concise: if you can, join the Discord community (find link in README), and we can chat about it, with your particular use case.
I understand the versatility of having Global access to instances might sound great, but, can also be a headache if you abuse it.
There are no best practices at the moment to use Controllers, we will work on that for sure with the samples, as lots of devs gets confused.

Wo what happened in Discord chat? :-) We want to know the best solution as well

Uhh...
Chat seems quite welcoming. Sadly, didn't get the solution that I've expected.
Especially chat time zone is not suitable for me. Most of the members come at night according to my TimeZone. Also, the message gets unnoticed.
Tried to figure out with different approaches, I've managed to get the functionality combined with the inherited widget.
Not sure it is correct but got it working.
I've found two use-cases one is asked in this thread. another one is using the controller internally by multiple widgets.
Will share the code later. Thanks.

class FormController extends GetxController {
  final focusNodes = Map<String, dynamic>();
  final _formKey = GlobalKey<FormState>();

  final autoValidate = false.obs;

  void storeInputData(String name, FocusNode focusNode) {
    focusNodes[name] = focusNode;
  }
}

class _FormInheritedWidget extends InheritedWidget {
  final String id;

  _FormInheritedWidget({
    Key key,
    @required Widget child,
    @required this.id,
  }) : super(key: key, child: child);

  @override
  bool updateShouldNotify(InheritedWidget oldWidget) => false;
}

class CForm extends StatelessWidget {
  final List<Widget> children;
  final String id;
  CForm({
    Key key,
    @required this.children,
    @required this.id,
  }) : super(key: key) {
    Get.put(FormController(), tag: id);
  }

  FormController get controller => Get.find(tag: id);

  static String getFormID(BuildContext context) {
    return context
        .dependOnInheritedWidgetOfExactType<_FormInheritedWidget>()
        .id;
  }

  @override
  Widget build(BuildContext context) {
    return _FormInheritedWidget(
      id: id,
      child: Form(
        autovalidateMode: AutovalidateMode.onUserInteraction,
        key: controller._formKey,
        child: Column(
          children: children,
        ),
      ),
    );
  }
}

class _TextFieldBoxState extends State<CTextFormField> {
  final TextEditingController controller = TextEditingController();
  final FocusNode focusNode = FocusNode();
  FormController formCtrl;

  @override
  void didChangeDependencies() {
    formCtrl = Get.find(tag: CForm.getFormID(context));
    formCtrl.storeInputData(widget.name, focusNode);
    super.didChangeDependencies();
  }

  void onEdittingCompleteCalled() {

    if (widget.nextFocusName.isEmpty) {
      focusNode.unfocus();
    } else {
      formCtrl.focusInput(widget.nextFocusName, context);
    }
  }

 @override
  Widget build(BuildContext context) {
    return TextFormField(
                    .....
             );
}

As you can see using a form like React.
Holds all the form data and focus nodes.
Now TextFormField needs to get the correct FormController.
Used Inherited widget to access the form id from TextFormField.
Now setting nextFormFieldName will focus the next input without managing the focus node on each page.
 formCtrl = Get.find(tag: CForm.getFormID(context));

Using this I can able to get the formCtrl inside TextFormField
Not sure this approach is good.
In future anyone looking for this use-case.

I've used vmodel (just another Getxcontroller) instead of InheritedWidget. I will share code a bit later.

I want to share a bit too.
got the original code and reading the replies I come up with the working solution
import 'package:flutter/material.dart';
import 'package:get/get.dart';

class AttachmentsController extends GetxController {
  var attachments = <String>[].obs;
  final isButtonVisible = true.obs; // merge those two controllers into one,
}

class PageOne extends StatelessWidget {
  final controller1 = Get.put(AttachmentsController(), tag: 'attachments 1'); //using tags to have different instances
  final controller2 = Get.put(AttachmentsController(), tag: 'attachments 2');

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Container(
        color: Colors.yellow,
        child: SingleChildScrollView(
          child: Column(
            children: <Widget>[
              Text("Attachment 1"),
              AttachWidget(
                controller: controller1, // sending the whole controller instance instead of the list
              ),
              Text("Attachment 2"),
              AttachWidget(
                controller: controller2,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

class AttachWidget extends StatelessWidget {
  final AttachmentsController controller;

  AttachWidget({
    Key key,
    this.controller,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Obx(() {
          // getting isButtonVisible from the same controller now
          if (controller.isButtonVisible.value)
            return RaisedButton(
              onPressed: () {
                controller.attachments
                    .add("${controller.attachments.length + 1}Attach");
                controller.isButtonVisible.value = false;
              },
              child: Text("Add Attach"),
            );
          return SizedBox();
        }),
        RaisedButton(
          onPressed: () => controller.isButtonVisible.value = true,
          child: Text("View Attach Button"),
        ),
        Obx(
          () => ListView.builder(
            itemCount: controller.attachments.length,
            shrinkWrap: true,
            itemBuilder: (ctx, int index) => Row(
              children: <Widget>[
                Expanded(child: Text(controller.attachments[index])),
                IconButton(
                  icon: Icon(Icons.close),
                  onPressed: () => controller.attachments.removeAt(index),
                ),
              ],
            ),
          ),
        ),
      ],
    );
  }
}

I guess This is the correct approach.
We need to use the controller in the main widget and pass it to the child widget.
Now I understand much better-using controllers.
I've mentioned FormController In my previous message.
I'm looking forward to
@intraector has a different approach to this.

I can't get GetX working with tags. Every time it returns the same instance regardless the tag. Need some more time to research.

Appreciated.
Yes, I'm working on it too.
I Will post If I get something.

Okay, so I've imlemented it like this.
#####TextFieldNum
import 'package:Staffield/constants/app_text_styles.dart';
import 'package:Staffield/views/common/text_feild_handler/text_field_handler_num.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

class TextFieldNum extends StatelessWidget {
  TextFieldNum(this.tag);
  final String tag;

  @override
  Widget build(BuildContext context) {
    TextFieldHandlerNum handler = Get.find(tag: tag);
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        TextField(
          controller: handler.txtCtrl,
          autofocus: handler.autofocus,
          decoration: InputDecoration(
            isDense: true,
            labelText: handler.label,
            labelStyle: AppTextStyles.dataChipLabel,
            counter: SizedBox.shrink(),
            hintText: handler.hint,
            hintStyle: Theme.of(context).textTheme.caption,
          ),
          textInputAction: handler.nextFocus == null ? TextInputAction.done : TextInputAction.next,
          maxLines: 1,
          keyboardType: TextInputType.number,
          inputFormatters: handler.inputFormatters,
          onChanged: (_) => handler.onChanged(),
          focusNode: handler.focus,
        ),
        GetBuilder<TextFieldHandlerNum>(
          tag: tag,
          builder: (vmodel) => AnimatedOpacity(
              opacity: vmodel.showError,
              duration: Duration(milliseconds: 300),
              child: Container(
                // color: Colors.amber,
                height: 20,
                child: Text(
                  vmodel.errorText,
                  style: TextStyle(color: AppColors.error, fontSize: 14.0),
                ),
              )),
        ),
      ],
    );
  }
}```

######VModel:
```class VModelEditEntry extends GetxController {
  VModelEditEntry(String uid) {
    init(uid);
  }

  TextFieldHandlerNum interest;
  TextFieldHandlerNum revenue;
  TextFieldHandlerNum wage;
  final _entriesRepo = Get.find<EntriesRepository>();

<...>

  init(String uid) {
    this.entry = uid == null ? Entry() : _entriesRepo.getEntry(uid);

    interest = Get.put(
      TextFieldHandlerNum(
        label: 'INTEREST',
        defaultValue:
            uid == null ? '' : entry.interest?.toString()?.formatAsCurrency(decimals: 2)?.noDotZero,
        onChanged: calcTotalAndNotify,
      ),
      tag: Tags.interest.toString(),
    );

    revenue = Get.put(
      TextFieldHandlerNum(
        label: 'REVENUE',
        defaultValue:
            uid == null ? '' : entry.revenue?.toString()?.formatAsCurrency(decimals: 2)?.noDotZero,
        onChanged: calcTotalAndNotify,
        nextFocus: interest.focus,
      ),
      tag: Tags.revenue.toString(),
    );
    wage = Get.put(
      TextFieldHandlerNum(
        label: 'WAGE',
        defaultValue:
            uid == null ? '' : entry.wage?.toString()?.formatAsCurrency(decimals: 2)?.noDotZero,
        onChanged: calcTotalAndNotify,
        nextFocus: revenue.focus,
      ),
      tag: Tags.wage.toString(),
    );
  }

  //-----------------------------------------
  void calcTotalAndNotify([String _]) {
    calcTotal();
    update(['calc']);
  }

  //-----------------------------------------
  void calcTotal() {
    var result = CalcTotal(
      revenue: revenue.value,
      interest: interest.value,
      wage: wage.value,
      penalties: penalties,
    );
    _bonusAux = result.bonus;
    entry.total = result.total;
    _penaltiesTotal = result.penaltiesTotal;
  }

  //-----------------------------------------
  void save() {
    var results = <String>[wage.validate(), interest.validate(), revenue.validate()];
    if (results.every((result) => result == null)) {
      entry.timestamp = DateTime.now().millisecondsSinceEpoch;
      entry.penalties = penalties.toList();
      entry.wage = wage.value;
      entry.revenue = revenue.value;
      entry.interest = interest.value;
      calcTotal();
      _entriesRepo.addOrUpdate([entry]);
    }
  }

  @override
  FutureOr onClose() {
    Get.delete<TextFieldHandlerNum>(tag: Tags.interest.toString());
    Get.delete<TextFieldHandlerNum>(tag: Tags.revenue.toString());
    Get.delete<TextFieldHandlerNum>(tag: Tags.wage.toString());
    return super.onClose();
  }
}

enum Tags { wage, revenue, interest }```

######And  view:

```class ViewEditEntry extends StatelessWidget {
  ViewEditEntry([this.entryUid]);
  final String entryUid;

  @override
  Widget build(BuildContext context) {
    return GetBuilder<VModelEditEntry>(
      init: VModelEditEntry(entryUid),
      builder: (vmodel) {
        return SafeArea(
          child: Scaffold(
            bottomNavigationBar: BottomNavigation(RoutesPaths.editEntry),
            appBar: AppBar(title: Text('Entry')),
            body: Container(
              decoration: BoxDecoration(
                  gradient: FlutterGradients.cloudyApple(tileMode: TileMode.clamp),
                  ),
              child: Column(
                children: <Widget>[
                  Expanded(
                    child: Row(
                      crossAxisAlignment: CrossAxisAlignment.end,
                      children: <Widget>[
                        Expanded(
                          child: Form(
                            key: _formKey,
                            child: ListView(
                              shrinkWrap: true,
                              padding: EdgeInsets.symmetric(horizontal: 10.0),
                              children: <Widget>[
                              <...>

                                Row(
                                  mainAxisAlignment: MainAxisAlignment.start,
                                  children: <Widget>[
                                    Expanded(
                                      flex: 2,
                                      child: Padding(
                                        padding: const EdgeInsets.only(right: 10.0),
                                        child: TextFieldNum(Tags.wage.toString()),
                                      ),
                                    ),
                                    Expanded(flex: 1, child: SizedBox.shrink()),
                                  ],
                                ),
                                SizedBox(height: 5.0),
                                Row(
                                  children: <Widget>[
                                    Flexible(
                                      flex: 2,
                                      child: Padding(
                                        padding: const EdgeInsets.only(right: 10.0),
                                        child: TextFieldNum(Tags.revenue.toString()),
                                      ),
                                    ),
                                    Flexible(
                                      flex: 1,
                                      child: TextFieldNum(Tags.interest.toString()),
                                    ),
                                  ],
                                ),
                                SizedBox(height: 5.0),

                                  <...>
                                Center(
                                  child: Row(
                                    children: <Widget>[
                                      Expanded(
                                        child: Padding(
                                          padding: const EdgeInsets.all(8.0),
                                          child: OutlineButton(
                                              child: Text('Cancel',
                                                  style: AppTextStyles.buttonLabelOutline),
                                              onPressed: () => vmodel.goBack(context)),
                                        ),
                                      ),
                                      Expanded(
                                        child: Padding(
                                          padding: const EdgeInsets.all(8.0),
                                          child: RaisedButton(
                                              child: Text('ОК'),
                                              onPressed: () {
                                                vmodel.save();
                                                Navigator.of(context).pop();
                                              }),
                                        ),
                                      ),
                                    ],
                                  ),
                                ),
                              ],
                            ),
                          ),
                        ),
                      ],
                    ),
                  ),
                ],
              ),
            ),
          ),
        );
      },
    );
  }
}```

And I'd like to mention that @roipeker 's suggestion
> Maybe, if u don't feel comfortable using Get.put(), Get.lazyPut(), etc, don't overthink so much in terms of the controllers... sometimes is better to pass down references in constructors
isn't working for me. If I got it right:

```class ViewEditEntry extends StatelessWidget {
  ViewEditEntry([this.controller]);

  final VModelEditEntry controller;

  @override
  Widget build(BuildContext context) {
    return GetBuilder<VModelEditEntry>(
      init: controller,
      builder: (vmodel) {
        return ...
      },
   );
}```

In this case GetBuilder won't update screen.

There a cool way i just found i am not sure this is good practice or what, but this work very well:
class MyController extends GetxController {
  String someValue = '...';
}

class Widget1 extends StatelessWidget {
  final MyController _controller = Get.put(MyController());

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
             Text('${_controller.someValue}')
          ],
        ),
    );
  }
}

class Widget2 extends StatelessWidget {
  final MyController _controller;

  Widget2(this._controller);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: GetBuilder<MediaController>(
         init: _controller,
        builder:(_)=> Column(
             Text('${_controller.someValue}')
          ],
        ),
      ),
    );
  }
}

```````````

[BUG] using tags and go from [PageOne] => to other [PageOne] with different args or same args will create 2 instances BUT after go back from 2nd [PageOne] automatically will delete both instances of controller tag1 and tag2.

Any news on this issue?
I have I custom form on my app where the user can add more fields, and one of these fields is a segmented control widget. But I can't get it to work with multiple instances of the same controller. When you change the value on one segmented control, the value changes on all of them.
I tried a couple of different approaches, none of them worked. The current one is as follows:
`import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:ovinopro/controllers/farms_controller.dart';
import 'package:ovinopro/extensions/ovines_extensions.dart';
import 'package:ovinopro/utils/constants.dart';
import 'package:ovinopro/widgets/animal_identification_form_field.dart';
import 'package:ovinopro/widgets/date_form_field.dart';
import 'package:ovinopro/widgets/observation_form_field.dart';
class PregnancyDiagnosisComponent extends StatelessWidget {
PregnancyDiagnosisComponent({Key? key, required this.doNotShow})
: super(key: key);
final identificationController = TextEditingController();
final dateController = TextEditingController();
final pregnancyDiagnosisController = PregnancyDiagnosisComponentController();
final observationController = TextEditingController();
final List doNotShow;
final controller = Get.put();
@override
Widget build(BuildContext context) {
return Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
AnimalIdentificationFormField(
identificationController: identificationController,
ovines: FarmsController.to.ovines.alive().matrices(),
),
DateFormField(dateController: dateController),
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'pregnancy_diagnosis'.tr,
style: const TextStyle(
fontSize: 14.0, fontWeight: FontWeight.w600),
),
const SizedBox(
height: 8,
),
SizedBox(
height: 50,
width: 200,
child: GetBuilder(
init: PregnancyDiagnosisComponentController(),
builder:
(PregnancyDiagnosisComponentController controller) {
return CupertinoSegmentedControl(
padding: const EdgeInsets.all(0.0),
pressedColor: kBrown.withOpacity(0.25),
selectedColor: kBrown,
borderColor: kBrown,
children: controller.options,
onValueChanged: (value) {
controller.selectedValue = value;
},
groupValue: controller.selectedValue,
);
}),
),
],
),
),
doNotShow.contains(0)
? Container()
: ObservationFormField(
observationController: observationController),
],
);
}
}
class PregnancyDiagnosisComponentController extends GetxController {
final Map<bool, Widget> options = {
true: Text('full'.tr.toUpperCase()),
false: Text('empty'.tr.toUpperCase())
};
var _selectedValue = false;
get selectedValue => _selectedValue;
set selectedValue(value) {
_selectedValue = value;
update();
}
}
`
and on the screen I use a array of the above widget like so:
rows.addAll([       PregnancyDiagnosisComponent(doNotShow: hiddens),     ]);

@eduardothiesen, in this case, you have to use GetxController with tags.
Here's a very simple example. Here multiple CounterControllers are instantiated, each with its own tag. The CounterGroupController manages the values from these controllers you might care about.

import 'package:flutter/material.dart';
import 'package:get/get.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Material(
        child: GetBuilder<CounterGroupController>(
            init: CounterGroupController(),
            builder: (counterGroupController) {
              return SingleChildScrollView(
                child: Column(
                  children: [
                    Obx(() => ListView.separated(
                          shrinkWrap: true,
                          itemBuilder: (context, index) {
                            return GetBuilder<CounterController>(
                              tag: "counter-controller-tag-$index",
                              init: CounterController(initialValue: counterGroupController.counters[index]),
                              builder: (controller) => TextButton(
                                onPressed: () => counterGroupController.set(index, controller.increment()),
                                child: Obx(() {
                                  return Text(controller.count.toString());
                                }),
                              ),
                            );
                          },
                          separatorBuilder: (context, index) => const SizedBox(height: 8),
                          itemCount: counterGroupController.counters.length,
                        )),
                    IconButton(
                      onPressed: counterGroupController.increaseCounters,
                      icon: const Icon(Icons.add),
                    ),
                    Obx(() => Text("[${counterGroupController.counters.join(",")}]")),
                  ],
                ),
              );
            }),
      ),
    );
  }
}

class CounterGroupController extends GetxController {
  final counters = RxList([0, 1, 2, 3]);
  void set(int index, int value) {
    counters[index] = value;
  }

  void increaseCounters() {
    counters.add(0);
  }
}

class CounterController extends GetxController {
  CounterController({int initialValue = 0}) {
    count.value = initialValue;
  }
  final count = RxInt(0);
  int increment() {
    count(count.value + 1);
    return count.value;
  }
}

Note: please don't shrinkwrap long lists. Instead, consider using a SliverList. Be mindful of updates and rebuilds.


Create a page on other Bitcoin scaling solutions

A few of the teams I've talked to want to build a "L2Beat" for Bitcoin layer 2s. This includes prospective layer 2s like drivechain, etc.
It'd be good to start creating repositories of links that talk more about these technologies. In my opinion, once you have all of these things in place, you can build more in-depth content based on the links that you gather.
Some good examples might be Drivechain, EVM compatible sidechains (i.e. Botanix + Roostock), Stacks, etc.
It might not be worthwhile to focus efforts on Lightning because there's a lot attention being spent their in the ecosystem.
So, for this issue, it'd be awesome if someone created a PR for a section focusing on other Bitcoin Layer 2 solutions that aren't rollups.
I'll spend some time here too if I have a few hours free in the next few weeks.

Update on this: I built out a demo page that acts as a demo page for this: https://www.bitcoinrollups.io/l2bit/l2bit-rollup-example

Update on this. I'm working on this specifically with one on the person and we'll release a version on sidechains in the coming weeks. Goal is to just get it shipped before January 1!


Added several video tutorials teaching concepts on some of the doc pages

Hey, I love what you guys are doing with Hexo! I added some tutorial videos that I made to relevant pages on the docs. Hopefully these can help the users on the docs to gain a fuller understanding of the core concepts!!
Here's a link to the full video playlist:
https://www.youtube.com/watch?v=Kt7u5kr_P5o&list=PLLAZ4kZ9dFpOMJR6D25ishrSedvsguVSm

Awesome, this would be really helpful!

I will also add the video playlist to the https://github.com/hexojs/awesome-hexo .

Thanks! Keep up the good work with Hexo!


Generation failed: The folder “project.pbxproj” doesn’t exist.

We've been getting this warning sporadically with XcodeGen 1.10.2. I'm not sure how to reproduce it yet, but I was wondering if anyone else has seen this issue. It appears to be coming from this catch:  https://github.com/yonaskolb/XcodeGen/blob/6c35c332e973c4a0bfb0f87c285fcc4e23a8db55/Sources/XcodeGen/main.swift#L66

Hmm, haven't seen this before. Is it still happening?

We haven't seen this since, but we never really saw it frequently either.

FWIW I saw this yesterday. Seems to happen occasionally (inconsistently) when a large number of files change since the last generation

Adding a bit more info: I noticed today that this occurs when running XcodeGen on 2 project workspaces simultaneously (in my case, 2 different clones of the same repo in sibling directories on my machine). When doing so, one of them will fail pretty consistently.

I saw this one today too, I think this is because Xcode is open with the project, and it must try to do something during that time that borks the writing

We're seeing this intermittently too... running many clones of the same repo in a manner similar to @rebello95


Confused tag assignment in components page

Description
Clearly and concisely explain the problem.
You can mention unclear or missing information, typos, grammatical mistakes, etc.
Any contributions and suggestions are welcome!
Some components are not assigned to the right tags. eg. floating buttons are not among the buttons tag. we need to check them again and correct what is wrong.

Website Section URL
Website live preview, paste the page URL or section name (eg. Docs, if it happens on all docs page) below.

Fixed into #108


testcafe -b returns the "The specified "true" browser provider was not found" error

Your Environment details:

testcafe version:                   v1.5.0
node.js version:                    v12.8.0
command-line arguments:  testcafe -b || testcafe --list-browsers
platform and version:          Windows 10

Same issue here.

It happens also on macOS Mojave (version 10.14.6)


Capture resource timing from inside iframes

@philbooth this one is for you.
At the moment, ResourceTiming does not pull in anything from iframes since there's a different window.performance object in each iframe.  I think it would be cool if we could capture that within the restrictions of cross-domain checks.
IMO, we'd attempt to access the iframe's documentElement inside a try/catch block, and if successful, we'll pull the entire restiming object from there, and also the window.performance.timing object (for navigation timing).

Included in this change https://github.com/lognormal/boomerang/pull/68


Added vagrant user to libvirtd group so it has permissions to kill discoverd

Signed-off-by: John Zila<EMAIL_ADDRESS>

We should do this in the packer install script.

comments addressed


New resource being ignored by tests

Description :
I am adding an aws_subnet to my Terraform code base without tags, producing a plan file that includes the new resource (which has no tags), and then passing this to terraform-compliance, which is not applying the follow Scenario Outline to the new resource:
    Scenario Outline: Ensure we have specific tags in place
        Given I have resource that supports tags defined
        Then it must contain <tags>
        And its value must match the "<value>" regex

        Examples:
        | tags          | value              |
        | Name          | ^mcrilly\-.+$      |
        | Environment   | ^Sandbox$          |

To Reproduce

See below HCL

resource "aws_vpc" "test" {
  cidr_block = "<IP_ADDRESS>/16"
  tags = {
    Name = "mcrilly-sandbox"
    Environment = "Sandbox"
  }
}

resource "aws_subnet" "test" {
  cidr_block = "<IP_ADDRESS>/24"
  vpc_id = aws_vpc.test.id
}

terraform-compliance -f compliance/ -p plan.out
I'm using the Python package directly (installed via pip)
The output can be seen below:

Feature: Correctly defined tags on all applicable resources  # compliance/tags.feature
    I need to ensure all resources that support tags have a bare minimal set in place

    Scenario Outline: Ensure we have specific tags in place
        Given I have resource that supports tags defined
        Then it must contain <tags>
        And its value must match the "<value>" regex

    Examples:
        | tags        | value        |
        | Name        | ^mcrilly-.+$ |
        | Environment | ^Sandbox$    |

1 features (1 passed)
2 scenarios (2 passed)
6 steps (6 passed)
Run<PHONE_NUMBER> finished within a moment

tags.feature...

    Scenario Outline: Ensure we have specific tags in place
        Given I have resource that supports tags defined
        Then it must contain <tags>
        And its value must match the "<value>" regex

        Examples:
        | tags          | value              |
        | Name          | ^mcrilly\-.+$      |
        | Environment   | ^Sandbox$          |

Expected behavior :
I expect the tests to fail given aws_subnet.test does not have any tags defined. It is a resource that can be given tags. My Scenario Outline checks for all resources that support tags and tests them for a minimal set. My aws_subnet.test resource is not being included.
I would expect the tests to fail when attempting to add a new resource that does not comply with the requirements defined.
Tested versions :
$ terraform-compliance -v
terraform-compliance v1.0.51 initiated

1.0.51

$ terraform version
Terraform v0.12.10
+ provider.aws v2.33.0

$ python --version
Python 2.7.15

I'm going to assume "Many missing resources requires tagging." (from the README.md file) is the cause of this issue?
Essentially you've not covered all resources yet? :-)

Thanks for reporting this @mrcrilly :tada:
All resources that support tags (according to the utilised terraform provider) will be recognised by terraform-compliance as resource that supports tag.
This is quite a standard test that has been used by many, interestingly failing for you. Debugging.

Found the problem, it is due to resource mounting capability of terraform-compliance where aws_vpc is mounted within aws_subnet and because the checks are recursive, on aws_subnet test, it drills down on aws_vpc and found tags that are valid by the test.
Unfortunately, this makes the test pass while it is expected to be failed. Will find a good structure to fix this problem and release the new version.
Thanks again!

1.0.52 has been released for fixing this issue. Would it be possible to have a quick re-test with the new version ?
By the way, I highly recommend to upgrade your Python environment, since 2.7 will be obsolete soon and is not supported by terraform-compliance officially :)

Hi @mrcrilly,
Did you find any time to re-test your problem with the latest version ?

Assuming the problem has been resolved, closing the issue. Please do not hesitate to open a new one if the problem still continue.
Thanks :tada:


[MRG] set vmin, vmax after smoothing in plot_epochs_image

Another small change to plot_epochs_image - I made it separate from the other PR, because it is not necessarily a bug.
Currently vmin and vmax are set before smoothing (using sigma) so if one uses sigma the colorscale is not fully used (smoothed data will have lower min and max values etc.).
You can see the difference here:
Before:

After:

:warning:
Now the vmin, vmax are not set based on the whole data, but based on the first smoothed channel (out of those in picks). I could move smoothing out of the figure-loop - so that all picks are smoothed before the loop and vmin, vmax are set based on the whole smoothed data.

Looks pretty cool. Taking a look later.
On Wed, 29 Jun 2016 at 01:31, Mikolaj Magnuski<EMAIL_ADDRESS>wrote:

Another small change to plot_epochs_image - I made it separate from the
other PR, because it is not necessarily a bug.
Currently vmin and vmax are set before smoothing (using sigma) so if one
uses sigma the colorscale is not fully used (smoothed data will have
lower min and max values etc.).
You can see the difference here:
Before:
[image: before_02]
https://cloud.githubusercontent.com/assets/8452354/16435741/6e2c6ac4-3d98-11e6-9306-878f1e131455.PNG
After:
[image: after_02]
https://cloud.githubusercontent.com/assets/8452354/16435747/77e06b2e-3d98-11e6-8dff-c06687b1adee.PNG
⚠
Now the vmin, vmax are not set based on the whole data, but based on the
first smoothed channel (out of those in picks). I could move smoothing out
of the figure-loop - so that all picks are smoothed before the loop and
vmin, vmax are set based on the whole smoothed data.
You can view, comment on, or merge this pull request online at:
https://github.com/mne-tools/mne-python/pull/3360
Commit Summary

set vmin, vmax after smoothing

File Changes

M mne/viz/epochs.py
https://github.com/mne-tools/mne-python/pull/3360/files#diff-0 (5)

Patch Links:

https://github.com/mne-tools/mne-python/pull/3360.patch
https://github.com/mne-tools/mne-python/pull/3360.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/pull/3360, or mute the thread
https://github.com/notifications/unsubscribe/AB0fik365srsXKntqixkCNikC2VxJf9Wks5qQa7MgaJpZM4JAovy
.

[Current coverage][cc-pull] is 86.56%

Merging [#3360][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master      #3360   diff @@
==========================================
  Files           335        335
  Lines         57319      57319
  Methods           0          0
  Messages          0          0
  Branches       8713       8713
==========================================
+ Hits          49617      49619     +2
+ Misses         5075       5073     -2
  Partials       2627       2627

[][cc-pull]

Powered by Codecov. Last updated by [11fc0ef...6986cfa][cc-compare]
[cc-base-branch]: https://codecov.io/gh/mne-tools/mne-python/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/mne-tools/mne-python/compare/11fc0ef2d923f35623a6d9baa6f1aa8af27fc278...6986cfab8b943633c6581cbdbc2407828f24eaab
[cc-pull]: https://codecov.io/gh/mne-tools/mne-python/pull/3360?src=pr

Both this and #3359 are very appreciated.

I don't like the fact that you only use the first image.
I would say that if vmin, vmax are not set I see 2 options:

have a different vmin, vmax per channel
precompute the smoothed data and set the vmin, vmax globally

no strong feeling

I prefer #2 - the code is probably more complex, but IMO same range = least surprise.

I also think I prefer option two. I'll add precomputing smoothed data.

@agrmfort @jona-sassenhagen @dengemann
Travis error is not related (failure to download some dataset), ready for review.

thx @mmagnuski

thanks! :rocket:

Thanks Mikolaj!


Define a time-derivative expression helper for the expression system

VisIt's database sub-system has logic to automagically define time-derivative expressions for all database variables here...
https://github.com/visit-dav/visit/blob/faf9258271cf144fc73a8813d0a2fbca5cb089a7/src/avt/Database/Database/avtDatabase.C#L1591
But, that means the expression system itself really has no concept of a time-derivative. We do not have an expression function to, given a variable name, easily define a time-derivative expression for that variable as in time_derivative(<var>). Now, that function would really be nothing more than a short-hand or alias for the CMFE expression necessary to represent a time derivative but I think it would be way more useful if the expression system understood time-derivatives.
It would mean the logic to build such expressions would be refactored from avtDatabase.C to somewhere in the expressions system. This relates to #4701.

time_derivative would be simpler than using a cmfe.


Upgrade emojilib to version 3

emojilib v2 is too old. So many emojis added past 5 years are not available as quick reactions.

Looks good. :+1:
Do you mind adding a changeset to the PR and setting the target to the next branch?
To create a changeset you can run yarn changeset and select patch then set to the summary to Update emojilib

Owner

Done:+1:


Rotating model with physics resets the rotation

When importing a model with WHS.Model and applying it a rotation in the constructor with Physics, the object is created with the correct rotation.
Then, when Physics is loaded, the rotation resets to the defaults.
Here is a pen showing the issue on the "arch" object (the Cylinder's rotation works fine) : https://codepen.io/jordanthiervoz/pen/vZBEWO
Version:

[x] v2.x.x
[ ] v1.x.x

Issue type:

[x] Bug
[ ] Proposal/Enhancement
[ ] Question
[ ] Discussion

 Tested on:
Desktop

[x] Chrome
[x] Chrome Canary
[ ] Chrome dev-channel
[ ] Firefox
[ ] Opera
[ ] Microsoft IE
[ ] Microsoft Edge

Android

[ ] Chrome
[ ] Firefox
[ ] Opera

IOS

[ ] Chrome
[ ] Firefox
[ ] Opera

Fixed in #242. Will be soon in next release

The rotation issue seems to be resolved in the beta 9.1 version.
I created an updated pen here : https://codepen.io/jordanthiervoz/pen/yXymQb.
It looks like the physics are not updated for the collisions according to the rotation: the cylinder goes trough the model then bumps in the middle of it.

@thiervoj Open the issue in https://github.com/WhitestormJS/physics-module-ammonext . Looks like it is a scaling problem (data like height, radiusTop, ...)

@thiervoj Okay, I found the problem. You forgot to set scale on your concave mesh. See this example

Oh, my bad ! Thanks for that :)


[BUG] Security analytics plugin ignores service property of logsource and generates false positives for service-specific Sigma rules

What is the bug?
The security analytics plugin is converting the logsource input into pre-defined categories and ignoring the service property of the logsource, resulting in a high number of false positives when applying service-specific Sigma rules.
How can one reproduce the bug?
Steps to reproduce the behavior:
Apply a Sigma rule that is service-specific and should only apply to a particular log source. For example, the zeek_rdp_public_listener.yml rule that should check the "id.orig_h" field in the zeek rdp.log file.
You can see the same rule applies to the other zeek log sources such as files.log that share the same filed defined in the rule condition as the targeted log source. (in this case, the "id.orig_h" field).
What is the expected behavior?
The plugin should support service-specific rules and only apply them to the relevant log source of that service in a specific product.
What is your host/environment?

OS: Ubuntu 22.04
Version 2.6.0
Plugins

Do you have any screenshots?
No
Do you have any additional context?
The zeek_rdp_public_listener.yml rule is provided as an example of a service-specific rule that is affected by the bug. False positives generated by the incorrect application of service-specific rules can cause a significant amount of noise for security analysts and impact the overall effectiveness of the security analytics plugin.

Wouldn't it be expected from user to have separate log indices for every different (zeek) service?
UX improvement would make sense here to make selection of service specific rules easier. @getsaurabh02

This is a valid concern especially if users want to create or use existing rules that should be run only on specific services. Im sharing this with the team. We want to balance the simplicity of the rules with ability to use relevant features of Sigma. If you have any ideas on how to solve this without adding more rule creation complexity, i would love to hear that. Thanks


Update fastcrypto pointer

Description
Update fastcrypto pointer
Test Plan
All tests pass

Failing tests are unrelated to this change


In 2618

Could you remove .DS_Store? It's in the gitignore but still appears to be in the root directory

Could you remove .DS_Store? It's in the gitignore but still appears to be in the root directory

Done


Cannot display error messages

I'm trying to display error messages using server side validation. I can't get it to work.
The input field is not marked as has-error and no error is displayed, even though errors.email and errors.password contain a string. Is there anything wrong with my code?
<template>
  <form-validator :model="errors" @submit="submit">
    <bs-input type="email"
      :model="email"
      :error="errors.email"
      :label="$t('forms.login.email')">
    </bs-input>

    <bs-input type="password"
      :model="password"
      :error="errors.password"
      :label="$t('forms.login.password')">
    </bs-input>
  </form-validator>
</template>

<script>
import {
  input as bsInput,
  formValidator
} from 'vue-strap'

export default {
  name: 'LoginForm',
  components: {
    bsInput,
    formValidator
  },
  data () {
    return {
      email: '',
      password: ''
    }
  },
  computed: {
    errors () { return {} }
  },
  methods: {
    loginError (errors) {
      this.errors = errors
      console.log(errors, errors.password, errors.email)
      this.$emit('loginError')
    },
    loginSuccess (response) {
      this.$emit('loginSuccess')
    },
    submit (event) {
      this.$store.dispatch('login', {
        email: this.email,
        password: this.password
      }).then(this.loginSuccess, this.loginError)
    }
  }
}
</script>

It does work when I put the field on required. Then it prints

<custom error message> (<vue-strap error message>)

e.g.

This field is required (required)


Add etcd image.

Signed-off-by: Dan Lorenc<EMAIL_ADDRESS>

Is this something we should worry about?
https://github.com/etcd-io/etcd/blob/main/Dockerfile-release.amd64#L13
I see the reference is to "alpine", but the FROM is for a distroless image.
Also, there is a lot more in the bitnami image regarding start-up, but most of it seems concerned with mapping env vars to config.

I think this comment is out of date and they probably meant distroless. But distroless does include an nsswitch.conf now, as does Wolfi.

Yeah, it just needs the glibc entry removed now that it's in wolfi.
Should we mark this experimental though? etcd is a critical component so we might want to be careful.

how to do so if we wanna: https://github.com/chainguard-images/images/blob/main/images/bazel/image.yaml#L1

LGTM, but not sure if you're still testing @dlorenc so I'll let you merge.


reCAPTCHA Verification Broken

Your reCAPTCHA validation does not work. In my own version of this platform, I have fixed your validate function and updated it (along with the registration coffeescript) to work with Google's reCAPTHCA v2.
I'd be happy to submit a pull request to master (or whichever branch you direct me to) with the fix and update for review. Just let me know.

I would love to take a look at a pull request if you have one! reCAPTCHA was something we testing initially but never ended up using in production so it is very possible an issue went unattended.


DOCS-1290-CE-update-arch-diagram

Add new API for MT

CE 3.17
Note: No updates to CC arch diagram at this time. Changes are all on the management cluster side.

Issue:
Link to docs preview:
https://deploy-preview-423--tigera.netlify.app/calico-enterprise/next/reference/architecture/overview#api-gateway
SME review:
[ x ] A SME has approved this change.
DOCS review:
[ x ]  A member of the docs team has approved this change.

LGTM


For Design/References of live screen share

We have to make design/references for live screen share.

Detailed Design link - https://www.figma.com/file/2VtPGJH61Qp0iarkKW6KTO/Live-Site-Detailed-Designs?node-id=0-1

Closing this since all designs got made


[Bug] :@visactor/react-vchart打包类型错误

Version
^1.8.7
Link to Minimal Reproduction
no
Steps to Reproduce
1.pnpm build 2.报错
Current Behavior

Expected Behavior
build Success！
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
修复类型错误❌

可能是typescript 版本问题
https://stackoverflow.com/questions/72947650/type-error-expected-when-running-yarn-build
如果提供复现环境，可以reopen或者新建一个issue