requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Thanks for creating the program. I tried to run it online but I had some issues.
After installing python3.9 and all the packages, I run
python3.9 staketaxcsv/report_atom.py "cosmosMYADRESS" --limit 5
And I get the following error:

requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

After some investigating I found that the issue is in

staketaxcsv/atom/api_lcd.py

at the function

def _query(uri_path, query_params, sleep_seconds=1):

It seems when collecting the information over the API with

response = requests.get(url, query_params)

I got the following:

INFO:root:Requesting url https://api.cosmos.network/cosmos/tx/v1beta1/txs?order_by=ORDER_BY_DESC&pagination.limit=50&pagination.offset=0&pagination.count_total=True&events=message.sender%3D'{cosmosMYADRESS}'

And when adding
https://api.cosmos.network/cosmos/tx/v1beta1/txs?order_by=ORDER_BY_DESC&pagination.limit=50&pagination.offset=0&pagination.count_total=True&events=message.sender%3D%27{cosmosMYADRESS}%27
manually on the website https://v1.cosmos.network/rpc/v0.41.4 I get no response there aswell. Am I missing something?

Thanks for trying it out!  Looks like the default node api.cosmo.network is not operational.  I'll have to update it with a sensible default and probably a better error message if the node is unreachable.
In the meantime, you can try:
export STAKETAX_ATOM_NODE=https://node.atomscan.com

Let me know if you have continued issues here.

Yes, it worked. Thank you very much for your quick reply!


fix barretenberg bug where range checks for values <2^{14} create an unneccessary addition gate.

Zac noted in the README for noir-edwards that we're getting an unnecessary addition gate for range constraints with fewer than 14 bits. This issue tracks that this should be addressed within barretenberg.

Meant to create this in aztec-packages. New issue here.


Feature: download and upload blob in batch.

this is a proposal of extending the blob download and upload command to support move files in batch.
Download files from one container recursively:
# reference the source by URL
az storage blob download -s https://sample.blob.core.windows.net/sample01/ -d ./local

# reference the source by container name, account name need to be given explicitly
az storage blob download -s sample01 -d ./local --account-name sample

# select files by pattern
az storage blob download -s https://sample.blob.core.windows.net/sample01/ -d ./local --pattern *.json

Upload files from local folder to remote container recursively:
# reference the destination by URL, this command will recursively upload all files and keep the sample directory structure
az storage blob upload -s ./local -d https://sample.blob.core.windows/sample1

# reference the destination by container name
az storage blob upload -s ./local -d sample1  --account-name sample

# upload recursively select file by pattern
az storage blob upload -s ./local -d sample1 --account-name --pattern *.json

This is related to #998 an #995

@troydai is there a reason this is still open?

Done


remove fallback rewrite for netlify -> gh-pages

Instead of having a rewrite to serve all content in gh-pages but not in netlify, instead I've added a webhook so that netlify will pull and rebuild when there is a push to gh-pages.
Fixes #2850

bors r+


Inconsistent UI in Organization Administrators Page When No Admins are Present

Describe the issue:
Add a proper UI when Organization Administrators Page has not admins.

