Use on disk zarr and chunking to reshape data from DatasetWrapper.from_files.

Addresses #198 by reworking the reshaping to resample on chunks of input rasters and dumping the chunk to a region of an empty zarr on disk, removing the need to position the array inside the full size grid in memory.
_resample_and_reshape has been replaced with new function _reshape_raster. This function is not broken down which might be the only issue, otherwise all tests that passed previously also do now.

Hi James, good work on this. It's not an easy thing to crack, so I think you've done an admirable job. I have some comments below, which I feel should be addressed before merging:
Usage

When nothing is provided to the chunks argument in DatasetWrapper.from_files(), auto is used and a message is printed. This message doesn't come through in Databricks, and given this will be the primary place we intend to use the data model it would be good to make sure the user sees it. I used a warning in DataFrameWrapper.to_zarr, which I know does print to the Databricks notebook... What is strange is that this warning isn't materialising for me. Any idea why?
In DatasetWrapper.from_files(), the out_path argument is shown as optional. However, when not providing a path, I get a FileNotFoundError.
What is the overwrite behaviour when an out_path is provided? I implemented a safety net in DataFrameWrapper.to_zarr(). I think we need something similar in place for DatasetWrapper.from_files(). Here's how I've implemented it:

the overwrite argument is set to False (default) and the user provides an empty directory to out_path = zarr written, no warning given.
the overwrite argument is set to False (default) and the user provides a directory containing a zarr to out_path = zarr not written, error given.
the overwrite argument is set to True and the user provides an empty directory to out_path = zarr written, no warning given.
the overwrite argument is set to True and the user provides a directory containing a zarr to out_path = zarr written, overwrite warning given.
I think we need something similar in place for DatasetWrapper.from_files().

Documentation

Would you be able to provide 2 examples of how this can be used in the __init.py__ usage documentation please? I say two as I envisage 1 example could be it's simplest form, while another could demonstrate a bit more flexibility, optional arguments etc.
Thanks for updating relevant docstrings.

Tests

From looking at the fixtures used in test_read_dataset_from_file, is it just .tif files that are being tested? Demonstrating that .zarr files can be read in and resampled successfully would demonstrate more robustness in the code. Would it possible to use a fixture factory or similar to achieve this?

Thinking pragmatically, I don't see an issue with _reshape_raster being quite a large and unwieldy internal function. I would much rather time was spent on usability focussed improvements given our time pressure at the moment.
Let me know if you would like to discuss any of these things.

Usage

The warning was in the wrong place. It was being called after chunks was already used. I moved this.
I've added an explicit error if out_path is not provided but is needed.
I've moved your overwrite check from DataFrameWrapper.to_zarr into a function _warn_zarr_overwrite in _dataframe.py. I then use this same function in DatsetWrapper.from_files and have added an overwrite arg to the method

Documentation

I've added an example to accompany the existing one.

Tests

Yes just tifs. It would be possible to use zarrs, but I think we reasoned the opposite of zarrs being "more" robust, in that the mostly likely files that need to be resampled won't be zarrs at all, as the overwhelming majority of zarrs will be produced by the data model itself, where no resampling or reshaping needs to occur. I think addressing this should be a separate issue to write a fixture factory to test multiple file types like you have done with vector on the end to end test.

Nice work. I've just run the code using Dan's example and it seems to work fine and the errors appear as expected regarding out_path presence and overwriting.
I agree about the separate issue for testing different input file types and will create one for the backlog.
Good job!


properly update package_data after components changes

build_py wasn't getting updated, causing it to leave out components fetched during setup
closes #30

I switched travis back to regular install, so if files are left out, the tests should fail again.


Change "Note" and "Warning" Notations to be more noticeable.

Move all instances of:
Note: While #1 above is only for those having MacOS >= 12.3, #2 and #3 should be done by everyone using a Mac for setting up Oppia.
to

Note
While #1 above is only for those having MacOS >= 12.3, #2 and #3 should be done by everyone using a Mac for setting up Oppia.

> **Note**
> While #1 above is only for those having MacOS >= 12.3, #2 and #3 should be done by everyone using a Mac for setting up Oppia.

and
Warning: {text}
to

Warning
{text}

> **Warning**
> {text}

Hi @U8NWXD @gp201 , please let me know if you guys are working on this or not so that I can take this one. Thanks,

AFAIK no one is working on this right now. I think the right way to do this is probably to create a linter for it. wdyt @gp201?

Okay, I will look into it and reach out here if I have any doubts. Also, I am assigning this issue to me.

Hey @U8NWXD @gp201 what do you think about using super linter for this?

@SD-13 Super-Linter just provides a way to use other third-party linters. Which of those third-party linters would you want to use? Note that we need to vet all dependencies, including linters, to make sure they are well-maintained and don't introduce security issues

Sorry, I got the wrong idea. Yeah, keeping that in mind I am trying to use this linter. Will make a PR soon.


Fix missed usrsctp_sysctl_set_sctp_multiple_asconfs

usrsctp_sysctl_set_sctp_multiple_asconfs() function definition is missed which makes it impossible to use from outside.

This sysctl is not exported since it adds functionality not allowed by the RFC. So this is intentionally...

I see, thanks for clarifying this.


Added missing license headers

NetflixOSS » Hystrix » Hystrix-pull-requests #158 SUCCESS
This pull request looks good


Added NoHealthyBackendsBehavior

Added the property "NoHealthyBackendsBehavior" to the Probe properties. This property can have two possible values, "AllProbedDown" and "AllProbedUp".
ARM (Control Plane) API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

[!NOTE]
As of January 2024 there is no PR assignee. This is expected. See https://aka.ms/azsdk/pr-arm-review.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

Click here to see the details of Step 1, Breaking Changes review
If you are in purview of Step 1 of the diagram, follow the Breaking Changes review process.
IMPORTANT! This applies even if you believe your PR was mislabeled, for any reason, including tool failure.

Click here to see the details of Step 2, ARM review
See https://aka.ms/azsdk/pr-arm-review.

 Click here to see the diagram footnotes
Diagram footnotes
[1] See ARM review queue (for PR merge queues, see [2]).
[2] public repo merge queue, private repo merge queue (for ARM review queue, [1])
The ARM reviewer on-call engineer visits the merge queue twice a day, so the approximate ETA for merges is 12 - 24 hours.

Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!

[ ] New resource provider.
[ ] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix OpenAPI spec quality issues in S360.
[X] Other, please clarify:
-Adding a property to an existing resource (LoadBalancer Probe)

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[X] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[ ] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For help with PR workflow diagram Step 2 (ARM review), see https://aka.ms/azsdk/pr-arm-review.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

/azp run

/azp run

/pr requestmerge

/pr RequestMerge

/azp run

@EugenioPena - ARM team doesn't do merges to this branch. You should either be able to merge yourself or find someone from your RP that owns this.


Remove check that's been #if 0'd for years

If this structural property is valuable, it's for reasons that escape me.

@swift-ci Please smoke test and merge.


Add a GETTER for interest rate for front end

Make a simple getter for the frontend to get dynamic interest rate

getMinInterestRate


Add download and time interval refresh

You can add a commit to an existing Pull Request (PR) instead of creating new PR for the same issue. It can help us tracking the same issue and remove duplicate PR. If you add one or more commits, it will automatically show up in the PR review.
This duplicate PR will be closed instead. Please see the previous PR (#7).


how to set a display name in menu using  a variable....

Thanks for your support all the way..I am trying to set a display name to menu using a variable...I am using ng2-translate ...as per selected language i want to set a display name.I am quiet confused or if i may using it in wrong way..but when i set the variable to display name it show nothing in side menu..please correct me ...its urgent.....thanks in advance
This is my code

this code give me following output

What is the output of console.log(res)?
Anyway, I think that instead of doing things in that way, you can send the translation key as the displayName (would be "Dashboard" in your end, right?) and then add the translate pipe in the html code:

Let me know if that works or we should handle it in a different way.
Btw, I'll add support for ng2-translate soon :)

I am also waiting for the ng2-translate support!

I'll close this issue since using the translate pipe in the view should fix it for now until we add support for ngx-translate. Feel free to re-open it if you need any help.
Thanks :)


Fix mixin events partial function

Change-type: patch
Signed-off-by: Josh Bowling<EMAIL_ADDRESS>

@balena-ci I self certify!


Virtual buttons

Undo / redo : at the buttom left corner of the screen?
Restart : top right
Exit : top right also

Not just for mobile, buttons on screen to easily indicate player there's restart and undo redo control


validate pass but cannot run

Do you want to request a feature or report a bug?
Question

What is the current behavior?
node src/app/server.js

/Users/willin/Desktop/test/electronvue/node_modules/webpack/lib/webpack.js:19
                throw new WebpackOptionsValidationError(webpackOptionsValidationErrors);
                ^

Error
    at webpack (/Users/willin/Desktop/test/electronvue/node_modules/webpack/lib/webpack.js:19:9)
    at Object.<anonymous> (/Users/willin/Desktop/test/electronvue/src/app/server.js:7:18)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3

If the current behavior is a bug, please provide the steps to reproduce.

webpack-config:
base.js
const path = require('path');

module.exports = {
  module: {
    loaders: [{
      test: /\.vue?$/,
      loader: 'vue-loader',
      exclude: /node_modules/
    }, {
      test: /\.js$/,
      loader: 'babel-loader',
      query: {
        presets: ['latest'],
        plugins: [
          'transform-runtime'
        ]
      }
    }, {
      test: /\.(jpe?g|png|gif|svg)$/i,
      loaders: [
        'file?hash=sha512&digest=hex&name=[hash].[ext]',
        'image-webpack?bypassOnDebug&optimizationLevel=7&interlaced=false'
      ]
    }]
  },
  output: {
    path: path.join(__dirname, '../../build'),
    filename: 'app.js',
    publicPath: '/'
  },
  resolve: {
    root: path.join(__dirname, '../../'),
    extensions: ['', '.js', '.vue'],
    modulesDirectories: ['node_modules', 'src'],
    packageMains: ['webpack', 'browser', 'web', 'browserify', ['jam', 'main'], 'main'],
    alias: {}
  },
  plugins: [

  ],
  externals: [
  ]
};

