[Help] TypeError: theme.spacing is not a function

I know this is something i'm doing wrong, but I can't seem to figure it out. I just refactored everything to use the tss-api in mui 5. Pretty stumped

My structure is as follows
AppThemeProvider.tsx
import { CacheProvider } from '@emotion/react';
import { LocalizationProvider } from '@mui/lab';
import AdapterDateFns from '@mui/lab/AdapterDateFns';
import { createTheme, ThemeProvider } from '@mui/material';
import * as React from 'react';
import createCache from 'tss-react/@emotion/cache';
import { defaultTheme, darkTheme } from '../../themes/default';

export const muiCache = createCache({
    key: 'mui',
    prepend: true
});

interface IAppThemeProviderProps {
    themeType: 'dark' | 'light';
}
const AppThemeProvider: React.FC<IAppThemeProviderProps> = ({ children, themeType }) => (
    <CacheProvider value={muiCache}>
        <ThemeProvider theme={createTheme(themeType === 'light' ? defaultTheme : darkTheme)}>
            {/* eslint-disable-next-line @typescript-eslint/no-unsafe-assignment */}
            <LocalizationProvider dateAdapter={AdapterDateFns}>
                {children}
            </LocalizationProvider>
        </ThemeProvider>
    </CacheProvider>
);

export default AppThemeProvider;

makeStyles.ts
import { createMakeStyles } from 'tss-react';
import { defaultTheme } from './themes/default';
import { ICustomTheme } from './themes/types';

function useTheme() {
    // I need to cast this. Before createTheme turned my theme from ThemeOptions to type Theme
    return defaultTheme as ICustomTheme;
}

export const { makeStyles } = createMakeStyles({ useTheme });

usage:
const useStyles = makeStyles()((theme: ICustomTheme) => ({
    notificationSettingsContainer: {
        margin: theme.spacing(1, 0, 2, 0),
        padding: theme.spacing(2)
    },
    secondaryButton: {
        borderRadius: theme.spacing(0.5),
        margin: theme.spacing(1, 0, 0, 0),
        textTransform: 'uppercase'
    }
}));

I'm not sure what i'm missing here. Any help is greatly appreciated.

- function useTheme() {
-     // I need to cast this. Before createTheme turned my theme from ThemeOptions to type Theme
-     return defaultTheme as ICustomTheme;
-}
- export const { makeStyles } = createMakeStyles({ useTheme });

+ import { useTheme as useThemeUntyped } from "@material-ui/core/styles";

+ export const { makeStyles } = createMakeStyles({ "useTheme": useThemeUntyped as (()=> ICustomTheme)  });

@garronej
here's an example
https://codesandbox.io/s/long-fast-nsc0k?file=/src/makeStyles.ts

Np, let me know if it work as you expected.

@garronej fantastic, that worked perfectly! Up and running with tss-react!


Computing kNN graphs on user-provided dimensional reductions?

Hi! This is fantastic work, congratulations!
I'm, however, saddened by the somewhat hard-coded kNN graph computation, based solely on PCA, which can be misleading if data does not necessarily lie in a series of linear subspaces. A huge deal of work has been done lately on dimensional reduction, and thus restricting the kNN graphs to PCA is an important limitation. Is there any way to compute the kNN graphs using a user-provided dimensionality reduced basis (i.e., ICA, CCA, DM, etc.)? In Scanpy and Seurat, users can specify the basis they would like to use.
Alternatively, how can users add externally computed kNN graphs and dimensional reductions to Scarf objects?
I've only got started with Scarf, so any directions on which parts of the code should be adapted to make this an option to the end-user would be fantastic.
Thanks!

Hi! Thanks!
The reason that KNN graph computation is hard coded to PCA (and LSI for scATAC-Seq data) is simply because of availability of out-of-core implementation of PCA in the Python ecosystem (sklearn in this case). One of the mottos of Scarf is to be memory efficient and that's why we do not support methods which will violate that motto.
But as you suggest, providing an externally computed KNN graph and dimension reductions into Scarf can be be a viable alternative.
Importing reduced dimensions for purpose of graph calculation is a bit tricky at this point. It is however, quite possible. Suggestions are welcome.
I'm working on feature to import KNN graph directly from H5ad (anndata) file, will that work you at this stage? If yes, then I can prioritize it. Please let me know as any early suggestions might be helpful.

Thanks for the swift reply :)

The reason that KNN graph computation is hard coded to PCA (and LSI for scATAC-Seq data) is simply because of availability of out-of-core implementation of PCA in the Python ecosystem (sklearn in this case).

I understand. That's reasonable.

Importing reduced dimensions for purpose of graph calculation is a bit tricky at this point. It is however, quite possible. Suggestions are welcome.

Maybe playing around with transform_ann could do it? I'm unused to work with out-of-memory computing, but it seems like the kNN graph step comes right after obtaining PCA/LSI embeddings. Is that right? If so, maybe adding an option to, if the reduction method is not PCA nor LSI, it must be a user provided np.ndarray to compute the kNN graph on?

I'm working on feature to import KNN graph directly from H5ad (anndata) file, will that work you at this stage?

For my specific case, I'd like to both add dimensionality reductions and kNN graphs, but being able to build a new kNN graph out-of-memory on top of an externally provided dimensional reduction would be fantastic enough. Thank you for being so helpful.

Yes the changes will need to made in AnnStream class and also to three methods from GraphDataStore : _choose_reduction_method, _set_graph_params and make_graph.
Overriding the default reduction methods with user provided matrix should be entirely possible.
My only concern here is that this will break the logic of MappingDataStore which expects to find PCA loadings.
Let me work out a good strategy here. Do you have any more suggestions at this point?

Hi,
Version 0.7.6 now contains the ability to provide external transformers here is an example:
import scarf
from sklearn.decomposition import PCA

scarf.fetch_dataset('tenx_5K_pbmc_rnaseq', save_path='scarf_datasets', as_zarr=True)
ds = scarf.DataStore('scarf_datasets/tenx_5K_pbmc_rnaseq/data.zarr')

hvg_idx = ds.RNA.feats.get_index_by(
    ds.RNA.feats.fetch('ids', key='I__hvgs'), 'ids')
df = ds.RNA.normed(feat_idx=hvg_idx, log_transform=True,
                   renormalize_subset=True).compute()

pca = PCA(n_components=5)
pca.fit(df)

ds.make_graph(feat_key='hvgs', k=11, custom_loadings=pca.components_.T)

Hi! I'm really sorry for my late reply.

I have something in the works now that may solve the issue.
Since the philosophy with Scarf is to ensure memory efficiency, it will not be ideal to have even the dimension reduced data as input.

Would it be possible, though, at the user's discretion? Or would it be incompatible with the object architecture entirely?

The solution here is to upload a transformer, for example, PCA loadings of the form (d x p) where d is the number of features and p is the number of reduced dimensions. We can use such a custom, user-provided matrix and calculate its dot product with the normalized data. This is done in an iterative fashion so that whole data need not be loaded into memory. Additionally, the user-provided matrix will be saved into the Zarr hierarchy so that it can later be reused for transforming external samples as well (for example when performing projection).

I think this is a wonderful idea that could couple with methods such as the new liger integrated method, MOFA, NMF, and perhaps ICA. I really appreciate your swiftness in making this available - I think this would be really great with MOFA and NMF, and I'll try it out.
However, as you've remembered,

Obviously, the caveat here is that this only works for linear dimension reductions.

The thing is I've developed a new family of non-linear topological dimensionality reduction approaches, which are implemented in TopOMetry. I'm keen to use Scarf instead of Scanpy or Pegasus in my team's workflow, but our main advantage at this point is the really high-resolution maps enabled by these non-linear mappings in our biological systems of interest. Although PCA preserves global distances well, the kNN graph built on it is not granted to preserve topology.
Do you think it would be possible to add a user option of providing a pre-computed dimensionality reduction?

Hi @davisidarta,
Glad to have your comments.
It will be really nice to see if you find the new external transformer feature useful.
I'm taking a deeper look into TopOMetry to investigate the possibilities for the two packages to play nice with each other. There are a lot of interesting concepts in TopOMetry.
Let me summarize how I understand the default steps of dimension reduction in TopOMetry:

It starts with a 'hvg_matrix' from Scanpy (normalized data containing a feature subset)
A KNN graph is trained directly on this matrix using HNSWlib, NMSlib or Sklearn.
A series of operations are preformed on this graph to obtain a symmetrical continuous form
A diffusion matrix of the graph is calculated
Eigendecomposition (I don't think I fully understand this, but that is on me) of the diffusion matrix is performed
Multiscale components (lower dimension representation of the data) are obtained from the diffusion basis.

So here are my thoughts if you would like to use Scarf as a backend for TopOMetry.

I think allowing make_graph to take a reduced representation of the data from TopOMetry is not an optimal solution at this point; but thats not the end of the road.
You can use Scarf's pipeline to obtain a KNN graph the data (feature subselected). At this step you can turn off the dimension reduction step  by setting dims==0. This is something you already do but have a much larger selection of methods to create graph with NMSlib. The advantage you have in using Scarf is that you will able to get the first graph very memory efficiently.
You can obtain the KNN indices and distances of this graph from Scarf (I can further elaborate on this). Alternatively, you can use directly use load_graph method to get a normalized graph as is done in the UMAP algorithm.
From what I understand, you now derive the reduced dimensions directly using such a graph and do not need the 'hvg matrix' anymore (which is why tweaking make_graph will not be useful). Please let me know if I'm wrong in this assumption. I created an issue on TopOMetry repo to further discuss this point.
Once, you have used the Scarf's graph and performed dimension reduction on it, you can now add this reduced dimension data as a new Assay into the DataStore. You can then create a graph again for this assay (turning off dimred again) and then use all the downstream features of Scarf.

The benefit, that I see of this approach is that, it can make TopOMetry highly scalable to larger datasets.
Keen to have your comments and thoughts on such an approach?
Best,
Parashar

Hi @davisidarta
Are you still interested in this?


Trim and Merge issue

When I trim and merge multiple videos I can see there are some glitches from output video (on video switches).
I am using
`   private lateinit var builder: TranscoderOptions.Builder
private var mTranscodeVideoStrategy: TrackStrategy? = null
private var mTranscodeOutputFile: File? = null

init {
    mTranscodeVideoStrategy = DefaultVideoStrategy.Builder()
        .addResizer(MyExactResizer(1080, 1920))
        .frameRate(30)
        .build()
}

fun setVideos(
    mTranscodeOutputFile: File?,
    videoList: ArrayList<AnalyzeResult>,
    context: Context,
    musicPath: String?
) {
    this.mTranscodeOutputFile = mTranscodeOutputFile
    builder = Transcoder.into(mTranscodeOutputFile!!.absolutePath)
    videoList.forEach {
        val start: Long = (max(0, it.startMs!!) * 1000).toLong()
        val end: Long = (max(0, it.duration!! + it.startMs!!) * 1000).toLong()
        builder.addDataSource(
            TrackType.VIDEO,
            ClipDataSource(
                UriDataSource(context, Uri.parse(it.mediaPath)),
                start,
                end
            )
        )
    }
    musicPath?.let {
        builder.addDataSource(TrackType.AUDIO, context, Uri.parse(it))
    }
}

fun processVideo(transcoderListener: TranscoderListener) {
    builder
        .setListener(transcoderListener)
        .setVideoTrackStrategy(mTranscodeVideoStrategy)
        .transcode()
}`

Any recommendations ?

I'm not sure there's anything wrong with the library here. Given that I'm answering many months late and you have probably moved on, I'm going to close this, but if you still struggle with these please provide more info (for example, two input videos and the transcoded video with the glitch)


The hidden process of collapse is not smooth

<form>

            ...

        ...

            ...

</form>

When table-search-add is hidden, it will briefly stay at half height.
Bootstrap 4.0.0
Chrome    74

Bootstrap 4.0.0
Chrome    74

Bug reports must include a live demo of the problem. Per our contributing guidelines, please create a reduced test case via CodePen/JS Bin or Stackblitz and report back with your link, Bootstrap version, and specific browser and OS details.
This is an automated reply

Pretty sure you can duplicate this in the collection of Starter template examples on the bootstrap site.

@mcarpenterjr: we still need a Codepen.

I just got it.  I'm sorry to reply so late, and ignore my poor english please.
I tried it many times on the codepen and it was normal. So I tried to remove my code to keep it more pure, and it seems to be because of a custom style:
.table-search-add {
	padding: 10px;
}

I don't know why, but it's work.

It seems that Bootstrap 3 which I am using now doesn’t has this problem.


Refactoring the use of static facade

Coverage remained the same at 100.0% when pulling 7c5b1c8b20c572426e17a90324280d7b64b512a3 on ktutnik:master into 033622d505d71636e6b4993e91b52fd0cad500ba on kambojajs:master.


usesCleartextTraffic

PR Checklist
Please check if your PR fulfills the following requirements:

Carbon Requirements

[ ] Select Dracula Theme

[ ] Select right programming language

[ ] Set largest font size

Commit requirements

[ ] Image should be added to root

[ ] Naming should be short description of tip

Using usesCleartextTraffic  is not to best practice of supporting cleartext.
More info: https://developer.android.com/training/articles/security-config


release: v1.5.2

Issue #, if available:
Description of changes: Releasing 1.5.2.
NOTE - we are doing minor upgrade of notebook version, from 7.0.7->7.1.1
context: Previously, notebook depended on jupyterlab >=4.0.7,<5. Thus, we had jupyterlab 4.1.1 and notebook 7.0.7 in image v5.0.1.
Now, they (notebook maintainer) have gone and patched previously released dependencies (link) so now notebook 7.0.7 needs jupyterlab<4.1.0a0.. We are manually upgrading notebook to 7.1 to fix
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

=========================== short test summary info ============================
FAILED pandas/tests/io/excel/test_openpyxl.py::test_engine_kwargs_append_data_only[True-0-.xlsx]
FAILED pandas/tests/io/excel/test_writers.py::TestExcelWriterEngineTests::test_ExcelWriter_dispatch[OpenpyxlWriter-.xlsx]
= 2 failed, 201737 passed, 19507 skipped, 6152 deselected, 2413 xfailed, 86 xpassed, 27 warnings in 2291.82s (0:38:11) =
============================================================================================= short test summary info ==============================================================================================
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_gpu[scipy.test.Dockerfile-required_packages4] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_gpu[pandas.test.Dockerfile-required_packages7] - assert 1 == 0
========================================================================= 2 failed, 19 passed, 2 skipped, 2 warnings in 6597.39s (1:49:57) =========================================================================

For packages that have known test failures, how do we ensure there is no regression?
If I understand correctly, the reason jupyterlab is being downgraded is because notebook is being upgraded. If correct, why don't we just not update notebook yet? A downgrade is more invasive to users than delaying an upgrade.
Why does the staleness report say that the latest upstream jupyterlab version is 4.0.12 if there are 4.1.* versions out?

@claytonparnell

We would look into the failures, and ensure they are the documented failures we know about. This is <1% of the test suite, but needs to be fixed.

I don't think the percentage of the test suite that is passing is relevant. We aim to have zero regressions. A test failure is supposed to indicate a regression. If these failure are not indicating regressions, how do we know that, and how do we know that the functionality these tests are supposed to verify is not in fact regressing? Is there an alternative way to verify the functionality of these packages?

So this fix is finding the closure that would have been found previously, if notebook had the correct dependencies from the start.

Understood. Just so we are on the same page, we are knowingly regressing on features. The JL 4.1 features are being removed in this patch release. This may impact users. I'm not sure if there is any process in place for notifying SageMaker customers about this ahead of time. If we expect this kind of problem to happen in the future, we should brainstorm alternative strategies for navigating this. For example, we could communicate with the notebook maintainers to at least better understand why v7 is not compatible with JL 4.1 and try to push for a compatible version to be released (if that communication has already taken place, I don't see it mentioned in this PR), and contribute to notebook to expedite that change.

Relevant is the key word here- for a patch release

Thanks for clarifying. I notice that the staleness report also says the current version is 4.0.12, which is technically wrong. Just curious, did you have to do any manual hacks to get this working? If so, is that process documented? Asking about this in case there is an opportunity to avoid manual effort in the future for similar situations.