How to reproduce:
Delete all the Organization Administrators.
Expected behavior:

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0, IS 5.9.0]
OS: [e.g., Windows, Linux, Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

This is not an expected behaviour as the super admin is read only and is fixed now. Hence, couldn't reproduce this.

In tenanted path


libtcmu: Fix a bug with read capacity condition check

For the generic cmd handler should keep the same with the
SCSI proto.
SBC-2 says:
If the PMI bit is set to zero and the LOGICAL BLOCK
ADDRESS field is not set to zero, the device server shall
terminate the command with CHECK CONDITION status with
the sense key set to ILLEGAL REQUEST and the additional
sense code set to INVALID FIELD IN CDB.
In SBC-3, these fields are obsolete, but some SCSI
compliance tests actually check this, so we might as well
follow SBC-2.
Signed-off-by: Xiubo Li<EMAIL_ADDRESS>

Hey, What compliance tests are you using?

I think the problem with this patch is:

We are reporting SPC 3, so I think we have to follow SBC 2. If that is correct, does the compliance test other parts? Does it set PMI=1 and send a valid LBA? We should be failing that test right?

I do not really want to support every possible SBC-2/SPC-3 test someone could make if there is no reason to. Are there initiators that will not handle SPC-4 ok?

It looks like SCST reports SPC-4, but lio (kernel target) and tgt report SPC-3.

I was using the old version, just close it.

Hey @lxbsz,
What do you think about setting our SPC version to 4 still?
I ended up quickly testing linux, windows and ESX and they seem to run ok. SCST is a widely used target, so it seems safe. Any thoughts? Did setting the SPC version to 4 help use pass the compliance test?

Yes,
This is one private suit application and for the newest version with SPC 4 works.
And agreed to setting SPC version 4 for runner.
Thanks,


Image viewer normalizes (?) the colors and popup shows unnormalized RGB

Describe the bug
import rerun as rr
import numpy as np
import matplotlib.pyplot as plt

rr.init("image color", spawn=True)
img = np.random.random((300, 300, 3)) * 0.2
rr.log_image("image", img)
print(img.min(), img.max())  # to check they are in range [0,1]

plt.imshow(img)
plt.show()

gives

Hovering over the image in rerun shows low RGB values, but bright colors.
Expected behavior
I'd expect it to look the same / very similar with the shown RGB values being the same as those in the raw data.
Desktop (please complete the following information):

OS: Ubuntu 20.04

Rerun version
rerun_py 0.7.0-alpha.0+ [rustc 1.69.0 (84c898d65 2023-04-16), LLVM 15.0.7] x86_64-unknown-linux-gnu main b263b9f, built 2023-05-29T18:38:22Z

Also happens in 0.6

Ran into this one as well. Kind of sucks

Noticed this when reporting: https://github.com/rerun-io/rerun/issues/2295
Noticed matplotlib and rerun didn't show the same colors:

When a user logs images with float colors, we have to make some assumption about the color range.
The current behavior is to find the min and max value and normalize to that. matplotlib seems to assume a 0-1 color range. This may seems reasonable (and is probably a good default) but it opens a lot of questions:

What about values outside the 0-1 range - should we clamp those? Or show them in a special "error" color?
What if the user logs values in the 0.0-255.0 range - if we assume a 0-1 range things will look very bright
Sometimes users want to log wild ranges, like dept maps, and then normalizing makes perfect sense

We should expose all this to the user in the blueprint, and we should have saner defaults. I suggest:

We add a DataRange component for tensors, with a min-max range
When DataRange is missing, we infer it using the following heuristic:

If all finite values are in 0-1 range, assume 0-1 range
If all finite values are in 0-255 range, assume 0-255 range
Else, set the DataRange to the actual min/max values

Then there is the problem of gamma (I think this might be what you are running in to @jleibs). This should also be made into a component so that users can specify either Linear or sRGB Gamma (and eventually more options), but for now the same assumption is that all data is in gamma space, and we should make that assumption.

I think for log_image it's okay to either expect 0-255 / 0-65535 / 0.0-1.0 depending on the data type of the passed array (similar to what the docs suggest right now). I think clamping + printing a warning seems like a reasonable behavior for floats outside this range.
For depth maps there is log_depth_image. For other data that should be colormapped based on min and max there is log_tensor.
I agree though adding control over the min and max values would be nice especially for log_tensor.

The matplotlib heuristic (and therefore what most ML / vision people are likely to expect) is:

If integer valued (int, uint, 8, 16, 32, 64) expect image data in 0-255 range
If float valued expect image data in 0-1.0 range

I very much like @emilk's proposal: it's elegant, intuitive and it scales. And AFAICT it would even meet matplotlib's users' expectations.
We could also apply the same logic for 16bit+ integer tensors, e.g. for a u32 tensor whose DataRange component is missing:

try 0-255
try 0-65535
try min-max


Revert "WIP - School Absence Dashboard #1082"

Reverts studentinsights/studentinsights#1098.
I wasn't able to deploy this to the demo environment, got the following error:
remote: -----> Node.js app detected
remote:
remote: -----> Build failed
remote:  !     Two different lockfiles found: package-lock.json and yarn.lock
remote:
remote:        Both npm and yarn have created lockfiles for this application,
remote:        but only one can be used to install dependencies. Installing
remote:        dependencies using the wrong package manager can result in missing
remote:        packages or subtle bugs in production.
remote:
remote:        - To use npm to install your application's dependencies please delete
remote:          the yarn.lock file.
remote:
remote:          $ git rm yarn.lock
remote:
remote:        - To use yarn to install your application's dependences please delete
remote:          the package-lock.json file.
remote:
remote:          $ git rm package-lock.json
remote:
remote:        https://kb.heroku.com/why-is-my-node-js-build-failing-because-of-conflicting-lock-files
remote:
remote:  !     Push rejected, failed to compile Node.js app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !	Push rejected to somerville-teacher-tool-demo.
remote:

Reverting so that we can keep the app deployable.

Hey @edavidsonsawyer — see the error message above. Heroku wouldn't accept my deploy of the PR because it had both a package-lock.json and yarn.lock. One of these comes from yarn and the other comes from NPM, and Heroku needs to use either one or the other to know what JS dependencies to use. We're using yarn in the project so we should get rid of package-lock.json so that we can deploy the your work.
Could you open up a new PR without package-lock.json? Could you also make sure all the project dependencies work correctly when installed and managed by yarn only?
We're super close!

My bad, @alexsoble. Fix is as easy as #1234


[Portuguese] Localize Container Orchestration

Localize https://glossary.cncf.io/container-orchestration/

Hello @edsoncelio. I was going to pick up this one, but isn't this the same as this https://github.com/cncf/glossary/issues/2379 ??? Obrigado ;)

Hello @edsoncelio. I was going to pick up this one, but isn't this the same as this #2379 ??? Obrigado ;)

You're right, thanks!!
I'll close this one.


Uncaught error in javascript logs during youtube video screenshare using windows picker extension

Chrome version: 51.0.2686.0 / 8097.0.0 dev
Device: Falco-li
Steps to reproduce
0. Browse to https://test.webrtc.org/manual/peer2peer/

Click screen capture and if you get an error, follow the instructions and install the extension.
Open the javascript console (alt+cmd+j or ctr+shift+j) and watch for any errors
Follow the instructions on the page
After installing the extension, click on 'Screenshare'
Select a window with youtube video and click on 'Share' option at the bottom
Observe the shared youtube video is shown in "Local preview" section of https://test.webrtc.org/manual/peer2peer/ page. But video pauses in between and javascript logs show
" Uncaught Error: [object MediaStream] MediaStreamTrack.onmute event has fired, no frames to the track.printHandler_ @ main.js:1119error_ @ main.js:1106stream.getVideoTracks.onmute @ main.js:865"

Expected results:
Youtube video selected for screensharing should be captured and visible in the extension with good quality and there should not be any pauses in the video play
Actual results:
Youtube video selected for screensharing is captured and visible in the extension but video is pausing in between and javascript logs shows " Uncaught Error: [object MediaStream] MediaStreamTrack.onmute event has fired, no frames to the track.printHandler_ @ main.js:1119error_ @ main.js:1106stream.getVideoTracks.onmute @ main.js:865"
Falco_js_logs_peer2peer_youtube_video_share.txt
Notes:

This issue is seen in M50 and only on some chrome devices such as Daisy, Big , Blaze, Gnawty and Winky
This issue is reproducible 50%
Please see this video for bug description:
https://drive.google.com/file/d/0B_iIlDy84LyFamU0OWw1anFtTjg/view?usp=sharing
Observed pausing of youtube video screenshare during hangouts also. Bug filed for this issue:
https://bugs.chromium.org/p/chromium/issues/detail?id=594290

jansson@:
Please confirm if "onmute event has fired" errors in javascript logs are expected when video is paused.

@KaptenJansson

I think this is a performance issue where as playing a youtube clip while screensharing is too performance taxing for those machines causing the onmute event to  fire (the mediastreamtrack does not receive video frames from the camera).
The bug here is that we should handle the event, i.e. it should not be an uncaught exception.

same as #175


How to get together date and time from different columns (CSV)

Hello.
I have a CSV file with the data like
SeqNo,Date,UTC Time,Current L1,Current L2, ...
2201,2012-01-01,21:38:10.539,   10.000000E+0,   20.000000E+0,   ...
2202,2012-01-01,21:39:10.539,   20.000000E+0,   40.000000E+0,   ...
2204,2012-01-01,21:39:43.553,   40.000000E+0,   20.000000E+0,   ...
2203,2012-01-01,21:39:32.548,   30.000000E+0,   60.000000E+0,   ...

so the date and the time are in the different columns.
But I'd like to get something like 2012-01-01 21:38:10.539 for dates instead the separated values and build the chart after this.
For my chart i use code like this
var chart = c3.generate({
	bindto: '#chart',
	data: {
		x: 'Date',	// choose column from log file for x axis
		xFormat :'%Y-%m-%d %H:%M:%S.%L', //for parsing time in format %H:%M:%S.%L use xFormat instead x_format
		url: 'log.csv',	//address to log file
		axes: {'Current L1 (A)': 'y','Current L2, A': 'y2'},
		hide: ['SeqNo', 'UTC Time'],	// specified data will be hidden
		names: {'Current L1': 'Current L1, A', 'Current L2': 'Current L2, A'},
		type: 'line' // choose the same type of chart for all variables
	},
	axis: {
		x: {type : 'timeseries', label: 'elapsed time', tick: {format: '%Y-%m-%d %H:%M:%S.%L'}},
		y: {label: 'A, V'},
		y2: {show: true,label: 'kW'}
	},
	grid: {y: {show: true}},
	legend: {hide: ['SeqNo', 'UTC Time']},	//hide legend for hiden data
	subchart: {show: true},	//show subchart
	zoom: {
	enabled: true	//enabel data scrolling
	}
});

So, is it possible to join together two values before making the chart?
Another question is can I pars not whole CSV file, just only rows from 100 to 150?
Thank you

Hi there!
We try to keep the issue queue clear for specific code-related problems with C3,
Could you please try asking your question on either the Google Group
or Gitter instead?
Thank you!


RN 0.60.5 - err: method does not override @Override

if I try to comment this line (with @Override) - can run the app, but get another error: CustomKeyboardViewNative was not found in the UIManager.
BUILD FAILED in 7s

error Failed to install the app. Make sure you have the Android development environment set up: https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment. Run CLI with --verbose flag for more details.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
/node_modules/react-native-keyboard-input/lib/android/src/main/java/com/wix/reactnativekeyboardinput/CustomKeyboardRootViewShadow.java:16: error: method does not override or implement a method from a supertype
    @Override
    ^
1 error

FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':reactnativekeyboardinput:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

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

settings.gradle:
include ':reactnativekeyboardinput'
project(':reactnativekeyboardinput').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-keyboard-input/lib/android')

build.gradle:
dependencies {
    implementation project(':react-native-video')
    implementation project(':react-native-pdf')
    implementation project(':rn-fetch-blob')
    compile project(":reactnativekeyboardinput")
    implementation project(':@react-native-community_async-storage')
    implementation project(':react-native-vector-icons')
    implementation project(':react-native-reanimated')
    implementation project(':react-native-gesture-handler')
    implementation project(':react-native-view-pdf')
    implementation project(':react-native-orientation')
    implementation project(':react-native-bluetooth-info')
    implementation project(':react-native-device-info')
    implementation project(':react-native-community-netinfo')
    implementation ("com.google.android.gms:play-services-vision:18.0.0") {
        force = true;
    }
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:28"
    implementation 'com.android.support:support-annotations:28'
    implementation "androidx.appcompat:appcompat:1.0.2"
    implementation 'androidx.annotation:annotation:1.0.2'
    implementation "com.facebook.react:react-native:+"  // From node_modules

    if (enableHermes) {
      def hermesPath = "../../node_modules/hermesvm/android/";
      debugImplementation files(hermesPath + "hermes-debug.aar")
      releaseImplementation files(hermesPath + "hermes-release.aar")
    } else {
      implementation jscFlavor
    }

    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.10'
    implementation 'com.facebook.fresco:animated-gif:1.3.0'
}

delete
import android.support.annotation.NonNull;
add
import androidx.annotation.NonNull;


Fix Plotting on multiple threads

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

8 of 9 (88.89%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.001%) to 86.526%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

mirar/data/utils/plot_image.py
3
4
75.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.001%

Covered Lines:
10326

Relevant Lines:
11934

💛  - Coveralls


Help Request: dx bundle tries to create a directory with a too long path

dx bundle creates directories recurviely. When I create a project in "dioxus-test",
this is the path that gets generated in the dioxus-test build directory:
dioxus-test/dist/bundle/deb/dioxus-test_0.1.0_amd64/data/usr/lib/
dioxus-test/dist/bundle/deb/dioxus-test_0.1.0_amd64/data/usr/lib/
dioxus-test/dist/bundle/deb/dioxus-test_0.1.0_amd64/data/usr/lib/
dioxus-test/dist/bundle/deb/dioxus-test_0.1.0_amd64/data/usr/lib/
dioxus-test/dist/bundle/deb/dioxus-test_0.1.0_amd64/data/usr/lib/ .. goes on recursively ..
The "bundle" directory seems to be missplaced.
Steps to reproduce:

go to empty build directory (dioxus-test)
run following commands

> dx init
Select Web
Select Vanilla
Select true (router)
> dx bundle

The output is:
build desktop done
Adding assets from dist to bundle
thread 'main' panicked at src/cli/bundle.rs:193:13:
Failed to bundle project: BundlerError(
    Error {
        context: "Failed to build data folders and files",
        source: BundlerError(
            Error {
                context: "Failed to copy resource files",
                source: IoError(
                    Os {
                        code: 36,
                        kind: InvalidFilename,
                        message: "File name too long",
                    },
                ),
            },
        ),
    },
)
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: dioxus_cli::cli::bundle::Bundle::bundle
   3: tokio::runtime::park::CachedParkThread::block_on
   4: dx::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Versions:
Os: Nixos 23.11 with latest dioxus packets from unstable.
 dx -V
dioxus 0.5.4
 rustc --version
rustc 1.78.0 (9b00956e5 2024-04-29)
dx serve and dx build work fine. They don't create the additional "bundle" directory.
My shell.nix file:
{ pkgs ? import <nixpkgs-unstable> {} }:
  pkgs.mkShell {
    nativeBuildInputs = with pkgs.buildPackages; [ pkg-config cmake clang dioxus-cli];
    buildInputs =   [
      pkgs.wasmi
      pkgs.wasm-bindgen-cli
      pkgs.openssl
    ];
}

Why is the bundle directory created in this place ?

Closing this as a duplicate of #2239


Standardize HTTP retry handling

Description
Handle Exponential retrial of HTTP call in case of failure from endpoint using https://pkg.go.dev/github.com/cenkalti/backoff/v4
Does this PR need a docs update or release note?

[ ] :white_check_mark: Yes, it's included
[ ] :clock1: Yes, but in a later PR
[ ] :no_entry: No

Type of change

[ ] :sunflower: Feature
[ ] :bug: Bugfix
[ ] :world_map: Documentation
[ ] :robot: Test
[ ] :computer: CI/Deployment
[ ] :broom: Tech Debt/Cleanup

Issue(s)

#

Test Plan

[ ] :muscle: Manual
[ ] :zap: Unit test
[ ] :green_heart: E2E

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


[eventsHandler] Use Lock/Unlock to sync a write access

Handle method modifies internal maps, so we have to use Lock/Unlock
Signed-off-by: Anton Tiurin<EMAIL_ADDRESS>

Coverage remained the same at 39.02% when pulling 923c8ea578805514c9c5b38fc7599ffc6b4a2f27 on noxiouz:fix_api_events_handle_lock into 1f2bd67555c5c188576f41807e2ffa231b97ff44 on docker:master.

Coverage remained the same at 39.02% when pulling ec39f88daabba17e0cd78acb9cbfa5a1b3215631 on noxiouz:fix_api_events_handle_lock into 1f2bd67555c5c188576f41807e2ffa231b97ff44 on docker:master.


[WIP] Board can display multiple and different lists-patterns as "sprints"

Tasks

[x] fix tests
[ ] update readme
[x] update changes

Screenshot

*WIP = Work in Progress

Coverage decreased (-3.7%) to 77.288% when pulling 70ba907230800dc53ba154eb616e9b48c3fdbde8 on feature/multiple-lists into 4e02b93bb81bbc7a2505e668726f693156e0284e on master.


StateName wrong detection

Hello. I tested usaddress locally. I found some interesting test cases.
For example:
This is my generated test case:
Front Street North 695 Gilbert Z1 35904
Output:
('Front', 'StreetName'),
('Street', 'StreetNamePostType'),
('North', 'StreetNamePostDirectional'),
('695', 'OccupancyIdentifier'),
('Gilbert', 'PlaceName'),
('Z1', 'StateName'),
('35904', 'ZipCode')
Expected output:
('Front', 'StreetName'),
('Street', 'StreetNamePostType'),
('North', 'StreetNamePostDirectional'),
('695', 'OccupancyIdentifier'),
('Gilbert', 'PlaceName'),
('Z1', ' anything but not State '),
('35904', ' zipcode or anything else')
Example with real world data:
Italian address, exactly Sardinia
CMR 467 Box 7000 APO, AE 09096
Output:
('CMR', 'USPSBoxType'),
('467', 'USPSBoxID'),
('Box', 'USPSBoxType'),
('7000', 'USPSBoxID'),
('APO,', 'PlaceName'),
('AE', 'StateName'),
('09096', 'ZipCode')
May be by format this address is relevant, but this is not US addresses.
To solve that problem I generated many test cases where it would fail, Should I after-train the model ?

These are some interesting formats @DaniyarDS! Unfortunately, usaddress is limited in scope to addresses in the United States. If you've got a lot of international addresses to parse you might have more success with pypostal.


feat: handle secrets for data connectors

Merging into leafty/build-data-connectors (feature branch).
Add support for saving and managing secrets for data connectors.
Details:

Add API endpoints to list, update and delete saved secrets for a given data connector.

@leafty this looks good. The failing test is fixed in main so if you rebase it will pass. But this is unrelated to your code so you dont have to rebase the PR if you dont want to.

Thanks, I will update the feature branch. I have kept it up-to-date with rebases during the build.


master and its corresponding replica are running on the same AZ

Hi @NataliAharoniPayu ,
the is a cluster with 3 master and 3 replica nodes:
This is the output of the CLUSTER NODES command:
7a00b8761583afefffd2767a0dfc56ff17ba6da0 <IP_ADDRESS>:6379@16379 master - 0<PHONE_NUMBER>000 3 connected 10923-16383
7829e21e0f8386b6d3a7cb6fd5ff9c46c6d50df7 <IP_ADDRESS>:6379@16379 myself,master - 0<PHONE_NUMBER>000 1 connected 0-5460
6171e36f1228fc75b625c83fef9579010ab3e80b <IP_ADDRESS>:6379@16379 master - 0<PHONE_NUMBER>508 2 connected 5461-10922
60ea4fc49f2d8c4f339452a767ad9e99f087323c <IP_ADDRESS>:6379@16379 slave 7a00b8761583afefffd2767a0dfc56ff17ba6da0 0<PHONE_NUMBER>000 3 connected
4d5c9085df50208baf20d8c50c79ef7cbcd911c6 <IP_ADDRESS>:6379@16379 slave 7829e21e0f8386b6d3a7cb6fd5ff9c46c6d50df7 0<PHONE_NUMBER>501 1 connected
09e3f8b5b3706912ffa9c6b87270692ceca24e36 <IP_ADDRESS>:6379@16379 slave 6171e36f1228fc75b625c83fef9579010ab3e80b 0<PHONE_NUMBER>000 2 connected

This the result of script that I run to find out where (in Azure in this case) each pod is running (format pod:podIP node node-AZ)
redis-node-0:<IP_ADDRESS> aks-redcac-27410863-vmss000005 eastus-3
redis-node-0-1:<IP_ADDRESS> aks-redcac-27410863-vmss000003 eastus-1
redis-node-1:<IP_ADDRESS> aks-redcac-27410863-vmss000000 eastus-1
redis-node-1-1:<IP_ADDRESS> aks-redcac-27410863-vmss000004 eastus-2
redis-node-2:<IP_ADDRESS> aks-redcac-27410863-vmss000001 eastus-2
redis-node-2-1:<IP_ADDRESS> aks-redcac-27410863-vmss000002 eastus-3

Attached operator logs
(BTW, I have a 2nd cluster in another namespace that is running correctly)
operator.log

Hi,
I'm trying to follow the case here, according to the script result (node name : node ip : aks node : data center) I do see that master and its replica is separated (node-0 is on eastus-3, node-0-1 is on eastus-1 for example, its also true for the rest of them),
And when I try to analyze those links between masters and followers by relying on the query cluster nodes result, I cannot find match between the presented ip addresses and the script result ip addresses... for example <IP_ADDRESS> appears in the first image and not in the second on and <IP_ADDRESS> appears in the second one and not the first...
Can you elaborate more about your indications to detect the issue?

Opps sorry, wrong script input... this is the intended one showing the issue...
redis-node-0:<IP_ADDRESS> aks-redmem-11469090-vmss000005 eastus-3
redis-node-0-1:<IP_ADDRESS> aks-redmem-11469090-vmss000004 eastus-2
redis-node-1:<IP_ADDRESS> aks-redmem-11469090-vmss000001 eastus-2
redis-node-1-1:<IP_ADDRESS> aks-redmem-11469090-vmss000002 eastus-3
redis-node-2:<IP_ADDRESS> aks-redmem-11469090-vmss000003 eastus-1
redis-node-2-1:<IP_ADDRESS> aks-redmem-11469090-vmss000000 eastus-1

I do see that node-2 and node-2-1 chose different k8s-worker-nodes.
The hard anti affinity applied on choosing k8s-worker-nodes (this requirement is a blocker to pod creation)
The data center (az) anti affinity applied with soft rule (best effort, even if cannot be met -> pod will be created eventually)

We define our nodes resource wise so that each node can fit only one pod.
In this node group we have 6 nodes, 2 nodes in each AZ, for the case of preparing for AZ down scenario we need that a master and its corresponding replica will be on different AZs's so if an entire AZ is down we can recover the cluster... to you take this into account while creating the replica? i.e. that master AZ != replica AZ?

yes, that is very good discussion to consider.
I will start with the steps that should be taken in order to apply hard anti affinity rule on your fork:

Basic acknowledgment with the terms requiredDuringSchedulingIgnoredDuringExecution  and preferredDuringSchedulingIgnoredDuringExecution  (k8s docs link)
Basic understanding of the code flow of the method makeRedisPod  inside controllers/k8sresources.go (link)
We can see there that the hard rule (requiredPodAffinityTerm) applied for node selection based on the label (of the k8s-node) kubernetes.io/hostname, and the soft rule (preferredPodAffinityTerm) applied for node selection based on label topology.kubernetes.io/zone
You can choose to manage differently to nodes labels or the code flow
You can also handle it without changing anything in the code by allocating more worker nodes and trigger re-allocation of the required pods by editing the configmap redis-cluster-state-map, each node has flag called isUpToDate, setting it to false will cause removal and re creation of them. now there are more workers so there is greater chance to choose nodes differently.

Regard a failure of entire AZ:
A very considering state, and yet less likely to happen than a failure of a worker-node
We chose to go for the strategy of separating pods with each other based on the worked-nodes they selecting, as applying hard rule also for the az's requires more complex design that will guaranty the order the pods creation (for example, your scenario: there was no way for node-1-1 who was created one second before node-2-1, to know that choosing worker aks-redmem-11469090-vmss000002 instead of aks-redmem-11469090-vmss000000 will create a problematic future
for node-2-1)
We attempt some kind of an effort to increase chances for the masters to be separate as possible when we create them first during cluster initiation.
Regard managing the resources during AZ outage:

The soft anti affinity rule is exactly what will save us and allow to create the lost resources again on the available AZ's after allocating more worker nodes on them.
If it is something that likely to happen according to your experience, you can always scale up the followers and increase the chances to survive

Thanks for the detailed explanation, I also read the recommended section, great piece of work!
I think that you got things right in regards the requiredDuringSchedulingIgnoredDuringExecution and preferredDuringSchedulingIgnoredDuringExecution in our staging configuration we have only 1 AZ and cluster is able to come up and that is great!
The question is in regards our production environment with 3 AZs  where nodes are already allocated, assumption is 1 pod on node (can fit), k8s worker nodes are already available and spread evenly on all AZs
Assuming we have a 3 master pods deployment (like) that is spread correctly across all 3 AZs (thanks to the soft rule on topology.kubernetes.io/zone) to and functioning as a cluster, now we have another deployment (like) of 3 followers (to be) pods that are spread correctly on 3 AZs (thanks to the soft rule on topology.kubernetes.io/zone), the challenge is to make the correct match so that master AZ != follower AZ... technically I think it is possible using the function AddFollower that I see you are using in some recovery case, what do you think?

Thanks for feedback on our wiki :)
We did have a few days of far discussion regard this one, the conclusions we had were:

Both rules will perform an attempt before binding pod to worker, soft and hard, the only difference is that by the end of this attempt,

the hard rule will prevent from the pod to be created properly (it won't bind to worker and won't receive ip address)
the soft rule will eventually allow the pod to be created unfortunately on the non-desired worker.

We designed the operator by relying on the axiomatic assumption that we deploy our cluster with full awareness to the resources, after performing all the calculations of possible and non possible combinations between choosing pods and workers, therefore we didn't add (yet) proper support for a cases when it is not valid assumption. If there won't be enough workers the operator will be trapped in a loop of attempts to create pods, delete them after timeout (after waiting for them to receive ip) and create them again, pods won't be assigned to workers and as long as no available workers appears, and the other parts of the cluster are not receiving the health checks and care they need, as the operator invests effort on newly created pods with the higher priority.
It is harder to mitigate such case after it appears (some times we need to reset the cluster), so the way to prevent this loop is to allow rules to be soft, let the cluster be created properly, and have a good detection mechanism for cases we want to stay aware of.
If you think about it, those two cases are parallel:

Reset the cluster again and again until the combination that allows all the pods to get created appears (will be needed when you have hard rule)
Re create only the pods you are concerned about again and again until the right combination appear (in case of soft rule)

Re attempting to deploy in a way that allows all pods get created is equal to re attempting to deploy in a way that fits our standards regard the pod placement.
The case of hard rule is easier to detect but harder to mitigate.
I believe each strategy has cons and pros

OK, Thanks, I will go ahead with these assumptions, will update if anything new pops out, otherwise I will close issues next week.

@NataliAharoniPayu  @NataliAharoni99  @DinaYakovlev  @voltbit  @doronl  @drealecs   Since this is in open state, I am in a bit of confusion. Is Node Aware Replication working yet or not ?


