Unexpected Behavior with Nested Async Generators

This tracker is for issues related to: Dart core libraries ("dart:async")
Dart SDK Version (dart --version): Dart SDK version: 2.12.0-133.2.beta (beta) (Tue Dec 15 09:55:09 2020 +0100) on "macos_x64"
Whether you are using Windows, MacOSX, or Linux (if applicable): MacOSX

Reproduction Sample
import 'dart:async';

void main() async {
  final bloc = Counter()..listen(print);
  bloc.add(CounterEvent.increment);
}

enum CounterEvent { increment }

class Counter extends Bloc<CounterEvent, int> {
  Counter() : super(0);

  @override
  Stream<int> mapEventToState(CounterEvent event) async* {
    // Does not work
    yield* _increment();

    // Works
    // yield state + 1;
    // yield state + 1;
  }

  Stream<int> _increment() async* {
    yield state + 1;
    yield state + 1;
  }
}

abstract class Bloc<E, S> {
  Bloc(this._state) {
    _eventController.stream.asyncExpand(mapEventToState).listen((s) {
      _state = s;
      _stateController.add(_state);
    });
  }

  final _eventController = StreamController<E>();
  final _stateController = StreamController<S>.broadcast();

  S _state;
  S get state => _state;

  StreamSubscription<S> listen(void Function(S) onData) {
    return _stateController.stream.listen(onData);
  }

  Stream<S> mapEventToState(E event);

  void add(E event) => _eventController.add(event);
}

Reproduction Steps

Run above sample observe output is:

1
1

Comment line 16 and uncomment lines 19-20

@override
  Stream<int> mapEventToState(CounterEvent event) async* {
    // Does not work
    // yield* _increment();

    // Works
    yield state + 1;
    yield state + 1;
  }

Re-run and observe output is:

1
2

Expectations
I would expect that yielding inline would exhibit the same behavior as using yield* with a nested async generator.

I actually think it should work. I'm guessing that the yield* introduces an extra microtask delay, instead of synchronously (re-)delivering the events of the _increment() stream immediately when they are received.

I actually think it should work. I'm guessing that the yield* introduces an extra microtask delay, instead of synchronously (re-)delivering the events of the _increment() stream immediately when they are received.

I actually think it should work. I'm guessing that the yield* introduces an extra microtask delay, instead of synchronously (re-)delivering the events of the _increment() stream immediately when they are received.

Yeah, adding a delay of Duration.zero between the yield statements of the nested generator makes the behavior consistent. Is this a bug then? If so, I’m happy to try to open a pull request to fix it.

I actually think it should work. I'm guessing that the yield* introduces an extra microtask delay, instead of synchronously (re-)delivering the events of the _increment() stream immediately when they are received.

Yeah, adding a delay of Duration.zero between the yield statements of the nested generator makes the behavior consistent. Is this a bug then? If so, I’m happy to try to open a pull request to fix it.

I think it's a bug, but I'm not absolutely sure we have specified yield* in precise enough detail to state with conviction that the behavior is not within the specified bounds.
The behavior of yield was specified precisely for Dart 2.0, and yet not implemented correctly yet on all platforms.
If you have an easy fix, do feel free to upload a PR. If it's complicated, we'll probably have to coordinate it so all the platforms behave the same way. I'll look into the spec.

I think it's a bug, but I'm not absolutely sure we have specified yield* in precise enough detail to state with conviction that the behavior is not within the specified bounds.
The behavior of yield was specified precisely for Dart 2.0, and yet not implemented correctly yet on all platforms.
If you have an easy fix, do feel free to upload a PR. If it's complicated, we'll probably have to coordinate it so all the platforms behave the same way. I'll look into the spec.

@lrhn have you had a chance to look into this? I would love to help get this fixed as it’s a pretty high priority for me but would need some guidance on how best to proceed. Thanks!

I've been reading the specification, and it's ... remarkably vague on everything. I'm working on a rewording.
The scheduleMicrotask you're point to could be a culprit, but it's called from many places. I think a yield* is implemented using addStream instead, and that it should be continuing immediately when the stream ends, not slightly later.
The individual events should not be delayed, though.

@lrhn thanks for the update! Let me know if there's anything I can do to help 👍

I'm attempting a fix: https://dart-review.googlesource.com/c/sdk/+/187000
Have to make sure the changed timing doesn't break people (too much), otherwise we might be stuck with the current behavior for a while.

@lrhn is there any update on this? Looks like you managed to get it working but are waiting on a test-run? Thanks!

I've been running some internal tests, and the change does break a few tests. Not many, hopefully only a few root causes andm if very lucky, it's a problem in the tests, not the real code. It's still code I'm not at all familiar with, so it might take some time to figure out.
I still want to land this change if possible, but it's always a risk to change timing of asynchronous constructs, and a pain to figure out why something starts failing.

@lrhn thanks for the update. Do you have any sense of how difficult addressing the test failures will be? I just want to know if I should start considering alternative approaches as opposed to waiting for a fix. Thanks!

I'd probably consider alternative approaches. Release cycles are long, and I'm not sure when this will make it (if it will, which I still hope).

@felangel Do you have a workaround approach you commonly deploy in situations where this bug arises, or any other tips?
I've been doing something along the lines of
 Stream<int> _increment() async* {
    var newState = state;

    newState = state + 1;
    yield newState;
    // ...
    newState = state + 1;
    yield newState;
  }

But I'd love to know if there's a cleaner way of doing this.
Or the bug gets fixed. That'd be cool, too 👀

@felangel Do you have a workaround approach you commonly deploy in situations where this bug arises, or any other tips?
I've been doing something along the lines of
 Stream<int> _increment() async* {
    var newState = state;

    newState = state + 1;
    yield newState;
    // ...
    newState = state + 1;
    yield newState;
  }

But I'd love to know if there's a cleaner way of doing this.
Or the bug gets fixed. That'd be cool, too 👀

I generally do something like:
Stream<int> mapEventToState(CounterEvent event) async* {
  switch (event) {
    case CounterEvent.increment:
      yield* _mapIncrementToState(state);
      break;
  }
}

Stream<int> _mapIncrementToState(int state) async* {
  yield state + 1;
  yield state + 2;
}

But yeah I was hoping this bug would be fixed. I'm currently playing around with alternative APIs which don't rely on nested generators to avoid this bug so I'll keep you posted 👍

Problematic without external dependencies
https://dartpad.dev/8fe1bb47b6b5a6a496ced110f426c3a6

Workaround (if someone need quickfix in current project):
Stream<State> bad() async* {
  Stream<State> _inline() async* {
    yield state + 1;
    yield state + 1;
  }

  yield* _inline().asyncMap((i) async {
    await Future<void>.microtask(() => null);
    return i;
  });
}

Bad:
Stream<int> mapEventToState(CounterEvent event) async* {
  switch (event) {
    case CounterEvent.increment:
      yield* _mapIncrementToState(state);
      break;
  }
}

Stream<int> _mapIncrementToState(int state) async* {
  yield state + 1;
  yield state + 2;
}

Good:
Stream<int> mapEventToState(CounterEvent event) {
  switch (event) {
    case CounterEvent.increment:
      return _mapIncrementToState(state);
      break;
  }
}

Stream<int> _mapIncrementToState(int state) async* {
  yield state + 1;
  yield state + 2;
}

@vsmenon @lrhn it looks like Dart language critical issue and not just certain 'library' issue.
Could I kindly ask you if this issue going to be prioritized?

@vsmenon @lrhn any updates are welcome

I guess, I have noticed the same issue with a slightly different code: I am using a single state and I am updating it with copyWith(). In general, my functions called with yield* work. However in the case of
Stream<CoreStatementState> _mapWordSelectedToState(CsWordSelected event) async* {
    statement[event.IndexPosition].selected = !statement[event.IndexPosition].selected;
    yield state.copyWith(statement: statement);
  }
I get it only do update the UI by chaining this to
  Stream<CoreStatementState> _mapWordSelectedToState(CsWordSelected event) async* {
    statement[event.IndexPosition].selected = !statement[event.IndexPosition].selected;
    yield state.copyWith(coreStatements: problem.coreStatements.map((s) => s.statement).toList(),);
    yield state.copyWith(statement: statement, coreStatements: null);
  }

😶

Has this issue been silently fixed in dart version 2.18.0 @lrhn ?
If I execute the original example on a fresh install of dart version 2.18.0, I am getting this print out for the "Does not work" case:
1
2

My dart --version print out:
Dart SDK version: 2.18.0 (stable) (Fri Aug 26 10:22:54 2022 +0000) on "macos_x64"

If I downgrade to dart 2.17.6 the print out is back to
1
1

I stumbled over this while migrate an app to flutter 3.3.10 & some of our async*-methods suddenly had a different behaviour.
Strangely enough, I am unable to reproduce the fixed behaviour on DartPad, despite setting it to the exact same version as my local one.


task :react-native-safe-area-context:compiledebugjavawithjavac failed

Description
I am working on a local news app in react native and I am getting this error whenever I run android emulator using npx react-native run_android

Version
0.64.3
Output of npx react-native info
(actual and formal argument lists differ in length)
constructor Event.Event(int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\HP\projects\helloworld\Samprati\node_modules\react-native-safe-area-context\android\src\main\java\com\th3rdwave\safeareacontext\SafeAreaProviderManager.java:62: error: cannot find symbol
UIManagerHelper.getSurfaceId(reactContext), reactTag, insets, frame));
^
symbol:   method getSurfaceId(ReactContext)
location: class UIManagerHelper
Note: C:\Users\HP\projects\helloworld\Samprati\node_modules\react-native-safe-area-context\android\src\main\java\com\th3rdwave\safeareacontext\SafeAreaUtils.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\Users\HP\projects\helloworld\Samprati\node_modules\react-native-safe-area-context\android\src\main\java\com\th3rdwave\safeareacontext\SafeAreaContextPackage.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':react-native-safe-area-context:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 24s
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/03 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/03 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/03 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/03 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
(actual and formal argument lists differ in length)
constructor Event.Event(int) is not applicable
(actual and formal argument lists differ in length)
C:\Users\HP\projects\helloworld\Samprati\node_modules\react-native-safe-area-context\android\src\main\java\com\th3rdwave\safeareacontext\SafeAreaProviderManager.java:62: error: cannot find symbol----------------------------------------------------------------------------           ---------------------------------------------              UIManagerHelper.getSurfaceId(reactContext), reactTag, insets, frame));----------------------------------------------------------------------------         --------------                             ^
symbol:   method getSurfaceId(ReactContext)------------------------------------------------------------- -------------------------------------------------------------  location: class UIManagerHelper
Note: C:\Users\HP\projects\helloworld\Samprati\node_modules\react-native-safe-area-context\android\src\main\java\com\th3rdwave\safeareacontext\SafeAreaUtils.java uses or overrides a deprecated API.----------------------------------------------------------------------------           ---------------------------------------------Note: Recompile with -Xlint:deprecation for details.
Note: C:\Users\HP\projects\helloworld\Samprati\node_modules\react-native-safe-area-context\android\src\main\java\com\th3rdwave\safeareacontext\SafeAreaContextPackage.java uses unchecked or unsafe operations.----------------------------------------------------------------------------           ---------------------------------------------Note: Recompile with -Xlint:unchecked for details.
2 errors
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':react-native-safe-area-context:compileDebugJavaWithJavac'.> Compilation failed; see the compiler error output for details.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 24s
Visual Studio: Not Found