@dylanraws
In my initial PR for staleness report generator, I had three different columns - latest relevant patch/minor/major versions available in conda forge.
I got a feedback that this might confuse folks. Hence we are dynamically displaying a single column now (based on the type of release)
Since this is a patch version release , it will only look for latest relevant patch version in 4.0.x. it will ignore any version that is >=4.1.0 . This is because, even if 4.1 exists , a patch version release of SM distribution shouldn't bump the minor version .

============================================================================================== short test summary info ===============================================================================================
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_gpu[scipy.test.Dockerfile-required_packages4] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_gpu[autogluon.test.Dockerfile-required_packages1] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_gpu[pandas.test.Dockerfile-required_packages7] - assert 1 == 0
========================================================================== 3 failed, 18 passed, 2 skipped, 4 warnings in 6713.21s (1:51:53) ==========================================================================

scipy/pandas are known failures. I ran autogluon test separately and it passed, it seems the gpu autogluon test can run into some memory issues when running full suite. Might have to drop to one pytest worker, or bump up hardware..


Problem with config.js file (Translation Portuguese Brazil)

Hello people good night
I did the translation of the whole en.js file to ptbr.js
However, when I insert this into the config.js file nothing happens.
I saw that it worked fine if I change the ptbr.js file to en.js (removing the original en.js)
However I keep ptbr.js and adjust the file config.js. does not work.
Can you help me ?
My config.js file looks like this:
{
"debug": false,
"featureManagerIsFullZoneProvisioningEnabled": false,
"locale": "ptbr"
}
Here is my translated file.
I think it can help Brazilians.
If you can insert it into your project, it will be cool: #181

see if changing the extension to .json works.
i was reading through the steps again, and went to edit:
 /usr/local/cpanel/base/frontend/paper_lantern/Cloudflare/config.js
for 1, that file didn't exist.
2, the path is incorrect.  it should be lowercase:
/usr/local/cpanel/base/frontend/paper_lantern/cloudflare
3, the file that existed was: config.json.sample ...and there was no config.js
i reinstalled the cPanel plugin today, so i found that all kinda odd.  my guess is that they've updated their software w/o updating their manuals.


IBC Application Analysis

Summary
There are many different IBC applications, middleware, and other implementations. It would be helpful to understand when it is beneficial to use each of them, and where the community plans to go with these approaches.
Problem Definition
We are adding a lot of features of IBC, but are all they all necessary?
Proposal
Understand when to use an IBC Application vs an IBC Middleware
Investigate the Osmosis IBC-Hooks approach
Review IBC Callbacks
Figure out when a smart contract is more appropriate than an IBC Module.
Is there a better approach to the Oracle module?
Can markers leverage any of these new approaches?

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

Our thoughts for this were placed in a hackmd. It goes over the different IBC features, and how we use each of these features. It also takes a dive into how we could have integrated or implemented these features in a different way such as using smart contracts.


Issue with refreshing the token using credentials manager

Checklist

[X] I have looked into the README and have not found a suitable solution or answer.
[X] I have looked into the API documentation and have not found a suitable solution or answer.
[X] I have searched the issues and have not found a suitable solution or answer.
[X] I have searched the Auth0 Community forums and have not found a suitable solution or answer.
[X] I agree to the terms within the Auth0 Code of Conduct.

Description
Hello, I’m having trouble with the credentials manager. In the documentation it clearly states that the credentials() method “Retrieves the credentials from the storage and refreshes them if they have already expired.” (docs), but I can’t seem to get it working.
Reproduction
I’m receiving the refresh_token after authenticating and I have set token duration to 30s. Also, I have set up the token rotation. But when I invoke the credentials() I get the same tokens back.
So, am I misunderstanding the credentials() method? Is it supposed to renew the tokens using the refresh_token or not?
My code:
import 'package:flutter/material.dart';
import 'package:auth0_flutter/auth0_flutter.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';

class AuthProvider extends ChangeNotifier {
  bool _isLoggedIn = false;

  final Auth0 auth0 = Auth0(dotenv.env["DOMAIN"]!, dotenv.env["CLIENT_ID"]!);

  bool get isLoggedIn {
    return _isLoggedIn;
  }

  Future<void> login() async {
    await auth0.webAuthentication(scheme: dotenv.env["AUTH0_SCHEME"]!).login();
    _isLoggedIn = true;
    notifyListeners();
  }

  Future<void> logout() async {
    await auth0.webAuthentication(scheme: dotenv.env["AUTH0_SCHEME"]!).logout();
    _isLoggedIn = false;
    notifyListeners();
  }

  Future<bool> isUserLoggedIn() async {
    final loggedIn = await auth0.credentialsManager.hasValidCredentials();
    if (loggedIn) {
      final credentials = await auth0.credentialsManager.credentials();
      print(credentials.expiresAt);
      print(credentials.idToken);
      print(credentials.accessToken);
      print(credentials.refreshToken);
    }
    if (loggedIn) {
      _isLoggedIn = true;

      return true;
    }

    return false;
  }

  Future<Credentials> getUserCredentials() async {
    return await auth0.credentialsManager.credentials();
  }
}

auth0_flutter version
^1.1.0
Flutter version
3.7.9
Platform
Android
Platform version(s)
13

Hi @Miloye1, thanks for raising this.
Are you setting up the access token expiration (in your Auth0 API settings page) or the ID token expiration (in your Auth0 Application settings page)? The Credentials Manager only checks for the expiration of the access token.
Also please make sure to set the expiration before logging in, because the access token expiration comes with the credentials. It doesn't get checked/updated after that.

Hi @Widcket thanks for the response.
I wasn't setting the expiration time in the API settings, only on the application settings, and now the token is refreshed successfully.
But I still don't fully get how the APIs work so I guess I'll have to dig into the docs some more. We have a custom API for our backend, and when I set the expiration time there, and use it's identifier as audience, I don't get the refresh token in the response. But when I use the system Auth0 Management API instead it works. Is there an additional setting that should be configured?
Thanks in advance

Make sure it's enabled in the API settings:

Hi @Miloye1, does this actually fix your issue? Since I also can not refresh the token even after enabling Allow Offline Access.

I have the same issue: for testing, I set both the access token lifetime in the API and the id token lifetime in the application to 20 seconds. When I log in, I receive an id token that expires 20 seconds after it was issued, so perfect. But the expiresAt property on the credentials is 22 hours after the token was issued, and I don't know what setting determines that. The end result is that I get an expired id token, but the SDK does not refresh it like it should since based on expiresAt, it's not expired or even close to being expired. And I also decoded the JWT for the access token and there is not even an expiration date (exp) in this one, only in the id token.


=giveaway bug

🐛 Bug Report
was playing around with the giveaway function. i put up gmc's to see if it would work. it ate the gmc's and a few other items and never refunded them. just errored out.
https://gyazo.com/351057fb3dd0846f87f5b8eb1ff79698
Also if the oneAtTime function is supposed to work via only letting you do one =giveaway at a time, its bugged and you can spam multiple of them every five seconds.
should probably disable function until its fixed else people doing giveaways will just have the item eaten.

No one won, meaning the bot broke. Should return to giveaway hoster though.


runtime: TestLockOSThreadExit failing on arm64 builder

The TestLockOSThreadExit is currently failing on the linux/arm64 builder:
--- FAIL: TestLockOSThreadExit (0.03s)
    crash_test.go:95: testprog LockOSThreadAvoidsStatePropagation exit status: exit status 1
    proc_test.go:892: want OK
        , got failed to unshare fs: operation not permitted

FAIL
FAIL	runtime	40.468s