everytime i download the file its always corupted it this just me or is it happpening to anyone else

Same for me man

you have to clear memory

how do i clear memory?


refactor: everything

What
I want to move from having tons of single files into more grouped libraries. If bundle sizes exceed 50kb even if minified, I'll have to come up with a new distribution solution.

I've made a lot of commits without referencing this issue, whoopsie.
In any case, I've refactored a lot of the Squirtle code, and am (at least for now) quite happy with the layered architecture I came up with (segmenting code into complexity rather than topic).


view-pdf added text removes first line

Added Text via view-pdf removes first line if you click on print.
I can workaround if my first line is blank.  But only when its not edited text.

Sorry for late reply, Does this still happen on latest version? closing ticket for now but happy to re-open if you can still reproduce

We are now on 0.29.0. It was resolved 1 or 2 updates after opening my issue. I'm sorry for not responding.


thorvald: 0.0.6-0 in 'kinetic/lcas-dist.yaml' [bloom]

Increasing version of package(s) in repository thorvald to 0.0.6-0:

upstream repository: https://github.com/LCAS/Thorvald.git
release repository: https://github.com/LCAS/thorvald-releases.git
distro file: kinetic/lcas-dist.yaml
bloom version: 0.6.4
previous version for package: 0.0.5-0

thorvald
* Merge pull request #36 <https://github.com/LCAS/Thorvald/issues/36> from gcielniak/kinetic-devel
  Metapackage added so that all packages can be installed in one go
* Additional metapackage for thorvald simulator.
  Other minor fixes:
  - thorvald_base depends now on thorvald_model
  - fixed model path in thorvald_base launch file
* Metapackage added so that all thorvald packages can be installed in one go: sudo apt-get install ros-kinetic-thorvald.
* Contributors: Grzegorz Cielniak, larsgrim
* Merge pull request #36 <https://github.com/LCAS/Thorvald/issues/36> from gcielniak/kinetic-devel
  Metapackage added so that all packages can be installed in one go
* Additional metapackage for thorvald simulator.
  Other minor fixes:
  - thorvald_base depends now on thorvald_model
  - fixed model path in thorvald_base launch file
* Metapackage added so that all thorvald packages can be installed in one go: sudo apt-get install ros-kinetic-thorvald.
* Contributors: Grzegorz Cielniak, larsgrim

thorvald_2dnav

No changes

thorvald_base
* Merge pull request #36 <https://github.com/LCAS/Thorvald/issues/36> from gcielniak/kinetic-devel
  Metapackage added so that all packages can be installed in one go
* Additional metapackage for thorvald simulator.
  Other minor fixes:
  - thorvald_base depends now on thorvald_model
  - fixed model path in thorvald_base launch file
* Merge pull request #35 <https://github.com/LCAS/Thorvald/issues/35> from larsgrim/kinetic-devel
  Added support for 1wd1ws, fixed odometry bug and added CAN topics
* fixed odometry bug and added CAN topics
* added CANFrame msg
* added support for 1wd1ws robots
* Contributors: Grzegorz Cielniak, larsgrim

thorvald_bringup
* Merge pull request #35 <https://github.com/LCAS/Thorvald/issues/35> from larsgrim/kinetic-devel
  Added support for 1wd1ws, fixed odometry bug and added CAN topics
* fixed odometry bug and added CAN topics
* added support for 1wd1ws robots
* Contributors: larsgrim

thorvald_can_devices
* Merge pull request #35 <https://github.com/LCAS/Thorvald/issues/35> from larsgrim/kinetic-devel
  Added support for 1wd1ws, fixed odometry bug and added CAN topics
* fixed odometry bug and added CAN topics
* Contributors: larsgrim

thorvald_gazebo_plugins

No changes

thorvald_gui

No changes

thorvald_model
* Merge pull request #35 <https://github.com/LCAS/Thorvald/issues/35> from larsgrim/kinetic-devel
  Added support for 1wd1ws, fixed odometry bug and added CAN topics
* fixed odometry bug and added CAN topics
* added support for 1wd1ws robots
* added passive wheels to xacro
* Contributors: larsgrim

thorvald_msgs

No changes

thorvald_simulator
* Merge pull request #36 <https://github.com/LCAS/Thorvald/issues/36> from gcielniak/kinetic-devel
  Metapackage added so that all packages can be installed in one go
* Additional metapackage for thorvald simulator.
  Other minor fixes:
  - thorvald_base depends now on thorvald_model
  - fixed model path in thorvald_base launch file
* Contributors: Grzegorz Cielniak, larsgrim
* Merge pull request #36 <https://github.com/LCAS/Thorvald/issues/36> from gcielniak/kinetic-devel
  Metapackage added so that all packages can be installed in one go
* Additional metapackage for thorvald simulator.
  Other minor fixes:
  - thorvald_base depends now on thorvald_model
  - fixed model path in thorvald_base launch file
* Contributors: Grzegorz Cielniak, larsgrim

thorvald_teleop

No changes

thorvald_twist_mux

No changes

Well done @gcielniak


🐛 [cloud_firestore] FirestoreBuilder does not work with obfuscated build

Bug report
In the iOS release version of my app (with obfuscated code) the FirestoreBuilder did not work. I obviously could not get any relevant information from crashlytics, so I removed the --obfuscate flag and after that the FirestoreBuilder did work again.
Steps to reproduce

Create an app with FlutterFire Firestore
Listen to a collection with FirestoreBuilder
Build the app in release version

Expected behavior
The app should receive the data instead of throwing the error.
Sample project
I do not know how I should test it without releasing another app to the appstore.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.1, on macOS 11.6.6 20G624 darwin-x64, locale
    en-US)
[✗] 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/macos#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.

[✓] Xcode - develop for iOS and macOS (Xcode 13.0)
[✓] Chrome - develop for the web
[!] Android Studio (not installed)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.2)
[✓] VS Code (version 1.67.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

! Doctor found issues in 2 categories.

Flutter dependencies
Click To Expand
Dart SDK 2.17.1
Flutter SDK 3.0.1
vacwithme 0.9.3+alpha

dependencies:
- authentication_repository 1.0.0 [cache crypto equatable easy_localization firebase_auth firebase_core firebase_crashlytics flutter google_sign_in meta sign_in_with_apple very_good_analysis]
- bloc 8.0.3 [meta]
- cached_network_image 3.2.1 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- cloud_firestore 3.1.17 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cloud_firestore_odm 1.0.0-dev.17 [cloud_firestore flutter meta]
- cloud_functions 3.2.16 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- cupertino_icons 1.0.5
- easy_localization 3.0.1 [flutter shared_preferences intl args path easy_logger flutter_localizations]
- easy_localization_loader 1.0.0 [http csv yaml xml flutter]
- equatable 2.0.3 [collection meta]
- firebase_auth 3.3.19 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 1.17.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 2.8.1 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_dynamic_links 4.2.5 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_storage 10.2.17 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- firestore_repositories 1.0.0 [authentication_repository easy_localization equatable firebase_auth firebase_core firebase_crashlytics cloud_firestore cloud_firestore_odm json_annotation flutter meta shared very_good_analysis]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutter_bloc 8.0.1 [flutter bloc provider]
- flutter_slidable 1.3.0 [flutter]
- go_router 3.1.1 [collection flutter flutter_web_plugins logging meta]
- google_sign_in 5.3.2 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- image_picker 0.8.5+3 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_platform_interface]
- infinite_widgets 2.0.0 [flutter]
- json_annotation 4.5.0 [meta]
- logger 1.1.0
- metadata_fetch 0.4.1 [http string_validator html]
- mobile_scanner 2.0.0 [flutter flutter_web_plugins js]
- package_info_plus 1.4.2 [flutter package_info_plus_platform_interface package_info_plus_linux package_info_plus_macos package_info_plus_windows package_info_plus_web]
- path_provider 2.0.10 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- qr_flutter 4.0.0 [flutter qr]
- reactive_forms 12.0.0 [flutter intl]
- share_plus 4.0.7 [meta mime flutter share_plus_platform_interface share_plus_linux share_plus_macos share_plus_windows share_plus_web]
- shared 1.0.0
- shared_preferences 2.0.15 [flutter shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- storage_repository 1.0.0 [authentication_repository cached_network_image easy_localization firebase_core firebase_crashlytics firebase_storage flutter_native_image http json_annotation path_provider]
- url_launcher 6.1.2 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]

dev dependencies:
- build_runner 2.1.11 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- change_app_package_name 1.1.0
- cloud_firestore_odm_generator 1.0.0-dev.15 [analyzer build build_config cloud_firestore_odm collection json_annotation meta recase source_gen]
- flutter_lints 1.0.4 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- json_serializable 6.2.0 [analyzer async build build_config collection json_annotation meta path pub_semver pubspec_parse source_gen source_helper]

dependency overrides:
- bloc 8.0.3 [meta]
- flutter_bloc 8.0.1 [flutter bloc provider]