development.js:
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const baseConfig = require('./base');
const path = require('path');

const config = Object.create(baseConfig);

config.debug = true;

config.devtool = 'cheap-module-eval-source-map';

config.entry = [
  'webpack-hot-middleware/client?noInfo=true&reload=true',
  './src/app/app.js'
];

config.output.publicPath = 'http://localhost:3000/build/';

config.module.loaders.push({
  test: /^((?!\.module).)*\.css$/,
  loaders: [
    'style-loader',
    'css-loader'
  ]
}, {
  test: /\.module\.css$/,
  loaders: [
    'style-loader',
    'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!'
  ]
});

// config.resolve.alias.config = path.join(__dirname, '../config/development.js');

config.plugins.push(
  new webpack.HotModuleReplacementPlugin(),
  new webpack.NoErrorsPlugin(),
  new webpack.DefinePlugin({
    __DEV__: true,
    'process.env': {
      NODE_ENV: JSON.stringify('development')
    }
  }),
  new HtmlWebpackPlugin({
    filename: 'app.html',
    template: 'src/app/app.html'
  })
);

config.target = 'electron';

module.exports = config;

What is the expected behavior?
run properly
If this is a feature request, what is motivation or use case for changing the behavior?
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
{
    "webpack": "^2.2.1",
    "webpack-dev-middleware": "^1.10.0",
    "webpack-hot-middleware": "^2.16.1",
    "webpack-validator": "^2.3.0"
}

https://github.com/js-dxtools/webpack-validator/issues/153
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration has an unknown property 'debug'. These properties are valid:
   object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry, externals?, loader?, module?, name?, node?, outp
ut?, performance?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?,
watch?, watchOptions? }
   The 'debug' property was removed in webpack 2.
   Loaders should be updated to allow passing this option via loader options in module.rules.
   Until loaders are updated one can use the LoaderOptionsPlugin to switch loaders into debug mode:
   plugins: [
     new webpack.LoaderOptionsPlugin({
       debug: true
     })
   ]
 - configuration.resolve has an unknown property 'packageMains'. These properties are valid:
   object { alias?, aliasFields?, cachePredicate?, descriptionFiles?, enforceExtension?, enforceModuleExtension?, extensions?, fileSyst
em?, mainFields?, mainFiles?, moduleExtensions?, modules?, plugins?, resolver?, symlinks?, unsafeCache?, useSyncFileSystemCalls? }
 - configuration.resolve.extensions[0] should not be empty.

debug and resolve.packageMains aren't supported as the error message implies. resolve.extensions is not allowed to contain empty entries either.
See the migration guide.


Should the compatibility level of master database be manually updated after upgrade?

This page mentions that the master database retains its compatibility level after an in-place upgrade, but does not offer any guidance as to whether Microsoft advises to keep the master database at the original compatibility level or to update the compatibility level manually after the in-place upgrade.
I'm currently stuck trying to determine whether this needs to be done or not. I'm not the only one who has had this problem, for example, see the first answer here: https://dba.stackexchange.com/questions/230775/changing-master-database-compatibility-level

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

ID: f835330e-fcf4-d770-b5b8-3480b2a460e2
Version Independent ID: 84f8281d-2f58-a308-e258-ba1fbfc5bc88
Content: Use Query Store after upgrade - SQL Server
Content Source: docs/database-engine/install-windows/change-the-database-compatibility-mode-and-use-the-query-store.md
Product: sql
Technology: install
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

@kvettr -- Kvettr, thank you for your question.  Please consider this resource as well:

Stack Overflow

@MashaMSFT -- Masha, please look into this issue.

@WilliamAntonRohm Thanks, I had actually included this question as part of a larger question I posted on DBA.StackExchange https://dba.stackexchange.com/questions/270942/rds-mssql-in-place-upgrade-how-to-update-master-db-compatibility-level-when-rdsa

@MashaMSFT , perhaps this page should reiterate what is found here regarding the master database: https://docs.microsoft.com/en-us/archive/blogs/sqlserverstorageengine/compatibility-level-140-is-now-the-default-for-azure-sql-database
It was frustrating that I had to dig through Azure-specific documentation to find guidance on this.

@kvettr if there are no user objects and dependencies (which is NOT recommended), it is generally safe to upgrade to the default compatibility level. The blog post you mention applies to Azure only - for example, you can change the master compat level with ALGTER DATABASE.

#please-close


Bug 2257982: Fix typo in StorageClusterKind

To fix a bug where the proper specs were not passed onto the StorageCluster due to the typo

/approve
/lgtm

/retitle Fix typo in StorageClusterKind

/cherry-pick release-4.15

/cherry-pick release-4.15-compatibility

/test odf-console-e2e-aws

/test odf-console-e2e-aws


Added A New Profile Design

I have added a new profile design. Please review my PR.

@alamin-karno thanks for contributing to this repo. Don't forget to ⭐ the repo.


Fingerprint can be set

Coverage remained the same at 100.0% when pulling ad099f2514b20a35e47a8916c6c1d9e14619336b on RetentionGrid:fingerprint into 067b2c6ccfc5074d8ba5b9666d7432fe1838b357 on snowplow:master.

Coverage remained the same at 100.0% when pulling ad099f2514b20a35e47a8916c6c1d9e14619336b on RetentionGrid:fingerprint into 067b2c6ccfc5074d8ba5b9666d7432fe1838b357 on snowplow:master.

Coverage remained the same at 100.0% when pulling ad099f2514b20a35e47a8916c6c1d9e14619336b on RetentionGrid:fingerprint into 067b2c6ccfc5074d8ba5b9666d7432fe1838b357 on snowplow:master.

Nice feature! Thanks @kazjote . @fblundun - Kacper has signed the CLA.


Links are indistinguishable from other text.

What is the problem?
When I've viewing the rendering I cannot obviously distinguish link text from any other body content.
Do you recommend a solution?
Investigate if we can alter the theme or styling to render links in an unobtrusive yet distinct manner.

This no longer seems accurate. I'm not sure if it's because I changed a theme or what, but closing as wontfix for now.


[Tizen] Added MediaElement implementation

Description of Change
This PR added MediaElement implementation for Tizen.
Limitations and Known Issues

Most features of MediaElement are supported, but KeepScreenOn is not supported due to tizen 4.0 platform constraints.
MediaView (MediaElement) is not allowed on Tizen TV products, because of security policy for digital media contents. Please use Tizen.TV.UIContols instead.
https:// is not supported on the tizen emulator, Use http:// instead for streaming playback on the emulator

Bugs Fixed

N/A

API Changes

None

Behavioral Changes

None

PR Checklist

[x] Has tests (if omitted, state reason in description)
[x] Has samples (if omitted, state reason in description)
[x] Rebased on top of main at time of PR
[ ] Changes adhere to coding standard

[ ] Updated documentation

@JoonghyunCho Hello!) Thank you very much for this awesome contribution)
Can you please retarget and rebase to develop branch since it's a new feature?)

@AndreiMisiukevich Sure, I will create a new PR to develop branch. Thanks.


cleanup: Remove unused file

:tada: This PR is included in version 1.75.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


fix(firebase_performance): remove the app creation during plugin initialization.