https://build.golang.org/log/ba97c98ea93fe2e4b4619e38fda345eb43216f97
The failures started at d0f8a7517ab0b33c8e3dd49294800dd6144e4cee (runtime: don't clear lockedExt on locked M when G exits), which slightly changed the test.
cc @mknyszek

It looks like on linux/arm64 for whatever reason unshare(CLONE_FS) is either unsupported, or just not allowed to be executed by the user running the tests.
 If there's a security issue with enabling unshare, then I'm happy to just disable the test on arm64. It's an easy fix.
cc @bradfitz

I think it would be good that we skip the test on platforms that doesn't support, maybe by testing kernel configurations or trying a syscall. So users won't see this kind of failures if they have such configurations.
For the concern of actually testing the functionality, I guess we could require the tests not to be skipped on certain builders? I.e., something like
if unsupported {
  if onCertainBuilder {
    t.Fatalf(...) // the syscall should be supported on this builder
  } else {
    t.Skip(...)
  }
}


Fix declare class with qualified type identifier

This makes declare class extends behave the same way as in flow.
The ast-token after the extends keyword, might be either Identifier or QualifiedTypeIdentifier.
declare class a extends b.c.d {}

To do that this change splits the parseGenericType into two functions, one for parsing genericType and on for qualifiedTypeIdentifier
Fixes #87

Current coverage is 96.92% (diff: 100%)

Merging #97 into master will increase coverage by <.01%

@@             master        #97   diff @@
==========================================
  Files            19         19
  Lines          2922       2927     +5
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           2832       2837     +5
  Misses           90         90
  Partials          0          0

Powered by Codecov. Last update b649671...09a3aa0


Update index.md typo

What this PR does / why we need it:
just a typo correction
Which issue(s) this PR fixes:
just a typo correction
Fixes #
Quality checks

[ ] My content adheres to the style guidelines
[x] I ran make test module="<module>" it was successful (see https://github.com/aws-samples/eks-workshop-v2/blob/main/docs/automated_tests.md)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks!


NullPointer uploading the video

Hi:
I got a null pointer exception after record the video and trying to upload it:
11-05 11:30:03.728 E/AndroidRuntime(32096): FATAL EXCEPTION: Thread-7369
11-05 11:30:03.728 E/AndroidRuntime(32096): Process: com.jiahaoliuliu.simpleziggeointegration, PID: 32096
11-05 11:30:03.728 E/AndroidRuntime(32096): java.lang.NullPointerException
11-05 11:30:03.728 E/AndroidRuntime(32096): 	at com.ziggeo.androidsdk.ui.fragments.VideoRecorderFragment$1.run(VideoRecorderFragment.java:189)
11-05 11:30:03.728 E/AndroidRuntime(32096): 	at java.lang.Thread.run(Thread.java:841)
I am not doing anything special. The source code could be found here:
https://github.com/jiahaoliuliu/SimpleZiggeoIntegration

Update: This happens on the full screen video recorder but not with Embedded video recorder

Update2: Now it is happening on embedded video recorder too...

@jiahaoliuliu
Hi,
I couldn't reproduce, but attempted to fix, please check now.
Thanks

@3akat Ok. I will try it tomorrow.


Rendering issues when using pie()

When using pie, the default colors doesn't match with those from MATLAB and the grid is automatically printed, when in MATLAB isn't (and doesn't really make sense to have a grid on a pie chart). Also, seems to be a deformation on the shape (not plotting a well-formed circle).
For example,
X = [1 3 0.5 2.5 2];
pie(X)

fig2plotly();

Expected and generated (https://chart-studio.plotly.com/~xarico10/467/#/) plots:

Examples on using pie() can be found on: https://www.mathworks.com/help/matlab/ref/pie.html#responsive_offcanvas

PR #349 fix this issue
For this I proposed a new plot option to control axis size called AxisEqual
code to test:
close all, clc
X = [1 3 0.5 2.5 2];
pie(X)
fig2plotly(gcf, 'offline', 0, 'AxisEqual', true);

Using before code results are as bellow

If 'AxisEqual' is not set or is set to false then the result is as bellow


BoundedEncodedLen tracking issue

Rationale
For PoV benchmarking, we need some way to estimate what the maximum encoded size of an arbitrary storage item can be. We've settled on a new trait, BoundedEncodedLen.
While Encode::size_hint already exists, we can't rely on it. One fatal flaw: it's an optional, "if possible" method which for many structs simply returns the default size of 0. Another: Encode is implemented for certain types such as VecDeque<T>, which we'd want to intentionally exclude from storage, as they aren't bounded. We need a trait which we can use to exclude types.
Design
pub trait BoundedEncodedLen: Encode {
  fn max_encoded_len() -> usize;
}

Roadmap

[ ] https://github.com/paritytech/substrate/pull/8720 Introduce the BoundedEncodedLen trait
[ ] https://github.com/paritytech/substrate/pull/8720 Implement for primitive types, fixed size arrays, tuples, etc. Non-containers for which Encode is implemented. Mostly defers to sp_std::mem::size_of::<T>().
[ ] https://github.com/paritytech/substrate/pull/8727 Implement for BoundedVec<T>
[ ] https://github.com/paritytech/substrate/pull/8720 Implement for certain containers:

[ ] Option<T>
[ ] Result<T, E>
[ ] PhantomData<T>
[ ] Compact<T>

[ ] Optional: Implement Bounded variants for other container types for which Encode is implemented. Implement BoundedEncodedLen for these bounded variants.

[ ] BTreeMap<K, V>
[ ] BTreeSet<T>
[ ] BinaryHeap<T>
[ ] LinkedList<T>
[ ] VecDeque<T>

[ ] Derive macro: #[derive(Encode, BoundedEncodedLen)] for non-container structs, enums. Requires all fields to implement Encode and BoundedEncodedLen.
[ ] Extend FRAME storage macros such that all StorageMap and friends are actually implemented as newtypes which implement the full API of the parent type, plus BoundedEncodedLen

[ ] Backwards-compatibility: existing macro declarations should use a fixed bound of 300,000
[ ] A new optional attribute (pending bikeshedding) allows per-map customization of bound. #[storage::map_bound(300_000)]. The value specified in this attribute is used to determine the bounded length of the map.

[ ] New requirement on frame::storage: all storage items must implement BoundedEncodedLen.
[ ] Patch all the holes to make everything work.

Notes
This always explicitly computes an upper bound. While a u128 can potentially be compact-encoded in only one byte, u128::max_encoded_len() will always return 16.
While implementations of BoundedVec<T> and friends impose a hard cap on their length, we do not use BoundedEncodedLen to impose a hard cap on the size of StorageMap and friends. While potentially a parachain author could misrepresent the bounds on its maps to attempt to pack a parachain block with more transactions, that behavior is self-defeating. Eventually they will try to pack too many transactions into a block, causing that block to become invalid because its actual size is too large. User documentation for the storage::map_bound attribute should emphasize that it is in the chain author's best interest to use a reasonable value here.
We'd like to offer logging warnings that could be noted by Prometheus etc when the size of StorageMap exceeds certain thresholds (eg. info at 80%, warn at 100%), but that feature is out of scope of this tracking issue. It requires additional design work because currently the only way to determine a map's size is to iterate over its members, which is not performant.
max_encoded_len is a function instead of an associated constant for pragmatic rather than theoretical reasons. Currently, BoundedVec's limit is not a constant, so we can't use its value in a constant context.

I can help with

Extend Frame macros to..

Implement Derive macro for...

Backwards-compatibility: existing macro declarations should use a fixed bound of 300,000

Where is this number coming from?

New requirement on frame::storage: all storage items must implement BoundedEncodedLen.

Given all of this, in the context of a parachain, we pretty much want to ban storing anything unbounded like Vec<_> in storage, right? be it a map or simple value, it shall never be unbounded.

I'm working on the derive macro right now, but assistance on the Frame side would be much appreciated.

Where is this number coming from?

Just a SWAG; it's high enough that it'll probably suffice for most cases without being high enough to make the weight predictions unreasonably high.

be it a map or simple value, it shall never be unbounded.

Yes, we're specifically excluding Vec<T> with that requirement, in favor of BoundedVec.


How to create date and time control in javascript?

Is it possible to create date with time control in java-script?? For date control i am using following which is working -
Html -

            Period
            <input type="text" id="DateFrom" name="DateFrom" class="s-DateEditor"  />

and Javascript -
 $(function () {
        $("#DateFrom").datepicker();
    });

What to do to add TimeControl with calendar? I have a simple html page so i need to do it in js only.
Thanks

new Serenity.DateTimeEditor($('#Date'), {});

I use DateTimeEditor() like [DisplayName("Require Time"), Column("requireTime"), DateTimeFormatter(DisplayFormat = "yyyy-MM-dd HH:mm"), DateTimeEditor()]
it work fine. but an custom request is how to set time options, i want  to get time options from database

Thanks for your help.
I used following addon over jquery to have TimeControl inside calendar.
http://trentrichardson.com/examples/timepicker/
@PanChenhao
I am not using any C# code. I am using it on a simple HTML page with. I think if Field has time then it should display automatically.

@ramveersgh could you post an example of what you done with this time picker?
how to use it in Serenity?


[TODO] Allow multiple radio channels

Some servers might have a dispatch system in which they need to be able to join multiple channels

Can you give some guidance on how one would implement this? I would take a look


Links in this page are broken.

[Enter feedback here]

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

ID: d34b8963-7f3f-fc36-2cbe-13fb2d22dff9
Version Independent ID: d34b8963-7f3f-fc36-2cbe-13fb2d22dff9
Content: Android Support in vcpkg
Content Source: vcpkg/users/platforms/android.md
Product: vcpkg
GitHub Login: @ras0219-msft
Microsoft Alias: roschuma

https://learn.microsoft.com/en-us/vcpkg/users/platforms/android


Test new approach to referencing content in code blocks.

To be more in alignment with asciidoc, as used in product documentation for SUSE Admission Policy Manager.
To see the asciidoc version, for comparison, in product docs:  https://github.com/jhkrug/kubewarden-product-docs/blob/40c59ee37760b9bb28f0c56e3c4fc545a40661b0/docs/next/modules/en/pages/reference/monitor-mode.adoc?plain=1#L30-L58

Any thought? Objections?

Fixes https://github.com/kubewarden/docs/issues/467


Exception java.lang.RuntimeException: takePicture failed

stack trace:
android.hardware.Camera.native_takePicture (Camera.java)
android.hardware.Camera.takePicture (Camera.java:1557)
com.jennylife.jennylife.activities.vision.CameraSource.takePicture (CameraSource.java:502)
com.jennylife.jennylife.activities.DriversLicenseBarcodeActivity.onTap (DriversLicenseBarcodeActivity.java:378)
the exact line with the exception:
mCamera.takePicture(startCallback, null, null, doneCallback);
file exhibiting the problem
https://raw.githubusercontent.com/googlesamples/android-vision/master/visionSamples/barcode-reader/app/src/main/java/com/google/android/gms/samples/vision/barcodereader/ui/camera/CameraSource.java
device details
Device
Manufacturer: LGE
Model: LG-M153
Board: Msm8909
Android API: 23
Android OS: 6.0.1
Brand: Lge
RAM: 1.38GB
Orientation: Portrait

it looks like this PR will fix it
https://github.com/googlesamples/android-vision/pull/222
However it hasn't been merged in a year


Implement # Positional Variable Binding

See https://docs.jsonata.org/path-operators#-positional-variable-binding
(Positional variable binding)
This can be used to determine at which position in the sequence the current context item is. It can be used following any map, filter or order-by stage in the path. The variable is available for use within subsequent stages of the path (e.g. within filter predicates) and goes out of scope at the end of the path expression.
Example
library.books#$i['Kernighan' in authors].{
'title': title,
'index': $i
}
This returns an array of objects for each book in the library where Kernighan is one of the authors. Each object contains the book's title and its position within the books array before it was filtered.

Is there any other way to obtain the Positional? Do not use the Map function, as it takes too long when the data exceeds 2000.


fixing e2e tasks in grunt and gulp, adding e2e tests for user module

fixes #929 and #934

@jloveland I think there's a bit too much going on with this PR. I'm worried it will take some time to review.
Would it be possible to just add the protractor task to the Grunt file, and fix the existing e2e tests? Perhaps in a separate PR; that way you can keep all this work here. With that approach we would get the bug fix for the Protractor tests out quickly, and then we could start building out the e2e tests.

@mleanos, I agree, I will separate into different PRs.


Remove params from Steps.perform()

Steps should be a different interface, whose perform() method takes no params, or only the logger.
This is because, Knowledges wrap Command in Understood command, setting its type and language.
In the end, when the Knowledge builds the tree of steps, it should wrap it inside Steps, which also takes the Command.
The way it is now, we build the Step 3 based on the wrapped (undersood) command, but this tree performs based on the original command, which is a bug. See #244

done


The documentation is not clear enough about sharing a single okhttp client.

In the documentation, it is clear said that we should share a single instance. Ok
If an app deals with several Apis or EndPoints, app has still to share it instance, but may configure it with "newBuilder" to setup specificities
However in the doc, this is said :
You can customize a shared OkHttpClient instance with newBuilder. This builds a client that shares the same connection pool, thread pools, and configuration. Use the builder methods to configure the derived client for a specific purpose.
What is the share configuration about ?
Is any setup done with the builder, is share then to the new setup build with new builder ? (interceptor, cache, timeouts, headers....)
https://square.github.io/okhttp/4.x/okhttp/okhttp3/-ok-http-client/#okhttpclients-should-be-shared

The newBuilder() call retains everything.

Ok it does mean that the single okhttp instance should only setup common configuration, because every configuration cannot be removed ? is that right ?

Yep, that sounds good.

@afaucogney feel free to submit a doc PR for review to clarify, otherwise closing this out.

@yschimke https://github.com/square/okhttp/pull/6449


[PRESET] Create Compiler Preset "Castlevania: Symphony of the Night"

I would like to capy a compiler preset on decomp.me.

Preset Name: e.g. Castlevania: Symphony of the Night
Platform: e.g. psp
Compiler ID: e.g. mwccpsp_3.0.1_219 (see Compilers API)
Compiler Flags: e.g. -Op -lang c -sdatathreshold 0

To not be confused with the existing preset from "Castlevania: Symphony of the Night" for PSX. It is not a mistake I am requesting a new one for PSP.
Thanks :frog:

Dun https://decomp.me/preset/132 :)


patch fix to read loc data

Addresses: #430.  @davidraythompson, for review.

Current failures are due to avng server being down.  Will rerun once stood back up (should be 01/16/2024).  Patch is likely acceptable in the interim, however.

I think the code below the change assumes BSQ layout.   But it worked after I made the change:
1349   loc_data = loc_dataset.open_memmap(interleave="bsq", writable=False)

If this looks okay I'm fine with merging it.

Good catch, the rest of the function inferred GDAL read order.  This should work fine, merge away.


sftp support

does the library work with sftp ?
if no, is it scheduled to be done soon ?

@fithwith  there is already an issue open for this #157


How to analyze log with dashes (COMMON log format)

Hello,
I am trying to analyze a log that is a variation of the Apache/NCSA Combined Log Format. I get a %b token error but I believe it is a misalignment (the %b is correct) due to the two dashes between the IP and the date (example below).
76.xxx.xxx.xxx - - [01/Jul/2008:00:00:13 -0400] "GET /data/tiny.gif HTTP/1.1" 200 13737
219.xxx.xx.xxx - - [01/Jul/2008:00:00:13 -0400] "GET /data/tiny_195.gif HTTP/1.0" 200 12691
What would the goaccess log format be to account for the dashes?

Thank you!  Worked like a charm from the command prompt.
Just so that I know, is there a comparable /etc/goaccess.conf parameter that would have the same effect as --log-format=COMMON?

Glad that did the job :)
Yes, you can use pretty much any of the command line options in the config file, just remove the -- and the =, e.g.,
log-format COMMON

Closing this. Feel free to reopen it if needed.


WIP full revision of Entities & json support

Looks good 👍
There is a great degree of redundancy in the entities
i.e. the following Properties (found in many "xxPhoto" Entities)
`
[JsonProperty("ispublic")]
public bool IsPublic { get; set; }
[JsonProperty("isfriend")]
public bool IsFriend { get; set; }
[JsonProperty("isfamily")]
public bool IsFamily { get; set; }
`

yes, agree with you. What would be a naming suggestion for this
Entity

@st0o0
I think something like "Social Circles" or "Visibility Group" could be a suitable name for these three properties.


How can I integrate shuffling BN (in MoCo) with PTL?

https://github.com/facebookresearch/moco/blob/master/moco/builder.py#L68-L113
This part breaks PTL's abstraction around DDP, and I'm not sure how to integrate it cleanly. Thank you so much!

Same question here


Added solution of 30daysOfCode to hackerrank solutions folder

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Added solution of 30daysOfCode to hackerrank solutions folder in c language
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.

Related Issues or Pull Requests
closes #692
Fill up the DCP form
If you are a part of DCP 21, fill up this form after the PR is merged.
The links provided in the form will be checked thoroughly, if someone tries fooling around, strict actions will be taken against the individual.

Looks good to me !


Keepers - Making gas limits more prominent

I was reading through this section and want to make sure no one misses the gas limits; previous iteration didn't feel like a strong enough call out.

@AnushV Do you want to fix the issues (multiple commits, typos), or should I take this one over?


Fix error with api scope

Changed to api to works with Gitlab 9.2.x

But simply change api to read_user maybe compromise the compatibility of gitlab 8.x?
I'll test it against 8.x and 9.x later today.


Add support for Nom

In order for Nom to understand Bytes, we need to implement their needed traits. I've already added support for Nom 7.x on my fork and can create a PR for it, but it will work only on 7.x version of Nom. Their next major release breaks everything. If you are okay with only Nom 7.x support, I can submit a PR. If you want, I can figure out a way to support both versions.
You can also assign me on this issue if you want to, I'll try my best to figure this out.

If you are okay with only Nom 7.x support

Unfortunately, we don't want to commit to something like this. Tokio 1.x.y depends on bytes 1.x.y, so a breaking change to bytes would necessitate a breaking change to Tokio, and we don't want breaking changes in Tokio.

@Darksonn Is it a breaking change? All that's needed is to add a new module to bytes (named something like nom_7) that will contain all the needed implementations. I think we can support other versions of Nom with a dependency entry like this one:
nom-7 = { package = "nom", version = "7", optional = true, ... }

The only reason why I'm suggesting to add this directly is because there is no way to implement traits for stuff from third-party crates without wrapping types and implementing everything for them.

It would be a breaking change to upgrade nom in case a version 8 is released. You're correct that we could depend on several versions, but I really would rather not have an ever increasing list of nom dependencies.
I know its more convenient for you if we add this, but we have to support this forever, and I don't want to do that.

In your own project, you could create a struct NomBytes(pub Bytes), and implement the traits you need.


connector command: Make queue parameter required

When a connector is created without queue it disappears. Users - not even admins - cannot see connector that are not anyhow connected to their organizations.
Make the queue parameter required. Possibly, if not specified and the user has only one queue use the queue as for other subcommands.

Closed in  #75


Use fenced code blocks to fix rendering on GitHub

This will avoid issues like #60

@belak This was addressed in this commit, right?


Mention the default number of Engage spaces per workspace

Added information regarding defauly # of Engage workspaces and how to request more

Merge timing

@Hopes-Chantel does this works till need to be done? This PR is quite old and still in draft state, with merge conflicts. We plan to close this PR on Friday January 26, 2024. If the work still needs to be done, please let us know.


[WIP] Swappable models

Since the approach in #42 wasn't working, I started work on using swappable models instead.
I can't say that it's finished. I need to work through the following:

[x] Write a guide on how to start a fresh application with custom models
[x] Make content_panels property on swappable models only set when NOT swapped out
[ ] Make upstream PR to patch Django's fault when m2m through= model swapped out
[ ] Add a monkey patch in PR to make the case more compelling.
[ ] State whether it's possible to migrate an existing project (i.e. change the swappable model)
[x] Completely remove default_author from migration 0005 or make it conditional.

It seems evident that adding custom models through swappable interface creates a circular dependency in the migrations of blog and myapp.

blog: Needs Migration.dependecies to list for instance swapper.dependency('blog', 'BlogPage')
myapp Needs to generate new migrations with new models. As soon as the models are created in myapp.models and one needs to do makemigrations myapp, the circularity will show up because the migrations in blog are now looking for myapp.BlogPage etc. in the migration model tree.

Solution
It's easy to solve by creating empty models for every swapped in model, so in myapp.models, we put all the desired swapped in models and run migrations. AFTER that, we change their model bases and update the swappable settings of the project.
We need, however, to add empty models for ALL of the swappable blog models, otherwise foreign keys fail.
class BlogIndex(models.Model):
    pass

class BlogPage(models.Model):
    pass

class BlogCategory(models.Model):
    pass

class BlogTag(models.Model):
    pass

class BlogPageTag(models.Model):
    pass

class BlogCategoryBlogPage(models.Model):
    pass

Just had the first indication that this can be made to work, however:

Need to patch Django because through models for many-to-many relationships are not swappable, so this fails:
through=swapper.get_model_name('blog', 'BlogCategoryBlogPage')

I managed to make Django eat it, but I don't know enough about the subject to actually make this work, so my suggestion for upstream is going to be to remove a certain check on custom m2m models.

content_panels in Wagtail do not work for swapped out models. So for instance, if we specify these panels on blog.models.BlogPage (for default usage), we have to remove it to make way for the swappable part (or disable it through a setting)

What I'm saying is that this can be achieved, but it's not easy :)

This PR is still active, I just have issues finding the time to finish the alleged m2m Django bug and running the whole procedure with a fresh project.

Moved https://gitlab.com/thelabnyc/wagtail_blog/merge_requests/46

@bufke funny, I was actually working on this yesterday -- if I push something to my Github branch, will it reflect on Gitlab?

Gitlab is preferred but I'll merge whatever you send if it works. I was actually just talking about this with a coworker. We decided to just extend the model instead of replacing it for a project.

Would love to know if you have any updates on the m2m issue you found. It's concerning if we have to turn to hacks to get the models to be swappable.

@bufke I'm currently re-implementing this for its original purpose... I got really derailed with this effort, so my mental model of the original M2M is completely eradicated :) Finish what you start, Ben!!
Oddly, what I have right now is working, I just need to figure out why and if I hacked/monkey-patched something or not...
Regarding work on Github... you don't have a CI active anymore? I retained the .travis.yml in this PR, but I don't know if that'll work... I'll squash and rebase everything in any case, so can remove it again if it doesn't work out.

@bufke aha! nevermind, I get "pipeline has failed" notifications from Gitlab now, will investigate! :)