Languages:
Java: Not Found  npmPackages:    @react-native-community/cli: Not Found
react: 17.0.1 => 17.0.1
react-native: 0.64.3 => 0.64.3    react-native-windows: Not Found
npmGlobalPackages:
react-native: Not Found
PS C:\Users\HP\projects\helloworld\Samprati> npx react-native info
info Fetching system and libraries information...
System:
OS: Windows 10 10.0.22000
CPU: (8) x64 Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz
Memory: 3.26 GB / 7.81 GB
Binaries:
Node: 16.13.2 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.17 - ~\AppData\Roaming\npm\yarn.CMD
npm: 8.1.2 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK: Not Found
Windows SDK: Not Found
IDEs:
Android Studio: Version     2<IP_ADDRESS> AI-211.7628.21.2111.8139111
Visual Studio: Not Found
Languages:
Java: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.1 => 17.0.1
react-native: 0.64.3 => 0.64.3
react-native-windows: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce
I was earlier working on my project on expo cli but then I ejected and began working on react-native cli. Even then the android simulator was working but after some day it started showing the error.
Snack, code example, screenshot, or link to a repository
This is my package.json file {   "name": "samprati",   "version": "1.0.0",   "scripts": {     "start": "expo start --dev-client",     "android": "expo run:android",     "ios": "expo run:ios",     "web": "expo start --web",     "eject": "expo eject"   },   "dependencies": {     "@react-native-community/checkbox": "^0.5.11",     "@react-native-firebase/app": "^14.5.0",     "@react-native-firebase/auth": "^14.5.0",     "@react-navigation/native": "^6.0.8",     "@react-navigation/native-stack": "^6.5.0",     "expo": "~44.0.0",     "expo-splash-screen": "~0.14.1",     "expo-status-bar": "~1.2.0",     "react": "17.0.1",     "react-dom": "17.0.1",     "react-native": "0.64.3",     "react-native-safe-area-context": "^4.0.1",     "react-native-screens": "^3.12.0",     "react-native-web": "0.17.1",     "react-redux": "^7.2.6",     "redux": "^4.1.2"   },   "devDependencies": {     "@babel/core": "^7.12.9"   },   "private": true }

Duplicate of https://github.com/th3rdwave/react-native-safe-area-context/issues/245


Multiple measure metadata on map

When a user clicks to the map tab, it correctly shows a single measure in the Metadata fields:

However, when a user loads a page with the map deeplinked (example), then we get metadata for all the indicator's measures in the measure fields (eg, table metadata):

Chris, I'm interested in seeing if we can move along feature-DE-design-updates to prod in the near(ish) future - can you take a look at this? It's not vital, but, definitely helpful.


Fixed lengthy test names in TC (testFoo on org.infinispan.FooTest@12345678)