Fireperf SDK doesn't require creating an app instance. Removing it allows the developer to not call await Firebase.initializeApp() at the beginning of Flutter app which saves app startup time. This should fix #7060.
Related Issues
#7060
Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (melos run analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change.
[x] No, this is not a breaking change.

Pausing on this until #6549 is further along so we can see how this change is impacting that PR.

Closing as this is superseded by the latest version - thanks!


<def[hit_entities]> in shoot command returns null with ITEM_PROJECTILE[item=magma_cream]

Seems like ITEM_PROJECTILE[item=magma_cream] is not recognizes as an projectile anymore in the shoot command. It won't return hit entities. Works fine with arrows instead

Morph appears to have fixed it ^ - can you please confirm the fix?

Solved


testing different versions

from @mnoergaard conversion - compare numerical range and errors of each nifti to ecat read

done - results show orientation and encoding issues in nibabel and ect2nii tcp


Starlette #493 workaround

Hi @tiangolo , I'm creating this PR to workaround an issue with Starlette (https://github.com/encode/starlette/issues/493) that avoid developers from reading the Request.Body inside a Middleware or Exception Handler, in my specific case I need to get the original content from body when a JSON deserialization generates an error, with the change bellow I'm able to retrieve the original exception and thus the original content that FastApi tried to parse. It is a really small change that I see no harm.
While it help me it also provides better exception handling for other developers.

Thanks! I'll check it soon.

Thanks! Merged and released in FastAPI version 0.21.0. :tada: :cake:


Consider removing bincode dependency?

I landed on this crate after evaluating bincode and found a bug in the version 2 beta that prevented me from using it for my use case. Whilst I don't think that bug applies to this crate I think the bincode dependency could be removed and we could use the newer from_be_bytes and to_be_bytes for primitive types.
For example for u8:

https://doc.rust-lang.org/std/primitive.u8.html#method.from_be_bytes (reader)
https://doc.rust-lang.org/std/primitive.u8.html#method.to_be_bytes (writer)

We should also support little endian with from_le_bytes and to_le_bytes. We could add an Endian enum and pass it to BinaryWriter::new and BinaryReader::new which would be a breaking change and require a major version bump!
If this interests you let me know and I will look into it some more :+1:

Hi! I have wanted on doing the same thing, mostly because bincode is very overkill for what this crate is trying todo
As for doing endianess I think this could be achieved without braking changes by adding new_with_endian(...) and just default endianess to little endian when calling new(). Not sure about that though

I agree not having a trait for those functions is a bit awkward but we can still just manually call them in the read_ and write_ methods.
Sure a new constructor flavor is a good idea 👍

I agree not having a trait for those functions is a bit awkward but we can still just manually call them in the read_ and write_ methods.
Sure a new constructor flavor is a good idea 👍

Calling them manually is a bit cumbersome when adding endianess too as it requires a branch for all of them, a lot of duplication, maybe a macro could achieve this. But my knowledge on macros is a bit limited.

My knowledge of macros is limited too but this is certainly a good candidate for a macro to remove some of the repetition. I will look into it.


feat: initial support for kustomize+https import scheme

Related to https://github.com/kubecfg/kubecfg/issues/219, I thought this was quite interesting so I spent a little bit of time with it.
This is a very rough implementation of adding kustomize+https://<url> support to kubecfg. It should also be likely marked as requiring --alpha, which I can look into later on. No doubt there is a lot to do to get this working properly.
I.e. at a high-level this simply runs kustomize build <url> and relies entirely on their libraries. Perhaps in the future we want to also support kustomize locally with kustomize://path/to/kustomization or similar. For now, this works over a network.
Note: as this is an initial start, it is missing the vendored/tagged portion, i.e. this will always get master|main at the moment. However, It should serve as a starting point to develop further.

Example
// testdata/kustomize/test.jsonnet
{
  metacontrollerUpstream: import 'kustomize+https://github.com/metacontroller/metacontroller/manifests/production',
}

go run main.go show testdata/kustomize/test.jsonnet | kubectl apply -f -
namespace/metacontroller created
serviceaccount/metacontroller created
clusterrole.rbac.authorization.k8s.io/metacontroller created
clusterrolebinding.rbac.authorization.k8s.io/metacontroller created
clusterrole.rbac.authorization.k8s.io/aggregate-metacontroller-view created
clusterrole.rbac.authorization.k8s.io/aggregate-metacontroller-edit created
customresourcedefinition.apiextensions.k8s.io/compositecontrollers.metacontroller.k8s.io created
customresourcedefinition.apiextensions.k8s.io/controllerrevisions.metacontroller.k8s.io created
customresourcedefinition.apiextensions.k8s.io/decoratorcontrollers.metacontroller.k8s.io created
statefulset.apps/metacontroller created

cc: @primeroz As I know you were interested in this too :blush:


JPMS

please add a module-info or automatic module name so this can be used with java modules
/home/xeno/IdeaProjects/ai-wh40k/module/game/src/main/java/module-info.java:3: error: module not found: freebuilder
  requires freebuilder;

PRs welcome

Are you trying to maintain support for pre java 9?

I'm not sure of the Java landscape these days. What does Android compatibility entail?

I don't know what android's up to. Automatic module naming is backwards compatible for sure though.

I believe recent-er versions of gradle can generate the automatic module manifest (I need to do some research) are you amenable to upgrading if that's the path of least resistance?

Absolutely.

Honestly, I went to do this, this morning, but I can't get the project to build. I'm not sure why you've done some things... so I don't want to mess around with a project that doesn't build
 Where:
Script '/home/xeno/IdeaProjects/FreeBuilder/gradle/java-compatibility.gradle' line: 34

* What went wrong:
A problem occurred evaluating root project 'FreeBuilder'.
> Could not get unknown property 'HOME' for root project 'FreeBuilder' of type org.gradle.api.Project.

to fix this you might want to upgrade to gradle 8 (it was introduced in 7, but I'm not sure which version), and use the Java Toolchain feature. I'm only guessing at what you're trying to do though.
to fix the actual issue I brought up here it should be as simple as
jar {
    manifest {
        attributes 'Automatic-Module-Name': 'org.inferred.freebuilder'
    }
}

https://stackoverflow.com/a/53912585/206466
https://blog.joda.org/2017/05/java-se-9-jpms-automatic-modules.html

That's these lines here:
https://github.com/inferred/FreeBuilder/blob/3a38f58e1e5e69f4b71bd8ac4c5dcfc4c37fa587/gradle/java-compatibility.gradle#L34-L35
It's supposed to write out an error message, but apparently the $HOME needs escaping in the string before it can do that.

Yeah, I'm just thinking there might be a better way to do whatever you're trying to do than there was in 6. You should just be able to copy and paste those jar lines somewhere though and have add the manifest.MF when you build the jar. I haven't tested it though because... Oh because I didn't want to spend a ton of time making your build work. Especially with My IDE.


Update changeset for lit release

Adding lit to changeset since core libraries are getting updated

I think we should have a changeset file for it too, which is similar/identical to the change to the core libs, so that the changelog gets updated correctly.

Sorry, ignore me, I misread the diff.


Lint using CSSComb once it supports alphabetical ordering

Issue: csscomb/csscomb.js#158
CSSComb can lint code style pretty well, just needs alphabetical sorting. Remove use of CSSLint in modules.

Closing this because I think csscomb is no longer actively developed.


Lots of rendering artifacts, doesn't follow prompts well, error messages

I am using a 64GB M3 Max MBP on 15.0.1. Just got MLX Flux Dev working in comfyui this morning, but it's not working well. While it is somewhat faster than regular PyTorch, it uses much more memory (swaps a lot of memory even at 1024x1024, especially during VAE decoding), produces a lot of poor-quality images, doesn't follow prompts well if they contain more than one concept (e.g. "a cat"), and gives error messages if the cfg control (is this meant to be real cfg or flux guidance?) is anything other than 0.
This is an image generated using the rather complex prompt, "Drone photograph of a small flat rock island in the middle of the ocean with three neatly-dressed people standing on it, looking at a small fishing boat. The boat is motoring away from the island and the pilot waves farewell. On the horizon to the right, the sun is rising. On the horizon to the left, massive dark storm clouds are gathering." As you can see, it understood "fishing boat", "island", and "ocean" and not much more, which is uncharacteristic for Flux. The image also has crosshatch artifacts throughout. I've also seen dotted vertical lines and repeated noise patterns in other images.

If I take this same workflow and set cfg to 1, I get the following error message:
[concatenate] All the input array dimensions must match exactly except for the concatenation axis. However, the provided shapes are (1,24,512,128), (2,24,4032,128), and the concatenation axis is 2.
Any further attempts at MLX rendering (whether just reattempting the above with cfg 1, another cfg value, or even setting cfg back to 0) result in this other error message:
[addmm] Last dimension of first input with shape (1,1,1,3072) must match second to last dimension of second input with shape (0,1).
The only solution I've found to regain rendering is to restart the back end.
So, unfortunately, this doesn't look ready for more than experimental use at this point. I'll be happy to retry when these issues start to be fixed.

Thanks for your feedback ! I will check those issues.
Feel free to contribute as it's a new open-source project.

Thanks. I am unfortunately not a programmer and am not really in a position where I'm able to learn right now. But if you have anything you'd like me to test, feel free to send it.

I retested your MLX nodes on OS 15.1.1, since I saw you had done an update some weeks ago. I haven't done extensive testing, but I retested the above prompt and seed and things are looking much better, more how I'd expect Flux to look. Thanks for the fix!

Setting cfg to anything other than 0 still produces the error messages as I indicated previously, including the behavior that the backend remains broken after returning to cfg 0 until it is restarted.
Since you have a latent decoder node, would it be possible to have a latent encoder as well? This would give more flexibility for image to image workflows. Or is the latent format the same so that the normal Pytorch VAE Encode node would still work?


Removed some steps not valid for vWAN and re-wrote some parts to fit vWAN rather that VPN Gateway article

Updated text in the introduction.
Updated part 1 "Create Azure AD Tenant" part to match the VPN Gateway article(https://docs.microsoft.com/en-us/azure/vpn-gateway/openvpn-azure-ad-tenant).
Updated part 2 "Create Azure AD Tenant users" with new text.
Renamed part 3  to "Grant consent to the Azure VPN app registration" and removed steps 1 and 2, the directory ID located and copied is never used in this article.

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

#sign-off


Include mypy validation as a step in the CI

Awesome work @rinti. I've based Pipit mypy support on the work you referenced.

https://github.com/Frojd/Wagtail-Pipit/commit/763aa29bff99cb3d0c03e35f90837c2df5777564
https://github.com/Frojd/Wagtail-Pipit/commit/0e83818b0ceae8ab8e712a4c93a753f02e7dd373
https://github.com/Frojd/Wagtail-Pipit/commit/37537e8a27c8e79da16951c6b903c554ab6cfb4a

And final fixes are done here: https://github.com/Frojd/Wagtail-Pipit/commit/28bffcb3b35c4a0891f5614df1335e591754c409
Ended up having to ignore false negative errors.


replaceFunctionShellsWithWrappedValue bug when function isn't called

function fn() {
  return 0;
}
const obj = { key: fn };

output:
function fn() {
  return 0;
}
const obj = { 0 };

It shouldn't inline the function since it isn't being called
In case of console.log(fn); it even replaces the whole statement with 0;

Welp, that's not good! Thanks for reporting, I'll get on it.

I can do it, should be a quick fix

Much appreciated

Good catch and great job resolving it! I really appreciate your attention to the project's standards!
Thanks!


Rename text strings to adhere to naming conventions

Breaking change

Proposed change

Type of change

[ ] Dependency upgrade
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New integration (thank you!)
[ ] New feature (which adds functionality to an existing integration)
[ ] Deprecation (breaking change to happen in the future)
[ ] Breaking change (fix/feature causing existing functionality to break)
[ ] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:
Link to documentation pull request:

Checklist

[ ] The code change is tested and works locally.
[ ] Local tests pass. Your PR cannot be merged unless tests pass
[ ] There is no commented out code in this PR.
[ ] I have followed the development checklist
[ ] I have followed the perfect PR recommendations
[ ] The code has been formatted using Black (black --fast homeassistant tests)
[ ] Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated for www.home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] The manifest file has all fields filled out correctly.
Updated and included derived files by running: python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt.
Updated by running python3 -m script.gen_requirements_all.
[ ] For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
[ ] Untested files have been added to .coveragerc.

To help with the load of incoming pull requests:

[ ] I have reviewed two other open pull requests in this repository.

Motivation: Making sure that classes are named consistently is essential for code that's easy to read and work with. When everyone follows the same naming convention, it makes it much simpler for a team to collaborate effectively. This means that developers can quickly understand what a class does and how it's meant to be used. Following established conventions, like using either "CapWords" or "snake_case" as recommended by PEP-8, ensures that the code looks clean and organized. This is especially important when classes are used in specific ways, like as decorators or context managers. Fixing this issue not only brings the code in line with best practices, but it also makes it much easier for developers to work together smoothly.

looks good


RTE doesn't save text

On some occasions, the RTE will not save the text value. This needs to be tested very thoroughly.

The problem only happened on paste, resolved


Fixed hset method for key=0

This PR is a fix for issue #1337. I have also made a small fix in hset docs string and added 2 additional checks in unit tests.
Let me know if there is anything else to do here.

Codecov Report

Merging #1341 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #1341   +/-   ##
=======================================
  Coverage   92.87%   92.88%
=======================================
  Files          20       20
  Lines        6544     6546    +2
=======================================
+ Hits         6078     6080    +2
  Misses        466      466

Impacted Files
Coverage Δ

redis/client.py
86.26% <100.00%> (ø)

tests/test_commands.py
99.94% <100.00%> (+<0.01%)
:arrow_up:

Continue to review full report at Codecov.

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

Looks good to me. Thanks!


Bluestein algorithm (Chirp-Z)

Will be nice if clFFT supports use of Bluestein's algorithm to enable "arbitrary" size FFTs.

Yes, I agree it is a needed feature, there is already existing feature request #2
Unfortunately, clFFT has no immediate plans for any significant feature addition at this time.


Weekly deployment

Merge all the tickets with status done
Test the functionality
Fix problems / Create issues

reddit-clone.postman_collection.json

Nice, I'll create a public collection from it and share it with the team

@OnDecember https://www.postman.com/jr-abstract/workspace/abstract-reddit could you please test if you have a permission to work with this workspace? (You need to have an account
)

@OnDecember https://www.postman.com/jr-abstract/workspace/abstract-reddit could you please test if you have a permission to work with this workspace (Modify it)? You need to have an account

@oleksandr-jr Yes, i have permission

https://github.com/JR-Abstract/reddit-clone-abstract/releases/tag/1.0.0-alpha.1


Update PhiClient.cs

In the previous method, it was not possible to specify the port number when connecting.
Performs the process of splitting the server address and server port in recognition of the colon.

Should be added in befd67c
Added some checks that the port-number is in a valid range
Added portnumber as a possible argument to the server-binary as well so it can be started on a custom port


windows

This software is great, looking forward to the release version for windows.

You'll find the binary executable files for Windows 10 in the readme. One link holds the executable for the old (complete) version, the other link holds the executable snapshot (as of 1 March) of the current improved (but still incomplete) version.

Thanks for your kind help. I feel like I'm going to be a big fan of this project.

I will try this software. It seems much completed than other pre-existing GUIs.
By the way, why don't you upload release to release section ? haha


Added more info for moving objects in FAQ

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

Just a reminder to make changes in azure-docs-pr instead.


Pylint: enable pointless-exception-statement

Turn on pointless-exception-statement pylint warning.
It turns out we had a  half-dozen instances where we were indeed creating  an  exception without raising it, so I fixed them.
Obviously, those exception cases did not have test coverage and I have not created tests to cover them here.
Relates to #9614

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 7 (0.0%)  changed or added relevant lines in 6 files are covered.
18 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.008%) to 85.956%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/pulse/transforms/alignments.py
0
1
0.0%