Don't use swappable models for this
I have completed my investigation, and I will not pour anymore time into this. I conclude that it will never be efficient for reusable third-party app of the relatively small size of wagtail_blog to instruct users to use swappable models.
For my own purposes, I will now just proceed to hard-copying the whole app into my project.
It's too complicated to achieve swappable models: The docs and the support following it will just break the development of the app itself. From my own experience of maintaining apps, I would say that it's guaranteed that adding this as an option would spawn so many support issues that actually developing new features would be totally derailed. Not to mention maintaining support of the swappability itself.
The way to achieve this would have been:

Create an app with a set of models, each must just inherit from the abstract base classes defined in this PR. Add the settings for swappable models.

Copy in boiler plate migrations. Django cannot create those with makemigrations as it will end up in some circular dependency issue. I had to manually author the migrations to make it work.

Start to customize things.

The step with the manually created 0001_initial killed this for me. I will not want to maintain this for the future of this application.
What to do then?
The issue here is that we would all like to have reusable blogging features for Wagtail. I would suggest that wagtail_blog does NOT at all ship concrete models for any Wagtail-related models. Only abstract models.
Let the user of wagtail-blog implement everything that's supposed to be displayed in Wagtail.
This means that all the views etc. should stop relying on concrete models and instead have either new non-Page models for this data, or that some configurable factory method is defined to return Model classes for what the user should define.
The (re)usefulness of a Wagtail-based blog application is to have models that can be customized.
That is all. Unfortunately the closing of the Github repo has removed other discussions in #28, so I cannot dig out what has previously been mentioned about this topic.
*) user is understood as the developer implementing wagtail-blog for their needs

