Screen not responsive

Hi all,
I just updated Crouton today and am experiencing the following issues:

Open into Crouton and Trusty
Try to launch Guake -- part of window shows but not fully rendered
Try to open xterm - window shows but typing doens't display, minimize and restore shows what was typed
Similar problems with other windows (Chrome, etc.)

Could this be related to #477?
Note: I did follow this guide earlier to get Virtualbox working but have reverted that and associate this problem with the upgrade to crouton I performed while working through that process: https://github.com/dnschneid/crouton/wiki/Build-kernel-headers-and-install-Virtualbox-(x86)
Acer C720
Google Chrome	41.0.2272.102 (Official Build)
Revision	00f0f7211cf494489f5046f4510733d61fe95663
Platform	6680.78.0 (Official Build) stable-channel peppy
crouton: version 1-20150423153254~master:2f55723c
release: trusty
architecture: amd64
targets: audio
host: version 6680.78.0 (Official Build) stable-channel peppy
kernel: Linux localhost 3.8.11 #1 SMP Fri Mar 20 15:40:08 PDT 2015 x86_64 x86_64 x86_64 GNU/Linux
freon: no

This doesn't sound exactly like your problem but I thought I'd mention -
I also use 'guake' and, sometimes when I first open it, it's not rendered correctly on the screen so I just exit and hit the launch key again and all is well.

Thanks @DennisLfromGA for that tidbit. This is definitely a bigger problem than just guake.
I had one other thought. I'm running Cinnamon desktop and perhaps this is causing the problem? Here's version information for that:
(cinnamon)mike@localhost ~ $ sudo apt-cache policy cinnamon
cinnamon:
Installed: 2.4.5ubuntu2
Candidate: 2.4.5ubuntu2
Version table:
*** 2.4.5ubuntu2 0
500 http://ppa.launchpad.net/lestcape/cinnamon/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status

I haven't run cinnamon since the target dried up and went away. I haven't tried any of the newer ppa's yet either so I can't be of much help I'm afraid.
[ I've got Linux Mint 17.1 loaded on /dev/sda7 so I'm good to go when I need a cinnamon fix. ;) ]

I'm going to assume this is my own fault and close the issue.


[Design QA] Card Design Desktop+Mobile

Paragraph font size should be 16px with Regular weight, now it’s set to 18 and it looks like medium or bold.
Let’s set paragraph up to 3 lines and add text truncation, when clicking the paragraph it expands. and let’s set character limit to 230.

Keep the text inside the card, right now the paragraph is outside the card.

Devs:

Design:

Technical Implementation
To implement the requested changes in your React Native CollectiveCard component, you need to adjust the paragraph (description) styles for font size and weight, limit the text to three lines with truncation, enable expansion on click, and ensure the text stays within the card boundaries. Here's how you can modify the code to achieve this:

Update Description Style:
Change the description style to have a font size of 16px, regular weight, and limit it to 3 lines with truncation.
description: {
  fontSize: 16,
  lineHeight: 24, // Adjust line height for better readability
  color: Colors.black,
  ...InterRegular, // Use regular font weight
  flexShrink: 1,
  numberOfLines: 3, // Limit to 3 lines
  ellipsizeMode: 'tail', // Add text truncation
},

Add State for Expanded Text:
Introduce a new state variable to manage whether the description is expanded or not.
const [isDescriptionExpanded, setIsDescriptionExpanded] = useState(false);

Modify Description Text Component:
Update the Text component for the description to change the numberOfLines property based on whether the description is expanded or not. Also, add an onPress event to toggle the expansion.
<Text
  style={styles.description}
  numberOfLines={isDescriptionExpanded ? undefined : 3}
  onPress={() => setIsDescriptionExpanded(!isDescriptionExpanded)}
>
  {description}
</Text>

Character Limit for Description:
To enforce a character limit of 230, you can slice the description string.
<Text
  ...
>
  {description.slice(0, 230)}
</Text>

Ensure Text Inside Card:
To keep the text inside the card, ensure that the cardDescription style provides adequate padding and margin to contain the text. This seems to be already handled in your existing cardContainer style, but you can adjust the padding or margin if needed.

Adjust Styles for Flexbox Layout:
Make sure the flexbox layout is correctly set up to handle the text expansion within the card. You might need to adjust flex properties in the styles to ensure the layout works as expected.

Test the Component:
Finally, test the component to ensure that the text truncation, expansion on click, and character limit work as expected, and that the layout adjusts accordingly without breaking the card's design.

These changes will allow the paragraph in your CollectiveCard component to have a smaller, regular-weight font, truncate after three lines, expand when clicked, and adhere to a character limit, all while ensuring the text remains within the boundaries of the card.

@benefacto I believe today you have the elipsses styling option instead of slice

@SanaJamm could you take a look here - https://good-collective-72ntzd8nf-gooddollarteam.vercel.app/ ?


use linalg.solve in place of inverse

Minor PR that bypasses the computation of the inverse of the covariance matrix by using torch.linalg.solve to compute the unnormalised vector of allocations.
Thanks.

Thank you for the PR!
The CI is failing since there is a problem on master.  I will try to fix it ASAP and then we can merge this PR.

Yeh, that should be correct:) Plus it seems like it is more stable and faster https://pytorch.org/docs/stable/generated/torch.linalg.solve.html.
Thank you very much!

Yep, that was my rationale, should've made it clearer. Thanks for the library :)


Testing registery client

Task: https://github.com/threefoldtech/home/issues/389
Also Make sure docs are well written

Some work still needed: https://github.com/threefoldtech/jumpscaleX_core/pull/166
Test update: https://github.com/threefoldtech/jumpscaleX_threebot/commit/c4304a6b6d60af0717e565b736ac0e74b646bc3c


About HCD Dataset

Could you tell me how can I download the HCD dataset? I can not find it on the Internet.

Did you test the model?


Introduced DeviceBootloader::getFlashedVersion to retrieve the bootloader version flashed on the device. Fixed isUserBootloaderSupported - thereby fixed user bootloader flashing.

