ListTile is not clipped when filled with a color.

Steps to Reproduce

In both of those programs, the ListTile is not clipped correctly:

import 'package:flutter/material.dart';

const Color darkBlue = Color.fromARGB(255, 18, 32, 47);

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark().copyWith(
        scaffoldBackgroundColor: darkBlue,
      ),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  final children = List<Widget>.generate(
      5,
      (i) => ListTile(
              tileColor: Colors.green,
              hoverColor: Colors.red,
              title: Text('$i')));

  @override
  Widget build(BuildContext context) {
    return ClipRRect(
        borderRadius: BorderRadius.circular(20),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: List.generate(
            children.length,
            (index) {
              return children[index];
            },
          ),
        ));
  }
}

import 'package:flutter/material.dart';

const Color darkBlue = Color.fromARGB(255, 18, 32, 47);

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark().copyWith(
        scaffoldBackgroundColor: darkBlue,
      ),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  final children = List<Widget>.generate(
      5,
      (i) => ClipRRect(
          borderRadius: BorderRadius.circular(50),
          child: ListTile(
              tileColor: Colors.green,
              hoverColor: Colors.red,
              title: Text('$i'))));

  @override
  Widget build(BuildContext context) {
    return Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: List.generate(
            children.length,
            (index) {
              return children[index];
            },
          ),
        );
  }
}

Expected results:
The green ListTiles or the Column containing them are clipped.
Actual results:
Nothing is clipped:

@MalcolmMielle
Can you provide flutter doctor -v and platform on which you are seeing this behavior ?

Sure thing!
Flutter doctor -v:
[✓] Flutter (Channel master, 2.6.0-6.0.pre.103, on Fedora Linux 35 (Workstation Edition) 5.15.6-200.fc35.x86_64,
    locale en_US.UTF-8)
    • Flutter version 2.6.0-6.0.pre.103 at /home/malcolm/external_sources/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a31e0a4336 (3 months ago), 2021-09-15 15:05:56 -0600
    • Engine revision 77856b8fe4
    • Dart version 2.15.0 (build 2.15.0-98.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /home/malcolm/Android/Sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Linux toolchain - develop for Linux desktop
    • clang version 13.0.0 (Fedora 13.0.0-3.fc35)
    • cmake version 3.22.0
    • ninja version 1.8.2
    • pkg-config version 1.8.0

[✓] Android Studio (version 4.0)
    • Android Studio at /home/malcolm/external_sources/android-studio-ide-193.6626763-linux/android-studio
    • Flutter plugin version 50.0.1
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.62.3)
    • VS Code at /usr/share/code
    • Flutter extension version 3.29.0

[✓] VS Code (version 1.63.0-insider)
    • VS Code at /usr/share/code-insiders
    • Flutter extension version 3.23.0

[✓] Connected device (1 available)
    • Linux (desktop) • linux • linux-x64 • Fedora Linux 35 (Workstation Edition) 5.15.6-200.fc35.x86_64

The behavior is seen on Linux (using Fedora 35)

Thanks for the details. Using the sample code provided and also with a below code snippet, the listTile corners are not clipped out of the box, although there are workaround / solutions using Card widget to achieve the effect.
return ClipRRect(
      borderRadius: BorderRadius.only(
        bottomLeft: Radius.circular(20),
        bottomRight: Radius.circular(20),
      ),
      child: ListTile(
        tileColor: Colors.red,
        title: Text("Tile 3"),
      ),
    );

 stable, master flutter doctor -v
[✓] Flutter (Channel stable, 2.5.3, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.5.3 at /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (2 days ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/dhs/Library/Android/sdk
    • Java binary at: /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/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
      1.8.0_242-release-1644-b3-6915495)

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

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

• No issues found!

[✓] Flutter (Channel master, 2.6.0-12.0.pre.934, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-GB)
    • Flutter version 2.6.0-12.0.pre.934 at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision eea6c54dc2 (4 hours ago), 2021-12-06 16:59:05 -0800
    • Engine revision 66a281107b
    • Dart version 2.16.0 (build 2.16.0-80.0.dev)
    • DevTools version 2.9.1

[✓] Android toolchain - develop for Android devices (Android SDK version 30)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/dhs/Library/Android/sdk
    • Java binary at: /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/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
      1.8.0_242-release-1644-b3-6915495)

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

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

• No issues found!

While using a Card enables the clipping of the ListTile, it doesn't work for other widget like InkWell.

With that solution, can this issue be closed as resolved ?

Using Card is a solution to the problem for now. I don't now enough to know if there is a limitation compared to being able to use ClipRRect instead.

ListTile uses Ink so if you want to clip it the new examples added to https://master-api.flutter.dev/flutter/material/Ink-class.html explain how to do it and why it can seem like clip does nothing at first.
The solution here is to wrap the tiles in a Material.


Dialogs with % are misreading the input

I'm not sure what changed, but for instance, for global layout, the scale should be a percentage, 55 === 55%.  Somehow 55 is being read As 0.55 %.

@AaronDavidNewman changes I made on a rocker component when I was adding min and max values caused this behaviour.
This pr should fix it https://github.com/Smoosic/Smoosic/pull/18

Oh, this was fixed with the PR, closing


Use server socket options

Not really sure, but i think the code did only use the 'backlog' option and ignored all others.
Plz check if this fix is correct, but it works for me.

I'd rather keep this an explicit whitelist for now - what were the other options that were useful?

According to http://php.net/manual/de/context.socket.php I'd expect at least 'bindto'.
But this issue is kind of old, so I'm not using bindto anymore.


Fix For New Zola Versions

Zola will no longer zola serve or zola build unless the content folder exists.
I also updated the theme.toml file homepage to point to the current repository url.

It seems the vercel bot is only useful to the person that actually own the account, it shows zero information to me about the build issue. I have ran zola build and zola serve locally with no issue. Maybe one day the vercel bot can be as cool as the netlify bot.
This should be safe to merge:

Thank you for contribution. I've accepted all your commits, anyway in te commit da98b0f I've downgraded the Zola version from 16.1 to 14.0 due to Vercel GLIBC version compatibility,


Rename {Missing,Invalid}Schema to *Scheme

As @merwok pointed out at https://github.com/kennethreitz/requests/pull/512#commitcomment-1296187, schemes are what they're called, not schemas. I got tripped up by this at https://github.com/CenterForOpenScience/osf.io/pull/4745#issuecomment-169038417, where "InvalidSchema" made me think I was hitting a database error, when in fact it was a configuration error in the format of a URL.

Thanks @whit537. Unfortunately, this is a breaking change so we can't accept it until 3.0.0: can you adjust this PR to point to the proposed/3.0.0 branch instead please?

Sure thing. Closing this PR ...

It occurs to me that it'd be possible to implement this in a backwards-compatible way, but since that would involve more than simply renaming the error classes (I guess you'd make an InvalidScheme class that subclasses InvalidSchema) it would take more time and would deserve a test or two imo. I can't commit to that work so I'm leaving this PR closed.


Feature/cmake

using pure cmake to build all the projects
minor fixes regarding target linking and explicit template prespec
added FindIpopt.cmake

[ ] properly resolve lapack dependency (don't put in package.xml since it's optional)

@jcarius the cmake-only version should be fit for testing - I would be curious to see if it works out of the box with your local CT-based developments (it should!).
It still supports catkin, i.e. catkin build ct_optcon -DBUILD_EXAMPLES results in the same behaviour as before.
Important note: you may need to adjust your downstream projects in one single aspect. That is ct cannot be listed as catkin_dependency anymore. Now it needs to go under the standard DEPENDS tag.


Default options for a custom option are overridden then deleted when some, but not all, options are set in typedoc.json

Search terms
options addDeclaration custom
Expected Behavior
When adding custom options with app.options.addDeclaration, the defaultValue fields will be overridden by values in typedoc.json, otherwise retained as per default.
Actual Behavior
If some values are defined in typedoc.json, these override the defaults and the remainder are deleted.
If an empty object for the custom key is defined in typedoc.json, all values are deleted.
If no custom key is defined in typedoc.json, all values are retained as per defualt values.
Steps to reproduce the bug
minimal repro pr
minimal repro
Environment

Typedoc version: 23.10
TypeScript version: 4.7.4
Node.js version: 16.16.0
OS: Ubuntu 22.04

This is working as expected for mixed options. Mixed options could be objects, numbers, strings, or even a function... for this reason, TypeDoc performs no processing on them. Your plugin will need to do something like:
const opts = { ...app.options.getValue("opt"), ...defaults }

If your object only contains boolean flags, a Flags option type might be a better fit, TypeDoc does do some additional processing for that case.

Thank you - your suggested workaround is appreciated.
In practice, default options will need to be read in the declaration scope before they are lost, and then merged after the reader is run;
app.options.addDeclaration({...});
const defaultOptions = app.options.getValue("opt");

// this below, or in a new scope after app.bootstrap eg. after a renderhook
app.options.addReader(new TypeDocReader());
app.options.read(new Logger());
// end

const myScopedOptions = {...defaultOptions, ...app.options.getValue("opt")}

From the theme / plugin developer's perspective, the API method of app.options.getValue is now redundant for custom keys. For me, this feels verbose and messy.
However, given that;

when a custom option key IS NOT passed in typedoc.json, the default values ARE retained,
when a custom option key IS passed in typedoc.json, the default values are ARE NOT retained

I assert that the present behavior for mixed options is inconsistent.
I expect that there are many reasons why you are implementing the behavior this way, but I argue:

for a theme / plugin developer this level of the API should behave consistently with no workarounds required.
my intuitive expected behavior at this level of the API is that default values are retained / overridden, and that lower level concerns / complexities are addressed outside of the higher level API.

I would instead recommend:
app.options.addDeclaration({ ..., default: {} }) // no real point including defaults here
// later...
const options = { foo: "a", bar: "b", ...app.options.getValue("opt") }