qiskit/qpy/binary_io/schedules.py
0
1
0.0%

qiskit/quantum_info/operators/scalar_op.py
0
1
0.0%

qiskit/visualization/pulse_v2/plotters/matplotlib.py
0
1
0.0%

qiskit/visualization/timeline/plotters/matplotlib.py
0
1
0.0%

qiskit/visualization/timeline/layouts.py
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
1
90.18%

crates/accelerate/src/vf2_layout.rs
2
96.49%

crates/qasm2/src/lex.rs
3
90.89%

crates/qasm2/src/parse.rs
12
97.11%

Totals

Change from base Build<PHONE_NUMBER>:
-0.008%

Covered Lines:
71480

Relevant Lines:
83159

💛  - Coveralls


Hotfix release v0.4.1

Currently contains the two HDF5 fixes and the mgspack hotfix. Anything else needed? v0.4.1rc0 is on the way...

[x] Install release candidate packages in a clean environment (for example: pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple 'libertem==0.4.1rc0')

Done, released on GitHub, PyPI and zenodo


Add minimum & maximum day

Is it possible to add minimum and maximum date, not by year

Not yet but I will try to add this functionality as I have a requirement as well.

@nicholaschong95
added pull request.
https://github.com/MattLLLLL/MDatePickerView/pull/13
You can use the code from the commit.
I have also added separate repo for use for Swift Package Manager. check my repositories.


Bug/fix broken backup feature

Should look line 140 at BackupUtils.java..
getDBFileInputSteamFromExternalStorage
Spent hours now trying to figure this new file access permissions system out at api 29 but could not find solution yet so did "easy" hack which doesn't solve this for long => android:requestLegacyExternalStorage="true"
Maybe someone else knows how to get access properly to external storage... like download folder to read file.
@developerfromjokela if you see this and know something, throw comment! 👍

This one looks like something I'd actually need to test. At least today I won't be setting up any new dev environments anymore... Tomorrow I'm heading to summer cottage for a week and I'll be relying on my laptop screen making code reviews somewhat more cumbersome. But let's see!

What if we use the application's "data" folder (public one)? It's located at <internal_storage>/android/data/<package_name>. Only small downsite is that basic user wouldn't likely find this folder. Maybe putting a button to open the path will help?
And there's one thing about that workaround in Manifest, if you're in target SDK 30 or newer, it will ignore that flag. And setting to SDK 29 isn't a longtime solution, Google will force us to use newer one.
I saw at one app, it was an Screen recorder, when it launched, it asked user to select the save path. And it opened Android built-in screen for selecting folder. That will grant access to the selected folder.
As far as I know that is the right way to fix this issue.

What if we use the application's "data" folder (public one)? It's located at <internal_storage>/android/data/<package_name>. Only small downsite is that basic user wouldn't likely find this folder. Maybe putting a button to open the path will help?
And there's one thing about that workaround in Manifest, if you're in target SDK 30 or newer, it will ignore that flag. And setting to SDK 29 isn't a longtime solution, Google will force us to use newer one.
I saw at one app, it was an Screen recorder, when it launched, it asked user to select the save path. And it opened Android built-in screen for selecting folder. That will grant access to the selected folder.
As far as I know that is the right way to fix this issue.

Thanks for these details, need to dig into this.

@norkator Have you looked to this article: https://medium.com/better-programming/all-you-need-to-know-about-scoped-storage-in-android-10-e621f40bc8b9

Here's an example: https://github.com/pg598595/ScopedStorageDemo

Thanks, I'll check/continue this today later

Slowly progressing

Still cannot get output stream with this part. I don't seem to understand this.

Okay I try this again when time firing up that example app and testing with it first.

Removed that android:requestLegacyExternalStorage="true"
Taking backup works but its been taken to following location on api 29+

So as @developerfromjokela said I should make some sort of button which opens this location to folder finder and also make backup view nicer. Any recommendations how to improve visuals? @developerfromjokela @ristomatti

@norkator Would it be good to place a button named "Open backup folder" near the Close button?

@norkator Would it be good to place a button named "Open backup folder" near the Close button?

You mean on this backup manager activity like bottom corner?

No I mean that dialog that you showed on that image

No I mean that dialog that you showed on that image

Haha yeah indeed

Yep button there sounds like a good plan to me also. Is there a general activity that will then prompt the user which file manager app to use for opening the folder?

Good

View looks like this. Taking backup and restoring backup works both >API29< and tested with different virtual and physical devices.
Timed backup is on own view section and it also shows when last backup is taken.

Bad

There is open location button on success dialog but no matter what I try for intents and after many stackoverflow pages file browser intent wont never open that file location on any device SDK level. I tried with right mime type, only folder without file and extension on path. Everything.

@developerfromjokela can you find solution for this or @ristomatti  ?
With using "backup" object you can pass any needed details from "BackupUtils.java" to void named "openFolderLocation" which currently has some random intent.


concurrency: support easier MultiException handling by auto-generating subtypes

This is cool!

This fails:
    class Foo(Exception):
        pass

    class Bar(Foo):
        pass

    def raise_it(exception_class):
        raise exception_class

    with pytest.raises(MultiException.Foo):
        MultiObject([Bar]).call(raise_it)

This works:
    class Namespace:
        class Foo(Exception):
            pass

    class Foo(Exception):
        pass

    def raise_it(exception_class):
        raise exception_class

    with pytest.raises(MultiException.Foo):  # which `Foo` am I referring to?
        MultiObject([Namespace.Foo]).call(raise_it)

I don't like this matching-names based API. I'd rather have something like MultiException[Foo] instead:

It works with namespaces - Python knows exactly which Foo you are talking about.
It will be possible to properly support subclassing.
It fits the (newish) convention for "generics" in Python (see https://docs.python.org/3/library/typing.html)


Update timer cycle definition to support cron expression

What should we do?
Update timer cycle definition to support cron expressions.
Inspiration can be retrieved from the docs (once those are completed).

https://github.com/camunda/camunda-platform-docs/issues/1117

Why should we do it?
Camunda Platform 8.1 introduces the following

https://github.com/camunda/zeebe/pull/9674

Note that we can define a CRON expression, but that the description specifies the ISO 8601 repeating intervals only:

Related to https://github.com/camunda/product-hub/issues/300.

Are there changes needed for the property itself, or are only documentation/description updates required?

@pinussilvestrus I don't think so. For the Cycle Type, the Value can simply be set to a cron expression (like in the example above).

Split up validation into separate topic: https://github.com/camunda/camunda-modeler/issues/3084. That one goes beyond duration but shall cover different mentions of times, durations and intervals, as well as CRON expressions across our app(s).

Do we want to update the description for C7 too? As noted in the Zeebe issue, C7 also supports cron expression and it's documented: https://docs.camunda.org/manual/7.17/reference/bpmn20/events/timer-events/#time-cycle

Yes, let us do it!

Draft:

The example comes from the docs: https://docs.camunda.io/docs/next/components/modeler/bpmn/timer-events/#time-cycle

I confirmed that a timer with exactly this expression is successfully deployed to<EMAIL_ADDRESS>No additional flags are required.

OK, so I will proceed with the contents as on the screenshot.

This will be implemented via https://github.com/bpmn-io/bpmn-js-properties-panel/pull/772


feat: parser skillcorner open dataset

This adds a parser for the public SkillCorner open dataset.

Thanks for your feedback! I am not sure where it says that this can be used to "access" the dataset, but maybe I am missing something. I think this should be a parser first and could be wrapped into a Dataset later as it's more convenient for the user. I agree that more information on how to use it was necessary so I added links to the providers and repository in the documentation. It should be pretty straight forward from there but let me know if you think more instructions are needed.


Added null type in reference to  #14229

This fixes Issue #14229 by adding a null as a possible type for doctype in createDocument.

Hi @snood1205, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Thanks for your PR. these files are not manually edited, they are auto-generatd from a script in . You can find more information about contributing lib.d.ts fixes at https://github.com/Microsoft/TSJS-lib-generator.
Changes should be done in https://github.com/Microsoft/TSJS-lib-generator instead.
Please find more information at: https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md#contributing-libdts-fixes.


[Fleet] Wrong Resource count shown on GitRepo page

Setup

Rancher version: 2.9.1
Rancher UI Extensions:
Browser type & version: Chrome

Describe the bug

After creating GitRepo which creates single resource on each cluster i.e. total 3 resources. But under Resources page on GitRepo, table shows 2 extra entry for same resource (which doesn't exists). In result it shows 3 resources per cluster total 9 resources instead of 3.
To Reproduce

Navigate to Continuous Delivery
Create a GitRepo (I used repo:https://github.com/sbulage/test-fleet and path: nginx)
Wait for the resources to install on each cluster.
Click on newly created GitRepo.
Click on Resources tab.

Result
It is showing 9 resources instead of 3 resources (1 per cluster.)
Expected Result

It should show correct count of resource in the table. (Only 3 resources in this situation)
Screenshots

Additional context

I think the fleet controller calculates the gitrepo.resources list with too many entries.
There will be one resource reported per cluster it has been deployed to, but without the cluster name. Only when a modified/non-ready resource is detected, it will have the cluster name in a perClusterState field:
For example, after deploying https://github.com/manno/fleet-experiments/blob/main/gitrepo-lots.yaml
  {
    "apiVersion": "v1",
    "id": "lots-b/test-config-seven",
    "kind": "ConfigMap",
    "name": "test-config-seven",
    "namespace": "lots-b",
    "state": "Ready",
    "type": "configmap"
  },
  {
    "apiVersion": "v1",
    "id": "lots-b/test-config-seven",
    "kind": "ConfigMap",
    "name": "test-config-seven",
    "namespace": "lots-b",
    "perClusterState": [
      {
        "clusterId": "fleet-default/c-kwf4x",
        "state": "Missing"
      }
    ],
    "state": "Missing",
    "type": "configmap"
  },
  {
    "apiVersion": "v1",
    "id": "lots-b/test-config-seven",
    "kind": "ConfigMap",
    "name": "test-config-seven",
    "namespace": "lots-b",
    "state": "Ready",
    "type": "configmap"
  },
  {
    "apiVersion": "v1",
    "id": "lots-b/test-config-seven",
    "kind": "ConfigMap",
    "name": "test-config-seven",
    "namespace": "lots-b",
    "state": "Ready",
    "type": "configmap"
  },
  {
    "apiVersion": "v1",
    "id": "lots-b/test-config-seven",
    "kind": "ConfigMap",
    "name": "test-config-seven",
    "namespace": "lots-b",
    "state": "Ready",
    "type": "configmap"
  },
  {
    "apiVersion": "v1",
    "id": "lots-b/test-config-seven",
    "kind": "ConfigMap",
    "name": "test-config-seven",
    "namespace": "lots-b",
    "state": "Ready",
    "type": "configmap"
  },

Solution to https://github.com/rancher/dashboard/issues/12424 should have fixed this one as well.
Can it be re-tested?


Error: Invalid sdk/platform/version - The version must be a string

This commit introduced a bug where you are expecting Platform.Version to be a string, but the type of Platform.Version provided by react-native is actually string | number. Because of this, when loaded on Android version 30 (which is a number type), we get this error in the app.

@tywayne thanks for reporting this! I'll get it fixed pronto. It was developer error on my part assuming that React Native Platform.Version would return the same type for both plaforms.

@sean-hill I had submitted PR #8 already with the fix. You'll likely want to ensure you send in a string on iOS as well, correct?

I've published version 1.3.0 to this package. Can you give it a try?


Set seed for Erdos Renyi graph in plot degree distribution

@wingedRuslan notes in his tutorial that "Note: The Grey Curve (the degree distribution of an Erdos Renyi random graph) will not be exactly the same, because every time you call the plotting function a new Erdos Renyi random graph is created."
I think this is a problem and we should have an option to set the seed for that graph.
By default we don't have to, but I think its important for full reproducibility to be able to make the exact figure again.

@KirstieJane Thanks for the opening issue about that!
Indeed, the nx.erdos_renyi_graph() has the parameter seed. If we set this parameter to some value (e.g. 10), you will create the same Erdos Renyi graph each time we call plot_degree_dist.
Do you want to have this value hardcoded G_ER = nx.erdos_renyi_graph(nodes, cost, seed=10) or add this parameter seed to our function plot_degree_dist?

I think add the parameter to the plot_degree_dist function, and give it a default value. It would be great to also give the options of passing 'random' for the seed and having the code create a new graph each time.
(But not having random as the default, that would have to be explicitly asked for)

@KirstieJane, add commit to PR #121 to address this problem. Now by default, we set seed to 10 (just a default integer value) and we are able to make our results reproducible.
In case it is needed to create random Erdos Renyi Graph, set seed to None.

Closing since #121 has been merged, adding this random seed setting functionality


What is the "platform" reference for in Client JS file?

I am working through this SDK to support my issue raised here, but I am not sure why this import path exists?
https://github.com/Azure/azure-mobile-apps-js-client/blob/master/sdk/src/MobileServiceClient.js#L8 it doesn't seem to point to anywhere, 'Platforms/Platform' doesn't seem to point anywhere, it seems like it should be somethign like this ./Platforms/winjs/Platform.
Is that correct or am I missing something?

Platforms is a browserify alias for conditionally choosing the target (browser, cordova, etc). The reason for using alias was to work around browserify's limitation with conditional require. Platforms is defined in Gruntfile.js at the root. Running npm run build will resolve the path by referring to the appropriate platforms directory and generate the bundle in the ~/dist directory.


The template should support the symlinked common-variables.tf file

Describe the Feature
New bootstrapped projects do not use the config/common-variables.tf file which is then symlinked by all layers to favor reusability of the variables defined in such file.
The feature is already implemented in the reference architecture so a reference can be borrowed from there:

https://github.com/binbashar/le-tf-infra-aws/blob/master/config/common-variables.tf
https://github.com/binbashar/le-tf-infra-aws/blob/master/apps-devstg/global/base-identities/common-variables.tf

@diego-ojeda-binbash OJ good catch! :) Thanks for creating this issue.


[Infra] Unable to delete an agency that used to have a user in it.

Expected behavior:

I can delete any agency without users in it.

Current behavior:

I can delete an agency that never had users in it.
I cannot delete an agency that had a user in it, but the user was deleted.  I'm not suggesting this is fixed, just noting it worked locally. If this bug still exists then I'd be curious what the environment differences are between those databases.

Thanks Ed, I'll do some testing to see if I can recreate

tested and this seems to be working fine now! I had two users in an agency - confirmed that I could not delete the agency while the users were in it; but once the users were deleted, I successfully deleted the agency. closing this issue.


Key suddenly unknown trust

This seems to be your key - I recently updated my gpg config, maybe this is my fault, just wanted to mention.
And what is the proper way to resolve something like that?
I already tried

sudo pacman-key --init

❯ yay
error: manjaro-sway: signature from "Jonas Strassel<EMAIL_ADDRESS>is unknown trust
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
 manjaro-sway                                                                17.1 KiB  80.4 KiB/s 00:00 [##############################################################] 100%
error: manjaro-sway: signature from "Jonas Strassel<EMAIL_ADDRESS>is unknown trust
error: failed to synchronize all databases (invalid or corrupted database (PGP signature))
 -> error refreshing databases

Updating trust did not fix it:
❯ curl https://keybase.io/boredland/pgp_keys.asc | gpg --import
❯ gpg --edit-key ABB2075D5F310CF8
gpg (GnuPG) 2.2.40; Copyright (C) 2022 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

pub  rsa3072/ABB2075D5F310CF8
     created: 2021-07-07  expires: 2023-07-07  usage: SC
     trust: full          validity: unknown
sub  rsa3072/D3EEE9AB3553C9FF
     created: 2021-07-07  expires: 2023-07-07  usage: E
[ unknown] (1). Jonas Strassel<EMAIL_ADDRESS>[ unknown] (2)  Jonas Strassel<EMAIL_ADDRESS>[ unknown] (3)  Jonas Strassel<EMAIL_ADDRESS>[ unknown] (4)  Jonas Strassel<EMAIL_ADDRESS>
gpg> trust
pub  rsa3072/ABB2075D5F310CF8
     created: 2021-07-07  expires: 2023-07-07  usage: SC
     trust: full          validity: unknown
sub  rsa3072/D3EEE9AB3553C9FF
     created: 2021-07-07  expires: 2023-07-07  usage: E
[ unknown] (1). Jonas Strassel<EMAIL_ADDRESS>[ unknown] (2)  Jonas Strassel<EMAIL_ADDRESS>[ unknown] (3)  Jonas Strassel<EMAIL_ADDRESS>[ unknown] (4)  Jonas Strassel<EMAIL_ADDRESS>
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 4

I have no clue and no computer. May first check 31st...

❯ sudo pacman-key --refresh-keys
gpg: key 9D893EC4DAAF9129: "Bruno Pagani<EMAIL_ADDRESS>not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
pub   rsa2048 2011-08-22 [SC]
      69DA34D78FE0EFD596AC6D049D893EC4DAAF9129
uid           [ unknown] Bruno Pagani<EMAIL_ADDRESS>sub   rsa2048 2011-08-22 [E]

...

gpg: error retrieving<EMAIL_ADDRESS>via WKD: No data
gpg: error reading key: No data
gpg: error retrieving<EMAIL_ADDRESS>via WKD: No data
gpg: error reading key: No data
gpg: error retrieving<EMAIL_ADDRESS>via WKD: No data
gpg: error reading key: No data
gpg: error retrieving<EMAIL_ADDRESS>via WKD: No data
gpg: error reading key: No data
gpg: refreshing 1 key from hkps://keyserver.ubuntu.com
gpg: key ABB2075D5F310CF8: "Jonas Strassel<EMAIL_ADDRESS>not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

❯ sudo pacman-key --populate archlinux manjaro
[sudo] password for janekf:
==> Appending keys from archlinux.gpg...
gpg: public key of ultimately trusted key F172C722029C0D0B not found
==> Appending keys from manjaro.gpg...
gpg: public key of ultimately trusted key F172C722029C0D0B not found
gpg: error reading key: No public key
gpg: error reading key: No public key
gpg: error reading key: No public key
gpg: error reading key: No public key
gpg: error reading key: No public key
gpg: error reading key: No public key
gpg: error reading key: No public key
gpg: error reading key: No public key
==> Locally signing trusted keys in keyring...
==> ERROR: 75BD80E4D834509F6E740257B1B73B02CC52A02A could not be locally signed.
==> ERROR: 688E8F82879D0E25CE541426150C200743ED46D8 could not be locally signed.
==> ERROR: 04BB537F5BC2D399BFA72F8F17C752B61B2F2E90 could not be locally signed.
==> ERROR: 5A97ED6B72418199F0C22B23137C934B5DCB998E could not be locally signed.
==> ERROR: 2AC0A42EFB0B5CBC7A0402ED4DC95B6D7BE9892E could not be locally signed.
==> ERROR: 0E8B644079F599DFC1DDC3973348882F6AC6A4C2 could not be locally signed.
==> ERROR: 2FCB09A0E026F49B1060840BC0D1CCE50CC38123 could not be locally signed.
==> ERROR: 2D14560CDCE6A75BB186DB758238651DDF5E0594 could not be locally signed.
==> ERROR: A44C644D792767CED7941AFEABB2075D5F310CF8 could not be locally signed.
==> ERROR: 69E6471E3AE065297529832E6BA0F5A2037F4F41 could not be locally signed.
==> ERROR: 7A443CEE69B6B3777740E258084A7FC0035B1D49 could not be locally signed.
==> ERROR: 47D9DA1E810C1BCAEBB6C4861BF79786E554EF5D could not be locally signed.
==> ERROR: 2C688B52E3FC0144B7484BABE3B3F44AC45EE0AA could not be locally signed.
==> ERROR: 0037505D6C3F595C37F5626AFD847358FF20E35C could not be locally signed.
==> ERROR: 39F0EC1AE50B37E5F3196F09DAD3B211663CA268 could not be locally signed.
==> ERROR: F66AD0FF0E57C561615A0901CEE477135C5872B0 could not be locally signed.
==> ERROR: 22C903DE964E6FE321656E318DB9F8C18DF53602 could not be locally signed.
==> ERROR: 75C1B95A4D9514A57EB2DAE71817DC63CD3B5DF5 could not be locally signed.
==> ERROR: E4CDFE50A2DA85D58C8A8C70CAA6A59611C7F07E could not be locally signed.
==> ERROR: 3B794DE6D4320FCE594F4171279E7CF5D8D56EC8 could not be locally signed.
==> ERROR: 91FFE0700E80619CEB73235CA88E23E377514E00 could not be locally signed.

Hm I guess I messed something up

Experimented a bit, and it works again now :)
for db in trustdb*; do echo $db; gpg --trustdb-name $db --check-trustdb; done

https://stuff-things.net/2015/04/22/gpg-public-key-of-ultimately-trusted-key-00000000-not-found/


Add volume mounts to deployments in agent and orion

Previously the charts did not allow adding additional volumes to deployments. This would be useful if nodes needed access to additional files, such as configurations or credentials.

Superseded by https://github.com/PrefectHQ/prefect-helm/pull/74 because this PR was failing linting checks.

@bdashrad - thanks for the feedback!  We've added some documentation on how to contribute - I think this will help in the future.


API Resource spec

It would be nice to create a system where you define a resource as being at a certain url and maybe give it some metadata and then the server and client systems work together to retrieve, cache, update, delete the resources whilst allowing the programmer to use a nice seeming API (aka make this app super RESTful).
Resource properties:

type

Resource type ex., user, post, event

url

Url resource is located at

data

Resource data

Resource actions:

Get
Update
Create
Delete

Resource Identifier
Fields:

type

Resource type
Client and Server will also both contain a global list of registered data schemas.
When a schema is registered a type name is also associated with that schema.
So whenever a resource is received the client/server must look at the type field first to determine which schema to use.
Also determines which database table (IndexedDB/Postgres) the client/server should query

id

Unique identifier of resource in db tables

etag

Deep ETag of resource

Serialization:
type@id#etag
Example use in sample server JSON response:
{
    "car": {
        "id": "car@56#33a64df551425fcc55e4d42a148795d9f25f89d4",
        "user_id": "user@89#67cc558793dc145f89d45f5af34565d9f2e4d42a",
        "seats": "5",
        "make": "Chevy",
        "model": "Truckitytruck",
        "color": "#000000",
        "loc_lat": "-1",
        "loc_long": "-1"
    },
    "errors": []
}

As you can see the car.id and car.user_id fields are Resource Identifiers. These identifiers provide clients with enough information to determine how to retrieve a referenced resource (In the above example how to retrieve a user with the id of 89) and an ETag to determine if their version of a cached resource is the version referenced in the request.

RDFS with JSON-LD integration
In order to create a more explorable API and store data for future ML usage in a useful way the resource system will use JSON-LD to serve data. Models will still be served with the same keys as those in the database but will have a @context directive to specify how to map keys to standard RDF schemas. When possible the resource system will try to use standard schema.org and foaf schemas.
The previously described resource identifier is now integrated as URIs. URIs for Squad Up resources include a fragment which represents the resource's ETag. If no fragment is present the API assumes the client has never retrieved the resource before. Maybe keep track of perceived client side cache misses by keeping track of API requests for resources that don't have a fragment (Per API Token as well to maybe spot greedy clients, maybe devs who are using API to poke around but making too many requests to be a good tenant).
Example JSON-LD response:
{
    "car": {
        "@context": "https://squad-up.com/api/v1/resources/car/context.jsonld`,
        "@id": "https://squad-up.com/api/v1/resources/car/56#33a64df551425fcc55e4d42a148795d9f25f89d4",
        "@type": "https://schema.org/Vehicle",
        "user_id": "https://squad-up.com/api/v1/resources/user/89#67cc558793dc145f89d45f5af34565d9f2e4d42a",
        "seats": "5",
        "make": "Chevy",
        "model": "Truckitytruck",
        "color": "#000000",
        "loc_lat": "-1",
        "loc_long": "-1"
    },
    "errors": []
}

Now that I have done a bunch of research and thinking, here is what I need to do next:

[ ] Define entire system requirements
[ ] Break resource system into layers
[ ] Identify actions for each layer
[ ] Implement layers

General purpose: Serve API resources in an intelligent way which lends itself to an offline experience.
Functional requirements

Store data on client
Schema definition

An API resource's schema can be split into a couple layers since the resource system is made up of serveral technologies that aim to solve different goals

Map model keys to common RDF schema (With JSON-LD Context)
Validate model (With JSON Schema schema)

These two seperate schemas must be changed together or a system must automatically change / generate them.

Exchange data in versioned schema

Exchange data in JSON-LD
Define schema with JSON Schema

Auto generate machine files

Schema definitation

Functional Requirements V2

Get, Create, Update, Delete Models.
Notify Client of Model change.
Cache.
Client & Server Interface.
Access Control.
Use common RDF vocab.

Hi, I'm the author of casbin. It is an authorization library that supports models like ACL, RBAC, ABAC.
Related to RBAC, casbin has several advantages:

roles can be cascaded, aka roles can have roles.
support resource roles, so users have their roles and resource have their roles too. role = group here.
the permission assignments (or policy in casbin's language) can be persisted in files or database.

So please consider using casbin when Squad Up  implements access control security. Also let me know if there's any question:)

Hey hsluoyz, I'll be sure to take a look at casbin. This Resource System definitely needs an access control component. I really only picked Ladon because I had starred it from Hacker News a couple months back. And we haven't even committed any effort to using it yet.
I'll be sure to give your repository a good look and consider using it.


Incompatilbe with tilt 2.x

When you run faml with tilt 2.x, you get the following error:
/Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/tilt-2.0.1/lib/tilt/haml.rb:2:in `require': cannot load such file -- haml (LoadError)
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/tilt-2.0.1/lib/tilt/haml.rb:2:in `<top (required)>'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/faml-0.2.15/lib/faml/tilt.rb:2:in `require'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/faml-0.2.15/lib/faml/tilt.rb:2:in `<top (required)>'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/faml-0.2.15/lib/faml.rb:2:in `require'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/faml-0.2.15/lib/faml.rb:2:in `<top (required)>'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.10.5/lib/bundler/runtime.rb:76:in `require'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.10.5/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.10.5/lib/bundler/runtime.rb:72:in `each'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.10.5/lib/bundler/runtime.rb:72:in `block in require'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.10.5/lib/bundler/runtime.rb:61:in `each'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.10.5/lib/bundler/runtime.rb:61:in `require'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.10.5/lib/bundler.rb:134:in `require'
	from /Users/miyagawa/dev/foo/config/application.rb:16:in `<top (required)>'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:141:in `require'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:141:in `require_application_and_environment!'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:67:in `console'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
	from /Users/miyagawa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/commands.rb:17:in `<top (required)>'
	from bin/rails:4:in `require'
	from bin/rails:4:in `<main>'

Looks like there's an upstream change in tilt where requiring 'tilt/haml' will immediately require 'haml', which is not in the Gemfile. https://github.com/rtomayko/tilt/commit/432ae805c21a78e1eea0727cd5daf7530a970381

Released v0.2.16 https://rubygems.org/gems/faml/versions/0.2.16
Thank you for reporting issue!


add a slighly more real test

use react testing in a test

@ryantxu what's the status of this one?


WIP [MM-12396] Option to add user to a channel from the profile pop-over

Summary
Currently just a placeholder to build a test server.
Ticket Link
Github Ticket
Jira Ticket
Checklist

[ ] Ran make check-style to check for style errors (required for all pull requests)
[ ] Ran make test to ensure unit and component tests passed
[ ] Added or updated unit tests (required for all new features)
[ ] Needs to be implemented in mobile (link to PR or User Story)
[ ] Has server changes (please link)
[ ] Has redux changes (please link)
[ ] Has UI changes

@jwilander here's a PR we can use to deploy with the test license

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-00c5481c3b32ab96f.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-00c5481c3b32ab96f

@mickmister license uploaded

Spinmint test running for more than 7 days. This test server was terminated.

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-09d32f7f3dc1e0bad.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-09d32f7f3dc1e0bad

@hanzei this is ready for review now. test server will need to be re-applied again

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0119abda9e2983af2.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0119abda9e2983af2

@lindy65 The permissions issue should be resolved by this PR. The new spinmint server needs a test license, however.

Thanks @mickmister,
I've added a test licence to the spinmint
Checking I understand correctly that the "Add to a channel" feature is using haveIChannelPermission to check permissions and that the user adding another user to the channel needs permission to do so in that channel? (as per your intro here):

haveIChannelPermission is used in the mapStateToProps instead of using a TeamPermissionGate.

Confirm that the option to "Add to a channel" does not appear in another user's profile pop-over for a normal user who does not have permission to manage channel members

Confirm that while the permission in 1) is still in place and I promote the test user to a "Team Admin" and change team admin permissions to allow manage channel members, the newly promoted Team Admin user sees the "Add to a channel" option in another user's profile pop-over.

Confirm that while the permission in 1) is still in place and I demote the test user to a "Channel Admin" of a specific channel and change channel admin permissions to dis-allow manage channel members, the newly demoted Channel Admin does NOT see the "Add to a channel" option in another user's profile pop-over from within the specific channel.

I am seeing an issue where the profile pop-over of a user remains in front of the channel selection modal which makes it difficult to verify the channel name.  The profile pop-over disappears only at the time of clicking on the channel name in the filtered results.  However, this also occurs on master.  Perhaps the profile pop-over can be made to close once you start typing in the text input box for "Add [member_name] to a channel"? Unsure whether this is out of scope for this PR?

I'm also seeing an issue in the current user's channel sidebar where, if they have a channel as an unread channel in their channel sidebar and they add another user to that channel from the profile pop-over, the unread channel in their view becomes read and is removed from "Unreads" section - see .gif  This also occurs on master so I am not sure whether it is out of scope for this PR?

Let me know if you have any questions 👍 (All the permissions stuff gets rather confusing and is difficult to explain in a written message so feel free to let me know if anything is unclear).

Confirm that the option to "Add to a channel" does not appear in another user's profile pop-over for a normal user who does not have permission to manage channel members

Confirmed

Confirm that while the permission in 1) is still in place and I promote the test user to a "Team Admin" and change team admin permissions to allow manage channel members, the newly promoted Team Admin user sees the "Add to a channel" option in another user's profile pop-over.

