Upgrade @typespec/compiler version to next

Description:
Upgrade @typespec/compiler version to next causing LoadTestService generation failure
repro step:

Update package.json as follow:

{
  "name": "azure-rest-api-specs",
  "devDependencies": {
    "@azure-tools/typespec-apiview": "0.4.9",
    "@azure-tools/typespec-autorest": "0.45.0-dev.3",
    "@azure-tools/typespec-azure-core": "0.45.0-dev.3",
    "@azure-tools/typespec-azure-portal-core": "0.44.0",
    "@azure-tools/typespec-azure-resource-manager": "0.45.0-dev.4",
    "@azure-tools/typespec-azure-rulesets": "0.45.0-dev.1",
    "@azure-tools/typespec-client-generator-cli": "0.9.3",
    "@azure-tools/typespec-client-generator-core": "0.45.0-dev.5",
    "@azure/avocado": "^0.8.4",
    "@typespec/compiler": "0.59.0-dev.7",
    "@typespec/http": "0.59.0-dev.4",
    "@typespec/openapi": "0.59.0-dev.1",
    "@typespec/openapi3": "0.58.0",
    "@typespec/rest": "0.59.0-dev.1",
    "@typespec/versioning": "0.59.0-dev.3",
    "azure-rest-api-specs-eng-tools": "file:eng/tools",
    "oav": "^3.3.7",
    "prettier": "~3.2.5",
    "typescript": "~5.4.5"
  },
  "private": true
}

Run npm i -g @typespec/compiler and npm i
Enter the specification/loadtestservice/LoadTestService folder, and run npx tsp compile client.tsp

Error log:

Fix in this pr https://github.com/Azure/azure-rest-api-specs/pull/30005


Cannot Access Response Headers in Angular.js for XHR requests from http.post()