It's all here https://gitlab.com/thelabnyc/wagtail_blog/issues/28
What do you think of this. We add docs that expand on "Feel free to use as is or copy it as a starting point." to be more clear that you might literally want to copy and paste the models. Or note that if the dev finds it acceptable, they just extend the non abstract models.
If this project adds more headache trying to keep it as a installed app while changing it than it solves - why do it. There isn't much to this project. The import scripts would tend to be a one off thing - you don't need them in your app forever. And the only changes I really make here are things to keep up to date on wagtail/django versions.

I agree @bufke - I think NO DOUBT that the codebase here is valuable, but it is not nice to have started out by using it as a dependency, because 10 minutes later, I find myself scratching my head about "so eh how do I add a field"... which is a very very difficult question at this point :)
You probably have a better perception about how the general usage of this is. But knowing what I know now, then I would definitely start out by cloning the code-base.
However, for a longer term, it would be interesting to work on a solution where a dependency and an upgrade path with new features was possible.

(sorry about these rather quickly/sloppily authored sentences, I hope you can make out what I'm trying to say)


Programming exercises: Fix Swift exercise creation

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[ ] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Changes affecting Programming Exercises

[ ] I tested all changes and their related features with all corresponding user types on Test Server 1 (Atlassian Suite).
[x] I tested all changes and their related features with all corresponding user types on Test Server 2 (Jenkins and Gitlab).

Motivation and Context
Closes #6436
Description
There are some template directories for Swift exercises that are wrongly detected to be files. Therefore copying fails for those. This PR fixes the ignore-mechanism that matches those files and ignores them in the copying process.
Steps for Testing

Prerequisites:

1 Instructor

Create a new Swift programming exercise.
Go to the online editor: Check that the placeholders as shown in the screenshot are replaced in the three exercise repositories by their intended package name.

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage
A new test was added that checks the intended behaviour.
Screenshots
before:

Codecov Report

Merging #6438 (528cb5c) into develop (8dc3ea3) will decrease coverage by 4.42%.
The diff coverage is 57.14%.

:exclamation: Current head 528cb5c differs from pull request most recent head 9b2f225. Consider uploading reports for the commit 9b2f225 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
Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #6438      +/-   ##
=============================================
- Coverage      84.84%   80.43%   -4.42%
- Complexity     13005    13006       +1
=============================================
  Files           1073     2318    +1245
  Lines          42056    89046   +46990
  Branches        4398    13165    +8767
=============================================
+ Hits           35681    71621   +35940
- Misses          3934     9605    +5671
- Partials        2441     7820    +5379

Impacted Files
Coverage Δ

...gramming/ProgrammingExerciseRepositoryService.java
85.46% <25.00%> (-2.12%)
:arrow_down:

...va/de/tum/in/www1/artemis/service/FileService.java
79.36% <100.00%> (+1.18%)
:arrow_up:

... and 1246 files with indirect coverage changes

Flag
Coverage Δ

client
76.48% <ø> (?)

server
84.83% <57.14%> (-0.01%)
:arrow_down:

Continue to review full report in Codecov by Sentry.

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

I'm a bit confused looking at this PR, the changes look to me like small refactorings that would not change the behavior. Is the fix using String:endsWith instead of Path:endsWith? If yes, what is the difference here?

Is the fix using String:endsWith instead of Path:endsWith.

Yes, it is. Example: Path p = some/path/with/some_file.name

Path::endsWith only checks if full path elements match, i.e. p ends with some_file.name, or with/some_file.name, but not with file.name.
By taking f = p.filename().toString() first, we now have got the usual suffix checks for strings on some_file.name, e.g. f ends with file.name.


Ophyd async slits

Fixes #384
Port S4SlitGaps to ophyd-async. Add tests to prove it reads correctly. Also create a group object for bunches of slits. Add slits config for I22 and P38.
Instructions to reviewer on how to test:

Run unit tests

Checks for reviewer

[ ] Would the PR title make sense to a scientist on a set of release notes
[ ] If a new device has been added does it follow the standards

I think from a use perspective doing i03.slits_1() is more obvious than i03.slits().slits[1] given that this is how all other devices work. In other devices we only group like this if the devices make sense for the user to move together, does it make sense to the user for all of the slits to be one composite? What is one of the slit 2 fails to connect but we only need slit 4 in the plan?

I agree with this - I think we rarely if ever need to coordinate movements between different slits, except, like, setting the whole beamline to some standard state. It's a little academic because slits 1&2 should never actually be offline if we're running stuff, but there's no reason to actively make devices connect to them when we only need _4 99% of the time.

As discussed with @DominicOram, @dperl-dls and @olliesilvester, the work to standardise the slits PVs has encountered complications so we are going to keep both versions of the slits device for now. Once that work is done we can action  https://github.com/DiamondLightSource/dodal/issues/462 and rationalise the implementations.


support manual doc at interface level

Current coverage is 83.87% (diff: 100%)

Merging #927 into master will increase coverage by <.01%

@@             master       #927   diff @@
==========================================
  Files           337        337
  Lines         13072      13078     +6
  Methods           0          0
  Messages          0          0
  Branches       1720       1721     +1
==========================================
+ Hits          10963      10969     +6
  Misses         1672       1672
  Partials        437        437

Powered by Codecov. Last update 0bd605e...4cee3eb

LGTM - add a couple more people to look at it.

@garrettjonesgoogle I added @jba . Please let me know if you want to add anyone else.

Code for this LGTM.
What is the motivation for this PR? Is there an existing case where we want to use this, and what are the language-specific docs that are going here?

Yes, we are adding this feature because of a new use case. For Pub/Sub in Java, we want to hide the publish message on the GAPIC client, and then inject a doc at the class level pointing the user to the handwritten class that provides the functionality.


Organize work needed for v1.1

Everything changed! Yay! Bring up to date.

Work is already ongoing in v1.1 branch.


run_sdk_container: Fall back to tar ball download for SDK image and other improvements

run_sdk_container: Fall back to tar ball download for SDK image
The nightly SDK image is not pushed to a registry but has to be
downloaded from the build server as tar ball.
Fall back to the tar ball import for a better user experience.
To reuse the ci logic it had to support the "docker" env variable.
The use of the pigz container is not always needed if the user has
pigz available.

run_sdk_container: add remove flag
At the moment one must remove the leftover containers manually.
Add a flag to do so when stopping the container.

run_sdk_container: recognize --help flag
When the user passes --help we should not start a container and throw a
late error message afterwards but show the help directly.

How to use
Backport to all channels for consistency
Testing done
./run_sdk_container -t on main and also using --rm or --help

(GitHub is slow to show the third commit)


add ts_map in cosipy

I have migrated my previous TS map code from Jupyter notebook in intro_cosipy to .py format in cosipy. The logical structure is as follows,

In "COSILikeForTSMap.py", I created "class COSILikeForTSMap" to inherit "class COSILike" in "cosipy.threeml.COSILike", but override the "set_model" function, because in the TS map COSILikeForTSMap needs to change RA and Dec many times.
In "TSMap.py", I created "class TSMap". "link_model_all_plugins" function use dr, data, bkg, sc_orientation, piv and index to instantiate plugin, create model and link them together to wait for the fit. "ts_fitting" function allows the user to take care of source and bkg to generate the TS grid. There are some remaining functions that mainly help the user to visualize, save or load the final result.

I checked the TSmap pull request and it works with no issues.

Hi @PbU-Jason, thanks! We think it is almost ready to merge (you can add more feature later), just change these couple of things before:

Use the Attitude and Spacecraft classes from the scoords library, not from cosipy.coordinates. In the latest version cosipy, these are no longer there. See #43
Instead of adding a class in cosipy/ts_map/COSILikeForTSMap.py, apply your modification on top of the existing COSILike class here: https://github.com/cositools/cosipy/blob/main/cosipy/threeml/COSILike.py
Remove the .DS_Store files from this branch

Hi @PbU-Jason, thanks! We think it is almost ready to merge (you can add more feature later), just change these couple of things before:

Use the Attitude and Spacecraft classes from the scoords library, not from cosipy.coordinates. In the latest version cosipy, these are no longer there. See Use scoords for Attitude and SpacecraftFrame #43
Instead of adding a class in cosipy/ts_map/COSILikeForTSMap.py, apply your modification on top of the existing COSILike class here: https://github.com/cositools/cosipy/blob/main/cosipy/threeml/COSILike.py
Remove the .DS_Store files from this branch

Thanks for the guidance. I've fixed above issues.

Checked out the new commit and things work now with scoords and with COSILike. Ready to merge.


[docs] Improve examples

A quick polish on the examples. We could still push it further but no more bandwidth.

I might have broken stuff, we will see.
I would have preferred not to open this PR, but I figured I could help differentiate there. I'm quite curious to see the analytic. With @bharatkashyap we talked about expanding our CLI to start from templates. If we had this in Material UI, we could get a better idea of the most popular examples, hence the ones to polish the most. In any case, I think that the GA events will be enough.

Maybe we should establish a kind of quarterly or biannual review of the examples directory to make sure everything is functional and up to date? You surfaced quite a few small things that none of us noticed, and that went unreported by the community as well. We should be more proactive about keeping these tidy, in any case, because a broken or buggy example would be an awful first impression to make. Analytics ought to give us a much better idea of what to prioritize.

Maybe we should establish a kind of quarterly or biannual review of the examples directory to make sure everything is functional and up to date?

I'm not sure: when stuff gets broken, developers tend to report it. I would be inclined to have thorough tests of these examples as a one-off exercise & each time there is a proposed change. I rarely can spot everything in a single review, it takes me a couple of iterations to see all the things that could be improved, which at the end of the day impacts the DX.


MAINT: Unify GH Actions pytest

Having split pytest workflows is really a relic from when we couldn't restart just the failed jobs in a run. This unifies within a single YML greatly reducing CI code dup and allowing us to only run the jobs if the style job passes.
This will take some iterations so draft for now...

What about the style check on Azure? Do we need it or can we remove it?

OK! In theory, it would be nice to not run duplicate stuff. Although it doesn't make a huge difference, should we still prune at least Ruff from there and just leave the setup and additional stuff?

should we still prune at least Ruff from there and just leave the setup and additional stuff?

I'd rather not. ruff on the whole repo only takes a couple of seconds to run and when it fails we want it to fail on both the GHA style job and the Azure style job so that the tests don't bother running on either provider.

Temporarily disabling the problematic SphinxWindows step. Will look into it more later this week, but want to get things green ASAP.


3440x1440, fix dont work and show error

You're using an old game version which is incompatible with the latest fix. You need to update your pirated copy of the game or buy it legitimately. I'm going to close this issue now.


[Backend] Added Delete Product Function & Fixed Minio Connection Refused Bug.

@MartinLam-Oursky please also resolve conflicts at .gitignore


NIFI-12371 - Support tombstone messages in non-record Kafka processors

Summary
NIFI-12371 - Support tombstone messages in non-record Kafka processors
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[ ] Apache NiFi Jira issue created

Pull Request Tracking

[ ] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[ ] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 21

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

Thanks for the review @exceptionfactory - I believe I addressed your comments


Add floating action button to compose a new email

Add floating action button to compose a new email and fix #4400

Did you have check if floating button follow dark/light theme ?

Thanks for the pull request :heart:
Unfortunately, I had already started work on this. I finished it today. See #6543.


teeworlds: build on macOS

Description of changes
Enable running teeworlds on macOS.
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I removed the dependency on icoutils on Darwin.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/805


introns() function in pyranges/genomicfeatures.py uses inplace=True

In the introns() function, the inplace=True argument used in the following line will trigger a pandas FutureWarning.
https://github.com/biocore-ntnu/pyranges/blob/122e9d458fd3fa2c8e2ec225d1c4410f0a959a46/pyranges/genomicfeatures.py?plain=1#L607

python3.7/site-packages/pandas/core/arrays/categorical.py:2631:
FutureWarning: The inplace parameter in pandas.Categorical.add_categories is deprecated and will be removed in a future version. Removing unused categories will always return a new Categorical object.
res = method(*args, **kwargs)

It will be great if you can do an assignment instead of using inplace=True. Following is a simple solution:
        introns.Feature.cat = introns.Feature.cat.add_categories(["intron"])

Thanks.

Thanks for reporting this!
On Monday, March 7, 2022, Dongze He @.***> wrote:

In the introns() function, the inplace=True argument used in the
following line will trigger a pandas FutureWarning.
https://github.com/biocore-ntnu/pyranges/blob/
122e9d458fd3fa2c8e2ec225d1c4410f0a959a46/pyranges/
genomicfeatures.py?plain=1#L607
python3.7/site-packages/pandas/core/arrays/categorical.py:2631:
FutureWarning: The inplace parameter in pandas.Categorical.add_categories
is deprecated and will be removed in a future version. Removing unused
categories will always return a new Categorical object.
res = method(*args, **kwargs)
It will be great if you can do an assignment instead of using
inplace=True. Following is a simple solution:
    introns.Feature.cat = introns.Feature.cat.add_categories(["intron"])

Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/biocore-ntnu/pyranges/issues/261, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHURUUVYDSLCD4E3WAAK3DU6U6OXANCNFSM5QBYVA7Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks for your quick reply! One more strange behavior I noticed is that after running introns() with nb_cpu > 1, every call of the system shell command via subprocess functions, like run(), check_call() and Popen will return me the following error, while it doesn't affect the final result of the bash command. This error will disappear if using introns(nb_cpu=1)

E0306 16:52:05.446318481   10008 fork_posix.cc:70]           Fork support is only compatible with the epoll1 and poll polling strategies

