[video_player] the _controller.value.position is wrong?!

Expected results:
The position you get from the controller should be absolute and not wrong. When I checked the position with VLC/WindowsMovieMaker/otherAudioPlayers... its not the same. INFACT when i enter the same position in the _controller.seekTo command... I once again get another position!
Actual results:
When you click on the FAB (in the official example) and pause the video... and you call _controller.value.position.inMilliseconds to get the postion... you get that answer in milliseconds... lets say "x"
Now if you enter that same number in _controller.seekTo( Duration(milliseconds: x))....  you will get a totally different position!?!
So is there  way to get the actual non erroneous position... or may be the frameNumber?
Im working in Flutter 3.3
video_player: ^2.4.8
and platform is WEB,
running it on chrome

Ok... give me a bit... we've actually moved on from there... but I will recreate that junction and post it here
thanks

Sure, kindly update when you do

SO, basically we avoided the package because we couldnt understand the same position had different random values every time we ran the program.
So you could construct a proof out of this dummy code. You could add any video.... and notice the same.

void main() => runApp(const VideoPlayerApp());// MyApp());// const VideoPlayerApp());

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

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Video Player Demo',
      home: VideoPlayerScreen(),
    );
  }
}

class VideoPlayerScreen extends StatefulWidget {
  const VideoPlayerScreen({super.key});

  @override
  State<VideoPlayerScreen> createState() => _VideoPlayerScreenState();
}

class _VideoPlayerScreenState extends State<VideoPlayerScreen> {
  late VideoPlayerController _controller;
  late Future<void> _initializeVideoPlayerFuture;
  TextEditingController mytxtController = TextEditingController();

  @override
  void initState() {
    super.initState();

    _controller = VideoPlayerController.network('https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4');

    _initializeVideoPlayerFuture = _controller.initialize();
    //_controller.setLooping(true);

  }

  @override
  void dispose() {

    _controller.dispose();
    mytxtController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Butterfly Video'),
      ),
      body: Column(
        children: [
          const Text("cHECK!",style: TextStyle(color: Colors.purple,fontSize: 48),),
          FutureBuilder(
            future: _initializeVideoPlayerFuture,
            builder: (context, snapshot) {
              if (snapshot.connectionState == ConnectionState.done) {
                return Container(height:500,
                  child: Padding(
                    padding: const EdgeInsets.all(32.0),
                    child: AspectRatio(
                      aspectRatio: _controller.value.aspectRatio,
                      child: VideoPlayer(_controller),
                    ),
                  ),
                );
              }
              else {
                return const Center(
                  child: CircularProgressIndicator(),
                );
              }
            },
          ),
          TextField(controller: mytxtController,)
        ],
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () async  {

          if(_controller.value.isPlaying){
            await _controller.pause();
            print(_controller.value.position.inMilliseconds);
          }
          else{
            if(!mytxtController.text.isEmpty){
              int gotPosition = int.parse(mytxtController.text);
              await _controller.seekTo( Duration(milliseconds: gotPosition));
              print(gotPosition);
            }
            else{await _controller.play();}
          }

        },
        // Display the correct icon depending on the state of the player.
        child: Icon(
          _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
        ),
      ),
    );
  }
}//xxxxxxxxx

HOW TO CHECK FOR THE DISCREPENCY

Run the program. then press the FAB(for pausing).... In the console you will get the position via the print statement.
Now copy that position and paste it into the textfield.
Next press the FAB(it will seek to that position)... and you will see the difference.

Just keep in mind the FAB click event  cannot play after it is paused... if the textfield has the int value you have pasted in it. The moment it isnt empty... instead of play it will seek.

Hi @YohanWadia, does the video below capture accurately the bug that you're reporting?

recording
https://user-images.githubusercontent.com/88313112/205230641-17265644-5097-4f19-9089-b7eb23a9a73a.mov

@danagbemava-nc ... well done! Yes it does.
For safety... also observe the position on the Android Emulator & Web(Chrome). Its never the same.
I took a sports video and tried to pause the video at a particular point every time... and I rarely got the same numeric position. And I dont mean by a few milliseconds.. I mean enough to differ by a few frames, like the result you just showed.
Im still kinda looking at a way to get the position without such a vast difference in the frames.
thanks,
YOhan

I can reproduce the issue using the code sample provided.
In my case, the frame shift was only after maybe the first 2 clicks/taps, but the position from _controller.value.position was always consistent. It was always whatever value was input into the text field.
Labeling for further insight from the team.

flutter doctor -v
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

void main() => runApp(const VideoPlayerApp());

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

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Video Player Demo',
      home: VideoPlayerScreen(),
    );
  }
}

class VideoPlayerScreen extends StatefulWidget {
  const VideoPlayerScreen({super.key});

  @override
  State<VideoPlayerScreen> createState() => _VideoPlayerScreenState();
}

class _VideoPlayerScreenState extends State<VideoPlayerScreen> {
  late VideoPlayerController _controller;
  late Future<void> _initializeVideoPlayerFuture;
  TextEditingController mytxtController = TextEditingController();

  @override
  void initState() {
    super.initState();

    _controller = VideoPlayerController.network('https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4');

    _initializeVideoPlayerFuture = _controller.initialize();
    //_controller.setLooping(true);
  }