@diablodale reported in https://github.com/luxonis/depthai-core/issues/988 that DeviceBootloader::getVersion() returns the incorrect version when constructed with allowFlashingBootloader=true.
As you noticed - underneath depthai boots the latest embedded bootloader. As getVersion() returns the current running version of the bootloader - the reported version was unexpected (e.g. device with 0.0.17 bl flashed, would report bl version 0.0.26)..
This version reporting also messes with flashUserBootloader, due to reliance on getVersion() to check if the "flashed" bootloader supports user bootloader (as reported in https://github.com/luxonis/depthai-core/issues/995).
To resolve this issue - this PR introduces a DeviceBootloader::getFlashedVersion() api to get the flashed bl version, isUserBootloaderSupported() now relies on getFlashedVersion to decide whether flashing a user bootloader is supported. getVersion is left unchanged and still reports the version of the booted bootloader.
@jakaskerl could we enhance the docs in this regard. We could include some comments about which version getVersion reports etc.
Thanks @diablodale for the thorough bug reports.

Just remembered... where are the test cases?

@moratom / @diablodale  I will add the fix for https://github.com/luxonis/depthai-core/issues/993 in here too.


[web-server] Flutter Debug Extension not connecting to docker container

Steps to Reproduce

Create a Dockerfile with Flutter installed
Run with exposed web port (8000 in my case): docker run -v appcode:/app -p 8000:8000 my-flutter-container bash
Run flutter in the container: flutter run -d web-server --web-port 8000 --web-hostname <IP_ADDRESS>
On client machine, navigate to http://localhost:8000

Expected results:
The flutter app + debug extension to work.
Actual results:
The flutter app loads, I see the app, but the extension won't connect.

Logs

dev@bf829b73d06b:/app$ flutter run -d web-server --web-port 8000 --web-hostname <IP_ADDRESS> --verbose
[  +67 ms] executing: uname -m
[  +29 ms] Exit code 0 from: uname -m
[        ] x86_64
[  +12 ms] executing: [/home/dev/.local/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +3 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 8264cb3e8a797eef39cbcd32bb56fd07790efb7f
[        ] executing: [/home/dev/.local/flutter/] git tag --points-at 8264cb3e8a797eef39cbcd32bb56fd07790efb7f
[   +2 ms] Exit code 0 from: git tag --points-at 8264cb3e8a797eef39cbcd32bb56fd07790efb7f
[        ] 2.1.0-12.1.pre
[  +41 ms] executing: [/home/dev/.local/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +2 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/dev
[        ] executing: [/home/dev/.local/flutter/] git ls-remote --get-url origin
[   +2 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +25 ms] Unable to locate an Android SDK.
[   +5 ms] executing: [/home/dev/.local/flutter/] git rev-parse --abbrev-ref HEAD
[   +2 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] dev
[  +63 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +65 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +71 ms] Skipping pub get: version match.
[ +120 ms] Generating /app/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[ +101 ms] Launching lib/main.dart on Web Server in debug mode...
[  +99 ms] Updating assets
[  +70 ms] Waiting for connection from debug service on Web Server...
[  +95 ms] <- reset
[   +6 ms] /home/dev/.local/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev
/home/dev/.local/flutter/bin/cache/artifacts/engine/linux-x64/frontend_server.dart.snapshot --sdk-root
/home/dev/.local/flutter/bin/cache/flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names
--experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill
/tmp/flutter_tools.VVBCXI/flutter_tool.DHQLAH/app.dill --libraries-spec
file:///home/dev/.local/flutter/bin/cache/flutter_web_sdk/libraries.json --packages /app/.dart_tool/package_config.json
-Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root
/tmp/flutter_tools.VVBCXI/flutter_tools.QLUNHA --filesystem-scheme org-dartlang-app --initialize-from-dill
build/c7922d95bf4a2462b75c84a97c312edb.cache.dill.track.dill --platform
file:///home/dev/.local/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill --no-sound-null-safety
[  +17 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+16526 ms] Waiting for connection from debug service on Web Server... (completed in 16.6s)
[        ] Synced 29.2MB.
[        ] <- accept
[        ] Caching compiled dill
[  +25 ms] lib/main.dart is being served at http://<IP_ADDRESS>:8000
[        ] The web-server device requires the Dart Debug Chrome extension for debugging. Consider using the Chrome or
Edge devices
           for an improved development workflow.
[   +6 ms] 🔥  To hot restart changes while running, press "r" or "R".
[   +1 ms] For a more detailed help message, press "h". To quit, press "q".

dev@bf829b73d06b:~$ flutter analyze
Analyzing dev...
No issues found! (ran in 0.6s)

[✓] Flutter (Channel dev, 2.1.0-12.1.pre, on Linux, locale en_US)
    • Flutter version 2.1.0-12.1.pre at /home/dev/.local/flutter
    • Framework revision 8264cb3e8a (2 weeks ago), 2021-03-10 12:37:57 -0800
    • Engine revision 711ab3fda0
    • Dart version 2.13.0 (build 2.13.0-116.0.dev)

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

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

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[!] Connected device
    ! No devices available

! Doctor found issues in 4 categories.

Hi @adrubesh
This is not related to flutter itself but VS Code Flutter Extension
Nevertheless, I tried it out of curiosity, extensions woks fine in a container and app launches with no issues
Following the indication of VS Code Flutter Extension, the correct way to address the problem is to open an issue in the dedicated repository.
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you

@TahaTesser I'm not using Vscode.

Hi @adrubesh
What extension in the screenshot is this? What is "Flutter Debug Extension "?
https://user-images.githubusercontent.com/33096067/112326578-a1049000-8c82-11eb-99ba-b9bd76370746.png
Also please provide complete Dockerfile and Linux distro details
Thank you

@TahaTesser  Here is a sample Dockerfile that I tested out. (Add to a sample flutter project directory that's already been initialized via flutter create .) and then do a docker build -t test-flutter-container .

RUN flutter clean

ENTRYPOINT ["flutter", "run", "--web-port", "8000", "--web-hostname", "<IP_ADDRESS>", "-d", "web-server"]

EXPOSE 8000

The extension is the browser extension, 'Dart Debug' from https://chrome.google.com/webstore/detail/dart-debug-extension/eljbmlghnomdjgdjmbdekegdkbabckhm that the CLI mentions to use when using the web-server device.

Hi @adrubesh
Can you point to the Flutter documentation where it mentions this dart plugin? link it please
Thank you

It's output in the console as soon as you do a flutter run

@adrubesh
Thanks for the Dockerfile and steps, I can reproduce it on Ubuntu (FYI using the same Dockerfile on Windows doesn't even load the page)

preview

flutter doctor -v
[✓] Flutter (Channel dev, 2.1.0-12.1.pre, on Linux, locale en_IN)
    • Flutter version 2.1.0-12.1.pre at /home/taha/Code/flutter_dev
    • Framework revision 8264cb3e8a (3 weeks ago), 2021-03-10 12:37:57 -0800
    • Engine revision 711ab3fda0
    • Dart version 2.13.0 (build 2.13.0-116.0.dev)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /home/taha/Code/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /home/taha/Code/SDK
    • Java binary at: /home/taha/Code/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.
[✓] Chrome - develop for the web
    • Chrome at google-chrome
[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1
[✓] Android Studio (version 4.1)
    • Android Studio at /home/taha/Code/android-studio
    • Flutter plugin version 54.1.1
    • Dart plugin version 201.9335
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
[✓] VS Code (version 1.54.3)
    • VS Code at /usr/share/code
    • Flutter extension version 3.20.0
[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Linux
    • Chrome (web)    • chrome • web-javascript • Google Chrome 89.0.4389.90
• No issues found!

FYI @annagrin


[OCCM] Add Region code to ProviderID

/kind feature
What happened:
Hello. I have a multi-region OpenStack setup for one Kubernetes cluster. Each region has its independent OpenStack installation.
Currently, OCCM does not support multi-region installation.
And I can launch OCCM separately in each zone, but they will affect each other. One OCCM wouldn't find an instance from another region (it will try to delete the node from different region).
All works fine if ProviderID has a region code.
Here a few changes in OCCM https://github.com/sergelogvinov/cloud-provider-openstack/commit/c102acbb0f404f64d78c92826ce308d225b9c215 (it support old and new ProviderID format)
So can I add this feature to the OCCM ?
What you expected to happen:
OLD string:  ProviderID =${ProviderName}:///${instance-id}
NEW string: ProviderID =${ProviderName}://${REGION}/${instance-id}
Anything else we need to know?:
Environment:

openstack-cloud-controller-manager(or other related binary) version:
OpenStack version:
Others:

Sounds good and valid to me. Could you please create a PR? (and leave out the go.mod/go.sum updates).
For now, I would target v1.25, but don't see anything against backporting to v1.24.

+1 to introduce this
so one k8s cluster in mutliple region is the use case, correct?
And I think we need consider backward compatible as well

Yep. One k8s-cluster (one control-plane) in two or more independent OpenStack installations.

This sounds awesome! :clap: I've seen something similar in the AWS cloud-controller-manager and it makes total sense to add this.


feat: migrate pollux VC JWT from Circe to zio-json

This was the last step of this migration. Circe is no more a project dependency.

coverage: 48.8% (-0.2%) from 49.006%
when pulling c7809202cad9985a07ca400220897350c97440b4 on feat/migrate-pollux-vc-jwt-from-circe-to-zio-json
into d0c3506ed04b8aeab5c007c33ede61ca48800234 on main.


Redux!

hi, @Abhishek357  Can you elaborate the issue?

@Jitulteron7  Currently, we are storing the admin login/logout info & the contract instance in the state which needs to be passed as props to the different components that need the 2 variables. We want to refactor the code and use Redux that helps to manage the global state, which can be used at several places in our application without the need to pass it as props.


Can't disable cache

When $cache = null, then Call to a member function getOrSet() on null

Last commit not updated in composer

I created release for this fix, update your package please


Move Mk2Expansion to Github downloads

name author abstract - you can grab them from the most recent .ckan that we have indexed.


NgModule: BrowserModule Vs. CommonModule not explained

The docs state the following

We also replaced BrowserModule by CommonModule for reasons we explain soon.

Does soon mean it will be added in the near future, or that it will be explained later on in the documentation? Because currently, the link is not pointing to anything.
After reading the entire document, I believe this is the same reason as to why you have SharedModule.forRoot() and SharedModule. Because in this case, BrowserModule bootstraps application-wide providers. If you would use BrowserModule everywhere, lazy-loaded feature modules will create a new instance of those providers in their child-injector.
I'm not sure though, just guessing here. Would be nice if it was explained more explicitly.

If the link is not sending you anywhere that is a bug and I will fix it.

Thanks. Incorporated in #1911


Examples of GoogleDriveImport with JS Node client?

Any examples? I see the ScoreCreation but not using the google drive import.
Thank you in advance!

Hey there,
We have a request sample in our REST API Docs:

Are you using it with this JS SDK? We haven't updated it for a while, I will need to check what OpenAPI Generator we would use these days.


Telemetry packing breaks on contents objects

During contents operations, origins are being passed to the profiler with the attached _INTERNAL suffix. The issue occurs because write, getBucket, and other functions which use rados directly are passed the suffixed origin by the functions in Vaultaire.InternalStore, which they pass on to profileTime; profileTime explodes because the origin is longer than the eight bytes it allocates for that part of the telemetry message.
There are a few ways we can work around this, including extending that field in the telemetry messages (and thus differentiating between regular and internal buckets at the telemetry level); testing for the presence of the suffix and cutting it off; and restructuring the low-level write/read functions to take an additional internal parameter and add the suffix themselves. After discussion with @tranma and @christian-marie we've decided to go with the latter option. I'm working on implementing the fix now.

Fixed in #73.


Add option to disable loading models at startup

Changelog
On some scenarios (i.e. MMS servers), it makes sense to disable loading models at startup time. This PR adds an option to the server settings to do that.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign adriangonz
You can assign the PR to them by writing /assign @adriangonz in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: adriangonz
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [adriangonz]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


feat: migrate asyncapi3comparison and tabs

migrated asyncapi3comparison and tabs

@akshatnema @anshgoyalevil updated the pr

@akshatnema updated the pr and removed unnecessary line breaks

@akshatnema pr updated

@vishvamsinh28 resolve the lint errors.

@akshatnema lint error fixed

/rtm


godaddy_domain_record resource is updated each time

Each time I run terraform apply or terraform plan, all godaddy_domain_record resources are recreated. Could you please tell how to solve this issue?
I use Terraform v1.3.3 on darwin_arm64.
I've built a local version of the provider as described here https://github.com/n3integration/terraform-provider-godaddy/issues/49 (using https://github.com/n3integration/terraform-provider-godaddy/commit/cdff46b4779076476773cb63b03de2eda900b64d)

I think this might be the same thing as https://github.com/n3integration/terraform-provider-godaddy/issues/39


pyinstaller-made executable evokes threat detection by Windows Defender: Trojan:Win32/Wacatac.H!ml

OS: Windows 10 Pro
The threat page: Trojan:Win32/Wacatac.H!ml
It fires at the first users attempt to lounge the executable. To run it, the user had to go to the Windows Defender panel and manually mark it as non-threat.

There's a similar issue in pyinstaller repository.
It looks like downgrade to the older version should fix the issue.


fix(email)📧: Update attendance policy and reinvitation message in email template

Clarify the minimum attendance requirement as four out of five sessions.
Adjust the record of absences to reflect three missed out of five.
Update the invitation for the next season's Sunday school, ensuring clarity on attendance reset.

🚀 Deployed on https://deploy-preview-58--cbcgb-com-sgbs-training.netlify.app


Install and use beaver

Beaver is a python daemon for communicating with logstash.

Beaver installation is simple:
pip install beaver
pip install --upgrade beaver
Create a beaver.conf file with at a minimum the following entries:
[beaver]
logstash_version: 1
Then beaver runs on the local machine and at a minimum output to stdout.

Per the beaver documentation at:  http://beaver.readthedocs.org/en/latest/user/usage.html beaver should connect to elasticsearch directly.
"""
The HTTP transport simply posts the payload data for a log event to the url specified here. You can use this to post directly to elastic search, for example by creating an index and posting json to the index URL: Assuming an elastic search instance running on your localhost: Create a ‘logs’ index: curl -XPUT ‘http://localhost:9200/logs/‘
A beaver config to post directly to elastic search:
/etc/beaver/conf
[beaver]
format: json
logstash_version: 1
http_url: http://localhost:9200/logs/log
#from the commandline
beaver -c /etc/beaver/conf -F json -f /var/log/somefile -t http
Current attempts to get running yield only 400 errors from elasticsearch.  Will look into this more later, maybe.


fix arithmetic issue in dot detection

The bound was too tight, I encountered a case where it produced NaN output with that number equal to 1.13687e-12.
Haven't tested if this new bound is safe but it should at least be safer than the current one.

Can you add some tests? I.e. check a million or so random log-distributed values, and see if they trigger the issue.

I tried testing more random inputs but couldn't get one that triggers NaN even when trying lots of inputs.
The error bound that we had in the test was too tight though — I could find examples that get close to the new error bound.
The problematic behavior seems to be caused by taking the square root of something that can get slightly negative — but only for particular combinations of the two input values, which cannot be found easily by just using random values for both.
The new bailout condition specifically tests for d < 0 too now.
I also added the problem input as a specific test case, and bumped up the amount of random testing to an amount that would find a counterexample for the previous error bound, but I kept it low enough so the test doesn't take much time; I tested with 1 billion inputs and couldn't find a counterexample for the new bound.

The test should use log-distributed values to have any chance of finding issues, I think :-)


Upgrade to d3 version 4.x

It would be great to have this upgraded to d3 version 4.x

I recall attempting to do that once. I quickly gave up because it was going to be more work than I expected. Though I can't recall why.

I gave a thumbs up to the suggestion. d3 tips and tricks has a very nice section of trees. I was looking in that reference to see how much effort it was for Malcom Maclean. It didn't look too bad at first blush. https://leanpub.com/d3-t-and-t-v4/read
I guess one issue is updating all the examples.
Do you take pull requests? (Not sure if I can commit to this).

I would review and hopefully accept a pull request.

v6 was just released: https://github.com/d3/d3/blob/master/CHANGES.md#changes-in-d3-60


docs: README.md 최신화

Total Coverage: NaN%
Coverage ReportFileBranchesFuncsLinesUncovered Linestest_cal.c100%100%100%cal.c100%100%100%


Create file successfully, but with wrong ufs?

Alluxio Version:
2.8.1
Describe the bug
Create file successfully, but with wrong ufs.

As shown in the figure, although client2 finally completed the file successfully, the ufs has been replaced.
The client can‘t create a path that already exists an incomplete file. But it can be created after delete it first. This is how the alluxio client hdfs filesystem interface is implemented. So does the above problem occur?
  @Test
  public void createFile2() throws Exception {
    String uniqPath = PathUtils.uniqPath();
    CreateFilePOptions op = CreateFilePOptions.newBuilder().setRecursive(true)
      .setWriteType(WritePType.THROUGH).build();

    AlluxioURI uri = new AlluxioURI(uniqPath);
    FileOutStream outStream = mFileSystem.createFile(uri, op);
    outStream.write("cool".getBytes());
    outStream.flush();

    mFileSystem.delete(uri);
    FileOutStream outStream2 = mFileSystem.createFile(uri, op);
    outStream2.write("coolllllllllll".getBytes());
    outStream2.flush();

    outStream.close();
    URIStatus status = mFileSystem.getStatus(uri);

    System.out.println(status);
    System.out.println(new File(status.getUfsPath()).length());
    System.out.println(status.getLength());
  }

Similar problems can be reproduced by placing the above code in alluxio.client.fs.FileSystemIntegrationTest.
Thank @ryantotti

@yuzhu PTAL, thanks

Interesting question.

@lucyge2022 @yuzhu FYI


KOGITO-9088: Add VSCode extension tests for Serverless Workflow YAML …

…files
https://issues.redhat.com/browse/KOGITO-9088

Hello @paulovmr , could you please have a look at this PR? Please squash the commits when merging and keep only the main commit message. Thank you!


Add developer documentation for setting up Microk8s [skip ci]

It took me quite a while to get Microk8s set up so I would like to add some notes to the developer documentation so that it doesn't take me so long next time I need to do this. Hopefully, it will save time for others as well.

build

build


Assign multiple materials to one 3D model

Hi Dr Vidal,
I am using the gVXR for my X-ray CT simulation, and my sample consists of different components made from different materials. I've created a .stl 3D model of my sample, however, I am not sure how can I assign different materials to different parts of the 3D model via gVXR, may I ask for your help? Thank you very much!

Hi ZhaiQW,
sorry for my late reply, I missed your message.
You need at least one STL file per material.
There is an example in multi_material-lungman_phantom.ipynb. Section 5 on Set the Sample shows how to use several meshes from STL files. Each mesh must be identified with a label (string). You can use the label to set the material property corresponding to each STL file. In your case you'll use setCompound and setDensity instead of setHounsfieldUnit.
Please let me know if you need further assistance.
regards,
Franck

Hi Dr Vidal,
Received your solution, thank you very much for your help!


Path to Logfiles incorrect

Hi there,
In this section https://learn.microsoft.com/en-us/fslogix/troubleshooting-vhd-disk-compaction#log-files the docs state that the path to the log file is C:\ProgramData\FSLogix\Logs\Profile-yyyyMMdd.log. However on a system with version 2.9.8440.42104 installed, the path to the file is actually C:\ProgramData\FSLogix\Logs\Profile\Profile-yyyyMMdd.log

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

ID: be1a602a-a4ba-270f-37f9-6a4c0fe84580
Version Independent ID: be1a602a-a4ba-270f-37f9-6a4c0fe84580
Content: Troubleshooting VHD Disk Compaction - FSLogix
Content Source: fslogix-docs/troubleshooting-vhd-disk-compaction.md
Product: fslogix
GitHub Login: @msft-jasonparker
Microsoft Alias: japarker

This has been fixed and should be live in about an hour


display Slide Type selection on Markdown cells

My slides/sub-slides generally start with a Markdown cell for headings and whatnot, but this extension seems to only be showing the Slide Type selection on Code cells. Example:

Thanks!

Currently I open my jupyter notebook in jupyter before converting to slides, only to get an overview if all my markdown cells have the right slide type. So it would be a nice productivity and quality of life boost if it would be displayed directly in vs code. Thanks.


Split the footer image and added links to 1hive and connext

Did so following the original guideline from @crisog linking to 1hive.org.
Couldn't make it work with "Link to", so used "a href", hope that's good enough.

We might want to make it look better on mobile. We should keep using SVGs for this purpose.

Any progress on this @Harthor ?

Any progress on this @Harthor ?

Have been trying, managed to make  work, but still happening the same on mobile, not sure if you know maybe who did the css for this, I find it a bit confusing

Hey @Harthor,
You reached out to me yesterday to help you with this - sorry that it took so long, I went out for food and drinks and I came home pretty late, so I pretty much just passed out when I got home.
The issue is that the images will try to fill the available space that their parent provides them. Since this is an  tag, an inline item, the space shrinks as the width of the page shrinks.
The best way I can think to solve this right now would be to change the flex direction from row to column on mobile. This also requires some other stuff, notably that we change the top margin of the images in the footer. I would suggest that we move the top margin from the individual elements in the footer to the actual footer itself.
Proposed changes:
diff --git a/packages/react-app/src/components/Container.jsx b/packages/react-app/src/components/Container.jsx
index 848e416..20fb16a 100644
--- a/packages/react-app/src/components/Container.jsx
+++ b/packages/react-app/src/components/Container.jsx
@@ -1,10 +1,12 @@
 import React from 'react';
-import { Box, Flex, Image } from '@chakra-ui/react';
+import { useMediaQuery, Box, Flex, Image } from '@chakra-ui/react';
 import { Modal, AvailableLiquidity } from 'components/index';

 const DISABLED = false;

 const Container = () => {
+  const [isLargerThan1280] = useMediaQuery("(min-width: 1280px)")
+
   return (
     <Flex align="center" direction="column">
       <Box
@@ -46,31 +48,34 @@ const Container = () => {
         <AvailableLiquidity />
       </Box>

-

-      <Image
-        src={require("../assets/poweredby.svg")}
-        bottom="0"
-        h="2rem"
-        marginTop="calc(3% + 60px)"
-      />
-
-      <Image
-        src={require("../assets/connext.svg")}
-        bottom="0"
-        h="3rem"
-        marginTop="calc(5% + 60px)"
-      />
-
-
x

-
-      <Image
-        src={require("../assets/1hive.svg")}
-        bottom="0"
-        h="3rem"
-        marginTop="calc(5% + 60px)"
-        marginLeft="15px"
-      />
-
+

+        <Image
+          src={require("../assets/poweredby.svg")}
+          bottom="0"
+          h="2rem"
+        />
+
+          <Image
+            src={require("../assets/connext.svg")}
+            bottom="0"
+            h="3rem"
+          />
+
+
x

+
+          <Image
+            src={require("../assets/1hive.svg")}
+            bottom="0"
+            h="3rem"
+            marginLeft="15px"
+          />
+

     </Flex>
   );

You can copy the patch to a file and apply it with git apply patch-file

@crisog I requested a re-review of this PR for when the patch has been applied.

Not sure why patch didn't work, but changed the files manually and it worked properly!

@crisog I requested a re-review of this PR for when the patch has been applied.

A lot better! Could we make the background transparent?

@crisog I requested a re-review of this PR for when the patch has been applied.

A lot better! Could we make the background transparent?

This seems to be the images themselves, so we need new SVGs

These are both screenshots, one is how it looked before splitting the images and the other is how it looks now after splitting the images, now there is no margin left or right but there's still a larger space between "Powered by" and "Connext", haven't been able to figure it out, it's probably because it is multiple images. Added some space also between Connext and 1Hive to make the relation a bit more similar.


How to run performance tests

Can the performance tests (test_benchmarks.py) be run outside of CI somehow? They're part of the test suite, but seems like it would require the user setup their own codspeed account, is this right? Possibly a some note can be given about how to setup performance tests. Or the github workflow could file be converted to a script a developer could run (with their own codspeed credentials)?

Added more info about this now here: https://github.com/finsberg/gotranx/pull/132

I belive this issue now has been addressed. Feel free to reopen in you disagree.

Looks good, thanks!


[DSIP-61][Master] Refactor thread pool and  state event orchestration in master

Search before asking

[X] I had searched in the DSIP and found no similar DSIP.

Motivation
Right now, the thread model and state control in the master are very complicated, these come from the original code and design and lead to the project being hard to maintain.
Concurrency modification of state
Multiple places can modify a workflow instance state in the master.
Right now we have an RPC thread pool, a failover daemon thread, a WorkflowExecuteThreadpool, and a TaskExecuteThreadpook. All of them might modify a workflow state or metadata, and all of these modification are not atomic, this means the state of a workflow/task can easily be inconsistent.

e.g. If the task is successful but the moment we stop the workflow, then the task state might be successful first but change to stop last, since the task state update is not automatic.
Furthermore, the API will also modify the workflow state e.g. when we do a pause or kill operation, once we do a pause or kill operation, the API server will change the workflow state to READY_PAUSE/READY_STOP and then send a request to the master by RPC, if the RPC fails, the state be in unexcepted.
No end-to-end task state consistency
Once the master receives a pause/kill request, the master will pause/kill the task in the db first, and then send a pause/kill request to the task executor, the request might handle failed、reject, or loss in a distributed environment.
Then the task state will be inconsistent between the master and task executor.

e.g. We stop the workflow, then the task will be killed, but if the master sends a kill request to the worker failed or the worker handles the kill request failed or worker failover, then the status will be killed in db but the task is still running in worker or remote server.
State control is very complex
There is no state machine in the master, the translation of state relies on a lot of if-else. There are a lot of bugs and it's impossible to write UT for the state translation. Most of the time, contributors fix a bug but write serial new bugs.
If we want to add a new state, this is impossible, the modification scope will be the whole master.
Failover will cause a master crash
The master doesn't use page query to find out the failover workflow instances, in some stress test, the master will directly  OOM once it begins to do master failover or global failover.
The global failover check is too frequent, each time when we do a global failover this will bring a big pressure to db since this will need to scan the whole table of workflow instances. But this only needs when the master startup first.
Seriously, we do failover in the registry client thread, this might block the registry client, since the failover will cost a lot of time.
This DSIP hopes to refactor the master and fix these problems.
Design Detail
The final architecture in the master might look like below

Each workflow instance in runtime will be loaded as a WorkflowExecutionRunnable, and the task in the WorkflowExecutionRunnable is represented as a TaskExecutionRunnable. All changes to workflow and task will be triggered by lifecycle event.
WorkflowEventBus
WorkflowEventBus is an event channel that belongs to a specific workflow instance. Each workflow instance has its own EventBus, all operations that will affect the workflow/task running, be transformed into lifecycle events, and put into the EventBus in the order of the order of arrival of events.
This can make the engine correctly easily handle the event since all events belonging to a workflow will be handled by one thread sequence.
WorkflowEventBusCoordinator
The WorkflowEventBusCoordinator is responsible for managing the EventBus and assigns the worker thread for an EventBus.
There are existing configurable workers in the WorkflowEventBusCoordinator. After a WorkflowExecutionRunnable is created, it will be assigned to an EventBusFireWorker, each WorkflowEventBus will only be assigned to one EventBusFireWorker, and one EventBusFireWorker will handle multiple WorkflowEventBus in DFS.

 WorkflowEventBusCoordinator
public class WorkflowEventBusCoordinator {

    public void registerWorkflowEventBus(IWorkflowExecutionRunnable workflowExecutionRunnable) {
        final int workerSlot = calculateWorkflowEventBusFireWorkerSlot(workflowExecutionRunnable);
        final WorkflowEventBusFireWorker workflowEventBusFireWorker = workflowEventBusFireWorkers.getWorker(workerSlot);
        workflowEventBusFireWorker.registerWorkflowEventBus(workflowExecutionRunnable);
    }

    public void unRegisterWorkflowEventBus(IWorkflowExecutionRunnable workflowExecutionRunnable) {
        final int workerSlot = calculateWorkflowEventBusFireWorkerSlot(workflowExecutionRunnable);
        final WorkflowEventBusFireWorker workflowEventBusFireWorker = workflowEventBusFireWorkers.getWorker(workerSlot);
        workflowEventBusFireWorker.unRegisterWorkflowEventBus(workflowExecutionRunnable);
    }

}

The worker number in WorkflowEventBusCoordinator is the only configuration you need to take care of, this will affect the performance of the master, a large number of workers does not mean you will have a better performance since this will increase os thread context switching, and most of the event handling will rely on db connection, other is memory operation this is very fast, only little event will rely on PRC. So it's better not to use more than twice the number of threads in your service's database connection pool, you should do some stress tests if you want to get the best configuration.
WorkflowLifecycleEvent
The workflow lifecycle event represents the operation that might happen in the workflow runtime.

 WorkflowLifecycleEventType
public enum WorkflowLifecycleEventType implements ILifecycleEventType {

    /**
     * Start the workflow instance
     */
    START,
    /**
     * Notify the workflow instance there exist a task has been finished, and should do DAG topology logic transaction.
     */
    TOPOLOGY_LOGICAL_TRANSACTION_WITH_TASK_FINISH,
    /**
     * Pause the workflow instance
     */
    PAUSE,
    /**
     * The workflow instance has been paused
     */
    PAUSED,
    /**
     * Stop the workflow instance
     */
    STOP,
    /**
     * The workflow instance has been stopped
     */
    STOPPED,
    /**
     * The workflow instance has been success
     */
    SUCCEED,
    /**
     * The workflow instance has been failed
     */
    FAILED,
    /**
     * Finalize the workflow instance.
     */
    FINALIZE,

}

Not all lifecycle is related to a workflow state. The lifecycle event does not correspond to the state.
Since not all lifecycle changes will affect the state change, some are the inner context transform.
TaskLifecycleEvent

 TaskLifecycleEventType
public enum TaskLifecycleEventType implements ILifecycleEventType {

    /**
     * Start the Task instance.
     */
    START,
    /**
     * Dispatch the task instance to target.
     */
    DISPATCH,
    /**
     * The task instance is dispatched to the target executor server.
     */
    DISPATCHED,
    /**
     * // todo: maybe we can remove this event, once the task has been dispatched it should start
     * The task instance is running at the target executor server.
     */
    RUNNING,
    /**
     * Do Timeout strategy of the task instance.
     */
    TIMEOUT,
    /**
     * Retry the task instance.
     */
    RETRY,
    /**
     * Pause the task instance.
     */
    PAUSE,
    /**
     * The task instance is paused.
     */
    PAUSED,
    /**
     * Failover the task instance.
     */
    FAILOVER,
    /**
     * Kill the task instance.
     */
    KILL,
    /**
     * The task instance is killed.
     */
    KILLED,
    /**
     * The task instance is success.
     */
    SUCCEEDED,
    /**
     * The task instance is failed.
     */
    FAILED,
    ;

}

WorkflowExecutionGraph VS WorkflowGraph
WorkflowExecutionGraph represents a real expected DAG in the runtime, it will record the runtime state of each task chain. You can take it as a physis graph.
WorkflowGraph represents the origin DAG before you trigger a workflow, it will only record the origin DAG context. You can take it as a logic graph.
e.g. If we have a DAG(A, B, C), if we run from B, then the WorkflowExecutionGraph will only contains one task.

And if we run from A the WorkflowExecutionGraph will have the same DAG with WorkflowGraph. In addition, the WorkflowExecutionGraph will contain more runtime data, if we want to know the state of the Workflow in runtime, we can directly query from the WorkflowExecutionGraph.

 IWorkflowExecutionGraph
/**
 * The workflow execution graph represent the real DAG in runtime, it might be a sub DAG of the workflow DAG.
 *
 * @see WorkflowExecutionGraph
 */
public interface IWorkflowExecutionGraph {

    /**
     * Add a new task to the graph.
     */
    void addNode(TaskExecutionRunnable taskExecutionRunnable);

    /**
     * Add a new edge to the graph.
     * <p> Right now, this method call after all the tasks are added to the graph.
     */
    void addEdge(String fromTaskName, Set<String> toTaskName);

    /**
     * Return the start tasks, the start tasks in the workflow execution graph is the tasks which predecessors is empty.
     */
    List<ITaskExecutionRunnable> getStartNodes();

    /**
     * Get the predecessor tasks of the given task.
     */
    List<ITaskExecutionRunnable> getPredecessors(String taskName);

    /**
     * Return the successor tasks of the given task.
     */
    List<ITaskExecutionRunnable> getSuccessors(String taskName);

    /**
     * Return the successor tasks of the given task.
     */
    List<ITaskExecutionRunnable> getSuccessors(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Get the ITaskExecutionRunnable by task code.
     */
    ITaskExecutionRunnable getTaskExecutionRunnableByName(String taskName);

    /**
     * Get the ITaskExecutionRunnable by task instance id.
     */
    ITaskExecutionRunnable getTaskExecutionRunnableById(Integer taskInstanceId);

    /**
     * Get the ITaskExecutionRunnable by task code.
     */
    ITaskExecutionRunnable getTaskExecutionRunnableByTaskCode(Long taskCode);

    /**
     * Get the active TaskExecutionRunnable list.
     * <p> The active TaskExecutionRunnable means the task is handling in the workflow execution graph.
     */
    List<ITaskExecutionRunnable> getActiveTaskExecutionRunnable();

    /**
     * Get all the TaskExecutionRunnable in the graph, this method will return all the TaskExecutionRunnable in the graph,
     * include active and inactive TaskExecutionRunnable.
     */
    List<ITaskExecutionRunnable> getAllTaskExecutionRunnable();

    /**
     * Check whether the given task can be trigger now.
     * <p> The task can be trigger if all the predecessors are finished and all predecessors are not failure/pause/kill.
     */
    boolean isTriggerConditionMet(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Mark the TaskExecutionRunnable is active.
     * <p> If the TaskExecutionRunnable is active means the task is handling by the workflow.
     * <p> Once we begin to handle a task, we should mark the TaskExecutionRunnable active.
     */
    void markTaskExecutionRunnableActive(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Mark the TaskExecutionRunnable is inactive.
     * <p> If the TaskExecutionRunnable is inactive means the task has not been handled by the workflow.
     * <p> Once we finish to handle a task, we should mark the TaskExecutionRunnable inactive.
     */
    void markTaskExecutionRunnableInActive(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Mark the TaskExecutionRunnable is skipped.
     * <p> Once the TaskExecutionRunnable is marked as skipped, this means the task will not be trigger.
     */
    void markTaskSkipped(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Mark the Task is skipped.
     * <p> Once the Task is marked as skipped, this means the task will not be trigger.
     */
    void markTaskSkipped(String taskName);

    /**
     * Mark the TaskExecutionRunnable chain is failure.
     * <p> Once the TaskExecutionRunnable chain is failure, then the successors will not be trigger, and the workflow execution graph might be failure.
     */
    void markTaskExecutionRunnableChainFailure(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Mark the TaskExecutionRunnable chain is pause.
     * <p> Once the TaskExecutionRunnable chain is pause, then the successors will not be trigger, and the workflow execution graph might be paused.
     */
    void markTaskExecutionRunnableChainPause(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Mark the TaskExecutionRunnable chain is kill.
     * <p> Once the TaskExecutionRunnable chain is kill, then the successors will not be trigger, and the workflow execution graph might be stop.
     */
    void markTaskExecutionRunnableChainKill(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Whether all the TaskExecutionRunnable chain in the graph is finish.
     */
    boolean isAllTaskExecutionRunnableChainFinish();

    /**
     * Whether all the TaskExecutionRunnable chain in the graph is finish with success.
     */
    boolean isAllTaskExecutionRunnableChainSuccess();

    /**
     * Whether there exist the TaskExecutionRunnable chain in the graph is finish with failure.
     */
    boolean isExistFailureTaskExecutionRunnableChain();

    /**
     * Whether there exist the TaskExecutionRunnable chain in the graph is finish with paused.
     */
    boolean isExistPauseTaskExecutionRunnableChain();

    /**
     * Whether there exist the TaskExecutionRunnable chain in the graph is finish with kill.
     */
    boolean isExistKillTaskExecutionRunnableChain();

    /**
     * Check whether the given task is the end of the task chain.
     * <p> If the given task has no successor, then it is the end of the task chain.
     */
    boolean isEndOfTaskChain(String taskName);

    /**
     * Check whether the given task is the end of the task chain.
     * <p> If the given task has no successor, then it is the end of the task chain.
     */
    boolean isEndOfTaskChain(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Whether the given task is skipped.
     * <p> Once we mark the task is skipped, then the task will not be trigger, and will trigger its successors.
     */
    boolean isTaskExecutionRunnableSkipped(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Whether the given task is forbidden.
     * <p> Once the task is forbidden then it will be passed, and will trigger its successors.
     */
    boolean isTaskExecutionRunnableForbidden(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Whether all predecessors task is skipped.
     * <p> Once all predecessors are marked as skipped, then the task will be marked as skipped, and will trigger its successors.
     */
    boolean isAllPredecessorsSkipped(ITaskExecutionRunnable taskExecutionRunnable);

    /**
     * Whether all predecessors task are condition task.
     */
    boolean isAllSuccessorsAreConditionTask(ITaskExecutionRunnable taskExecutionRunnable);
}

StateMachine
Use StateMachine to control the workflow and task state change.
WorkflowStateMachine
The WorkflowStateMachine used to control the state transition in workflow.
Each state in workflow will implement IWorkflowStateAction.
Each state should implement IWorkflowStateAction and provide the function to handle WorkflowLifecycleEvent.

 IWorkflowStateAction
/**
 * Represents the action to be taken when a workflow is in a certain state and receive a target event.
 * <p> Each {@link WorkflowExecutionStatus} should have a corresponding {@link IWorkflowStateAction} implementation.
 *
 * @see WorkflowRunningStateAction
 * @see WorkflowReadyPauseStateAction
 * @see WorkflowPausedStateAction
 * @see WorkflowReadyStopStateAction
 * @see WorkflowStoppedStateAction
 * @see WorkflowSerialWaitStateAction
 * @see WorkflowFailedStateAction
 * @see WorkflowSuccessStateAction
 * @see WorkflowFailoverStateAction
 * @see WorkflowWaitToRunStateAction
 */
public interface IWorkflowStateAction {

    /**
     * Perform the necessary actions when the workflow in a certain state receive a {@link WorkflowStartLifecycleEvent}.
     */
    void startEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                          final WorkflowStartLifecycleEvent workflowStartEvent);

    /**
     * Perform the necessary actions when the workflow in a certain state receive a {@link WorkflowTopologyLogicalTransitionWithTaskFinishLifecycleEvent}.
     */
    void topologyLogicalTransitionEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                                              final WorkflowTopologyLogicalTransitionWithTaskFinishLifecycleEvent workflowTopologyLogicalTransitionWithTaskFinishEvent);

    /**
     * Perform the necessary actions when the workflow in a certain state receive a {@link WorkflowPauseLifecycleEvent}.
     */
    void pauseEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                          final WorkflowPauseLifecycleEvent workflowPauseEvent);

    /**
     * Perform the necessary actions when the workflow in a certain state receive a {@link WorkflowStopLifecycleEvent}.
     */
    void pausedEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                           final WorkflowPausedLifecycleEvent workflowPausedEvent);

    /**
     * Perform the necessary actions when the workflow in a certain state receive a {@link WorkflowStopLifecycleEvent}.
     */
    void stopEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                         final WorkflowStopLifecycleEvent workflowStopEvent);

    /**
     * Perform the necessary actions when the workflow in a certain state receive a {@link WorkflowStoppedLifecycleEvent}.
     */
    void stoppedEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                            final WorkflowStoppedLifecycleEvent workflowStoppedEvent);

    /**
     * Perform the necessary actions when the workflow in a certain state receive a {@link WorkflowSucceedLifecycleEvent}.
     */
    void succeedEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                            final WorkflowSucceedLifecycleEvent workflowSucceedEvent);

    /**
     * Perform the necessary actions when the workflow in a certain state receive a {@link WorkflowFailedLifecycleEvent}.
     */
    void failedEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                           final WorkflowFailedLifecycleEvent workflowFailedEvent);

    /**
     * Perform the necessary actions when the workflow in a certain state receive a {@link WorkflowFinalizeLifecycleEvent}.
     */
    void finalizeEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                             final WorkflowFinalizeLifecycleEvent workflowFinalizeEvent);

    /**
     * Get the {@link WorkflowExecutionStatus} that this action match.
     */
    WorkflowExecutionStatus matchState();
}

TaskStateMachine
The TaskStateAction used to control the state transition in task.
Each state in task will implement ITaskStateAction.
Each state should implement ITaskStateAction and provide the function to handle TaskLifecycleEvent.

 ITaskStateAction
/**
 * Represents the action to be taken when a task is in a certain state and receive a target event.
 * <p> Each {@link TaskExecutionStatus} should have a corresponding {@link ITaskStateAction} implementation.
 *
 * @see TaskSubmittedStateAction
 * @see TaskDelayExecutionStateAction
 * @see TaskDispatchStateAction
 * @see TaskRunningStateAction
 * @see TaskPauseStateAction
 * @see TaskKillStateAction
 * @see TaskFailureStateAction
 * @see TaskSuccessStateAction
 * @see TaskForceSuccessStateAction
 * @see TaskFailoverStateAction
 */
public interface ITaskStateAction {

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskStartLifecycleEvent}.
     * <p> This method is called when you want to start a task.
     */
    void startEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                          final ITaskExecutionRunnable taskExecutionRunnable,
                          final TaskStartLifecycleEvent taskStartEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskRunningLifecycleEvent}.
     * <p> This method is called when the master receive task running event from executor.
     */
    void startedEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                            final ITaskExecutionRunnable taskExecutionRunnable,
                            final TaskRunningLifecycleEvent taskRunningEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskRetryLifecycleEvent}.
     * <p> This method is called when the task need to retry.
     */
    void retryEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                          final ITaskExecutionRunnable taskExecutionRunnable,
                          final TaskRetryLifecycleEvent taskRetryEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskDispatchLifecycleEvent}.
     * <p> This method is called when you want to dispatch a task.
     */
    void dispatchEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                             final ITaskExecutionRunnable taskExecutionRunnable,
                             final TaskDispatchLifecycleEvent taskDispatchEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskDispatchedLifecycleEvent}.
     * <p> This method is called when the task has been dispatched to executor.
     */
    void dispatchedEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                               final ITaskExecutionRunnable taskExecutionRunnable,
                               final TaskDispatchedLifecycleEvent taskDispatchedEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskPauseLifecycleEvent}.
     * <p> This method is called when you want to pause a task.
     */
    void pauseEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                          final ITaskExecutionRunnable taskExecutionRunnable,
                          final TaskPauseLifecycleEvent taskPauseEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskPausedLifecycleEvent}.
     * <p> This method is called when the task has been paused.
     */
    void pausedEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                           final ITaskExecutionRunnable taskExecutionRunnable,
                           final TaskPausedLifecycleEvent taskPausedEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskKillLifecycleEvent}.
     * <p> This method is called when you want to kill a task.
     */
    void killEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                         final ITaskExecutionRunnable taskExecutionRunnable,
                         final TaskKillLifecycleEvent taskKillEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskKilledLifecycleEvent}.
     * <p> This method is called when the task has been killed.
     */
    void killedEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                           final ITaskExecutionRunnable taskExecutionRunnable,
                           final TaskKilledLifecycleEvent taskKilledEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskFailedLifecycleEvent}.
     * <p> This method is called when the task has been failed.
     */
    void failedEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                           final ITaskExecutionRunnable taskExecutionRunnable,
                           final TaskFailedLifecycleEvent taskFailedEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskSuccessLifecycleEvent}.
     * <p> This method is called when the task has been success.
     */
    void succeedEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                            final ITaskExecutionRunnable taskExecutionRunnable,
                            final TaskSuccessLifecycleEvent taskSuccessEvent);

    /**
     * Perform the necessary actions when the task in a certain state receive a {@link TaskFailoverLifecycleEvent}.
     * <p> This method is called when the task need to failover.
     */
    void failoverEventAction(final IWorkflowExecutionRunnable workflowExecutionRunnable,
                             final ITaskExecutionRunnable taskExecutionRunnable,
                             final TaskFailoverLifecycleEvent taskFailoverEvent);

    /**
     * Get the {@link TaskExecutionStatus} that this action match.
     */
    TaskExecutionStatus matchState();
}

Failover
The failover will use a SystemEventBus to trigger.

There are exist three kinds of failover event in DS.
GlobalMasterFailover
The GlobalMasterFailover used to failover the history workflow in the systems. Once the master server startup it will publish a GlobalMasterFailoverEvent, the GlobalMasterFailover will scan the not finished workflow instance in DB, and check whether we should failover them, so the GlobalMasterFailover will cost a lot of time.
MasterFailover
The MasterFailover is used to failover the workflow under the crashed master. Once the master crashed, then other active masters will receive the master crashed event, then publish a MasterFailoverEvent. If all Master crashed, then failover work will rely on GlobalMasterFailover.
WorkerFailover
The WorkerFailover is used to failover the task under the crashed worker. Once the worker crashed, then all active masters will receive the worker crashed event, then publish a WorkerFailoverEvent. Each master will only failover the task which hold on the master and has been dispatched to the crashed worker.
Compatibility, Deprecation, and Migration Plan
Compatibility with the latest version, but will deprecated some interface which is not used by ui.
Test Plan
Test by UT, E2E, manual.
Master Integration Test
Right now, there is no master integration test, in this DSIP, will add master IT test support.
Code of Conduct

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

well done!


Feedback the character limit in the TextArea input for Long Covid form

Description

The Textarea input has been set with a max. characters of 1000. Added a caption text showing the number of characters that's been inputted, as the user types in the input field.
Whilst I was in this file, I tried to fix some of the Typescript errors (couldn't catch 'em all though).
Ticket: https://www.notion.so/joinzoe/Long-COVID-Add-a-character-limit-character-count-on-the-free-Text-Box-2dc00e4a3aa547659e9377aa0c580d84

On what platform have you tested the change?

[x] Android - Emulator
[ ] Android - Physical device
[x] iOS - Emulator
[ ] iOS - Physical device

Screenshots

Checklist

[ ] I have updated mockServer
[ ] I've added analytics as relevant
[ ] I have run npm test
[ ] I have run npm run test:i18n

Out of scope and potential follow-up

Noticed that the Textarea input component has some extra padding top just for Android. How much of an issue is this?
Have asked Sol about her thoughts around the design of the char count.

Looks good @juliatan!


Get-MDATPVulnerabilities

Hey guys, first submission here for #520. The playbook takes the Host entity from an alert and queries the Defender ATP API for the list of vulnerabilities associated with the machine. Please use the Word template provided in the pull as well. Not great at Word so sorry for the plain set up.
You can find further instructions in the readme. Let me know if you come across any issues because I tried to make it as dynamic as I could to ensure it's straight forward to set up.
Screenshots:

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: WayneJLee sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks, @WayneJLee for your first contribution to the Azure Sentinel GitHub repo. We will review this playbook and get back.

Hi @WayneJLee
Great playbook!  I have some fixes that must be resolved and some improvements I recommend.
Fixes:
The deployment failed using your template.

-logic app resource had diff location than then connections resources.  Connection resource was static.  You can actually removed the parameter LogicApp location.

template deployments ask the user for RG and location.  So you can use [resourceGroup().location] in the resource location property on all resources and this will make the template much more dynamic.
-your connection resources  have the wrong id.
{
"type": "MICROSOFT.WEB/CONNECTIONS",
"apiVersion": "2018-07-01-preview",
"name": "[variables('AzureSentinelConnectionName')]",
"location": "japaneast",
"properties": {
"api": {
"id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', 'japaneast', '/managedApis/', 'azuresentinel')]"
},
"displayName": "[variables('AzureSentinelConnectionDisplayName')]"
}
},
for api.id on these connection resources use the following as it makes it dynamic for the deployment:
"id": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/azuresentinel')]"
See now its getting the subid, and rg location.
Improvements:
-You could make Tenantid dynamic.  using [subscription().tenantId], then you would not need to prompt the user for the tenant id.

Consider putting the client secret in a key vault and have a step retrieve the key.

Could also consider making it use managed identity then you would not need the app id at all.

Use the Azure Sentinel - get hosts action instead of parse json for entities.  we have this built in connector, will make it easier for other users to see what you are doing.

You dont need to get auth token using HTTP connector.  when using HTTP you can provide the info for OAUTH authentication - this saves 2 steps!  just click add parameter and click authentication.

instead of get list via HTTP.  defender has a connection already for this.  Plus then you can put an odata filter to get just that machine.  Once you have that you can save many steps by removing the loops and conditions and just call the get vuln http passing in the machine id returned from the builtin connector!

Thank you very much for this @dicolanl . I'm still pretty new at ARM templates and LogicApp so the feedback is definitely appreciated.
Will work on the fixes and improvements right away. Regarding the tenant ID, I was actually contemplating making the TenantID dynamic. The reason I didn't was because I work with an MSSP so we usually need to provide a separate Tenant ID for the client's MDATP and Sharepoint environments.
If this is something Microsoft would rather not have, I can definitely make it dynamic.

Totally understand the mssp scenario.
One idea might be to have two templates. One for mssp one for customer!!
Nicholas
Security Jedi
I

From: Wayne Lee<EMAIL_ADDRESS>Sent: Wednesday, April 29, 2020 11:07:15 AM
To: Azure/Azure-Sentinel<EMAIL_ADDRESS>Cc: Nicholas DiCola (SECURITY JEDI<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Azure/Azure-Sentinel] Get-MDATPVulnerabilities (#625)
Thank you very much for this @dicolanlhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdicolanl&data=02|01|Nicholas.DiCola%40microsoft.com|c63fd8274f1b4c63083e08d7ec4f0113|72f988bf86f141af91ab2d7cd011db47|1|0|637237696375930744&sdata=pJYwKNaArbS0SWKHitBxyho2r%2B3xOEXDiwmxWi6gKuc%3D&reserved=0 . I'm still pretty new at ARM templates and LogicApp so the feedback is definitely appreciated.
Will work on the fixes and improvements right away. Regarding the tenant ID, I was actually contemplating making the TenantID dynamic. The reason I didn't was because I work with an MSSP so we usually need to provide a separate Tenant ID for the client's MDATP and Sharepoint environments.
If this is something Microsoft would rather not have, I can definitely make it dynamic.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2FAzure-Sentinel%2Fpull%2F625%23issuecomment-621272282&data=02|01|Nicholas.DiCola%40microsoft.com|c63fd8274f1b4c63083e08d7ec4f0113|72f988bf86f141af91ab2d7cd011db47|1|0|637237696375940741&sdata=rOiEAaABZIwjW%2FuA54b4ShYhu8AiJPaHZr9UuVrhw9c%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAGGC4GLZ7FEPSQHOGUQZEG3RPA7CHANCNFSM4MS4G4CA&data=02|01|Nicholas.DiCola%40microsoft.com|c63fd8274f1b4c63083e08d7ec4f0113|72f988bf86f141af91ab2d7cd011db47|1|0|637237696375940741&sdata=E2jkK1frT%2BVh5M5biP%2F0zEgC9wbf6MOzIbFXowTlYrA%3D&reserved=0.

Hey @dicolanl, I reworked the entire playbook (editing was too much of a hassle) and I incorporated your suggestions as much as I could. The loops unfortunately won't go away due to the output of the connectors but it's cleaner and should handle multiple hosts in an alert better.
Added:

Get secret - Azure KV connector
Get hosts - Azure Sentinel connector
Get list of machines - WDATP Connector
Utilization of OAuth - HTTP Connector
For my MSSP use case, I added used tenantId as a parameter so if the user requires to change it, they can just change the default value of the parameter.

I also tried exploring Managed Identities but I'm not sure how to configure the necessary permissions for WDATP API. Would appreciate it if you could point it out.
I believe I've also fixed the ARM template to ensure everything is dynamic. Please let me know if you're still facing any issues. In terms of params, right now all you need is to provide the Playbook name and set up the connectors post deployment.
Here's a screenshot of a successful run.


bug: recipient field takes focus when editing amount field if current recipient is invalud

On the send page, if there is an error in the "recipient" field, and the user tries to edit the "amount" field, the "recipient" field steals the cursor focus every time a change is made to the "amount" field.

Here's why it happens:

We have a watcher to watch for changes in a few form-related parameters
One is the amount. When amount changes, we validate the new amount AND validate the full form
So when you type the first character in the amount, the form gets validated. The recipient is validated, and validation fails, resulting in the focus on the send component

Originally posted by @apbendi in https://github.com/ScopeLift/umbra-protocol/pull/425#discussion_r1081679762

This was resolved by #425


[Feature][UI Next] Add flink task

Purpose of the pull request
This pull request add flink task.
Brief change log

[x] FLINK

Releated issues
#7928

Codecov Report

Merging #8446 (ee039c3) into dev (849fb75) will increase coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #8446      +/-   ##
============================================
+ Coverage     45.34%   45.35%   +0.01%
- Complexity     4026     4027       +1
============================================
  Files           686      686
  Lines         26702    26702
  Branches       2867     2867
============================================
+ Hits          12108    12111       +3
+ Misses        13450    13448       -2
+ Partials       1144     1143       -1

Impacted Files
Coverage Δ

...dolphinscheduler/remote/future/ResponseFuture.java
81.96% <0.00%> (-1.64%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
53.52% <0.00%> (+2.81%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 849fb75...ee039c3. Read the comment docs.

PTAL @songjianet


Memory Cards project

Memory Cards is a Flash card app for learning, features-display, add and remove memory cards with questions and answers.
I would like @urvashi-code1255 @Vishal-raj-1 to please assign me this issue.
I am a GSSOC'21 participant and want to contribute to this project.

@nagasaisriya Go for it :)

Thank you! @urvashi-code1255


Polygon 2D and 3D Observations

Polygon3...

all prototype functions that return other things should move to general functions

maybe polygonUtils ?

constructor should take exactly what's required only
is CSGDEBUG really supported?

Polygon 2D... current just stubs. Do we need one for proper 2D functionality?

V2 improves the polygon data structure.
Closing this issue.


IOS - getting "receiveNotification: notification discarted" if i send notification from FCM

notofocation example
{
    "mutable_content": true,
    "notification": {
        "title": " "
    },
    "data": {
        "content": {
            "id": 100,
            "channelKey": "big_picture",
            "title": "Huston!\nThe eagle has landed!",
            "body": "A small step for a man, but a giant leap to Flutter's community!",
            "notificationLayout": "BigPicture",
            "bigPicture": "https://www.dw.com/image/49519617_303.jpg",
            "showWhen": true,
            "autoCancel": true,
            "privacy": "Private",
            "payload": {
                "actions": "[{\"actionKey\": \"REDIRECT\",\"actionValue\": \"https://www.google.com/\"},{\"actionKey\": \"DISMISS\",\"actionValue\": null}]"
            }
        },
        "actionButtons": [
            {
                "key": "REDIRECT",
                "label": "Redirect",
                "autoCancel": true
            },
            {
                "key": "DISMISS",
                "label": "Dismiss",
                "autoCancel": true
            }
        ]
    },
    "to": "eZ0dsST_qUJqo-O82IUR27:APA91bGwwEP1OiZ_Gm1520n2va7CpzVCTBfl7OURXvvw7hktKZ4oB9hxeH-lIbtge2rvvD1600mzSy8lwd37PKZvPK7OSteVRAf2FRpz9FyZfeKM54i_2ASK_KcR822N0Zl-HALUBSa6"
}

i've sopped in debug in SwiftAwesomeNotificationPlugin.swift
line 255 let jsonData:String? = nil

and if app collapsed notifications appears empty

The empty notification is resulted when AwesomeServiceExtension is not getting called. This empty notification is fired by firebase default FCM system when the app is in background or closed.
Check if the AwesomeServiceExtension target is getting called attaching XCode to the process in "Debug > Attatch to process by PID or Name".

Thanks for Answer!

If the service does not wake up and do not get called, the attatch process will keep waiting forever. Sometimes the target extension is not wake up imediately after your app goes up, but instead when a new push notification arives. Put a break point on the first instruction inside didReceive method from AwesomeServiceExtension class:
https://github.com/rafaelsetragni/awesome_notifications/blob/0a0ac6a16036d2d4c1ae5e2764b64a38efbfa7fb/ios/Classes/lib/Services/AwesomeServiceExtension.swift#L21
If even in this cases the service extension is not beeing called, so theres something missing on your project configuration to activate your notification service extension.

i've Found solution for my problem
if select deploymentInfo for Notification service extension - IOS 10 instead of 14 , works fine

But, is it expected behavior that i don't see action buttons in notification ?

Check for me if you action buttons work on local notifications.

when i create notification insight application as described here https://github.com/rafaelsetragni/awesome_notifications/issues/27 action buttons works fine

found causes this issue -
AwesomeServiceExtension line 62
 mapData[Definitions.PUSH_NOTIFICATION_BUTTONS]  = JsonUtils.fromJson(content.userInfo[Definitions.PUSH_NOTIFICATION_BUTTONS] as? String) returns nil

because content.userInfo[Definitions.PUSH_NOTIFICATION_BUTTONS] is Array

Outstanding!
 Your method is able to extract the button content from the json package.
 Your name will be registered as a project contributor.

Ok! I'll create pull request

Done!
https://github.com/rafaelsetragni/awesome_notifications/pull/43/files
maybe it would be fine,  to mention in readme  problem with notification  service targets which i faced, it can help someone =)

About iOS 10 version? Yes ill include that information on README file.

Yes! Thanks for your work ! This plugin is really usefull!

and if app collapsed notifications appears empty

I'm having the same problem. The deploy info is set to 10.0. 🤔

If the service does not wake up and do not get called, the attatch process will keep waiting forever. Sometimes the target extension is not wake up imediately after your app goes up, but instead when a new push notification arives. Put a break point on the first instruction inside didReceive method from AwesomeServiceExtension class:
https://github.com/rafaelsetragni/awesome_notifications/blob/0a0ac6a16036d2d4c1ae5e2764b64a38efbfa7fb/ios/Classes/lib/Services/AwesomeServiceExtension.swift#L21
If even in this cases the service extension is not beeing called, so theres something missing on your project configuration to activate your notification service extension.

Hi,
first of all thank you for this nice plugin! I am having some trouble making it work in IOS though. I am getting exactly the same error like @bysano and followed all tips from here, but i still cannot resolve it.
Like you stated above, that this method should be called, it is not in my case and i am running out of ideas.
I created everything and even compared it with the settings from https://github.com/bayuramadeza/Awesome-Notification-FCM. The only difference so far is, that i do not have
AwesomeContentExtension.entitlements nor AwesomeServiceExtension.entitlements in my project.
I am getting all kinds of infos, that it is initiated and so on and everything is running fine on android f.e.
"Awesome Notifications - App Group : group.AwesomeNotifications.....
"AwesomeNotificationsPlugin: Awesome Notification service initialized"
but whenever i receive a notification i am getting:
"receiveNotification: notification discarted"
debuging shows that there is a message, but like you stated above, it is empty and 'didReceive method from AwesomeServiceExtension' is never called.
any ideas?
Thank you!

Please jwiesmann, open a new topic with your issue. This will help me to organize the recent issues and fix then faster.

Please jwiesmann, open a new topic with your issue. This will help me to organize the recent issues and fix then faster.

Will do!

getting "receiveNotification: notification discarted" when sending via apns
Should I open a new issue ? @rafaelsetragni

getting "receiveNotification: notification discarted" when sending via apns
Should I open a new issue ? @rafaelsetragni

For me also same issue. Some times firebase _firebaseMessaging.configure (onMessage()) when app foreground is calling, sometimes it is not calling. In iOS remaining mode terminated and background are not at all calling.
In android no issues found and perfectly working.

For me also same issue. Some times firebase _firebaseMessaging.configure (onMessage()) when app foreground is calling, sometimes it is not calling. In iOS remaining mode terminated and background are not at all calling.
In android no issues found and perfectly working.

Update :
I have added "content_available": true, in my payload, then iOS app receiving push notifications. But in background mode, i am getting below fatal error in SwiftAwesomeNotificationsPlugin.swift file.
2021-01-25 19:11:20.791322+0530 Runner[909:278651] Fatal error: Unexpectedly found nil while unwrapping an Optional value: file awesome_notifications/SwiftAwesomeNotificationsPlugin.swift, line 395

Update :
I have added "content_available": true, in my payload, then iOS app receiving push notifications. But in background mode, i am getting below fatal error in SwiftAwesomeNotificationsPlugin.swift file.
2021-01-25 19:11:20.791322+0530 Runner[909:278651] Fatal error: Unexpectedly found nil while unwrapping an Optional value: file awesome_notifications/SwiftAwesomeNotificationsPlugin.swift, line 395

I have same issue
Fatal error: Unexpectedly found nil while unwrapping an Optional value: file awesome_notifications/SwiftAwesomeNotificationsPlugin.swift, line 395
So I changing code
if actionReceived?.dismissedDate == nil {
instead of
if actionReceived!.dismissedDate == nil {
then, any method does not implemented.
Anyone get solution?

I have same issue
Fatal error: Unexpectedly found nil while unwrapping an Optional value: file awesome_notifications/SwiftAwesomeNotificationsPlugin.swift, line 395
So I changing code
if actionReceived?.dismissedDate == nil {
instead of
if actionReceived!.dismissedDate == nil {
then, any method does not implemented.
Anyone get solution?

still facing the same issue, the iOS foreground app can not receive notifications. any updates on this guys?


Just works on first time, so I have to paste the code again and over...

Uncaught (in promise) TypeError: Cannot read properties of null (reading 'querySelector')
at waitForElement (:69:34)
at SuccessDialog.closeDialogButton (:117:26)
at SuccessDialog.close (:121:30)
at Object.publishDrafts [as publish_drafts] (:247:26)
waitForElement @ VM301:69
closeDialogButton @ VM301:117
close @ VM301:121
publishDrafts @ VM301:247

I got this to somehow work for publishing video's by making the following changes:
at line 102:
//	const MADE_FOR_KIDS_SELECTOR = '#made-for-kids-group';
	const VIDEO_MADE_FOR_KIDS_NOT_MFK = '#made-for-kids-group';
at line 248:
//     await dialog.close();
Note: that once it closes the draft screen, it takes approx 10 secs to automatically open the next screen


when your paper and code will be published?

Hello, may I ask when your paper and code will be published? I would like to read them. Thank you very much

Hi, @xzb666,
Thank you so much for your interest in our work! Thank you for your attention to our previous work, SIGMA! The code and paper have been released. If you have any questions or need further discussion, feel free to reach out to me via email at<EMAIL_ADDRESS>Best regards,
Wuyang


Always build rust integration with release runtime library on Windows

This fixes #3225

The CI pipeline will need to be updated to remove the environment variables overriding with /MDd (here).
Additionally, can you add I have read and agree to the terms under CLA.md to the description in this PR (I guess you just did in  #3228, but it's easier to keep track if it's included in each PR).

I have read and agree to the terms under CLA.md


fix: downgrade libxmljs to 0.10.7

relates-to #341

for libxmljs v0.19.10 precompiled binaries for currently used node v14 (ABI v83) are available, but cause a silent exit with status 0 for nodejs process on attempt to parse XML (e.g. on POST /api/metadata route).
for libxmljs v0.19.7 ABI v83 binaries are not available, and thus they are built from scratch - and this way they do not cause an issues during XML parsing
drawback of this is that pretty heavy python3 py3-pip make g++ are still required in docker


[SPARK-9154][SQL] codegen StringFormat

Jira: https://issues.apache.org/jira/browse/SPARK-9154
fixes bug of #7546
@marmbrus I can't reopen the other PR, because I didn't closed it. Can you trigger Jenkins?

Can one of the admins verify this patch?

ok to test

It was my mistake -- I shouldn't have taken out the formatString with Columns, except the 1st argument should be a String.

Can one of the admins verify this patch?

Should I add it again?

Yes please.

@rxin Could you trigger Jenkins

ok to test

Test build #1150 has started for   PR 7571 at commit dcae272.

Merged build triggered.

Merged build started.

Test build #37983 has started for   PR 7571 at commit dcae272.

Test build #37983 has finished for   PR 7571 at commit dcae272.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class StringFormat(children: Expression*) extends Expression with ImplicitCastInputTypes

Merged build finished. Test FAILed.

Jenkins, retest this please.

Test build #1150 has finished for   PR 7571 at commit dcae272.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.


UI drops out first search result

The result of calling https://api.datmusic.xyz/search?q=Beatles:
{"status":"ok","data":[{"artist":"The Beatles","title":"Twist and Shout ","duration":156,"download":"https:\/\/api.datmusic.xyz\/0a6902c1\/e61f424c","stream":"https:\/\/api.datmusic.xyz\/stream\/0a6902c1\/e61f424c"},{"artist":"The Beatles","title":"Hello, Goodbye","duration":207,"download":"https:\/\/api.datmusic.xyz\/0a6902c1\/6e734026","stream":"https:\/\/api.datmusic.xyz\/stream\/0a6902c1\/6e734026"},{"artist":"Rae Sremmurd","title":"Black Beatles (MAKJ Remix)","duration":169,"download":"https:\/\/api.datmusic.xyz\/0a6902c1\/6f4d40d2","stream":"https:\/\/api.datmusic.xyz\/stream\/0a6902c1\/6f4d40d2"},...

But the same search on the web version yields:

Twist and Shout is missing. This can especially hurt some songs that have only one instance on VK.com.

Forget to change start index to 0 when moving to new API. In the old API, the 1 item (0th index)  total count.
Thank you for reporting!


Disable coverage on PyPy

Currently, CI jobs running on PyPy are (painfully) slow.
This seems to be a well know side effect of enabling coverage.

Summary of changes
The change proposed here is to disable coverage on PyPy for both Windows and MacOS (which seem to be very slow).
Coverage for PyPy on Ubuntu is preserved because, while being slower than CPython, it is still OK-ish.
Hopefully tests running on PyPy/Ubuntu will include most of PyPy's specific corner cases.
Pull Request Checklist

[ ] Changes have tests
[ ] News fragment added in changelog.d/.
(See documentation for details)

Oh interesting. I thought this had been done previously (for all of PyPy). Perhaps that got lost.

Currently, pytest-black and pytest-mypy are disabled for local development and CI in the setup.cfg. Perhaps it would make sense to exclude the dependency there as well, for consistency and to save PyPy users the same pain.

I updated the PR to use a conditional test dependency on setup.cfg instead of tackling the problem in the GitHub workflow file.
Thank you very much for the tip!

Oh, shoot. That didn't work - because not having the plugin makes the invocation invalid. You may be able to move the --cov-report xml to pyproject.toml such that it's only present when the plugin is, but that will make the xml option used unconditionally. I'm not sure what that option does - if it's used for something or if it's just some option that someone wanted, so I'm unsure if it's desirable to have outside CI.

I'm not sure what that option does - if it's used for something or if it's just some option that someone wanted, so I'm unsure if it's desirable to have outside CI.

I suspect the original intention was to enable the codecov service (it needs the XML file). I don't see it being used outside of the CI.
I think an extra coverage xml command can be added to produce the required xml file... I will try that.

I'd try disabling the xdist plugin on the the pypy windows build.    I'd also suggest using pytest-timeout with --timeout=1000 --timeout_method=thread to handle individual tests that hang.  It will give a traceback with the spot it was at while timing out.

I'd try disabling the xdist plugin on the the pypy windows build (-p no:xdist). I'd also suggest using pytest-timeout with --timeout=1000 --timeout_method=thread to handle individual tests that hang. It will give a traceback with the spot it was at when timing out.

Yeah pypy+windows is consistently annoying 😂
I thought I got rid of this problem in #3099, but apparently there might be another a BrokenProcessPool exception even before the timeout is reached...
I think I will try to handle this other error first in the test directly before resorting to the plugin. Editing the workflow file to change specific job always feels a bit like wresting GitHub.

Ok, I activated codecov again to see if it is compatible and it seems to be OK.
That difference in coverage is around 12% because the comparison is done with the last coverage upload done to codecov (more than 200 commits ago).
According to the codecov team there is not really a way to get around this, except if we make the job only informational (in that case it will always show up as "green").

I think it is a losing battle to try and run coverage on pypy: we used conditional invocations here

Thanks for the example @blink1073, this PR is effectively disabling coverage on PyPY :)
Codecov is trying to compare the coverage on the other jobs (CPython) with an old report they have from more than 6 months ago, which causes the failure :(

Ah, here is how it was disabled previously using conftest.py: https://github.com/pypa/setuptools/pull/2254/files

That approach was reverted in https://github.com/pypa/setuptools/commit/f01d2719802d3345332b761fb1c62fa4afd212c9

I see! Thank you very much @blink1073 for investigating this.
So https://github.com/pypa/setuptools/commit/f01d2719802d3345332b761fb1c62fa4afd212c9 did implement more or less the same approach of this PR, but that change seems to have been reverted last time jaraco/skeleton was collapsed.

I am trying without xdist on my fork, but we've passed with xdist in this repo before.
Another thing we often have to do on windows is avoid capture with  -s

Yeah, still failing with no xdist: setuptools\tests\test_build_ext.py ....F                                 [ 27%].
Trying with no capture now.

No luck: setuptools\tests\test_build_ext.py ....F                                 [ 27%]

Ha, and now they pass here as well.  I think if we merge this, and then follow up by removing the informational part, we should be good.


Reduce TRIO109 (timeout parameter) false-alarms by skipping decorated functions

Turns out that many existing cases in our codebase are on some RPC method, test function, or similar, where a magic decorator causes code to run... elsewhere.  So just skipping this check for decorated functions would avoid a lot of false alarms 🙂

Ah, so disable if there's any decorator at all? No (configurable?) whitelist/blacklist?

I just realized I could change the notification settings for the repo to All Activity, had completely missed this one :upside_down_face:
Maybe that will also give notifications on edits?

Alas, I don't think there's any way to get notified on edits.  I'm just not using edits anymore though, new issues for anything new.


HHH-15644 ClassCastException when batch-fetching association in embeddable

https://hibernate.atlassian.net/browse/HHH-15644

Superseded by https://github.com/hibernate/hibernate-orm/pull/5537


add API-Doc to doclets.io

Adds documentation to doclets.io service. Future tags and master branch will be published automatically.
Preview generated with my account
@voodootikigod If you like this, you are very welcomed to login to https://doclets.io with GitHub OAuth. If you don't like it, I'd be happy to hear what you don't like about it :)
Steps required (3min):

@voodootikigod  logs in to doclets.io
@voodootikigod  adds postmark.js
someone merges this PR

@voodootikigod What do you think?

@voodootikigod ping :)

@voodootikigod @atheken ping :)

@lipp This looks pretty cool, we're actually maintaining this module over at https://github.com/wildbit/postmark.js


Level 8_1

Summary
Put a summary of the question
Description
Not sure if anyone met this problem before whereby my Customer.getServiceTime does not have any output. Need advice!
Screenshots (if any):
Insert Images here if necessary

This happened for me as well because my simulator was reading more servicetimes than required. Meaning that some customer should have left instead of being served/waiting. So you might want to check the logic/flow of your queue again.

Hi, had a similar situation as well. Think you might want to check the logic flow of your whole priority queue. My issue was not implementing the arrive/ wait correctly. Hope this helps!

@TohZhanTing Hi did you manage to solve the problem? I also have a similar problem with my Level 8.
The error appears after "17.793 19 arrives". I am not too sure how to debug it.

 Its a symptom of a bigger issue, possibly that you are allowing too many people to wait or something. I think would be good to create debugging functions that println everything (every server's queue, rest times, event details etc.)

@sheryew I've managed to solve the issue because i did not update my shop everytime there's a customer on waiting list. Maybe you can trace your code to check if the customers in waiting list are updated accordingly or being removed when served


Visual Studio 2022 - MetaHook Project issue

MetaHook.sln  - MetaHook-DLL.sln doesn't seem to be working. Solutions opens unloaded

Can't reload because global.props is missing.

Did you run build-initdeps.bat? according to Build Instruction you have to run build-initdeps.bat before everything.

Oops i forgot to do it in new build.


Race condition when pulling parent image

In order to avoid a race condition when pulling the parent image, we tag the image with the name of the OpenShift build:
https://github.com/projectatomic/atomic-reactor/blob/1.6.28/atomic_reactor/plugins/pre_pull_base_image.py#L88-L94
However,  we don't use this as the name of the base image in the workflow:
https://github.com/projectatomic/atomic-reactor/blob/1.6.28/atomic_reactor/plugins/pre_pull_base_image.py#L121
Because of this, inspecting the base image later may fail, for example here:
https://github.com/projectatomic/atomic-reactor/blob/1.6.28/atomic_reactor/plugins/pre_inject_yum_repo.py#L158
This is because, meanwhile, some other build using the same parent image may have deleted it:
https://github.com/projectatomic/atomic-reactor/blob/1.6.28/atomic_reactor/plugins/exit_remove_built_image.py#L49-L50
I think the fix is for the pull_base_image plugin to have this line changed:
https://github.com/projectatomic/atomic-reactor/blob/1.6.28/atomic_reactor/plugins/pre_pull_base_image.py#L121
to something like:
self.workflow.builder.set_base_image(buildid_base_image.to_str())

and to remove these unnecessary lines:
https://github.com/projectatomic/atomic-reactor/blob/1.6.28/atomic_reactor/plugins/pre_pull_base_image.py#L115-L119

set_base_image was changed recently to have a correct base image name written to annotations. This is useful for osbs-metrics script.
Perhaps this change should be reverted - there is only one place where "real" base image name is used, so instead we should be storing this somewhere in workflow.builder and change annotation plugin to read it instead

Yes, that makes sense.

As an alternative:
For dependency graphing we should probably use the Koji build metadata to assemble the inheritance tree for each build which is not itself a parent build. If we do that instead of inspecting Build annotations, we wouldn't need to keep the "real" base image name around at all -- we could instead just no longer record base-image-name.


python3Packages.wasabi: 0.7.1 -> 0.8.0

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@ofborg build python37Packages.spacy python38Packages.spacy

* [x]  Diff mostly LGTM. Suggestions would be to add a changelog and switch to `pytestCheckHook`, but not required.

Version bumps are always a good excuse to add other improvements, so switched to pytestCheckHook and added meta.changelog. The commit message now also has a pointer to the changelog item.
Thanks for the comments!