transitive dependencies:
- _fe_analyzer_shared 40.0.0 [meta]
- analyzer 4.1.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- args 2.3.1
- async 2.8.2 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.3.0 [analyzer async convert crypto glob logging meta path]
- build_config 1.0.0 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.1.0 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.0.9 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.3 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.3.2 [built_collection collection fixnum meta]
- cache 1.0.0
- cached_network_image_platform_interface 1.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.1 [flutter flutter_cache_manager cached_network_image_platform_interface]
- characters 1.2.0
- charcode 1.3.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- clock 1.1.0
- cloud_firestore_platform_interface 5.5.7 [collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 2.6.16 [cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- cloud_functions_platform_interface 5.1.7 [firebase_core flutter meta plugin_platform_interface]
- cloud_functions_web 4.2.15 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.1.0 [built_collection built_value collection matcher meta]
- collection 1.16.0
- convert 3.0.2 [typed_data]
- cross_file 0.3.3+1 [js meta]
- crypto 3.0.2 [typed_data]
- csslib 0.17.2 [source_span]
- csv 5.0.1
- dart_style 2.2.3 [analyzer args path pub_semver source_span]
- easy_logger 0.0.2 [flutter]
- fake_async 1.3.0 [clock collection]
- ffi 1.2.1
- file 6.1.2 [meta path]
- firebase_auth_platform_interface 6.2.7 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 3.3.16 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.4.0 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.6.4 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.2.7 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.3+3 [firebase_core flutter meta plugin_platform_interface]
- firebase_storage_platform_interface 4.1.7 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.2.16 [async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- fixnum 1.0.1
- flutter_blurhash 0.7.0 [flutter]
- flutter_cache_manager 3.3.0 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_native_image 0.0.6+1 [flutter]
- flutter_plugin_android_lifecycle 2.0.6 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 2.1.3 [async path]
- glob 2.0.2 [async collection file path string_scanner]
- google_sign_in_android 5.2.8 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.3.1 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.1.3 [flutter quiver]
- google_sign_in_web 0.10.1+2 [flutter flutter_web_plugins google_sign_in_platform_interface js]
- graphs 2.1.0 [collection]
- html 0.15.0 [csslib source_span]
- http 0.13.4 [async http_parser meta path]
- http_multi_server 3.2.0 [async]
- http_parser 4.0.1 [collection source_span string_scanner typed_data]
- image_picker_android 0.8.5 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- image_picker_for_web 2.1.8 [flutter flutter_web_plugins image_picker_platform_interface]
- image_picker_ios 0.8.5+5 [flutter image_picker_platform_interface]
- image_picker_platform_interface 2.5.0 [cross_file flutter http plugin_platform_interface]
- intl 0.17.0 [clock path]
- io 1.0.3 [meta path string_scanner]
- js 0.6.4
- lints 1.0.1
- logging 1.0.2
- matcher 0.12.11 [stack_trace]
- material_color_utilities 0.1.4
- meta 1.7.0
- mime 1.0.2
- nested 1.0.0 [flutter]
- octo_image 1.0.2 [flutter flutter_blurhash]
- package_config 2.0.2 [path]
- package_info_plus_linux 1.0.5 [package_info_plus_platform_interface flutter path]
- package_info_plus_macos 1.3.0 [flutter]
- package_info_plus_platform_interface 1.0.2 [flutter meta plugin_platform_interface]
- package_info_plus_web 1.0.5 [flutter flutter_web_plugins http meta package_info_plus_platform_interface]
- package_info_plus_windows 1.0.5 [package_info_plus_platform_interface ffi flutter win32]
- path 1.8.1
- path_provider_android 2.0.14 [flutter path_provider_platform_interface]
- path_provider_ios 2.0.9 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.7 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.6 [flutter path_provider_platform_interface]
- path_provider_platform_interface 2.0.4 [flutter platform plugin_platform_interface]
- path_provider_windows 2.0.7 [ffi flutter path path_provider_platform_interface win32]
- pedantic 1.11.1
- petitparser 5.0.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.2 [meta]
- pool 1.5.0 [async stack_trace]
- process 4.2.4 [file path platform]
- provider 6.0.3 [collection flutter nested]
- pub_semver 2.1.1 [collection meta]
- pubspec_parse 1.2.0 [checked_yaml collection json_annotation pub_semver yaml]
- qr 2.1.0 [meta]
- quiver 3.1.0 [matcher]
- recase 4.0.0
- rxdart 0.27.3
- share_plus_linux 3.0.0 [share_plus_platform_interface file flutter meta url_launcher]
- share_plus_macos 3.0.1 [share_plus_platform_interface flutter]
- share_plus_platform_interface 3.0.3 [flutter meta mime plugin_platform_interface]
- share_plus_web 3.0.1 [share_plus_platform_interface url_launcher flutter flutter_web_plugins meta]
- share_plus_windows 3.0.1 [share_plus_platform_interface flutter meta url_launcher]
- shared_preferences_android 2.0.12 [flutter shared_preferences_platform_interface]
- shared_preferences_ios 2.1.1 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.1.1 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_macos 2.0.4 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.0.0 [flutter]
- shared_preferences_web 2.0.4 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.1.1 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.3.0 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.1 [shelf stream_channel web_socket_channel]
- sign_in_with_apple 4.0.0 [flutter meta sign_in_with_apple_platform_interface sign_in_with_apple_web]
- sign_in_with_apple_platform_interface 1.0.0 [flutter plugin_platform_interface meta]
- sign_in_with_apple_web 1.0.1 [flutter flutter_web_plugins sign_in_with_apple_platform_interface js]
- sky_engine 0.0.99
- source_gen 1.2.2 [analyzer async build dart_style glob meta path source_span yaml]
- source_helper 1.3.2 [analyzer collection source_gen]
- source_span 1.8.2 [collection path term_glyph]
- sqflite 2.0.2+1 [flutter sqflite_common path]
- sqflite_common 2.2.1+1 [synchronized path meta]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.0
- string_scanner 1.1.0 [charcode source_span]
- string_validator 0.3.0
- synchronized 3.0.0+2
- term_glyph 1.2.0
- test_api 0.4.9 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timing 1.0.0 [json_annotation]
- typed_data 1.3.1 [collection]
- url_launcher_android 6.0.17 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.0.17 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.1 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.1 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.0.5 [flutter plugin_platform_interface]
- url_launcher_web 2.0.11 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.1 [flutter url_launcher_platform_interface]
- uuid 3.0.6 [crypto]
- vector_math 2.1.2
- very_good_analysis 2.4.0
- watcher 1.0.1 [async path]
- web_socket_channel 2.2.0 [async crypto stream_channel]
- win32 2.6.1 [ffi]
- xdg_directories 0.2.0+1 [meta path process]
- xml 5.4.1 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

Thanks for the update @starteNCS . Looking at both the outputs you shared, I don't see any difference in them as, in both cases, the export seems to succeed.
Can you provide a complete minimal reproducible code sample that we can directly use to debug this further ?

sounds good. I will mean time try to come up with an example and see if I can replicate it or not.


[DDW-363] Fix right-click submits on Windows platform

This PR fixes a problem with right-click submits on Receive screen "Generate address" button on Windows platform.

Review Checklist:
Basics

[ ] PR is updated to the most recent version of target branch (and there are no conflicts)
[ ] PR has good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance tests are passing (yarn run test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn run dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn run package / CI builds)
[ ] There are no flow errors or warnings (yarn run flow:test)
[ ] There are no lint errors or warnings (yarn run lint)
[ ] Text changes are proofread and approved (Jane Wild)
[ ] There are no missing translations (running yarn run manage:translations produces no changes)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn run storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly documented and commented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-rendering
[ ] Any code that only works in Electron is neatly separated from components

Testing

[ ] New feature / change is covered by acceptance tests
[ ] All existing acceptance tests are still up-to-date
[ ] New feature / change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review:

[ ] Merge PR
[ ] Delete source branch
[ ] Move ticket to done on the Youtrack board

@MarcusHurney @daniloprates @DominikGuzei I have tested this on Windows. Works like a dream now :)
Please approve this PR so we can ship it!

QA's have also confirmed that the fix works as expected 👍


"plugin is currently loading. Please try again later"

Quests Version: 3.9.3
Spigot Version: 1.15.2
I've been using the Quests plugin on my server for a while with no issues. But I updated it to the newest version yesterday (3.9.3), and now the "/quest" command or trying to use "/quests editor" both just return "plugin is currently loading. Please try again later". I've gotten rid of all modules, restarted multiple times, and even tried regenerating the config but it's still broken. Any help would be appreciated!
https://pastebin.com/4LkPrYFX

I've tried with the latest dev build of Quests too and I get the same error.
https://pastebin.com/73Y3wwNJ

Thanks for the report. Issue has to do with one of your quests which has stage using a Command Action. Please try the following development build, which should at least give an indication of which quest is causing trouble:
https://ci.codemc.io/job/PikaMug/job/Quests/117/
Note that if you're using QuestsGUI, the current version may not be compatible with this build.


ICRC-26: JSON type syntax for Candid values

When communicating Candid data with JSON between web services, there are two options:

CBOR encode to bytes and send as JSON text value (base64/hex)
Write Candid data with a JSON syntax

The latter is more accessible to services and dapps outside the IC ecosystem, they don't need to understand and decode CBOR to process incoming data.
A few examples:

JSON-RPC between dapps and (multi chain) wallets with ICRC-25
canisters with public HTTP APIs accepting and returning JSON for dapps outside the IC ecosystem that want to query their data.
Browser messaging and storage of Candid types

This standard standardizes the JSON syntax of Candid type values for above use cases with a strong emphasis on making the data accessible for dapps outside the IC ecosystem without Candid knowledge.
The following technical details differ from other encoding formats of Candid types like CBOR:

JSON values represent the most straightforward representation of the value.
JSON values do only partially represent the Candid type, the consuming party is expected to know the Candid types in cases where its needed.
JSON values for the opt type differ depending on where its used, if possible without losing structural information, null values are left out of the JSON string.
JSON values are structured to have a minimal footprint and to be straightforward for consuming services outside the IC ecosystem without requiring knowledge of Candid.

The spec can be found at the following gist (until I've found a better place for it): https://gist.github.com/sea-snake/3043a9b83348111326a7699efb97e281

Some topics of discussion:

JSON values do only partially represent the Candid type
JSON value for a blob is hex string, should we use hex (simplicity) or base64 (compact)?
JSON value for opt differs based on where it's used, makes it more straightforward for consuming services but less consistent.

Having this standardized makes it possible for IC dapps to use libs that parse and validate JSON based on a Candid IDL.

Example JS implementation compatible with autogenerated interfaceFactory that's used in @dfinity/candid: https://github.com/slide-computer/candid-json

Thanks a lot for the contribution, @sea-snake! I would make it clear that it is a one-way transformation, as it is a lossy, if no candid types are given.
However, with the typings, one should be able to go back and forth, right? Would it make sense to write down the transformation algorithm?
@benjizhai: Is this the right repository to create a PR in? This standard is about general data transformation and does not fit nicely in one of the existing categories (I think). Maybe SDK/dev-tooling related?

@frederikrothenberger It's indeed one way but it retains all the structure information needed to go both ways when you have the Candid IDL, as seen in the JS implementation above.


Implement Random Forest in Python

Implement Random Forrest from scratch in

Python

Create new issue according to the template if you would like to implement a different algorithm (or) in a different language.

Assign this to me @iam-abbas

stale


Add "searching" to the top-down view

This builds on the assumption that I don't want to actually hide (i.e., filter
out) entire subtrees if the filter is not matched—I find that confusing.
Instead, I want to expand enough so that the matching nodes are visible, but
collapse everything else. See this as a search functionality rather than a
filter functionality.

Let me know it this can make sense.

I tried this and I think it's pretty cool!
There's one concern (with suggestions how to mitigate) and one suggestion I have:
(1) The concern is that the search invalidates any expanding that a user has already done. I think that either search should only expand further (if needed) or we should add a warning text. The latter can be in the search bar ("Search (note that this will invalidate any changes you made to the top-down tree below)") or a dialog box with checkbox ("Don't ask me again") to confirm that they want to search.
(2) Can we highlight the lines that contain the search terms? Not with the "selection blue", but maybe with a white outline? (Unless this is easy and obvious how to do, probably for a later PR.)

There's one concern (with suggestions how to mitigate) and one suggestion I have:
(1) The concern is that the search invalidates any expanding that a user has already done. I think that either search should only expand further (if needed) or we should add a warning text. The latter can be in the search bar ("Search (note that this will invalidate any changes you made to the top-down tree below)") or a dialog box with checkbox ("Don't ask me again") to confirm that they want to search.
(2) Can we highlight the lines that contain the search terms? Not with the "selection blue", but maybe with a white outline? (Unless this is easy and obvious how to do, probably for a later PR.)

I wanted to do this and I think it's necessary. But I had quickly tried with the selection but it made everything really slow. As of now I don't really know how to do it with a different "style", so I guess I'll keep it for later.

Yep. The problem with only expanding further (without collapsing) is that if two searches in a row are made, the previous expansion is retained and then the second search is really confusing. Highlighting as in point 2 would help with this, but I still think that too many nodes would end up being opened. The even bigger problem is that as for this implementation the first character to be written is already a search, and that obviously expands a lot of nodes (unless we only trigger the search when Enter is hit or a button is clicked).

So I'm for a warning. I have a preference for the first option, not only because it's a one-line change, but also because changing the expansion of the tree is not that disruptive and getting a message dialog might be a bit too much / a bit annoying.

(2) Can we highlight the lines that contain the search terms?
+1. This is super useful!

(2) I wanted to do this and I think it's necessary. But I had quickly tried with the selection but it made everything really slow. As of now I don't really know how to do it with a different "style", so I guess I'll keep it for later.

This worked pretty fast in the "Show include util", but maybe that's because there's typically less data.  The color highlighting added a lot though. See it in action here: https://youtu.be/VKkbZyFIowc

So I added highlighting. And as the screenshot shows, this is quite necessary.

The code is probably hacky though. Copy-pasting from the commit message:
This introduces HighlightingSortFilterProxyModel, which inherits from
QSortFilterProxyModel and allows to retrieve the "result" of filter and to
"set" the nodes to highlight.
I can't disagree if you say that this is a hack. But I'm not sure what a better
way would be.
I had a look at how ShowIncludesDialog, OrbitTreeModel, OrbitTreeItem (now
not in the codebase anymore) were doing it. That maybe looked better, but it
brought the filtering logic all the way down to OrbitTreeItem. Not only is
that more complicated, but also I don't think is better conceptually, as that
logic should be further away from the model. As a matter of fact, it didn't use
Qt filtering code but custom absl::StrContains-based logic.
Let me know what you think.

So I added highlighting. And as the screenshot shows, this is quite necessary.

The code is probably hacky though. Copy-pasting from the commit message:
This introduces HighlightingSortFilterProxyModel, which inherits from
QSortFilterProxyModel and allows to retrieve the "result" of filter and to
"set" the nodes to highlight.
I can't disagree if you say that this is a hack. But I'm not sure what a better
way would be.
I had a look at how ShowIncludesDialog, OrbitTreeModel, OrbitTreeItem (now
not in the codebase anymore) were doing it. That maybe looked better, but it
brought the filtering logic all the way down to OrbitTreeItem. Not only is
that more complicated, but also I don't think is better conceptually, as that
logic should be further away from the model. As a matter of fact, it didn't use
Qt filtering code but custom absl::StrContains-based logic.
Let me know what you think.

I agree that this is a bit hacky and since you were basically asking I can't get around not offering a possible solution. (Sorry for that. ;-)):
First I would have two proxy models. One for filtering, one for highlighting. The filtering one would be the one from before. For highlighting I would subclass QIdentityProxyModel and override the data method. Furthermore this model should have a SetHighlightString method which sets a string member variable which is used to determine the rows to highlight. Check of that string matches can happen in the overriden data-method.
(Feel free to ignore that. That's a major rewrite and is less efficient than the other solution since the string-matching is done twice.)

I agree that this is a bit hacky and since you were basically asking I can't get around not offering a possible solution. (Sorry for that. ;-)):
First I would have two proxy models. One for filtering, one for highlighting. The filtering one would be the one from before. For highlighting I would subclass QIdentityProxyModel and override the data method. Furthermore this model should have a SetHighlightString method which sets a string member variable which is used to determine the rows to highlight. Check of that string matches can happen in the overriden data-method.
(Feel free to ignore that. That's a major rewrite and is less efficient than the other solution since the string-matching is done twice.)

It's not such a big rewrite so that would be fine. I would need to check the performance though, the current implementation is not so slow but also already not that snappy.
Apart from that, in general I like the idea. The same could be done with just one proxy model, although two seem more elegant (again, I would need to check the performance), couldn't it? And that I had considered, but my problem is that I wanted to use the internal filtering of the proxy model, without having my own implementation of the match.
The reason for not wanting to add my own matching logic (to the also-used Qt logic) is that I'm not guaranteed they are exactly identical (e.g., in corner cases) and also they need to be kept in sync in case they are changed. I guess it's not a big deal, but that was the reasoning. What do you think @beckerhe?

I agree that this is a bit hacky and since you were basically asking I can't get around not offering a possible solution. (Sorry for that. ;-)):
First I would have two proxy models. One for filtering, one for highlighting. The filtering one would be the one from before. For highlighting I would subclass QIdentityProxyModel and override the data method. Furthermore this model should have a SetHighlightString method which sets a string member variable which is used to determine the rows to highlight. Check of that string matches can happen in the overriden data-method.
(Feel free to ignore that. That's a major rewrite and is less efficient than the other solution since the string-matching is done twice.)

It's not such a big rewrite so that would be fine. I would need to check the performance though, the current implementation is not so slow but also already not that snappy.
Apart from that, in general I like the idea. The same could be done with just one proxy model, although two seem more elegant (again, I would need to check the performance), couldn't it? And that I had considered, but my problem is that I wanted to use the internal filtering of the proxy model, without having my own implementation of the match.
The reason for not wanting to add my own matching logic (to the also-used Qt logic) is that I'm not guaranteed they are exactly identical (e.g., in corner cases) and also they need to be kept in sync in case they are changed. I guess it's not a big deal, but that was the reasoning. What do you think @beckerhe?

Yeah, this also came to my mind. First I thought you could subclass "QSortFilterProxyModel" and use the filterAcceptRow-method to determine which row to highlight. But this feels very unclean. The "SetFilterFixedString" method would set pattern for highlight matching.
I think alternatively I would overwrite the "filterAcceptRow"-method in the filtering model and call a common free function which does both the filtering in the filter-model and the highlight-matching in the highlightproxymodel. True this means we have to maintain our own string-matching code. But this is hardly more than 3 lines, so probably a fair deal.

I just had another idea which might improve performance:

You could introduce a new DataRole which determines if a node is marked in some sense. Then you add a proxy model which return true for that data role, when the filter string is matched.

Then you need a function which expands all the nodes that are marked by that role. Having that marking avoids filtering the model first and removing the filter again.

In addition to that marking this new proxy model could also do the highlighting. Or you could have a second proxy model which reads the markings and applies highlighting accordingly.

Of couse that's again a major rewrite. :see_no_evil: But I at least wanted to mention it.

I think alternatively I would overwrite the "filterAcceptRow"-method in the filtering model and call a common free function which does both the filtering in the filter-model and the highlight-matching in the highlightproxymodel. True this means we have to maintain our own string-matching code. But this is hardly more than 3 lines, so probably a fair deal.

This sounds fair, I didn't think about it, I would prefer using only Qt matching code but I'm also fine with using only our own matching logic. I just don't want to use both.

I just had another idea which might improve performance:

You could introduce a new DataRole which determines if a node is marked in some sense. Then you add a proxy model which return true for that data role, when the filter string is matched.
Then you need a function which expands all the nodes that are marked by that role. Having that marking avoids filtering the model first and removing the filter again.
In addition to that marking this new proxy model could also do the highlighting. Or you could have a second proxy model which reads the markings and applies highlighting accordingly.

I would need to think about this a bit more, as it's maybe as complicated as it sounds, or maybe not that bad. But my questions on this are: How do I retrieve the marking returned by data? And how do I store it? I'm missing a piece (again, Qt noob here).

I just had another idea which might improve performance:

You could introduce a new DataRole which determines if a node is marked in some sense. Then you add a proxy model which return true for that data role, when the filter string is matched.
Then you need a function which expands all the nodes that are marked by that role. Having that marking avoids filtering the model first and removing the filter again.
In addition to that marking this new proxy model could also do the highlighting. Or you could have a second proxy model which reads the markings and applies highlighting accordingly.

Of couse that's again a major rewrite. 🙈 But I at least wanted to mention it.

I rewrote this following @beckerhe's last suggestion (thanks!). The code is much much cleaner now! Please have a look, Henning in particular.


Having issue on alias on subquery

Thank you kotlin-jdsl team for developing and maintaining such a great project like this!
Version Information
kotlin-jdsl : 3.3.1
hibernate-core: 6.4.4
I have a MySQL tables as follows.
CREATE TABLE brand
(
    id         BIGINT      NOT NULL AUTO_INCREMENT,
    brand_name VARCHAR(30) NOT NULL,
    PRIMARY KEY (id),
    INDEX idx_brand_name (brand_name)
);

CREATE TABLE product
(
    id       BIGINT NOT NULL AUTO_INCREMENT,
    brand_id BIGINT NOT NULL,
    price    BIGINT,
    category INT    NOT NULL,
    PRIMARY KEY (id),
    INDEX idx_product_category_price (category, price)
);

Then, I want to write query as follows.
select b.brand_name, price, p.category
from product p
         inner join (select category, min(price) as min_price
                     from product
                     group by category) AS min_prices
                    on p.category = min_prices.category and p.price = min_prices.min_price
         inner join brand b on p.brand_id = b.id;

So, I tried to convert above MySQL query into kotlin-jdsl like as follows.
Since, I couldn't find any example codes similar to this one in the kotlin-jdsl gitbook and github issues;
Honestly, I'm not sure If It's correct code.
(excerpted significant paragraph from a entire code for a brevity.)
           val product = entity(Product::class)
            val nestedProduct = entity(Product::class, "nested_product")
            val productGroupByMinPrice = selectNew<MinPriceProductInCategoryProjection>(
                min(Product::price).alias(expression(Long::class, "inner_price")),
                (path(Product::category) as Path<Int>).`as`(expression(Int::class, "inner_category")),
            ).from(nestedProduct)
                .groupBy(path(Product::category))
                .asEntity("min_prices")

            select(product)
                .from(
                    product,
                    innerFetchJoin(Product::brand),
                    join(productGroupByMinPrice).on(
                        (path(Product::category) as Path<Int>).eq(path(MinPriceProductInCategoryProjection::category))
                            .and(
                                (path(Product::price).eq(path(MinPriceProductInCategoryProjection::price))),
                            ),
                    ),
                )

....

data class MinPriceProductInCategoryProjection(
    val category: Int,
    val price: Long,
)

When the above query is executed, hibernate occurs SemanticException with message
Select item at position 1 in select list has no alias (aliases are required in CTEs and in subqueries occurring in from clause)
exception message indicates the absence of alias on the select query of the nested query.
But, I believe that I provided adequate alias to both of selection node. (may be I'm wrong..)
min(Product::price).alias(expression(Long::class, "inner_price")),
(path(Product::category) as Path<Int>).`as`(expression(Int::class, "inner_category"))

I read some related code in a hibernate library that causes exception.
It seems that selection nodes lost there alias information when they arrives below method . .
org.hibernate.query.derived.AnonymousTupleType#AnonymousTupleType(org.hibernate.query.sqm.tree.select.SqmSelectableNode<?>[])

Either there is any mistakes on my kotlin-jdsl or kotlin-jdsl doesn't support kind of queries like this?
Thank you!

I didn't realize that subqueries require an alias when they are in a from clause.
What you want is the same as defining a DrivedEntity.
https://kotlin-jdsl.gitbook.io/docs/jpql-with-kotlin-jdsl/subqueries#derived-entity
You can write a query like the following:
data class MinPrices(
    val category: Int,
    val minPrice: Long,
)

data class Row(
    val brandName: String,
    val price: Long,
    val category: Int,
)

repository.findAll {
    val minPrices = select<MinPrices>(
        path(Product::category).alias(expression("category1")),
        min(Product::price).alias(expression("price1")),
    ).from(
        entity(Product::class),
    ).groupBy(
        path(Product::category),
    ).asEntity("minPrices")

    selectNew<Row>(
        path(Brand::brandName),
        path(Product::price),
        path(Product::category),
    ).from(
        entity(Product::class),
        join(Product::brand),
        join(minPrices).on(
            and(
                path(Product::category).eq(expression("category1")),
                path(Product::price).eq(expression("price1")),
            ),
        ),
    )
}.forEach { println(it) }

This query is then passed to MySQL as the following:
select b1_0.brand_name, p1_0.price, p1_0.category
from
  product p1_0
  join brand b1_0 on b1_0.id = p1_0.brand_id
  join (
    select p2_0.category, min(p2_0.price)
    from product p2_0
    group by p2_0.category
  ) minPrices1_0(category1, price1)
    on (p1_0.category = minPrices1_0.category1) and (p1_0.price = minPrices1_0.price1);

@shouwn
Thank you a lot, shouwn.🙇
I applied the code you suggested and It works like a charm.
Since, the exception message only says about 'missing alias in select expression'
I've never dreamed to specify aliases in the 'on' expression 😅
I just naively guessed, kotlin-jdsl would pair.

I didn't realize that subqueries require an alias when they are in a from clause.

you also didn't expect that we have to specify aliases of fields in subquery
when It's used in the context of 'on' clause?
Am I getting you correctly?
join(minPrices).on(
  and(
    path(Product::category).eq(expression("category1")),
    path(Product::price).eq(expression("price1")),
  ),

https://kotlin-jdsl.gitbook.io/docs/jpql-with-kotlin-jdsl/subqueries#derived-entity
I've referenced the above link before, But unfortunately, I couldn't find out hint to solve my issue
Because the example seems to work well without specifying alias on the 'from' clause. 😅
How it was possible that the example is working?

@4whomtbts I saw your answer too late.
The alias is used in the on clause because the projection of the derived table has an alias. You can just think of it as the same as in SQL.
The derived table called minPrices has aliased category to category1 and price to price1 as column names, so if you want to reference the columns of that table in an on clause or a where clause, you need to use those aliases.
The reason I put alias in the on clause is because of the error Hibernate threw. If Hibernate hadn't thrown the error, I wouldn't have aliased the columns in the DerivedTable, and therefore wouldn't have used the alias in the on clause.
And I realized I might have encountered that error before, I just forgot... My example also has aliases on the columns of the DerivedTable...
The reason why I didn't use alias in the from clause is because in my example I didn't need to create a condition. If I needed a condition like join or where in my example, I would have used alias.

Oh, and you were wondering why I didn't use alias in the select clause as well?
My example was wrong, I just used employeeId as an alias for the employeeId column by mistake and it worked because they have the same name.
It would be better to include examples like join, so I'll fix the example later.

I will close this issue. If you have any additional questions, please reopen it.


[SP-5484] - Backport of PDI-18522 - Dynamic directory variable doesn'…

…t work in Pentaho Reporting Output step (9.0 Suite)
@pentaho/millenniumfalcon

:x: Build failed in 1m 14s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:exclamation: No tests found!
Errors:
Filtered log (click to expand)

script returned exit code 1

:information_source:  This is an automatic message

:white_check_mark: Build finished in 34m 53s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:ok_hand: All tests passed!
Tests run: 3636, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message

:warning: Build finished in 54m 2s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:no_entry: Failed Tests
:cloud_with_lightning_and_rain: 1 test(s) failed:
org.pentaho.di.job.entries.getpop.MailConnectionTest.findValidTargetTest (click to expand)
Original file name should be tried first.

Tests run: 3636, Failures: 1, Skipped: 7    Test Results

:information_source:  This is an automatic message


is it possible to open 2 browsers?

I looked in code and didn't find a possibility to open 2 browsers, and i don't clearly understand how it initializing in test
secure_area = LoginPageObject().open().login(user)

Hi @DuXspace ,
A second browser can be opened and used this way:
second_wrapper = DriverWrapper()
second_wrapper.connect()
secure_area = LoginPageObject(second_wrapper).open().login(user)

as can be seen in https://toolium.readthedocs.io/en/latest/multiple_drivers.html#multiple-simultaneous-drivers
Besides this test shows an example opening two browsers:
https://github.com/Telefonica/toolium-examples/blob/master/web_behave/features/multiple_drivers.feature
https://github.com/Telefonica/toolium-examples/blob/master/web_behave/steps/multiple_drivers.py

Yep thank you! I have already found the same solution


about us page toggle fix of theme

it is working correctly now after fixing some changes on AboutUs,css

please consider it i am waiting for this

Please commit the recent changes

please check i have done...


Single task execution (admin-generated workflow implementation)

TL;DR
This PR implements single task execution for CreateExecutionRequests with reference entities of type 'TASK'.
Because this is v1 of single task execution this code is compartmentalized and designed to be easy to rip out. Therefore not everything that could necessarily be refactored from the existing CreateExecution, CreateWorfklow and CreateLaunchPlan logic is changed and some duplicate code exists. This is (ugly) by design.
TODO If this overall design looks okay I will add more unit tests to this PR - I just wanted to get an overall approval of the code before investing time in unit tests in case it changes significantly.
Type

[ ] Bug Fix
[x] Feature
[ ] Plugin

Are all requirements met?

[x] Code completed
[x] Smoke tested
[ ] Unit tests added
[x] Code documentation added
[x] Any pending items have an associated Issue

Complete description
This code takes an existing, registered task and generates a skeleton workflow definition with a single node referencing the task. The workflow inputs and outputs are mapped to those of the task definition. For UI purposes, a default launch plan with a matching interface is also generated.
Tracking Issue
https://github.com/lyft/flyte/issues/256
Follow-up issue
https://github.com/lyft/flyte/issues/221

Is this really "v1".  I'd rather not call it that.

@wild-endeavor updated but names are hard. let me know if you have suggestions

Codecov Report

Merging #96 into master will decrease coverage by 2.68%.
The diff coverage is 16.58%.

@@            Coverage Diff             @@
##           master      #96      +/-   ##
==========================================
- Coverage   63.14%   60.46%   -2.69%
==========================================
  Files         100      101       +1
  Lines        7038     7451     +413
==========================================
+ Hits         4444     4505      +61
- Misses       2082     2409     +327
- Partials      512      537      +25

Impacted Files
Coverage Δ

pkg/manager/impl/util/single_task_execution.go
0.00% <0.00%> (ø)

pkg/manager/impl/validation/execution_validator.go
77.21% <0.00%> (-4.12%)
:arrow_down:

pkg/repositories/config/migrations.go
0.00% <0.00%> (ø)

pkg/workflowengine/impl/propeller_executor.go
52.20% <0.00%> (-27.99%)
:arrow_down:

pkg/repositories/transformers/execution.go
77.93% <25.00%> (-1.65%)
:arrow_down:

pkg/manager/impl/execution_manager.go
68.83% <57.94%> (-1.82%)
:arrow_down:

pkg/manager/impl/validation/validation.go
92.62% <77.77%> (-1.45%)
:arrow_down:

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 0ce1932...751ba84. Read the comment docs.

Are you also going to add the automatic filter for System Generated in the ListWF Endpoint?
Added the filter to the ListNamedEntity endpoint which is what the console uses to list workflows and is the entrypoint for individual workflows

I'm more hesitant about adding it to the existing ListWorkflows endpoint by default because now that will force an additional join and I don't want to add a performance penalty to an endpoint that is really only available in the cli (aka power users who hopefully know what they're doing :) )

friendly ping @EngHabu

Codecov Report

Merging #96 into master will increase coverage by 1.19%.
The diff coverage is 64.73%.

@@            Coverage Diff             @@
##           master      #96      +/-   ##
==========================================
+ Coverage   63.14%   64.33%   +1.19%
==========================================
  Files         100      101       +1
  Lines        7038     7678     +640
==========================================
+ Hits         4444     4940     +496
- Misses       2082     2185     +103
- Partials      512      553      +41

Impacted Files
Coverage Δ

pkg/manager/impl/validation/execution_validator.go
77.21% <0.00%> (-4.12%)
:arrow_down:

pkg/repositories/config/migrations.go
0.00% <0.00%> (ø)

pkg/workflowengine/impl/propeller_executor.go
52.20% <0.00%> (-27.99%)
:arrow_down:

pkg/repositories/transformers/execution.go
85.49% <33.33%> (+5.91%)
:arrow_up:

pkg/manager/impl/execution_manager.go
74.38% <57.94%> (+3.73%)
:arrow_up:

pkg/manager/impl/named_entity_manager.go
40.69% <75.00%> (+3.79%)
:arrow_up:

pkg/manager/impl/validation/validation.go
92.62% <77.77%> (-1.45%)
:arrow_down:

pkg/manager/impl/util/single_task_execution.go
85.41% <85.41%> (ø)

pkg/manager/impl/util/shared.go
64.23% <0.00%> (+1.45%)
:arrow_up:

... and 2 more

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 0ce1932...1d9028b. Read the comment docs.


Remove whitespace-trimming code

The suggestion I had last night didn't make it into that PR.
What would you think about having a simple code.replace(/^\n|\n$/g, '') to fix

Oh, so the issue here that the first line doesn't have any indentation, which trips up IPython's indentation detection?
In that case, there does need to be an update that's timed with the new hydrogen version that removes the trim. Hopefully IPython doesn't choke if there are non-indented empty lines in the middle of the code, or there will be even more work to be done...

IPython is fine if there are non-indented lines in the middle. But when the first line has no indentation, that causes an error.

Changes are currently staged on the master branch, to be released soon (hopefully I can test some more before releasing)


Update howto-identity-protection-simulate-risk.md

Swapped order of the VPN test, as the instructions asked you to fail MFA before even authenticating. Which makes no sense.

#sign-off


F6 Distributed Auditability - Outstanding charges for work to date and payments

Andre to review all automation tasks to date and provide charges total to close out F6 Distributed Auditability proposal

Invoice for tasks done to date.

Process question -
Should people follow the same format and send content via another format

Payment here - https://treasury-guild.gitbook.io/training-and-automation/


sequence command file with -1000 to 1000 Oe scan

sequence file imitating the no_keithley_1000_Oe_field_scan
could not add wait for dewar pressure here

Adding this image here so it is easy to find.

Let's just ask Bobby and Quantum design about waiting for the dewar pressure before we merge this.


Markupsimplifier does not simplify when only  settings.RemoveSoftHyphens or settings.RemoveLastRenderedPageBreak is set

Markupsimplifier does not simplify when only  settings.RemoveSoftHyphens or settings.RemoveLastRenderedPageBreak is set to true.
When one of the other Settings is true too then it does remove softhypens or LastRenderedPageBreak.
my suggestion for solution:
in MarkupSimplifier.cs -> SimplifyMarkupForPart
add the following 2 lines in the If Statement beginning in line 561
settings.RemoveSoftHyphens ||
settings.RemoveLastRenderedPageBreak ||
current code:
var prevNewRoot = new XDocument(newRoot);
while (true)
{
if (settings.RemoveComments ||
settings.RemoveEndAndFootNotes ||
settings.ReplaceTabsWithSpaces ||
settings.RemoveFieldCodes ||
settings.RemovePermissions ||
settings.RemoveProof ||
settings.RemoveBookmarks ||
settings.RemoveWebHidden ||
settings.RemoveGoBackBookmark ||
settings.RemoveHyperlinks)
newRoot = (XElement) SimplifyMarkupTransform(newRoot, settings, parameters);

Closing all issues as this repo is being archived and will no longer be maintained by Microsoft. The project is licensed for continued use and development by forking to your own repo.


ls: Print names with percent correctly

Closes #1017

Codecov Report

Merging #1019 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1019   +/-   ##
=======================================
  Coverage   53.38%   53.38%
=======================================
  Files         117      117
  Lines       11126    11126
=======================================
  Hits         5940     5940
  Misses       4503     4503
  Partials      683      683

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 5f44904...9d1b915. Read the comment docs.


[DocRaptor] -> [HTML & CSS Templates]

DocRaptor
Free, MIT-licensed HTML to PDF templates including invoices, resumes, menus, and brochures |
Link: https://docraptor.com/free-templates
Checklist:

[x] I have performed a self-review of submitted resource and its follows the guidelines of the project.

not free, link: https://app.docraptor.com/signup

@Alaev the templates are free and can be used with any tool. They don't require an account to download. They're just a free resource we made to make HTML to PDF easier for developers in general.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_e9d37y6f9j/clone/recipe/meta.yaml:12: missing_hash: The recipe is missing a sha256 checksum for a source file
ERROR: /tmp/abs_e9d37y6f9j/clone/recipe/meta.yaml:27: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_e9d37y6f9j/clone/recipe/meta.yaml:38: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_e9d37y6f9j/clone/recipe/meta.yaml:42: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, reference https://spdx.org/licenses/
ERROR: /tmp/abs_e9d37y6f9j/clone/recipe/meta.yaml:46: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: /tmp/abs_e9d37y6f9j/clone/recipe/meta.yaml:46: http_url: http://eventable.github.io/vobject/ is not https
WARNING: /tmp/abs_e9d37y6f9j/clone/recipe/meta.yaml:46: missing_description: The recipe is missing a description
Errors were found


Audio doesn't work on linux desktop(chroot) i386 dependensies autoremoves

Please paste the output of the following command here:
The following packages will be REMOVED:
accountsservice-ubuntu-schemas libasound2-dev:i386 libc6-dev:i386* libcrypt-dev:i386* libdrm-dev* libpthread-stubs0-dev* libspeex-dev:i386*
libspeexdsp-dev:i386* libx11-dev* libxau-dev* libxcb1-dev* libxdmcp-dev* libxext-dev* libxfixes-dev* libxi-dev* linux-libc-dev:i386*
mobile-broadband-provider-info* x11proto-core-dev* x11proto-dev* x11proto-input-dev* x11proto-xext-dev* xorg-sgml-doctools* xtrans-dev*
0 upgraded, 0 newly installed, 23 to remove and 0 not upgraded.
After this operation, 30.1 MB disk space will be freed.
(Reading database ... 136293 files and directories currently installed.)
Removing accountsservice-ubuntu-schemas (0.0.7+17.10.20170922-0ubuntu1) ...
Removing libasound2-dev:i386 (1.2.2-2.1ubuntu2.4) ...
Removing libc6-dev:i386 (2.31-0ubuntu9.2) ...
Removing libcrypt-dev:i386 (1:4.4.10-10ubuntu4) ...
Removing libdrm-dev:amd64 (2.4.102-1ubuntu1~20.04.1) ...
Removing libxi-dev:amd64 (2:1.7.10-0ubuntu1) ...
Removing libxfixes-dev:amd64 (1:5.0.3-2) ...
Removing libspeexdsp-dev:i386 (1.2~rc1.2-1.1ubuntu1) ...
Removing libspeex-dev:i386 (1.2~rc1.2-1.1ubuntu1) ...
Removing libxext-dev:amd64 (2:1.3.4-0ubuntu1) ...
Removing linux-libc-dev:i386 (5.4.0-73.82) ...
Removing mobile-broadband-provider-info (20190618-3) ...
Removing x11proto-core-dev (2019.2-1ubuntu1) ...
Removing x11proto-xext-dev (2019.2-1ubuntu1) ...
Removing x11proto-input-dev (2019.2-1ubuntu1) ...
Removing libx11-dev:amd64 (2:1.6.9-2ubuntu1.2) ...
Removing libxcb1-dev:amd64 (1.14-2) ...
Removing libpthread-stubs0-dev:amd64 (0.4-1) ...
Removing libxau-dev:amd64 (1:1.0.9-0ubuntu1) ...
Removing libxdmcp-dev:amd64 (1:1.1.3-0ubuntu1) ...
Removing x11proto-dev (2019.2-1ubuntu1) ...
Removing xorg-sgml-doctools (1:1.11-1) ...
Removing xtrans-dev (1.4.0-1) ...
Processing triggers for sgml-base (1.29.1) ...
Processing triggers for man-db (2.9.1-1) ...**
Please describe your issue:
Ok so no sound is working on chroot or on my linux desktop. So i went into the installation and i found that (↑) script at the end of the installation. I think that's the reason why no internet, bluethooth, sound is available inside the chroot. It auto removes itself. So i REALLY need help 'cause i can't hear anything at all. It's practically hardly usable.
If known, describe the steps to reproduce the issue:
Ok so i tried putting this in the xfce terminal "pulseadio --start" and now i can see there is a sound control on the panel BUT no sound is still coming in at all.  I think the problem here is that it keeps auto removing dependensies of i386 wich is important for the user interface. I still think this is a bug.
I will gladly accept fixes for this because i can't play anything PLEASE

ATTENTION:
Mine works right now and the way i fixed it is by these steps:
Go to crosh (CTRL + ALT + T) then in crosh type shell.
Now in shell type sudo crouton -r ____ -u   _(the blank is your linux distro like xfce)_
Hit enter and now it should update your linux desktop then after it updates open your linux desktop and in terminal enter _pulseaudio --start_then it should work now
DISCLAIMER:
Right now my network-manager isn't working but the internet connects and works. The bluethooth is not working entirely (for mine) so yeah hope you have a good day bye now


feat: update yaml2json workflow

This commit adds a new script, yaml2json.py, instead of exec the code directly as a command-line argument.
The workflow now includes a new filter (branches) to ensure it only triggers on pushes to the main branch when changes are made to the QUERIES.yaml file.
The commit message for push the compiled JSON is changed to: build: compile JSON [timestamp] :robot:, and it includes the optional prefix [force] if the workflow is dispatched manually.
Note: The user email and name are set to ghost for the commit and push actions, and the target branch for the push is determined by the GITHUB_REF_NAME env variable.

thank you @dwisiswant0 for updating the workflow.


COM exception thrown

When trying to access the Task.Definition property, I get a COMException.
I'm running Windows 10 Build 15063 x64. The process is running with Admin rights
Originally posted: 2017-05-31T23:43:29

Will you provide the settings you have applied to it if this is one you've created? If this is a task that already exists, please send me the XML for that task by attaching it here.
Originally posted: 2017-06-01T06:44:31

Also, please make sure you are running the latest version (2.5.26) as there was a similar problem in version 2.5.22 and earlier.
Originally posted: 2017-06-01T06:46:12

No response
Originally posted: 2017-07-12T04:44:27