In our single-page app, we have some services that need to parse response headers of issued http requests to work. it seems that these are not available when executed by phantom:
$http.post(...').then( function(data){
var location = data.headers('Location');
// ...
in a browser, the location header is available, inside phantom it's null. the post request returns 200 OK, not a redirect.
is there something about headers that can be tuned, or is that a bug in handling redirects, or intentional behaviour?

Interesting. I haven't seen this before and I've seen PhantomJS send headers just fine. Is there a public URL you can email me so I can test this and see what PhantomJS is showing when I try it? You can email me at<EMAIL_ADDRESS>if you want to keep the URL private.
Thanks!

Thanks! I'm trying locally but can reproduce with an external URL, will email you.

I've opened https://github.com/ariya/phantomjs/issues/13200 for this, as it seems to be a problem with phantomjs rather than prerender.


UnboundLocalError: local variable 'is_global' referenced before assignment

Hello,
I am trying to run spectra using cell type labels:
import Spectra
import scanpy as sc
import pandas as pd
import numpy as np
import cytopus as cp

#subset my dataset from cytopus
G = cp.KnowledgeBase()
celltype_of_interest = ['T']
global_celltypes = ['all-cells','leukocyte']
G.get_celltype_processes(celltype_of_interest,global_celltypes = global_celltypes,get_children=True,get_parents =False)
annotations = G.celltype_process_dict
annotations = G.celltype_process_dict

#Run spectra
model = Spectra.est_spectra(
    adata=adata,
    gene_set_dictionary=annotations,
    use_highly_variable=True,
    cell_type_key="predicted.celltype.l1",
    use_weights=True,
    lam=0.1, #varies depending on data and gene sets, try between 0.5 and 0.001
    delta=0.001,
    kappa=None,
    rho=0.001,
    use_cell_types=False,
    n_top_vals=50,
    label_factors=True,
    overlap_threshold=0.2,
    clean_gs = True,
    min_gs_num = 3,
    num_epochs=5000
)

It finishes the process, but gives the following error:
Cell type labels in gene set annotation dictionary and AnnData object are identical
removing gene set T for cell type global which is of length 14 0 genes are found in the data. minimum length is 3
removing gene set global for cell type global which is of length 150 0 genes are found in the data. minimum length is 3
Your gene set annotation dictionary is now correctly formatted.
/home/ubuntu/anaconda3/envs/scFates-gpu/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3464: RuntimeWarning: Mean of empty slice.
  return _methods._mean(a, axis=axis, dtype=dtype,
/home/ubuntu/anaconda3/envs/scFates-gpu/lib/python3.8/site-packages/numpy/core/_methods.py:192: RuntimeWarning: invalid value encountered in scalar divide
  ret = ret.dtype.type(ret / rcount)
100%|██████████████████████████████████████████████████████████████████████████████████| 5000/5000 [38:15<00:00,  2.18it/s]
---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
Cell In[12], line 1
----> 1 model = Spectra.est_spectra(
      2     adata=adata,
      3     gene_set_dictionary=annotations,
      4     use_highly_variable=True,
      5     cell_type_key="predicted.celltype.l1",
      6     use_weights=True,
      7     lam=0.1, #varies depending on data and gene sets, try between 0.5 and 0.001
      8     delta=0.001,
      9     kappa=None,
     10     rho=0.001,
     11     use_cell_types=False,
     12     n_top_vals=50,
     13     label_factors=True,
     14     overlap_threshold=0.2,
     15     clean_gs = True,
     16     min_gs_num = 3,
     17     num_epochs=5000
     18 )

File ~/anaconda3/envs/scFates-gpu/lib/python3.8/site-packages/Spectra/Spectra.py:1314, in est_spectra(adata, gene_set_dictionary, L, use_highly_variable, cell_type_key, use_weights, lam, delta, kappa, rho, use_cell_types, n_top_vals, filter_sets, label_factors, clean_gs, min_gs_num, overlap_threshold, **kwargs)
   1311 #labeling function
   1312 if label_factors:
   1313     #get cell type specificity of every factor
-> 1314     if is_global == False:
   1315         celltype_dict = get_factor_celltypes(adata, cell_type_key, cellscore=spectra.cell_scores)
   1316         max_celltype = [celltype_dict[x] for x in range(spectra.cell_scores.shape[1])]

UnboundLocalError: local variable 'is_global' referenced before assignment

Hi, it seems that the genes defined in the annotations variable are not found in your adata object, this causes the error that you're seeing. We'll implement a more verbose warning in the next patch, thanks for raising this issue.
To solve this, ensure that the gene names in adata.var_names match your annotations. Cytopus uses capital letters only for genes, without spaces or special characters (for example STAT6, RAB1A, ..). Please let me know if that helped.

Hi. Even after doing as suggested it threw the same error at the end of the training. I then flattened the dictionary such that it has only one level and the training succeeded. However, I guess this is not the right way to do it as you want a hierarchy of cell type -> processes. (correct me if I am wrong)


[Proposal] The execution model of compaction needs to improve

Current model
Each dir creates M threads for base compaction, N threads for cumulative compaction. And compaction threads execute one compaction in one cycle(may skip execution because no best tablet).
Too many compaction tasks may run out of memory, so we limit the max concurrency of running compaction tasks by semaphore.
Problem
It only limits the thread number. If the running threads cost too much memory, we can't defense it.
If we reduce concurrency to avoid OOM, we can't do compaction in time. We may meet more heavy compactions.
So concurrency limitation is not enough.
Proposal
The most desirable solution is limiting the memory. But this solution assumes that we can estimate the memory usage of one compaction. It's diffcult.
So we can only refer to the tablet score(the segments num). It has positive correlation with memory, but can't simply estimate the mem usage by a scale factor.
What about a model of scores limitation?
A compaction needs to acquire the permits(equals to it's score), and release the permits when it finished. So it wiil be low concurrency when high score compactions running, and high concurrency when low score compactions running.

Good proposal.
However, the compaction strategy is difficult to meet all needs. In the case of inaccurate memory statistics, manual intervention may still be required. Looking forward to a more detailed description of permit-related strategies.

Good proposal.
However, the compaction strategy is difficult to meet all needs. In the case of inaccurate memory statistics, manual intervention may still be required. Looking forward to a more detailed description of permit-related strategies.

+1. If we could abstract the compaction strategies to an interface, which is much better.

Before a new compaction strategy, we should add compaction memory usage monitoring. It'll help us adjust the model parameters. We could use MemTracker.

We can add a PermitLimiter to do the limitation, and use single-producer/multi-consumer model.
Producer will try to acquire permits, if ok, add the compaction task to consumer pool.
So we need a PermitLimiter member function:
bool PermitLimiter::block_acquire(int permits);
// return false: drop this task
// return true: block waiting for permits succeed, task can start now

pseudocode
Producer:
generate tasks
for task: tasks
    if PermitLimiter.block_acquire(task.permits)
        add to consumer pool
    else
        drop this task
// one cycle end

Consumers:
PermitLimiter.release(permits) when task finished(whether successful or not)

PermitLimiter:
bool PermitLimiter::block_acquire(int permits):
    if permits > total_permits
        if over_sold
            wait_until used_permits == 0 // only allow this task to run
        else
            return false
      else
        wait_until (total_permits - used_permits) >= permits

    used_permits += permits
    return true

void PermitLimiter::release(int permits):
    used_permits -= permits

Droping a compaction task is not a good idea,  that means this tablet can't do compaction anymore(rowsets will incr over time).
So I use over_sold, which can be modified in runtime. If memory usage is too high, we can disable over_sold for a while.
And I don't use free_permtis, use (total_permits - used_permits) instread. Thus, the total_permits can be modified in runtime too.

That is more clear.
And we need to think about

what strategy the producer use to produce the tablet for compaction? by the score?
If we use the score, does it use overall sorting, or does each data dir sort individually?
What is the relationship between consumer threads and data directories? If it is no relation, it may happen that all consumer threads are processing compaction on the same disk, resulting in greater IO pressure.

The problems can be divided into two separate parts

Generation strategy：
Highest permit task first, but we need to consider about dirs. So

Skip the dirs which are doing compaction
For one dir, we only gen one or X tasks in one round, so it's probably better to gen CUMU 9 times out of 10 rounds,  only 1 round to gen BASE. The number can be adjusted.

Permits calc strategy：
I only tested about AlphaRowsetReader's MemPool. The memory estimate model is not perfect now. (Without considering the elusive memory and BetaRowsetReader)
So the memory estimate model is temporarily unavailable.
We can use scores as permit on the first step.
(cumulative compaction has config::max_cumulative_compaction_num_singleton_deltas. So the score of cumu compaction task is greater than max_deltas, the permits can be set to max_deltas.)

To add compaction memory usage monitoring, we need connect the MemTrackers in compaction. So we could get the total mem consumption of compactions.
Then register metrics of total & log thread level info(one compaction's info).


Fixed memory leak issue with RedisClient

Was getting log messages such as
[2021-06-28 19:39:07,323] WARN io.lettuce.core.resource.DefaultClientResources was not shut down properly, shutdown() was not called before it's garbage-collected. Call shutdown() or shutdown(long,long,TimeUnit)  (io.lettuce.core.resource.DefaultClientResources)

and
[2021-06-29 04:01:40,280] ERROR LEAK: HashedWheelTimer.release() was not called before it's garbage-collected. See https://netty.io/wiki/reference-counted-objects.html for more information.

which indicated the client wasn't being properly shut down. This pull request fixes this.

@conwayok Thanks for the PR


TokenRequestFailedException when trying to access destinations with OAuth2ClientCredentials type Authentication

Issue Description
We are trying to connect to say a microserviceB from microserviceA.
The destination is configured with OAuth2ClientCredentials authentication. We have a certificate which we have added in the destination and a clientId. We have url to call B and a token service url.
Expectation is that the microserviceA sdk library will make a connection to the destination with
DestinationAccessor.getDestination(name)
and internally generate the token with the tokenUrl and call the url to microserviceB.
But when the code - DestinationAccessor.getDestination(name); is called, I get the following exception.
com.sap.cloud.sdk.cloudplatform.thread.exception.ThreadContextExecutionException: com.sap.cloud.sdk.cloudplatform.resilience.ResilienceRuntimeException: com.sap.cloud.sdk.cloudplatform.thread.exception.ThreadContextExecutionException: com.sap.cloud.sdk.cloudplatform.security.exception.TokenRequestFailedException: Failed to resolve access token.
I can generate a token via client and call the microserviceB via a client.
Impact / Priority
Its a P1 - top priority for us as our code freeze for go live is on 22 August.
Affected development phase: Development closure soon
Impact:  Blocked
Timeline: e.g. Go-Live is in 4 weeks
Error Message
com.sap.cloud.sdk.cloudplatform.thread.exception.ThreadContextExecutionException: com.sap.cloud.sdk.cloudplatform.resilience.ResilienceRuntimeException: com.sap.cloud.sdk.cloudplatform.thread.exception.ThreadContextExecutionException: com.sap.cloud.sdk.cloudplatform.security.exception.TokenRequestFailedException: Failed to resolve access token.

SDK Version: 5.0.0

com.sap.cloud.sdk.cloudplatform

Link to GitHub repo:
Project type, for example:

[ ] CAP Project

Platform: both below

[ ] Cloud Foundry
[ ] Deploy with Confidence (Cloud Foundry)

Checklist

[ ] Checked out the documentation and Stack Overflow
[ ] Description provided with all relevant information
[ ] Exception and stack trace provided
[ ] Attached debug logs
[ ] Attached dependency tree
[ ] Provided Cloud SDK version & link to relevant source code

Please provide the information as described in the issue template: full stack trace, logs etc.
Also, please upgrade to the latest version 5.11.0

Added the logs
StackTrace.txt

Updated version to - 5.11.0
However, I get the following error =
com.sap.scl.tcl.client.GCLClient         : Entering GlobalContentLibrary- getPublishedTemplateDto method
2024-08-19T09:00:25.642+0000 [APP/PROC/WEB/0] STDOUT 2024-08-19T09:00:25.642Z  INFO 8 --- [nio-8080-exec-1] com.sap.scl.tcl.client.GCLClient         : Entering performGetRequestForGCLWithCerts
2024-08-19T09:00:25.642+0000 [APP/PROC/WEB/0] STDOUT 2024-08-19T09:00:25.642Z  INFO 8 --- [nio-8080-exec-1] com.sap.scl.tcl.client.GCLClient         : Entering getDestination to get Destinations-gcl
2024-08-19T09:00:25.760+0000 [APP/PROC/WEB/0] STDOUT 2024-08-19T09:00:25.760Z  INFO 8 --- [nio-8080-exec-1] com.sap.scl.tcl.client.GCLClient         : Exception while getPublishedTemplateDto --Failed to determine com.sap.cloud.sdk.cloudplatform.resilience.ResilienceDecorationStrategy.
2024-08-19T09:00:25.760+0000 [APP/PROC/WEB/0] STDOUT 2024-08-19T09:00:25.760Z  INFO 8 --- [nio-8080-exec-1] com.sap.scl.tcl.client.GCLClient         : Exiting performGetRequestForGCL for method getPublishedTemplateDto

updating my destination configuration.

Hi @anupriyaSap,
Could you please attach full stack trace and DEBUG logs from your application?
We need DEBUG logs enabled for packages com.sap.cloud.sdk and org.apache.http.wire. Refer here for more details.
Please remove any sensitive information from the wire logs before sharing them.
Regards,
Kavitha

Hi @anupriyaSap,
From the stack trace shared over email, I see the following root cause:
STDERR Caused by: java.lang.NoClassDefFoundError: javax/cache/configuration/Configuration

Please check your project's dependency tree and see if an older version of javax.cache:cache-api gets included.
Inside the SDK, we use javax.cache:cache-api:1.1.1. You could also use our BOM in your dependency management section to minimise dependency conflicts.
Also, since you mentioned you updated to version 5 recently and use DwC, please also check if you did all the steps listed here during migration.
Regards,
Kavitha

Closing, assuming the issue is resolved


WARNING: Dataset in hdf5 file already exists. recreate dataset in hdf5.

Is this ok to have this warning?

It depends on you.
This means that you re-run stage 1 and use the same dumpdir.
Then the script overwrites the already existing feature vector.
If you are aware of this, that is no problem.
If you do not want to overwrite, please change the dumpdir.

It hapens if i use preprocess first time on dir without hdf5 files

Really? What is your recipe?
If you use your own recipe, please check the utt_id (the first column of wav.scp) is not duplicated.

I used parallel_wavegan.v1.yaml
Not sure what goes wrong, i switched to npy in order to start train without warnings.

No. npy case is the same.
It will overwrite the file without warning.
Maybe you have the same utt_id in the train, dev, or eval set.


feat: obiz offer page

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


Jitsi on Linux gives on each startup a NullPointerException in PluginManagerActivator

Using Jitsi-nightly:
java.lang.NullPointerException
at net.java.sip.communicator.plugin.pluginmanager.PluginManagerActivator.start(PluginManagerActivator.java:99)
at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2220)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2138)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1365)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.lang.Thread.run(Thread.java:745)

Please send your complete logs (don't post them as a message, create a Gist or send it to the mailing list, where prefer a first discussion anyway) and describe exactly what you did, which distribution you're running, which desktop environment and which Jitsi build.

Linux: Arch x64, kernel 4.2.3
DE: Lxqt 0.9
Way to reproduce: Start Jitsi
Where to find error message: in .xsession-errors (or in console if started from console)
Log file: https://download.aramgroup.com/jitsi0.log.0
If more information is needed, please let me know.

The logfile you sent doesn't contain the error. As a wild guess, I'd assume that Arch uses shared libraries (which we normally bundle) and these don't contain the necessary OSGi manifest. A prime example for that has been log4j on Ubuntu.
I'm closing this issue because Jitsi 2.9.20151014, the version mentioned in your log, is a custom build and we cannot really support that. But feel free to leave further logs and comments.


Phil login page fixes

Few small fixes and a big reformat of HTML for the login page.
The Login page looks Amazing Alex, I've just tweaked a few small bits. View the commits individually to review the changes and then merge into your branch.

All looks good! Thanks for the changes!

All looks good! Thanks for the changes!


Slack, Notion, Github: on connector delete, also delete folders

ping @overmode => did you already handle for Github? if not, you can leave it we'll address in this card

I didn't, we will tackle it later then

Let's not forget about the notion-unkown folder

@aubin-tchoi if you have bandwidth or @overmode once your PRs are merged

will see who get there first :)

same as #9510, this is already handled in core


Add PhyloPic.org to the catalog?

I see you have https://svgsilh.com/ in the catalog which got me thinking, especially now that the emphasis is on quality, that http://phylopic.org/ would be a great image source to integrate.
Admittedly there's not much content there; just 3443 images. But, the science community leverages this a lot because the silhouettes here are scientifically accurate and properly taxonomically identified with their Latin binomial names e.g. Platichthys flesus http://phylopic.org/image/5e44dca8-d055-4f31-a6e1-4f4b3febdd8b/
They have an API too so, although low priority it would be nice to include eventually. High re-use potential, high-quality metadata, and plenty of demonstrable real world re-use of these images.

Yes, let's add this. Thanks @rossmounce !
I see the files are not standard png or jpg so @sclachar you may have to check with @brenoferreira on simplest way to link/render when it comes time for front end.

@janeatcc I see only pngs on that website. Am I missing something?

@brenoferreira you're right. I was looking at the add'l formats they had available.

Thanks @rossmounce.
@janeatcc PhyloPic is now in the catalog.


Bump to golang 1.8

Currently in beta1, wanted to give it a spin on our CI just in case we find any issues to fix on the notary or golang side (we found one in docker by testing DCT: https://github.com/docker/docker/pull/29030)
We can bump this as new betas are released, and eventually this can be the PR for the final golang 1.8.0 release bump tracked for early 2017.
Signed-off-by: Riyaz Faizullabhoy<EMAIL_ADDRESS>

Yay all checks pass!

seems like we're failing builds due to an error in the migrate tool we use: https://github.com/mattn/go-sqlite3/issues/365

Ready for review, go1.8 has officially been released and the hub files have been updated: https://blog.golang.org/go1.8

The errors are because git got updated and now refuses to follow redirects without additional configuration :-( @n4ss was dealing with this over the last couple of days. Not sure how to fix it on circle though...

I've kicked this. Circle seems to have fixed their git issue over the weekend.

Rebased this and kicked again, since we merged #1087 which was rather large.

I think codecov just failed to update after CI was done.  Clicking details shows a different number.  I think this is probably good to merge.

Docker is not going to update to Go 1.8 until 1.8.1 is released. Wondering if we should hold off too?

@endophage - I don't think we're in a rush so 1.8.1 sounds good to me 👍

https://golang.org/doc/devel/release.html#go1.8.minor :)

@ecordell nice!  Just waiting for the image to get published to hub, should be very soon :)

looks like 1.8.1 is green :)

rebased on top of master, and it looks like this PR was merged: https://github.com/moby/moby/pull/29030 - are we good to go on this?

Thanks for rebasing!  There seems to be a panic in the yubikey code though:
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
17:25:31 	panic: runtime error: invalid memory address or nil pointer dereference
17:25:31 [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x4143a43]
17:25:31
17:25:31 goroutine 149 [running]:
17:25:31 panic(0x4938dc0, 0xc420010120)
17:25:31 	/usr/local/Cellar/go/1.7.4/libexec/src/runtime/panic.go:500 +0x1ae
17:25:31 testing.tRunner.func1(0xc4205c66c0)
17:25:31 	/usr/local/Cellar/go/1.7.4/libexec/src/testing/testing.go:579 +0x474
17:25:31 panic(0x4938dc0, 0xc420010120)
17:25:31 	/usr/local/Cellar/go/1.7.4/libexec/src/runtime/panic.go:458 +0x271
17:25:31 github.com/docker/notary/trustmanager/yubikey.login(0x4daa5e0, 0xc4201320c0, 0x51b660, 0x0, 0x0, 0x4a009af, 0x30, 0x0, 0x48fa4c0)
17:25:31 	github.com/docker/notary/trustmanager/yubikey/_obj/yubikeystore.go:1123 +0x183
17:25:31 github.com/docker/notary/trustmanager/yubikey.yubiRemoveKey(0x4daa5e0, 0xc4201320c0, 0x51b660, 0xc420433b30, 0x1, 0x1, 0x0, 0xc42042fa40, 0x40, 0x0, ...)
17:25:31 	github.com/docker/notary/trustmanager/yubikey/_obj/yubikeystore.go:485 +0xc9
17:25:31 github.com/docker/notary/trustmanager/yubikey.(*YubiStore).RemoveKey(0xc4201d63f0, 0xc42042fa40, 0x40, 0x0, 0x0)
17:25:31 	github.com/docker/notary/trustmanager/yubikey/_obj/yubikeystore.go:983 +0x413
17:25:31 github.com/docker/notary/cmd/notary.setUp(0xc4205c66c0)
17:25:31 	/Users/jenkins/workspace/workspace/notary_yubikey_pr/Go/src/github.com/docker/notary/cmd/notary/integration_pkcs11_test.go:53 +0x154
17:25:31 github.com/docker/notary/cmd/notary.TestClientTUFInteraction(0xc4205c66c0)
17:25:31 	/Users/jenkins/workspace/workspace/notary_yubikey_pr/Go/src/github.com/docker/notary/cmd/notary/integration_test.go:190 +0x54
17:25:31 testing.tRunner(0xc4205c66c0, 0x4a933b8)
17:25:31 	/usr/local/Cellar/go/1.7.4/libexec/src/testing/testing.go:610 +0xca
17:25:31 created by testing.(*T).Run
17:25:31 	/usr/local/Cellar/go/1.7.4/libexec/src/testing/testing.go:646 +0x530
17:25:31 FAIL	github.com/docker/notary/cmd/notary	2.172s
17:25:31

Oh wait, that builder is still running 1.7.4.  I'll file the panic as a separate issue to investigate.

@riyazdf I'll bump the yubikey builder up to 1.8.1 for now.  I see no reason not to merge this if tests go green


Consumer: make mapStateToProps optional?

If I only want to use actions with a Consumer, as opposed to straight up importing actions from my store, I'm forced to add a noop mapStateToProps. Am I using the consumer in a wrong fashion or is this a viable use case? If yes I can submit a PR for that :)

The actions object is created when doing initStore, you can import it on every module without connecting.

Okay. So is using Consumer only to get actions not considered good practice?

No. Contrary to redux, react-waterfall exposes its bound actions right from the store initialization.
Using redux, you can do that too, (i.e. after creating the store, run bindActionCreators(actionCreatorsObject, store.dispatch)


feat: health status implementation

Health status definitions
It is divided into two parts:

Pipeline Resource Health: It is based on the health of each vertex in the pipeline
Data Criticality: It is based on the data movement of the pipeline

Resource Health can be "healthy (0) | unhealthy (1) | paused (3) | unknown (4)".
Resource Health purely means it is up and running.
Resource health will be the max(health) based of each vertex's health
Resource health checks if all the pods are in running state for the pipeline, and also for paused, unknown pipeline etc
Data Criticality on the other end shows whether the pipeline is working as expected.
It represents the pending messages, lags, etc.
Data Criticality can be "ok (0) | warning (1) | critical (2)".
A backlogged pipeline can be healthy even though it has an increasing back-pressure.
For data criticality the timeline data is populated for the pipeline, and if the average usage lies above the thresholds then the required state is assigned. For critical states we have the option do a lookback and only assign it to be critical if we see a predefined number of critical state in a lookback period window.

@kohlisid - resolve the conflicts?


Updating Objects in State

Page: https://id.react.dev/learn/updating-objects-in-state
Assignee: @brandon-julio-t

PR ready for review: #472


Allow for requirejs.has to not be available

We spoke about this on slack a week back, older versions of the loader do not support the has API.

@jasonmit thank you for putting this together!

@jasonmit this has been released in v3.0.0. A patch release for 2.x has also been released with this change (v2.9.6)

Thanks


Add pulp-repo-id annotation to OpenShift build

The pulp repo id to be used is determined dynamically at run time.
The value can be pulled from the logs, but it would be very helpful if this was an annotation value in the openshift build.
The particular use case that comes to mind is for clearing scratch builds from the system.

OSBS no longer supports pulp. Let's close this.


Use monaco editor (VSCode) instead of react-lazylog

react-lazylog is an abandoned mozilla project (https://github.com/mozilla-frontend-infra/react-lazylog) with some limitations pointed out by @suo. This integrates a real text editor which should make browsing the logs on the PR page more familiar and powerful.
https://deploy-preview-109--pytorch-ci-hud.netlify.app/commit/f767cf668395baf29ca7c9f1fa80f0abed8c53c7

I don't understand why we are using a text editor to browse logs

I don't understand why we are using a text editor to browse logs

We need something that has good search and pagination of lines (loading 100k+ lines in a <pre> doesn’t really work too good), this is an easy and familiar way to get that. We could make it not be a text editor by setting readOnly: true, but I don’t see why we should remove functionality that is entirely opt in

loading 100k+ lines in a  doesn’t really work too good

idk, worked pretty good for Jenkins. Much more important to make sure the browser isn't doing extra work reflowing the page or chewing up CPU for stuff that doesn't matter.

loading 100k+ lines in a  doesn’t really work too good

idk, worked pretty good for Jenkins. Much more important to make sure the browser isn't doing extra work reflowing the page or chewing up CPU for stuff that doesn't matter.

Doesn't Jenkins do truncation if reading logs through the UI?

sure, but it gives you enough lines that usually what you need to find is there

sure, but it gives you enough lines that usually what you need to find is there

not if we are running all tests and the failure is somewhere in the middle :/ we should really reconsider that

This PR solves the UX problem pretty completely and from checking it against the current log viewer it's about the same in CPU usage when scrolling around the logs so it seems like we should merge this

react-lazylog is an abandoned mozilla project (https://github.com/mozilla-frontend-infra/react-lazylog) with some limitations pointed out by @suo. This integrates a real text editor which should make browsing the logs on the PR page more familiar and powerful.
https://deploy-preview-109--pytorch-ci-hud.netlify.app/commit/f767cf668395baf29ca7c9f1fa80f0abed8c53c7


Strict typechecking for Python

Suggestion
Add mypy tooling to the python SDK, checking on precommit and in CI.
Motivation
Working on the python SDK, VSCode's Python plugin shows a number of typecheck errors. Running mypy against the SDK indicates 26 typing errors.
These are likely all typing errors, however could indicate potential bugs. It also makes it easier for bugs to be accidentally introduced in future.
Context

Python SDK is deprecated in favor of the @configu/proxy server.


DocSzCache size is now configurable

Number of items kept in the DocSzCache object can be configured by setting the option documentSizeCacheSize.

Related issue: #86


can not install mapbox

has anyone inatall mapbox stduio?
i ahve a lot of errors and i do not know how

I also have problems with installation.
Could anyone tell about possible solutions please.
Installation log is:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node8', '/usr/bin/npm-default', 'install' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose npm-session 3588b2f453809222
5 silly install runPreinstallTopLevelLifecycles
6 silly preinstall<EMAIL_ADDRESS>7 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>8 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
9 verbose lifecycle<EMAIL_ADDRESS>PATH: /usr/lib64/node_modules/npm8/node_modules/npm-lifecycle/node-gyp-bin:/home/agladkov/repos/misc/mapbox-studio-classic/node_modules/.bin:/usr/lib64/mpi/gcc/openmpi/bin:/home/agladkov/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/home/agladkov/Android/Sdk/tools/:/home/agladkov/Android/Sdk/platform-tools/:/home/agladkov/Android/Sdk/tools/:/home/agladkov/Android/Sdk/platform-tools/
10 verbose lifecycle<EMAIL_ADDRESS>CWD: /home/agladkov/repos/misc/mapbox-studio-classic
11 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'node scripts/run.js scripts/vendor-node.sh' ]
12 silly lifecycle<EMAIL_ADDRESS>Returned: code: 22  signal: null
13 info lifecycle<EMAIL_ADDRESS>Failed to exec preinstall script
14 verbose stack Error<EMAIL_ADDRESS>preinstall: `node scripts/run.js scripts/vendor-node.sh`
14 verbose stack Exit status 22
14 verbose stack     at EventEmitter.<anonymous> (/usr/lib64/node_modules/npm8/node_modules/npm-lifecycle/index.js:285:16)
14 verbose stack     at emitTwo (events.js:126:13)
14 verbose stack     at EventEmitter.emit (events.js:214:7)
14 verbose stack     at ChildProcess.<anonymous> (/usr/lib64/node_modules/npm8/node_modules/npm-lifecycle/lib/spawn.js:55:14)
14 verbose stack     at emitTwo (events.js:126:13)
14 verbose stack     at ChildProcess.emit (events.js:214:7)
14 verbose stack     at maybeClose (internal/child_process.js:925:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
15 verbose pkgid<EMAIL_ADDRESS>16 verbose cwd /home/agladkov/repos/misc/mapbox-studio-classic
17 verbose Linux 4.15.13-1-default
18 verbose argv "/usr/bin/node8" "/usr/bin/npm-default" "install"
19 verbose node v8.10.0
20 verbose npm  v5.6.0
21 error code ELIFECYCLE
22 error errno 22
23 error<EMAIL_ADDRESS>preinstall: `node scripts/run.js scripts/vendor-node.sh`
23 error Exit status 22
24 error Failed at the<EMAIL_ADDRESS>preinstall script.
24 error This is probably not a problem with npm. There is likely additional logging output above.

I also can't install... did you find a solution yet?
For me its
Failed to execute '/usr/local/Cellar/node/10.8.0/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/georgbachmann/Desktop/mapbox-studio-classic/mapbox-studio-classic/node_modules/gdal/lib/binding/gdal.node --module_name=gdal --module_path=/Users/georgbachmann/Desktop/mapbox-studio-classic/mapbox-studio-classic/node_modules/gdal/lib/binding' (1)
  CC(target) Release/obj.target/libgdal/deps/libgdal/gdal/ogr/osr_cs_wkt_parser.o install script
  CXX(target) Release/obj.target/libgdal/deps/libgdal/gdal/ogr/gml2ogrgeometry.oc install script
In file included from ../deps/libgdal/gdal/ogr/gml2ogrgeometry.cpp:43:led to exec install script
In file included from /usr/local/include/ogr_geometry.h:35:
In file included from /usr/local/include/cpl_conv.h:36:
/usr/local/include/cpl_vsi.h:95:37: error: C++ requires a type specifier for all declarations
int CPL_DLL     VSIFPrintf( FILE *, CPL_FORMAT_STRING(const char *), ... ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT CPL_PRINT_FUNC_FORMAT(2, 3);
                                    ^
/usr/local/include/cpl_vsi.h:95:112: error: format argument not a string type
int CPL_DLL     VSIFPrintf( FILE *, CPL_FORMAT_STRING(const char *), ... ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT CPL_PRINT_FUNC_FORMAT(2, 3);
                                                                                ^                     ~
../deps/libgdal/gdal/port/cpl_port.h:580:70: note: expanded from macro 'CPL_PRINT_FUNC_FORMAT'
#define CPL_PRINT_FUNC_FORMAT( format_idx, arg_idx )  __attribute__((__format__ (__printf__, format_idx, arg_idx)))
                                                                     ^                       ~~~~~~~~~~
In file included from ../deps/libgdal/gdal/ogr/gml2ogrgeometry.cpp:43:
In file included from /usr/local/include/ogr_geometry.h:35:
In file included from /usr/local/include/cpl_conv.h:36:
/usr/local/include/cpl_vsi.h:170:42: error: C++ requires a type specifier for all declarations
int CPL_DLL     VSIFPrintfL( VSILFILE *, CPL_FORMAT_STRING(const char *), ... ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT CPL_PRINT_FUNC_FORMAT(2, 3);
                                         ^
/usr/local/include/cpl_vsi.h:170:117: error: format argument not a string type
int CPL_DLL     VSIFPrintfL( VSILFILE *, CPL_FORMAT_STRING(const char *), ... ) EXPERIMENTAL_CPL_WARN_UNUSED_RESULT CPL_PRINT_FUNC_FORMAT(2, 3);
                                                                                ^                     ~
../deps/libgdal/gdal/port/cpl_port.h:580:70: note: expanded from macro 'CPL_PRINT_FUNC_FORMAT'
#define CPL_PRINT_FUNC_FORMAT( format_idx, arg_idx )  __attribute__((__format__ (__printf__, format_idx, arg_idx)))
                                                                     ^                       ~~~~~~~~~~
In file included from ../deps/libgdal/gdal/ogr/gml2ogrgeometry.cpp:43:
In file included from /usr/local/include/ogr_geometry.h:35:
In file included from /usr/local/include/cpl_conv.h:36:
/usr/local/include/cpl_vsi.h:218:57: error: unknown type name 'CSLConstList'
char CPL_DLL *VSIGetSignedURL( const char* pszFilename, CSLConstList papszOptions );
                                                        ^
In file included from ../deps/libgdal/gdal/ogr/gml2ogrgeometry.cpp:43:
In file included from /usr/local/include/ogr_geometry.h:35:
In file included from /usr/local/include/cpl_conv.h:37:
/usr/local/include/cpl_error.h:139:61: error: C++ requires a type specifier for all declarations
void CPL_DLL CPLError(CPLErr eErrClass, CPLErrorNum err_no, CPL_FORMAT_STRING(const char *fmt), ...)  CPL_PRINT_FUNC_FORMAT (3, 4);
                                                            ^
/usr/local/include/cpl_error.h:139:103: error: format argument not a string type
void CPL_DLL CPLError(CPLErr eErrClass, CPLErrorNum err_no, CPL_FORMAT_STRING(const char *fmt), ...)  CPL_PRINT_FUNC_FORMAT (3, 4);
                                                                                ^                      ~
../deps/libgdal/gdal/port/cpl_port.h:580:70: note: expanded from macro 'CPL_PRINT_FUNC_FORMAT'
#define CPL_PRINT_FUNC_FORMAT( format_idx, arg_idx )  __attribute__((__format__ (__printf__, format_idx, arg_idx)))
                                                                     ^                       ~~~~~~~~~~
In file included from ../deps/libgdal/gdal/ogr/gml2ogrgeometry.cpp:43:
In file included from /usr/local/include/ogr_geometry.h:35:
In file included from /usr/local/include/cpl_conv.h:37:
/usr/local/include/cpl_error.h:171:49: error: C++ requires a type specifier for all declarations
void CPL_DLL CPL_STDCALL CPLDebug(const char *, CPL_FORMAT_STRING(const char *), ...)
                                                ^
/usr/local/include/cpl_error.h:172:5: error: format argument not a string type
    CPL_PRINT_FUNC_FORMAT(2, 3);
    ^                     ~
../deps/libgdal/gdal/port/cpl_port.h:580:70: note: expanded from macro 'CPL_PRINT_FUNC_FORMAT'
#define CPL_PRINT_FUNC_FORMAT( format_idx, arg_idx )  __attribute__((__format__ (__printf__, format_idx, arg_idx)))
                                                                     ^                       ~~~~~~~~~~
In file included from ../deps/libgdal/gdal/ogr/gml2ogrgeometry.cpp:43:led to exec install script
In file included from /usr/local/include/ogr_geometry.h:35:
/usr/local/include/cpl_conv.h:77:64: error: expected function body after function declarator
char CPL_DLL *CPLStrdup( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL;
                                                               ^
/usr/local/include/cpl_conv.h:89:53: error: unknown type name 'CSLConstList' exec install script
const char CPL_DLL *CPLReadLine2L( VSILFILE *, int, CSLConstList );
                                                    ^
/usr/local/include/cpl_conv.h:90:60: error: unknown type name 'CSLConstList'
const char CPL_DLL *CPLReadLine3L( VSILFILE *, int, int *, CSLConstList );
                                                           ^
/usr/local/include/cpl_conv.h:147:71: error: expected function body after function declarator
const char CPL_DLL *CPLGetPath( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL;
                                                                      ^
/usr/local/include/cpl_conv.h:148:74: error: expected function body after function declarator
const char CPL_DLL *CPLGetDirname( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL;
                                                                         ^
/usr/local/include/cpl_conv.h:149:75: error: expected function body after function declarator
const char CPL_DLL *CPLGetFilename( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL;
                                                                          ^
/usr/local/include/cpl_conv.h:150:75: error: expected function body after function declarator
const char CPL_DLL *CPLGetBasename( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL;
                                                                          ^
/usr/local/include/cpl_conv.h:151:76: error: expected function body after function declarator
const char CPL_DLL *CPLGetExtension( const char * ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL;
                                                                           ^
/usr/local/include/cpl_conv.h:155:88: error: expected function body after function declarator
                                     const char *pszExtension ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL;
                                                                                ^
/usr/local/include/cpl_conv.h:158:90: error: expected function body after function declarator
                                       const char *pszExtension ) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL;
                                                                                ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated. ⠇ install: info lifecycle<EMAIL_ADDRESS>Failed to exec install script
make: *** [Release/obj.target/libgdal/deps/libgdal/gdal/ogr/gml2ogrgeometry.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:238:12)
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/Cellar/node/10.8.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/georgbachmann/Desktop/mapbox-studio-classic/mapbox-studio-classic/node_modules/gdal/lib/binding/gdal.node" "--module_name=gdal" "--module_path=/Users/georgbachmann/Desktop/mapbox-studio-classic/mapbox-studio-classic/node_modules/gdal/lib/binding"
gyp ERR! cwd /Users/georgbachmann/Desktop/mapbox-studio-classic/mapbox-studio-classic/node_modules/gdal
gyp ERR! node -v v10.8.0
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

I want to chime in - installation is failing, build is broken.
For me, it is failing when attempting to build the native gdal library:
node-pre-gyp ERR! build error  node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/user/code/mapbox-studio-classic/node_modules/gdal/lib/binding/gdal.node --module_name=gdal --module_path=/home/user/code/mapbox-studio-classic/node_modules/gdal/lib/binding' (1) node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/home/user/code/mapbox-studio-classic/node_modules/gdal/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:182:13) node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:962:16) node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:249:5) node-pre-gyp ERR! System Linux 4.9.0-6-amd64 node-pre-gyp ERR! command "/usr/bin/node" "/home/user/code/mapbox-studio-classic/node_modules/gdal/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /home/user/code/mapbox-studio-classic/node_modules/gdal node-pre-gyp ERR! node -v v10.8.0 node-pre-gyp ERR! node-pre-gyp -v v0.6.15 node-pre-gyp ERR! not ok  Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/user/code/mapbox-studio-classic/node_modules/gdal/lib/binding/gdal.node --module_name=gdal --module_path=/home/user/code/mapbox-studio-classic/node_modules/gdal/lib/binding' (1) ../deps/libgdal/gdal/ogr/ogrsf_frmts/generic/ogrlayerpool.cpp:579:1: fatal error: opening dependency file ./Release/.deps/Release/obj.target/libgdal/deps/libgdal/gdal/ogr/ogrsf_frmts/generic/ogrlayerpool.o.d.raw: No such file or directory  }
I will probably not attempt to build this software again - currently, their CI is failing and the project has not received any care during the last few months. Actively looking for an alternative that is receiving support.

I tried it too, seems they want everyone to use the new commercialized version.

I was able to install using an older version of node.js (v4.9.1). You can use nvm to switch between nodejs version.
However, when I tried to create a new style it crashed because it ran out of memory.

Same here, no chance with Yarn and npm.

This is not great.

Well https://travis-ci.org/mapbox/mapbox-studio-classic/builds/332934634

Ouch, just broken builds.
https://github.com/mapbox/mapbox-studio-classic/commits/mb-pages


Feature/ng5compat

Upgraded @ngrx packages to 4.1.0, to fix compatibility with Angular 5.

Closed (wrong target)


Add support for mobile device tilting

http://stackoverflow.com/questions/4378435/how-to-access-accelerometer-gyroscope-data-from-javascript
This would be wicked awesome.
Instead of tracking mouse movement, we could track accelerometer data on mobile devices

+1


Problems getting Github oAuth to return to the user's page.

This is my first time using Github oAuth and I'm having a bit of a problem.
I have assigned Github OAuth's client ID and User Secret to config.json, and "enable" is set to true. But when I sign in with Github using the "Login With Github" button, it takes me back to the HELPq's login page instead of the homepage.
In my Oauth applications, I am setting the homepage URL to:
http://nameofwebsite.com
and I am setting the Authorization callback URL to:
http://nameofwebsite.com:3000    <-- the application runs on port 3000
I should also mention that when it returns to the login page, I see this in the url:
nameofwebsite.com:3000/error=redirect_uri_mismatch&error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application
Am I not properly assigning these URLs? Please let me know what you guys think.

What was the fix?


Cannot apply custom Icon

(screen capture above is normal case)

(screen capture above is error case)
I tried to apply custom Clear icon by using ClearSelectedIcon.
But it doesn't work in my environment.
Anytime I use ClearSelectedIcon, clear <button> gets empty. (like screen capture above)
It would be so thankful if somebody could help me out.
Here's my code below.
  const clearBtnRenderer = () => (
    <>
      // I tried several tags(img tag, text), but nothing worked
      <svg
        width="24"
        height="24"
        fill="none"
        stroke="currentColor"
        strokeWidth="2"
        className="dropdown-search-clear-icon gray"
      >
        <line x1="16" y1="8" x2="8" y2="16"></line>
        <line x1="8" y1="8" x2="16" y2="16"></line>
      </svg>
    <>
  );

  return (

      <MultiSelect
        options={optionList}
        value={selected}
        onChange={handleChange}
        ClearSelectedIcon={clearBtnRenderer}
      />

  );
};

I refered to storybook below.
react-multi-select Storybook : custom arrow

Hi @Youn-ha,
instead of passing as function please pass it as rendered component like below and it should work as expected
<MultiSelect
  options={options}
  value={selected}
  onChange={setSelected}
  labelledBy={"Select"}
- ClearSelectedIcon={clearBtnRenderer}
+ ClearSelectedIcon={<ClearBtnRenderer/>}
/>

Hi @harshzalavadiya ,
I tried below -

  const clearBtnRenderer = () => (
    <>
      <svg
        width="24"
        height="24"
        fill="none"
        stroke="currentColor"
        strokeWidth="2"
        className="dropdown-search-clear-icon gray"
      >
        <line x1="16" y1="8" x2="8" y2="16"></line>
        <line x1="8" y1="8" x2="16" y2="16"></line>
      </svg>
    <>
  );

  return (

      <MultiSelect
        options={optionList}
        value={selected}
        onChange={handleChange}
        ClearSelectedIcon={<clearBtnRenderer />}
      />

  );
};

===> type error : Type 'Element' is not assignable to type 'string | Function'.

  return (

      <MultiSelect
        options={optionList}
        value={selected}
        onChange={handleChange}
        ClearSelectedIcon={() => <clearBtnRenderer />}
      />

  );
};

===> there was no type error, but clear button didn't show up.

  return (

      <MultiSelect
        options={optionList}
        value={selected}
        onChange={handleChange}
        ClearSelectedIcon={() => (
          <svg
            width="24"
            height="24"
            fill="none"
            stroke="currentColor"
            strokeWidth="2"
            className="dropdown-search-clear-icon gray"
          >
            <line x1="16" y1="8" x2="8" y2="16"></line>
            <line x1="8" y1="8" x2="16" y2="16"></line>
          </svg>
        )}
      />

  );

===> this one either.
(And sorry btw how can I show subtracted/added code like you in code markdown? I tried to google it but failed to find it)

@Youn-ha

First approach is correct type error might be due to incorrect TypeScript interface that was defined by me, I have created a PR that should resolve this issue
you can use backticks with diff extension diff files will be automatically highlighted when there's + or - as first charactor

released v3.1.7 should fix this typecheck issue

I updated to v3.1.7 and it works well! Thank you so much

Hi, I want to create a customized clear icon for selected option, there should be a clear icon for every selected item, is that possible in react-multi-select-component?

@prathambhardwaj you can do that but I would recommend using react-select

Could you please tell me the custom element which can provide the clear icon to every selected item?

@prathambhardwaj it's valueRenderer


[@kadena/graph] Normalized error handling

This PR contains several things:

We have a function that checks what type of error is being thrown, and formats them to a normalised error message, since we have errors coming from multiple systems, not just one.
Since chainweb-node and kadena/client don't throw clear messages, we try to infer the type and the meaning of the error based on the error object we get.
We will keep adding different types of errors and their infered meanings the more we find.

Looks quite good to me 🙌🏽🙌🏽
Taking into account the difficulties in type safety and the different types of responses we can have, I don't see a better way of uniformizing error handling

There's some conflicts to be resolved, but apart from that everything looks good 🚀 🙌🏽

General remark: Should we maybe add a timeout to the subscriptions?
In the graph-client it just stays in loading state if a certain non-existing request-key is the input. Maybe a timeout, with an error message and a 'Try again' button would be nice?
Also some validation on the input of the request key would be nice. At the moment I can search for 123 as request key (when we know it has a defined length).
I think all these are out of scope but just things I noticed while testing these changes.


Fixed: case to have a default value for cronExpression when updating group status and cron expresssion is not present

Related Issues

Short Description and Why It's Useful

When changing the status of a group to active, and if the schedule is not set for the group then making the default value for the schedule to EveryDay at mid-night
Screenshots of Visual Changes before/after (If There Are Any)

Contribution and Currently Important Rules Acceptance

[x] I read and followed contribution rules

Verified and working fine in release v1.2.0.
https://jam.dev/c/58e9a582-ecf0-4dfb-a383-2bb1ce18e263


Softfail & Web Hook

Hello,
I have set Postal to return "Softfail" if it continues to result to "softfail" after the maximum retry time because continuous softfail are just temporary sometimes and it shouldn't result as hardfail after the maximum retry time.
In the webhook option, I have also select the option below to trigger a webhook to my email marketing app in case of a "softfail"

"MessageDelayed
An e-mail has been delayed due to an issue with the receiving endpoint. It will be retried automatically."

So, what I need to know now if possible is that.
How can I configure postal to only send a webhook of "softfail" if the maximum retry has been exceeded only. Because currently postal trigger a softfail result to my email marketing app for every softfail. If message softfail 18 times that means webhook result of softfail would be triggered 18 times for each message in the delivery server. Other MTA like Postfix,exim,pmta and the likes doesn't work that way.
Looking forward to read back.
Thank you!

Without further modifications to the code by yourself, I don't think this will be possible.
I would imagine there is a counter to let you know if the attempt count is greater than 18 which is possibly useful to you but you'd have to have a look at the webhook sending code.

Thank you.
Can you path me to the location of the webhook sending code?
Thanks

I think it is more useful to be notified immediately when a message has been delayed so your receiving application is aware that the message has been delayed straight away rather than it just disappearing into the ether without any definitive clue about what happened to it.


Serializing XDR message?

Hi @domodwyer
Thank you for this great work.
Perhaps I am missing something, but does this crate include a preferred way to serialize XDR messages? - I am just asking before I start coding.

Hey @Schille !
No I haven't used anything specific - if you feel like contributing the serialising types that would be awesome.
Dom


Make it easier to disable print throttling.

This exposes the default throttling implementation, and an alternative
non-throttling implementation, of debugPrint.

@abarth
Replacement for https://github.com/flutter/flutter/pull/3940


Unable to extract zip file using InputStream (AES-encrypted, CompressionMethod.STORE)

Hi,
with the following code I am able to produce an IOExceoption "Reached end of data for this entry, but aes verification failed" when the CompressionMethod.STORE is used. This exception does not occurs when using CompressionMethod.DEFLATE. I used Zip4j in Version 2.6.1, 2.6.4 and 2.8.0.
import org.apache.commons.io.FileUtils;

import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.io.inputstream.ZipInputStream;
...

public class MainCompact {
   private static final String PW = "test".toCharArray();
   private static final String TESTFOLDER = "testfolder";
   private static final String OUT_ZIP = "out.zip";

   public static void main(String[] args) throws IOException {
      packWithStream(TESTFOLDER);
      unpackWithStream(OUT_ZIP);
   }

   private static void packWithStream(String dirpath) throws IOException {
      var zipParameters = new ZipParameters();
      zipParameters.setCompressionMethod(CompressionMethod.DEFLATE);
      zipParameters.setIncludeRootFolder(false);
      zipParameters.setEncryptFiles(true);
      zipParameters.setEncryptionMethod(EncryptionMethod.AES);

      File[] files = new File(dirpath).listFiles();
      var zipFile = new ZipFile(OUT_ZIP, PW);

      for (File file : files) {
         if (file.isFile()) {
            var zipParametersForFile = new ZipParameters(zipParameters);
            zipParametersForFile.setFileNameInZip(file.getName());
            zipFile.addStream(new ByteArrayInputStream(FileUtils.readFileToByteArray(file)), zipParametersForFile);
         }
      }
   }

   private static void unpackWithStream(String zipFileName) throws IOException {
      LocalFileHeader localFileHeader;
      int readLen;
      var readBuffer = new byte[4096];

      try (var zipInputStream = new ZipInputStream(new FileInputStream(new File(zipFileName)), PW)) {
         while ((localFileHeader = zipInputStream.getNextEntry()) != null) {
            var extractedFile = new File("out/" + localFileHeader.getFileName());
            try (OutputStream outputStream = new FileOutputStream(extractedFile)) {
               while ((readLen = zipInputStream.read(readBuffer)) != -1) {
                  outputStream.write(readBuffer, 0, readLen);
               }
            }
         }
      }
   }
}

Exception:
Exception in thread "main" java.io.IOException: Reached end of data for this entry, but aes verification failed
	at net.lingala.zip4j.io.inputstream.AesCipherInputStream.verifyContent(AesCipherInputStream.java:140)
	at net.lingala.zip4j.io.inputstream.AesCipherInputStream.endOfEntryReached(AesCipherInputStream.java:121)
	at net.lingala.zip4j.io.inputstream.DecompressedInputStream.endOfEntryReached(DecompressedInputStream.java:43)
	at net.lingala.zip4j.io.inputstream.ZipInputStream.endOfCompressedDataReached(ZipInputStream.java:205)
	at net.lingala.zip4j.io.inputstream.ZipInputStream.read(ZipInputStream.java:159)
	at net.lingala.zip4j.io.inputstream.ZipInputStream.read(ZipInputStream.java:132)
	at com.example.MainCompact.unpackWithStream(MainCompact.java:58)
	at com.example.MainCompact.main(MainCompact.java:27)

Extracting the generated zip file "out.zip" with 7-Zip or using the following method works fine:
   private static void perform(String zipFileName) throws ZipException {
      var zipFile = new ZipFile(zipFileName, PW);
      zipFile.extractAll("out/");
   }

I was able to reproduce this issue. I will work on a fix. Thanks for reporting this.

We are dealing with the same problem when downloading aes-encrypted/password-protected zip-files from the deutschepost.com. Thanks for fixing this!
Since it's already merged, when/how does this appear at https://mvnrepository.com/artifact/net.lingala.zip4j/zip4j ?

@hotzen I have to make a release for the fix to be released. There are a couple of failing tests after the fix which I need to look into. I will release a version with this fix once I look into it and they are fixed.

Fixed in v2.9.0 released today.


file not found

Thank you very much for helping me solve the last question!
when I run "sh discriminator_pretrain.sh" ,
it gives the following error:
"Not found: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for ../experience/data_180w/dis_pretrain/model-180w_zh2en_bpe/dis_180w_bpe"
what should I do?
please give me some suggestions, thank you!

Hi，you should change the file path as your own data path.


Conversion of tag-value to JSON creates a field not in the schema

When I run the official tag-value example file through the online converter tool to JSON, it turns the tag "DocumentNamespace" into the JSON field "documentNamespace".  Which makes a lot of sense, except that field does not exist in the JSON schema.  Instead it's believed that the field "spdxDocument" is the intended field for the namespace.  See this issue in SPDX-specs.
Personally I think it would be clearest if the schema was changed to match what the tool is putting out in this instance, but either way this is a discrepancy.

@SamuraiAku I agree the schema and tools, and examples should be consistent.
Note that the development/v2.2.1 branch is more actually the latest set of examples in the spec repo.
I'm going to move this issue to the SPDX spec as I think the inconsistency should be resolved by updating the schema to include the documentNamespace.


Themes

It would be cool to add a themes folder which contains various CSS files for different themes. One for FontAwesome, Bootstrap 3, CSS3, etc.
That would solve the only tedious thing about this plugin (that you have to manually write CSS just to make it useable, or copy example from the docs, manual work involved.)
I know themes is subjective, but at least have some 'sane' defaults so people can see and make it easier to get going straight out the box? What do you think? :smile:

Agreed. The plugin requires at least a minimum of CSS to work.
Making it easier to get going with some ready made defaults or themes would be a good improvement...

Will do a PR in a moment

Thanks Gary,
Please give me some time to review your PR. I will consider to move the CSS I use on the examples page to this new format.


dmenu-wayland: support cross-compilation

Motivation for this change
Support cross-compilation.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 130302 at 408322ab run on aarch64-linux 1

2 packages built successfully:

dmenu-wayland
pass-wayland


Clickable Profile/Permission Sets

We could make the names of the profiles/permission sets clickable, clicking on them would open a new tab showing the user the full profile/permission set in Classic or Lightning.
The link format would probably be https://[host]/[id] where "host" is the server hostname and "id" is the ID of the profile or permission set.
This will also mean that we need to retrieve the "Id" of the profile/permission set when querying for it.

Closing as not developing future features.


Don't Dismiss Upload Window When Clicking Outside Frame

Describe the solution you'd like
When I have uploaded an APK into the upload window that appears on the right side of the screen, it is easy to click off this window and then you lose progress and have to re-upload. I think it would be better to disable this functionality and instead of have to explicitly cancel the process. This would avoid losing progress and wasting time.
Describe alternatives you've considered
Instead of the drawer sliding in from the right, it could be a new page in the flow.
Additional context
This is the current screen

It happens to me so many times that I accidentally click elsewhere and I have to repeat the same procese again


Updating Monitoring guide to use newest helm charts and add config required by the version bump

Updated the versions in the monitoring guide to the newest available so it would work on an up to date kubernetes cluster. Added a minimal config file for loki which was required for the updated helm chart.
I also changed the label selector for kubernetes app names as they are exported as "app" instead of "app.kubernetes.io/name" nowadays.

Awesome thank you for the PR.
Did you have a look at the (newer?) loki-stack chart?
If i get it correctly the loki chart got so complicated because for simple usecases they recommend the loki-stack chart which is more of a all in one chart combinding a single instance loki with promtail. That sounds like it would be a better fit for the guide?
https://artifacthub.io/packages/helm/grafana/loki-stack

Awesome thank you for the PR.
Did you have a look at the (newer?) loki-stack chart?
If i get it correctly the loki chart got so complicated because for simple usecases they recommend the loki-stack chart which is more of a all in one chart combinding a single instance loki with promtail. That sounds like it would be a better fit for the guide?

I only looked in to it slightly, but it looks like they've turned around on that one again. According to many issues and this post, https://github.com/grafana/helm-charts/issues/3149#issuecomment-2173850542 , the loki-stack chart is depricated, but they're generally not being very clear

@PandaFood ah ok :(
Was hoping we could simplify this a bit, thank your for looking into this 👍
Will try this out over the next couple of days and merge it then :)


WIP: Add clang & ssl

I"m trying to build my project using trust (and thus cross) and after much investigation: it seems like I need clang and ( maybe, but I'm not sure) ssl-dev in cross containers. It's really common requirements to need clang in Rust projects, unfortunately. I guess ssl is probably already installed anyway, but I guess it doesn't hurt to make it explicit.
Would a PR of this form be accepted? If so I can go over all other targets and make similiar modifications. If there's something to fix, please tell me now, before I copy it over 20 or so times. Thanks!

Closing this in favour of https://github.com/rust-embedded/cross/issues/229. I think only adding clang would be acceptable, however.


bump versions

close #386
close #403
close #473
close #480

@panekj So this PR still doesn't receive updates after https://github.com/tamasfe/taplo/issues/403#issuecomment-1829128550.

@panekj So this PR still doesn't receive updates after #403 (comment).

Comments in issues actually don't decrease work I have so no, there has been no update.

What is mainly missing is changelog to collect and write up.

What is mainly missing is changelog to collect and write up.

@panekj They should be definitely managed by tools like changesets FYI, manually maintaining such verbose jobs is boring and tiring IMO.

I personally like https://release-plz.ieni.dev/
It works like this:

create a changelog file in the supported format
add a workflow that runs the GitHub action
whenever you make commits, the action creates or updates a PR with the changelog
when you merge the PR, a new release is tagged and uploaded to crates.io

@flying-sheep Where are the changelog contents from?

Release-plz updates your changelogs with git-cliff using Keep a changelog format by default.

OK, it's still commit message based, what means the changelog can not be changed after committed. Not flexible as changesets.

Whatever works best for you!
Just FYI: with release-plz, you can change the changelog in the PR before merging. The changelog/versions it autogenerates are not just message based, it also analyzes your code and figures out if your API changes classify as breaking or not.
But in the end, you are in control. Check out this example for a release PR: https://github.com/MarcoIeni/release-plz/pull/1170

# taplo/js/cli
yarn build

warning: unused import: `taplo_common::environment::Environment`
   --> src/lib.rs:216:9
    |
216 |     use taplo_common::environment::Environment;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `#[warn(unused_imports)]` on by default

warning: `taplo-wasm` (lib) generated 1 warning (run `cargo fix --lib -p taplo-wasm` to apply 1 suggestion)
    Finished dev [unoptimized] target(s) in 1.48s
Downloading wasm-bindgen version 0.2.82
[!] (plugin rpt2) Error: Could not load /Users/JounQin/Workspaces/GitHub/taplo/crates/taplo-wasm/Cargo.toml (imported by src/cli.ts): Rust compilation failed

It seems that I'm blocked by @wasm-tool/rollup-plugin-rust, does anyone has any idea?
cc @tamasfe @ia0 @panekj
Maybe we should migrate to https://github.com/napi-rs/napi-rs ASAP.

@tamasfe
Can we change the merge option from merge to squash or rebase?

I'll merge this PR as-is soon later.

@tamasfe
Can we change the merge option from merge to squash or rebase (disable adding a new merge commit option)?

Sure, squashing by default is a bad idea, but I prefer rebasing as well.

@tamasfe Merging with a new commit can be disabled in GitHub settings.

@tamasfe
https://crates.io/crates/taplo-cli
It seems the crates were not released correctly, can you help to release manually or give me the release permission so I can do it even after?

Weird, the tags seem to be correct to me yet no CI started. I've sent invites both on crates and npm.
I'll figure out how to grant permission to the vscode extension at microsoft and openvsx later.

@tamasfe Thanks for your trust, I've published all crates and npm packages successfully except https://crates.io/crates/lsp-async-stub, although it is not in emergency situation.

@tamasfe Would you mind to add me as owner for https://crates.io/crates/lsp-async-stub at the same time when you're free? So that I can help to publish a new version for it.


fails to start on mojave 10.14.4

[write something useful and descriptive here]
my log id: 45ea9fdd6f05a13a49bf991c

Seeing the same here. my log id: 8f3e1ab192f01847dd394f1c

Same here, Log ID: 41a7db93981b02fd6c19bd1c


Add creepy ambient ocean sounds

Probably invisible markers that occasionally emit an ambient sound or something
I want the ocean to feel scary, claustrophobic, and dark. Like something that you don't want to enter willingly. Like there's always something watching you in the shadows, waiting for you to be alone. Rusty, damp and haunting.

IDEAS:
wood creaking, like a ship
radio static
water bubbling
alien whale calls
muffled screeches
rocks crashing but muffled
muffled explosion
silent whispering
creepy tapping/rising octave sound cue that abruptly stops
Generator sounds
distant thunder, from piezo crystals or something else
echoing clicking of mandibles
deep sonar pulse (maybe from sweetwater or something)
The Bloop

A constant ambient and quiet rumble outside sweetwater to make it feel claustrophobic
(could prolly make that bit part of the InWater system)
Would that be a possible thing I could add @Lyroth001, like is there a add sound system or whatever or do we need to make one

not quite sure how the sound system works, but i am working on a smallish refactor of inwater (name is changing to InGas) that should make it reasonably easier to work with so

not quite sure how the sound system works, but i am working on a smallish refactor of inwater (name is changing to InGas) that should make it reasonably easier to work with so

awesome, i'll work on implementing this when it's done then. I'm sure i can add a system that draws from InWater for the ambient sound system, and if you ARE InWater it just selects from the water sound effects instead of the station ones

not quite sure how the sound system works, but i am working on a smallish refactor of inwater (name is changing to InGas) that should make it reasonably easier to work with so

awesome, i'll work on implementing this when it's done then, take your time of course, no rush. I'm sure i can add a system that draws from InWater for the ambient sound system, and if you ARE InWater it just selects from the water sound effects instead of the station ones

I mostly just need to add the alert and then test it

This. This is the vibe i hope and dream of. We need this.

Also I love the that vibe for the alien ocean. Maybe check out sunless seas as well for inspo?


Add portalReview metada

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

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


add support for wayfire logout,reboot to uefi,suspend then hibernate

wayfire can be logged out
by
ydotool key ctrl + alt + backspace
or
killall wayfire
or
pkill -u $USER
also add
support for
reboot to uefi
suspend then hibernate

The default layout file is not meant to be a comprehensive collection of buttons. If you would like to make your own copy the layout file to ~/.config/wlogout/ and add any custom buttons to that for example to create the described buttons:
{
    "label" : "uefi",
    "action" : "systemctl reboot --firmware-setup"
    "text" : "Reboot into UEFI"
    "keybind" : "e"
}
{
    "label" : "suspendhibernate",
    "action" : "systemctl suspend-then-hibernate"
    "text" : "Suspend then Hibernate"
    "keybind" : "h"
}

And then add an image via style.css
However, the logout command is too specific too sway so I changed it to logout via logind


Added testnet checkpoint

This speeds up node synchronization on testnet, looks like checkpoints for it were updated >4 months ago.
Block used for new checkpoint: https://chainz.cryptoid.info/strat-test/block.dws?1245000.htm

@JeronimoCrypto can you please the following tests?
GetLastCheckPointHeight_StratisTestnet_ReturnsLastCheckPointHeight
StratisTestnetIsInitializedCorrectly


Add script to initialize submodules.

This PR adds a preinstall script to initialize the submodules for those that don't use a git client that already does that.
This script does not impact our CI service.

@robertohuertasm Please restart appveyor job.


fix: error-code 0 from Fluent indicates server running without error

Why is the server transmitting an error event with a message saying that no error occurred? Certainly odd. We should probably revise this in the server side as well, though this fix in PyFluent makes sense to me too.

Why is the server transmitting an error event with a message saying that no error occurred? Certainly odd. We should probably revise this in the server side as well, though this fix in PyFluent makes sense to me too.

error-code = 0 is used in workspace client code for some post-connect actions. We can look into it when/if we plan to revise the workspace code.


package.json current version is neither tagged nor available on npm

For some reason the current version in package.json is 1.5.1.
there's no such tag, and no such version on npm.

I don't even see this package published on npmjs. What name should I be looking for it?


Unable to override default password for 'admin' (2.0-RC1)

To recreate, using 2.0-RC1

setup new database in the 'storage'; define userName='admin' and userPassword="anything-but-admin" (I assume not a factor, but I'm random UUIDs); example:
  <storages>
    <storage name="conveyor" path="plocal:/home/user/.conveyor/data/dogfoodsoftware.com/conveyor-core/databases/conveyor"
  	       userName="admin" userPassword="d190386a-9341-40b7-9b66-0b29c3b665e7"
                loaded-at-startup="true" />
  </storages>

start database

start console and attempt to connect to database using 'admin' and new password.

Result:

it fails
you can login with 'admin' as password, however

Also if the userName is not 'admin' (I tested with 'conveyor'), everything works fine.

admin is a database user, not server user. Look at:
http://www.orientechnologies.com/docs/last/orientdb.wiki/Security.html#work-with-users

I agree; the response doesn't seem to answer the issue or I misunderstand your meaning. I'm trying to setup the database user 'admin' with a non-default password and it's not working.

What command have you used?

Via the 'storages' element in 'orientdb-server-config.xml'. Updated original description (had my formatting wrong).

And then started server with the 'server.sh' script.

In storages you enlisted your database, but how did you create it?

That's what I mean; I listed the database in storage and then started server with the 'server.sh' script. The startup process creates any non-existent databases.


Update the Authorization layer to allow unmanaged nodes

Summary of the Pull Request
What is this about?
PR Checklist

[ ] Applies to work item: #xxx
[ ] CLA signed. If not, go over here and sign the CLI.
[ ] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Info on Pull Request
What does this include?
Validation Steps Performed
How does someone test & validate?

Codecov Report

Merging #2584 (71d656f) into main (3626589) will decrease coverage by 5.08%.
The diff coverage is 27.27%.

@@            Coverage Diff             @@
##             main    #2584      +/-   ##
==========================================
- Coverage   29.89%   24.81%   -5.09%
==========================================
  Files         289      120     -169
  Lines       35767    12494   -23273
==========================================
- Hits        10692     3100    -7592
+ Misses      25075     9394   -15681

Impacted Files
Coverage Δ

src/ApiService/ApiService/Functions/ReproVmss.cs
0.00% <0.00%> (ø)

src/ApiService/ApiService/Functions/Tasks.cs
22.22% <0.00%> (ø)

src/ApiService/ApiService/UserCredentials.cs
8.95% <8.69%> (+2.39%)
:arrow_up:

...ice/ApiService/onefuzzlib/EndpointAuthorization.cs
22.88% <50.00%> (ø)

src/ApiService/ApiService/Functions/Jobs.cs
76.59% <100.00%> (ø)

src/ApiService/ApiService/OneFuzzTypes/Model.cs
72.05% <100.00%> (+0.07%)
:arrow_up:

src/agent/coverage/src/source.rs

src/agent/dynamic-library/src/lib.rs

src/agent/onefuzz/src/heartbeat.rs

src/agent/input-tester/src/crash_detector.rs

... and 165 more

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


[WIP] Cloud Init support

Overview
Cloud-Init is a project that standardizes methods for injecting data into cloud VMs on launch.  Data typically includes metadata and userdata
Metadata is dynamically generated by the cloud provider and contains information about the unique instance.
Userdata is VM configuration data supplied by the user that executes when the VM instance starts.
It is common for cloud IaaS users to associate userdata with a VM instance in order to execute a short script that software provisions on startup.
Data Sources
The Cloud Init project supports multiple ways of supplying metadata and userdata to a VM. These methods are called data sources.
http://cloudinit.readthedocs.io/en/latest/topics/datasources.html
Implementation Details
Our support of cloud-init is driven by the goal of being able to provision fedora atomic VM instances using the 'NoCloud' data source. http://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html
The NoCloud data source involves generating an iso with userdata and metadata in it, and attaching that iso the the VM instance.
To associated userdata with a VM instance using the NoCloud data source, all users have to do is base64 encode userdata information into the VM definition.
Example
metadata:
  name: atomic-ephemeral
apiVersion: kubevirt.io/v1alpha1
kind: VM
spec:
  domain:
    devices:
      disks:
      - type: ContainerRegistryDisk:v1alpha
        source:
          name: kubevirt/fedora-atomic-registry-disk-demo:devel
        target:
          dev: vda
      interfaces:
      - source:
          network: default
        type: network
    memory:
      unit: MB
      value: 1024
    os:
      type:
        os: hvm
    type: qemu
  cloudInit:
    dataSource: noCloud
    noCloudData:
      userDataBase64: I2Nsb3VkLWNvbmZpZwpwYXNzd29yZDogYXRvbWljCnNzaF9wd2F1dGg6IFRydWUKY2hwYXNzd2Q6IHsgZXhwaXJlOiBGYWxzZSB9Cg==
      diskTarget: vdb

Internally KubeVirt creates a container in the virt-launcher pod that is responsible for generating the resulting NoCloud data source's .iso file.
Virt-controller waits for the iso file to be available (using readiness checks) before it allows the VM to be placed on the corresponding pod's node.
When virt-handler sees a VM with the 'NoCloud' data source, it attaches the iso file as a disk device to the domain before starting the VM.
Future DataSources
The VM definition structures and cloud-init package have been architected in a way that should allow for additional data sources to be added in the future.
Example: User facing details related to another data source.
  cloudInit:
    dataSource: SomeOtherSource
    SomeOtherProviderData:
      userDataBase64: I2Nsb3VkLWNvbmZpZwpwYXNzd29yZDogYXRvbWljCnNzaF9wd2F1dGg6IFRydWUKY2hwYXNzd2Q6IHsgZXhwaXJlOiBGYWxzZSB9Cg==
      Whatever1: somethingelse
      Whatever2: otherstuff

The cloud-init package would then get a new data source called 'SomeOtherSource'. Everything related to the 'NoCloud' source is isolated by switch statements already. The 'SomeOtherSource' implementation details would just need to be added in whatever way makes sense for that data source.

retest this please

retest this please

@davidvossel test passed, there was an auth ssh issue.

Disadvantage of cloudinit is that it is not a generic data inject, it assumes the user space app to process the data. Why not support a generic file inject, the cloudinit nocloud source would be just a subset of it.
It would allow e.g. Windows drivers file inject which could be dynamic based on OS. Or windows sysprep file

@davidvossel no, I do not mean a user-supplied disk. I mean to use the same way as cloud-init data (base64) to use for other similar tasks (sysprep/unattend.xml). Then the only "offending" thing I guess is the top level name "cloudinit". I'd say that ovirt's "payload" is a more  generic term (see https://www.ovirt.org/develop/release-management/features/virt/vmpayload/)
But putting that aside, I'm not sure it's a good idea to put it into vm spec. How does the system deal with large definitions? It can be few kilobytes.
Another thing - the disk definition from guest point of view (diskTarget) would be best to be inside inside the domain to avoid conflicts with other disks. Why not making it part of the domain as e.g.: disks:
type: cloudinit
source: base64

@davidvossel - I assume you would not put cloud-init or sysprep payloads on the registry, as they contain sensitive data (passwords). Also the round-robin to the registry and back just for ephemeral payloads such as those is not worth it really.

@michalskrivanek

I mean to use the same way as cloud-init data (base64) to use for other similar tasks (sysprep/unattend.xml).

Coul you explain a little bit how that works? Isn't there just a special prepared cloud init script, which looks for these files then? Is this meant as formalising some common patterns a little bit more?

But putting that aside, I'm not sure it's a good idea to put it into vm spec. How does the system deal with large definitions? It can be few kilobytes.

Yes, not having this on the VM is probably a good thing. A separate TPR, might do the trick, since for etcd itself, a few kb for a value are not an issue, but having it on the VM, which will be watched permanently by some entities, it is problematic. From the requirements, it looks like it is pretty similar to a kubernetes secret from the cluster requirements.

Coul you explain a little bit how that works? Isn't there just a special prepared cloud init script, which looks for these files then? Is this meant as formalising some common patterns a little bit more?

Someone somewhere, preferably at the cluster level, generates the script based on user's input (VMConf?) - or just pass through the complete content for now - and delegate a iso/image creation to a host. This could be a different service than virt-handler.
If it is separate from virt-handler we need to synchronize it a bit because that resulting image should be only consumed and cleaned up by that specific VM run (https://github.com/kubevirt/kubevirt/pull/337#discussion_r133071023)

Someone somewhere, preferably at the cluster level, generates the script based on user's input (VMConf?) - or just pass through the complete content for now - and delegate a iso/image creation to a host. This could be a different service than virt-handler.
If it is separate from virt-handler we need to synchronize it a bit because that resulting image should be only consumed and cleaned up by that specific VM run (#337 (comment))

I've sorted through all this in a redesign of this feature that I'm working on. I'm going to be posting new patches in the next day or so along with some documentation that explains everything in better detail.

About to do my review, but let me quickly say that I go with @michalskrivanek when he talks about a separate component creating the iso/volume.
For the life-cycle of this volume. If it's exposed as a PV then K8s has the functionality to recycle it once the PV is not used anymore.

i'm closing this for now.  I'll open a new PR with the redesign later once it is done.


fix: hang after running for a long time (#282)

the session.get process without a timeout in poll_latest_ask task may hang.
add a time out of 15sec in total.
no hang found for 24 hour run.

@huwei901108
can you add some info in the content that fix: # issue_number
and then fix the ci lint

OK.
I have changed the commit info. As well as check and reformat my code.

@huwei901108
pip install -U black
black .


Symlink experiment files when running wallace debug

When wallace debug is run, all the files are copied to a temporary directory. This makes it really frustrating to iterate on the javascript/html because every time you make a change, you have to quit psiturk and re-run wallace debug. It would be much easier to develop if wallace debug would symlink these files, so that local changes will show up.

Is this your desired workflow?

wallace debug

debug from the psiTurk shell.

(Make some changes to the frontend code.)

Repeat (2) and (3) as needed.

Almost, more like:

wallace debug
debug from the psiTurk shell
Make some changes to the frontend code
Refresh the page to see the changes (without re-running wallace debug or debug)
Repeat (3) and (4) as needed

Okay, and if you run step (4) in the middle of an experiment, do you expect the page to continue from where it left off, backtrack to where it started, or behave however the experiment behaves in production?

Ideally, continue where it left off, but starting over would be fine too. I would want there to be a config option or something that I could set to see how it will look in production but I don't want that in general when I'm developing.

Got it — we'll do this.
I'm going to move this issue over to the repo for Dallinger, which is where new development is happening. I'd recommend switching over to the latest, 2.3.1, unless you've already written a significant chunk of your experiment using Wallace 1.x.

This issue was moved to Dallinger/Dallinger#237


Typo in code - config.svelte.predender_default

I haven't tried running this, was just perusing the source and noticed this:
    # Prerender (SSR) by default (i.e. without passing `prerender:true` to the view helper)
    config.svelte.predender_default = false

Link to source: https://github.com/nning/svelte-rails/blob/master/lib/svelte/rails/railtie.rb

Thanks very much, good catch!


Adding examples for remove connections for 2 circuits

1 circuit for sscx (multipopulation) and a test circuit with several nodes and edges (multipop as well)

We can squash commits to have linear commit history

Thanks for the PR! Here a couple of suggestions, since I find the examples rather complicated to follow:

Please specify clearly where a user should start with an example, as there are Jupyter notebooks and multiple readme files. Better use either a single notebook or a single .md file (whatever you prefer) to guide a user through an example.
Each example should have a clear structure and only contain the minimum number of files absolutely required. So better don't include circuit configs, node sets, output folders, etc. Example outputs and structural comparison plots could/should be integrated directly into the notebook/.md file for explaining the result.
I think it would be better to use only one circuit for each example, so either SSCx or the small test circuit (because the users can rerun the example anyway with whatever circuit if they like).
If you prefer to use and include the test circuit directly in the repo, we should

make sure that we have permission to publish that circuit (or we should better link the original source, if available)
better put the circuit into a separate folder at the level of /examples (instead of within a specific example subfolder), so the same test circuit can be easily re-used in multiple examples

I noticed there is still output_path and working_dir in some of the manipulation configs (the ones under test_circuit) but which is only needed in model configs.
Important: We need to include copyright information in all source/text files

For .py files and Jupyter notebooks: Put a statement at the beginning of each file, as in e.g. NullManipulationExample.ipynb
For readme files: Copyright (c) 2024 Blue Brain Project/EPFL at the end of each file

@chr-pok i added a README under conn_removal/ and specific instructions under each notebook. Moved the example circuit as you said. removed unnecessary files, removed working_dir unless required. i think it was required in str comparison based on the demo. finally added copyright in markdown and notebook files

Thanks @KeremKurban for restructuring and simplifying the example, looks good now! Just one question, do we really need to include all log and output folders in the repo?

We can remove them as its tested.

Ok, let's keep the struct comparison results as examples, this could be informative for the user as what to expect. But better remove all log files/folders, as there are quite a lot of them.

And I just noticed, we need to add proper reference whenever we mentioning the test circuit from BlueCelluLab, i.e., citation and link to that repo, following Apache 2 license requirements.

Since BlueCelluLab doesnt have citation info yet, i added the repository link under example circuits

Ah, right, there is no citation indeed, I think putting the link is perfectly fine then, thanks! Last thing is still to remove the .log files, as there are still hundreds of them in output/logs subfolders.

removed

@chr-pok i tested the new code with the small circuit and adapted the changes into my branch.


The map toggle position on arrivals and departures should be sticky

Persist open and shut in preferences

To make sure I know what screen we're talking about, is it when you open a Stop view and then tap on one of the arriving buses that you get to the arr/dep screen? And is the intention here if I open the map toggle in arr/dep, it should stay open on any subsequent arr/dep visits for any bus until I toggle it closed again?

Exactly. The state of the button highlighted in magenta in the screenshot below should be stored in user defaults. If the button state
Key: OBAArrivalAndDepartureMapExpandedKey
Default, registered value: NO (or should this be YES?)
If the value of that default is YES, the map is opened to its expanded size. If the value is NO, it is opened in its collapsed size. Tapping the button toggles the value persisted in user defaults.

@aaronbrethorst I want to work in this issue. Do you also need any toggle button in Settings to check map is expanded or collapsed?

I was imagining this to be a stop gap measure while awaiting someone to work on #976. As that issue is being worked on, this should—for now—be left alone.

FYI, I'm planning to remove this button and the size of the MapController will persist only if the header collapses/expands 100% (not in between). #976


Can't use it at UIBarButtonItem

Is there way to use this at UIBarButtonItem?
showWithAnimation parameter button can't accept UIBarButtonItem.

Currently, Dropper does not support UIBarButtonItem. Sorry about that!


侧边栏设计链接那里中文显示乱码

Expected behavior (预期行为)
Actual behavior (实际行为)
# Social Links
# Key is the link label showing to end users.
# Value is the target link (E.g. GitHub: https://github.com/iissnan)
social:
  #LinkLabel: Link
  GitHub: https://github.com/Marze1994
  知乎: https://www.zhihu.com/people/zengjie21/activities

# Social Links Icons
# Icon Mapping:
#   Map a menu item to a specific FontAwesome icon name.
#   Key is the name of the item and value is the name of FontAwesome icon. Key is case-senstive.
#   When an globe mask icon presenting up means that the item has no mapping icon.

social_icons:
  enable: true
  # Icon Mappings.
  # KeyMapsToSocialItemKey: NameOfTheIconFromFontAwesome
  GitHub: github
  知乎: globe
  Twitter: twitter
  Weibo: weibo

Steps to reproduce the behavior (重现步骤)
NexT Information
Add the  ✔  sign before an item which is affected by this behavior.
NexT Version:

Master
Latest Release✔
Old version -

NexT Scheme:

All schemes
Muse
Mist
Pisces✔

Other Information (Like Browser, System, Screenshots)
Browse:

谷歌

System:

win10

Screenshots:

这是 gbk 与 utf-8 之间的转码，建议查看一下配置文件的编码格式或者浏览器的编码格式，其他的就不知道了。

谢谢，还真是配置文件的编码问题，已经顺利解决了，非常感谢！@Jan9th


Upgrade to support API 3.0.0-ALPHA11

Title contains no information whatsoever. No description provided and two separated pull requests were opened which actually should be joined in one pull request called something like "API support: 3.0.0-ALPHA11".

Please, as @SalmonDE stated out and as i said in #17, combine both PR's into 1


Start using update-notifier

Given that we have a CLI now (thanks to #2), I expect folks would install this globally. Let's start using update-notifier to make sure users are using an up-to-date version of the tool.

Fixed in #13


Moved test suite over to Kotlin.

Description
Related to the discussion on issue #1389, this PR moves the Java unit test suite over to Kotlin.
Changes of note:

Updated the version of Kotlin to match the latest release (note: Kotlin is still only a test dependency, so not enabled for use in the production codebase)
Slight change of order in the build.gradle dependencies to tidy things up.
Utilized the more idiomatic Mockito-Kotlin (MIT licensed) in tests.

Tests performed
All unit tests, across all build variants, run cleanly.

Codecov Report

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

@@          Coverage Diff           @@
##           master   #1428   +/-   ##
======================================
  Coverage     3.3%    3.3%
======================================
  Files         128     128
  Lines        6839    6839
  Branches      669     669
======================================
  Hits          226     226
  Misses       6598    6598
  Partials       15      15

Impacted Files
Coverage Δ

...java/fr/free/nrw/commons/category/CategoryDao.java
0% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@psh Wonderful, thank you! :) Looks good to me in general, but it would be good if someone familiar with Kotlin (@maskaravivek ?) could review this before we merge.

Looks good to me as well. The PR simply converts Java code to Kotlin. As long as the checks are passing, it should be okay. :)

Thanks all! Would be great if we could get a section in the wiki about this, also. :)


Progress bar on media does not show properly

Describe the bug
On any media (music, video, etc) the progress of the video is not reflected on the bar. It will not show media length, it will just be 00:00 to 00:00.
To Reproduce
Steps to reproduce the behavior:

Open any video and play it
Click to see the media controls and progress bar
Progress bar will be greyed out and not reflecting any media progress.

Expected behavior
The duration of the video being shown and the progress of how far the user is in the video.
Screenshots

Environment:

Distro: Arch Linux
GNOME version 46.2
Extension Version 36

Have you tried a different browser ? It might the MPRIS implementation of the player and not the extension ...

Have you tried a different browser ? It might the MPRIS implementation of the player and not the extension ... Maybe try with chromium / chrome ?

Hi Chris. It does seem to work fine in a Chromium based browser. Is there a way to fix it so that it can work in Firefox?

Maybe ask the firefox people to fix their MPRIS implementation ...

Maybe ask the firefox people to fix their MPRIS implementation ...

Ok thanks I asked them here https://bugzilla.mozilla.org/show_bug.cgi?id=1903560


Prevent users from submitting gcses as completed with an empty award year

Context
Users are able to add a qualification in the 'GCSE or equivalent' section and mark it as completed without entering a value in the 'Year awarded' or 'Grade' section.
Changes proposed in this pull request
For consistency with the incomplete degree logic, a flash message will now appear on the qualification review page, and prevent the session being redirected back to the application page, if they try to mark the qualification as complete and press continue:

Before
After

It will also present a message on the application review page informing them it is incomplete, with a link back to the qualification review page:

Before
After

Guidance to review
Considering this is an edge case, is it acceptable for these messages to be generic rather than specifying which fields are incomplete?
Link to Trello card
https://trello.com/c/iJKKl9KS
Things to check

[ ] This code does not rely on migrations in the same Pull Request
[ ] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[ ] API release notes have been updated if necessary
[ ] New environment variables have been added to the Azure config

Hey Greg, i think it's a good point that this could be more granular. I've been thinking about a solution that we can use throughout the sections and am going to add a card to the tech debt column for the devs to discuss at the next tech debt meeting.

Hey Greg, i think it's a good point that this could be more granular. I've been thinking about a solution that we can use throughout the sections and am going to add a card to the tech debt column for the devs to discuss at the next tech debt meeting.

Hey Greg, i think it's a good point that this could be more granular. I've been thinking about a solution that we can use throughout the sections and am going to add a card to the tech debt column for the devs to discuss at the next tech debt meeting.

Cool, that sounds like a plan @davidgisbey. Think we could probably improve the wording a bit too but will hold off until we know the way forward. Thanks.

Hey Greg, i think it's a good point that this could be more granular. I've been thinking about a solution that we can use throughout the sections and am going to add a card to the tech debt column for the devs to discuss at the next tech debt meeting.

Cool, that sounds like a plan @davidgisbey. Think we could probably improve the wording a bit too but will hold off until we know the way forward. Thanks.


CNDB-6317 Internode compatibility with DSE. (vsearch)

CC internode compatibility with DSE
fix commit log version matching

It's a port of https://github.com/datastax/cassandra/pull/688 to vsearch branch. It's needed to ensure DSE 6.8 can communicate with 7.0.

Closed in favour of https://github.com/riptano/cndb/pull/8597.


Uploading to stackage?

Hi!  Thanks again for the work you put into this, it's been useful for me!  Just wondering if there any plans to put this package onto the stackage package database? :)
(If you wanted to, it's as simple as editing this file)

It is already in stackage: https://www.stackage.org/lts-4.1/package/human-readable-duration-<IP_ADDRESS>
The last version <IP_ADDRESS> should appear soon enough in a nightly build and certainly in the next LTS (4.2).
Best!

Ah thanks, I thought I looked, but I think I looked at the wrong snapshot.  Thanks!