0.7 performance slicing X array

Per comment from @flying-sheep in another thread (chanzuckerberg/cellxgene#1132), we should be slicing the adata object, not directly slicing adata.X.
In 0.7.1, slicing adata is significantly slower than X, for a large in-memory datasets.   Example, on a 1Mx1K dense matrix (the old mouse neuron dataset from 10X), loaded into memory (backed=None):

row slicing, eg, adata[0:10, :].X vs. adata.X[0:10, :] is over 100,000X slower
col slicing, eg, adata[:, [3, 77, 900]].X vs adata.X[:, [3, 77, 900]] is roughly 20X slower

Test code:
import anndata
import timeit

adata = anndata.read_h5ad('10x_mouse_13MM_processed.h5ad', backed=None)

def go(f):
    t = timeit.Timer(f).autorange()
    return t[1] / t[0]

print('row slices')
t1 = go(lambda: adata[0:10, :].X)
t2 = go(lambda: adata.X[0:10, :])
print(f'{t1:g}, {t2:g}, ratio: {t1/t2:g}')

print('col slices')
t1 = go(lambda: adata[:, [3, 77, 900]].X)
t2 = go(lambda: adata.X[:, [3, 77, 900]])
print(f'{t1:g}, {t2:g}, ratio: {t1/t2:g}')

Running it on my laptop, I get:
row slices:
5.90577, 9.49219e-07, ratio: 6.22171e+06
col slices
0.999165, 0.0456957, ratio: 21.8657

If I load the data with backed='r', the difference is not quite as stark, but it is still much slower:
row slices
6.04593, 0.0508553, ratio: 118.885
col slices
2.1715, 1.11327, ratio: 1.95057

Could you post the repr of the anndata object you were using? I'm curious about what elements are in it. If possible, I'd also like to grab a copy of the file so I can run some profiling using the same data.
I have a hunch about what's happening here now. I think this is expected, though we are working to cut down on the discrepancy. An important question, was this a regression?
The short version of what's happening is that taking a view of an AnnData object is much more complicated than taking a view of a numpy array, and I think it's always going to be a few orders of magnitude slower. I could go into more detail on this, if you'd like. I think this is going to be an extreme example, due to the particular statement being tested; indexing with a slice on a numpy array is super fast, anything being copied would be many orders of magnitude slower.
There are a few particular issues – how neighbor graphs are stored and raw – which make views of AnnData objects slower than they should be. We have a fix for the neighbor graph storage (they should go in obsp now, but we have to update scanpy to use that). raw would have to have views implemented.

Quotes from chanzuckerberg/cellxgene#1132:

No idea if it is a regression. We have always sliced X directly (at least as long as I've worked on the project - 2ish years). This is the first time - AFAIK - where we have been advised to switch to using the top-level adata slicing, and consequently this is the first exploration of the tradeoffs. Previously we used patterns found in ScanPy code, likely because they were more performant.

As I noted in the aforementioned issue, a "couple of orders of magnitude slower" is not going to work well in our use case (example: fetch X counts for a single gene).   As I suggested chanzuckerberg/cellxgene#1132, it would be super if the adata slice view was lazier, and did not do so much up-front work.   I suspect that if the overhead was <=2X, we would eagerly switch to this model, as it would simplify our own code base.
The object I tested on above (although most of my other test datasets show similar problems):
>>> adata = anndata.read_h5ad('../cellxgene-datasets/10x_mouse_13MM/10x_mouse_13MM_processed.h5ad')
>>> adata
AnnData object with n_obs × n_vars = 1305994 × 972
    obs: 'n_counts_all', 'n_counts', 'louvain', 'n_genes'
    var: 'gene_ids', 'n_counts', 'n_cells'
    uns: 'louvain', 'louvain_colors', 'neighbors', 'pca', 'rank_genes_groups'
    obsm: 'X_pca', 'X_umap'
    varm: 'PCs'

I will shortly send @flying-sheep and @ivirshup a link to the data via another channel (cziscience slack DM).

Just as a quick response, ~2X difference is what I get when X is sparse, and the cell by cell graphs are in obsp.
However, I'm not sure ratios is going to be the right way to look at this. I think it's good to give us a benchmark against a theoretical best, but really what we want is interactive speeds. For instance, one dataset with dense X, 10k cells, and 20k genes: adata.X[:100, :] takes 1 micro-second, adata[:100, :].X takes one milli-second. One's a thousand times slower, but I don't think it's noticeably slower for interactive usage.

fair enough, and I actually don't think of it as a multiplier.
reality is that I would expect that the absolute overhead of adata[...].X vs. adata.X[...] would be very little - on the order of creating a view object with no compute (so less than a 1us difference).
that said, I think our UI data serving can handle it if the difference is <50-100ms, regardless of slice type or size.

reality is that I would expect that the absolute overhead of adata[...].X vs. adata.X[...]  would be very little

I think we run into a problem of "what's taking the longest" here. A view object of an AnnData would at least need to at least create new indexes for obs and var, which means creating a new hash table for all the cell and gene ids. Depending on the indexing statement, numpy will either return a view or a copy. In terms of time taken: allocating and filling (m, n) array >> copying/ creating pandas index >> taking view of an array.
I took some preliminary benchmarks on my end, and have some thoughts on speeding this up. I've mainly been looking at the case of getting a single gene.
import scanpy as sc

adata = sc.read_h5ad("./data/10x_mouse_13MM_processed.h5ad")

adata_old = adata.copy()
adata.obsp["connectivities"] = adata.uns["neighbors"]["connectivities"]
adata.obsp["distances"] = adata.uns["neighbors"]["distances"]
del adata.uns["neighbors"]["connectivities"]
del adata.uns["neighbors"]["distances"]

%timeit adata_old[:, 10].X
# 289 ms ± 50.2 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
%timeit adata_old.X[:, 10]
# 1.01 µs ± 50.1 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

This isn't great. It get's better if we skip out on the old way of storing cell by cell graphs:
%timeit adata[:, 10].X
# 53.1 ms ± 1.48 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
%timeit adata.X[:, 10]
# 954 ns ± 40.1 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

Now we're back at an okay speed, but there's still a lot of a discrepancy. Trying to close that gap with specialized methods:
# Where "Spats2l" is the 10th gene by position
%timeit adata.obs_vector("Spats2l")
# 20.1 ms ± 1.16 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

I was suprised this wasn't faster, but it turns out that method is retuning a copy, not a view. So if we define an alternative method that returns views...

 obs_vector that returns views
def obs_vector(adata, k: str, *, layer: "Optional[str]" = None) -> np.ndarray:
        """\
        Convenience function for returning a 1 dimensional ndarray of values
        from :attr:`X`, :attr:`layers`\\ `[k]`, or :attr:`obs`.

        Made for convenience, not performance.
        Intentionally permissive about arguments, for easy iterative use.

        Params
        ------
        k
            Key to use. Should be in :attr:`var_names` or :attr:`obs`\\ `.columns`.
        layer
            What layer values should be returned from. If `None`, :attr:`X` is used.

        Returns
        -------
        A one dimensional nd array, with values for each obs in the same order
        as :attr:`obs_names`.
        """
        if layer == "X":
            if "X" in adata.layers:
                pass
            else:
                warnings.warn(
                    "In a future version of AnnData, access to `.X` by passing"
                    " `layer='X'` will be removed. Instead pass `layer=None`.",
                    FutureWarning,
                )
                layer = None

        if k in adata.obs:
            return adata.obs[k].values
        else:
            idx = adata._normalize_indices((slice(None), k))
            a = adata._get_X(layer=layer)[idx]
        if issparse(a):
            a = a.toarray()
        return np.reshape(a, np.multiply.reduce(a.shape))

This looks pretty fast:
%timeit obs_vector(adata, "Spats2l")
# 15.7 µs ± 308 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

I'd note this size of a speed up of this magnitude will likely only happen for dense arrays.
@flying-sheep, I also looked at what calls were taking up the most time using snakeviz. For the expression adata[:, 10].X, over 95% of the call was spent in pd.Series.cat.remove_unused_categories. This is probably worth looking into.

Merging the discussions: https://github.com/chanzuckerberg/cellxgene/pull/1132#discussion_r376830174

I'll drop the repr and other info into theislab/anndata#317.
And yes, we frequently take lots of small slices while incrementally fetching data for the UI tier. Example: fetch X for a single gene, to build a histogram of expression. The overhead in the current full adata slice would be a significant hit to our interactive performance.
No idea if it is a regression. We have always sliced X directly (at least as long as I've worked on the project - 2ish years). This is the first time - AFAIK - where we have been advised to switch to using the top-level adata slicing, and consequently this is the first exploration of the tradeoffs. Previously we used patterns found in ScanPy, primarily because they were more performant.
Couple of thoughts:
* what we really want, and why we implemented "MatrixProxy", is a very fast and light weight way to slice X, without materializing it, and return a consistent ndarray/spmatrix/DataFrame subarray of X.   In principle, full adata slicing is a great pattern, and would allow us to completely remove MatrixProxy (win!).   But it needs to be roughly the same speed as slicing X - ie, it should act more like a completely lazy view, and then only slice out the data requested (X in our case, could be other stuff in other use cases).

* The ScanPy code seems to break the same rules we did, probably for the same reason.  For example, see scanpy/tools/_rank_genes_groups.py where X is pulled from the adata, and directly sliced.

Is there a path to making adata[...].X roughly on par with adata.X[...]?

Looks like interesting progress!
Couple of comments/questions:

Being really lazy:

I think we run into a problem of "what's taking the longest" here.

Naively, I had imagined that a view could be super lazy, and defer this computation until it was really needed.  In this particular use case, given that the view is applied only to the X field, is there a way to only subset X and defer anything else until it is specifically requested?

Dense vs. Sparse:

I'd note this size of a speed up of this magnitude will likely only happen for dense arrays.

Can you elaborate?   For this particular case, where the request is only focused on the X indexing, I would have hoped that the overhead would be incremental to the cost of slicing X (sparse or dense).

I should have mentioned earlier - we also care about the same (relative) overhead in backed mode, as we have users who use that mode to load datasets larger than memory.   With anndata 0.6.22post1, it works great - would like to retain that.

1 ... Naively, I had imagined that a view could be super lazy, and defer this computation until it was really needed. In this particular use case, given that the view is applied only to the X field, is there a way to only subset X and defer anything else until it is specifically requested?

This is pretty much what we're doing. The only other thing we have to do is subset the obs_names and var_names indices so we can keep track of them (well, and the lingering issues with Raw and neighbor graphs in uns). This should always be pretty fast, just not as fast as taking a view of an array.

2 ... Can you elaborate? For this particular case, where the request is only focused on the X indexing, I would have hoped that the overhead would be incremental to the cost of slicing X (sparse or dense).

When you index into a np.ndarray in a way where you're taking data at regularly spaced intervals from the underlying memory, numpy returns a view. This means if you index with a slice or an int. You can read more on the numpy's rules for doing this here.
A view of a numpy array should just be a pointer to the initial array, some bytes of metadata, and some offsets. This is really really fast to make. If the memory being accessed by the view is contiguous (i.e. accessing a full row for C-ordered array), it's really really fast.
However, if you index with anything that numpy can't tell is a regularly spaced interval (i.e., an integer or boolean array) the subset of the array is automatically copied.
With sparse matrices, all indexing returns a copy.

3 I should have mentioned earlier - we also care about the same (relative) overhead in backed mode, as we have users who use that mode to load datasets larger than memory. With anndata 0.6.22post1, it works great - would like to retain that.

I think we've retained that. I've run some benchmarks for accessing backed data, and included the results in a table below. There are a number of speed increases, but no significant drops.

  The only other thing we have to do is subset the obs_names and var_names indices so we can keep track of them (well, and the lingering issues with Raw and neighbor graphs in uns). This should always be pretty fast, just not as fast as taking a view of an array.

Assuming I am understanding what "fast" index creation means (ie, <100ms for large datasets), this seems reasonable - as I mentioned previously, our interactive queries do have some extra time budget.    I think I can work around these issues in our computational routes.
Do you have a sense of when the raw/uns optimization might be slated for implementation?   I would love to clean up our indexing of adata in the next release.

Assuming I am understanding what "fast" index creation means (ie, <100ms for large datasets),

Just from a little experimenting at the repl, I think we're good on that. This should be more in the tens to hundreds of µs. In practice, I think implementation details in our code will be more of a weight, but those are the things we can get rid of as we identify them.

Do you have a sense of when the raw/uns optimization might be slated for implementation?

For uns, it's already there, it's just a matter of changing scanpy so neighbor graphs are stored in .obsm instead of .uns by default.
For raw, I'm not sure. @flying-sheep did you do something for this recently (2754720acd0a59d66718a906b55f3598931ccd40)?

Do you use uns for anything? You could probably just remove it from the object if you don't want it (i.e. del adata.uns or del adata.uns["neighbors"]).

#290 a bugfix, not a speedup. But I guess it shouldn’t be too slow either.

We do not use uns, so this work-around might do the trick.   Do you expect any issues if we were to apply this work-around to past releases of anndata (say anndata>=0.6)?
I'm going to benchmark this approach on a bunch of different datasets, and will be back in touch if I run into anything significant.   Initial results look very promising.

Do you expect any issues if we were to apply this work-around to past releases of anndata (say anndata>=0.6)?

I don't, but I should check this. My understanding is that uns would always be loaded into memory, and modifying it shouldn't change anything on disk unless .write is called. This is worth making sure of, since data loss from visualization would be pretty bad.

My understanding is that uns would always be loaded into memory, and modifying it shouldn't change anything on disk unless .write is called.

This is also my understanding (and what the docs say).  Same behavior if loaded with backed="r".  I have never seen any hint that this is violated.   I was primarily asking if there were any functional or semantics issues arising from deleting uns.
I've partially completed some tests, and so far this work-around looks great for 0.7.1 (still evaluating 0.6.22post1).

Testing the work-around on 0.6.22post1, the simple del adata.uns fails.  Is there an alternate formulation for the 0.6 generation?   It definitely appears that the performance difference between the slicing methods exists in 0.6.22post1.
Example failure:
# python
Python 3.7.6 (default, Dec 19 2019, 23:49:42)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import anndata
>>> anndata.__version__
'0.6.22.post1'
>>> adata = anndata.read_h5ad('10x_mouse_13MM_processed.h5ad')
>>> adata
AnnData object with n_obs × n_vars = 1305994 × 972
    obs: 'n_counts_all', 'n_counts', 'louvain', 'n_genes'
    var: 'gene_ids', 'n_counts', 'n_cells'
    uns: 'louvain', 'louvain_colors', 'neighbors', 'pca', 'rank_genes_groups'
    obsm: 'X_pca', 'X_umap'
    varm: 'PCs'
>>> del adata.uns
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: can't delete attribute

and packages in the venv:
# pip list
Package         Version
--------------- ------------
anndata         0.6.22.post1
h5py            2.9.0
natsort         7.0.1
numpy           1.18.1
pandas          1.0.1
pip             19.2.3
python-dateutil 2.8.1
pytz            2019.3
scipy           1.4.1
setuptools      41.2.0
six             1.14.0

Looking at the documentation, I suspect simply doing adata.uns.clear() would be more broadly compatible than del adata.uns.
Would appreciate your confirmation so I don't end up creating some other compatibility problem while fixing the existing one!

Quick results from testing the work-around on 0.7.1 and 0.6.22post1.
Recap -- am running the test for memory and file backed modes, on both dense and sparse-encoded X data. The test is approximately:

load adata
call adata.uns.clear()
time indexed access to X and obs, comparing adata[].X to adata.X[] (or equivalent for obs)

Functionally, the work-around seems to behave correctly in both 0.6.22post1 and 0.7.1 (caveat: superficial testing).
Problems noted:

0.6.22post1, backed=None -- adata[].obs is 30-40X slower than adata.obs[], taking multiple seconds longer for a slice.  It also uses a very large amount of transient memory, suggesting it is excessively copying something....
both versions, with backed='r' -- row slicing into X is exceptionally slow (not really usable).  This happens with both adata slicing methods -- ie, this problem is unrelated to this bug report.  The time to slice out multiple rows seems to grow linearly with the number of rows requested.    Column slicing in backed='r' mode isn't nearly as slow.

All else seems good.    On 0.7.1, the adata[] view is doing its job nicely, and while it adds some overhead, it is small enough to ignore when accessing X.
I am curious if the obs slicing degradation is expected in 0.6.22post1?

sorry, I accidentally closed the issue!

This is also my understanding (and what the docs say). Same behavior if loaded with backed="r". I have never seen any hint that this is violated. I was primarily asking if there were any functional or semantics issues arising from deleting uns.

Some methods in scanpy rely on values in uns, but those tend to be tools which store their data there. If you delete uns, those tools might error on this object, but data access and indexing should work fine.
For example, you probably wouldn't be able to run sc.pl.paga.

We do not use uns, so this work-around might do the trick. Do you expect any issues if we were to apply this work-around to past releases of anndata (say anndata>=0.6)?

So, I would like you to use a bit of uns (https://github.com/chanzuckerberg/cellxgene/issues/1152), so you could just get rid of parts that make it slow. This would be any sparse matrix in uns that has the shape (n_obs x n_obs), which in most cases would be in adata.uns["neighbors"], where I think del would always work.
Deletion methods were only recently added to attributes, so I think removing the "bad" elements from the dict would be more version safe.
Those benchmarks look like what I would expect, though performance with regard to column vs. row slicing will depend on the format of the dataset. I'd like to eventually get better off axis performance, but it's a bit far down the todo list. Here's a table of timings for different matrix formats:
note: for the "read_full_col" tests, it's actually reading about 10 columns, just one at a time.

time_read_full_col
time_read_full_row
time_read_many_cols
time_read_many_cols_slice
time_read_many_rows
time_read_many_rows_slice

('csc', 'after[fa7d1bf4]')
18.7±0.6ms
1.51±0.07s
6.84±0.5ms
25.9±2ms
221±3ms
234±8ms

('csc', 'before[75296bb2]')
1.08±0.05s
1.42±0.04s
112±3ms
111±0.6ms
233±20ms
230±10ms

('csc', 'ratio')
0.02
1.06
0.06
0.23
0.95
1.02

('csr', 'after[fa7d1bf4]')
1.52±0.01s
20.2±0.6ms
237±5ms
230±2ms
6.83±0.1ms
26.9±0.7ms

('csr', 'before[75296bb2]')
1.47±0.05s
1.11±0.03s
229±4ms
229±40ms
112±1ms
113±5ms

('csr', 'ratio')
1.04
0.02
1.03
1
0.06
0.24

('dense', 'after[fa7d1bf4]')
3.59±0.01s
7.05±2ms
754±9ms
409±8ms
968±100μs
2.31±0.3ms

('dense', 'before[75296bb2]')
3.67±0.05s
6.72±0.6ms
failed
402±20ms
failed
2.20±0.2ms

('dense', 'ratio')
0.98
1.05
nan
1.02
nan
1.05

you could just get rid of parts that make it slow. This would be any sparse matrix in uns that has the shape (n_obs x n_obs), which in most cases would be in adata.uns["neighbors"], where I think del would always work.

Looking at one test dataset (the one I sent earlier), the suggested test doesn't quite work:
>>> import anndata
>>> import scipy.sparse
>>> adata = anndata.read_h5ad('10x_mouse_13MM_processed.h5ad')
>>> adata
AnnData object with n_obs × n_vars = 1305994 × 972
    obs: 'n_counts_all', 'n_counts', 'louvain', 'n_genes'
    var: 'gene_ids', 'n_counts', 'n_cells'
    uns: 'louvain', 'louvain_colors', 'neighbors', 'pca', 'rank_genes_groups'
    obsm: 'X_pca', 'X_umap'
    varm: 'PCs'
>>> scipy.sparse.issparse(adata.uns['neighbors'])
>>> adata.uns['neighbors']
{'connectivities': <1305994x1305994 sparse matrix of type '<class 'numpy.float64'>'
        with 30278966 stored elements in Compressed Sparse Row format>, 'distances': <1305994x1305994 sparse matrix of type '<class 'numpy.float64'>'
        with 18287772 stored elements in Compressed Sparse Row format>, 'params': {'method': 'umap', 'n_neighbors': array([15])}}

It looks like the structure is more complex.
Given that we are not a library, and therefore I know all of the code paths and their needs, I'm thinking we are better off just deleting everything, perhaps augmented with a whitelist where some specific need arises.   We could do the same thing for adata.varm as a precaution.

@ivirshup one other thing I forgot to ask.    Is there a near-term plan & ETA for a fix for this, or is this work-around a long-term thing (for the foreseeable future)?  Either is OK - just trying to get a sense of how much this is a hack-around for us, vs. something I need to think through and keep clean.

[edit] "plan" meaning a fix for the anndata slicing perf issue, not the use of uns by ScanPy (mentioned above). I am guesing based upon your scanpy comment above that there is no intent to fix this behavior in anndata, and therefore all historical datasets will continue to manifest the issue?

That sounds right. We could potentially add tools for reformatting the object and suggesting users rewrite their files in scanpy.

@ivirshup one other thing I forgot to ask. Is there a near-term plan & ETA for a fix for this, or is this work-around a long-term thing (for the foreseeable future)? Either is OK - just trying to get a sense of how much this is a hack-around for us, vs. something I need to think through and keep clean.

For slicing, do you mean the off axis slicing for backed data? I've done some work on this, but have run into two issues which slowed this down. There're more details in this comment.
Otherwise, which specific slicing case you're talking about?

Otherwise, which specific slicing case you're talking about?

Sorry for being vague. I was referring solely to general impact that uns['neighbors'] has on all adata slicing.  I believe you indicated that there will be no fix, and the best we do, once ScanPy stops putting neighbor graphs into uns, is reformat historical datasets.
I acknowledge the off-axis backed slicing is a bigger challenge.

Scanpy now uses obsp, so this should be obsolete. https://github.com/scverse/scanpy/pull/1118

more a comment here: the slicing speed difference between adata[:,x].X and adata.x[:,x] is still here. the later is much much faster. use the later.


lazyredraw = true causes constantly increasing RAM usage

Describe the bug
When lazyredraw is set to true, typing : leads to constantly increasing RAM usage and constant unexpectedly high CPU usage.
Which version of Neovim are you using?
Neovim 0.8 (stable release) in xfce4-terminal. Same issue can be reproduced in NVIM v0.9.0-dev-55-gedc8a1f04 (one of the recent nightly) and kitty terminal.
To Reproduce
Steps to reproduce the behavior:

Create minimal init file (called, for example, 'noice_minimal.lua'):

-- Replace `packadd` arguments to actual plugin names in your 'pack' directory
vim.cmd('packadd nui')
vim.cmd('packadd nvim-notify')
vim.cmd('packadd noice')
require('noice').setup()
vim.o.termguicolors = true

vim.o.lazyredraw = true

Open Neovim with nvim -u noice_minimal.lua noice_minimal.lua.
Type :.

Expected Behavior
RAM usage and CPU is identical to hitting : without 'noice.nvim' set up.
Screenshots
Demo:
https://user-images.githubusercontent.com/24854248/195154839-9f06f341-b5de-4d00-bf30-e53199a87ba0.mp4
Couple of notes:

It might be an issue with 'nui.nvim', I am not sure.
I remember having same behavior when accidentally was setting a lot of extmarks over each other in buffer (so that effect was invisible) without cleaning its namespace.

Noice Log
:Noice log is empty.

There was already a discussion about lazyredraw, and how this setting is not compatible with noice.
https://github.com/folke/noice.nvim/issues/24#issuecomment-1269721094

There was already a discussion about lazyredraw, and how this setting is not compatible with noice. #24 (comment)

I see, thanks. It was so deep inside comments, that I didn't notice during search.
Still, didn't see a notification message about it being set. Probably, because it was set after setting up this plugin. Otherwise, don't mind this closed.

@echasnovski yep, must be the order. Closing this...


Bug: Issue with Add modal not closing

Issue:
When creating any record in QA other than a test summary, the Add modal doesn't close when data is added

Bug Fixed


False positive on slf4j-api:1.8.0-beta2

False positive on library slf4j-api:1.8.0-beta2.jar - reported as cpe:/a:slf4j:slf4j:1.8.0.beta
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-api</artifactId>
   <version>1.8.0-beta2</version>
</dependency>

The issue (CVE-2018-8088) has been resolved in 1.8.0-beta2, but dependency-check still flags the jar as vulnerable.

Is it an issue with the cpe/regex matcher? Anything I can do to help?

According to the CVE entry and the Jira ticket, it seems that the vulnerable class is present in slf4j-ext, not in slf4j-api

Noticing what dave-89 noticed above - EventData is not present in slf4j-api, nor does slf4j-api pull in slf4j-ext which contains EventData. I verified slf4j-ext is not being brought into our project, however, OWASP dependency-check-maven vulnerability scan is flagging slf4j-api anyways. Anyone have any ideas?

@reddyalready  "The issue (CVE-2018-8088) has been resolved in 1.8.0-beta2"
We are currently having the same issue and want to upgrade to a newer version. We were searching for a source but couldn't find any changelog anywhere.

I see the same issue as @eyecats mentioned. Even though we don't use slf4j-ext, OWASP dep-check reports CVE-2018-8088 for following libraries: jcl-over-slf4j-1.7.25.jar, jul-to-slf4j-1.7.25.jar, log4j-over-slf4j-1.7.25.jar, slf4j-api-1.7.25.jar. Appears to be false positive, as others noted above. Please add a comment, if someone noticed anything different with respect to this libraries.

I am getting false positives as well on slf4j-api-1.7.25.jar (I've checked my dependencies, the ext jar is not pulled in anywhere). I looked at one of my shaded jars to confirm:
     3833  03-16-2017 16:53   META-INF/maven/org.slf4j/slf4j-api/pom.xml
      986  03-16-2017 16:53   META-INF/maven/org.slf4j/jul-to-slf4j/pom.xml
     1126  03-16-2017 16:53   META-INF/maven/org.slf4j/log4j-over-slf4j/pom.xml
      959  03-16-2017 16:53   META-INF/maven/org.slf4j/jcl-over-slf4j/pom.xml

@Aiko-Klostermann see https://nvd.nist.gov/vuln/detail/CVE-2018-8088, where it states the issue was resolved in beta2


Event design phase1

Please review and comment.  Purposely light on some of the ceilometer details since I need to do some exploration there for the remainder of the week.
@slashk looking for any course correction
@stugots @lexjacobs looking for areas where you need more detail

Could use mock ups of dashboard elements referenced in design_docs/event-design-phase1.md


Cannot find proj.db

I am trying to use the ImportFromEPSG() method of the SpatialReference class, but I am getting the following error:
Error occurred: PROJ: proj_create_from_database: Cannot find proj.db

I should probably document this better ...
The most likely cause is :

The package (as it says) loads the gdal and proj data packages into the StreamingAssets folder,
GDAL needs to be told where to find the proj data package,
the package includes a version of the GdalConfiguration.cs script (see https://github.com/ViRGIS-Team/gdal-upm/blob/main/Runtime/Scripts/GdalConfiguration.cs)
A minimum program would look like:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using OSGeo;

public class test : MonoBehaviour
{
    void Start()
    {
        GdalConfiguration.ConfigureGdal();
    }
}

Thank you, I appreciate the quick attention to this issue. It was not clear to me from readme document that I needed to call that function, but your minimum working example helped me to understand my problem. Everything is working great now.
Cheers and gratitude for making this package available!


Remove Synchronized Lock

Which Issue(s) This PR Fixes

Enhance #2885
Brief Description

#2885 has optimized the lock performance with Spin Lock, then the synchronized lock around "swapRequest()" is redundant
How Did You Test This Change?

It has been fixed in develop branch. 4.9.x only provides security patches or critical fixes, so this pr should be closed.

Okay , I see

It has been fixed in develop branch. 4.9.x only provides security patches or critical fixes, so this pr should be closed.

Closed because of this @Tcytw


feat: network image retry

Should we do this for Image.network() ocurrences as well?

Should we do this for Image.network() ocurrences as well?

Done :)


Another Huge PR to refactor the conformer_generation module

Split up each task modules for better organization
Try to apply more OOP style. (there are still a lot can be done, e.g. better abstraction for the QM tasks)
Unify the behavior of optimizers/ts_optimizers and verifiers/ts_verifiers
Centralized computational environment management and workarounds for the case when some modules are missing
Add torsional-diffusion embedder and oa-reactdiff ts guesser (under testing)
Update the code format

Changes in #74 is included in the scope of this PR

As expected, fail Python 3.7 tests due to an import of a scipy module which is only available at Python >= 3.8.


Mention gelf extension

Hi,
Could you also mention https://github.com/mattwcole/gelf-extensions-logging as it's already mentionned here: https://github.com/aspnet/Logging#providers
Here https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/index?view=aspnetcore-2.1&tabs=aspnetcore2x#third-party-logging-providers
Thank you

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

ID: 7184a308-a254-9350-a5cd-5bced1f369ae
Version Independent ID: 726e3bf1-f367-d733-8933-bccc04da0e16
Content: Logging in ASP.NET Core
Content Source: aspnetcore/fundamentals/logging/index.md
Product: asp.net-core
GitHub Login: @ardalis
Microsoft Alias: tdykstra

Cross-ref: https://github.com/aspnet/Logging/pull/680


bug: Adding surround is not working (gsa" doesn't quotes the current word under cursor)

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
Latest release 10.8.2  879e295
Operating system/version
Windows
Describe the bug
the docs says to surround the current word under cursor use gsa but when using gsa" or gsa( it doesn't do anything
Steps To Reproduce
move the cursor to the word you want to surround in tags
type gsa"
Eg: Hello -> "Hello" .
But this does not work.
Expected Behavior
I found out gsaiw" works but then the docs should be update.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/LazyVim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Did you try reading the docs of the plugin? gsa is just a prefix to add surrounding, that accepts as input any valid vim text object motion (it's not just gsaiw" like in your case, but can be other things too). I don't believe it has anything to do with LazyVim docs. You can't expect the LazyVim docs to incorporate all the docs of the plugins it uses. Users should be encouraged to also read the docs of the plugins. That's why the LazyVim docs have a link to the github repo of each plugin if you click on the corresponding name of the plugin at the top of each section that describes a plugin.

Yeah, as stated, selecting what to surround with iw is the expected behavior of the plugin.
But i fell i got your point, at first there's no way to know it. Or really discover it, as you can in fact know reading docs, but come on, people don't, right?! 😆
I think the WhichKey has exactly this discoverability  role, and typing gsa could show the "selection" hint (same show for v, y, etc), to make clear user is in a "select what" state (the cursor does change to _ in this step, but that's kind of subtle)
And the "setting surrounding" step could also give some WhichKey hints (not just a Noice notification)
But seems like that integration is once again, plugin's responsibility right?!

The mode is shown by default in LazyVim (unless you customise your own Lualine and remove it). If you press gsa you will see that you're in mode O-PENDING. If you read :h Operator-pending, you will see that Neovim awaits for a text motion to specify the text that will be operated on. I think that which-key has no reason to provide any more visual hints as all information is available to the user. The only thing missing is the user properly reading the docs to know the answer that he needs. I believe that users should be encouraged to read the docs just like a lot of other people have already done and not take it as an offense when being told to actually read the docs (as I have seen in some examples). That's the whole reason the docs exist. To provide the users with answers. I'm sorry that I don't agree with your opinion, that's just what I personally think as a user.

I kind of don't agree with that "dead the docs" think
Sure that is important, and awesome how it's simplified to get it on vim
Still, it's a thing on good UX to have discoverability, where users can find (most of) what they need by minor experimentation at most (a said "case study" of what made iphone so popular back in the day)
And i don't think developer tools should be exception
WhichKey is a spectacular tool in that sense, and is a tool already at hand, that would sure not hurt to use at maximum
As 0-pending is a really less pronounced state change (no color even), i still think that would be a improvement
So i just made that a request on surround.mini if anyone else would find useful:
https://github.com/echasnovski/mini.nvim/issues/620

It's perfectly fine to have different opinions as long as each one respects the other.
I agree with the suggestions you made about the UX experience that could be improved.
Glad you made an issue at mini.surround, hope it gets approved by the maintainer of the plugin.

But seems like that integration is once again, plugin's responsibility right?!

If "plugin's" here means 'mini.surround', then I don't think so. Its responsibility is to switch to Operator-pending mode after gsa (or sa with default mappings) and wait for the textobject/motion. As is showcased in examples inside its help.

Hi @JonatasAmaral

At first there's no way to know it, or really to discover it, as you can in fact know reading docs, but come on, people don't, right?!

It goes without saying that one can use LazyVim without reading any documentation.
However:
When someone creates a bug report, one agrees to the following:
Before reporting an issue, make sure to read the [documentation](https://github.com/folke/LazyVim)
and search [existing issues](https://github.com/folke/LazyVim/issues).

Usage questions such as "How do I...?"
belong in [Discussions](https://github.com/folke/LazyVim/discussions) and will be closed.

Did you check docs and existing issues?

Make sure you checked all of the below before submitting an issue
I have read all the LazyVim docs *
I have searched the existing issues of LazyVim *
I have searched the existing issues of plugins related to this issue *

Some effort and investigation is necessary before creating a bug report in LazyVim. That includes obtaining a basic understanding* of the plugin at hand and vim in general.
@bijuli74,

the docs says to surround the current word under cursor use gsa but when using gsa" or gsa( it doesn't do anything

Could you link to that part of the docs? I don't see gsa being described as "surround the current word under cursor".

@bijuli74,
Kindly close this issue.


Updating servicebus readme for 7.0.0 version of SDK

The azure.core:azure-messaging-servicebus:7.0.0 SDK was released in December first week.
This change reflect readme update for this change.

Docs Build status updates of commit cbc6693:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/servicebus.md
:warning:Warning
View (azure-java-preview || azure-java-stable || azure-java-legacy)
Details

docs-ref-services/servicebus.md

Line 2, Column 1: [Warning-ms-prod-and-service] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.
Line 11, Column 16: [Warning-ms-prod-technology-invalid] Invalid value for 'ms.technology': 'azure' is not valid with 'ms.prod' value 'azure'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

@hemanttanwar I think you are confused as to what you're updating.
servicebus.md should be the service-overview for your service, see here.
Your readme is actually properly linked in here
Let's chat offline.

Docs Build status updates of commit 3275b64:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/servicebus.md
:white_check_mark:Succeeded
View (azure-java-preview || azure-java-stable || azure-java-legacy)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 4096ae0:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/servicebus.md
:warning:Warning
View (azure-java-preview || azure-java-stable || azure-java-legacy)
Details

docs-ref-services/servicebus.md

Line 66, Column 1: [Warning-hard-coded-locale] Link 'https://docs.microsoft.com/en-us/java/api/overview/azure/servicebus/client?view=azure-java-stable' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 39, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/java/api/com.microsoft.azure.management.servicebus?view=azure-java-stable
Line 66, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/en-us/java/api/overview/azure/servicebus/client?view=azure-java-stable

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 0466f6e:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-PullRequestMergeConflict] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/Azure/azure-docs-sdk-java, working directory: W:\lkbr-s, target branch: master, target branch commit: 30acd9f1cca3a3d3c19484b15a9915c9ad564cec, source commit: 0466f6e8c07790977b5ec30ce5056a8eaa35305b.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 9596ace:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/servicebus.md
:bulb:Suggestion
View (azure-java-preview || azure-java-stable || azure-java-legacy)
Details

docs-ref-services/servicebus.md

Line 39, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/java/api/com.microsoft.azure.management.servicebus?view=azure-java-stable
Line 66, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/java/api/overview/azure/servicebus/client?view=azure-java-stable

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit ed2bd24:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/servicebus.md
:bulb:Suggestion
View (azure-java-preview || azure-java-stable || azure-java-legacy)
Details

docs-ref-services/servicebus.md

Line 35, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/java/api/com.microsoft.azure.management.servicebus?view=azure-java-stable
Line 57, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/java/api/overview/azure/servicebus/client?view=azure-java-stable

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 9478974:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/servicebus.md
:bulb:Suggestion
View (azure-java-preview || azure-java-stable || azure-java-legacy)
Details

docs-ref-services/servicebus.md

Line 35, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/java/api/com.microsoft.azure.management.servicebus?view=azure-java-stable
Line 57, Column 1: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/java/api/overview/azure/servicebus/client?view=azure-java-stable

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 3d53ead:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/servicebus.md
:white_check_mark:Succeeded
View (azure-java-preview || azure-java-stable || azure-java-legacy)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


add benchmark of workload

What type of PR is this?

What this PR does / why we need it:
add benchmark of workload
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

goos: linux
goarch: amd64
pkg: kmesh.net/kmesh/pkg/controller
cpu: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz
BenchmarkHandleDataWithService-4   	  141820	      8246 ns/op
PASS
ok  	kmesh.net/kmesh/pkg/controller	1.483s

go test -bench . -benchtime 100x
goos: linux
goarch: amd64
pkg: kmesh.net/kmesh/pkg/controller/workload
cpu: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz
BenchmarkHandleDataWithService-4   	     100	     12300 ns/op
PASS
ok  	kmesh.net/kmesh/pkg/controller/workload	0.124s

/lgtm


sensor: Implement driver and tests for akm09918c

Add the implementation for the akm09918c magnetometer driver. Additionally, add the appropriate node to the TDK robokit1 device tree. In order to prevent regressions, add the sensor to the sensor build_all tests and specific tests using an emulator.

Latest push was a rebase

Tested and works well on the robokit


Fix group full name slashes

Groups are separated from projects by a backslash. Forward slashes do
not work in the Azure Dev Ops web UI in all places.
Backslashes are sometimes used to escape other Markdown characters, so
they're doubled here. They render as a single backslash.

@chwarr : Thanks for your contribution! The author, @KathrynEE, has been notified to review your proposed change.

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

Rebased against the current master commit, c0330b9a1.


Improve exception matching documentation

Explicitly state that the string argument its checked to be contained in the error message instead of to be the error message.

Summary

Test plan

Done! Waiting for CLA check


Markdown inserts a  after only one \n in the original text

I've noticed that if I write
hello
world

in an md file I get back

hello

world

Shouldn't the
 be omitted by default? This makes it difficult to use plain text word wrapping. I thought markdown ignored single "\n" characters exactly for that reason.

I don't know what configuration you are using.  If you are using Github's, then it will auto insert
 tags.  If you are using Python Markdowns version, then you will also get the same because by default it includes a number of extensions that give a Github feel.  People seem to like that out of the box, but obviously not everyone will, so you are welcome to change which extensions get included by default for the Python Markdown implementation.

This feature annoy me a lot too.
But you can ignore it by custom settings. Here is my setting:
{"enabled_extensions": ["extra", "magiclink", "delete","tasklist","githubemoji", "headeranchor", "superfences", "toc", "headerid", "meta", "sane_lists", "smarty", "wikilinks"]  // nl2br is removed}

Hope this solve your problem.

Looks like you have a solution, so I am closing this issue.


Remove --deploy-rethink-as-rc error message for pachyderm 1.4

I am working on a change to src/server/pkg/deploy/cmds/cmds.go that has the following warning message for users of --deploy-rethink-as-rc:
fmt.Println("--deploy-rethink-as-rc is no longer necessary (and is ignored). " +
		"The default behavior since Pachyderm 1.3.2 is to manage RethinkDB " +
		"with a Kubernetes Replication Controller. This flag will be removed " +
		"by Pachyderm's 1.4 release, so please remove it from your scripts. " +
		"Also see --deploy-rethink-as-stateful-set.")

We should make sure to delete this error message for the Pachyderm 1.4 release, as promised (making all uses of this flag an error)

No more rethink!


Renew eds.equinor.com SSL certificate

Follow @mimarz guide here: https://gist.github.com/mimarz/a1ebb8226a69393c3b9409a91e86a2d5

Case for new certificate has been opened in service-now


jps: Watch gopartyza.com

jps requests the watch of the watch_keyword gopartyza\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by VLAZ in Charcoal HQ

gopartyza\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.


[Community] Nominating Ye Cao (GithubID: dashanji)  for Fluid committer

Dear Fluid TOC members and maintainers,
I am proposing to have Ye Cao (GithubID: dashanji) as a new Fluid committer.
Ye Cao, is a software engineer at Alibaba, works in the TongYi team, focusing on distributed storage, cloud computing and AI platforms. He is maintainer of Vineyard, a
distributed in-memory data manager. He likes open source and is also a PMC member of Apache Skywalking.
The commit history: https://github.com/fluid-cloudnative/fluid/commits?author=dashanji
May 27, 2024
Support to configure the cache size of vineyard fuse.
Apr 9, 2024
Add the tutorial about how to use Vineyard runtime to accelerate the kubeflow pipelines.
Apr 4, 2024
Add the doc about how to use Vineyard runtime.
Jan 9, 2024
Implement Vineyard runtime engine and controller.
Dec 27, 2023
Add the controller and rbac yaml for Vineyard runtime.
Dec 22, 2023
Add the helm chart for Vineyard runtime.
Nov 24, 2023
Add the Vineyard runtime CRD definitions.
Nov 9, 2023
Introduce the Vineyard runtime to Fluid.
Talks/Presentations/Blogs
KCD Shanghai 2024: 助力大模型生产, Fluid与Vineyard携手打造kubernetes中的高效中间数据管理
Fluid Community Meeting talks: Use vineyard to accelerate kubeflow pipelines in the fluid platform
（https://github.com/fluid-cloudnative/community/wiki/Meeting-Agenda-and-Notes#20240118）
Fluid Community Meeting talks: Vineyard Runtime Design
（https://github.com/fluid-cloudnative/community/wiki/Meeting-Agenda-and-Notes#20231109）
Major contributions
Fluid v1.0.0:
Implemented A new runtime for sharing in-memory immutable data: VineyardRuntime is supported in Fluid.
https://github.com/fluid-cloudnative/fluid/issues/3528
https://github.com/fluid-cloudnative/fluid/pull/3555
https://github.com/fluid-cloudnative/fluid/pull/3624
https://github.com/fluid-cloudnative/fluid/pull/3659
https://github.com/fluid-cloudnative/fluid/pull/3649
https://github.com/fluid-cloudnative/fluid/pull/3982
Feel free to +1 or -1, starting with my +1.
Thanks,
Rong

+1

+1

+1

+1

+1


groundwork for mob programming on media handling

cd examples/media-handling; npm i; cds run
-> http://localhost.4004
delivers a

UI with

OData Uploader posting to /media/Pictures
List of stored Binaries

srv + db as found in https://github.com/pdominique/cap-media-node

Perhaps you can move the description on how to start it into a README.md file. I also had to run:
npm run buld
npm run deploy
without I got the error:
SQLITE_ERROR: no such table: MediaService_Pictures
And I also get this error:
No payload deserializer available for resource kind 'ENTITY' and mime type 'multipart/form-data'
Right now when I try to upload a PNG.
Maybe you can also include my REST Client test that @pdominique just merged into https://github.com/pdominique/cap-media-node/tree/master/srv/tests

I'll add a full-fledged README.md once this example is complete.
For the upload process: given that creating a media in this example is a 2-step process, requiring 2 http calls,
(first POST with a GUID, then adding content to the GUID via binary PUT)
question is how to handle this in an e2e scenario:

do both http requests from theUI5 FE (meh)
implement custom media handler in srv to first create the guid, then add the actual binary (yay!)

(I'll add your .http files and the Test.png)


Ingest ODIS Combiner logs in Grafana Cloud

Current state: We are currently exporting log based metrics defined in GCP to Grafana, but not the logs themselves.
Desired state: The combiner logs should be fully exported to grafana for consistency with the Signers and other services. We should redefine the existing log based metrics natively within grafana once this migration is complete.
Open questions: Should we just migrate the combiner infra to K8s? If so, this ticket will become obsolete as the logs will be exported in the same way that the Signer logs are exported.

The necessary steps to forward logs to Grafana with the Combiner staying a cloudfunction are here: https://grafana.com/docs/loki/latest/clients/promtail/gcplog-cloud/


⚠ Bofrost.be has degraded performance

In 68f15da, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1610 ms

Resolved: Bofrost.be performance has improved in 023eea9 after 13 minutes.


[CI testing] Test CI failures when doxygen logs warnings.

Investigation complete. Incorporating it into https://github.com/Azure/azure-sdk-for-c/pull/1133


Support latest LTS (2.28.0 ) release of mbedts

The #88 commit moved to mbedtls 3.0 but it seems MbedTLS has made 2.28.x the new LTS release.
It would be good to be able to support that in the psa-crypto and allow distros to build against their supported version of MBedTLS so that when there's CVEs in MBedTLS the psa-crypto pieces aren't affected and can just consume the distro updates directly.

Hi @nullr0ute !
The psa-crypto-sys crate can work with 2.28.x without any issues (at least from my checks) if you specify the MbedTLS include and lib directories as environment variables. The version that we have in the vendor submodule is used as a fallback if the library isn't available locally, and thus we need to link to it statically. Dynamic linking is only possible by setting MBEDTLS_LIB_DIR and MBEDTLS_INCLUDE_DIR. This applies to Parsec service builds as well.
If you'd like, we can also add some checks on the CI against 2.28.x of MbedTLS, either here or in the Parsec service.


SourcifyABILoader won't even attempt a partial match query

I'm not sure if this is intended behavior; basically, the SourcifyABILoader will first attempt a full_match query, then a partial_match query if the first one doesn't throw an error.
However, taking this contract on OP Mainnet for instance: 0x4200000000000000000000000000000000000042

Full match query: https://repo.sourcify.dev/contracts/full_match/10/0x4200000000000000000000000000000000000042/metadata.json
Partial match query: https://repo.sourcify.dev/contracts/partial_match/10/0x4200000000000000000000000000000000000042/metadata.json

With autoload, the full_match query will return a 404 error, which will have isSourcifyNotFound(error) return true.
This is a shame; since this will throw the error, it won't be able to attempt the partial match query, which would have actually succeeded, thus skipping straight to the selector lookup.
Is it the intended behavior? Because we end up with unnamed parameters, provided even that it could find the function selector in the database.
Maybe it could first attempt both the full_match and partial_match queries, and then throw an error only if both returned a 404 status?

@0xpolarzero Hmm this is not intended behaviour, thanks for flagging it. Definitely open to a PR if you'd like to try to fix it. :)
I'm trying to understand what's happening, so I'm going to rephrase what yo
Ou explained to make sure we're on the same page:

https://repo.sourcify.dev/contracts/full_match/10/0x4200000000000000000000000000000000000042/metadata.json gets hit first, which returns 404
This try/catch gets hit: https://github.com/shazow/whatsabi/blob/main/src/loaders.ts#L140-L142
 if (!isSourcifyNotFound(error)) throw error;
Since it's a 404, it should not throw (note the negating ! in front), and fall through to the partial block, no?

Is isSourcifyNotFound incorrect? Or am I confusing some other call flow condition?

@shazow Oh, I completely overlooked the ! in front, sorry about that... It should definitely get to the second block then. Thanks for making it clearer.
Please let me play with it a bit to try to exhibit the issue. I'll gladly submit a PR if I can find it!

@0xpolarzero Awesome, thank you!

@shazow Ok, that was due to a silly mistake/misunderstanding from my end, truly sorry for wasting your time...
The core issue was making the request from my Next.js app on the client side; the 404 status of the issue was due to the usual CORS header ‘Access-Control-Allow-Origin’ missing. I was too quick to attribute it to WhatsABI.
So basically, the request needs to be done on the server side—e.g. via an API route. Which unfortunately makes the use of the callbacks (onProgress, onError) not possible. But that's purely a React/Next/client components problem.
I'm not sure about that, but from my understanding, these are the few solutions (for documentation/in case anyone else faces this):

make the call (e.g. autoload) inside an API route, and just call that route from the client side—you won't be able to pass it any function, for instance a callback on error/progress;
serve the Sourcify server yourself with a flexible/customized CORS policy (see here);

@shazow I'll let you know if there is anything I believe might help/improve.
And yes absolutely, I was actually planning on sharing it to you very soon. It's a Tevm example, my PR is currently being reviewed. And I'm extending it in a personal app.
I'll send you the link with a TLDR + a Vercel preview once it's ready!

Very cool! @roninjin10 will be so hyped


watchEffect should not track watch's callback when the instance is not mounted

Version
3.2.23
Reproduction link
stackblitz.com
Steps to reproduce

change the select to key2 options

The select value is still key because the watchEffect has been called.
    watchEffect(() => {
      console.log('watchEffect');
      formData.value = options[0].value;
    });

And I find that the formData.value is track by watchEffect.(I think that is a bug because i don't get the value of formData.value in watchEffect and it shouldn't be tracked)
So I find the problem in the source code. Here is the code:
// from https://github.com/vuejs/vue-next/blob/20a361541c/packages/runtime-core/src/apiWatch.ts#L353
if (!instance || instance.isMounted) {
        queuePreFlushCb(job)
} else {
  // with 'pre' option, the first call must happen before
  // the component is mounted so it is called synchronously.
  job()
}

if the instance is not mounted, watch's callback will be called sync.
So in watchEffect , when I change the value of formData.value, it will trigger watch's callback sync, and then it will be track the formData in this effect. I think this is a bug.
Therefore, when first click the option key2 of select, it will still the key option.
And when you second click the option key2, It can be change corrently. The watch's callback will call async because the instance has be mounted.
What is expected?
watchEffect should not track watch's callback when the instance is not mounted
What is actually happening?
watchEffect track watch's callback when the instance is not mounted

I think it can be fixed in this way
if (!instance || instance.isMounted) {
  queuePreFlushCb(job)
} else {
  // with 'pre' option, the first call must happen before
  // the component is mounted so it is called synchronously.
  pauseTracking()
  job()
  resetTracking()
}

May I ask when to fix this problem？
Is it because my solution still has some problem and you need more time to think about it？

Because this is a low-priority edge case and we have other higher priority things to work on.


Don't generate code for transparent functions.

What's in this pull request?

Resolved bug number: (SR-)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

They are mandatory inlined anyway. Therefore the binary code of transparent functions is not used in most cases.
In case the address of a transparent function is taken, the main program (which deserialized the transparent function) generates code for it and treats it as shared function.
This reduces the stdlib code size by 2.8%.

@swift-ci Please test and merge


Update: TheDocumentFoundation.LibreOffice.HelpPack version <IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Domain Validation-No-Executables

@wingetbot waivers Add Validation-No-Executables


Values with decimal places are not taken into account correctly

Fixed in version 1.09.02
STR-Function is used to convert values.


Validate max price in spot instance request

What this PR does / why we need it:
Makes sure that we validate the max price field of the machine deployment spec when the aws instance is marked as spot instance.
Which issue(s) this PR fixes (optional, in fixes #<issue number> format, will close the issue(s) when PR gets merged):
Fixes kubermatic/machine-controller#1197
Special notes for your reviewer:
Optional Release Note:

None

/hold

/unhold
/retest
/lgtm

/unhold
/retest

/hold

/test pull-machine-controller-e2e-hetzner

/retest

/retest

/unhold
cc @kron4eg


Add Kubernetes manifest files for deploying CodeTrans

Description
Add Kubernetes manifest files for deploying CodeTrans.
Issues
n/a.
Type of change
List the type of change like below. Please delete options that are not relevant.

[x] New feature (non-breaking change which adds new functionality)

Dependencies
n/a.
Tests
Describe the tests that you ran to verify your changes.

Hi @lianhao & @daisy-ycguo , is it possible that we can reuse the yaml files under the common folder in GenAIInfra repo?  If yes, I suggest that we can use wget to obtain all necessary yaml files of this example from GenAIInfra repo. Does it make sense?


Misleading Document Title

Thank you for this information; I was hoping to be able to allow external members (contacts) of a distribution list group to be able to send email on behalf of the group, but apparently that isn't allowed.  Given that limitation, the title and first paragraph could be improved by using the term "users" instead of "members" because not all "members" can be set up that way.
[Enter feedback here]

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

ID: b725ac58-0fa5-9f7d-84fa-a8541477fe0e
Version Independent ID: f2acd0d0-60b8-0744-e241-06fb753aa5d1
Content: Allow members to send as or send on behalf of a Group
Content Source: microsoft-365/solutions/allow-members-to-send-as-or-send-on-behalf-of-group.md
Service: o365-administration
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

@steve-novanex Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/4340
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @steve-novanex Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Create Jashanbansal99.yml

Hi @Jashanbansal99 you must first enroll in the course and complete any required tests before you can request the digital certificate. Thanks!


Is this meant to be a clone of Ligi's FAST & FASTER?

https://github.com/ligi/FAST for a very mature codebase.…

This isn't meant to be a clone of anything, I had never heard of that project.

This isn't meant to be a clone of anything, I had never heard of that project.

Great minds think alike & all that, then.… ☺

Great minds think alike & all that, then.… ☺

Great minds think alike, stupid ones do too , even more often haha. But anyways, I'm just being silly.
hayai does look a lot like the project you've mentioned. But this is actually a utility commonly found in many platforms, so I guess we've cloned Windows start menu search feature for example.
I'm expecting these tools to be a little more than just a way to search apps in the future though.

 But anyways, I'm just being silly.
hayai does look a lot like the project you've mentioned. But this is actually a utility commonly found in many platforms, so I guess we've cloned Windows start menu search feature for example.
I'm expecting these tools to be a little more than just a way to search apps in the future though.


epoch parsing with timezone other than UST

hi, i think our epoch parsing is not working properly.
if we try to run test_epoch_seconds it would work but if we try changing the timezone to something like env::set_var("TZ", "EST") it would fail. it shouldn't be doing that right? because epoch's should be same even if we change the timezone.
i think it is happening because we are treating NaiveDateTime returned by from_timestamp_opt (which is in UTC) as local time in naive_dt_to_fixed_offset and i think we could fix it by treating it as UTC
if you guys think i'm right can i put together a pr with the necessary changes

If it's easy sure, otherwise we can defer this to the new parser.

it is a single line change i can put together a pr ASAP 😃, thanks


Swift 5 / SPM Support

This PR represents a significant restructure of the repository, but doesn't include any source changes. The focus is to address a couple key areas:

(SPM) Swift Package Manger support: The source files, tests, and examples have been added to their respective subfolders. Although not technically required, the SPM tool will work out-of-the-box with the given structure. A Package file has been added with the configuration to product a 'SwiftSignalRClient' library. Cocoapods usage will be unaffected, and the 'podspec' has been redirected to this new source folder. The source and tests can be run respectively from the command line using swift build, and swift test.
Swift 5 compatibility: The Package description/tooling has been updated with Swift 5 compatibility. The source is backwards compatible with previous versions of Swift use #if swift(>=5.0) statements where deprecations we're indicated. (Similar approach to the changes for swift 4.2).
Readme/Documentation: Added some examples and further documentation to the readme.

The SPM uses semantic tags for doing version checking. So every time the repository is tagged, that version is addressable by SPM. In other words... just keep using the tags for Cocoapods and SPM will be just fine. I've checked the Xcode project/workspace as well as the .Net solution and everything should build and run.
I've updated the podspec again pushing the version number to '0.5.0'. If you have any questions or concerns please let me know... Hopefully I'll be able to help address some of the other issues/requests in the future. This library has been a big help in a current project!

Thanks a lot for this contribution. It is looking good. I will merge it shortly. I will squash all commits before merging.

I played a little bit with your changes today and I have a few questions before I can merge:

right now to be able to open the code in xCode I need to run swift package generate-xcodeproj. Is there any reason why this file should not be just checked-in?
I can see that there is SignalRClient.xcworkspace in the Examples folder - is this workspace supposed to be used as the main project file/folder? If this is the case I find it odd that the main project file is in the Examples folder. Is this the pattern that is being used for projects using SPM? Could it live in the repo root folder?

swift test is super nice.

As far as I am aware, there are no standards in the approach to how to layout a framework/library repository (and even SPM has added more flexibility since it first launched). So many of the file regroupings I made are somewhat arbitrary.
Short answers to your questions are:

Is there any reason why this file should not be just checked-in?: no, not really
_ is this workspace supposed to be used as the main project file/folder?_: yes, can be
Is this the pattern that is being used for projects using SPM?: kinda yes
Could it live in the repo root folder?: sure

Longer answers, explaining my thoughts behind them:

I would imagine that the vast majority of people that are going to interact with the library are going to do so through a package manager (cocoapods/carthage/spm). So they many never see the layout of the repo, only the source files.
The layout of the repo reflects this. I collected the .xcworkspace ,.xcodeproject, and other secondary files in to the examples directory.
I consider the xcworkspace a secondary way to access the code because it is created and maintained using cocoapods (That also why I put the 'pods' directory into this folder).
This is also why it's not really needed to commit the SPM generated .xcodeproj file. Since this can easily be generated using the SPM tools it's easy enough for anyone to do that if they clone the repo. Plus there is no need to maintain two xcodeproject files that reference the same source. If you happen to add/remove files from the source, you would need to make sure that both of them are kept up-to-date.
I take a little inspiration from Apple's (https://github.com/apple) own swift repositories.

All of that being said, again, its your library, so if your more comfortable with having the folder structure more closely matching master, I'd be more than happy to make those changes update.

Thanks for a detailed answer. I don't have a lot of exposure to other Swift libraries and your response allowed me to learn a few new things. I also was not exactly sure what the new way of working on this code should look like which is now clear to me. Thanks again for your contribution.

It looks like you might need to push a 0.5 tag to your remote in order for SPM to work properly.
Here's what I get from calling swift package update on each respective repo:
moozzyk/SignalR-Client-Swift:
swift package update
Updating https://github.com/moozzyk/SignalR-Client-Swift.git
error: dependency graph is unresolvable; found these conflicting requirements:

Dependencies:
    https://github.com/moozzyk/SignalR-Client-Swift.git @ 0.5.0..<0.6.0

And then with..
swift package update
Fetching https://github.com/richardpiazza/SignalR-Client-Swift
Completed resolution in 1.31s
Cloning https://github.com/richardpiazza/SignalR-Client-Swift
Resolving https://github.com/richardpiazza/SignalR-Client-Swift at 0.5.0

Thanks for letting me know. The changes were merged last week but I have
not had a chance to try SPM yet. I will look into this shortly.
On Fri, Apr 26, 2019 at 9:45 PM Anuj<EMAIL_ADDRESS>wrote:

It looks like you might need to push a 0.5 tag to your remote in order for
SPM to work properly.
Here's what I get from calling swift package update on each respective
repo:
moozzyk/SignalR-Client-Swift:
swift package update
Updating https://github.com/moozzyk/SignalR-Client-Swift.git
error: dependency graph is unresolvable; found these conflicting requirements:
Dependencies:
https://github.com/moozzyk/SignalR-Client-Swift.git @ 0.5.0..<0.6.0
And then with..
swift package update
Fetching https://github.com/richardpiazza/SignalR-Client-Swift
Completed resolution in 1.31s
Cloning https://github.com/richardpiazza/SignalR-Client-Swift
Resolving https://github.com/richardpiazza/SignalR-Client-Swift at 0.5.0
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/moozzyk/SignalR-Client-Swift/pull/47#issuecomment-487254522,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAK7JJCLZLLCEVQFFP3SLXLPSPK53ANCNFSM4HCR3COQ
.

@anujb Until the '0.5.0' tag is added, you can also set the package dependency to a branch, like this:
.package(url: "https://github.com/moozzyk/SignalR-Client-Swift", .branch("master")),.
There are many ways to specify a specific version of a swift package. They can all be found https://github.com/apple/swift-package-manager/blob/master/Documentation/PackageDescriptionV4.md#dependencies

@richardpiazza Thanks for clarifying.
I'd also love to understand how to consume packages from SPM. There doesn't seem to be an .xcodeproj in .build/checkouts and there doesn't seem to be a clear mechanism defined in the documentation for consuming these projects within the context of an iOS application?

@anujb A .xcodeproj file can be generate using the swift package generate-xcodeproj command in the root directory (the same directory with the Package.swift file). Since Xcode has no native support for SPM yet, you can create a workspace and drag in a reference to the 'SignalRClient.xcproject' file, then link the library from the project into your iOS App project.

@richardpiazza I tried that but ended up getting an error due to what is likely a path issue in the target:
'Eva' /Users/anuj/projects/ios/Eva/ios/Eva: error: could not find source files for target(s): Eva; use the 'path' property in the Swift 4 manifest to set a custom target path```

Maybe you could post up a sample Package.swift that you would use in your Xcode iOS application?

Happy to submit a PR that documents this process to make it easier for future Swift-SignalR folks :-)

FYI, I pushed the 0.5.0 tag.


Fix typo and rebuild.

Fix typo in index.ts and types.ts

rename CreateOneAccoutResult to CreateOneAccountResult

Thanks for the edit.
Merged!


Add a simple linter for snippets

Should check basic things like:

Consistent use of " vs '
Consistent use of (parens) =>  for single-argument arrow functions

Should not attempt to adjust indentation or line breaks anywhere, snippets often need to break those conventions.

@samtstern

I'm working on this issue.

I believe this was fixed here:
https://github.com/firebase/snippets-web/pull/75
Of course we'd welcome more lint rules!


Pool tag helper builders

This PR introduces object pools for each sort of builder that is used to produce TagHelperDescriptors. The primary change related to this is returning the fields of each to a default state of each builder before they are returned to the pool. The rest of the change is primarily updating all of the places in the compiler and tooling that used to call TagHelperDescriptorBuilder.Create(...) to now call TagHelperDescriptorBuilder.GetInstance(...) and TagHelperDescriptorBuilder.ReleaseInstance(...). Over time, this should improve allocations at design-time by ensuring that we don't always create new builders for every descriptor.

@dotnet/razor-compiler: Let me know if you're good with this PR. I'll need a second compiler checkmark to merge.


COI: Error message improvements

AC

[ ] Change this

to

All Employee Acknowledgements are mandatory - Select all items

[ ]. Add quotation to the questions like shown below

Please fix the following errors before submitting.
"1. Your job duties or activities relevant to the possible conflict" is required
"2. Your private interests relevant to the possible conflict" is required
"3. A description of the steps you will take to mitigate this possible conflict" is required
"5. Are you disclosing personal information related to a third party? If you are disclosing personal information of a third party you must obtain their permission before making your disclosure. You may also attach other relevant documents." is required

Checkbox Components display the banner message with a colon between the component label and the component error.  While the field level error message only shows the error message AND NOT the field label. This is different from other components.
The other fields in this ticket display the errors correctly now.

Error messages are fixed:

looks good


Directory Location... is invalid. Could not detect this directory... Azure DevOps Release pipeline error.

Please advise, Deploy Azure Static Web App task fails in Release pipeline with the following error message:
App Directory Location: '/home/vsts/work/r1/a/104' is invalid. Could not detect this directory. Please verify your deployment configuration file reflects your repository structure.

The static website files are ready for deployment in the following location: $(System.DefaultWorkingDirectory)/$(Build.BuildId)
Here is what the task looks like:

Log file:

2021-08-19T18:03:46.1394528Z Digest: sha256:1178ebb826c67e41e72ce54b9031160ab03f6ab9d55844293ca41c4f7ac28016
2021-08-19T18:03:46.1409859Z Status: Downloaded newer image for mcr.microsoft.com/appsvc/staticappsclient:stable
2021-08-19T18:03:46.5712069Z DeploymentId: 51ea21ce-de6a-4888-9d54-678b62830803
2021-08-19T18:03:46.5713542Z
2021-08-19T18:03:46.6740985Z App Directory Location: '/home/vsts/work/r1/a/104' is invalid. Could not detect this directory. Please verify your deployment configuration file reflects your repository structure.
2021-08-19T18:03:47.2546781Z
2021-08-19T18:03:47.2547637Z For further information, please visit the Azure Static Web Apps documentation at https://docs.microsoft.com/en-us/azure/static-web-apps/
2021-08-19T18:03:47.2548655Z If you believe this behavior is unexpected, please raise a GitHub issue at https://github.com/azure/static-web-apps/issues/
2021-08-19T18:03:47.2549259Z Exiting
```

Found a workaround. Big thanks to @clairernovotny : https://github.com/microsoft/azure-pipelines-tasks/pull/14807#issuecomment-868593099

Set source directory in a preceding task:

# Set this variable as the AzureStaticWebApp task is hard coded to read it.
echo '##vso[task.setvariable variable=BUILD_SOURCESDIRECTORY]$(System.DefaultWorkingDirectory)'

Instead of $(System.DefaultWorkingDirectory)/$(Build.BuildId) use $(Build.BuildId)

I think this is still a bug. Locations do not behave like they do in other Release tasks.
Thank you.

We've introduced a parameter to specify the working directory (workingDirectory). It will default to SYSTEM_DEFAULTWORKINGDIRECTORY , this should resolve to the correct default locations for both build and release pipelines.
app_location and api_location are relative to the working directory. We understand this is different than what one might expect in Azure Pipelines. We're currently not able to change this behavior but will be updating the help text to call this out.

The workaround above didn't work for me. I had to re-download the artifacts into the pipeline workspace "s" folder ahead of time since I couldn't redirect the path to the typical pipeline workspace folder using "../" in the AzureStaticWebApp task. Figured this out where it was trying to search for the app location using a 'pwd' Bash command ahead of the task. Here's my download task:
- task: DownloadBuildArtifacts@0             displayName: Download Build Artifacts             inputs:               artifactName: app               downloadPath: $(Pipeline.Workspace)/s


Minimum python requirement question

What is the minimum python requirement when using version 0.50.0?  I see it specifies python 3.6 in the classifiers section, but then python_requires specifies python >3.6.
https://github.com/MGHComputationalPathology/dicomweb-client/blob/eb24ea2e8bd56584606eea718f02acd00f3f9962/setup.py#L31-L34
https://github.com/MGHComputationalPathology/dicomweb-client/blob/eb24ea2e8bd56584606eea718f02acd00f3f9962/setup.py#L49

@jamesobutler Thanks for catching this. It's supposed to be python_requires>=3.6. I have fixed it with f1167c893d82cbfa9d3cd7a7ffc1272386b6cb85.

I see that you've bumped your package release to 0.50.2 with this fix.  Do you plan on updating the package release on pypi as well? https://pypi.org/project/dicomweb-client/

Yes :) Here you go: https://pypi.org/project/dicomweb-client/0.50.2/

Great! Thanks!


Create Work Item Link Type concept in Work Item Type

Defines possible associations between different work items
Expose links field in system.* work item types

@aslakknutsen @maxandersen @tsmaeder just like with work item type I'd say we create link types in the database and link to them from the links between work items.
The naive approach to this would be to have a table that list the names of links, that can be extended by the user:

block
relates
depends
...

I see many problems with this approach:

The UI needs to be generic to show such link types.
We do want the user to define link types, don't we?
Link types like block or depend are equivalent in some way or another.
How do we handle translation for such link types?

This is only to mention a few. Do I miss some specification on how these link types shall look like?

@kwk There are a couple of different levels of 'links'. The ones referred to as Work Item Type Links describe the hierarchy of the different Work Item Types, e.g. can a Feature be a child of an Experience. The PDD talks about this in "Value Proposition 1603V007" and "Experience 1603E008". How these links work should be controllable by the user. Re-reading the PDD now, we're actually missing quite a few things to implement them. E.g. a Project, a Process Definition. Not sure if it makes sense to attempt to complete this part of it.

The way I have been looking at it, and I am not sure if this helps... the
Work Item Links are the day to day references of a relationship that exists
between work items. The Hierarchy is more focused on the business needs and
higher level organization of the product. This is how I have rationalized
it...
Does this help at all?
On Tue, Oct 4, 2016 at 1:13 PM, Aslak Knutsen<EMAIL_ADDRESS>wrote:

@kwk https://github.com/kwk There are a couple of different levels of
'links'. The ones referred to as Work Item Type Links describe the
hierarchy of the different Work Item Types, e.g. can a Feature be a child
of an Experience. The PDD talks about this in "Value Proposition 1603V007"
and "Experience 1603E008". How these links work should be controllable by
the user. Re-reading the PDD now, we're actually missing quite a few things
to implement them. E.g. a Project, a Process Definition. Not sure if it
makes sense to attempt to complete this part of it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/almighty/almighty-core/issues/323#issuecomment-251451690,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwq1b3xZ1hYTDUUgY55Xt0x5cDAtwrks5qwokvgaJpZM4KK6Sy
.

@aslakknutsen @Mgranfie I second that. I read the PDD as some kind of process (automation?) on top of the generic model. But anyway, we have to start small and build complexity over time. The only thing we can do is making sure everything is making always sense in terms of the elephant picture and keeping refactoring and throwaways to a minimum.

Isn't the hierarchy of workitems as follows?:
Scenarios
|---Value Propositions
|---Experiences
|---Features
Dependency-related links for workitems would traverse up and down the hierarchy. The interesting links are the "related to" links between worktems:

How many levels deep do we want to support for these links?
And how do we display these (potentially many) links visually?)

Please see my design proposal https://github.com/almighty/almighty-devdoc/pull/86

Closed by #421


A typo Report

In the directory "/ transport / factory. Go", lines 20 and 26 use "UDP" instead of the corresponding protocol

tcp and tls are yet to be implemented... it's just a place holder for now i guess

OK, I'm still a novice. Forgive me for my abruptness.

it wasn't abrupt it was a good spot !! you are more than welcome to contribute :)


makepad: everything in a website done with webgl

Sorry if this isn't the right place for this. Thought you all should know about it: https://www.youtube.com/watch?v=Xr6dtXw0Ipg.
https://makepad.github.io/makepad.html
It would be awesome to just do everything with a webgl renderer, but this makepad guy doesn't want to support any open source projects. Would be awesome if some people in this community could make some of the makepad features more community driven. I know I'd like to once I'm a bit more skilled.

Cool! Looks like a fun project, but I'm not sure it's scope for regl, which is more concerned with supporting a small functional abstraction over the WebGL API. Feel free to comment back here if you drum up any ideas or projects for that.


How to set default values in sortable list or options list?

Problem Description
I want the sortable list or option list to be pre-filled with some default values, but I can't able to do that. I don't know the exact way to pass the default values in this field type. I tried using array but it throws an error.
Steps To Reproduce

$fields['checkbox_options'] = array(
'label'           => esc_html__( 'Options', 'et_builder' ),
'type'            => 'sortable_list',
'checkbox'        => true,
'option_category' => 'basic_option',
'toggle_slug'     => 'field_options',
'right_actions'   => 'move|link|copy|delete',
);
Like this is the field, and i want to add a default list in it. I tried using arrays, string in the 'default' index of this array but can't able to get the default list.
Screenshot and/or gif

I tried using json encode and it worked.

Hi @khurana-ankur, I have encoded the array but the fields are not editable (they are readonly and you can't type).
This is my default array:
$defaults = array(array('List Item 1'), array('List Item 2'));
And my default value:
'default'  => json_encode($defaults),
Seems like something is wrong, can you help me out here? TIA

Never mind. I will handle the values in the render function.


KAFKA-12357: Do not inline methods from the scala package by default

As mentioned in #9548, users currently use the kafka jar (core module)
for integration testing and the current inlining behavior causes
problems when the user's classpath contains a different Scala version
than the one that was used for compilation (e.g. 2.13.4 versus 2.13.3).
An example error:
java.lang.NoClassDefFoundError: scala/math/Ordering$$anon$7
We now disable inlining of the scala package by default, but make it
easy to enable it for those who so desire (a good option if you can
ensure the scala library version matches the one used for compilation).
While at it, we make it possible to disable scala compiler optimizations
(none) or to use only method local optimizations (method). This can
be useful if optimizing for compilation time during development.
Verified behavior by running gradlew with --debug and checking the
output after [zinc] The Scala compiler is invoked with:
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@chia7712 I was thinking to include this in 2.8 since it's low risk and it fixes a regression when it comes to writing integration tests with Kafka.

@chia7712 For better or worse, libraries like https://github.com/embeddedkafka/embedded-kafka are often used. And there isn't a great alternative. Getting an exception when there's a mismatch in the patch version of scala-library is pretty surprising. It seems better to aim for ease of use until there's a better way of handling this. Would you agree?

It seems better to aim for ease of use until there's a better way of handling this

make sense. be a friendly libraries :)

Merged to trunk and 2.8 branches.


Error! Could not extract strings from Code in directory 'xxxx'.

It's success on my mac. But error on my friend's computer.
How to fix it?

Could you provide more info, like what the complete command is you are running including the options? And if it is working for you but not your friend, can you check what version of BartyCrouch you and your friend are running?

Closing this due to inactivity. Will reopen if more information is provided for reproducing the issue.

I have the same problem. I have a project configured with BartyCrouch which depend of other one also configured with BartyCrouch

Thank you @asam139 for the comment. Could you provide a demo project where this is happening so I can investigate the issue? You could also send me something to<EMAIL_ADDRESS>if you need to keep it private.

Sorry for delay, I cannot share the project because it is of a private company.
I can help saying that the localizable.strings files are in the same folder with classes and other files.
can this be a problem?

@asam139 I don't think that that should be an issue, it should still work. Without a demo project, I can't help, really. Maybe you can create a demo project setup and reproduce the error there and send me that project?

I will try to reproduce it in a test project. I have been able to fix it grouping classes and files in a subfolder :)

I was having this exact problem.
I got it fixed by running:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer


Positioned loader spinner to center of the page

Closes #742
Description:
Initially, the loader spinner was at the top of the page. So this pr positions the loader spinner to the center of the page.

@narayan954 Could you please add level label to this pr?

@narayan954 Could you please add level label to this pr?

sure


access: Trybot Access and GitHub ("go-approvers") Access

I would like to get

Gerrit Trybot Access ("may-start-trybots")  and
Ref: https://go-review.googlesource.com/#/admin/groups/1030,members
GitHub Editors Access("go-approvers")
Ref: https://github.com/orgs/golang/teams/go-approvers

Gerrit Contributions: https://go-review.googlesource.com/q/owner:r.visweswara%2540gmail.com
Thanks.

Hi @viswesr. Thanks for your interest in contributing.
You can contribute to gardening issues without having the permissions above (golang.org/wiki/Gardening). Keep in mind that gopherbot allows you to label issues without GitHub permissions. Since you've only been involved with 5 issues so far (https://github.com/golang/go/search?q=involves%3Aviswesr&unscoped_q=involves%3Aviswesr&type=Issues) and 8 changes, it seems premature to provide Trybot access and GitHub permissions at this time.
Let me know if you have any questions.


Remove Istio v1

Istio v1 was deprecated in 2.5.0, and therefore will be EOL as of 2.7.0. It should be removed/disabled.

Chart is already hidden so that it cannot be used.  When we work on 2.7 we can remove the entire v1 catalog.  Longhorn is the only team with a chart still available.

Istio v1 chart is still working on rancher v2.7-head. This is not accepted behaviour. v1 Istio chart should not work on rancher v2.7-head.

Tested the CIS benchmark chart removal as follows.
Tested the current issue with following steps.

Create a rancher server v2.6.8 that supports v1 charts.

Provision a k8s cluster that supports v1 charts.

Enabled the Legacy feature from Global Settings.

Enabled V1 monitoring and Istio charts from Cluster Tools.

Made sure the charts are working as expected.

Upgrade to rancher server v2.7.0-rc3.

Istio was still working after upgrade.

Disabled only the istio chart from Cluster Tools. Istio was disabled successfully.

Tried disabling the monitoring but the didn't work, Saw the following message while trying to disable the Monitoring chart.

As expected, the re-enabling of istio was not possible, saw the following error.

Istio V2 chart  was not visible in the Apps.

Removal of Istio v1 chart is still not working as per expectation.


Android 32bit not support?

Unity 2019.4.13f1
Call Demux.WebPAnimDecoderOptionsInit Samsung Galaxy J7 Error
Unable to find webpdemux
DllNotFoundException: Unable to load DLL 'webpdemux': The specified module could not be found.
at WebP.NativeWrapper.Demux.Demux.WebPAnimDecoderOptionsInitInternal (WebP.NativeWrapper.Demux.WebPAnimDecoderOptions& data, System.Int32 version) [0x00000] in <00000000000000000000000000000000>:0
help me!

Hello, I had the same error on Samsung Note 10+. It began to works after I changed the Project Player Settings to scripting backend IL2CPP and enabled the checkbox Target Architectures ARM64:

@gindemit ‘s suggestion can work, because v8 is working, but v7 is still not work. I try to unzip the finall output apk, find out that, \jniLibs\armeabi-v7a has not libwebpdemux.so & libwebpmux.so & libwebpdecoder.so.
maybe v7 libs have problem, so Unity remove related webp related libs.


Opt-out from notifications / letting friends be notified that you are present

Description:
A user may not want to be notified that one of their friends is within their proximity. Similarly, a user may not want to notify others that they are present at a certain location.
Expected Outcome:
This feature should ensure that the user has the option to toggle notification settings. They should be able to ensure that they don't receive notifications when a friend is present; Similarly, they should have the option to disable sending out notifications entirely, or should be able to only toggle certain friends to receive a notification.
Alternative Solutions:
There is no other solution to this, this is a feature that either works or doesn't work.
Verification:
Place a specific amount of friends in one location, and verify that all conditions are met based on what the user selects (doesn't receive notifications / doesn't send any notifications / selectively sends notifications)

I worked on the opt-out from notification part. I added toggle button for friend notification to opt in and opt out in the setting page of the OSM app. When the button is turned off, the toast notification will not show up.