I should add a warning that multiple CPUs is currently not supported.
Thanks :)
On Monday, March 7, 2022, Dongze He @.***> wrote:

Thanks for your quick reply! One more strange behavior I noticed is that
after running introns() with nb_cpu > 1, every call of the system shell
command via subprocess functions, like run(), check_call() and Popen will
return me the following error, while it doesn't affect the final result of
the bash command. This error will disappear if using introns(nb_cpu=1)
E0306 16:52:05.446318481 10008 fork_posix.cc:70] Fork support is only
compatible with the epoll1 and poll polling strategies
—
Reply to this email directly, view it on GitHub
https://github.com/biocore-ntnu/pyranges/issues/261#issuecomment-1060765836,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHURUQOPBIQGDOIXLIHJE3U6YJF3ANCNFSM5QBYVA7Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

Hi @endrebak, I am still getting the warning. I suggest specifying the required version of pandas in the setup.py as currently there is no version control.  Thanks!
/home/zaza/miniconda3/envs/af/lib/python3.10/site-packages/pyranges/genomicfeatures.py:607: FutureWarning: The `inplace` parameter in pandas.Categorical.add_categories is deprecated and will be removed in a future version. Removing unused categories will always return a new Categorical object.   introns.Feature.cat.add_categories(["intron"], inplace=True) /home/zaza/miniconda3/envs/af/lib/python3.10/site-packages/pyranges/genomicfeatures.py:607: FutureWarning: The `inplace` parameter in pandas.Categorical.add_categories is deprecated and will be removed in a future version. Removing unused categories will always return a new Categorical object.   introns.Feature.cat.add_categories(["intron"], inplace=True)