but yes, you have run into a use case which simply doesn't exist for TypeDoc itself, so additional code was not written to cover it. Instead of adding a single test option if adding something like this to TypeDoc, I would define testFoo and testBar string options so that the options could both be set on the command line, which would result in them being set separately, and thus not needing this merge behavior.

Appreciated,
I will not be offended if you want to change this issues label from "bug" to something else, maybe "enhancement"?
I also appreciated that,  if so required or desired, each option can be individually declared as strings for param parsing.
For my purpose, this is not required, and not desired as it pollutes the top level options, and keyed sub-options are friendlier to document and consume.
IMO, issues like this one become important for a Typedoc extension's code readability and maintainability.
I feel options are best declared consistently within the entry hook point, ie. load().
Down the line, your suggested method of declaring the options could become a needle in a haystack...
Here is how I am implementing a workaround, which I think is more elegant and succinct for future humans.
I am busy kicking the proverbial Typedoc tyres with some plugin development, and then a custom theme development.
Thanks for the product, I see that you are doing a lot of heavy lifting here Gerrit0.

I'm not really opposed to adding a new option type for nested options (how does it merge? don't want to add a new dependency, is Object.assign good enough? nested? does it require a similar object structure?) or reworking options entirely to be based on a deep merge mentality (would reduce the option soup that TypeDoc's own options have become...) but don't see getting to it anytime soon. PR welcome if you'd like to tackle either of these, though we probably need to work out a proper design if going after the larger option.

Agreed.
I am starting into a custom theme, which will improve my familiarity with the TDoc codebase.
I will come back here for discussion as and when ideas emerge.

Current Fix
I have created a Pull Request which works around this issue.
It does nothing more than handling 'mixed' type options for plugins by stashing defaults at the beginning of bootstrap() and merging them back at the end.
Breaking future updates
More elegant solutions are possible, but they are going to introduce breaking changes. I have started working on this here.
The basic approach:

use the typeDoc 'events' architecture to break bootstrap() into stages with hooks.
using the event hooks, explicitly declare the 'read' order
allow hooks a handle on app to read/modify state along the chain.

This will provide a more readable and flexible architecture for plugin/theme developers, and also deprecate some of the obfuscating functions around the read order and double reading of args.
This is a bit messy for now, but does function although it wreaks havoc with the whole testing landscape...

I think both of the proposed options are making this more complicated than it needs to be. A non-breaking way of introducing this behavior that I'd rather go for is:

Leave Mixed options as is
Introduce a new ParameterType.Object
Update convert in utils/options/declaration.ts to accept a new oldValue argument, which can be used by the Object option type to merge the old and new objects into the converted value.

I do appreciate your concerns, and understand that you prefer adding a new behaviour instead of risking interference with existing behavior. This makes sense.
I understand your proposal to be as per below:

The only directly scoped influence a plugin can have on it's options is inside the main application bootstrap(), within the loadPlugins() call.
Outside of the control of the plugin, inside bootstrap() and after loadPlugins(), options.read() is called, which chains through the TypeDocReader to readFile to the code below.

        for (const [key, val] of Object.entries(data)) {
            try {
                container.setValue(
                    key as never,
                    val as never,
                    resolve(dirname(file))
                );
            } catch (error) {
                ok(error instanceof Error);
                logger.error(error.message);
            }
        }

The above calls setValue(), which contains the call to convert in utils/options/declaration.ts
Behaviour is now contained in the new ParameterType.Object. When setValue() is called on it by;

the plugin author within the initial scope of the plugin, or
by the main application in (2)

The default options will now be overridden, and not deleted, in both cases above.
This is a safe fix to the stated issue.
As far as the extensibility of future versions of typeDoc (which may be breaking), the API for a plugin remains restrictive and inconsistent.
There could be any number of reasons why a plugin author may want to, within the bootstrap scope (before the application runs),  conditionally and selectively override not only their own, but also the other application options.
In this case, they would expect:

Modifications to any and all options would persist into run().
the Object and Mixed types to behave consistently (potentially raising confusion about why the 2 different types exist in the first place)
have the ability to perform array functions (push, filter, etc) and persist modifications on array type options.

I think that much of this can be achieved in a non-breaking way by adding event hooks into the bootstrap process.
I suggest considering if your proposal for ParameterType.Object could not be applied to the existing ParameterType.Mixed without breaking anything, and negating the need to create a new parameterType?

Modifications to any and all options would persist into run().

They would only expect this if they had not read the overview of how typedoc works. That is not how it works, and should not be how it works since it means inconsistent behavior for plugins stomping on options. (Which is a bad idea anyways...)

the Object and Mixed types to behave consistently

I disagree here... You shouldn't expect StringArray and PathArray options to behave the same way, despite both being able to receive an array. There's a meaningful distinction between these, same for Object and Mixed.

have the ability to perform array functions (push, filter, etc) and persist modifications on array type options.

They can do this today, but they have to place a hook in the appropriate place. I would be okay with an event emitted at the end of Application.bootstrap to make this easier, but really dislike using events for control flow (e.g. "reader init", "reader do read") as it makes it much more difficult to follow the logic without having to debug code.

This is not about reading the overview, or any other helpful resources.
Typedoc appears to (correctly) make the parsed options immutable in app.convert() close to the top of run(app), immediately after bootstrap().
Given that, within bootstrap, options.reset() is called after plugins are loaded, there is no existing appropriately placed hook before options are frozen.

An extension developer (the user) has no control over this.
I agree that the end of Application.bootstrap is the best place for a new hook.

graph LR;
subgraph Bootstrap
Start-->loadPlugins;
loadPlugins-->options.reset;
options.reset-->options.read;
options.read-->End;
end
subgraph run
subgraph app.convert
End-- no existing hooks -->options.freeze;
end
options.freeze-->A[complete run]
end
B{New Hook?}-->End;
loadPlugins-- the user has no control -->options.freeze

IMO, any documentation software package should make the user a first class citizen. The default theme and documenting style / architecture can be as opinionated as desired in the core, but the extensibility should be equally flexible.
Yes - allowing a plugin to manipulate options before they are frozen can break things, but equally so for any number of other things a plugin could do, and trying to control that will be like pulling the frayed end of a jumper thread.
Yes - there is a meaningful distinction between stringArray and pathArray in the purpose and behavior of how they are resolved, but this is not true for Object and Mixed.
Object is being proposed as a low risk workaround to substitute unanticipated and inconsistent behavior in Mixed when it is consumed by users.
Having both has the potential to confuse users, and the more robust approach is fixing the behavior in the existing type without compromising core.
IMO, this issue can be resolved by solutions already discussed:

A new hook at the end of bootstrap
Applying your aforementioned solution to the existing Mixed type, even if it may mean waiting for a breaking release.

Let me know if there is anything you want me to do about this directly.

Plugins may add readers to the options object, so can technically modify values there... I agree the event at the end of bootstrap is a good idea.

but this is not true for Object and Mixed.

Here's where we disagree. Two examples in TypeDoc's options today:

visibilityFilters
searchGroupBoosts

Visibility filters have default values for protected, private, inherited, and external. Users can specify values for these to overwrite the defaults or they could specify { "@internal": true } to hide all of the default filters, and only include one for values tagged with @internal.
Search group boosts today defaults to an empty object, so it would be moot, but I've been considering adding a default to weigh top level reflections higher than properties/methods. You could argue that partial-overrides should apply here, but that either prevents TypeDoc from warning if you specify some custom group which doesn't exist (with @group) (it shouldn't show up for default groups since you shouldn't get a warning if you happen to document something without classes), or severely complicates the logic to provide that user experience improvement.
I'd be happy to merge a PR adding the hook to bootstrap + a new Object option type, but I don't want to put this functionality on Mixed options.

Ok, I can now see where changing the behaviour on Mixed will change existing core behaviour. Thanks.
IMO, the existing behavior you have clarified for "visibilityFilters" and intended for "searchGroupBoosts" is implicit, and I prefer explicit public API's, even if they may need to be more verbose. That's my 2 cent's worth and maybe a debate for another day! :smile:
I will get started on a PR for the new event hook and Object type.


Recipes having a description should be enforced by tests

Part of our test process should be to load recipes all recipes on the classpath and ensure they have a description which matches our expectations (not blank, ends in a period).
rewrite-recipe-starter could come with a default test which does this. Creators of recipe modules can remove the test, but generating it will at least alert them of the expectation.

This has been completed


Fixed incorrect rule example

Changed the example for the "deviceTrustType" as it was using the 'deviceOwnership' property and not the 'deviceTrustType' property.

@AusXTech : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@AusXTech : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@barclayn
Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Official SMBSync2 Exclude / Include filters behavior and issues #96 (Continued)

This continues the https://github.com/Sentaroh/SMBSync2/issues/96 issue
I hope we got a winner: pushed the patch to the current filters v2 commit
Please check attached java sample class method to quickly test the code and all the filter possibilities
Any fixes should be easier to do in the sample before adapt in main code
Whole dir prefix: match anywhere in path
- Exclude any folder named dir: `\dir`
- Exclude all `dir1/dir2`folders: `\dir1/dir2`
- Include ANY folder named dir: not allowed, the overhead is just huge and all code in SyncThread.java, Copyfile.java, archive and zip must be rewritten

Traverse Exclude filter (no sense in include filter)
dir1/dir2   -> do not traverse dir2 (empty dir2 not created)
dir1/dir2/   -> traverse dir2 (empty dir2 created)
\dir and \dir/   -> same as above to traverse or not

All other Include and Exclude filters behavior is identical between filters
The below combinations are allowed and act as expected also with Whole dir prefix `\`
cache   -> master/cache/*
/cache   -> master/cache/*
cache*   -> master/cache*/
*cache  -> master/*cache
/cache/data   -> master/cache/data/*
/cache/data/   -> master/cache/data/*
cache/data   -> master/cache/data/*
cache/data*   -> master/cache/data*

Wildcard ? matches ONE char
dir?/dir5   -> master/dirX/dir5

Wildcard * will match any char up to the next dir separator "/" char
dir*/dir2   -> master/dirxxxx/dir2
*/dir    -> master/oneDirLevel/dir
dir1/*/dir2   -> master/dir1/oneDirLevel/dir2
dir/*   -> master/dir/oneDirLevel

Attached code class sample to fully test and if needed fix the exclude matcher code: rename to .java
Old version: sample.java.txt
New version: 2 posts below

Please test the sample java code snippet also and look at it for any code optimization or fix if needed

still a few small bugs to fix in final, not the sample, will commit in a moment

Updated final unless bugs are found:

overhead optimized at the max
small bug fix caused by first optimization (late in the night...) that did not check next filters after first did not match because of optimized overhead
I kept the whole dir prefix and non whole dir prefix with asterisk parts separated by if/else mainly for readability and code maintenance
removed debug code comments and updated comments description
dir/* is now also matched against the array and * is considered one level if alone in a path

Filter guide in post 1 updated
Attached last
sample.java.txt
Sample.java tester

With the last tightened overhead performance: sample.java.txt

I tested the inlcude filters and the isDirectorySelectedByDirectoryNameVer2() include pattern matcher is fine because it is a second pass
With the last tightened overhead performance: sample.java.txt

I changed isDirectorySelectedByDirectoryNameVer2() to use INCLUDE filter by array also. It is really wired to have it match * filters wrongly in the background. Code is wrong like it was with the exclude, just not apparent. Would fail a direct call by an eventual other method.
No need to optimize the overhead: Pattern Matcher does a char by char compare any way and we must check from the beginning without resetting the loop like Exclude. So no real loss in speed there.
Well, hopefully I am done with the filters.
best regards

Just pushed a new pull request on separate branch for unexpected file deletes in the Mirror modes
I am holding my commits until my previous patches are merged
No hurry and best regards

I reviewed the sync Mirror code:
In addition to the Unexpected File deletes in all Mirror Sync modes, there is an inconsistent issue in deleting target folders in Mirror Internal/External to External mode. Mirror from/to SMB and To Internal storage are not affected by the unexpected directory deletes
Hope you can merge all my pending pull requests once they are tested so that I can commit the feature for a real perfect Mirror option. I don't want to push many changes if they won't be merged as it is a new recode time...
Let me know if any bugs
Thank you and Best regards

Sorry for late response.
Please allow a couple of days for us to review and test your changes.
Best regards.

Sure, no problem
It is important that you review and fully test it before, even if it takes a few weeks before enabling the option
I will also test time in the loop: I think the pattern matcher can be removed in exclude also, leaving only the array matcher for both include and exclude. Pattern matcher source uses a char by char check, so I don't expect it much faster than the array by array pattern compare. If the overhead is marginal, I will remove it and commit: less code lines -> less bugs -> less maintenance
Best regards

Thank you for the merge, I hope longer tests will show no bug. I am rather confident.
I pushed a new pull request to remove the excludeDirectoryPatternList . It contains a debug commit with a timer to monitor time spent in the filters during sync. The overhead is really marginal, about 370 msec for a 3:50 mn sync with 1200 files.
We would need a nanosecond clock to monitor finely, which is ridiculous because most hardware doesn't have a nanosec clock precision and results are not reliable.
Also, in all my tests, the array matcher is always faster (30-40 msec, so a 10%) probably because of the optimized code breaking the loop when filter is longer than the path to filter. So, paradoxically, the longest is the filter, the faster it will be compared to pattern matcher !
Your code is also optimized to not recurse into excluded folders.
So, the excludeDirectoryPatternList has no more reason to exist. The includeDirectoryPatternList was already removed
Best regards

I just pushed my probably last major contribution to your project. I will take a break for the next couple of months at least.
I hope you merge the 2 pending requests
I think the sync code is now bug free after these. I will monitor SMBSync3 and I hope you can merge the changes easily without too much bugs in the sync code mainly.
Thank you again for all your work and mainly the involvement in migrating it to Android R
Best regards
PS: I will still be able to push small fixes if needed, just not major features

updated with a bug fix I overlooked
Rebased properly at the same time
Best regards

I completed the pull request with:

Notify the GUI that Mirror mode is changed to Mirror (Exact Image), display it in Warning colour in Main app screen and as ÌMAGE`
fix the ZIP Mirror was not respecting filters and hidden dirs/files options during deletes

Thank you.
Testing has begun. Please wait a couple of days for the results.
Best regards.

Thank you for this great follow up

Hi,
I am a bit disappointed because this part was a really big work. The current filters is really broken with unpredicted deletes in some circumstances. The new filter v2 is just bug free, more featured and much better optimized for speed over remote SMB
For me it is not a big problem because I can compile my own version. But, I like for some devices having the Play version, which I cannot now because of the filters.
Hope you enable it in release version, even if it is not the default for compatibility
Best regards

Hi,
I forgot to enable it. I've just pushed it.
Best regards.

oh, that's nice, thank you very much


debug_log and debug_mem

Two debug methods I've been using. Don't merge until we standardize the debug methods we want on both scout.rs and scout.ts.

Should we maybe go with this debug API? ewasm-rust-api has also support for it. We'd have to drop the printStorage methods however.


The Header function does not handle the case where getBlockMeta returns nil, which could lead to a nil pointer dereference error on line 806. You should add error handling to this function.

          The `Header` function does not handle the case where `getBlockMeta` returns `nil`, which could lead to a nil pointer dereference error on line 806. You should add error handling to this function.

func (c *FullClient) Header(ctx context.Context, height *int64) (*ctypes.ResultHeader, error) {
+	blockMeta, err := c.getBlockMeta(*height)
+	if err != nil {
+		return nil, err
+	}
+	if blockMeta == nil {
+		return nil, errors.New("block meta not found")
+	}
	return &ctypes.ResultHeader{Header: &blockMeta.Header}, nil
}

Commitable suggestion

[!IMPORTANT]
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

func (c *FullClient) Header(ctx context.Context, height *int64) (*ctypes.ResultHeader, error) {
	blockMeta, err := c.getBlockMeta(*height)
	if err != nil {
		return nil, err
	}
	if blockMeta == nil {
		return nil, errors.New("block meta not found")
	}
	return &ctypes.ResultHeader{Header: &blockMeta.Header}, nil
}

Originally posted by @coderabbitai[bot] in https://github.com/rollkit/rollkit/pull/1294#discussion_r1393880764

Duplicate issue. covered by https://github.com/rollkit/rollkit/pull/1337


[FEAT] Hierarchical tags support for decks

Is your feature request related to a problem? Please describe.
Currently, if you have decks as hierarchical tags spaced repetition plugin shows only the root tag as a deck
For example #flashcards/deck1 #flashcards/deck2 will both be flashcards deck.
Describe the solution you'd like
Each tag - full  path should be a separate deck

If I remember correctly, nested tags allow you to generate sub decks. Is that related to what you're looking for?


Update de-DE.coffee

i added and translated all lines that where missing from the original English en.coffee
I would like to Copy my changes to the Austrian German version, because it is nearly the same and if some Austrian Translator finds an error or a better word than he can edit it, but its like british and american English and both understand each others well and here I think its better to have German than English, what do you think?

It should automatically fall-sideways from de-AT to de-DE now (I recently changed this), so if it doesn't find a de-AT translation, it will use the de-DE one before the en one. So I don't think we need to copy and paste. Sound good?

Nice Solution i will change the diplomats string in de-at afterwards
Am 16.03.2016 18:42 schrieb "Nick Winter"<EMAIL_ADDRESS>
It should automatically fall-sideways from de-AT to de-DE now (I recently
changed this), so if it doesn't find a de-AT translation, it will use the
de-DE one before the en one. So I don't think we need to copy and paste.
Sound good?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/codecombat/codecombat/pull/3493#issuecomment-197451152

We should do the same with de-ch too

Yeah, it automatically happens between all de-* (or *-*) language families!

Looks good :+1:


Use HD Wallet for account generation

FYI: When this is pushed to npm, this needs to be testrpc 2.0 as it includes breaking changes.
Include in this PR:

[x] allow -m/--mnemonic to input an HD wallet mnemonic
[x] print out private keys
[x] print out mnemonic
[x] -d option uses a default mnemonic instead of default seed. Seed is used to create mnemonic.
[x] Finally, create accounts through the HD wallet rather than generating them randomly like we do now.
[x] TestRPC.startServer() has been moved to ./bin/testrpc as its sole purpose was to support the cli version.

Here's an example of the -m option being used:
Tims-MacBook-Pro:ethereumjs-testrpc tim$ ./bin/testrpc -m "awake book subject inch gentle blur grant damage process float month clown" -a 2
EthereumJS TestRPC v1.2.1

Available Accounts
==================
0x4dcccf58c6573eb896250b0c9647a40c1673af44
0xf4a950dac2cf3a8101e375550eeb79a53b74335c

Private Keys
==================
f62a8ea4ab7025d151ccd84981c66278d0d3cd58ff837467cdc51229915a22d1
623c65841d16c331e997f3b7855fb9a5fbad0bdc4e2fcd0928d4ddb9ba708125

HD Wallet
==================
Mnemonic:      awake book subject inch gentle blur grant damage process float month clown
Base HD Path:  m/44'/60'/0'/0/{account_index}

Listening on localhost:8545

@axic Mind giving it a review?

I should add that -s and -d options still work just fine, creating a mnemonic from a seed value.

Hmm, I probably don't need the rng code anymore as the seed could just be passed as the entropy. Let me check that out.

Oops, I take that back. I do need that as entropy needs to be a hex value. Leaving it in.

@kumavis @flyswatter - can you guys test and see if these mnemonics work with your lightwallet inside metamask?

Absolutely, will get back to you later this afternoon, this will hugely improve the developing experience with test rpc and metamask!

@flyswatter According to Christian the lightwallet uses a different hd path than the default BIP44 hd path, above. He eventually wants to move to the BIP44 path, but he says the path is currently configurable in the lightwallet. You should talk to him about how to configure the hd path so that the lightwallet and the testrpc are using the same one.
Also, thanks!

You're using the bip44 path in test rpc?

Dan

On Mar 24, 2016, at 12:30 PM, Tim Coulter<EMAIL_ADDRESS>wrote:
@flyswatter According to Christian the lightwallet uses a different hd path than the default BIP44 hd path, above. He eventually wants to move to the BIP44 path, but he says the path is currently configurable in the lightwallet. You should talk to him about how to configure the hd path so that the lightwallet and the testrpc are using the same one.
Also, thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

@flyswatter Ya, it's m/44'/60'/0'/0/{account_index} and is output when the new version of the testrpc starts.

Oops, I take that back. I do need that as entropy needs to be a hex value. Leaving it in.

Can you elaborate? Why do you still need that rng?

So someone can specify a seed and still get an associated mnemonic. Bip39's
entropyToMnemonic function only takes in a hex string. So, we use the rng
to create a deterministic hex string, then use that to create the mnemonic.
On Mar 24, 2016 2:02 PM, "Alex Beregszaszi"<EMAIL_ADDRESS>wrote:

Oops, I take that back. I do need that as entropy needs to be a hex value.
Leaving it in.
Can you elaborate? Why do you still need that rng?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/ethereumjs/testrpc/pull/44#issuecomment-201019504

Do we need to print the indexes? Indexes are zero based and are displayed
in order.

—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/ethereumjs/testrpc/pull/44#issuecomment-201020598

You could simplify that by running any hash over the input and using only 128 or 256 bits (that's what bip39 wants).  And to further simplify it, you can make it slightly insecure by eliminating BIP39 entirely and just feeding hdkey.fromMasterSeed() with a 512 bit input, such as an sha512 of your input.
Re indexes.  With 2 accounts it is simple, but with 10 accounts it is a bit more work to line them up.  It is only a UI nitpick.

To be precise, the input to fromMasterSeed() must be between 128 and 512 bits according to BIP32.

Never mind the avoid bip39 part, at least with using it, even when seeding with something defined in the command line, the user will still get the valid mnemonic displayed.

As a side note, I think you should submit your random.randomBytes() feature to the seedrandom package. It might be useful for others too.

@tcoulter this is really useful! i approve
most important thing for me is not generating the keys randomly ever time - if i can specify a seed it will be the same :+1:

@kumavis FYI: -d is for you as I'm assuming you don't care what the seed is, just that it's deterministic.

@axic So I'm futzing over which numbered list style looks the best (I kinda think the numbers look "meh"). That said, they're important to have. What do you think of this?
EthereumJS TestRPC v1.2.1

Available Accounts
==================
(0) 0xd370d1a13e3148ff03ffd27d47ddabe8b2079d28
(1) 0x8c175af1a002c2988870c1782e10ae49c30574ad
(2) 0x086c5d80bfb465d9bb0cad958c8d83ae88ba566e
(3) 0xc1dbb84e96993851ea4caca9c4cba71262155e0f
(4) 0x8e880094578c353408fb94b4eaccccbf4d44c287
(5) 0x05fc794b82410fb3fa575a144489ba3a3fac9c9d
(6) 0xa4ce9f8b8148a0c140af32c3e1f5fb315d92a010
(7) 0xff17109597237a5df4f228f84284283441d438f2
(8) 0x6a5b0ac9ab42b58731647cd2755fdc4efae3e00f
(9) 0x62a48c8292632a0848f23c9920952eb60dcb36a7

Private Keys
==================
(0) 5cb3a1f5aa95d9c51da911837e35f6e12b8ab6bc579c9aa72fae176f23ca015f
(1) 1c39331941326c3ab4fc983e37357452fcec461d0d3fb7a86d778174d4daa041
(2) 56a8ac9721fe247a1ffe37ed3746106c6f0c4881f4700ecfc72ed58def8e8dd8
(3) a517092aa887f8a301b6dfd3c5a6cfcc80af4617d27066e6ea8da8540551a533
(4) 8e3ac8a4c8ccdbb40bcc429e8ca18f4acc2da65375d464af7e931b4528d2169a
(5) c92f3cd4615294b256527f59c523acc25be5cb94d87c33f3b86b9f1883811d6b
(6) 5a68470e3eaca9ebfb5d389c44b49b3079b0a01d26a7f408a200778f967274e1
(7) 96f86daa3d14ea21209f5bb308d7d956e6e04e7a40155911eac5e172e73445f9
(8) 15d61f98173cc7644d5caa232fc6c1db2eb8181c1bbb1b6366ed77f7961d8fad
(9) 6776d55fd1d30de918747b29dad9124990601de855556cb6fe32c0af812ce622

HD Wallet
==================
Mnemonic:      charge pair visit idle bronze bundle someone fresh approve ankle cousin around
Base HD Path:  m/44'/60'/0'/0/{account_index}

Listening on localhost:8545

Alright, executive decision time, I'm gonna go ahead and merge to master. This is going to sit on master for awhile while I fix a really-hard-to-debug race condition. After that 2.0.0 will be released. File a new issue if you guys run into any errors or have changes to propose.
Thanks guys!

I think it looks great!  Very clean.  The {account_index} part could be better, but have not idea how to improve it.
A small nit:  the HD Wallet section shouldn't be displayed in case --account was used.

he HD Wallet section shouldn't be displayed in case --account was used.

Good point. I'll add an issue.


http://opentheme.co is outdated

The link should be removed in branch gh-pages, file README

Redirects to junk sites-


Add force_merge to merge request and fix checking mergable (#23010)

Backport #23010.
Fix #23000.
The bug was introduced in #22633, and it seems that it has been noticed: https://github.com/go-gitea/gitea/pull/22633#discussion_r1095395359 .
However, #22633 did nothing wrong, the logic should be "check if they is admin only when force is true".
So we should provide the ForceMerge when merging from UI.
After this, an admin can also send a normal merge request with ForceMerge false. So it fixes a potential bug: if the admin doesn't want to do a force merge, they just see the green "Merge" button and click it. At the same time, the status of the PR changed, and it shouldn't be merged now, so the admin could send an unexpected force merge.
In addition, I updated ForceMerge *bool to ForceMerge bool, I don't see the reason to use a pointer.
And fixed the logic of CheckPullMergable to handle auto merge and force merge correctly.

🎺 🤖


Bug - Collection.create() with attributes vs. model and validation

I have an Album Collection with a Validate() function that will fail when the attribute artist == 'Prince Bogus'.
When I call the Create() function and pass in "purpleRain.attributes" the error callback is raised and the object is NOT sent to the server for creation - that's good.
When I call the Create() function and pass in "purpleRain" the error callback is raised but the object IS sent to the server for creation - that's bad.  The object should not have been sent to the server / created.
Is this a bug in backbone?
In the docs it states "The create method can accept either an attributes hash or an existing, unsaved model object."
           var purpleRain = new Album({
                artist: 'Prince Bogus',
                title: 'purple rain',
                tracks: [
                    {
                        title: 'Lets Go Crazy',
                        url: 'letsgocrazy.mp3'
                    }
                ]
            });

            albumCollection.create(purpleRain.attributes, {
                error: function() {
                    alert('Save failed!');
                }
            });

From the documentation:

validate is called before set and save, and is passed the attributes that are about to be updated

Maybe the docs need to be more explicit and point out that validation doesn't get run on instantiation.
Also, why would you instantiate a model only to re-create it via collection.create? Better to add your model instance into the collection with collection.add( model )

I think at the core, this is a duplicate of #563


Allow submariner-globalnet role to create endpoints

What would you like to be added:
This PR allows submariner-globalnet role to create endpoints.
Why is this needed:
xref: https://github.com/submariner-io/submariner/pull/1695
fixes: https://github.com/submariner-io/submariner-operator/issues/1844

@mkimuram we would need a similar fix in submariner-charts - https://github.com/submariner-io/submariner-charts/blob/devel/submariner-operator/templates/rbac.yaml


[linting] links broken

The links on https://open-wc.org/linting/#setup which reference files to copy paste are broken

Can i try do that? The files that need to fixed are in docs directory, right?

I believe the files have actually been deleted: https://github.com/open-wc/open-wc/commit/f6efb7a3289babdd4747a93ab692a8e1199efbc1#diff-82f8c92087ad2a953bcbd30fe0b4cabe
So the page would need to be rewritten

I can work on this one

@FonsecaJoao sounds good 🤗
we move the config into package.json so we should explain what they need to add 👍
you can see what in the generator for example for eslint it's  here
https://github.com/open-wc/open-wc/blob/master/packages/create/src/generators/linting-eslint/templates/_package.json

A little help, because i think i bit off more than i could chewed...
So in order to install i have to copy what is need from _package.json (taking your file as an eg:.) and paste it in my project package.json
{   "name": "",   "version": "1.0.0",   "main": "index.js",   "scripts": {     "test": "mocha",     "lint:eslint": "eslint --ext .js,.html . --ignore-path .gitignore",     "format:eslint": "eslint --ext .js,.html . --fix --ignore-path .gitignore"   },   "repository": {     "type": "git",     "url": "git+ssh://"   },   "author": "",   "license": "MIT",   "private": true,   "dependencies": {     "mocha": "^6.2.1"   },   "description": "### ",   "bugs": {   },   "homepage": "",   "directories": {     "test": "test"   },   "devDependencies": {     "eslint": "^6.1.0",     "@open-wc/eslint-config": "^1.0.0"   },   "eslintConfig": {     "extends": [       "@open-wc/eslint-config"     ]   } }

yes for full linting you will need to take the content of all the _package.json of these generators

https://github.com/open-wc/open-wc/tree/master/packages/create/src/generators/linting-eslint
https://github.com/open-wc/open-wc/tree/master/packages/create/src/generators/linting-prettier
https://github.com/open-wc/open-wc/tree/master/packages/create/src/generators/linting

linting config no longer depends on individual files but providing its settings in the package.json


Factories needs to fetch profile images from own server instead of external urls

This is needed to measure performance with current data without relying on external sources to fetch info.

BRANCH CREATED TO KEEP OLD SYSTEM


Doesn't appear to work on tonic 0.7.0

Looks like something changed in tonic 0.7.0 - I get this sort of error now:
38  | pub struct Client {
    | -----------------
    | |
    | doesn't satisfy `<_ as Service<tonic::codegen::http::Request<http_body::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, Status>>>>::Response = tonic::codegen::http::Response<_>`
    | doesn't satisfy `_: GrpcService<http_body::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, Status>>`
    | doesn't satisfy `_: Service<tonic::codegen::http::Request<http_body::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, Status>>>`
    |
    = note: the following trait bounds were not satisfied:
            `grpc_web_client::Client: GrpcService<http_body::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, Status>>`
            `<grpc_web_client::Client as Service<tonic::codegen::http::Request<http_body::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, Status>>>>::Response = tonic::codegen::http::Response<_>`
            `grpc_web_client::Client: Service<tonic::codegen::http::Request<http_body::combinators::box_body::UnsyncBoxBody<tonic::codegen::Bytes, Status>>>`

I've created a crate based on this with updated dependencies: https://crates.io/crates/tonic-web-wasm-client


Artisan make:auth boilerplate issue

On laravel 5.2 after generated the authentication boilerplate with
artisan make:auth
i had a complete working set.
Now i have this error:
Class 'App\Http\Controllers\Auth' not found

HomeController is using auth middleware without : use auth;

You are calling Auth:: somewhere inside your controller without importing it.

Seems that you are on 5.3, so one heads up, you cant access any middleware inside your construct anymore, check if you are accessing it inside a method like index() instead of the __construct();

i'm using
$user = Auth::user();

in one of my method.

Try replacing it with:
$user = auth()->user();

You need to import the facade, or escape it with a leading slash.


#265 Correction in IDEasy-usage.adoc

Repair the links for projects and updates and delete the link for scripts

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 59.031%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4249

Relevant Lines:
6922

💛  - Coveralls


Remote ids as uuids

Fix: #178
I also tested it manually using 3 different instances of srcd-ce. (with sql update of permission directly in the db to be able to change existing charts for some cases)

I would want to have Marvin's review here but he is on vacation for 2 or more weeks.
On another hand, it's a quite critical fix that we need rather sooner than later.
So I propose to merge it now and do the review afterward.
@carlosms wdyt?

Sorry for not being able to add much value with this issue

I think it's reasonable to move forward and merge. Marvin can make a review of the whole code afterwards, we can make incremental improvements if we find anything later.


[WIP] feat: implement visionOS CI

Summary:
This PR implements CI for visionOS that's run on every PR to ensure new PRs don't break stuff.
Changelog:
[INTERNAL] [ADDED] - Setup visionOS CI
Test Plan:
CI Green

I've opened CircleCI support ticket because no matter what I did there is no xrsimulator SDK on the VM. I will keep this PR in draft state until this ticket is resolved


Fix residue rebuilding

Major changes here:

If a rebuilt atomic position extends beyond the field-length of the PDB format, qFit will warn, and spit out a bad value (usually inf).
_QFitRotamericResidue makes sure to reinitialise _BaseQFit after it has rebuilt a residue (makes sure object properties have the correct reference)
qFit now has a (perhaps too clearly?) documented method for how it rebuilds missing atoms.

Internally, chi angles should only be represented between (-180, 180].
I have tested this on 3k0n with a no. 2 buzzcut (Cβ truncation on all residues), and it successfully rebuilt all residues. Promising.

This PR changed wrapped a few chi angles in the ROTAMERS dictionary to fit in between (-180, 180].
We should watch out for this.


Incorrect version for node type definitions

I believe this is the same issue as #16, but now this project's node type definitions are pinned to 8 and Electron has been on Node.js 10+ since v3.
https://github.com/castlabs/electron-releases/blob/3ebdd617b2580e48bd80664e3eaa9760866c9b17/package.json#L14
https://electronjs.org/releases/stable?version=3&page=6#3.0.0
error TS4090: Conflicting definitions for 'node' found at<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Consider installing a specific version of this library to resolve the conflict.

It might be easier to use "@types/node": "*" so that it uses the same version as the application instead of bringing in its own potentially conflicting version.

Thanks for the heads-up, this was never properly scripted for our releases and apparently stopped functioning sometime soon after #16 was resolved. I've implemented a much more robust solution in the build scripts now that uses the same basic package.json as the original Electron release, so that should hopefully take care of this from now on.
I've just published 4.2.7 which uses the updated scripts and updates for more releases are in the pipeline. Let me know if you have any further trouble!

Actually I just noticed Electron has some issues with keeping this up to date as well, see PR #19102. This means the 6.0.0 betas still have node 10 specified when it should be 12, but as soon as the PR is backported to the 6-0-x branch this should correct itself in the following releases.

Since there have been no further comments and this is essentially a resolved issue, I'll close this for now. Please reopen if you feel differently.


Install error: "no existing definition for function ‘plot’"

I am getting this error when installing from Github:
Installing package into ‘/Users/<me>/lib/R’
(as ‘lib’ is unspecified)
* installing *source* package ‘bounceR’ ...
** R
** byte-compile and prepare package for lazy loading
Error in setMethod("plot", signature("sel_obj"), function(x, n_features = NULL) { :
  no existing definition for function ‘plot’
Error : unable to load R code in package ‘bounceR’
ERROR: lazy loading failed for package ‘bounceR’

This appears to be tied to https://github.com/STATWORX/bounceR/blob/9e83d611cfe7990c30fc90bddf7d6022186a5ba7/R/sel_obj.R#L17, and after some initial research, I am not quite sure what is going wrong here.
Can anyone reproduce this?

Closed due to inactivity


How to get An Adaptive Performance

How to Get the FPS of the Page so That One can decrease the Particles for Adaptive Performance.
I meant to say if there could be some way to get the FPS of the Animation so that if it decreases to certain limit on could decrease the amount of Particles to get the performance up.As I have notices the Animations is too laggy in the Mobile Devices.

@inf3cti0n95 Did you ever find a fix for this? I'm struggling trying to reduce the number of particles when on mobile, but it seems to only increase!


Enable key binding for _fzf_search_git_branches.

Define default key binding for _fzf_search_git_branches in
fzf_configure_bindings.fish, and allow the binding to be configurable
via flag. Also enable _fzf_magic_mode to be configurable via flag.

Thanks, sorry I haven't taken a look yet. I will soon.

Thanks for this! Sorry for the delay.


Fix for Issue #60

Fix for Issue "Datepicker throws error in IE11"  #60

@feisel thanks heaps for your contribution. Much appreciated!
This has been merged now.


Fix Atomics test misplaced passed function

passed was misplaced earlier, so test failure was never reported.

@phani544 @mangupta @bensander To prevent future incidents I'd like to recommend a review on all existing HIP tests to make sure no such incorrect control flow take place. The bug was hidden and took the team working on TensorFlow literally 2 months to figure out.

@phani544 Can you address the review comments and update the PR?

@phani544 When can you update the PR based on the review comments?

Hi Maneesh, I have amended the change as per comments. This worked in my local machines. Please review.

@phani544 The PR has gone stale. Could you help revise it? This PR is crucial to ensure the correctness of atomic functions for quite a few HIP applications.

Dropping this since this requires rework which can be done only after CI fixes are in place.


Uncaught TypeError: ReactDOM.findDOMNode is not a function

ReactDOM is installed and found, but it does not have an method findDOMNode.
componentDidMount: function () {
        this.hammer = new Hammer(ReactDOM.findDOMNode(this));
        updateHammer(this.hammer, this.props);
},

Fixed by #64


Icons wrong after updating to 2.13.13

I' ve updated from 2.13.12 to 2.13.13 for use with RN 0.63
My icons are wrong!

I've done this already, removed all .ttf references from my Xcode project, and re-added them to reference node_modules/react-native-vector-icons/Fonts/*.ttf
I dont know what else to do? What is confusing is that there are Fonts in native-base itself, but in some issues like https://github.com/GeekyAnts/NativeBase/issues/425 says "NativeBase uses this for icons. Please check there for the complete list."
So i've included those Fonts from node_modules/react-native-vector-icons/Fonts/*.ttf
BUT, they are not working. Also, i'm not using Expo, so the README.md is not helping me.
Anybody? Cheers!

Same issue: RN 0.62.2, Native Base  2.13.13 (no expo or anything else whatsoever)

This comment on a different issue in the past helped me fix the icons in my app. I have no idea why a patch version of NativeBase broke icons, but I had to go in and manually check that each missing icon had a match in one of the sets that react-native-vector-icons supports, and change the name/type to fix.

I'm already using type prop. Downgrading to 2.13.12 made the icons come back, so i'm probably gonna stay on it until it's fixed.

Hey all!! I've found my problem: i'm using react-native-star-rating package, which uses an old version for react-native-vector-icons and it seems there are some kind of conflict; when i uninstall react-native-star-rating, all works perfectly!
I will put a reference on that package to look for a solution.
Cheers!

Any update?

I am getting issue in android and in ios working

@ansarikhurshid786 you should ensure to update your android fonts folder too (they are copied there, and not updated magically when upgrading native-base nor react-native-vector-icons)
I've done it like this:
rm android/app/src/main/assets/fonts/*.ttf
cp ./node_modules/react-native-vector-icons/Fonts/*.ttf android/app/src/main/assets/fonts/

@jacargentina Thanks i have update icon in android. Now working fine.

Everything solved, so closing this.

Still not working. Anyone else have the same problem?

did you update font in android

the problem is also in iOS

if you are using react-native <=0.59.10 then :
react-native link react-native-vector-icons

rm android/app/src/main/assets/fonts/*.ttf
cp ./node_modules/react-native-vector-icons/Fonts/*.ttf android/app/src/main/assets/fonts/

Don't know why downvoted, worked for me. Had no icons in Android after upgrade, now they are back 👍


fix: updates types in csm.ts

This pull request resolves actions in this comment https://github.com/StrandedKitty/three-csm/issues/22#issuecomment-1315990975.
I haven't tested this locally and I don't see CI running with tests so it would be good to confirm the changes before proceeding.

Replaced Camera with PerspectiveCamera | OrthographicCamera. Camera seems to be too abstract.

Available in 3.1.0


Update dependencies

Dust off this codebase and update every outdated package.

It works!?

It works!?

Sure looks like it, I'll merge it now!


vatt:how to process the HowTo100M dataset

excuse me ,the dmvr examples is for hmdb dataset,which is different with HowTo100M dataset,i don't know how to join the caption to it,can you offer the code that process the howto100M dataset,thank you very much!

Hello,
Can you please tell me what you did to solve this problem?
I am very beginner.


IT: cleanup properly before starting

This ensure that, we cleanup properly the work directory AND running containers whenever a test fails or crash bats

LGTM
When integration tests are stopped in the middle, this is very useful to start from a clean state.


XCloseIM returns BadWindow on linux when stop app

i'm typing something, and then close the window, the window is closed normally, but got a fatal error when stop app.
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  2 (X_ChangeWindowAttributes)
  Resource id in failed request:  0x3800012
  Serial number of failed request:  964
  Current serial number in output stream:  968

What IME are you using and which version of GLFW?

I'm using my own glfw fork https://github.com/zhuah/glfw, and the IME is fcitx, in English mode.

Sorry, it seems that this is caused by XCloseDisplay not XCloseIM

I can't reproduce this exactly but GLFW definitely seems to be doing something bad to fcitx.

thank you for your effort 😄 .
and did you have any ideas about how to totally destroy a Window?
it seems that the Window is still being referenced in Display or internal Xlib states, so it could produce a BadWindow error even if window has been closed by XDestroyWIndow

Sorry so much, it's my fault, i'm update cursor to IBeam for input box after window destroyed.

Sorry so much, it's my fault, i'm update cursor to IBeam for input box after window destroyed.

No worries and thank you for the follow-up!

GLFW definitely seems to be doing something bad to fcitx.

Turns out I could reproduce this problem without GLFW and it is probably me not knowing enough about the user end of fcitx.


Fix app install command for marketplace UI

Summary
Currently we are installing marketplace Apps through programmatically running an /apps install command from the marketplace modal. The syntax of this command to install a marketplace App has changed between cloud and on-prem environments:

cloud - /apps install ${id}
on-prem - /apps install listed ${id}

This PR makes it so we check the environment before running this command, to ensure we use the right syntax. This implementation is brittle and should instead use something more concrete to install the App. This change is to temporarily fix the issue as we continue the current work on the marketplace changes.
Ticket Link
Fixes https://mattermost.atlassian.net/browse/MM-45152
Release Note
NONE

E2E tests not automatically triggered, because PR has no approval yet. Please ask a developer to review and then try again to attach the QA label.

/update-branch


gift

Gift accepted notification should be redirected to the sent gift section.
Currently, it is in the "available gift" section.

done


func create defaults to Node

Current Behavior
When I do func create a Node project gets created
Desired Behavior
It would be nicer if the CLI prompted me to pick a runtime and showed me what runtimes were available.
I'm actually still unsure what the desired behavior would look like. it could either be...
GIVEN I have typed func create
WHEN I hit enter
THEN the func CLI let's me know I must use the -l flag
AND lists the currently supported runtimes

OR
GIVEN I have typed func create
WHEN I hit enter
THEN the func CLI prompts me to pick a language runtime
AND lists the currently supported runtimes

this can be closed now. It is being done through #573

Pretty sure the behavior requested here was added in https://github.com/knative-sandbox/kn-plugin-func/pull/547


Getting "not all required fields are filled in" when trying to set it up

Hey guys,
thanks for the effort getting this into Hacs!
I am trying to switch to this integration, coming from a custom Gardena integration. When trying to get it to work I get the error (see attached screenshot). Obviously all fields are filled when hitting "submit".
Any ideas? Running on Home assistant 0.111.4
Thanks!

I'm trying to setup this integration also. When I hit submit all field go blank and get the same message as robsterst mentioned above.
How to resolve?

Strange issue,
I just released a new version and i do not have the same issue.
Which version of home assistant/hacs are you using ?
And which gardena system version ?
Thx,
Jérémie

Just updated to latest Gardena integration I hacs. No change.
Hass: 111.4
Hacs: 1.2.2
Gardena: 11319-2

Is there anything I can do to get it to work? Updated versions so:
Hass: 114.1
Hacs: 1.3.3
Gardena:  11319-2
Still the same issue.
Thanks!
Rob

Hello,
Can you take.a screenshot of the whole window ?
What fields do you fill ?
All fields must be filled (email/password and application key)
Jérémie

Hello,
I tried again to ad the intergration.

when i push Send, nothing happens and I get a clean input window again.
Hass 115.6
HACS 1.6.0
Gardena 0.2.2

Hi there!
Thanks for the integration in Home Assistant!
I am also getting an empty diaolg when I try to set the integration up. After pressing the send button the fields in the dialog where cleared.
Home Assistant Version: 0.114.2
Gardena Smart System: 0.2.2
Thanks!

@mrmireaux @jutgren
I assume you forgot this step on the husqvarna developer website:
"Click on "+Connect new API" and connect the Authentication API and the GARDENA smart system API."
At least that was the fault I did ;-)

@weinbrand Thank you very much! Works like a charm now :)


Images missing after merging two datasets

Hello all,
I am trying to merge two datasets using the merge command, but unfortunately this is not successful.
The following is present:

Two datasets -> coco_instances
Both have a different number of images
In the categories part (anotation file) the names are identical
Folder structure is the same for both (project can import the datasets without any problems).

Now comes my problem:
With the merge command I try to merge both datasets.
date merge path/to/dataset1:coco_instances path/to/dataset2:coco_instances
I get a folder with the annotation file, a report and a folder for the images. However, this does not contain the images. But in the annotation file there is a path for every single image. I would like to have the images in the folder and remove the paths in the annotation file. How can I do this?
I cannot import the merged dataset (created folder after merge command) into any empty datum project.
Datumaro version is 0.2

Hi, thank you for the problem report. Currently, the recommended way to merge datasets in simple cases is using the patch command. This command will also allow to pass options for how to save the results, including an option to --save-images.
datum patch \ # use either --overwrite or -o output_dir
  path/to/dataset1:coco_instances path/to/dataset2:coco_instances -- --save-images

Probably, we need to allow export options in the merge command too, because currently it only produces annotations in Datumaro format. If you need complex merging functionality, consider using API like in the example here.

@zhiltsov-max thanks for the quick response. The solution works in part for me, as the second dataset contains a few labels that the first does not.
For example:
1st dataset -> Labels -> [a, b, c]
2nd dataset -> Labels -> [a, b, c, d, e]
Unfortunately I don't see any option now with the patch command to unify this information.
Is there another option?

I think, we could extend the patch command to support label addition in future. Currently, you can try to use API:
from datumaro.components.dataset import Dataset
from datumaro.components.annotation import AnnotationType

dataset1 = Dataset.import_from('path1/', 'format')
dataset2 = Dataset.import_from('path2/', 'format')
dataset1.transform('project_labels',
    set(label.name for label in dataset1.categories()[AnnotationType.label]) |
    set(label.name for label in dataset2.categories()[AnnotationType.label])
) # merge labels
dataset1.update(dataset2)
dataset1.export('path/', 'format', save_images=True)

That would be good if the patch command also had the option.
Perhaps a note could be written in the documentation in the merge chapter that the patch command can also merge datasets (incl. export of images).

The script merges the annotation files and the images but unfortunately there is an error in the new annotation file. The first dataset contains 23000 images and the other dataset contains 3000 images. If the commands:
datum create
datum add ...
datum info

are executed, length should show 26000. In fact, 23000 is shown. I have previously transformed both datasets with
datum transform -t rename ...

I think I solved the problem with the reindex option:
dataset1.export(path_for_export, export_format, save_images=True, reindex=True)

Hi, does anyone know why the script no longer works with the latest version?
I get the error message:
TypeError: transform() takes 2 positional arguments but 3 were give

Hi @DP1701, Sorry for late response.
In the current version, you should provide keyword arguments rather than positional arguments to give options to the transform such as

(before)

dataset1.transform('project_labels',
    set(label.name for label in dataset1.categories()[AnnotationType.label]) |
    set(label.name for label in dataset2.categories()[AnnotationType.label])
) # merge labels

(after)

dataset1.transform('project_labels',
    dst_labels=set(label.name for label in dataset1.categories()[AnnotationType.label]) |
    set(label.name for label in dataset2.categories()[AnnotationType.label])
) # merge labels

The full script that I can succeed to run is as follows.
from datumaro.components.dataset import Dataset, DatasetItem
from datumaro.components.media import Image
from datumaro.components.annotation import AnnotationType, Label
import numpy as np

dataset1 = Dataset.from_iterable(
    [
        DatasetItem(
            id=f"cat_{i}" if i % 2 == 0 else f"dog_{i}",
            media=Image.from_numpy(data=np.zeros(shape=(32, 32, 3), dtype=np.uint8)),
            annotations=[Label(label=i % 2)],
        )
        for i in range(10)
    ],
    categories=["cat", "dog"],
)
dataset2 = Dataset.from_iterable(
    [
        DatasetItem(
            id=f"car_{i}" if i % 2 == 0 else f"bus_{i}",
            media=Image.from_numpy(data=np.zeros(shape=(32, 32, 3), dtype=np.uint8)),
            annotations=[Label(label=i % 2)],
        )
        for i in range(10)
    ],
    categories=["car", "bus"],
)

dataset1.transform(
    "project_labels",
    dst_labels=set(label.name for label in dataset1.categories()[AnnotationType.label])
    | set(label.name for label in dataset2.categories()[AnnotationType.label]),
)  # merge labels
dataset1.update(dataset2)
dataset1.export("path/", "imagenet", save_media=True)


⚠ Mobitopup has degraded performance

In 25a72c3, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 15690 ms

Resolved: Mobitopup performance has improved in 269755a.


zoom is not working in fullscreen navigation

I am not Abel to zoom at start at full screen navigation on moving it is zooming but not at start

i face same issue . any solution for this

not yet waiting for an update

when you fix this issue ?

lets hope in next update eopeter solve the issues

sry I an not the author of this package to release an update

I have the same problem

when will this be solved ?

Stale issue message

Stale issue message


Added Normalize

The normalize filter maps the colors of the image to values between 0 and 1, so that the lowest point is at 0 and the highest at 1.
This is especially useful for gradient maps.
For example, by default sines are generated from -1 to 1. After normalization the high points are still at 1 but the low points are now at 0 and everything in between has been modified accordingly:

Oh, I was aware of the -1 to 1 sines situation but couldn't come up with a solution for it. This is nice! :)

Many thanks!


CLOUDP-148833: Support multiple atlas-operator versions

Proposed changes
Added an ability to generate kubernetes resources for multiple versions of Atlas operator. Introduced a new flag for the atlas kubernetes config generate command: --operatorVersion=...

Jira ticket: CLOUDP-148833

Closes #[issue number]
Checklist

[x] I have signed the MongoDB CLA
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added any necessary documentation in document requirements section listed in CONTRIBUTING.md (if appropriate)
[ ] I have addressed the @mongodb/docs-cloud-team comments (if appropriate)
[ ] I have updated test/README.md (if an e2e test has been added)
[x] I have run make fmt and formatted my code

Further comments

Hi @gssbzn. Thanks for the review. Let's hold this PR for a bit until another PR with autogenerated mocks for atlas-operator resources is merged. I'll rebase this one on top of it and then I'll ask for a review one more time.

@fabritsius please take a look as well


What is the correct behavior of "previous window" (C-)?

Thanks for this great plugin!!
Let's say 3 windows (2 tmux panes {shell, vim}, and vim split).
|-----------------|
|    shell        |
|-----------------|
|  vim buffer1    |
| - - - - - - - - |
|  vim buffer2    |
|-----------------|

C-{hjkl} works well for me, but I'm wondering about C-\.
Let's say I'm working on buffer1, and then buffer2.
C-\ will go back to buffer1.
C-\ will go again to buffer2.
At this moment,
[case1] Hitting C-\ will go back to buffer1
[case2] Instead, with the mouse (or tmux <leader>q1), I jump to shell.
I want to work again, so C-\ will go back to buffer2.
Up to here, it worked as expected.
So, now at buffer2, what should happen when hitting C-\ here?
Shouldn't it go back to the shell?
But in my case, it goes to buffer1 as if it's the [case1] (the previous split inside vim). Is this intended or my setting is wrong?

Thanks for the kind words, @ywpkwon! Hmm, I'll be honest that this functionality is some of the subtler stuff and I'm frankly less familiar with it. I wonder if the usage of the mouse is causing the disconnect?

But what if the jump comes from tmux <leader>q1? (<leader>q displays numbers for each pane and let you jump.)
My point is that, once focus comes from outside vim to one of vim splits, I feel like "c-" only switches between vim splits instead of going back to outside vim.


Julia crash: libpangoft2-1.0.so.0 issue.

A similar issue was reported here. In my case, to produce the crash this is sufficient:
Using PyPlot
plot(rand(10))

julia: symbol lookup error: /usr/bin/../lib/libpangoft2-1.0.so.0: undefined symbol: FcWeightFromOpenType

I am on Arch Linux. Running Julia 0.4.5. Here some additional info:
PyPlot.backend
"qt4agg"

ls -la /usr/lib/libpangoft2-1.0.so.0
lrwxrwxrwx 1 root root 27 Apr 12 22:38 /usr/lib/libpangoft2-1.0.so.0 -> libpangoft2-1.0.so.0.4000.1

Hope you find this useful.

Does it work (with the same backend) from Python?

Hi there.
I never used python, I hope this is doing the test it is meant to:
#!/usr/bin/env python

import matplotlib
matplotlib.use('qt4agg')

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
plt.ylabel('some numbers')
plt.show()

Works with no issues.

Possibly it is a shared-library path issue?  Maybe if you add the right path to your LD_LIBRARY_PATH then Python will be able to load the right libraries.

I have the same issue on Arch Linux with Julia v0.4.5 since yesterday.
For me also the Python example above fails with:
/home/abieler/anaconda/bin/python: symbol lookup error: /usr/lib/libpangoft2-1.0.so.0: undefined symbol: FcWeightFromOpenType

Unfortunately my understanding of environment variables and shared libraries is rather sloppy, however:
locate libpangoft2-1.0.so.0
/usr/lib/libpangoft2-1.0.so.0
/usr/lib/libpangoft2-1.0.so.0.4000.1
/usr/lib32/libpangoft2-1.0.so.0
/usr/lib32/libpangoft2-1.0.so.0.4000.1

If I am not wrong, everything in /usr/lib, /usr/lib32 and /usr/lib64 should be linked automatically. By running ldconfig:
ldconfig -v
...
libtiffxx.so.5 -> libtiffxx.so.5.2.4
libpangoft2-1.0.so.0 -> libpangoft2-1.0.so.0.4000.1
libatk-1.0.so.0 -> libatk-1.0.so.0.22009.1
...

Here the contents of LD_LIBRARY_PATH:
echo $LD_LIBRARY_PATH
/home/crocoduck/GNUstep/Library/Libraries:/usr/lib

It seems everything should be working libraries-wise. Or I am wrong? Do you have some idea about what to set LD_LIBRARY_PATH to?


NavBar buttons aren't working

Description
there's no any link avaible in navbar button
Expected Behaviour
No response
What happened?
A bug happened! when we click button that will take us  to that section
Version
Don't know version
What browsers are you seeing the problem on?
Chrome
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@Arjun31415 I would like to be assigned to this

Duplicate of #81


Remove whitespace to fix Flake8 linting failures.

Description
Remove whitespace to fix Flake8 linting failures introduced by accidentally having pushed a commit to main.
Checklist

[ ] I have added screenshots above for all UI changes.
[ ] I have added e2e tests for all UI changes.
[ ] Documentation was updated if it was needed.

Codecov Report

Merging #2320 (5ad48db) into main (e60e1f3) will decrease coverage by 2.36%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2320      +/-   ##
==========================================
- Coverage   90.66%   88.30%   -2.36%
==========================================
  Files          59       39      -20
  Lines        2324      838    -1486
==========================================
- Hits         2107      740    -1367
+ Misses        217       98     -119

Flag
Coverage Δ

unittests
88.30% <ø> (-2.36%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 20 files with indirect coverage changes


Crypto js

Which are the priorities to migrate from bower to webpack?
Ckeditor would be nice to further enhance the style definitions


docs: add docker advice

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #390
Special notes for your reviewer:

Good suggestions - thanks @josmperez


Add torch.compile tests with Fabric

Outline & Motivation
2.0 CI for Fabric is already setup: https://github.com/Lightning-AI/lightning/commit/fca69e68dacb85daf4261824eb505365eb89a19e
Pitch
Add tests that use Fabric and torch.compile. Ensure basic functionality works.
cc @carmocca @justusschock @awaelchli @borda

What do you need me to test? That an OptimizedModule can be passed to the setup method of Fabric? Or do you mean we should torch.compile a Fabric training loop function?


Add user with variable

This PR adds the possibility to add admin users with environment variables or via the config.
Closes #2501

@schrodingersGat added the changes you asked for!

Replaced with #2706


jmol: 14.32.30 -> 14.32.33

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/jmol/versions.
meta.description for jmol is: "A Java 3D viewer for chemical structures"
meta.homepage for jmol is: "https://sourceforge.net/projects/jmol"
meta.changelog for jmol is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/4s6ci01ixs36wdd6zxg2yq20lild1y7k-jmol-14.32.33/bin/jmol had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 14.32.33 with grep in /nix/store/4s6ci01ixs36wdd6zxg2yq20lild1y7k-jmol-14.32.33
found 14.32.33 in filename of file in /nix/store/4s6ci01ixs36wdd6zxg2yq20lild1y7k-jmol-14.32.33

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
jmol
sage
sageWithDoc

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4s6ci01ixs36wdd6zxg2yq20lild1y7k-jmol-14.32.33 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A jmol https://github.com/r-ryantm/nixpkgs/archive/6d61669d69c9e4724eff3d8d32fef40d2399cff6.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4s6ci01ixs36wdd6zxg2yq20lild1y7k-jmol-14.32.33
ls -la /nix/store/4s6ci01ixs36wdd6zxg2yq20lild1y7k-jmol-14.32.33/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

sage
sageWithDoc

1 package built:

jmol

Maintainer pings
cc @mounium @timokau @omasanori @7c6f434c @collares for testing.

Do we need to have the Sage team co-maintain Jmol? I've never seen Jmol updates break Sage tests.

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

3 packages built:

jmol
sage
sageWithDoc


The input tag cursor is not displayed on iOS 13

The input tag cursor（blue color caret） is not displayed on iOS 13.
It seems to work correctly if you remove the plugin.
plugin version is 4.1.2
try iPhoneSE Simulator（iOS13.0）.
iOS 12 now behaves as expected.
no use plugin

use plugin

Is this a bug?

+1, the same problem. Any ideas?

+1, does anyone have any solution?

same issue here, the cursor disappeared when a input need to be push up bu the keyboard

I have remove all the styles, anything at all from the very root of the body all the way up to the input to make sure it's not a framework or CSS thing interfering. I am running a ReactJS app inside Cordova, and the input field behaves exactly like shown above in the second video. Cursor is invisible. I had (have?) a suspicious this may relate to controlled elements in ReactJS, but if other people have the same problem without React, then it'll probably something else.

i reported the same issue (afaik) on the main ionic repo: https://github.com/ionic-team/ionic/issues/19556
it's either a bug in iOS 13 or in the ionic webview implementation. however i'm using capacitor and not this plugin, so i rather suspect an issue with iOS 13. ionic might have some shared code though thats used both in capacitor and this plugin.

Include "position: fixed" no functional element for me.

I'm investigating the issue. It happens to me, when using ion-slides. If there is just one ion-slide within the parent, the cursor is visible. Once I put another ion-slide before, it disappears.

This happens on any kind of text input that gets moved. ion-slides, the input getting pushed up by the keyboard, etc. You can focus an input and then drag the page around, the cursor and highlighted text won't move at all.
I was able to triage this problem by creating a directive that makes a text input modal pop up whenever focus is given to the problem fields. Modals don't actually appear to have any of these problems.

In my case adding position: fixed !important; for all the input tags (input and textarea) fixes the caret problem. It seems easier for me to slightly modify the css of the ion-slides to handle fixed position properly, than to find a different solution.

In my case adding position: fixed !important; for all the input tags (input and textarea) fixes the caret problem. It seems easier for me to slightly modify the css of the ion-slides to handle fixed position properly, than to find a different solution.

that's what i did as well. At least for me, to make this work properly i had to

add a fixed width to the input element
add a height to the surrounding ion-input element
define all that via global.scss (or a file that is imported by it), not on component level

In my case adding position: fixed !important; for all the input tags (input and textarea) fixes the caret problem. It seems easier for me to slightly modify the css of the ion-slides to handle fixed position properly, than to find a different solution.

that's what i did as well. At least for me, to make this work properly i had to

add a fixed width to the input element
add a height to the surrounding ion-input element
define all that via global.scss (or a file that is imported by it), not on component level

I also use this fix. Because it is only for iOs I place the styling inside the following code:
@supports (-webkit-overflow-scrolling: touch) {
}
I have also added a custom class to the ion-item: "ios-textarea". My code:
<ion-item class="ios-textarea">             <ion-textarea rows="7" placeholder="X" formControlName="body">             </ion-textarea>         </ion-item>
`@supports (-webkit-overflow-scrolling: touch) {
.ios-textarea {
height: 240px !important;
    .item-native {
        height: 240px !important;
    }
}

ion-slide {
    textarea {
        position: fixed !important;
        width: 80% !important;
        height: 230px;
    }
}

}
`

check your input style, remove user-select: none

I experienced a similar issue recently with a custom slideout component (not using ionic) after updating to iOS13.  I was positioning the slideout component offscreen initially with left: 100%.  Once I changed the left value to 0 and used transform: translateX(...) the cursor began to show up again.

It may have been fixed after updating to iOS13.2...

It may have been fixed after updating to iOS13.2...
Can I fix it?

I confirm the problem had been fixed with iOS 13.2, checked just now :)

Yes it's fixed in iOS 13.2, so looks like it was apple thing.

However, xcode11.2 is not published in the appstore ...

However, xcode11.2 is not published in the appstore ...

You can still download 11.2 beta from http://developer.apple.com. I just did.

I want to put the regular version.
However, because there is no space in the PC capacity, you can not put two xcode...

It's happening in ios 13.2.3

It doesn't seem to reproduce in my developed app.

I also confirm this bug is not happening anymore (tested on iOS 13.2.2).
@meetdoshi1  are you sure you are testing on right iOS version?

Same Problem (IOS 13.1.3)

Damn Apple.......

It's not happening in this repository.
I am using webview editor (richEdtorview), It's happening in my code.
if you know why it's happening, can you help me please?

Well guys, you would never believe the workaround I used to make this weird behavior disappear.
Unfortunately the proposed position: fixed; on <input> itself or its parent did not solve the case for me.
The idea came from this post so the solution would be (in my case in Angular/Typescript):
const scrollBy: number = this.$ionicScrollDelegate.getScrollPosition().top === 0 ? 1 : -1;
const focusedElement: HTMLInputElement = <HTMLInputElement>this.$window.document.activeElement;
this.$ionicScrollDelegate.scrollBy(0, scrollBy, false);
this.$ionicScrollDelegate.scrollBy(0, (-1 * scrollBy), false);
focusedElement.disabled = true;
this.$timeout(() => {
       focusedElement.disabled = false;
}, 300);

What actually this thing does is making the ionic scroll the page by 1 pixel up or down and then back and using the linked solution for re-positioning the caret.
Hope it helps anyone.

I'm still facing a similar issue on 13.2.3 with a texture. The trick above did not work for me, but:
document.activeElement.selectionStart = document.activeElement.selectionStart

after a 400 ms timeout did. Hope that helps.

Seems to be happening for me on iOS 13.3 are we sure this was an Apple issue?


Bump snabb-softwire-v2 revision date

Prevents configurations compiled against the pre-flow-label schema from being loaded against the current schema.  They will be recompiled instead on the fly.

Example output:
sudo ./snabb lwaftr run --ingress-drop-monitor=flush --cpu 7 --conf foo.conf --on-a-stick 82:00.0
LUA       obj/lib/timers/ingress_drop_monitor_lua.o
YANG      obj/lib/yang/snabb-softwire-v2_yang.o
GEN       obj/version.lua.gen
LUA       obj/version.lua
LINK      snabb
BINARY    3.9M snabb
foo.conf: loading compiled configuration from foo.o
foo.conf: expected schema revision date 2018-10-13 in compiled file, but got "2017-04-17"
/foo.conf: loading source configuration
foo.conf: wrote compiled configuration foo.o

pretty sure this nfv selftest fail is a flake, going to merge!


Incorrect links generated in multi-page TOC

On PaaS, we're currently seeing an issue where the links in the generated ToC contain incorrect anchors.
For example if you go to the PaaS docs, and inspect the links in the "Deploy a backing or routing service" -> "Mysql" section you'll see that they have a spurious 'mysql' prefixed to them. (For context, all the subsections under "Deploy a backing or routing service" use a common set of subheadings, but are on different pages, so they don't actually conflict). If you then navigate into the Mysql section, its links are now correct, but the Postgresql section now has incorrect links etc...
I've done some digging, and I think the problem lies with the combination of the render call here, and the UniqueIdentifierGenerator singleton. This singleton only gets reset on each middleman app invocation, and therefore when these renderings happen, it already contains all the anchors from everything that has been rendered so far for this page, which leads to the conflicts arising when they're not actually conflicts. There looks to have been an attempt to fix something like this in c15333e, but that would only seem to work for the current page being rendered, not any other pages.
When testing locally, I inserted a GovukTechDocs::UniqueIdentifierGenerator.instance.reset call before that render, and that seemed to prevent the problem. I haven't been able to understand the sequence of things enough to know whether that would have other unintended consequences. It also feels like quite a layering violation.

tldr @JonathanHallam and I took a look at this for an hour or so on 2019-04-12 and came to the conclusion that, without much more time invested, this is probably a can't/won't fix.
We discovered that templates can use HTML headings with id's as a workaround for this problem, because they aren't interpreted in any way.
# Heading 1

vs

Heading 1

A bit more detail
In lib/govuk_tech_docs/tech_docs_html_renderer.rb, the function header receives the text of a heading and its level (ie h{1-6}). It then calls UniqueIdentifierGenerator.instance.create to generate a unique id for the heading, and combines all 3 things in to an HTML heading
def header(text, level)
    anchor = UniqueIdentifierGenerator.instance.create(text, level)
    %(<h#{level} id="#{anchor}">#{text}</h#{level}>)
end

UniqueIdentifierGenerator has usually-valid behaviour for generating unique identifiers on page, allowing for headings to be identical.
unless unique?(anchor)
    anchor = prefixed_by_parent(anchor, level)
end

In a single page context this behaviour is correct, but when generating a table of contents that spans multiple pages, this results in the behaviour seen in this report.
Unfortunately, the methods described have insufficient information to determine if a given heading is unique in a multiple page context or not. Thus, we think it isn't fixable.


Create a graph view for drilling through a PetitParser2 grammar

We need a tool to visually go through a grammar.


Issue with setting up on termux on android 11

All of the steps where fine without a problem, but when I try to run node backend.js, it errors out saying it can't access <IP_ADDRESS>. Even though I have set up a proper local IP through the setup.

You can't have anything listening on ports under 1024 without root. Are you running this on a rooted phone?

Yes it's running on a rooted phone with magisk.
Also tried porting to :2009 (pun intended) and now it works

Yes it's running on a rooted phone with magisk.
your phone is rooted, but you're not running termux as root
if you want to run yt2009 on port 80 you can install tsu and launch yt2009 with it

All of the steps where fine without a problem, but when I try to run node backend.js, it errors out saying it can't access <IP_ADDRESS>. Even though I have set up a proper local IP through the setup.

now how do you get it setup cuz i need module realine sync and npm install doesnt work

All of the steps where fine without a problem, but when I try to run node backend.js, it errors out saying it can't access <IP_ADDRESS>. Even though I have set up a proper local IP through the setup.

now how do you get it setup cuz i need module realine sync and npm install doesnt work

use a chroot then, there is no real need of root. proot should fix this problem

Use https://github.com/TermuxArch/TermuxArch or see youtube.com/watch?v=0avuI2g4uOM for learn how to use chroot on termux