Confirmed

Confirm that while the permission in 1) is still in place and I demote the test user to a "Channel Admin" of a specific channel and change channel admin permissions to dis-allow manage channel members, the newly demoted Channel Admin does NOT see the "Add to a channel" option in another user's profile pop-over from within the specific channel.

Confirmed
Just to be clear, if the Channel Admin user is given the Manage Channel Member permissions in the system console, they will see the "Add to a channel" button if they have the Channel Admin status in any channel of the team (as long as the private/public flag agrees with the set permission). The current channel they are viewing is also irrelevant to whether they can see the button in the profile popover. Also, they will only see channels in the drop down of the modal that they have permissions to manage.

I am seeing an issue where the profile pop-over of a user remains in front of the channel selection modal which makes it difficult to verify the channel name. The profile pop-over disappears only at the time of clicking on the channel name in the filtered results. However, this also occurs on master. Perhaps the profile pop-over can be made to close once you start typing in the text input box for "Add [member_name] to a channel"? Unsure whether this is out of scope for this PR?

I've found the issue with this. When opening the profile popover with an "@ mention", versus clicking on their profile picture on the left side of a post, the "@ mention" scenario does not supply a function to the popover to allow itself to close. You can see this happen if you "@ mention" yourself, and open the "Edit Account Settings" modal. You should see the popover stay open. Likewise, if the popover for another user is opened by clicking on their profile picture, the "Add to a Channel" modal does correctly close the popover on open. The fix for this is simple, and I'm opening a PR for the fix.