  @override
  void dispose() {
    _controller.dispose();
    mytxtController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Butterfly Video'),
      ),
      body: Column(
        children: [
          const Text(
            "cHECK!",
            style: TextStyle(color: Colors.purple, fontSize: 48),
          ),
          FutureBuilder(
            future: _initializeVideoPlayerFuture,
            builder: (context, snapshot) {
              if (snapshot.connectionState == ConnectionState.done) {
                return SizedBox(
                  height: 500,
                  child: Padding(
                    padding: const EdgeInsets.all(32.0),
                    child: AspectRatio(
                      aspectRatio: _controller.value.aspectRatio,
                      child: VideoPlayer(_controller),
                    ),
                  ),
                );
              } else {
                return const Center(
                  child: CircularProgressIndicator(),
                );
              }
            },
          ),
          TextField(
            controller: mytxtController,
          )
        ],
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () async {
          if (_controller.value.isPlaying) {
            await _controller.pause();
            print(_controller.value.position.inMilliseconds);
          } else {
            if (mytxtController.text.isNotEmpty) {
              int gotPosition = int.parse(mytxtController.text);
              await _controller.seekTo(Duration(milliseconds: gotPosition));
              print(gotPosition);
            } else {
              await _controller.play();
            }
          }
        },
        // Display the correct icon depending on the state of the player.
        child: Icon(
          _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.9, on macOS 13.0.1 22A400 darwin-arm, locale en-GB)
    • Flutter version 3.3.9 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (10 days ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9123335/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

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

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview 2.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9123335/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

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

[✓] Connected device (4 available)
    • M2007J20CG (mobile)    • 5dd3be00                             • android-arm64  • Android 12 (API 31)
    • iPhone 14 Pro (mobile) • 4F72110C-F38B-4CF9-93C4-4D6042148D28 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-1 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 13.0.1 22A400 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 108.0.5359.71

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

! Doctor found issues in 2 categories.

[!] Flutter (Channel master, 3.7.0-2.0.pre.9, on macOS 13.0.1 22A400 darwin-arm64, locale en-GB)
    • Flutter version 3.7.0-2.0.pre.9 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ce94230281 (10 hours ago), 2022-12-01 19:13:07 -0800
    • Engine revision 025aefc7af
    • Dart version 2.19.0 (build 2.19.0-444.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9123335/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

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

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview 2.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9123335/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

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

[✓] Connected device (4 available)
    • M2007J20CG (mobile)    • 5dd3be00                             • android-arm64  • Android 12 (API 31)
    • iPhone 14 Pro (mobile) • 4F72110C-F38B-4CF9-93C4-4D6042148D28 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-1 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 13.0.1 22A400 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 108.0.5359.71

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

! Doctor found issues in 3 categories.

Currently the Dart side is getting position by periodic polling, which causes it to be slightly out of sync with the native side (see https://github.com/flutter/flutter/issues/90114 and https://github.com/flutter/flutter/issues/90080 for other symptoms of this problem).
Long term we need to improve the way we manage position tracking, but shorter term we should include a position update with more calls, including pause which would address the specific issue in this case.

Ok, but I am still looking forward to any solution to get the exact position/frame via this package.

Calling position on the controller should re-fetch the actual position from the native side, rather than using the cached position.

Hi @stuartmorgan,
Ok, this kinda does make sense.
could you explain your last line

Calling position on the controller should re-fetch the actual position from the native side, rather than using the cached position.

So do you want me to again call _controller.value.position.inMilliseconds ? is that what you meant by a re-fetch?

I am referring to using this method instead of value.position.

Yeah you're right... may not be perfect but I cam 99.9% closer! thanks!


Unmapped Currency Symbol Results in Health Check Error and Opportunity Naming Does Not Work

This Issue is related to #2931 but results in slightly different behavior.
Custom Opportunity Names that reference the Amount field do not work when multi-currency is enabled and the Currency Locale is set to a currency that we don't have mapped in UTIL_Currency. The Opportunity saves, but retains the manually entered Name value. It also results in a Health Check error: "Attempt to de-reference a null object", even if all tests have passed. (See screenshot)

Reference: Case 18611153
Cause:
The UTIL_Currency class has a variable called currencySymbols which maps the three letter currency code to its symbol. ILS is not a mapped option, so it returns a null value when called in line 417 of the OPP_OpportunityNaming class.
Steps to Repeat:

Go to Setup --> Company Information, hit Edit, and change Currency Locale to: Hebrew (Israel) - ILS
Check off the "Activate Multiple Currencies" box and hit Save.
Click the Currency Setup button.
In the Active Currencies section, click the New button and add USD.
Go to NPSP Settings --> Donations --> Opportunity Names and click the New Opportunity Name button.
Choose the following values:
-- Attribution: both
-- Opportunity Record Types: Donation
-- Opportunity Name Format: {!Account.Name} {!Amount} {!RecordType.Name} {!CloseDate}  [Or any option that references the Amount field]
In NPSP Settings --> Run Health Check. You receive an error at the top that says "Error: Attempt to de-reference a null object"
Create a new Opportunity and save. The Name is not changed from your initial value.

**lurch: add

Tracking W-023529

Another thread.

Closing this issue as all Salesforce supported currency symbols were added in October 2019m though it appears this was missed in the release notes for 3.163.
Have also logged a doc bug to update https://powerofus.force.com/s/article/NPSP-FAQ#topic-6742 to remove the text saying only certain currency codes/symbols are supported in Opportunity Naming


split_at_mut may be unsound

Hi. I've been implementing a similar API to bitvec for ternary recently.
I've come to the conclusion that in compressed encodings (such as 8 bits / 1 byte that bitvec uses) split_at_mut is unsound on slices that are not byte-aligned since it permits overlapping mutable views of memory.
I'd think this is quite a serious issue, and the code for split_at_mut (https://docs.rs/bitvec/0.17.2/src/bitvec/slice/api.rs.html#1220-1223) doesn't seem to address this issue at all.
Is it the case that split_at_mut is unsound, or have you found a way to resolve the issue? If so, how?

I cannot give a long answer at this time but please see the implementation of BitSlice::set_unchecked and the access::BitAccess trait
The atomic feature selects whether all memory accesses in the crate are atomic or not, and its absence disables multithreading support. This is an overconservative approach (see issue prior to yours) but the summary is that at no point does the crate ever manifest aliased &mut references to memory or perform racing accesses.
Versions from 0.10 to ~0.15,or whenever I introduced the trait, are unsound for the exact reason you mention, and must not be used. They will be yanked immediately upon publishing a 1.0.

Interesting, thanks for the response.
Since I'm working on something with similar requirements, do you have any plan for fine-grained mitigation of this issue in the future? I'm wondering whether it might be possible to check whether a write to an overlapped byte has occurred, and then perform an atomic read/write accordingly. I can imagine that properly synchronising this, given the bit-shifting needed to properly encode the bits, might be difficult however.

Alright, I have time for a longer answer now:
The domain module gives me the information I need to determine whether a particular memory address is known to be unaliased, or aliasing is unknown and should be assumed. In particular, the Splat::Left structure describes a region of memory that has maybe-aliased edges and a known-unaliased interior. This means that it is sound to, instead of returning a slice of types that enforce either atomic or unthreaded access, a slice of bare [&Cell<integer>].
My work on #47 is currently exploring the direction of defining a new trait implemented only on the actual integer fundamentals, and adjusting BitStore to be implemented on the fundamentals, their atomics, and their Cells. By using associated types -- the fundamentals retain their current feature-switched atomic or cell behavior, and the atomics and cells use themselves -- I can retain the behavior of selecting the correct memory access behavior, but encode in the typesystem whether any particular &BitSlice reference is known to be over maybe-aliased or known-unaliased memory. The problem here is mainly that this is a massively invasive change to be making after the fact, so it's taking a lot of time to ensure that I have the correct behavior.
The end goal is to be able to split any &BitSlice into the domain tuple of aliased and unaliased regions, allowing work to be done without atomic lock op instructions when a region is known to be unaliased by other threads.
It is slower to check whether a particular bit index is aliased and to access accordingly, than it is to unconditionally issue atomic accesses. As such, BitSlice::set_unchecked and <usize as BitSliceIndex>::get_unchecked -- the only two methods that actually touch memory -- will not be receiving a domain check. Once I get this operational, encoding aliasing in the type system will allow correct, safe, removal of the atomic penalty with an O(1) cost per slice rather than O(n).
I will also be publishing a document -- at minimum in this repository, ideally on my blog -- describing the process I used to develop the domain module's information, the access module's behavior, and the impending feature of encoding alias information into the type system at runtime.


🌐 Add Korean translation for docs/ko/docs/tutorial/handling-errors.md

This PR translates tutorial/handling-errors.md in Korean.
related: #2017

📝 Docs preview for commit f99c1137f091e4ccaf4ca70631dfabb38a85c280 at: https://6499e3571387310549a3625c--fastapi.netlify.app

Thanks you! I'm still waiting for others to review this to be able to merge it, meanwhile, maybe you could help me review some of the other Korean translations, that way if they are approved by each other, I could merge them. :nerd_face:
https://github.com/tiangolo/fastapi/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc+label%3Alang-ko+label%3Aawaiting-review

As this PR had requested changes to be applied but has been inactive for a while, it's now going to be closed. But if there's anyone interested, feel free to create a new PR.


Job handlers are not running in parallel

Describe the bug
When implementing a simple job handler that blocks for a certain amount of time it can bee seen that only one worker at a time is running, ignoring the property MaxJobsActive. This is due to the fact that a queue is used for running the workers one after each other.
To Reproduce
Steps to reproduce the behavior:

Create a simple workflow that has one activity "sleep".
Register a worker in your C# client with a simple Thread.Sleep(TimeSpan.FromSeconds(60)) inside
Start more than MaxJobsActive instances of the sleep workflow
In SimpleMonitor it can be seen that only one job at a time is consumed

Expected behavior
MaxJobsActive jobs should be run in parallel. When the first bunch of jobs is finished the next one should start.
Enviroment (please complete the following information):

OS: Windows 10
Version 0.24.1 of Zeebe, 0.16.1 of C# client

Additional context

I saw your branch zell-rewrite-job-worker. Tested it. It solves the problem somehow, but in my opinion not correctly. MaxJobsActive is now duplicated by HandlerThreads, so if you have MaxJobsActive = 10 and HandlerThreads = 3, my client activates 10 jobs, but handles only 3 in parallel. I could supply a much easier solution in the current code if desired.

Hey @MrRickwi,
thanks for reporting this. This is actually a duplicate of https://github.com/zeebe-io/zeebe-client-csharp/issues/133.
This issue is a missing feature, not a bug and as you already saw I'm currently working on it. I hope I get a release out soon.
The maxJobsActive has a different concern then the HandlerThreads, since it is used to pre-fetch jobs from the broker. You can also take a look in the other clients how it is implemented there. More information you can also find in the docs https://docs.zeebe.io/reference/grpc.html#activatejobs-rpc

Thanks for your comment. Possibly it is a good idea to initialize HandlerThreads with MaxJobsActive for a better backwards-compatibility? Makes sense to close my pull request if yours is handling the situation better.


update to latest vimeo API

mandatory, see : https://vimeo.com/forums/api/topic:266518

Awesome. Thank you for the PR!


Deduplicate diagnostics

Similar to rust-lang/cargo#9675. I think this is possible by doing something like

Use --message-format=json on all commands
Store the diagnostic in a set
Emit the diagnostic if and only if the diagnostic was not previously in the set

This is a ten-second thought, so I've probably missed something. I also don't know how easy it is to emit a diagnostic once you're using --message-format=json, which I imagine is the caveat here.

I would prefer not to do this for the following reasons:

While cargo deduplicates warnings under the same build conditions, in cargo-hack, the implementation needs to deduplicate warnings under different build conditions (feature flags, rustc versions, etc.). If the build conditions are different, even if the warnings look the same, the necessary fixes may be completely different.
In cargo-hack, the implementation also needs to clarify which warnings duplicate which build's warnings.
The amount of builds processed by cargo-hack can be huge. Especially for large projects where warnings are not denied by CI, memory consumption may become a problem if all diagnostics are saved.

Anyway, thanks for the suggestion.


warnings more than 200

I have added pod 'EstimoteSDK' but when I run it says that Documentation issue showing firs 200 warnings only ?? It shows warnings in commented lines

The documentation appears to be quite outdated with @params referencing variables that have been since renamed as well as @returns on void methods.
I've made pull request https://github.com/Estimote/iOS-SDK/pull/246 with the changes. Until then I am using my fork by specifying the repo in my Podfile:
pod 'EstimoteSDK', :git => 'https://github.com/paulofierro/iOS-SDK.git'
Our project treats warnings as errors so this was our only option 🙂


Self relation causes "RangeError: Maximum call stack size exceeded" ?

I had PrismaDelete working well, until I introduced a self relation in my schema.
Now even when trying to delete records which don't make use of the self relation, it fails and gives this error:
(node:15814) UnhandledPromiseRejectionWarning: RangeError: Maximum call stack size exceeded
    at _cycle (/Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:520:33)
    at _forOf (/Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:529:5)
    at /Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:697:20
    at _temp7 (/Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:714:10)
    at PrismaDelete.getDeleteArray (/Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:740:76)
    at /Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:705:49
    at /Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:709:16
    at _cycle (/Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:502:20)
    at _forOf (/Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:529:5)
    at /Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:697:20
    at _temp7 (/Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:714:10)
    at PrismaDelete.getDeleteArray (/Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:740:76)
    at /Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:705:49
    at /Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:709:16
    at _cycle (/Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:502:20)
    at _forOf (/Users/[redacted]/node_modules/@paljs/plugins/dist/plugins.cjs.development.js:529:5)

Does PrismaDelete support self relations? Here's an example of the model in my schema:
model Slot {
  id                    Int         @default(autoincrement()) @id
  slug                  String?
  type                  SlotType
  parentSlotId          Int?
  parentSlot            Slot?       @relation("SlotParentChildren", fields: [parentSlotId], references: [id])
  /// @onDelete(CASCADE)
  childSlots            Slot[]      @relation("SlotParentChildren")
}

I'm invoking it like this:
const where = {
  id: parseInt(slotId),
};

await prisma.onDelete({model: 'Slot', where});

slot = await prisma.slot.delete({
  where,
});

Thanks for your help.

You can't use our plugin for this relationship because when I will look for relation I will see it has children and children can have children so it's an infinite loop
You can remove the comment in your model and delete the parent-children manual first and then delete the parent

Fair enough. It would be good if there was a way of specifying a loop depth, so that this could work but only to the degree specified.

I will think on your suggestions

Thanks @AhmedElywa, I appreciate it.

With the last version, 2.12.0, you can use self-relation, and our plugin will delete just one nested relation.
so if the record has children, I will delete his children, but if children have children, I will face an error

@AhmedElywa Does this change apply to all relations, not just self-relation? I am now finding a cascading delete (not a self-relation) isn't working.

Can you please give me the error message I tested the plugin with normal relationships and working correctly

I think the issue might be when you try to delete something that has a self-relation, and that linked item has cascading deletes. The error I'm receiving is from Prisma, not your library.
It's this one:

The change you are trying to make would violate the required relation 'AToB' between the A and B models.

can you please give me example models and the prisma query you do

Sure, so here is a simpler version of what I have - I've removed irrelevant stuff from the model.
model Slot {
  id                    Int         @default(autoincrement()) @id
  parentSlotId          Int?
  parentSlot            Slot?       @relation("SlotParentChildren", fields: [parentSlotId], references: [id])
  /// @onDelete(CASCADE)
  childSlots            Slot[]      @relation("SlotParentChildren")
  /// @onDelete(CASCADE)
  ruleGroups            RuleGroup[]
}

model RuleGroup {
  id                Int         @default(autoincrement()) @id
  slot              Slot        @relation(fields: [slotId], references: [id])
  slotId            Int
  /// @onDelete(CASCADE)
  rules             Rule[]
}

model Rule {
   id               Int         @default(autoincrement()) @id
   ruleGroup        RuleGroup   @relation(fields: [ruleGroupId], references: [id])
   ruleGroupId      Int
   type             RuleType
   condition        RuleCondition
   value            String
}

As you can see, a Slot can have child Slots.
A Slot (or a child Slot) can then have Rule Groups.
Rule Groups have Rules.
Say I have a Slot, which has multiple child Slots, and one of those has some Rule Groups.
The query I'm running is:
const where = {
  id: parseInt(slotId),
};

await prisma.onDelete({model: 'Slot', where});

slot = await prisma.slot.delete({
  where,
});

I then get:
PrismaClientKnownRequestError2 [PrismaClientKnownRequestError]:
Invalid `prisma.slot.deleteMany()` invocation:

  The change you are trying to make would violate the required relation 'RuleGroupToSlot' between the `RuleGroup` and `Slot` models.
    at PrismaClientFetcher.request (webpack-internal:///./prisma/client/runtime/index.js:1009:3183)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  code: 'P2014',
  clientVersion: '2.16.0',
  meta: {
    relation_name: 'RuleGroupToSlot',
    model_a_name: 'RuleGroup',
    model_b_name: 'Slot'
  }
}

My temporary fix is to first delete child slots - the cascading delete for rule groups then works.
// First delete any slots which have the requested slot as their parent
const whereParent = {
  parentSlotId: parseInt(slotId),
};

await prisma.onDelete({model: 'Slot', where: whereParent});

await prisma.slot.deleteMany({
  where: whereParent,
});

// Now delete this slot
const where = {
  id: parseInt(slotId),
};

await prisma.onDelete({model: 'Slot', where});

slot = await prisma.slot.delete({
  where,
});

What I do now delete the children but not logged into the children to delete their relation. If I do this, I will have an infinity loop

Can you do it like this will be easier?
model Slot {
  id                    Int         @default(autoincrement()) @id
  /// @onDelete(CASCADE)
  childSlots            ChildSlot[]      @relation("SlotParentChildren")
  /// @onDelete(CASCADE)
  ruleGroups            RuleGroup[]
}

model ChildSlot {
  id                    Int         @default(autoincrement()) @id
  parentSlotId          Int?
  parentSlot            Slot?       @relation("SlotParentChildren", fields: [parentSlotId], references: [id])
  /// @onDelete(CASCADE)
  ruleGroups            RuleGroup[]
}

model RuleGroup {
  id                Int         @default(autoincrement()) @id
  slot              Slot        @relation(fields: [slotId], references: [id])
  slotId            Int
 childSlot              Slot        @relation(fields: [childSlotId], references: [id])
  childSlotId            Int
  /// @onDelete(CASCADE)
  rules             Rule[]
}

model Rule {
   id               Int         @default(autoincrement()) @id
   ruleGroup        RuleGroup   @relation(fields: [ruleGroupId], references: [id])
   ruleGroupId      Int
   type             RuleType
   condition        RuleCondition
   value            String
}

Possibly, it's just not as clean in RuleGroup as both slot and childSlot will have to be optional properties meaning I can't be sure there will be a parent. I'm not even sure if the cascade relationship will work like this.


[Color] Reference the notification background color values

In the docs for the notification styles, there are a set of color tokens referenced that cannot be found in the "Colors" section. The colors missing are:

$notification-error-background-color
$notification-success-background-color
$notification-warning-background-color
$notification-info-background-color

Hi @half5cat! These are actually component level tokens. The color page will only show universal (top level) tokens. These colors are only specific to the notification component and can only be used there. It was a concious decision not to add them to the color page. Good eye though!


Revamp Text::format

Change the behavior of Text::format so it uses an index from 0 (instead of 1), and the escape sequence to a double percentage sign (ex, %%4 to get %4). Also, now format ignores % that are not followed by a number.
There were problems with the previous escape sequence (using \%):

In literal strings, the \ itself has to be escaped, so a whole escaped sequence look like \\%4.
The extra \\ were not removed from the resulting string, so it was still impossible to produce a %4 because \\%4 resulted in \\%4.

These changes were prompted by an error in the code generated the i18n phase on a lone % not related to the format method. Also, the index beginning at 1 were always confusing to me, it was a different behavior than Array and other
@R4PaSs I would like your opinion on this.

+1
How the current or old behavior compares to other languages and libs?

Indexing from 0 fits Python formatted strings. And, if I'm not mistaken, the escaped %% is like printf in C.

Rerolled to fix unit tests.

ping @R4PaSs

Seems legit, :shipit: !


feat: implement resource based routing feature

Implement resource based routing.

Try to obtain an instance specific endpointUri
If successfull => create a SpannerClient using instance specific endpointUri as apiEndpoint
use an Instance designated SpannerClient (from pool) for all data calls of the said Instance.

Hi @AVaksman. Can you explain what the benefit and use-case of this is? Was it requested by the spanner team or something you believe would be useful?
Happy new year!

Requested by spanner team.

A new set of instance-config specific endpoints provide an isolation mechanism and a
performance boost. By hitting the endpoint for instance-specific requests, traffic will be shared
only with other users with instances in that instance-config. Similarly, since the endpoint
resolves to frontends colocated with the user's instance, and there is a request fanout at the
frontend level, latency will improve.

This PR is also uses FieldMask feature exposed in PR #2530

And a Happy New Year!

Thanks @AVaksman, I've taken a few minutes to understand what we're doing here now. :)
I have one rather large concern which we should discuss before fully reviewing. The implementation you have here will add 1 RPC call to each instantiation of the library. Since PHP doesn't have long-running processes and every request requires instantiating the library, that adds up to a lot of additional RPCs. I'd venture to guess that it would more than offset the gains from using a more optimized endpoint.
We need to find a way to cache this across requests to prevent having to make API calls every time the client is created.

In the proposed implementation the instantiation of spannerClient (data client) is not performed on client instantiation ($client = new SpannerClient($clientConfig);) but rather postponed (similar to the logic with databaseAdmin and insatanceAdmin clients) until user is making a data network call.
The one RPC call is added before instantiation of the spannerClient (when user is expecting a data RPC call).
The extra RPC call is only performed once per instance, otherwise spannerClient is cached and used with all subsequent network data calls.

Right, but in high-traffic applications, if you have 1000 visitors, that means 1000 instantiations of the client and 1000 additional RPCs that this change would add. I find it unlikely that the benefits of this change outweigh the added cost.
What we need is to cache the endpoint_uris for a period of time and share that across all instances of the client. We do this already in the Spanner session pool, or in the Auth token cache.
Here's what I'm thinking:
Accept an additional configuration option on SpannerClient called Psr\Cache\CacheItemInterface $endpointCache. Advise the users that it is extremely highly recommended that they provide a persistent cache in all cases where GOOGLE_CLOUD_ENABLE_RESOURCE_BASED_ROUTING is on. When that cache is provided, store the endpoint URIs in it and only make the RPC call if the cache item does not exist or has expired.
@dwsupplee do you have any thoughts here?

This seems like a reasonable thing to implement. I agree with @jdpedrie the network overhead here might end up negating some of the usefulness of the feature, however.
Using a cache seems reasonable, or I could also see providing an environment variable which hosts a list of endpoint uri's a user could determine and provide themselves. Whatever we land on, it is definitely desirable to avoid always needing to make this network request. Do these endpoints change regularly, and that necessitates the network request? Or can we reliably pre-determine them?

What's the status of this PR is relation to the recent deprecation of the field in question?

What's the status of this PR is relation to the recent deprecation of the field in question?

@skuruppu

@skuruppu given that #2713 was merged, deprecating the feature implemented in this pull request, I believe that this pull request is no longer necessary?

@skuruppu given that #2713 was merged, deprecating the feature implemented in this pull request, I believe that this pull request is no longer necessary?

I mostly agree but the backend team did ask us to keep the PRs open for now in case they change their minds. If it's ok, I'd like to keep it open for a couple of weeks and then I'll check back with them on whether it's fine to close it.
But if you think having the PR is creating too much noise, we can close it and @AVaksman can push a new branch if we need to reopen.

Sure, we can leave it open for the time being!

We have decided to implement this functionality on the server side so we no longer need to add this support on the client side.


allowed values doesn't work

{
favoriteColor: {
type: String,
allowedValues: ['red', 'green', 'blue']
}
}
This is trash it would appear at which point you're almost doing as much work doing things "manually"

What is the issue? Please explain...

Apparently using this syntax, I put space after each value at which point it wouldn't accept any of the options as allowed values since these spaces where lost in translation.

Also had a label there.


chore(release): 2.67.0

See CHANGELOG

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: b54af81ab3b77f8436b54008a321ed44d3a0813a
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


How to limit results to posts only?

I'm trying to get a list of posts from a page. The results include likes, and profile info and locations and #comments.  I just want the posts
Here's my code:
from facebook_scraper import facebook_scraper
for post in get_posts('ryanbuckner', pages=20, credentials=['myusername@user.com','passwordgoeshere']):
  print(post['post_text'][:50])

results:
| Check out this fun fundraising initiative taking place at Alana's school. All of the students will be running laps on March 11th to raise money for the PTA to support programs for the students. If you'd like to make a pledge the information is below.
| MYBOOSTER.COM
| Check out this video of Alana making a big impact through this year's school fundraiser. Please make a donation to keep the momentum going!
| We are raising funds for instructional & enrichment programs for students, teacher support, PTA activities, & field trips in the Forestville Cardinal Boosterthon. Click here to help us: https://mybooster.com/v3/dash/Ykl2_p1m
| Harvey and 3 others
| 2 comments
| Like
| Show more reactions
| Comment
| Share
| Dawn is with Ryan.
| March 4, 2022 at 9:52 AM ·
| More options
| Welcome to the family Mel, short for Melvin the Melon. Enjoy your brief stay with us until we eat you today! #kids
| Alice and 9 others
| Like
| Show more reactions
| Comment
| Share
| Ryan
| March 3, 2022 at 8:17 PM ·
| More options
| If you chose not to have children, sure you have unlimited time and expendable cash. But who leads your Melon Personification Department eh? #suckas
| Jon and 10 others
| Like
| Show more reactions
| Comment
| Share
| Ryan
| February 28, 2022 at 6:30 AM ·
| More options
| I’ve been volunteering with Lasagna Love for a little over a year now and since then the movement has grown to 3 countries and over 25,000 volunteers impacting over 600,000 people. If you or someone you know could use a hand with dinner, for any reason, consider a request here.
| LASAGNALOVE.ORG
| Request - Lasagna Love
| Do you or a friend need a hand with dinner? Kindness is for everyone. No matter the reason for the need, your community wants to help. Let a neighbor deliver a home-cooked lasagna or main dish to your family one night. We currently have chefs cooking in the United States, Puerto Rico, Canada, and Au...
| Eric and 10 others
| 3 comments
| Like
| Show more reactions
| Comment
| Share+------------------------------------------------------------

@ryanbuckner the extracted dictionary has more than just post_text, check other keys like shared_text, text, or full_text (only returned if the post text is longer than the list's maxcharacter point), and see if they fulfill your needs.

@ryanbuckner

we now have 2 ways of controlling what to scrape, the whitelist_methods option and the HQ_images, you can check them on the documentation.

On that i am closing this issue


Include polyfill.io in HTML by default

We considered doing it earlier but settled on shipping just Object.assign, Promise and fetch polyfills by default.
I'd like to reconsider adding a polyfill.io scripts to HTML as too many people rely on ES6 features without realizing they need polyfills. And using polyfill.io means it's easy to opt out too if you know what you're doing.
We should only include ES6 polyfills, and specifically exclude Object.assign, Promise, and fetch because we already have them.

I would argue against adding a library which is fetched from the internet.
For example, I deploy applications in environments without an internet connection where the polyfill couldn't be accessed. I am now in a position where I wrote code which assumes the polyfills exist but do not.

It's in index.html so you can always remove it. Would that not be a good default for most users?

I feel like it would be a fair default most of the time for a CRA user.

I guess my only other complaint is still that the polyfill relies on an external service -- so what happens when polyfill.io's CDN goes down or has a DNS error/etc?
There will be script errors and application errors which are cryptic to the user of the application (in production) and other unexpected consequences.
I believe forcing (or rather, encouraging) users to include polyfills on a feature-by-feature basis ensures they're bundled into the bundle.js and are always available when the application is available.
Sure, advanced users can remove polyfill.io and include feature-polyfills. So the question becomes is something that doesn't work 99% of the time good enough for the non-advanced user?
I would feel more comfortable using babel-polyfill (I know it's heavy), but maybe we can make some improvements on that side of things using a locally-ran service similar to polyfill.io.

Relying on a 3rd-party service for this seems a little risky imho. I'd rather see a configurable build warning for missing polyfills, or even a way to specify target browsers.

Why have half the polyfills baked in and half as 3rd party service, does react-scripts rely on the baked in ones?

I'd rather see a configurable build warning for missing polyfills

We can't determine them statically.

or even a way to specify target browsers.

This sounds reasonable and actually something we're already planning to enable.
So we might as well wait for https://github.com/babel/babel-preset-env/pull/51 and https://github.com/babel/babel-preset-env/issues/20.

Please don't include polyfill.io by default..
All though I love the idea behind polyfill.io, we've had some mixed experiences using it and in the end we banned it completely from all projects/products.
In addition to the bit about relying on a 3rd party plugin loaded over the net,
you can't overlook the part of it being based on UA-sniffing. And despite their great effort, there will always be a risk of unmatched browsers.
And an unmatched browser === failing app.
 It's not a good day to be a developer.
And it's certainly not a situation you want the non-advanced users of CRA to experience...

Fair enough. I think https://github.com/babel/babel-preset-env/issues/20 will ultimately solve this.

looks like 20 ==> https://github.com/babel/babel-preset-env/pull/56  which merged.

what do you think we should document as a consequence?
do we need to update anything for babel-preset-env?  https://github.com/facebookincubator/create-react-app/blob/master/packages/babel-preset-react-app/index.js#L74

at this point, reading through the issues, i'm not sure where we stand with what is supported and what is not.  i see that my app crashes for lack of Symbol support in IE11, so clearly we haven't included that polyfill yet.  I'd be happy to write some docs, but I figure the maintainers probably have a better grip on where this stands as it is, ATM

i see that my app crashes for lack of Symbol support in IE11, so clearly we haven't included that polyfill yet.

The default app shouldn't crash. Only if you use Babel features that rely on this polyfill.

at this point, reading through the issues, i'm not sure where we stand with what is supported and what is not.

We currently polyfill Object.assign, Promise and fetch, nothing else.

do we need to update anything for babel-preset-env?

You can track https://github.com/facebookincubator/create-react-app/pull/1249 for progress. It will take a while to get this sorted so in the meantime a doc PR for polyfills and caveats (e.g. for of requiring a polyfill in some cases) is welcome.

I didn't include a caveat section in #1404 because I'm not sure how to generate a deterministic set of features that don't get transpiled or polyfilled.  if i was able to generate that list, its value is still limited without a supporting cross-ref table showing those features against a can-i-use inspired table of browsers.  that would be saaawweeet 🌮.  too much effort ATM!


Too many deployments/rollouts in a namespace. Unable to query for 7 days.

There are too many deployments in a namespace. Unable to query for 7 days.
Is there a way to fetch metrics of the deployemnts. rollouts in batches?

Hey, what is the exact error you're getting? We have some flags to help control the load on Prometheus - if that is the problem - like changing the value of -w


Atlas Services

What happened?
Because of sunsetting the Device SDKs for Atlas, does this mean we can no longer use Atlas Services like Functions/Authentication/Atlas Search all together? Why not make the SDK still work with Atlas Services and make Query of databases/collections still possible?
Repro steps
Because of sunsetting the Device SDKs for Atlas, does this mean we can no longer use Atlas Services like Functions/Authentication/Atlas Search all together? Why not make the SDK still work with Atlas Services and make Query of databases/collections still possible?
Version
Latest
What Atlas Services are you using?
Both Atlas Device Sync and Atlas App Services
What type of application is this?
Flutter Application
Client OS and version
Microsoft
Code snippets
No response
Stacktrace of the exception/crash you're getting
No response
Relevant log output
No response

That is correct. The API to query the database go through App Services functionality that is also being sunset, so it wouldn't improve the situation. If you need to read/write data to your Atlas data directly, you probably need a MongoDB driver. Currently, we don't have one for dart, but feel free to upvote the official Official Dart Driver feedback item and watch it for updates.

This has caught us off guard, literally invested  more than a year, developing a product, and  then this . Not even a proper explanation .
This will be a lesson to never work with mongo ever again.

This has caught us off guard, literally invested more than a year, developing a product, and then this . Not even a proper explanation . This will be a lesson to never work with mongo ever again.

Yes, they have the right to sunset something, but they'd better provide a proper explanation. SaaS tools provided by some middle-sized companies like MongoDB should be considered suspect and should not be used :(


[libpq] update to 12.1

https://www.postgresql.org/
New version number: 12.1 (Next update 13.2.2020 ? So maybe wait until then?)

Since the PR has been merged to master. I'm going to close this issue for now.
Thanks for your efforts. @Neumann-A


how do you use the template for two different vaults?

I tried to add a second one and it errors with loading publication status.

Hi @twhite96 I am actually using only 1 vault but publishing to two digital gardens. Is this what you are looking for? If so, I will write about some simple steps to make it work.

Yes! That's interesting and I'd like to know how you did it.
Thank you!

Alright, here you go: https://imazingrace.vercel.app/Obsidian/DG/multiple/
Feel free to tell if any questions. Hope gets well with yours.

This should be added to the documentation as a feature OwO

This should be added to the documentation as a feature OwO

Absolutely. Or find a way to be able to use the plugin on two different vaults, which right now, is not possible in Obsidian. Hopefully soon.

@twhite96 If we change the title of this issue to "How do you publish to two different digital gardens with one vault?"
Is this what you were asking for?

Wrote a quick guide on how to publish from two vaults (currently unsupported and dangerous, but works if you are careful :) ) https://github.com/oleeskild/obsidian-digital-garden/discussions/415

@julesvirallinen Hi Jules - have you tested to see what "Publish Multiple Notes" results in?
I've been developing my digital garden on a test vault and I'm trying to migrate my "real vault" over and I'm not sure what the best procedure is for this. Was considering using your method and then just deleting the primary vault. I'm curious what "Publish Multiple" will do if I work like this... will test it out.


Processing of fragments

I think this will be the last thing really needed before we can start firing Thymeleaf JS into the wild.
Currently, it's good for creating HTML on the server w/ Node servers, but how about on the browser in response to JS events like JSON requests/streams or server-sent events or webworker messages?  It'd be cool to be able to execute fragments of Thymeleaf templates over JSON (or any form of) data to generate HTML that can then be inserted into existing documents so developers can dynamically update documents in the same templating language as they're using on the server, and then finally it can open it up to being able to share the same HTML files between client and server.

Is this repo still developing?

Yup, but there hasn't been any movement on it for a while because it's currently in a state where it "does everything I needed" (which is to let me process basic Thymeleaf templates in a NodeJS server environment) and so have been able to use it in several projects to meet that need.
I've yet to give Thymeleaf's creator a message about it's current state though, so I should probably do that.  He was keen to have some basic JS implementation to do some things but I should really catch-up and find out what those things are.

I am developing a mock server which consider to use your package as a renderer for thymeleaf, but I found your package currently not supports some syntaxes of thymeleaf, such as this one:
data:
{
 hello: 'http://xxx.com',
 a: 1
 }

html

click here to say hi

after render, nothing changed:

clickhereto say hi

and I try to use attribute like this:
 data:
{
    domain: 'http://suho.com',
    params: 'a=b'
}

html:

clickhereto say hi

but got this:

clickhereto say hi

So I think there are some basic syntaxes not implemented yet.

Ah, yes the URL expression syntax hasn't been added to this project.  Could you raise a new issue about that (or I can do that when I'm next on a computer) and I can work on adding it as part of that issue rather than this one which is for fragment processing.

Support for fragments has been added in version 0.9.0, although the work required by devs to get it working on the client side is less than ideal (a special directory, random webpack configuration).  Closing for now as I've raised #16 covering that part of getting fragments to work.


update index.html

@Shreyajaiswal99  try this year for Hacktoberfest and have a look at the updated repo and contribute.Make sure to follow me and star the repo
HAPPY HACKING


Errors.User.WebAuthN.ErrorOnParseCredential

Describe the bug
When setting up passworless authentication I get
Errors.User.WebAuthN.ErrorOnParseCredential
To Reproduce
Steps to reproduce the behavior:

Create a new User
Personal information > Passworless Authentication > Send registration link
Check inbox
Add Passwordless Login
Enter Device Name ("Desktop")
Error, no further action

Expected behavior

Error Text
What now?

Screenshots

seems to be a race condition... i could reproduce only twice on dev (never locally) with more than 15 created users each with multiple links
i'm going to extend the logging and hopefully catch the error on a future occurrence

@livio-a this one does not seem stale, as you mentioned it just a week ago.

this issue never occurred again... the mentioned issue seemed similar, but is apparently caused by FF: https://github.com/zitadel/zitadel/issues/4082#issuecomment-1211717627

Just had the same issue again with version 2.13.0 on zitadel.cloud
Issue came after sending a passwordless registration link and entering the device name Desktop

I don't know what the reason is, but it seems that the credential response is empty. at least we now have logs:
invalid_request Parse error for Registration EOF

it doesnt even work on my initial account on the hosted trial.


Duplicated query strings when using service invocations

In what area(s)?

/area runtime

/area operator

/area placement

/area docs

/area test-and-release

What version of Dapr?

1.1.x
1.0.x
edge: from fresh pull

Expected Behavior

Invoking a method which has query strings should send the query to the service correctly.
Actual Behavior

Query string is duplicated when sent to the service
Steps to Reproduce the Problem

Clone this repo
Verify port 8080 is open, if not, change exposed port in docker-compose.yaml file
Run Project
Use browser or postman to navigate to http://localhost:8080/api/controllerOne/fireMethodWithDapr?code=123 This endpoint calls the other service and echos back what it got as a query string. Notice when you go there it says 123?code=123
Use browser or postman to navigate to http://localhost:8080/api/controllerOne/fireMethodWithoutDapr?code=123. Notice this endpoint returns the expected result of "123"

If you inspect deeper you'll see asp is receiving the query string duplicated. You can also intercept the request before its sent and see the query string has not been duplicated, So the duplication is coming from the dapr sidecar for sure.
Release Note

RELEASE NOTE: FIX Bug with setting multiple query strings.

I'd also like to note this problem only seems to exist on edge
You can swap the dapr image to either latest or 1.11.2 and you'll see it works fine.

Thanks for the report, I can repro this


Laravel 5.7.x - Validator errors not showing in View

Laravel Version: #.#.#
PHP Version:
Database Driver & Version:

Description:
I know this question has been asked about earlier versions of Laravel, but I"m using 5.7.x (the latest) and what worked in 5.2 might not be applicable in my case. Basically, I'm trying to create a Post form validated by a custom FormRequest. Here are my source files.
post.create.blade.php

    @include('header')

Add a New Post

        {!! Form::open(['route' => 'save_post']) !!}

                {!! Form::label('name', 'Name:') !!}
                {!! Form::text('name', null) !!}

                {!! Form::label('body', 'Body:') !!}
                {!! Form::textarea('body', null) !!}

            {!! Form::submit('Create', ['class' => 'btn btn-info']) !!}
        {!! Form::close() !!}

                @if($errors->any())
                    @foreach ($errors->all() as $error)

{{ $error }}

                    @endforeach
                @endif

web.php
Route::get('post/create', function () {
return view('post_create');
});

PostController.php
<?php
namespace App\Http\Controllers;
use App\Post;
use App\Http\Requests\PostCreateRequest;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Validator;
class PostController extends Controller
{
    public function index()
    {
        return Post::paginate(1);
    }

    public function show($id)
    {
        return Post::find($id);
    }

    public function store(PostCreateRequest $request)
    {
        $post = Post::create($request->all());
        $post->save();

        return response()->json($post, 201);
    }

    public function update(Request $request, $id)
    {
        $post = Post::findOrFail($id);
        $post->update($request->all());
        return response()->json($post, 200);
    }

    public function delete(Request $request, $id)
    {
        $post = Post::findOrFail($id);
        $post->delete();
        return response()->json(null, 204);
    }

PostCreateRequest.php
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Foundation\Validation\ValidatesRequests;
class PostCreateRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required|string|max:255',
            'body' => 'required|string|max:4096'
        ];
    }
}

Clearly the validator is working. When I fill out the name and body, it adds a post to the SQL database on the backend. And when it fails, it goes back to the post create view. The problem is that the validator errors don't show up in the view even though I have it coded in. What exactly is going on? Is there some sort of bug in Laravel? I don't know if this matters or not, but I'm using Ubuntu.

Do sessions work on your application? If sessions are broken, then there wont be any validation errors in the returned session flash.

How exactly would I test for this? If it doesn't, how can that be troubleshot?

It works for me. Can you reproduce it on a fresh Laravel installation?

I have the same error fighting with this for over 5 hours and no luck.
Can someone answer simple question - on Laravel 5.7 if I create simple form using normal HTML (not Form:: syntax which apparently is gone from 5.7) using form-group and form-control classess do I get this flash messages with validation by default as Laracasts suggested at one point?
I already set my validation rules but flashes never show up

Form helpers haven't been in the framework for several years. Your view must be setup to check for errors and display them. The documentation gives the following example:
@if ($errors->any())

            @foreach ($errors->all() as $error)

{{ $error }}

            @endforeach

@endif

Thanks I am gonna give it a try but such code essentially add errors
message in one place eh at the end of the view
How to achieve error description in each form field as it is often seen in
screencasts and allegedly should work out of the box
On Wednesday, 27 February 2019, Clayton Stone<EMAIL_ADDRESS>wrote:

Form helpers haven't been in the framework for several years. Your view
must be setup to check for errors and display them. The documentation gives
the following example:
@if ($errors->any())

@foreach ($errors->all() as $error)
{{ $error }}
@endforeach

@endif
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/laravel/framework/issues/26367#issuecomment-467687822,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkHlhrEpnebej3WgXfJLdg65nY21-0mks5vReGFgaJpZM4YMnLu
.

This repo is really not the place for these types of questions, but just checkout how Laravel handles this in the login page.

Maybe it's not right place but it's still related to that error, and error
that also Flash messages are not showing up in view.
On Wed, Feb 27, 2019 at 6:02 PM Clayton Stone<EMAIL_ADDRESS>wrote:

This repo is really not the place for these types of questions, but just
checkout how Laravel handles this in the login page
https://github.com/laravel/framework/blob/5.8/src/Illuminate/Auth/Console/stubs/make/views/auth/login.stub
.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/laravel/framework/issues/26367#issuecomment-467944548,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkHlkAOLLTcZV2KNbUb8mvXII2NURv8ks5vRrorgaJpZM4YMnLu
.

It's not a bug in the framework though. The issues on this repo is for actual bugs in the framework source.
But like I said, look at the framework source for the "login" and "registration" pages and you'll see how to show errors for individual fields.
You could probably get answers faster on one of the folowing sites:

Laracasts Forums
Laravel.io Forums
Discord
Larachat
IRC
StackOverflow

Understand. I am not sure if there is no bug in framework because many
people reported such thing not working,though.
On Wednesday, 27 February 2019, Clayton Stone<EMAIL_ADDRESS>wrote:

It's not a bug in the framework though. The issues on this repo is for
actual bugs in the framework source.
But like I said, look at the framework source for the "login" and
"registration" pages and you'll see how to show errors for individual
fields.
You could probably get answers faster on one of the folowing sites:

Laracasts Forums https://laracasts.com/discuss
Laravel.io Forums https://laravel.io/forum
Discord https://discordapp.com/invite/KxwQuKb
Larachat https://larachat.co
IRC
https://webchat.freenode.net/?nick=laravelnewbie&channels=%23laravel&prompt=1
StackOverflow https://stackoverflow.com

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/laravel/framework/issues/26367#issuecomment-467963470,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkHlpDPVk6ylv7kZ4tgSHo7x0vkBYuxks5vRsY1gaJpZM4YMnLu
.

This is how it worked for me:
try {
$this->validate($request, [
......
]);
} catch (\Illuminate\Validation\ValidationException $e ) {
return \response($e->errors(),400);
}

i tryed move routes endpoint in file api.php to web.php.
and error message showing~

i tryed move routes endpoint in file api.php to web.php.
and error message showing~

Worked for me too, I still don't know why


[feature] Shortcuts for triaging priority

🧩 Feature
Description
We have a static analysis software which creates hundreds of notes to the code-review.csv. Each of these notes must be manually reviewed and priority must be set manually. Having a shortcuts / keybindings for setting priority and saving would be helpful.
For example:

User opens first code review note on the comment explorer.
User presses e.g. CTRL-ALT-1. High-priority is set to the current note and it is saved.
User opens next code review note and presses e.g. CTRL-ALT-3. Low-priority is set to the current note and it is saved.

Currently I don't have time to focus on this little side project. Feel free to send me a PR implementing this feature


CEO-358 FIX User plots are not cleared when samples are rebuilt

Purpose
Fix bug.  We must explicitly remove from user_plots because there is no FK constraint on user_samples
Submission Checklist

[x] Included Jira issue in the PR title (e.g. CEO-### <title>)
[x] Code passes linter rules (npm run eslint/clj-kondo --lint src)

Testing

Create a project
Collect in unpublished mode
Make changes to only the samples
After saving, the plot overview map should be all yellow dots again.

Approved but make this the testing script:

Create a project.
Collect at least one plot in unpublished mode and make sure to save.
Quit out and go the Project Review page. Verify that the plots you collected show up as blue dots in the plot overview map.
Now edit the project and on the "Sample Design" tab, make any change to the samples (e.g. change the number of samples per plot).
After saving/updating the project, go back to the plot overview map in the Project Review page.
All of the plots should now be yellow dots.


#236: Adding in mobile controller and CSS config changes to Outline Heading

Developer Notes
Adding in the mobile controller and CSS config changes into Outline Heading. Implements Issue #236
Testing Notes

Go to Storybook
Go to the Heading component
Size the screen up and down
Observe that the text gets smaller at smaller screens and larger at larger screens

Holding this one until we see the full impact and any issues with these changes on an internal client project. I think we may have a few small adjustments to make here.

@sarahp I'd love to understand this feature better.
Aren't heading display sizes very specific in each project?
What does the mobile controller do?

@sarahp I'd love to understand this feature better. Aren't heading display sizes very specific in each project? What does the mobile controller do?

The mobile controller applies where to break. This doesn't change the sizes of the h1-h6 or the levels, just sets the sizes to use a smaller level or h-tag when the screen gets smaller.

Updated with various cleanup, better usage of all 3 sizes on <outline-heading> elements that only use the level attribute and omit the level-size one.


IMPORTANT!!! is it me making mistake or PDFS are just container for pictures of pages ???

I just downloaded my resume with app, and it basicly downloads pictures and put inside of PDF's, in this way instead of helping you are missleading people and resulting loosing opportunity of geting hired.
Because big or small all companies are using software robots for reading resumes. as long as this pdf is just a picture :( software can't read it. in the end you're loosing opportunity of geting hired.

https://resume.io/pricing


Back sprint2

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
21 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-1.2%) to 97.752%

Files with Coverage Reduction
New Missed Lines
%

smartMoney_app/views.py
1
95.45%

smartMoney_app/models.py
4
97.81%

smartMoney_app/expense_views.py
16
87.2%

Totals

Change from base Build<PHONE_NUMBER>:
-1.2%

Covered Lines:
1261

Relevant Lines:
1290

💛  - Coveralls


adding Auth0 Provider

Adding Auth0 Provider: https://registry.terraform.io/providers/alexkappa/auth0/latest/docs

Thanks! can you add readme about new provider?

@sergeylanzman done!


Unable to update a database user with sqladmin-v1beta4:users

The gcp-types/sqladmin-v1beta4:users interfact does not have a GET method.
When updating a big DM configuration that contains a database user resource like this:
resources:
# No GET method for user, resulting update error
- name: {{ env['name'] }}
  type: gcp-types/sqladmin-v1beta4:users
  properties:
    name: {{ properties['userName'] }}
    instance: {{ properties['instanceName'] }}
    host: ""
    password: {{ properties['password'] }}

There must be an update error:
ERROR: (gcloud.deployment-manager.deployments.update) Error in Operation [operation-1522961826387-569202eab1438-48567386-60db63f3]: errors:
- code: MISSING_METHOD_IN_COLLECTION
  message: Method 'get' does not exists for collection 'users' in descriptor url 'https://www.googleapis.com/discovery/v1/apis/sqladmin/v1beta4/rest'

I have to remove the user configuration from that bit DM configuration

DM does not support updating resources that don't expose a GET method.
As a workaround, you could change the user name along with whatever other change you want to make. That would delete the old user resource and create a new one with the updated settings.

and then add the original user back?
quite annoying :(

Yes, we don't have a good way to update this resource in DM because it does not have a GET method in the resource API.

Why was this issue closed?  Its a live issue, no?

@munutzer please reopen this ticket, this is a major flaw, and merely including the resource renders the entire config non updatable. Removing and adding a database user not only is a hassle, but most of the time impossible to do.

In general GoogleSQL API is not very fitting for DM operations. As description above states it was merely impossible to implement.

I see, but GoogleSQL and DM are both part of Google Cloud, I'm sure there must be a way to provide the call.
AWS CloudFormation has its warts, but I haven't seen issues like that.

This should be clearly documented somewhere because if we can't do updates after creating it renders configs un-updatable which is a huge problem.

@takeda  I've figured out a work around. Remove the user from the config but use --delete-policy=abandon which will cause it to be removed from the deployment. Then you can manage the user using SQL Files etc... An example is below:
gcloud deployment-manager deployments update db-test --template db.yaml.jinja --delete-policy=abandon

I had trouble deleting my user because it was being used to grant privileges to the roles.

@vinayan3 thanks, but this only changes behavior and won't remove the user when needed + it is required every time and affects other operations.
This and other issues made me just switch to terraform. I generally prefer to use tool provided by the cloud provider (e.g. Cloud Formation), because it generally supposed to be better integrated with the platform, but Deployment Manager is a joke.

I see, but GoogleSQL and DM are both part of Google Cloud, I'm sure there must be a way to provide he call.

I couldn't agree more. As a consumer, I don't want to know or care about Google org hierarchy. I only expect the end result, the platform, to be reliable, user-friendly and free of such surprises. That's why I'm using Google Cloud in the first place, tired of AWS low-level ops and warts.

Seems that deployment-manager can deploy ok but needs work on the management side. A big part of managing deployments is being able to update existing components to a state that matches a declarative specification.

I'm having this problem now and as far as I understand, the users resource does have a GET method: https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/users/list
It's also in the discovery doc (https://www.googleapis.com/discovery/v1/apis/sqladmin/v1beta4/rest search for sql.users.list), so how come DM doesn't see it?

Regarding the password, from the database point of view I expect we should only be able to change a password if we know the existing password, unless we use a database user/login with certain privileges to override that.
So in general we would have to have password and newPassword fields and supply these to update the password - we shouldn't expect Deployment Manager to know/store passwords.
And on that latter note, I wish it would not store - and certainly not display the password in plaintext - in the web console (and possibly yaml configuration description dumps).

Regarding the password, from the database point of view I expect we should only be able to change a password if we know the existing password, unless we use a database user/login with certain privileges to override that.

If you have access to the admin user then you can arbitrarily change the password in the database so shouldn't need the original password.

And on that latter note, I wish it would not store - and certainly not display the password in plaintext in the web console (and possibly yaml configuration description dumps).

Also, the users should not automatically be essentially super users, but allow us to specify the databases that they have access to.
But, at the moment, I can't even get the API to create the users for me, as I have databases specified.  It just returns a 400


Video uses a depricated tool

The VSCode IOT Edge plugin is deprecated.
Also, please provide some sample JSON

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

ID: 07a44a28-a19c-f68e-167c-5e8ad91605e0
Version Independent ID: 33eacdff-4f0a-c543-d8f9-e7b208bab015
Content: Store block blobs on devices - Azure IoT Edge
Content Source: articles/iot-edge/how-to-store-data-blob.md
Service: iot-edge
GitHub Login: @PatAltimore
Microsoft Alias: patricka

Hi @PorterJosh Thank you for your feedback on this article. I wanted to check if you have reviewed the article Deploy Blob Storage modules which provides an alternate approach of deploying the module through Azure Portal instead of IoT Edge Tools extension. The sample also provides the JSON configuration template along with the placeholders that needs edits.
We can make a note below the video pointing to this article for deployment details. Let me know if this is something that might help you in improving the documentation experience.
Best regards,
Leela Rajesh.

Hi @PorterJosh Thanks again for your feedback. We have escalated this issue to our content SME team. The document will be updated accordingly based on your feedback.
Best regards,
Leela Rajesh.

Hi @PorterJosh, Thanks for the feedback. I'll be pushing an update to remove the video for now mention the extension is in maintenance. The PR will close this issue. I'm creating a backlog item to investigate updating the JSON and EFLOW.
Thanks,
Pat


Do not modify descendants in-place

Hello,
I would like to support the following use-case, and am running into trouble because of this delete_if.
My use-case is the following:

we have a code base where we do implement quite a few meta-programming tests, iterating over models and validating their associations or validations.
we do also generate anonymous classes in our test suite, typically to test concerns
which is causing flakiness depending on the ordering of the suite, when looking at ActiveRecord::Base.descendants to list all models
so we came up with the following solution:

# spec/support/descendants_memoizer.rb
module DescendantsMemoizer
  extend ActiveSupport::Concern

  class_methods do
    def descendants
      @descendants ||= super
    end
  end

  prepended do
    descendants # compute and memoize once and for all
  end
end

# spec/rails_helper.rb
ActiveRecord::Base.prepend(DescendantsMemoizer)

I wanted to be safe to be able to use @descendants ||= super.freeze to ensure it doesn't get modified in-place, and that's how I came out about this piece of code. Would you have anything against merging it in the subsequent select?

Hi @tdeo!
Thank you for fixing the bug!
It wasn't intentional to change ActiveRecord::Base.descendants.

The fix is released in 1.7.9.
Thank you again, and have a great week!

Thanks for the quick release

Thank you, and please keep it going! =)


Bump Docker image to latest LTS

@marcingrzejszczak 4d71108e4f76fe6829ef64735ed745c1201da44a bumps Ubuntu to 21.04. I wonder if this is intentional as 21.04 is not yet released version and it is not going to be LTS when released.
Also I wonder if there is specific reason to use SDKMAN! for installing the JDK instead of using the Adopt JDK Docker image? Especially given that the docker file does not use multistage build and SDKMAN! is left on the image, which makes the resulting Docker image larger in size.


[BUG] bard is freeze

https://github.com/sunner/ChatALL/assets/428820/e2bbcb23-a3f9-4bf4-b4e7-fb59c57c15f9

solved, may be temporary bug into BARD


Improve aimbot? No recoil control or vis. checks.

The aimbot usually misses a lot of shots because it doesn't control the spray pattern. A recoil control option should be added for the aimbot, with a X and Y slider for how much you want the aimbot to compensate (so it doesn't just 100% compensate for it) and also make it work with the weapon_recoil_scale command.
Also, the aimbot needs a visibility check asap, or something like that, since it makes it obvious that you're hacking when your aim snaps to a guy through the wall when you shoot. Also, the aimbot should have a "Closest hitbox" option. I know this probably will take a long time to implement, and I'd help but I'm too stupid, so I'm just leaving it here as an "issue".

Just leaving this here; this cheat has recoil control (I think, don't remember well) https://void.to/Thread-Official-Release-BiG-P-cheat-For-Legit-P


Do not show certain maps

Added functionality to not map/show maps you do not want.

Hi @kbrodej,
Is it possible do not showing .php or .inc files from list? Do you think could get?
Regards,


Cycleways with bicycle=no but also mofa=yes|designated or moped=yes|designated should not raise a warning

There is check in data/deprecated.json for the combination of bicycle=no and highway=bicycle:
{
    "old": {"highway": "cycleway", "bicycle": "no"},
    "replace": {"highway": "path", "bicycle": "no"}
},

This makes sense, and would usually point to a mapping error. However, in the Netherlands this raises this warning for a common feature on Dutch roads.
We have three variants of cycleways in our legal code. Two of them are relevant here: the G11 which is mandatory for bicycle and mofa, but forbidden for moped, and the G12a, which is mandatory for all three of these road user categories. When a cycleway switches from G11 to G12a or vice versa, mopeds use small links to move to or from the main road:

We've settled on the following tagging scheme for these links:
highway          cycleway
bicycle          no
foot             no
mofa             no
moped            designated
oneway           yes
traffic_sign     NL:D104 (or) NL:D103

This is the link shown on that photograph on the map.
These are still highway=cycleway in the Dutch context, because mopeds are one of the designated road user classes for cycleways in the Netherlands (provided it is signed with a G12a sign).
Is there a way to exclude these from the deprecation warning? That is, keep the check, but don't suggest it if either mofa or moped is set to a permissive value?

Is there a way to exclude these from the deprecation warning?

Unfortunately, this is not possible to implement in the current schema. :disappointed:
The next best thing we can do is to deactivate the deprecation warning completely for now and think about a better solution for this.

Can that be done regionally? (i.e., just the Netherlands.)

I was just about to write that that would also not be possible (because the deprecation rules are really very basic), but then I remembered that there is also the functionality of preset replacements which can use the whole functionality of a preset, including regional limitations. It's going to be a bit of a hassle, but I think it can work. Let me give it a try.

see #509 for a possible fix


Graph: Display summary info about graph

Display meta info about the graph, such as total counts of nodes and edges, node degree or centrality summary. Where? Perhaps in the corner of the SVG in a fixed position.

We agreed on showing only the number of nodes

I suggest we show this information in the legend (see #28)


Can i package electron app?

Can i package electron app? Is it possible to decompile the app and get the code?

this is a duplicate of #52

Use electron-packager

Not enough. In electron-packager the source files are visible.


Submitted by Calvin Hsia
The following from the following directory
\ddfiles\Team\XAML\User\erikd\Bugs\398113\Run4886725\PhotoSharingApp_NoUserCode-05-11-2017 022827
And it will be very slow.   Much time is spend in HistoryDictionary.Add.
The issue seems to be that there are MANY reuses of a particular file handle and HistoryDictionary creates a long linked list in this case.

Note that historyDictionary was designed for RARE reuse (like process IDs thread IDs etc).   For file handles we may want to use something else instead.
However I would like to see if a small tweek will fix things.    We are very likely to both add and fetch things in chronological order.   If we keep a one element cache to the last access, then it should speed things up dramatically for a very small effort.

Fixed by PR #203


Parameter of CM model setting issues for plug-in tasks in the real world

Thank you very much for your work. Previously, under your guidance, we successfully completed the plug-in task using the original DP. Following the same parameter configuration from your consistency policy in the simulation task, we trained the EDM and CTMP strategies for the plug-in task. However, the resulting CTMP curve appears quite strange. Could you advise if there are any changes needed in the parameter settings for strategies in the real environment?
EDM training curve as shown in the attached image.

CTMP training curve as shown in the attached image.

Thank you!

@kevin-thankyou-lin @Aaditya-Prasad

I have had runs with loss 'curves' that look like what you're seeing; I copied loss and mse error from one of our real world training runs below:

We have had runs (in sim) without the loss spikes results (though you can see overfitting):

The loss spikes do appear only in the DSM loss (1), the CTM loss (2) is much more regular:

so the first thing I'd try would be to log the sampled noise scales for the DSM loss and see if the spikes happen when very ood noise scales are sampled. I didn't get a chance to try this due to timelines. It'd also be reasonable to play around with the learning rate, relative loss balancing, and making sure the dataset is properly shuffled.


profile page: scratch org instance list should list project&plan

I'd love to see this as well! I'm using a few orgs, some with both "Dev Org and Sample Data" and some with just "Dev Org." It would be very handy to be able to see which plans and/or flows are associated with which org logins from the "Scratch Org Instances" page. Thanks

!

It would also be nice to show the status of the build to create the org, in case it's still in progress or ran into an error.


fix create table as macro

@mlinhh what changes have you made here from #32 ?
Please add a description :)

@mlinhh can you push another commit here? Doing so will trigger the automated testing.


Modified

Here is the code to do all traversals with a single code and function.

Good job. This is what was required. hacktoberfest-accepted.


How to find the same transaction in other explorers?

e.g. https://lw-oasis-explorer-frontend.pages.dev/emerald/transactions/1ada4eb14e50d7c5426f707b6d636e2222280308f09356c1cb2c14503fe927e3
Issue is that Oasis Network Explorer currently uses tx.hash, not tx.eth_hash like other explorers

https://github.com/oasisprotocol/oasis-indexer/pull/315 added support for looking up runtime transactions by either oasis hash or eth hash, does this help?

In case it matters: the indexer endpoint https://index-staging.oasislabs.com/v1/emerald/transactions/:hash works for both Oasis and eth hashes.

Yaay, that's finally deployed!


InvalidParameterException in contrib.ecs _get_task_statuses

I am currently writing a data processing pipeline with luigi utilising the ecs module.
Everything was working fine when using the local-scheduler. However, I have noticed that when I run the pipeline using the central scheduler with two or more workers I am seeing a bug surrounding the acquisition of a taskArn from Amazon. The problem occurs in about 50% of test runs so I think there is a concurrency issue.
I receive the following error:

Traceback (most recent call last):
File "/lib/python3.6/site-packages/luigi-2.7.2-py3.6.egg/luigi/worker.py", line 194, in run
new_deps = self._run_get_new_deps()
File "/lib/python3.6/site-packages/luigi-2.7.2-py3.6.egg/luigi/worker.py", line 131, in _run_get_new_deps
task_gen = self.task.run()
File "my_pipelines/tasks/util.py", line 65, in run
super().run()
File "/lib/python3.6/site-packages/luigi-2.7.2-py3.6.egg/luigi/contrib/ecs.py", line 195, in run
_track_tasks(self._task_ids, self.cluster)
File "/lib/python3.6/site-packages/luigi-2.7.2-py3.6.egg/luigi/contrib/ecs.py", line 91, in _track_tasks
statuses = _get_task_statuses(task_ids, cluster)
File "/lib/python3.6/site-packages/luigi-2.7.2-py3.6.egg/luigi/contrib/ecs.py", line 74, in _get_task_statuses
response = client.describe_tasks(tasks=task_ids, cluster=cluster)
File "/lib/python3.6/site-packages/botocore-1.8.46-py3.6.egg/botocore/client.py", line 324, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/lib/python3.6/site-packages/botocore-1.8.46-py3.6.egg/botocore/client.py", line 622, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.errorfactory.InvalidParameterException: An error occurred (InvalidParameterException) when calling the DescribeTasks operation: Tasks cannot be empty.

After doing a little bit of digging I think I have diagnosed the problem. It seems that the call to AWS (via a boto client) is failing either on Line 182 or 174 of ecs.py. Presumably when two requests are made almost simultaneously one of the requests is issued as a failure. The result of the failure is that the taskArn variable in the response is not initialised. Thus the tasks list is left empty and the error above is produced.
Perhaps a possible fix would be to surround the boto responses with some retry code in the event of an error.
Thanks,
Henry

More investigation has given more insight to the problem.
The error is caused by the client.run_task call on line 182. I am receiving a failure with the reason "RESOURCE:MEMORY" when there are not enough available resources for the task. The failures fails to populate the self.task_ids and the error above is shown.
In my case, and I suspect in other cases as well, this behaviour is not ideal. For the purposes of my pipeline I need the task to wait until resources are available and then to submit the task_run again. I have inherited the ECSTask class and overwritten the run function in order to allow the response to be wrapped like so:
` def run_task_on_ecs(self):
    # Submit the task to AWS ECS and get assigned task ID
    overrides = self.__get_overrides__()

    valid_reasons = ['RESOURCE:MEMORY',]

    sleep_time = 20
    task_started = False
    wait = False

    while not task_started:
        response = CLIENT.run_task(taskDefinition=self.task_def_arn,
                                   overrides=overrides,
                                   cluster=self.cluster)

        if len(response['failures']) == 1:
            failure = response['failures'][0]
            if failure['reason'] in valid_reasons:
                LOGGER.debug(
                    'ECS task status for tasks %s: %s' % \
                        (self.task_def_arn, 'WAITING'))

                time.sleep(sleep_time)
            else:
                raise RuntimeError(
                    'Unkown reason for ECS run_task failure ')
        elif len(response['failures']) > 1:
            raise RuntimeError(
                ('Multiple failure reasons when trying to '
                 'run a task on the ecs cluster.'))

        else:
            self._task_ids = [task['taskArn'] for task in response['tasks']]
            self.remote_task_started = True
            task_started = True`


Issue with k8s.io/zh/docs/setup/learning-environment/

No content in this page.

/language zh
/kind bug
BTW the fix for this is to copy the redirect that's configured for the English version of the page.

/language zh
/kind bug
BTW the fix for this is to copy the redirect that's configured for the English version of the page.

/assign

/assign


Open metadata archive example and documentation

This issue proposed the creation of documentation, utilities and a lab notebook explaining how to build open metadata archives.

Moved to 1.3 as agreed on team call

See https://egeria.odpi.org/open-metadata-resources/open-metadata-archives/


Security section configuration

Going through the Create secure cluster setup and just noticed there is no mention about the ClientCertificateThumbprints ?
I suppose they have to be different as .\CreateServiceFabricCluster.ps1 script fails with message:
Config validation: Client Certificate Thumbprint contains invalid characters
even if I enter the server cert thumbprint...

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

ID: 853125bc-3720-1031-f79e-21aafcd38ee1
Version Independent ID: 4db45bdd-eef4-bf40-b92d-d98a71c982d4
Content: Secure an Azure Service Fabric cluster on Windows by using certificates
Content Source: articles/service-fabric/service-fabric-windows-cluster-x509-security.md
Service: service-fabric
GitHub Login: @dkkapur
Microsoft Alias: dekapur

Thanks for the feedback! We are currently investigating and will update you shortly.

@EM1L can you provide me a link to the other doc you referred to when creating a secure cluster?

I will close this out but if you feel you need more information please just let me know.


ArgumentNullException on controller discovery at design-time

Source issue: https://github.com/aspnet/EntityFramework/issues/5065
DefaultAssemblyPartDiscoveryProvider.DiscoverAssemblyParts throws if entryAssemblyName is null. This is condition happens when using a tool like dotnet-ef to discover user services.
Call stack:
 System.ArgumentNullException: Value cannot be null.
Parameter name: assemblyName
   at System.Reflection.AssemblyName..ctor(String assemblyName)
   at Microsoft.AspNetCore.Mvc.Internal.DefaultAssemblyPartDiscoveryProvider.DiscoverAssemblyParts(String entryPointAssemblyName)
   at Microsoft.Extensions.DependencyInjection.MvcCoreServiceCollectionExtensions.GetApplicationPartManager(IServiceCollection services)

Triage: this appears to a blocking issue for using dotnet-ef on a web project.

/cc @Eilon @javiercn

Hi, the issue is in https://github.com/aspnet/EntityFramework/blob/b5b9d2b3303093f7014248174b71d354a684e738/src/Microsoft.EntityFrameworkCore.Commands/Design/Internal/StartupInvoker.cs#L118.
MVC expects the hosting environment to have a valid application name. If you are adding your own hosting environment, you should initialize it there. In runtime scenarios the ApplicationName will never be null by default
We have an issue to track this and change this mechanism for a more resilient alternative in the future, but in any case, you should always initialize your hosting environment properly. https://github.com/aspnet/Mvc/issues/4353

Closed as duplicate, tracking on #4353