@danberindei recently complained that recent changes in testsuite use too lengthy test names in TC. This fixes that issue by renaming the method name (adding parameters()) but while this makes even more easily distinguishable tests in IDE, it breaks the ability to navigate to the test method/re-run the test method.
A workaround (before https://youtrack.jetbrains.com/issue/IDEA-157827#comment=27-1485365 is fixed) is using a system property in CI(TC) that uses the fix, and just don't distinguish the methods on normal runs (the threads are named using test name, so it should be still distinguishable).
WDYT?

@rvansa I found a workaround for the source navigation issue in IntelliJ: you just need to wrap the parameters in [] instead of {}. It works because the IntelliJ reporter puts the invocation count in [], and so the IDE ignores everything between the square brackets.

@danberindei Seems this works, thanks for the tip! Rebased & replaced the brackets.

+1000 for this change

Integrated, thanks Radim!
(I had to remove some empty lines at the end of NamedTestMethod because of the new checkstyle rules.)


Fix numpy installation with sg_ips

Due to the use of numpy, sg_ips and it's guidance at installing it is broken.

Resolved in #346


Conan support

I've added a conanfile.py to support uploading tiny-process-library to conan.io, which makes it easy to integrate with other projects. I've already created a package from my fork, and if this patch is accepted I suggest changing the URL in conanfile.py to the upstream repo. I branched off from the last release tag, so what's uploaded to conan is v1.0.5. (I don't know why it can't be automatically merged, sorry about that :()

Thank you, but are additional files needed in a project source tree to create Conan packages, or is it just more convenient to do so? With all the emerging package and build systems, I'm thinking that the result would be a lot of extra files to support Conan and Meson and other new package/build systems. Note that I'm asking because I'm curious and with respect to other projects that I have:)

are additional files needed in a project source tree to create Conan packages, or is it just more convenient to do so?

Neither - a conanfile can clone the repository and work from that (it's a few lines more but not difficult). The reason I did it this way was that I'm trying to upstream the package. I can also do it in a non-intrusive way, but I can't make a pull request from that :) Also, having the conanfile in your repo gives you the benefit of pulling dependencies via conan, which the other way does not really allow.

With all the emerging package and build systems, I'm thinking that the result would be a lot of extra files to support Conan and Meson and other new package/build systems.

Fair point, although conan is really only about dependencies and it's not a build system. Each conanfile.py can reference dependencies that also have a conanfile and get them automatically. It can also generate a cmake script which sets include and library paths.

I'm going to read up on Conan and give this a bit more thought, but hopefully decide in a day or two.  Thank you again for the explanation.

First off, thank you very much for creating a Conan package. However, I sadly have decided against added extra files in my projects to support other build or package systems. I think this should be done in a non-intrusive way, and thus keep the project file structure as clean as possible. The second reason is that I have to prioritise my time, and I will not be able to answer issues that are related to many different package/build systems. I saw that packaging from external sources was an option in http://docs.conan.io/en/latest/packaging/creating_out.html, and hopefully this will be a decent alternative.

That's alright and I totally understand. I'll make a non-intrusive package. I'll provide a link in this thread for people from the future. :)


7.0 Xcode13 Archive error

Xcode13 archive error with 7.0

May I know what is your target when performing this? GraphicsContext is a type inside Kingfisher and now I've no idea why this is happening now.
Is it possible to create a minimal sample project in which this can be reproduced?

Pls wait, I'll try it again. All what I can tell u now is: 1. We r using Xcode13.3; 2. We r using the latest 7.1.2 KF.

`platform :ios, '12.0'
use_frameworks!
inhibit_all_warnings!
source 'https://github.com/CocoaPods/Specs.git'
target '*****' do
Pods for NowCRM
pod 'LookinServer', :configurations => ['Debug']
pod 'GoogleSignIn'
pod 'Firebase/Auth'
pod 'Firebase/Analytics'
pod 'Firebase/Crashlytics'
pod 'UITextView+Placeholder'
pod 'RadioButton'
pod 'Moya/RxSwift'
pod 'DateToolsSwift'
pod 'MaterialComponents/TextFields'
pod 'MaterialComponents/Buttons'
pod 'MaterialComponents/Chips'
pod 'MaterialComponents/Snackbar'
pod 'RxCocoa'
pod 'Popover'
pod 'DZNEmptyDataSet'
pod 'Action'
pod 'RxDataSources'
pod 'SwiftLint'
pod 'AnyCodable-FlightSchool'
pod 'Charts'
pod 'FSCalendar'
pod 'IQKeyboardManagerSwift'
pod 'Kingfisher', '~> 7.0'
pod 'lottie-ios'
pod 'MBProgressHUD'
pod 'ESPullToRefresh'
pod 'SnapKit'
pod 'CropViewController'
pod 'FDWaveformView'
target '***Tests' do
inherit! :search_paths
# Pods for testing
pod 'RxBlocking'
pod 'RxTest'
end
end`
the podfile is like that.

Any update here? I'm having a similar issue

Yes, sorry, I had old version of Kingfisher (6.3.1). I've updated cocoa, download new version Kingfisher 7.2.1 and it works fine.

I have found the reason. It is a cocoapod bug maybe, the GraphicContext file did NOT checkout, I fixed it with reinstall it. @onevcat All our Macs encountered this problem. Can u check this situation, checkout the KF 6., and update it to KF 7., with the latest Xcode version.

@PCBZ Did you try pod update Kingfisher instead of a merely pod install? pod install will just look into the lock file and use the versions there, so it means your installation is still using the old v6 versions.
Although it is possible for you to remove the lock file totally and do installation again.
Since it is not likely an issue in Kingfisher. I am closing it now.


Where is the reference to the business templates?

Hello
Great that you've launched the new database templates. But where is the reference to the templates available? Can see some info in the image but nothing referencing the actual entities available.

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

ID: 5a1ca838-548a-348a-d5be-b1fac8d1a3f3
Version Independent ID: 3b9ef3a8-6939-6dec-96b3-230dbbf12b37
Content: Azure Synapse database templates concepts - Azure Synapse Analytics
Content Source: articles/synapse-analytics/database-designer/concepts-database-templates.md
Service: synapse-analytics
Sub-service: database-editor
GitHub Login: @gsaurer
Microsoft Alias: gesaur

@chpouls Thank you for sharing your feedback. We are actively validating it. We will share updates soon.

@chpouls If you are looking for how to browse to the template shown in documentation, then below are the steps.
In synapse studio Click on "Help" icon and "Knowledge center" sub menu.

Click on browse gallery inside Knowledge center.

Select on Retail template from gallery and click continue

Hope this helps. Please let us know if its not ask or looking for something else. Thank you.


[BUG] Clicking on “View on site” button in pages overview gets you to first instead of latest version

Description
When opening a page, I expect the latest version to show up by default, which is what happens when I open a page via the front end menu. But when you open a page via the pages overview, you get to the first version. This is confusing for editors. And then they are tempted to click the blue highlighted “Revert” button without really knowing what this is doing: creating yet another version that is a copy of version 1.
Steps to reproduce

Go to “Pages” overview with the page tree.
Click on the eye icon (“View on site”) of a page with multiple versions (djangocms-versioning).

Expected behaviour
I expect to get to the latest version, no matter if published or not.
Actual behaviour
The first version is shown, shown on the version menu: “Version #1 (Unpublished)”, on the top right there’s a blue “Revert” button.
Additional information (CMS/Python/Django versions)
django CMS 4.1.3, django 5.1.2, Python 3.11
Do you want to help fix this issue?

[ ] Yes, I want to help fix this issue and I will join the channel #pr-reviews on the Discord Server to confirm with the community that a PR is welcome.
[x] No, I only want to report the issue.

I might also help fixing the issue, but I currently don’t know where to look for.

djangocms-versioning       2.0.2
The links on the versions list for the different versions of one page are like this:

Draft: https://cms.passivehouse.com/en/admin/djangocms_versioning/pagecontentversion/1915/edit-redirect/
…
Version #8 https://cms.passivehouse.com/en/admin/cms/placeholder/object/352/preview/2734/
Version #1, also linked on “Pages” overview: https://cms.passivehouse.com/en/admin/cms/placeholder/object/352/preview/2573/

That looks good. Can you try in the Django shell:
>>> from cms.models import PageContent
>>> page = PageContent.admin_manager.get(pk=2734).page
>>> PageContent.admin_manager.filter(page=page).latest_content().values_list("pk", flat=True)
<AdminContentAdminQuerySet [<some number>]>

What's the number shown? It should not be 2573 but rather be larger than 2734.

That looks good, too: 2735
>>> page = PageContent.admin_manager.get(pk=2734).page
>>> PageContent.admin_manager.filter(page=page).latest_content().values_list("pk", flat=True)
<AdminContentAdminQuerySet [2735]>

Btw: The version numbers in my last posting were converted to a symbol because of the #, I ’ve fixed that.


Remove dependency on Inline

No more need for a C toolchain (especially on Windows).
Requires https://github.com/MoarVM/MoarVM/commit/7af5df61b5700ceecc66134c580f4fa2e70ad5de , which has not yet been ported to JVM.

Amazing, thank you!


Running specs before parallel execution with multithreading

Actual Behaviour
We can run few specs in serial before running specs in parallel after #962.
With this feature, a new runner process is spawned for the serial runs. After the serial runs are completed new runner process/processes are spawned to run specs in parallel. When multi-threading is enabled, two runner processes are spawned instead of one
Expected Behaviour
When enable_multithreading is enabled, Gauge spawns off only one runner process. Gauge's behaviour should be same when --parallel flag is run with --only "tags" and enable_multithreading environment variable is used. i.e., only one runner should be spawned and used for parallel and serial execution.

This would enable context and data sharing between specs run in serial and parallel.
The behaviour of Gauge when run only in parallel vs serial with parallel run will be same.
It will also optimize performance.

Hi,
I've a maven gauge project. My spec include 3 different scripts. First one is, Admin is creating meeting. Second one, Members vote agenda item(s) at the same time. So, I want to run first script. Then second scripts for 10 different users at the same time. Last one, delete createdMeeting after all parallel run completed
So, How can I do it with this solution. I'didn't do it.

@iskoc9002 you can run the first script in serial and the second script in parallel
However, you cannot run the last one after parallel completion.


Please make pip package and/or more elaborate ReadMe for usage

Could you create a python package or at least a wheel for this so people can pip install? The ReadMe also gives very little guidance at the moment as to how to actually use the code.
Without a package, I tried to navigate into the io/complex and follow the "Example of how to use this package" steps, but I'm getting an error saying the following because I am trying to import from geometry, which is above my current root folder of io.
`>>> import complex

reader_object = complex.open('test.h5')
Traceback (most recent call last):
File "", line 1, in
File "complex/init.py", line 70, in open
modules = [sys.modules[names] for names in module_names if import(names)]
File "complex/radarsat.py", line 4, in
from .sicd import MetaNode
File "complex/sicd.py", line 8, in
from ...geometry import geocoords as gc
ValueError: Attempted relative import beyond toplevel package`

If I go up a level and import io.complex as complex, I'm getting the following error, which I don't understand as well.
`>>> import io.complex as complex

reader_object = complex.open('test.h5')
Traceback (most recent call last):
File "", line 1, in
File "io/complex/init.py", line 70, in open
modules = [sys.modules[names] for names in module_names if import(names)]
File "io/complex/radarsat.py", line 4, in
from .sicd import MetaNode
File "io/complex/sicd.py", line 6, in
from .utils import bip
File "io/complex/utils/bip.py", line 3, in
import numpy as np
File "/home/kate/miniconda3/envs/py27/lib/python2.7/site-packages/numpy/init.py", line 142, in
from . import add_newdocs
File "/home/kate/miniconda3/envs/py27/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in
from numpy.lib import add_newdoc
File "/home/kate/miniconda3/envs/py27/lib/python2.7/site-packages/numpy/lib/init.py", line 23, in
from .npyio import *
File "/home/kate/miniconda3/envs/py27/lib/python2.7/site-packages/numpy/lib/npyio.py", line 14, in
from ._datasource import DataSource
File "/home/kate/miniconda3/envs/py27/lib/python2.7/site-packages/numpy/lib/_datasource.py", line 220, in
_file_openers = _FileOpeners()
File "/home/kate/miniconda3/envs/py27/lib/python2.7/site-packages/numpy/lib/_datasource.py", line 162, in init
self._file_openers = {None: io.open}
AttributeError: 'module' object has no attribute 'open'
reader_object = complex.open('test.h5')`

I'm excited to use the package once I get it up and running. Thanks!

Sorry, I posted the initial code quickly without a lot of time for proper packaging and then ran off to spring break, so I'm late on replying to this.  I agree that some examples are needed.  I will try to get some examples posted soon to clarify this.
ayoungs is correct that it will not currently handle HDF5 files (like CosmoSkymed).  The architecture is intended to handle complex SAR data, primarily in SICD format (as can be found here.)
However, this library also allows for the defining other complex SAR formats/readers (which get converted to SICD internally, so to the calling code they will look just like a SICD with the same metadata structure, data indexing, etc.) Thus far, besides SICD, only Sentinel-1 and RADARSAT-2/RCM native formats are handled.  We could certainly add the CosmoSkymed SCS/SLC format in HDF5.  We have the code in MATLAB to convert it to SICD (It will be posted soon here), so it would be a relatively simple port.

I've added some more proper Python wrapping to the package to include a setup.py to allow for creation of wheels, source distribution, etc.  Although you can also just simply add the sarpy subdirectory to your Python path, and everything should run as its "universal" in Python terminology (pure Python and runs without any changes on Python 2 and 3.)
Additionally, I've added a sarpy_example.py file in the docs directory for a simple example of how to use the SarPy code to read a file and inspect its metadata and pixels.  Hope this helps.


kotlin support and update lib versions

replace executor to coroutine
adapt receive content listener
remove message builder
make Contact.kt sealed

sorry I deleted wrong repository , how to re-open it?


[TB] Debug latency issues

User story

As a SD
I want to debug the latency issues on the turtlebot while using SSH
So that i can save time while testing

Acceptance criteria

Debugged  the latency issues on the turtlebot

Definition of done (DoD)

Linter & Checker were performed and passed
Code Review has been completed
Code was merged in sprint release candidate
Updates are written in issue comments
Feature builds and tests successfully
Acceptance by product owner
User Story & Acceptance Criteria fulfilled

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

The measured network latency does not show any abnormalities such as spikes.
TurtleBotStation -> TurtleBot 2
root@OpenWrtTurtleBotStation:~# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=64 time=3.786 ms
64 bytes from <IP_ADDRESS>: seq=1 ttl=64 time=1.416 ms
64 bytes from <IP_ADDRESS>: seq=2 ttl=64 time=1.194 ms

Turtlebot 2 -> TurtleBotStation
sick@sick-EC700:~$ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.082 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.050 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=64 time=0.045 ms

The problem of delayed input via SSH was due to the high CPU load on the turtlebot itself. Fixed by new launch file #88.


straight-recipes-emacsmirror-mirror-retrieve doesn't work if mirror file is in CRLF encoding

aae8a57dc70077ba4afeaab6febe1f7bd2e63572 changed straight-emacsmirror-use-mirror to t. When launching my configuration in Windows I get:
error: Could not find package syntax-subword in recipe repositories: (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror)

This seems to happen only on Windows. What's even stranger is that setting the variable back to nil with setq after (require 'straight) doesn't fix it, only when calling setq before require fixes it.

That package is available for me (and it is listed in emacsmirror-mirror latest on GitHub). Run M-x straight-pull-package RET emacsmirror-mirror RET to pull the latest version of the recipe repository.

This seems to happen only on Windows.

I think it is more likely that your Windows machine has a different revision of the emacsmirror-mirror repository than your other machines.

What's even stranger is that setting the variable back to nil with setq after (require 'straight) doesn't fix it, only when calling setq before require fixes it.

This is not surprising at all. The value of that variable is read when straight.el is loaded for the first time (or when you are reloading your init-file). See the bootstrap code. (This behavior is documented in the README, although I will certainly admit that does not jump out at the reader.)