I'm also seeing an issue in the current user's channel sidebar where, if they have a channel as an unread channel in their channel sidebar and they add another user to that channel from the profile pop-over, the unread channel in their view becomes read and is removed from "Unreads" section - see .gif This also occurs on master so I am not sure whether it is out of scope for this PR?

I've found the issue with the one. When a new member is added to a channel, the backend also marks that channel as read to the current user. See app/channel.go line 886. This functionality has unexpected behavior while adding a user from a different channel than the target channel. Since it marks the target channel as viewed, the channel is no longer bold nor showing a badge. I'm not entirely sure what the purpose of this line is. This will need some discussion around next steps, and I'd say it's out of scope for this PR.

Hi @mickmister :)
Thank you for your detailed feedback!
All good on 1), 2) and 3) and thank you for the additional explanatory note on 3)

Just to be clear, if the Channel Admin user is given the Manage Channel Member permissions in the system console, they will see the "Add to a channel" button if they have the Channel Admin status in any channel of the team (as long as the private/public flag agrees with the set permission). The current channel they are viewing is also irrelevant to whether they can see the button in the profile popover. Also, they will only see channels in the drop down of the modal that they have permissions to manage.

Thank you for finding the cause of the issue and for working on a PR to fix it!

For this one, perhaps next step is for me to create a Jira ticket for investigation but I'll defer to @jwilander or @saturninoabril to guide us here.

Thanks @mickmister @lindy65, I agree on item 5 to be a separate issue.  Please file a Jira ticket to investigate/fix and directly assign to me.

Thanks @saturninoabril - I have filed https://mattermost.atlassian.net/browse/MM-14588 to address the issue and have assigned it to you.

Thanks @saturninoabril
Here is the ticket for the issue in 5)

Spinmint test running for more than 7 days. This test server was terminated.

@lindy65 @saturninoabril @mickmister is this PR ready for review?

@esethna ready for review 👍

Thanks @lindy65 has this passed QA review?

Yes, @esethna this PR has passed QA review... 👍🏻

Copying @jespino as we had some discussion on the implementation here

@jespino suggested changes have been added.
As for the choosing where the canManageAnyChannelMembers selector should go, here is what it looks like if it were to exist in the mattermost-redux repo here. I think it would make sense to have it in the mattermost-redux repo, as it seems appropriate to have unit tests for it there. I'm wondering if other files will want to reuse this functionality in the future. What are your thoughts?

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0b997a8547e05fbfb.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Internal IP: <IP_ADDRESS>
Instance ID: i-0b997a8547e05fbfb

@mickmister yes, mattermost-redux should be the place for that, is generic enough to affect to other clientes.

This PR is complete. The PR for Redux is here.

Is this PR dependent on the redux one? I'm getting a JS error when trying to open the user pop-over.

@esethna Yes it is dependent on the redux PR. I think the redux PR would need to be merged before this is testable here. Is there usually a solution here when this is the case?

Actually, that error is happening for a different reason. The memberships being used to determine permissions are for every team on the server. There is a channel lookup on each membership to determine the channel type, and the available channels are scoped to the current team, as it should be.
There needs to be a check for only looping through the current team's memberships. I'll need to circle back to this and make this correction. Thanks for catching this @esethna

Spinmint test running for more than 7 days. This test server was terminated.

Redux PR is merged. This is ready for review @esethna

@lindy65 can we do another QA pass on this PR since there were changes made?

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0612014912a4c21ed.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Internal IP: <IP_ADDRESS>
Instance ID: i-0612014912a4c21ed

Thanks @mickmister @esethna
I added an E20 licence to the spinmint and tested:

Previous issues 1-4 above and did not see any problems
the areas fixed by https://github.com/mattermost/mattermost-redux/pull/806 as follows:

Test1: If manage channel member permissions is disabled for all members but manage public channels is enabled for Channel Admins
Result1: the Channel Admin has permission to add members to public channels on the current team
Test2: If manage channel member permissions is disabled for all members but manage private channels is enabled for Team Admins
Result2: the Team Admin will have permission to add members to private and public channels on the current team

Please confirm test results are indeed what is expected and let me know whether there are any other scenarios that need testing.

@lindy65 @esethna
All test results are passing for me as well on the spinmint server. This is ready for dev review.
The issue 5 listed above pertaining to clearing unreads in other channels still exists. I'm not sure if we want to proceed with merging before this is resolved. What are your thoughts? @lindy65 @saturninoabril

Thanks @mickmister, re: item 5, we can address it separately.  Associated ticket is scheduled for 5.11.

Spinmint test running for more than 7 days. This test server was terminated.

@jespino This PR should be good to go, can you give this another review when you have the chance?
Also, I'm not sure what to do about the circleci build error. The printed error says it's related to project config.

@mickmister You can ignore the circleci error. We are currently in the process of setting this up.

Thanks @mickmister!!


document default options

Things like:
--ignore-ood
--no-ignore-ood
specify which is the default.

Thanks for the report! This has now been done in 3d56feedaf1e7525c45904ac6aaf8a7c39076f75.


Bring back CLI tool

While working at #88 I removed CLI tool. We may want to bring it back as a useful debugging tool.

The tool is now back in: https://www.nuget.org/packages/Ionide.ProjInfo.Tool/


add 1 to bridge-nf-call-iptables

add 1 to /proc/sys/net/bridge/bridge-nf-call-iptables, since
pre-flight checks fail when doing kubeadm init, if the file
value is not 1.

This change is

@jamiehannaford @cblecker Can one of you do a tech review for this? Thanks.

Looks like the preflight check is here: https://github.com/kubernetes/kubernetes/blob/cf3fcf235fb385fa2c58e8b2fcc59d946da067e6/cmd/kubeadm/app/preflight/checks.go#L654
I can't comment if this is the right way to set it though (will it persist? should we be calling out that we're doing this?).
CC'ing the kubeadm owners: @errordeveloper @jbeda @luxas @mikedanese @krousey

This check was added in https://github.com/kubernetes/kubernetes/pull/39542 and is required for CNI plugins to work.
We may want to add this to the requirements list instead. I think that's probably a more suitable place to add it (rather than at the end of a code block) since it's not 100% obvious what this line does.
Small nit: sysctl net.bridge.bridge-nf-call-iptables=1 might also be more appropriate
@luxas WDYT?

@jamiehannaford made changes as you suggested, PTAL!

@surajssd Great! Would also mind adding a small explanatory note at the end, such as:

This is a requirement for CNI plugins to work, for more information please see here.

Thanks @surajssd and @jamiehannaford. I'll merge this as soon as I see a tech lgtm.

This will not survive a node restart which is part of conformance tests.

Wouldn't an advisory preflight check be better than documentation?

@mikedanese I think having this documented is still useful for folks who want to persist this change in their own way. Also, maybe I misunderstood, but shouldn't this be a hard requirement rather than a warning?

I think we have a preflight check for this. It makes sense to document for visibility as well.


Client-side routing for <form method="GET">

Closes #7251. Just a failing test for now, because we need to refactor the find_anchor stuff to make this work, and there's no point embarking on that until #7776 is merged.
TODO:

[x] add a submit handler (roughly described here, except it needs an event.defaultPrevented check)
[x] add a form navigation type (or submit? not sure), that is applied regardless of willUnload
[x] docs

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Opened #7883 for smol type improvements


Inserting to a nested fieldlist reset last value

Describe the bug and the expected behavior
Give this complex fieldset  (it's a form -> fieldlist -> fieldset -> fieldlist)

When I click on "add option" which inserts to a fieldlist
meta.insert({
                    name: fields.customFields.name,
                    defaultValue: {
                      type: "checkbox",
                      choices: [""],
                      required: "off",
                    },
                  })

it reset's the last input's value

Not sure if it's related but i tried to log the result of getInputProps and the new fieldlist item always has a key which ends with a number. When another item is added, the key is changed to a unique id. I think the value might disappear because the key is recalculated.

Conform version
v1.0.2
Steps to Reproduce the Bug or Issue
Create a form with a fieldlist -> fieldset -> fieldlist
What browsers are you seeing the problem on?
Chrome
Screenshots or Videos
No response
Additional context
No response

It might be because you pass the wrong property to the key prop. Please double check if you are passing the key provided by Conform.

The log with key end with /2 does looks suspicious. I wonder if this might be related to the default value for the choices array. Try remove that and see if it works?
meta.insert({
  name: fields.customFields.name,
  defaultValue: {
    type: "checkbox",
    // choices: [""], // Remove this line
    required: "off",
  },
})

@edmundhung hah, you're right, without the choices, it's fine :) However I need it with the choices, it's a better UX because users must enter at least 1 option

Hi @jansedlon, can you prepare a repo with the issue you had? I have an idea where the issue is but I couldn't verify if it resolves your exact issue.

@edmundhung  heeey, this might work 🙏 Click on "add custom input", fill out the input beneath "options" and add new option. It blanks the filled input
codesandbox

Thanks for the sandbox! However, the link doesn't work for me. It says Devbox not found.

@edmundhung  You could have said "thanks for nothing" 😁 Sorry, probably misconfigured permissions. Here you go, tested in anonymous window, should work sandbox

Hi, I've encountered similar problem and it may be related. The last value of the fieldlist is reset whenever one adds multiple fields and then removes any non-first/last values 🤔 Same repro sandbox with added remove

This should be fixed on v1.0.5.
@mvirbicianskas I think this should also fix your issue, let me know if it isn't.

Hey, @edmundhung, thank you so much for such a quick response! I've tried to reproduce the issue on the same sandbox with updated dependencies, it seems, unfortunately, that the issue still persists 😭
https://github.com/edmundhung/conform/assets/17020658/020546fa-6ddc-4f8f-8529-302c83bbfca4

@mvirbicianskas I have released another fix on v1.0.6.

Hi, @edmundhung, thanks for the speedy response! Looks like the issue still persists when you add few new fields and then try to delete one in the middle, which makes those following fields loose their values. I feel like the keys are just re-generated at this point? Or rather maybe the implementation is incorrect, can you please take a look at the sandbox and see if we're using the library correctly? 🤔

@mvirbicianskas  I'm wondering what that could be. I updated to 1.0.6 and it works
https://github.com/edmundhung/conform/assets/13948180/2b22bdf3-22b1-4dd3-8fdf-cb4ead839f4e

Ah yes! I noticed your sandbox used id instead of the key provided by conform. It should work if you are reading the key property from the field metadata when setting the key. The id property is fixed and should be set on the input element only (which getInputProps() does that for you)

You're right, @edmundhung, thanks for pointing that out! Thank you very much! 🙇


handle shift + click where prevIndex === myIndex

Currently the error Cannot read property 'addClass' of undefined is thrown if you:

shift + click option 1
shift + click option n
shift + click option 1 again

This PR resolves the issue by selecting only option 1.

I realize this project is really old, any chance this PR will be considered?

As you can see there are some PR waiting for 4 years.. So don't hold your breath.


Gh 2581 replace gettrait usages with operation

Related Issue

Resolve #2581

Codecov Report

:exclamation: No coverage uploaded for pull request base (v2-alpha@5f22ae6). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 31e366a differs from pull request most recent head 82d8e1c. Consider uploading reports for the commit 82d8e1c to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##             v2-alpha    #2896   +/-   ##
===========================================
  Coverage            ?   65.48%
  Complexity          ?     2192
===========================================
  Files               ?      550
  Lines               ?    17374
  Branches            ?     2093
===========================================
  Hits                ?    11378
  Misses              ?     5032
  Partials            ?      964

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Generate repository report

number of commits
number of pull requests
number of issues opened and closed

We should probably look for an existing report generating project and integrate it here .

👍
Some features I would love to see here:

Punch card

Language map

Do you have suggestions for any existing libraries we can use for ?

Another suggestion is to let user to customize the output. For example, say a particular org admin wants a report with only punch card and pull requests, he should be able to generate the report with only these information instead of the full report.

Is it correct that you would like to have an HTML report for CLI application? What about small CLI report(probably with some ASCII art)?

Yes I think having a HTML report will be nice and useful  .
But then again you are right may be as the initial stage we can print it to CLI and then extend that functionality to a HTML report

@charithsoori, I'm just thinking that GitHub itself already have HTML reports. So GitHub-CLI basically will do the same thing in same enviroment.

@G07cha  Do you have any reference link to report for open source repository and org by GitHub itself ? Could find a one other than audit log .

I meant that current repository statistic provided by GitHub could be previewed and easily saved. According to @rehrumesh suggestion I thought that github-cli trying to achieve the same result.

Ahh I got it . Yes they provide a really nice report for an individual repository .

But here we are kind of keeping the objective as managing multiple repositories or an organization at once . So an individual report for multiple repositories provided .
I agree with your idea on going with a CLI . That will give us a base ground to build on for anything

So lets go with  small CLI report(probably with some ASCII art) as you suggested :)

Sorry if I've incorrectly described my thoughts(trying to master my English but it's far from good level right now). I agree with the fact that organization/user doesn't have an individual report, this might be a nice feature to have.

Your discussion enabled me to see this in a different point of view . Thank you for it :) .
As you suggested we can create a base CLI feature first and later work towards to an interactive report using HTML or ...
Probably we can break this into to two tasks . Ill do it now

👍 two tasks seems to be ok here. @G07cha thanks for suggesting CLI option

created task #29  :)

@G07cha  Are you still working on this task ?

Ehm, I'm not even planned to do this yet, just shared my thoughts according to this topic.

nice 👍  Open task is open for anyone interested