That is a good idea. I’ll fix it.
On Wed, 22 Feb 2023 at 21:41, Dongze He @.***> wrote:

Hi @endrebak https://github.com/endrebak, I am still getting the
warning. I suggest specifying the required version of pandas in the
setup.py as currently there is no version control. Thanks!
/home/zaza/miniconda3/envs/af/lib/python3.10/site-packages/pyranges/genomicfeatures.py:607:
FutureWarning: The inplace parameter in pandas.Categorical.add_categories
is deprecated and will be removed in a future version. Removing unused
categories will always return a new Categorical object.
introns.Feature.cat.add_categories(["intron"], inplace=True)
/home/zaza/miniconda3/envs/af/lib/python3.10/site-packages/pyranges/genomicfeatures.py:607:
FutureWarning: The inplace parameter in pandas.Categorical.add_categories
is deprecated and will be removed in a future version. Removing unused
categories will always return a new Categorical object.
introns.Feature.cat.add_categories(["intron"], inplace=True)
—
Reply to this email directly, view it on GitHub
https://github.com/biocore-ntnu/pyranges/issues/261#issuecomment-1440769231,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHURURS6FIVGAHINNGEOBTWYZ2X7ANCNFSM5QBYVA7Q
.
You are receiving this because you were mentioned.Message ID:
@.***>


Provide insight into “Who caused my test to skip”

Closes #1878
Closes #1869
Fixes #1878  .
Did you remember to?

[X] Add test case(s)
[X] Update CHANGES.txt

We encourage pull requests that:

Add new features to TestNG (or)
Fix bugs in TestNG

If your pull request involves fixing SonarQube issues then we would suggest that you please discuss this with the
TestNG-dev before you spend time working on it.

@juherr - Fixed all the review comments.... Please help take a look

@juherr - Please check if all is well now.

@juherr - I have fixed all the review comments. Please help take a look

Based on an email from @cbeust - merging this PR since @juherr has helped approved it.


Creating Azure funcitons on existing loaded function struck at password setting step

Azure Data Studio Version:
OS Version:

Steps to Reproduce:

created an Azure function on table and followed the prompted settings, it created and opened the project.
created an Azure functions on View while the above project is loaded, it just prompted some settings and struck at Password one!

Does this issue occur when all extensions are disabled?: Yes/No

https://user-images.githubusercontent.com/74571829/184439186-64a6236b-bfda-4800-bf6c-f35a1f8bbb19.mp4

@VasuBhog , created the issue as per the discussion on SqlBindings bugbash! Thanks