My emacsmirror-mirror pacakge is at c31546f, which is the latest. I can even see syntax-subword there, but the error still persist.
If it helps, here's the complete traceback:
Debugger entered--Lisp error: (error "Could not find package syntax-subword in recipe repositories: (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror)")
  signal(error ("Could not find package syntax-subword in recipe repositories: (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror)"))
  error("Could not find package %S in recipe repositories: %S" syntax-subword (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror))
  straight--convert-recipe(syntax-subword nil)
  straight-use-package(syntax-subword)
  eval-buffer(#<buffer  *load*> nil "c:/Users/roey/.emacs.d/init.el" nil t)  ; Reading at buffer position 30704
  load-with-code-conversion("c:/Users/roey/.emacs.d/init.el" "c:/Users/roey/.emacs.d/init.el" t t)
  load("c:/Users/roey/.emacs.d/init" t t)
  #f(compiled-function () #<bytecode 0x1000be9b9>)()
  command-line()
  normal-top-level()

Oh, huh. That's very odd then; you are probably right about it being a platform-specific problem. I am guessing if you run (straight-recipes-emacsmirror-mirror-retrieve 'syntax-subword) then you'll get nil? If so, that's the issue. The definition is quite simple:
(defun straight-recipes-emacsmirror-mirror-retrieve (package)
  "Look up a PACKAGE recipe in the Emacsmirror mirror.
PACKAGE should be a symbol. If the package is available from
Emacsmirror, return a MELPA-style recipe; otherwise return nil."
  (cl-block nil
    (dolist (org '("mirror" "attic"))
      (with-temp-buffer
        (insert-file-contents-literally org)
        (when (re-search-forward (format "^%S$" package) nil 'noerror)
          (cl-return
           `(,package :type git :host github
                      :repo ,(format "emacs%s/%S" org package))))))))

Maybe you could debug why that is not finding the string in the file? Perhaps it is a character encoding problem, or something with line endings.

(Note that that function should be run with a working directory of the emacsmirror-mirror repository.)

Found it. Git converted the file to CRLF and (format "^%S$" package) doesn't work because of the \r. I should probably configure my git not to do that, but maybe straight should support CRLF as well?

Yeah, probably it should. Is that just updating the regexp to "^%S\r?$"? If so, I'd gladly merge such a pull request.

I'll test it and open a PR
On Fri, 27 Sep 2019, 18:51 Radon Rosborough<EMAIL_ADDRESS>wrote:

Yeah, probably it should. Is that just updating the regexp to "^%S\r?$"?
If so, I'd gladly merge such a pull request.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/raxod502/straight.el/issues/416?email_source=notifications&email_token=AAKRWGORVWD6JQYAALI5FNDQLYTXTA5CNFSM4I2QJ3SKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7ZKM3I#issuecomment-535996013,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKRWGKR3ADH3BB5P2BVLETQLYTXTANCNFSM4I2QJ3SA
.


[GitHub Custom Navigation] This style seems broken due to Github update

I just guessing its broken due to Github update
https://github.com/Mottie/GitHub-userscripts/wiki/GitHub-custom-navigation
Now it look like this

Thanks for your help

Hi @Rupthya!
Thanks for reporting this issue!


The website is broken

Getting nextjs 404s

Hey, still getting this? We're not seeing any issues right now. Closing but feel free to reopen if you have issues


Identify community options

We'll link to the Selenium slack & github and leave it to be updated in the future.


Win+arrow not overriding Aerosnap

Environment
Windows build number: 1903
PowerToys version: 0.11.0
PowerToy module for which you are reporting the bug (if applicable): FancyZones

4K monitor set as primary montior hooked up to Surface Pro 4
Steps to reproduce
Turn on "Override Windows Snap hotkeys...
Expected behavior
Win+arrow moves windows between FancyZones and not snap them to different positions as normal
Actual behavior
Windows are moving per regular Windows snapping rules. Attempts at turning the setting on and off & restarting fancy zones has no effect.

Hi @pmarsh
I've tried to reproduce the problem you described, but it seems to work fine for me.
Can you please make sure FancyZones is set to on in the General Settings?
Thank you.

@enricogior FancyZones itself works with the normal hold shift and drag option. I tried turning it off, exiting PowerToys, and back on but still no luck.
Here are my settings

On: Hold Shift key to enable zones while draggin
On: Override Windows Snap hotkeys
On: Flash zones
On: Keep windows in their zones
Off: Keep windows in zones when the active layout changes
Off: Keep windows pinned to multiple desktops
On: Move newly created windows to last known zone
On: Use new zone editing experience

Thanks for the extra infos.

Hi @pmarsh
have you tried the latest 0.13.0 release? The FZ snapping is still not working for you?
Thank you.

@enricogior Nope. Fresh install tried turning on/off the setting for Override as well.
I created a custom layout with 6 zones. Didn't work there either.

@enricogior Quick follow-up, the snap override feature works when the Surface is not connected to the second monitor. Again the second 4K monitor is set to Primary and the Surface built-in screen is not active as a second monitor.

@pmarsh
I tried to reproduce the issue using a generic laptop, turning off the built-in screen and only using the external 4K monitor connected via HDMI, and it worked as expected.
It may be an issue specific of the Surface, what exact model it's your Surface?

Also on a 4k monitor. I'm observing that sometimes the win+snap goes back to normal behaviour.
I actually wish that there was a way to use both normal behaviour and the grid, somehow.
Quarting in Windows 10 is a genuinely useful tool, that I'd wish to make use out of both my grid and the default halving/quartering functionality.

@DavidGretzschel
please open a new issue to propose a change so both Windows Snap and FancyZones Snap can work at the same time.

@enricogior
https://github.com/microsoft/PowerToys/issues/770
I already consider that an undocumented feature. Though when I wrote here, I didn't understand it yet.
What pmarsh is dealing with seems to be a seperate issue.
@pmarsh could you look at my video and confirm that it isn't the same?

@DavidGretzschel
OK thanks.

@enricogior I isolated the issue, maybe you can replicate it.
I never assumed it would be my USB connected external keyboard causing the issue. It is an Kinesis Advantage keyboard connected to a Surface Dock for complete clarity.
However, I have found if using the directly attached Surface Keyboard win+arrows the snapping to Zones works as expected.
@DavidGretzschel Thanks for the video, I can confirm that is what happens when using the Surface keyboard. Which is good obviously haha.
I'll dig up a second USB keyboard and see if the other behavoir still happens or if it is unique to the Kinesis.

Hi @pmarsh
thanks for the update. So since this is not caused by the software I'm closing the issue as external, OK?
Thanks.

Hi,
Can this please be reopened? It's not keyboard-specific: FancyZones only responds to VK_LWIN but the Kinesis Advantage referenced only has a right-side Windows key that sends VK_RWIN by default. The same behaviour can be seen using a keyboard that has two Windows keys, etc.
I've not looked hard but I suspect the issue is here only checking VK_LWIN status.


DUPLO-17203 fixed plugin crash issue on update of globalsecondaryindex

Overview
... (don't forget to put your clickup ticket ID in the title) ...
Summary of changes
This PR does the following:

...
...

Testing performed

[ ] Using unit tests
[ ] Manually, on my local system
[ ] Manually, on a remote test system

Describe any breaking changes

...

Task linked: DUPLO-17203 Plugin crash @ duplocloud_aws_dynamodb_table_v2


Add auth

<EMAIL_ADDRESS>has client.logout({server: opts.server})!

okay changes pushed and rebased to master

We should set the config file to be something different for all the auth tests.

ok pushed changes, fixed the config file path for the tests


any suggestion for logging all this mail activity?

Hi there! I really like your package and will start using it right away.
I was wondering however if you have any suggestions for me, I would like to have a detailed "mail log" of all this activity.
I am thinking of simply using https://github.com/spatie/laravel-activitylog. But I wouldn't have minded something similar to that but exclusively for tracking emails.
I would like to created queue-able emails.. see at what time they were queued, at what time they were sent.. to whom they were sent.. and some other details. Anything like that already exist?

You're more than welcome to use that package in conjunction with tuxedo.
If you're wanting to log all mail sent from your application, I would create a listener for either Illuminate\Mail\Events\MessageSending or Illuminate\Mail\Events\MessageSent and use the activity package that way.
However, there isn't any logging functionality included into this package and I don't have any intention on implementing any.


Upgrade ttypescript version to 1.5.15

This PR fixes Issue: #58
There is bug is ttypescript where we ends up getting "Cannot set property constructor of [object Object] which has only a getter"
at
/mnt/d/workspace/pocs/automated-data-analytics-on-aws/source/node_modules/ttypescript/lib/loadTypescript.js:13
        function __() { this.constructor = d; }

This bug is raised on ttypescript repository with solution to upgrade version to 1.5.15
#https://github.com/cevek/ttypescript/issues/150
So upgraded ttypescript version to 1.5.15

@zilurrane thank you for the pr, we will check this

@rashimr Any further updates on this?

The issue had been fixed in new release v1.4.0 version on 9 April.


ST_Pixelize drawing polygon perimeter rather than all pixels in polygon

Expected behavior
drawing 10 x 10 polygon expect 100 pixels
+---------------------------------------+--------+-----+------------+--------------+
|geo                                    |size(px)|Is4_4|st_area(geo)|st_length(geo)|
+---------------------------------------+--------+-----+------------+--------------+
|POLYGON ((1 1, 11 1, 11 11, 1 11, 1 1))|100     |true |100.0       |40.0          |
+---------------------------------------+--------+-----+------------+--------------+

Actual behavior
drawing 10 x 10 polygon only getting 40, on the boundary
output - size(px) is wrong
+---------------------------------------+--------+-----+------------+--------------+
|geo                                    |size(px)|Is4_4|st_area(geo)|st_length(geo)|
+---------------------------------------+--------+-----+------------+--------------+
|POLYGON ((1 1, 11 1, 11 11, 1 11, 1 1))|36      |true |100.0       |40.0          |
+---------------------------------------+--------+-----+------------+--------------+

Steps to reproduce the problem
case class A(g : String)
val a0 = 1.0
val a1 = 11.0
val d = Seq( A(s"POLYGON (($a0 $a0, $a1 $a0, $a1 $a1, $a0 $a1, $a0 $a0))"))
import spark.implicits._
val df = d.toDS().toDF()
val df2 = df
  .withColumn("geo",   expr("ST_GeomFromWKT(g)"))
  .withColumn("Is4_4", expr("ST_Contains(geo, ST_Point(4,4))")) // should be in
  .withColumn("px",    expr("ST_Pixelize(geo, 10,10, ST_PolygonFromEnvelope(0,0,12,12))")) // make sure (a0,a0) to (a1,a1)

println( s"Number of pixels: ${df2.select( explode(col("px")) ).count()} - would expect ${(a1-a0) * (a1-a0)} ")

df2.select( col("geo"), size(col("px")), col("Is4_4"), expr("ST_Area(geo)"), expr("ST_Length(geo)")).show(false)

df2  .select( explode(col("px")) )  .show(false)

Settings
Sedona version = 1.5.0
Apache Spark version = 3.3.0
Apache Flink version = ?
API type = Scala,
Scala version = 2.12
JRE version = 1.8
Python version = ?
Environment = Databricks

suspect problems is :
https://github.com/apache/sedona/blob/master/spark/common/src/main/scala/org/apache/spark/sql/sedona_viz/expressions/Pixelize.scala
lines53-55
case geometry: Polygon => {
RasterizationUtils.FindPixelCoordinates(resolutionX, resolutionY, boundary, inputGeometry.asInstanceOf[Polygon], reverseCoordinate)
}
adding an extra argument to the call of 1.0 calls a different method which gets the interior pxiels ?

Getting the interior pixels some sorts of sweep line algorithms to scan the entire geometry. This was not implemented.

Hi,
I think there is already a method that will get all the pixels in a polygon - https://github.com/apache/sedona/blob/master/spark/common/src/main/java/org/apache/sedona/viz/utils/RasterizationUtils.java#L214
public static List<Tuple2<Pixel, Double>> FindPixelCoordinates(int resolutionX, int resolutionY, Envelope datasetBoundary, Polygon spatialObject, boolean reverseSpatialCoordinate, Double objectWeight)

I agree it's not the most efficient !


Can not get unique_id or product_code for noa.game_info

Same code as your readme file

but the product_code and unique_id are None

Hi!
this should be fixed on v3.1.0.
Let me know if it works for you.
Cheers, Fede.


Link for downloading any of 0.9.0.M10 artifacts leads to 404

Hi when trying to download jeka leading from main page to maven download page, there is issue downloading any of artifacts in "Download" context menu.

Click download and select any of artifacts.

You can download through this link first: https://repo1.maven.org/maven2/dev/jeka/jeka-core/0.9.0.M10/jeka-core-0.9.0.M10-distrib.zip

Yeah I know, I browsed through maven repo ;)


Open folder should start the folder picker at the current folder

Currently when selecting open folder it always opens the folder picker at $HOME on Linux. It would be much more convenient if it started in the current folder, that way I can navigate to a relative project very easily like so:

alt+↑
(type name of desired project)
enter, enter

It seems to be starting in the directory above now which is good. I'll reopen if I can reproduce what I think I saw.

After playing around with this for a while, it's definitely not consistently opening the currently opened folder or it's parent.

@Tyriar we store the last used folder in a setting, can you provide some more steps how this happens? Is the path you picked before maybe getting deleted meanwhile?

@bpasero the issue is that it seems to retain the last folder used, I think it's more intuitive to consistently open at either the currently opened folder or the parent of that folder.

@Tyriar interesting, though I did not get any bug for this from any other user besides you so maybe the way it works now is actually what all people expect?
Still, you say that often $HOME gets opened even though you did not pick it, I would like to understand when and how that happens.

@bpasero I'll try make some notes during regular use :)

Just opened it on Insiders (it's been a long time since I've done it, if ever), and it started the open dialog at /home (ie. ~/..) which is pretty weird.

@Tyriar the first time you open it I am not setting any folder so this might well be standard OS behaviour or an issue with Electron. From then on I am keeping your last used directory.

Hi, I am not sure if my problem is related to this issue but I couldn't find better.
I am using linux with KDE desktop and when I open a file from file manager (like Dolphin) or from console with command "code /home/user/project/file.json" it is opened in vscode but location of explorer is always "/home/user" instead of "/home/user/project". But if I open a file which is not under user home dir (for example "/tmp/file.name" then no folder is opened in vscode explorer. I expect the same behavior in both cases. Either should be location of explorer set to parent folder of opened file or none folder should be opened. There is no difference if I open a file from a file manager of from console.

This should be fine now in 1.18.


Update remote_last_win for all ACKs

Only ACKs generated by dispatch were updating
remote_last_win but not the ACKs generated by
process, failing to keep track of the last
announced receive window. This left
window_to_update to return false in dispatch
after the RX buffer was emptied, thus not announcing
that the receive window is not zero anymore.
The change updates remote_last_win for immediate
ACKs generated by process.
Fixes #199

Excellent work, thanks!
@m-labs-homu r+

:pushpin: Commit 0ad249c has been approved by whitequark

:hourglass: Testing commit 0ad249cdeaba3cd42c296769f39d3c3891a9ef0f with merge 7935f0d0b5692114ef8ca740d92f385c3393c837...

:sunny: Test successful - status-travis
Approved by: whitequark
Pushing 7935f0d0b5692114ef8ca740d92f385c3393c837 to master...


adding known issues

https://github.com/istio/istio.github.io/issues/643

Jenkins job istio.github.io/presubmit passed

Jenkins job istio.github.io/presubmit passed

Jenkins job istio.github.io/presubmit passed


FullTick module ( GUI ) for Linux OS.

The fulltick dynamic module for simple-lang is a port of the fltk C++ gui library.  To build the dynmic module it has to be compiled against the simple.so and the fltk shared library

Author : @Youngestdev
So how do we accomplish this ? I have fltk installed in my OS.

Author : @iamcoderisk
How far have you gone with it?

Author : @Youngestdev
Well, real progress will start next week 😎.
On Sun, Jun 10, 2018, 12:15 Prince E. Darlington<EMAIL_ADDRESS>wrote:

How far have you gone with it?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/simple-lang/modules/issues/3#issuecomment-396040842,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AdkrjwKaOXcaW83SD5j9GW-Pd3iJx3eCks5t7P_kgaJpZM4UYS-a
.

Author : @Youngestdev
There's a  new update. It's been fixed already and currently undergoing further testing. Cheers :tada:

To build the fulltick GUI module for linux, the libfltk library will have to be built from source as a shared library instead of static. The following step will successfully build the module

Building the libfltk as shared library

./configure --enable-shared
sudo make
sudo make install

then the lib fltk should be installed on the system as a shared library rather than a static library and can be statically linked during compilation.
The next step assume you have already have simple-lang installed on your linux. If you have installed simple-lang from source the simple.so will be visible in the default /lib/ or /usr/local/lib to compilers and linker using the -L flag e.g -Lsimple.so and can be linked for compilation.

Build the fulltick.so dynamic module for simple-lang

cd simple/modules/dynamic_modules/fulltick
g++ -shared -I/usr/local/include -I/usr/local/include/FL/images -fvisibility-inlines-hidden -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D_REENTRANT -o 'fulltick' './fulltick.cpp' './fulltick_delegate.cpp' /usr/local/lib/libfltk.a -lpthread -ldl -lm -lX11 -Lsimple.so
sudo install fulltick.so $(DESTDIR)$(PREFIX)/simple/$(VERSION)/modules/modules/dynamic_modules/

NOTE : You might need to put the last line in a make file for efficiency or you can review the location of the previously installed dynamic module [sudo find -name archiver.so] and simply copy the fultick.so module to same folder. Or just execute the makefile in the simple/modules/dynamic_modules/fulltick directory

Build the fulltick.so dynamic module for simple-lang with make file

cd simple/modules/dynamic_modules/fulltick
sudo make -f Makefile-Linux.mk

You can try one of the GUI examples to confirm the fulltick module installation

Well, this isn't working because an error occurs after running the examples.
simple: symbol lookup error: /simple//s0.3.34/modules/dynamic_modules/fulltick.so: undefined symbol: XFixesQueryExtension

I'm still trying to figure out what the problem is.

simple: symbol lookup error: /simple//s0.3.34/modules/dynamic_modules/fulltick.so: undefined symbol: XFixesQueryExtension

should be resolved by installing libX library family. Use the command bellow to install libX on the machine

sudo apt-get install libx11-dev

usually the error should disappear after successfully installing the libX.
If it still persist run the ./configure file in the fltk-source on your machine to detect the missing library then the library should be install using apt-get

I'll just try it and see.

I've fixed it. The problem was that some flags needed for full fltk support for simple weren't added in the makefile so I added them . I'll commit soon.

Wonderful!! Bravo man...
On Jun 30, 2018 11:17 AM, "Abdulazeez Abdulazeez Adeshina" <
<EMAIL_ADDRESS>wrote:

I've fixed it. The problem was that some flags needed for full fltk
support for simple weren't added in the makefile so I added them . I'll
commit soon.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/simple-lang/simple/issues/16#issuecomment-401531867,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOiL3Gd3rTAbif9suVxOIvNfiYP5O6euks5uB1BUgaJpZM4Uum-a
.


scrollTop problem?

Hi, i've tried velocity and it works great!
I think there's a problem with scrollTop property.
jQueryElement.velocity({scrollTop:'+=300'}, 400); -> it doesn't work
jQueryElement.animate({scrollTop:'+=300'}, 400); -> it works

Can you please create a JSFiddle recreating the issue using our template, which is available here:
http://jsfiddle.net/65xCP/4/
Once I can view the reduced test case, I can more effectively isolate and address your issue.


[0.3.9] Error retrieving resource lock kube-system/plndr-cp-lock

Describe the bug
A clear and concise description of what the bug is.
After update to v0.3.9 control-plane vip went unreachable und kube-vip try to lookup kubernetes svc via outside cluster dns
E1014 21:49:30.912767       1 leaderelection.go:322] error retrieving resource lock kube-system/plndr-cp-lock: Get "https://kubernetes:6443/apis/coordination.k8s.io/v1/namespaces/kube-system/leases/plndr-cp-lock": dial tcp: lookup kubernetes on <IP_ADDRESS>:53: no such host
E1014 21:49:32.071832       1 leaderelection.go:322] error retrieving resource lock kube-system/plndr-cp-lock: Get "https://kubernetes:6443/apis/coordination.k8s.io/v1/namespaces/kube-system/leases/plndr-cp-lock": dial tcp: lookup kubernetes on <IP_ADDRESS>:53: no such host
E1014 21:49:33.615865       1 leaderelection.go:322] error retrieving resource lock kube-system/plndr-cp-lock: Get "https://kubernetes:6443/apis/coordination.k8s.io/v1/namespaces/kube-system/leases/plndr-cp-lock": dial tcp: lookup kubernetes on <IP_ADDRESS>:53: no such host

Expected behavior
A clear and concise description of what you expected to happen.
control-plane vip should be reachable after patch update
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS/Distro: [e.g. Ubuntu 1804] Ubuntu 20.04.3 LTS
Kubernetes Version: [e.g. v.1.18]  v1.21.5+k3s2
Kube-vip Version: [e.g. 0.2.3] 0.3.9

Kube-vip.yaml:
If Possible add in your kube-vip manifest (please remove anything that is confidential)
apiVersion: apps/v1
kind: DaemonSet
metadata:
  creationTimestamp: null
  name: kube-vip-ds
  namespace: kube-system
spec:
  selector:
    matchLabels:
      name: kube-vip-ds
  template:
    metadata:
      creationTimestamp: null
      labels:
        name: kube-vip-ds
    spec:
      containers:
      - args:
        - manager
        env:
        - name: vip_arp
          value: "true"
        - name: vip_interface
          value: eth0
        - name: port
          value: "6443"
        - name: vip_cidr
          value: "32"
        - name: vip_leaderelection
          value: "true"
        - name: vip_leaseduration
          value: "5"
        - name: vip_renewdeadline
          value: "3"
        - name: vip_retryperiod
          value: "1"
        - name: vip_ddns
          value: "false"
        - name: cp_enable
          value: "true"
        - name: cp_namespace
          value: kube-system
        - name: svc_enable
          value: "false"
        - name: vip_address
          value: <IP_ADDRESS>
        image: plndr/kube-vip:v0.3.8
        imagePullPolicy: Always
        name: kube-vip
        resources: {}
        securityContext:
          capabilities:
            add:
            - NET_ADMIN
            - NET_RAW
            - SYS_TIME
      hostNetwork: true
      nodeSelector:
        node-role.kubernetes.io/master: "true"
      serviceAccountName: kube-vip
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/master

Additional context
Add any other context about the problem here.

I had the same issue and found the same fix in the original pull request.  The documentation has not been upgraded to cover 0.3.9 as of yet.
https://github.com/kube-vip/kube-vip/pull/285

I had the same issue and found the same fix in the original pull request. The documentation has not been upgraded to cover 0.3.9 as of yet.
#285

This is also missing in the rendered manifests here: https://github.com/kube-vip/kube-vip/blob/main/docs/manifests/v0.3.9/kube-vip-arp-ds.yaml

This is stale at this point.


Errors seen in rancher logs when group memberships are refreshed on a rancher upgrade

Rancher Server Setup

Rancher version: v2.5.14 upgraded to v2.6-head
Installation option (Docker install/Helm Chart): Docker install

If Helm Chart, Kubernetes Info: k3s
Cluster Type (RKE1, RKE2, k3s, EKS, etc):
Node Setup: 1 node
Version: v1.21.3+k3s1

Proxy/Cert Details: self-signed

Information about the Cluster

Kubernetes version: v1.20.15
Cluster Type (Local/Downstream): Downstream infrastructure provider 3 worker, 1 etcd, 1 cp
RKE1

Describe the bug
Refreshing the group memberships of the users, returns an error when azure AD auth is enabled.
To Reproduce

Install rancher v2.5.14
Enable azure AD auth
Login as users from azure AD and create a few downstream clusters
Upgrade the rancher server to the latest v2.6 head version
Refresh group membership from Users and auth >> Users >> Refresh group memberships or from Users and auth >> groups >> Refresh group memberships

Result
Verify the rancher logs and notice the following error logs:
2022/06/23 00:16:17 [ERROR] Error refreshing token principals, skipping: graphrbac.UsersClient#Get: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="Unknown" Message="Unknown service error" Details=[{"odata.error":{"code":"Request_BadRequest","message":{"lang":"en","value":"Bad request. Please fix the request before retrying."}}}]

Expected Result
No error logs
Additional context
Does not happen on a fresh install of rancher on v2.6-head and azure AD enabled.

Verified on rancher upgraded from v2.5.15 >> v2.6-head 07ee596 and fresh install v2.6.7-rc2
Enabled azure AD >> Added two groups from Users & auth , groups >> refresh group membership
No error logs seen.


Replace infographic with Fairy's internship project 2015 (Fall)

Deployment 'How-to' infographic has been updated by Fairy Bui with results from her interviews with past deployments.

@aronasorman Will you review?

Wahoo! Will review tomorrow morning.
On Mar 1, 2016 5:32 PM, "Elizabeth Vu"<EMAIL_ADDRESS>wrote:

@aronasorman https://github.com/aronasorman Will you review?
—
Reply to this email directly or view it on GitHub
https://github.com/fle-internal/fle-home/pull/298#issuecomment-191009934
.

I copy/pasted the html output provided to me by Piktochart.  I can stylize it if you give me some guidance @aronasorman

Will clean up with @jeepurs tomorrow.


Fixed small issue where it referenced your other package

Thanks Eric, I just noticed that as well :) The horrors of using another README as a basis for this one.


.Map doesn't 'honor' previous config settings - like .ConstructUsing...

Hi,
I have something like:
TypeAdapterConfig<IEntity, EntityViewModel>.ForType() //.NewConfig()
    .ConstructUsing(entity => Container.Resolve<EntityFactory>()(entity)); // a bit simplified
    // .Map ... (I uncomment this to get the issue)
TypeAdapterConfig<EntityViewModel, IEntity>.ForType() //.NewConfig()
    .ConstructUsing(x => null)
    .Ignore(props);

...defined for all my view models/entity combinations.
(I'm using ConstructUsing to avoid 'no default constructor' exception and also provide .ctor for deep hierarchy mappings - which is another issue I have)
but when I add (uncomment)
.Map(dest => dest.SomeCollectionProperty,
    src => src.SomeCollectionProperty.Select(x => Container.Resolve<PropertyViewModelFactory>()(x)).ToList())

...I'm again getting exceptions that PropertyViewModel doesn't have default .ctor (even though I have ConstructUsing defined, for that VM/entity, above that line, if order is of importance I guess not).
I traced this to BaseAdapter and var constructUsing = arg.Settings.ConstructUsingFactory?.Invoke(arg); which is 'null' regardless of what I have specified.
Seems like I'm not actually setting the right configuration, or not the 'global one' ? not sure.
And as to 'why' I'm doing the .Map in the first place,
I did try just to let 'deep mapping' work itself but I'm getting various issues when mapping IEnumerable -> List properties. Most notably that about 'modifying the underlining collection' (mentioned here but that fix, I have the latest code and version, doesn't work for me, or I can't actually apply that to my code). I tried tracking that but that only gets me to that expression factory  and not sure how to get any sensible info out of that, so I gave up (for now) trying to do the proper 'deep' mapping - instead I figured I could manually specify mapping for some of the problematic list / collection properties - and then I ran into the above problem.
Any suggestions are welcome!
Thanks

Mapster should perform 'deep mapping' by default. I wasn't understand entirely about the issue. But .Map(dest => dest.SomeCollectionProperty,  src => src.SomeCollectionProperty.Select(x => Container.Resolve<PropertyViewModelFactory>()(x)).ToList()), seemed like it is duplicate with what Mapster does. At this point, Mapster doesn't use value you suggest, Mapster will create new list and create new PropertyViewModel for each item (and traverse through all children of PropertyViewModel) in order to perform deep mapping. .
If you wouldn't like Mapster to create new object for properties, you can set ShallowCopyForSameType to true.
Another option is remove above .Map setting and add TypeAdapterConfig<SomeProperty, PropertyViewModel>.NewConfig().ConstructUsing(src => Container.Resolve<PropertyViewModelFactory>()(src)) in order to tell Mapster how to create PropertyViewModel properly.

Hi,
Thanks a lot for your response,
that actually helped me set up things properly (and solve the issue).
What you said that .Map is duplicate - it actually was in many ways.
I didn't realize that the .Map is not actually a projection, and my map (src expression part) was wrongly returning the destination property - and map was then performed on VM --> VM not entity -> VM - which wasn't registered and was failing (and that behaved like .Map not honoring my previous configuration setup). I've figured that after some more debugging through your source code and watching your argument/context variables there (source code was invaluable).
I.e. if I had .ConstructUsing defined (as I have), my Container.Resolve<PropertyViewModelFactory> ()(x) was then redundant and actually just making problems.
Anyhow TL;DR - as soon as I removed that and just made simple proper map, I realized where 'deep hierarchy' was failing (in my code, hierarchy mapping is somewhat tricky done this way that I want, with custom DI and all, and wasn't set up properly but before that point I wasn't sure what / where to look for),
and now 'deep hierarchy' 'just works' on its own - like you said it should.
I guess I just needed some reassuring :)
And in the end everything seems to be just fine with Mapster - except that .Map isn't 'intuitive' enough to me at least (and that's the only question that remains unclear to me, that is how to define the full conversion, projection from entity to VM if needed to be fully custom - .Map just matches properties). If you need me to clarify let me know - but not that important, my main problem and more is solved now and I'm a happy man:)
Thanks a lot and sorry for bothering you -
P.S. btw. if it's not an 'issue' but more a question where should I post things? here or Stackoverflow ? are you monitoring that?

You can suggest idea if things don't make sense. Map is to map a property. If you would like to control your own mapping you can use MapWith.
You can post issues here. I haven't monitor Stackoverflow.

all is fine, thanks!
when I learn Mapster code a bit more I may have some suggestions (if there is a need).


Fixed disabled issue when using altInput

This fixes the following bug.

Use the altInput flag in the configuration.
Disable the main input
The calendar will still open even though the main input is disabled.

The reason for this is simple. Your check for disabled input checks if the altInput exists and uses it over the main input for the disabled flag. This would work fine if the altInput would clone the disabled property from the main input, but it does not. Because of this, disabled inputs do not work when using the altInput = true flag. This fixes that problem.

Coverage remained the same at 89.26% when pulling eecac0f98181b57e7a4c4b68eb797581a33cbf71 on travist:master into 1032ae23271428fa41a6f8ee96410933532fdb6b on chmln:master.


Obtain IP Address: Failed (FW 900)

Setup:
VM: Ubuntu 20.04.6 LTS
Hypervisor: ESXi 7.0.3
Connected to Unifi switch with all VLANs allowed between hypervisor and switch.
Both PS4 and VM are assigned to the same VLAN.
Output from linux shell:
[+] PPPwn - PlayStation 4 PPPoE RCE by theflow
[+] args: interface=ens160 fw=900 stage1=stage1/stage1.bin stage2=stage2/stage2.bin
[+] STAGE 0: Initialization
[] Waiting for PADI...
[+] pppoe_softc: 0xfffff8dc08169800
[+] Target MAC: (redacted)
[+] Source MAC: 07:98:16:08:dc:f8
[+] AC cookie length: 0x4e0
[] Sending PADO...
[*] Waiting for PADR...
PS4: Obtain IP Address    Failed
Willing to provide additional information upon request.

Ignore the error on the ps4 and just let the exploit run.

That's as far as it gets. "Waiting for PADR" is the last step and then it just sits there indefinitely.

have you tried different ethernet cables?

Thank you for the suggestion but the cables are good.

Do you have DHCP enabled in Windows?

Do you have DHCP enabled in Windows?

In this scenario there are no Windows machines are involved. As a reminder, the hypervisor is ESXi which is a type 1 hypervisor. Communication should be between the PS4 and the linux VM.


Question: Name of chunkFiles

Hi,
after I have upgraded from v4 to v5 I can see that my chunfiles have been renamed and now containing their relative path.
e.g. Vendor-chunk-Name

on v4: vendors~site.js
on v5: vendors-node_modules_jquery_dist_jquery_js.js

Since I did not make any other configuration my assumption is that this is due to the upgrade of webpack. My build-tools actually rely on the ~ in the name, so is there a way to revert to the old naming?

I have a similar problem with name of chunkFiles. In webpack 4, my chunk filenames starting in order from 2, 2.hash.chunk.js etc. In webpack 5 it has random numbers 474.hash.chunk.js, 660.hash.chunk.js. Is it ok?
Webpack config:
optimization: { 	splitChunks: { 		chunks: 'all' 	}, }


internal/cmd/server: health check endpoint

Adds health check endpoint in gRPC server.
Issue:
#163
Test:

Start the gRPC server ./runme server -a localhost:7890
Install grpc-health-probe
Execute command grpc_health_probe -addr=localhost:7890

Response will either be SERVING or NOT SERVING.

@mxsdev this PR is a WIP, I didn't Test it myself, nor write the test cases.
I created this PR to get your input on what should I use in place of parser and runner, is there any method/function in parser and runner files which returns whether the parser and the runner is running/healthy?

@MusabShakeel576
Thanks for working on this! Looks good so far :)
Currently, neither the parser nor the runner block on anything for setup, nor have any globally persistent state. Basically, they are 100% initiated by the client. I think that they will work as long as the parent gRPC server is ready and listening.
So, I guess we can just assume they are operational and flatly return SERVING for now, noting that we might need to add more logic to the health check if things get more complex. cc @adambabik
I will take more of a look/do tests first thing tomorrow. And thanks again for contributing!

@mxsdev OK, I'll just return SERVING, and add the test cases.

So, I guess we can just assume they are operational and flatly return SERVING for now, noting that we might need to add more logic to the health check if things get more complex. cc @adambabik

+1 Returning a healthy status without any additional logic is totally fine and common practice if the service has no dependencies.

@mxsdev I searched into the repo and didn't find the unit test file for /internal/cmd/server.go, isn't there the test file for this and other few files?
Btw I think I also need to update /examples/grpc-client to add the health check, or is it fine?

@MusabShakeel576
We currently don't have a unit for server.go, since we would need to mock a lot of things (cobra, grpcServer, etc). I think we'd rather pull an integration test at some point.
Currently we are using examples/grpc-client as a kind of integration test. So yeah, if you would be willing to add a check in there for health (return an error if health check is not serving or server is down) that would be great!

@mxsdev alright.
Sure, I'll try to add the check in examples/grpc-client.

@mxsdev no problem.
serviceConfig does this automatically. If you try to change SERVING to NOT_SERVING, it'll throw the error and will be caught at grpc/client Execute(). Correct me if I'm wrong.

@MusabShakeel576
From my tests, I get the following log:
2023/03/03 14:25:12 ERROR: [core] [Channel #1 SubChannel #2] Subchannel health check is unimplemented at server side, thus health check is disabled

But this error does not come from client.Execute(), it is from an internal logger. So, I think a manual check is necessary to give a non-zero exit code from the grpc-client.
Lmk if you have different results than I did :)

@mxsdev hmm, which command do you use to run it. I'm receiving the following result:
error: failed to call Execute(): rpc error: code = Unavailable desc = last connection error: connection active but health check failed. status=NOT_SERVING
exit status 1

@MusabShakeel576
Your error message happens when the status endpoint exists but is not SERVING. My error message happens when the server doesn't implement the endpoint at all.
I think I would just prefer to have one explicit check, to deal with any other cases we don't know of, and so that it's extremely clear to a future developer on the project why the client fails due to to health check. Better to be explicit than implicit, no?
No problem keeping the existing serviceConfig stuff though 👍

@mxsdev sure, I'll try to register a new health client.

@mxsdev implemented the health client, lmk if the message in your terminal/log is looking fine.

@MusabShakeel576
Hey, sorry for getting sidetracked!
I did look into this on Monday and yesterday, the only thing a this point is that we'll need is typescript definitions for the health protos. I was trying to figure out how to get them to bundle as part of the proto/generate script from the official health.proto files
The code is fine, I just need to figure out how to get that to work and then I'm happy to merge 👍

@mxsdev no worries.
Sure, take your time.

@adambabik sorry to bother you again, but I'm trying to have the health.proto file bundled as part of the buf package. I see you imported this:
"google/protobuf/wrappers.proto"
But I don't know where that file is being resolved from? If you could just point me in the right direction here that would be massively helpful :)

@mxsdev google/protobuf/wrappers.proto is something called a well-known type and buf handles it transparently. If you install protoc manually it is included in /path/to/protoc/include or similar.
health.proto source code is located in grpc/grpc, but it is also present in Buf Registry. What you want to do is basically generate stubs only for that file. I imagine it should be possible using buf but I don't know how. Maybe try asking on their Slack or other community forum? I would love to learn how to do it, too :)
Alternatively (temporarily), you can copy this proto file into ./internal/api/grpc/health/v1/health.proto and the stubs should be generated as they are for the existing proto files.

@adambabik Oh my god, I did not realize it was on the buf registry! I tried to look under the google org and could not find it.
Thank you !!!!

@adambabik
Asked on the slack and there is an --include-imports flag on buf generate, which bundles all imports. That pretty much solves the problem, though I have no idea if they will still be included as part of the bundle on buf push?

Asked on the slack and there is an --include-imports flag on buf generate, which bundles all imports.

That's nice 👍 Interesting if it's possible to limit the imports using --exclude-path 🤔

OK, figured it out for real - https://github.com/stateful/vscode-runme/pull/291.

Turns out buf generates typescript definitions not just for projects that have it enabled, but for all projects, including the grpc healthcheck module.

That's even nicer! It's exactly the same what we do for runme's protos, just pointing at the different package. 👏


*: upgrade to gopkg.in/yaml.v3

https://godoc.org/gopkg.in/yaml.v3 is now available: https://blog.ubuntu.com/2019/04/05/api-v3-of-the-yaml-package-for-go-is-available.
Here's an issue for tracking the upgrade, and any changes required to perform it.

We could also likely simplify things a bit. I'd suggest starting with a
simpler repo, like say blackbox or SNMP.
On Tue 9 Apr 2019, 15:32 Simon Pasquier<EMAIL_ADDRESS>wrote:

See also #21 https://github.com/prometheus/prometheus/issues/21
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/prometheus/issues/5435#issuecomment-481277097,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGyTdpGup9f5bZCi2g7hceta3-SLQ1nuks5vfKRugaJpZM4cfa2O
.

It appears that this may not have strict unmarshalling, and also Cortex ran into issues that we'll run into ourselves - so both need to be resolved before we go further.


Boost removal

Removing boost for users of the library. This will ease the burden of integration. Contributors still need to install boost in order to run the core tests.

Please, merge this.


add support for floating point numbers in pool max

Users can now enter floating point numbers in the max pool size
parameter. For example, ".75 TB" will now work. Also, if the user's
input could not be parsed, the program now issues a more verbose error,
basically reflecting the comment above the method.

LGTM. Thanks Danilo!


[New Feature]: Support classes for colors

Describe your proposal
In my project I use tailwind which supports theme-based color classes like this
<div class="bg-red-500 dark:bg-red-100">

This applies a medium red background color when in light mode, and a light red color when in dark mode. I would love the ability to do set the item colors using these classes.
<UsageBar
  items={[
    { name: "macOS", value: 1, class: "bg-blue-500 dark:bg-blue:100" },
    { name: "Debian", value: 1, class: "bg-red-500 dark:bg-red:100" },
  ]}/>

Technical details
No response
Code of Conduct

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

That's a great idea!
Tailwind is being used more and more and a feature like that can open the door to other users like you.
I'll integrate this one in the next release, which will also include the other bug you brought up (#14).

Fantastic! Thank you

Items background colors (and general style) can now be customized with Tailwind (and/or custom) css classes! 🎉🎉
I've expanded your proposal to cover also the customization of other elements of the components. You can find all the details in the README.
Thanks again for the great idea and the feedback on #14!


Zeroing out operator

This PR will hopefully begin to build custom boundary conditions operator.
Currently have added:

zero_point_op(s::IndsNetworkMap, xs::Vector, dimension::Int) (feel free to suggest a better name) - This operator generates (1-\sum_xp delta(x-xp))f(x) which will zero out all points xp in xs

@ryanlevy thanks for this this will be super helpful.
I think we should change the example to a test which constructs some functions and checks these zero operators correctly map them? It could either be added to test_operators or a separate test?

 So I imagine the following scenarios:

I want to make a function that is a single point (currently delta_xyz)
I want to make a function that is a plane (currently ~ const*const_plane_op)
I want to make a plane operator from a delta functions (O = delta(x)* 1_y * 1_z)
I want to sum up a series of planes (O = delta(x) + delta(y)) or series of points
I want to sum up a series of points (O= delta(r - p)+delta(r-p))

Then we have as input Vector[Vector] and the corresponding dimensions Vector[Vector]. I think that should include all of these, where the first two would be Vector[Array{Number,1}], The second Vector[Array{Number,dim}]. And could write functions that conveniently slice the above into nicer interfaces if needed. Particularly in the last scenario, we want to include if there should be an identity and a sign/coeff (i.e. 1-operators or operators). I am inclined to leave the BC function out of all this and just build in a more robust delta setup also.
Then move delta_xyz to something like running over dimension_vertices(s, dim) instead of everything
What do you think?

Yeah I totally agree that we should do it all by interfacing off of the delta_xyz function. Then all of those scenarios should be possible.
I think all we actually need to do is "elevate" the delta function a bit to make this work. At the moment it relies on you specifying a single point xs in the full d dimensional space where d = dim(s::IndsNetworkMap)
We could define the following
"Create prod_{x \in xs}\delta(x)"
function delta_xyz(s::IndsNetworkMap, xs::Vector, dimensions::Vector{Int}; kwargs...)
  ind_map = calculate_ind_values(s, xs, dimensions)
  tn = ITensorNetwork(v -> only(s[v]) in keys(ind_map) ? string(ind_to_ind_value_map[only(s[v])]) : [1.0 for i in 1:dim(only(s[v]))], indsnetwork(s))
  return ITensorNetworkFunction(tn, s)
end

this would create the same delta function as before if you specify a single point in the full d dimensional space but if you specify, say, xs = [x], dims = [1] and s is a 2D IndsNetworkMap then it will gives you a slice of the two dimensional plane.
With this function and operator_proj all of the funcionality you describe in the bullet points above can be built with very minimal code.

Thanks to our discussion, I've implemented a generalized delta_xyz which can arbitrarily make points or lower dimensional structures (lines, planes). Then there's a new function delta_kernel, which map_to_zero/const_plane_op is now a wrapper for, which does the logic of adding/subtracting the correct delta functions to create what you want.
So for example, in 3D:
Zo = ITensorNumericalAnalysis.delta_kernel(
  s,
  [[0], [0,0 ]],
  [[1], [1, 2]];
  remove_overlap=true,
  coeff=-1,
  include_identity=true,
  promote_operator=true,
)

The two delta functions are a plane at x=0 (running over y,z) and a line at (0,0) (running over z). They intersect at a point which is properly removed. Likewise for [[0],[0]]], [[3],[1]], planes at z=0 and x=0, the intersecting line is taken care of.
TODO, maybe in the future is to make the coeff more general for heterogeneous BC conditions


Feature Request: 32bit OS support

Please support 32bit windows OS again. I use windows 10 32bit for downloads to a NAS.

No, TL uses libraries that are not available in 32 bit anymore and that's a good thing. Why would you install Windows 10 32 Bit in 2019? There is no reason to do so. Apple deprecated 32 bit apps, Google does not want new apps in 32 bit, nobody needs 32 bit.

It came with Windows 10 32 Bit pre-installed.

In 2019 I call that "screwing over the customer". Should not be a thing anymore to be honest.
What NAS is that if I may ask? NAS + Windows is a very uncommon package in the prebuilt NAS world. And a NAS with a max RAM size of 3.5GB (because 32 bit) is another failure.
But all the bla aside, it doesn't change the fact that TL won't come back to 32 bit, sorry.

I bought it in 2017.
The NAS isn't windows, it's running some flavor of linux. A WD Mycloud. I'm using a win10 2in1 for downloading.

I misread your first post... you're downloading TO a NAS..... now I get it, sorry. But even every cheap 2in1 since 2014 or even earlier has a 64bit CPU in it.  Let me guess.... that 2in1 has 4gb of ram and you can only use 3.5gb of it because of the OS, right? 😄
But like I said... can't help... the show must go on, cannot stick to the past forever.


get tagged not working, get user alternative

    var feed = new Instafeed({            get: 'tagged',            tagName: 'bavet',            clientId: 'clientidhere',
this does not work anymore... What is the correct way to get data from a user profile?
When I try this, i get an error: Uncaught Error: No user specified. Use the 'userId' option.
    var feed = new Instafeed({            get: 'user',            userId: '2165473687',            clientId: 'clientidhere',
How do I get this working?? I really don't find it anywhere

This is one of the use cases killed by the new API changes. Fetching posts by tag is not allowed by "Sandbox mode." Your app would require permissions that are walled off by the submission process, which only allows apps that feet a very very limited range of uses. Also note that the new restrictions only allow you to access the last 20 posts, so the best you'll be able to do is probably use the filter: option to pick out the ones tagged from just those 20. Sorry to be the bearer of bad news.

It seems that even on "Live mode" you can't. This was completely removed, right?

You should be able to do it in live mode. I'm not aware of them removing that endpoint. And technically you can do it in Sandbox mode but in such a narrow way that it's not really useful in most situations. Here's a more thorough explanation: https://css-tricks.com/everything-need-know-instagram-api-integration/#instagram-api-how-to-2-no-tags


Fix failing client system spec due to verification of toastr message

Description

Toastr messages can't be verified in capybara. It becomes flaky as they run on the browser.

Toaster takes some time to load in headless chrome, add a 1-second delay sleep(1) to wait for the element to load and this will fix the failing tests.


Document 5.11 breaking changes (moving of files)

Type of issue
bug
Uploader type
traditional
Bug details
Fine Uploader version
5.11.2
Browsers where the bug is reproducible
n/a
Operating systems where the bug is reproducible
all
Exact steps required to reproduce the issue

Existing code references node_modules/fine-uploader/jquery.fine-uploader/jquery.fine-uploader.min.js
Upgrade to FU 5.11.2 (possibly any 5.11.x)
File now 404's

All of your Fine Uploader initialization JavaScript code
Reference in HTML template:
<script src="node_modules/fine-uploader/jquery.fine-uploader/jquery.fine-uploader.min.js"></script>
Detailed explanation of the problem
This is a combination of an undocumented/breaking change combined with npm's lax version pinning by default.
My package.json contained a caret instead of a tilde:
  "dependencies": {
    "fine-uploader": "^5.1.3"
  },

On Travis CI this leads to npm fetching the latest available version, which is now 5.11.2. My tests are failing because the file can no longer be found.
Fixed on my end by pinning the version to 5.1.x (yes, I need to upgrade), but a note or maybe even a 'big' version bump would be nice.

This looks like a bug in the build process, there were no intended breaking changes, and I'm very careful to not make any breaking changes without a major version bump, following the semantic versioning spec.
Looking closer, the originally included jQuery bundles are missing, other than the source maps (which are new). I completely rewrote the build code in 5.11.0, so this looks like a regression. I'll look into this further and push out 5.11.3 once its fixed.
Though I would never intentionally introduce a breaking change without a major version bump, and this issue will be scheduled for a hotfix release, there isn't really any benefit to using Fine Uploader's jQuery wrapper, and you're probably better off using the non-jQuery wrapper version anyway.

Thanks for the quick reply - I wasn't sure if it was intentional or not, but at least we have CI's that cover our asses :-) It's not really affecting me other than that my build unexpectedly broke.
I know that the jQuery wrapper versions are things that shouldn't be used anymore, and I'm excited to upgrade to 5.8+ to be able to use ES6 imports. As with many things, there is legacy code that should be tackled some day.

Regression caused by incorrect naming of the jQuery minified and unminified artifacts generated by the new Makefile build recipes - https://github.com/FineUploader/fine-uploader/blob/5.11.0/Makefile#L242. Once I fix these, the issue should be resolve. The Azure & S3 builds do no suffer from this issue - it's specific to the traditional endpoint build.

ugh, still missing from the zip files, though npm is fixed. I can't wait to remove the jQuery wrappers in 6.0.
I'll have to fix this and push out 5.11.4. Completely forgot to verify the zip files before 5.11.3 was released.

Fixed in 5.11.4.


Fix generated times to be between specified min and max when local ti…

…me is not UTC.

Just saw the previous pull request fixing the same issue, although quite old. Any thoughts on when it might be merged?

Sorry for the delay, this has now been fixed in the latest version 2.0.0


Help understanding script to [Convert per-user MFA enabled and enforced users to disabled]

Hi Everyone, @andrewbeaumont , @MicrosoftGuyJFlo
I am in the process of moving from Per-User MFA to CA MFA and I need to disable all users in Per-User MFA.
Looking at this script I don't quite get what this section is doing:
`Process {
        Write-Verbose ("Setting MFA state for user '{0}' to '{1}'." -f $ObjectId, $State)
        $Requirements = @()
        if ($State -ne "Disabled") {
            $Requirement =
                [Microsoft.Online.Administration.StrongAuthenticationRequirement]::new()
            $Requirement.RelyingParty = "*"
            $Requirement.State = $State
            $Requirements += $Requirement
        }
        Set-MsolUser -ObjectId $ObjectId -UserPrincipalName $UserPrincipalName `
                     -StrongAuthenticationRequirements $Requirements`

Hope someone would be able to explain?
Many thanks e obrigado!

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

ID: 4cb129d2-9594-bf0c-5946-982f0ed0d888
Version Independent ID: 6522b038-6853-3552-55c8-f174cf56573d
Content: Enable per-user Multi-Factor Authentication - Microsoft Entra
Content Source: articles/active-directory/authentication/howto-mfa-userstates.md
Service: active-directory
Sub-service: authentication
GitHub Login: @Justinha
Microsoft Alias: justinha

@ii-batman
The mentioned section of the script is responsible for setting the MFA state for a user in Azure Active Directory (AD). Let's break down what it does:
The Process block indicates that this is part of a PowerShell script, and this block will be executed for each object processed.
The Write-Verbose line is used to display a message indicating that the MFA state is being set for a specific user. This is helpful for providing additional information during script execution when the verbose mode is enabled.
The script initializes an empty array called $Requirements that will store the MFA requirements for the user.
If the desired MFA state is not "Disabled", meaning MFA should be enabled for the user, the script creates a new StrongAuthenticationRequirement object. This object represents the requirements for MFA.
The RelyingParty property of the StrongAuthenticationRequirement object is set to "*" to indicate that MFA should be applied to all relying parties (applications or services).
The State property of the StrongAuthenticationRequirement object is set to the desired state (e.g., "Enabled") to indicate that MFA should be enabled for the user.
The created StrongAuthenticationRequirement object is added to the $Requirements array.
Finally, the Set-MsolUser cmdlet is used to update the MFA settings for the user. It takes the user's object ID ($ObjectId), user principal name ($UserPrincipalName), and the $Requirements array as input parameters. This cmdlet applies the MFA requirements specified in the $Requirements array to the user.
In summary, this section of the script creates a StrongAuthenticationRequirement object with the desired MFA state and sets it as the MFA requirement for the user using the Set-MsolUser cmdlet.

Hi @AjayBathini-MSFT
Really appreciate you took the time.Thank you so much.
My end goal is to simply disable all users in Per-User MFA console and start using Conditional Access and CAP to enforce MFA for all users.
Now that you have explained the script I understand that the function Set-MfaState has 3 x options for $state:
[ValidateSet("Disabled","Enabled","Enforced")]
        $State

The process block will engage if the state selected is NOT disabled
if ($State -ne "Disabled")
then
Set-MsolUser -ObjectId $ObjectId -UserPrincipalName $UserPrincipalName `
                     -StrongAuthenticationRequirements $Requirements

Otherwise simply disable all MfaState for all users:
Get-MsolUser -All | Set-MfaState -State Disabled
I can see now that I can run this script and all my users will be set MfaState == Disabled.
Will this also catch the Global admins or are they enabled MFA by default?

@ii-batman By default, Global administrators in Microsoft 365 are not automatically enabled for Multi-Factor Authentication (MFA). However, it is considered a best practice to enable MFA for Global administrators to enhance the security of administrative accounts.
When you run the script Get-MsolUser -All | Set-MfaState -State Disabled to disable MFA for all users, including Global administrators, the Global administrators will also have their MFA state set to "Disabled" unless they were already manually enabled for MFA.
If you want to ensure that Global administrators have MFA enabled, you can modify the script to include an additional condition to enable MFA for Global administrators. Here's an example:
$allUsers = Get-MsolUser -All foreach ($user in $allUsers) { if ($user.UserPrincipalName -like "#EXT#") { # Skip external users if needed continue }
$objectId = $user.ObjectId
$userPrincipalName = $user.UserPrincipalName

if ($user.IsLicensed -and $user.IsLicensed -eq $true) {
    # Enable MFA for Global administrators
    Set-MsolUser -ObjectId $objectId -UserPrincipalName $userPrincipalName -StrongAuthenticationRequirements @()
} else {
    # Disable MFA for other users
    Set-MsolUser -ObjectId $objectId -UserPrincipalName $userPrincipalName -StrongAuthenticationRequirements $null
}

}
In this modified script, MFA will be disabled for all users except Global administrators who have a valid license. For Global administrators, the Set-MsolUser cmdlet is called with an empty array (@()) for the StrongAuthenticationRequirements parameter, effectively enabling MFA for them.

Brill
Thanks @AjayBathini-MSFT  for your time and patience on this case.

@ii-batman
We are going to close this thread as resolved but if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.

@AjayBathini-MSFT
Hope you are well.
One more question about this script:
As I want to run it to disable MFA in Per-User MFA as I am now using Conditional Access Policies to enforce MFA to all users.
- Will this script remove the authentication methods set on the accounts or just disable the MFA status in Per-User MFA?
Thanks

@AjayBathini-MSFT
Hope you are well.
More question about this script:
As I want to run it to disable MFA in Per-User MFA as I am now using Conditional Access Policies to enforce MFA to all users.

Will this script remove the authentication methods set on the accounts or just disable the MFA status in Per-User MFA?
How can I run the script to disable only one user?

Thanks

@ii-batman
Thank you for your questions.
Regarding your first question, the script provided in the documentation will only disable MFA status in Per-User MFA. It will not remove the authentication methods set on the accounts.
Regarding your second question, you can modify the script to disable MFA for a specific user by adding a filter to the Get-MsolUser cmdlet. Here is an example command that disables MFA for a user with the email address<EMAIL_ADDRESS>Get-MsolUser -UserPrincipalName<EMAIL_ADDRESS>| Set-MsolUser -StrongAuthenticationRequirements @()
This command retrieves the user with the email address<EMAIL_ADDRESS>using the Get-MsolUser cmdlet and pipes the output to the Set-MsolUser cmdlet, which sets the StrongAuthenticationRequirements property to an empty array to disable MFA for the user.
I hope this helps! Let me know if you have any other questions or concerns.