Support Synchronous requests for SPM CLI tools

I am writing a CLI tool and SPM package that needs to perform lots of networking requests.  In the context of writing CLI tools it is fairly common to perform network requests synchronously (I think...I have only really done Ruby CLI dev and networking seems to by synchronous since I never had to deal with callbacks).  Anyways I am not sure if this would be worth adding to Moya but here is an extension I wrote for adding synchronous requests to Moya for my CLI tool.
public extension MoyaProvider {
    @discardableResult
    public func synchronousRequest<T: Decodable>(_ target: Target) throws -> T {
        return try synchronousRequest(target).map(T.self)
    }

    @discardableResult
    public func synchronousRequest(_ target: Target) throws -> Moya.Response {
        let semaphore = DispatchSemaphore(value: 0)
        var response: Moya.Response? = nil
        var error: Error? = nil
        request(target) { (result: Result) in
            defer { semaphore.signal() }
            switch result {
            case .success(let res):
                response = res
            case .failure(let err):
                error = err
            }
        }
        semaphore.wait()

        guard error == nil else {
            throw error!
        }
        return response!
    }
}

Is there a way that this could be added to Moya as a plugin?

I wouldn’t mind this addition. If the community does agree to add it I would kind of prefer it to be named requestSync so that it stays in line with the current request method.
Sent with GitHawk

@kdawgwilk What do you mean by a plugin? You could make a small supporting library for Moya, but let’s see what some others say first. IMO it makes sense to have if we’re supporting SPM at this stage and it doesn’t provide a ton of new overhead. It saves people boilerplate of wrapping a request with the semaphore.
Sent with GitHawk

I saw this line in the examples and wondered if the blocking could happen through a plugin
let gitHubProvider = MoyaProvider<GitHub>(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter)])

Plugin wouldn't work cause the API still requires callbacks to pass the data back

Yeah, I don't think it's possible in a plugin
I don't know exactly what you're trying to build, but I'd recommend re-visiting your assumption that a CLI has to have blocking requests. Great CLIs, from my experience, don't block. They show loading indicators and update with content when they finish loading.
They also make it possible to run multiple tasks at once, instead of doing them one at a time, which is probably what an architecture that incorporates blocking requests will result in. I'm thinking of tools like npm, buck, fastlane, etc.

Hey @kdawgwilk! I don't think that adding a synchronous version of a request is something that we should add to Moya. This is not seen as a good practice to use blocking requests. You can take a look at both NSURLSession and Alamofire - none of them support this behavior. You can also look at Alamofire#1147 for more detailed answer. (we support queues as well now!)

@sunshinejr are you talking about our callbackQueue? Or something else

@AndrewSB Yeah I'm talking about the queues that Alamofire uses as well.

I really do think a relatively simple CLI tool could benefit from having a synchronous request. I guess touching on what @AndrewSB mentioned: considering an asynchronous architecture may allow for greater expandability in the future, but it is also a hindrance for wanting to create something simple quickly.
However, my greatest fear is that by adding this to Moya, we'll encourage people to write bad code as they use this to solve the issue of dependencies between requests in iOS apps. See #1426

I'm going to close this because it seems like we all agree that adding a blocking request would be encouraging bad practice.

@kdawgwilk Hi !  I used the code you provided, but it doesn't work. The request callback doesn't invoke, and the main thread seems like be locked.

For future reference. I had the same problem as @canny09 and @Jeehut and solved it by setting the
callbackQueue: .global(qos: .background) when calling the request function.


Instructions on using ColBERT

@okhat
I am trying to use ColBERT for a document retrieval project I am working on and I'd like to ask if I have understood the procedure correctly. I am trying to perform a ranking task based on the similarity of passages. So if a query passage comes in, then among the document passages I have, the system has to retrieve the top-K most similar documents to the query.

Because both the queries and documents are long, I guess I would have to first preprocess them using utility/preprocess/docs2passages. If my understanding is correct his method just simply chunks the long text in a sliding window manner right?

Afterwards I need to prepare the dataset following the format query \t positive passage \t negative passage in .tsv format. Then I type in the following command in the command line to train my custom ColBERT model:

python -m colbert.train --amp --doc_maxlen 180 --mask-punctuation --bsize 32 --accum 1 -- train_dataset.tsv

Once the training is complete then there will be model checkpoint file that is saved. From this step onwards, I am planning to use the saved model checkpoint and the pyterrior framework

I am aware that first I need to index all my test documents using FAISS and I am planning to use following code to do so

import pyterrier_colbert.indexing
indexer = pyterrier_colbert.indexing.ColBERTIndexer(checkpoint, "/content", "colbertindex", chunksize=3)
indexer.index(test_df)

Here the test_df is a corpus of test documents (pandas dataframe) where it will have two columns: docno and text.

Once the indexing is done, then I will proceed to passing in the test queries to rank the top-K documents that were indexed in the previous step.  To achieve this I will use the following code (again using pyterrier):

pyterrier_colbert_factory = indexer.ranking_factory()

colbert_e2e = pyterrier_colbert_factory.end_to_end()
(colbert_e2e % 10).search(<query text>)

Does this step look about right? I will proceed as I have written above and if I encounter any problems I will ask again in this thread. Thank you :)

@okhat
Another question - when I use the following command to train the ColBERT model on my custom .tsv dataset
python -m colbert.train --amp --doc_maxlen 512 --query_maxlen 512 --mask-punctuation --bsize 8 --accum 1 --triples train_dataset.tsv

I get a log that is being printed in the following format

I wonder what each of these numbers represent.  So if I inspect just this line from the log

I am guessing that 1024 is the current number of training steps, 0.8598... is the loss, but I am unsure what 364.25 and 300.33 and 63.92... mean.

Hi @puzzlecollector ! Thanks for your questions.
You can use the pyterrier wrapper indeed, or you can check out our new_api branch, which I'd guess is more powerful but perhaps slightly less stable at this stage. It comes with a few perks, like easier indexing and much smaller index sizes due to internal compression of the embeddings. You can use it with the same checkpoint you're training now if you like, but it can't work with old indexes.
The steps look fine to me, though I've never used pyterrier before. However, your --query_maxlen 512 seems a bit excessive to me. Are you sure you need queries that long? I strongly advise 32 or 64 for this, and unless your passages really need to be that long, perhaps 256 is a better choice than 512 in practice considering efficiency. I'd increase the batch size to 32, using accum 2 or accum 4 if needed.
The logs print a sample of the scores of positive and negative passages, so in this case 364 and 300 are those scores. Training tries to maximize the gap between those essentially, which is the 63.92.

@okhat
Thanks for the kind answer :)
I am trying to use ColBERT for a document similarity task.
So given a query, I want to rank the top-K documents in the corpus that is similar to the query document. And these documents are pretty long, so I need to chunk them into smaller pieces, so maybe I will just chunk them into 256 token lengths and use batch size of 32 (with accum 2 or 3) as you suggested.
Also I will try and use the ColBERT repo's indexing and retrieval functionalities. I will follow up with a few more questions if I run into any problems during this process so please don't close this thread yet! Thanks :)

Awesome! When dividing docs to passages, make sure you handle the distinction between words and BERT tokens. In other words, 256 words is often much larger than 256 BERT tokens. The script docs2passages has support for both ways of dividing docs.

@okhat
In readme.md there are two methods of indexing
CUDA_VISIBLE_DEVICES="0,1,2,3" OMP_NUM_THREADS=6 \
python -m torch.distributed.launch --nproc_per_node=4 -m \
colbert.index --amp --doc_maxlen 180 --mask-punctuation --bsize 256 \
--checkpoint /root/to/experiments/MSMARCO-psg/train.py/msmarco.psg.l2/checkpoints/colbert-200000.dnn \
--collection /path/to/MSMARCO/collection.tsv \
--index_root /root/to/indexes/ --index_name MSMARCO.L2.32x200k \
--root /root/to/experiments/ --experiment MSMARCO-psg

and a second method (using FAISS I guess?)
python -m colbert.index_faiss \
--index_root /root/to/indexes/ --index_name MSMARCO.L2.32x200k \
--partitions 32768 --sample 0.3 \
--root /root/to/experiments/ --experiment MSMARCO-psg

and it says that I should use the second method for end-to-end retrieval (which is what I actually want to do anyways). So I guess I would have to run the first method first (thus creating indexes) then run the second method to apply FAISS to the created indexes from the first step right?
Afterwards I guess I can create a queries.tsv file (with query id and queries) for retrieval using the following command
python -m colbert.retrieve --amp --doc_maxlen 256 --query_maxlen 256 --mask_punctuation --bsize 256 --queries <path to queries> --nprobe 32 --partitions 327688 --faiss_depth 1024 --index_root <path to index> --index_name <index name> --checkpoint <path to checkpoint>

This all looks good to me, but you might want to remove --partitions, and let that be decided automatically by the code.
If you want to configure it yourself, then you can use sqrt(doc_maxlen * # of documents) as a good choice. You can round that to the nearest power of two if you want.

@okhat
Thanks for the prompt reply! Yes I'll do that. I actually don't really know what some of the parameters mean, so is there some documentation that I could maybe refer to?

@okhat
I have a few more questions

I am curious as to how the loss is actually computed. In the paper it says "ColBERT is used to produce a score for each document individually and is optimized via softmax cross-entropy loss over the computed scores of d+ and d-". So judging from this I guess the score between q and d+ is computed via the MaxSim operations described in the paper (and so is the score between q and d-) and after that we compute a softmax of the scores of (q,d+) and (q,d-) and afterwards compute binary crossentropy loss?

I have a question about this ColBERT architecture diagram (I want to clarify if my understanding is correct)

So here let's say if the query is "what passage talks about movies?" and upon tokenization we get [''what', 'passage', 'talks', 'about', 'movies', '?']. Then for each of these tokens the query encoder f_Q calculates the embeddings and each of these embeddings are "MaxSimmed" with all of the token embeddings of the document (extracted by the document encoder) right? And afterwards the MaxSim values for each of the query tokens are summed to produce the final score.  And typically cosine similarity or squared L2 distance is used for MaxSim.

As aforementioned I am planning to tackle a document similarity task using ColBERT. And my documents are pretty long. So far, I guess the only work around is to chunk the query and documents into smaller pieces. So if I have a triplet (query, positive, negative), then I will split each of them into n parts, such that we have (query_1, positive_1, negative_1), (query_2, positive_2, negative_2), ..., (query_n, positive_n, negative_n) where len(query_i) < 512 tokens (same goes for positives_i, negatives_i). However, I am afraid if this chunking method may result in significant information loss and thus degrade performance. Also another concern is that splitting a single datapoint into n parts will multiply the size of my dataset and training time will increase dramatically. I wonder if you can suggest me any other solution to this long document problem? A few methods I am thinking are

Use BigBird instead of BERT for encoders (but this does not really solve my problem - there are texts that are longer than 4096 tokens)
Use some abstractive summarization method (for example Pegasus? I am not an expert in NLP/summarization in general so I'm not so sure...) to shorten the query and the document and then apply ColBERT for ranking. But summarizing can also bring about information loss.

Your descriptions are correct on a quick skim. For Q3, I can assure you that dividing documents into passages works in every scenario I've seen. It should work in your use case too unless you have unusually important long-range dependencies. Long queries are a bit harder to reason about.
But my advice is: it's always easier to iterate than to put up a perfect design upfront. I'd start simple and see what failures appear. The simplest thing that would probably work very well already is to truncate the queries and the documents. Then you can divide the passages, and continue to truncate the queries. Then you can see how to divide the queries as well, to avoid truncation.
I'd stay away from changing the encoders or complex summarization pipelines. These bring their own challenges!

To add to this, I'm happy to help you iterate based on what you observe! I just encourage you to run a simple solution (not necessarily the one I described) and see how it works and where it fails.

@okhat
Thanks I'll try and will get back to you :)

@okhat
Is there a way to print the validation loss during training as well?

@okhat
I'm sorry for bombarding you with questions, but here's another one:
When slicing the long input texts with sliding window, typically people seem to assume that the query is short and the document is long. So in most of the papers I recently read, it seems like the document is cut into smaller passages with a sliding window of m tokens (something like 225 tokens) and a stride of k (something like 200) for instance. So formally we can write the document D = {p_1, p_2, ..., p_n}. Then for each passage p_i, we calculate the similarity (or relevance) score with the query: s_1 = score(q, p_1), s_2 = score(q, p_2), ..., s_n = score(q, p_n). And finally some kind of score aggregation takes place such as the max or the mean score.
final_score = MAX(s_1, s_2, ..., s_n)
or
final_score = (s_1 + s_2 + ... + s_n) / n
However, what happens if the query is also long and it has to be sliced as well? This is exactly the problem I am facing since I am trying to calculate similarity scores between documents. So the query and the document are both long texts. In this case suppose the query is Q and the document is D. Then let's say I slice both the query and the document with sliding window of 225 tokens and stride of 200 tokens. Then suppose I managed to get Q = {q_1, ..., q_n} and also D = {p_1, ..., p_m}. So the query Q is split up into n passages, whereas the document D is split up into m passages. Then what is the logical thing to do afterwards to calculate the final score?  The method I was thinking of is the following:
s_1 = MAX( score(q_1, p_1), score(q_1, p_2), ..., score(q_1, p_m) )
s_2 = MAX( score(q_2,p_1), score(q_2,p_2), ..., score(q_2, p_m) )
...
s_n = MAX( score(q_n,p_1), score(q_n,p_2), ..., score(q_n, p_m) )
and the final score is calculated as follows
S = MAX(s_1, s_2, ..., s_n)
I'm sure I can do a mean aggregation or some other methods (there is a paper called PARADE I think it is a good approach to score aggregation so I might refer to this paper). But anyways that is the basic idea I am thinking of implementing. Could you let me know if this method seems valid? or is there any other approach that you could suggest I try?
Thanks :)

This is a very nice discussion of the problem. Let's start simple @puzzlecollector ! How does the first passage of the query do? Presumably, it gets you very good results, as documents are often well-summarized by their first few sentences.
If yu want to build a reasonably advanced solution, I'd say you can encode the query with several envocations to the encoder, concatenate the output embeddings, then do a single "MaxSim" interaction.
Does that make sense? This basically says that the interaction happens for the full query at once, but the encoding can happen over the slices. The same logic can apply to the documents too. But starting simple will tell you whether you need this at all!

@okhat
I am dealing with patent documents (specifically, using the claims part of the patent document) and I am unsure if the information is summarized well at the beginning of the document, so I might need to go the hard way. Your suggestion sounds interesting. This is how I understood it:
Suppose I use the same 225 sliding window with 200 token strides. Then query is cut up into m pieces and document is cut into n pieces. Q = {q_1, ..., q_m} and D = {d_1, ..., d_n}. Now for each of the pieces I pass them through ColBERT to obtain an embedding.
e_{q_1} = ColBERT(q_1)
...
e_{q_m} = ColBERT(q_m)
and
e_{d_1} = ColBERT(d_1)
...
e_{d_n} = ColBERT(d_n}
Now we obtain a concatenation of these embeddings for both query and document:
e_q = Concatenate(e_{q_1}, ..., e_{q_m})
e_d = Concatenate(e_{d_1}, ..., e_{d_m})
Then we calculate the cosine similarity of e_q and e_d
score = MaxSim(e_q, e_d)
Is this the process you described in your answer? Let me know if I understood correctly :)

This is exactly what I described indeed. (To keep things simple, focus on re-ranking and not end-to-end retrieval. Retrieval can be done based on the first passage of Q and D, or using a model that has no length limitation like BM25.)

@okhat
Thanks. Also, I was looking at the training code (training.py) and what do the arguments args.rank and args.nranks mean?

@okhat
I have a few more questions:

How exactly does batching work? Specifically, looking at this training loop

    for batch_idx, BatchSteps in zip(range(start_batch_idx, args.maxsteps), reader):
        this_batch_loss = 0.0

        for queries, passages in BatchSteps:
            with amp.context():
                scores = colbert(queries, passages).view(2, -1).permute(1, 0)
                loss = criterion(scores, labels[:scores.size(0)])
                loss = loss / args.accumsteps

            if args.rank < 1:
                print_progress(scores)

            amp.backward(loss)

            train_loss += loss.item()
            this_batch_loss += loss.item()

        amp.step(colbert, optimizer)

        if args.rank < 1:
            avg_loss = train_loss / (batch_idx+1)

            num_examples_seen = (batch_idx - start_batch_idx) * args.bsize * args.nranks
            elapsed = float(time.time() - start_time)

            log_to_mlflow = (batch_idx % 20 == 0)
            Run.log_metric('train/avg_loss', avg_loss, step=batch_idx, log_to_mlflow=log_to_mlflow)
            Run.log_metric('train/batch_loss', this_batch_loss, step=batch_idx, log_to_mlflow=log_to_mlflow)
            Run.log_metric('train/examples', num_examples_seen, step=batch_idx, log_to_mlflow=log_to_mlflow)
            Run.log_metric('train/throughput', num_examples_seen / elapsed, step=batch_idx, log_to_mlflow=log_to_mlflow)

            print_message(batch_idx, avg_loss)
            manage_checkpoints(args, colbert, optimizer, batch_idx+1)

It seems that if I set the bsize argument to 32, and doc and query max length as 256, then the queries and the passages size seem to be [16,256], [16,256] respectively. From this I guess we process bsize/2 queries and bsize/2 documents for each training step?

Also, while training the log prints out the loss and the scores of positive, negative passages as well as their difference. You mentioned before that the training tries to maximize this difference, so as the training progresses, I should expect to see the loss decreasing and at the same time the difference getting larger. Is this concept correct?

@okhat
I'm planning to try out sliding window to split up long query and document then train ColBERT using my MaxP method.
As a recap, my MaxP method is: set sliding window size to 180 and overlap to 20. So Each passage has 180 words and the slices have 20 words overlap. Using this method, I will preprocess my triplet train set. Suppose split(x) splits the text using the method I described. And |split(x)| denotes the number of parts text x was split into. So using window of 180 words and overlap of 20 words, if I managed to split the text x into 4 parts, then |split(x)| = 4. Now, if I apply this to my triplet data set, then the size of my triplet dataset will become
\sum_{i=1}^{K} |split(query_i)| * |split(positive_i)| * |split(negative_i)|
Where K is the total number of samples in the train dataset. Once I have this sliced dataset, I will train the ColBERT with this dataset. The part I have to change is the inference part. Given a query and a document,
{q_1,...,q_n} = split(Q)
{d_1,...,d_m} = split(D)
and I want to calculate the score via the following
S_q1 = Max(ColBERT(q_1, d_1), ... , ColBERT(q_1, d_m))
...
S_qn = Max(ColBERT(q_n, d_1), ..., ColBERT(q_n, d_m))
The final score is calculated by
S = Max(S_q1,...,S_qn)
If I want to implement this, which part of the code should I change? I suspect it is somewhere in the evaluation folder...

If you want to try this, my suggestion is to use the existing standard colbert as a retriever (for top-100 or top-1000 results) and then write your own re-ranking code on top of that. Modifying the ranking code is quite difficult, and I'm afraid I won't be able to support it in general. It's not in the evaluation directory, but rather in ranking (for v1 code) and search iirc (in v2 code).

I have been trying to classify the document into suicidal or not. The document has 2 columns, 1 the tweet and the other is the label mentioning if its suicidal or not. Need help in training the model , building a saved model to get the doc and classify it. Currently I'm using the humour detection saved model on the suicidal detection and the accuracy is no more than 60%. Kindly help on this issue. Thank you in advance

@kaushicaravind2000 I will re-open and respond in your other issue.


Added the StateLayout

Description of Change
This PR adds StateLayout and all of its helper classes. This is currently up as a separate NuGet called "StateSquid" here:
https://www.nuget.org/packages/Xamarin.Forms.StateSquid 🦑
Bugs Fixed

Implements #275

API Changes
Added all the classes as already described in #275. The only thing I haven't put in here is the SkeletonView that was mentioned there. I don't want to take that in to be honest, as I think it should be up to the user to create their own visualization. I'm sure we could come up with a better skeleton loading solution anyway.
PR Checklist

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

I hope to be able to add some documentation for this and can port some of the existing samples from the repo. Not sure if I'll come around to writing some adequate tests due to time constraints, so if anyone is up for that feel free to add them.

Builds 🎉

Hmmm, something went wrong with rebase, I guess

Hmmm, something went wrong with rebase, I guess

Working on it :)

I rebased once more. Unless we can come up with a better name I'd say leave State as is for now. ViewState is a possible alternative, but that can also be a bit confusing. Regarding making the State constant strings, I'm personally not a fan as it would require quite rewriting and logic adjustments. I personally don't have the time for that and would make migration for existing users more cumbersome (I think).

I rebased once more. Unless we can come up with a better name I'd say leave State as is for now. ViewState is a possible alternative, but that can also be a bit confusing. Regarding making the State constant strings, I'm personally not a fan as it would require quite rewriting and logic adjustments. I personally don't have the time for that and would make migration for existing users more cumbersome (I think). @jfversluis @AndreiMisiukevich

That's up to you.
But I do like "LayoutState" name. Similar to "ExpandState" in Expander. Or StateLayoutState.

@AndreiMisiukevich I renamed to LayoutState, let's see how it goes :)


Initial proposal for constructors and destructors

This proposal adds user-defined constructors and destructors to HLSL and defines how they should interact with semantics and global initialization.

Why does GitHub keep automatically closing this?


Add the VMSS model limit

Users receive an error if they attempt to have more than 10 models in a VMSS with Unique orchestration. This limit does not appear to be published in the documentation. Suggest adding this here or on another relevant page.
MyVmssName has reached its limit of 10 models that may be referenced by one or more VMs belonging to the Virtual Machine Scale Set. . Upgrade the VMs to the latest model of the Virtual Machine Scale Set before trying again.

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

ID: d7a7f17c-553a-9196-b047-7ddd70c477c6
Version Independent ID: ddbbd498-a7cf-f44a-f4fc-7f2e78f45f40
Content: Orchestration modes for Virtual Machine Scale Sets in Azure - Azure Virtual Machine Scale Sets
Content Source: articles/virtual-machine-scale-sets/virtual-machine-scale-sets-orchestration-modes.md
Service: virtual-machine-scale-sets
GitHub Login: @fitzgeraldsteele
Microsoft Alias: fisteele

assigning to author for review.

@ju-shim Can you check with Jerry on whether this should still be open?

Thanks for your contribution to our documentation
We sincerely apologize for the delayed response. Unfortunately, we have been unable to review this issue in a timely manner. However, we are making overall enhancements to our content. We are closing this issue for now as there has been no activity for a while. If you feel that the problem persists, please respond to this issue with additional information.
?
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


Remove everything about ActionMailer and ActiveJob

We can't remove the gems since rails pulls them in, but we can avoid loading them in the first place.

Looks like we need to also remove spec/support/action_mailer.rb


Scope/requirements

I would like to define what is in and out of scope for the initial iteration of TinyKV. I'll start to make a list here, please comment if I got something wrong or if there are other things which should be in or out.
cc @siddontang, @Connor1996
In scope

[ ] Test framework
[ ] Distribution using Raft (Raft implemented as part of TinyKV, not using a library)
[ ] Raw and transactional API
[ ] Optimistic transactions (Percolator-style)
[ ] Using the same protocols as TiKV for IPC and communication between nodes
[ ] PD to balance regions and provide timestamps
[ ] Interoperable with TinySQL

Out of scope

Any kind of engine abstraction
Debug or diagnostics services (for development only)
Metrics/statistics
Any GC
Pessimistic transactions
backup/restore; sst import
profiler
status server
coprocessor
batched commands
security
interoperable with real TiDB and real PD

More things I'm unsure about given the code:

txn heartbeat requests
cleanup requests (Not sure if this counts as GC)
MvccGetByKeyRequest and MvccGetByStartTsRequest
skip the constraint check in prewrites (I think this is just an optimisation, not sure).
no need, except cleanup requests(it's not only used by GC, but also for cleaning up the expired lock on primary key)

And here is part of the Context proto, I'm guessing we don't need to support these things, but not sure:
    CommandPri priority = 6;
    IsolationLevel isolation_level = 7;
    bool not_fill_cache = 8;
    bool sync_log = 9;
    bool handle_time = 10; // true means return handle time detail
    bool scan_detail = 11; // true means return scan cf's detail
    bool replica_read = 12;
    repeated uint64 resolved_locks = 13;
    uint64 max_execution_duration_ms = 14;

    // After a region applys to `applied_index`, we can get a
    // snapshot for the region even if the peer is follower.
    uint64 applied_index = 15;

yes, no need to support these. Maybe keep and ignore them for now, we can delete them step by step when integrating with TinySQL.

And another question - should we implement the short value optimisation of putting short values in the lock itself?

no need


Countdown gets broken if paused in between

The countdown stops counting down completly and one needs to leave to the menu to restart the mode

isPaused is added and is now called inside the stage pause and resume calls properly


BUILD FAILED in my mbp m1

** BUILD FAILED **
The following build commands failed:
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
(2 failures)

Same here. We're probably missing a requirement.

Unfortunately you have to build this using Xcode

Unfortunately you have to build this using Xcode


gogoanimex (improved gogoanime site)

Source name
Gogoanimex
Source link
https://gogoanimex.to/
Source language
english
Other details
This might seem like a shady gogoanime link, but I checked through it and it's a safe and legitimate site from what I can tell. It's basically an improved version of the original gogoanime. I think we'd be able to have both at the same time the same reason we have 2 wco extensions. Thanks in advance!
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a title with source name.
[X] I have checked that the extension does not already exist on the website extensions list or the app.
[X] I have checked that the extension does not already exist by searching the GitHub repository and verified it does not appear in the code base.
[X] I will fill out all of the requested information in this form.

It's a mirror of 9anime, which already exists as an extension.


docs: schema updates

This PR aims to decouple the site navigation from the manifest.json, it also includes adjustments to the service JSON schema required for features the gcloud-ruby team has proposed.

Links

New schema gist
Demo (Waiting on site updates)

TODOS:

[ ] Split Manifest JSON - https://github.com/GoogleCloudPlatform/gcloud-common/issues/77

[ ] Create Navigation JSON - https://github.com/GoogleCloudPlatform/gcloud-common/issues/78

[ ] Update Service JSON schema

[x] Remove metadata keys
[x] Make id keys unique - https://github.com/GoogleCloudPlatform/gcloud-common/issues/79
[x] Create methodGroups - https://github.com/GoogleCloudPlatform/gcloud-common/issues/80
[x] Create type key - https://github.com/GoogleCloudPlatform/gcloud-common/issues/81
[ ] Create title key - https://github.com/GoogleCloudPlatform/gcloud-common/issues/82
[x] Create parent & children keys - https://github.com/GoogleCloudPlatform/gcloud-common/issues/83
[ ] Create inherits key - https://github.com/GoogleCloudPlatform/gcloud-common/issues/84

[ ] Update docs script to validate JSON against common schemas - https://github.com/GoogleCloudPlatform/gcloud-common/pull/67
[ ] Re-generate JSON for older versions
[ ] Wait for gcloud-common site to support these updates

/cc @blowmage @quartzmo

:metal:

As this progresses, can you publish the output to your gh-pages (or anywhere) so that we can follow the action?


Tried to pay on https://lightningshop.eu/ tip box. Eclair closed automatically.

Hi,
I tried to pay on https://lightningshop.eu/ tip box. Eclair closed automatically.
I opened Eclair again and now the payment is pending.

How long this payment will be pending? Will I receive the money back?

What's your node id? (Menu > Network Overview)

Updating:
1- Yesterday i tried to pay https://lightningshop.eu/ tip box three times, they failed.
2- Today I tried to pay again and now worked.
3- The one of this issue, is still pending.
Will stay pending forever?
Thanks.

If it is stuck on pending then it is probably a communication problem.
I have had the same issues in my environment and in many cases it turns out that it is a network problem.
Check your internet connection or disconnect from your WiFi and try to make a new payment again.


Clearing css style

I noticed the CSS style changes used to highlight the node/edge on click and that works fine, but how can we revert it? I guess setting stroke and fill back to black but then I'll need to get a list of nodes/edges.
There's no way to get a list of nodes and/or edges in the graph to iterate. I guess I could keep a copy of those in a list but seems like a waste of resources.
Basically what I want to do is to clear (revert to black) when user clicks another node/edge.

Sorry about the long delay. Just for reference, it is possible to unset a CSS property by setting it to null. I have updated the demo to show this.


[Idea] Wasm mods

Hey dave. Have you considered embedding a webassembly runtime and compiling mods to wasm?

It solves security concerns by sandboxing.
wasm is great for server-provided mods because they don't need to be rebuilt for every supported client.
wasm runtimes are getting really fast, wasmer with llvm backend clocks in around 1.5 times native speed on benchmarks.

Thanks for the suggestion, but I think I'm relatively happy with the solution I have.
I already have Lua/LuaJIT that does a great job for supporting most of the requirements of mod development. The issue I faced was performance when doing things that required a lot of updating of little bits of data, in particular terrain generation and the particle system. The issue was that the interface that I had between Lua and C++ was slowing things down.
I could probably have solved this by actually moving more of the data and code to LuaJIT/FFI, which would have reduced a lot of the performance bottlenecks, but I decided instead to make it as fast and simple as I reasonably could, by implementing the C plugin system for those things that just have to be as fast as possible.
So I don't see how wasm fits in this scenario, and I'm already far too deep. It would be quite a bit of work to now investigate, learn, and implement a new language/system, and really doesn't seem like a good idea for the project at this point.
I'll keep it in mind for future projects though.


Refactor user group settings

Description

[X] Reuse Render Blocks -> Done, now there's a new component based in the Groups form.
[X] Form & Fields ---> Done, changed the state to be controlled by the parent.
[X] Remove eslint-ignore for hook dependencies —> Done, changed how to display the error messages
[X] Avoid try/catch usage on the frontend, lean into Promises --> Done
[X] Files should be named the same as their components -- eg MenuOptionMultiSelect is in MultiSelection.tsx -- omit Option in the name
[x] Handle optional case behind type of OdhDashboardConfig --> Done, although I'm not sure if this is the solution you were looking after.
[X] What did we do with the detectUser call you made? That probably is needed to refresh the user state to see if they did something to their permissions, no? —>  I don’t recall that part, and it’s not present in the code, can’t remember why i added that.
[X] Avoid constant text --> Done, you're right, changed
[X] Convert flatmap --> Done
[X] Generic utility for reading your state at empty --> Created a constant and a generic function in utils
[X] GroupTypes.ts should be groupTypes.ts or group-types.ts -- Components are PascalCase, utilities are camelCase or snake-case -- not sure what we do here or if we have a standard... avoid PascalCase for anything that is not directly a component (of the same name)
[ ]  Throwing error if admin is system:authenticated; we should look to present this as an issue in the UI --> I would further discuss this one, cause right now if it’s added by force, the system will clean up the group since it doesn’t exist.
[ ] Avoid PF CSS Overrides -> No completed, I've reduced CSS to the minimum, but Cards have a different style than the one provided by UX, and is adding more complexity (layout-wise) to the form, and the padding is not formatted.
[ ]  We may want to look at your new hook too, is there more we can do here? It takes A LOT and returns A LOT, maybe needed to be this complex, but we can see about that —> Yes, not done right now, I would love to have a discussion about that, maybe in a different PR.
[ ] Apply to the GroupSettings form the isWidthLimited property (docs) ---> Not applied, maybe cause we are using an old version of patternfly, but maxWidth is missing from Form, and when applying isWidthLimited is limited to 500px width.

How Has This Been Tested?

Follow the steps in the CONTRIBUTING file to build, push and deploy an image of this PR.
Navigate to Settings > User management
Try to add and remove groups

Merge criteria:

[X] The commits are squashed in a cohesive manner and have meaningful messages.
[X] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[X] The developer has manually tested the changes and verified that the changes work

@andrewballantyne updated withh all the suggestions, thanks.

Going to hold this until after 2.3.0 -- 1.17 is going to be another bump in the road for QE, and I want to avoid them having an issue with a code refactor.

Ok, holding off this and I'll rebase and update for 2.3.0


"No data" Issue on LEDE 17.01.04

Running for a few days and I get this in syslog when the GUI shows 'No data recorded yet.' and 'Force reload' for MAC data:
Wed Jan 17 15:17:55 2018 daemon.err nlbwmon[9277]: Unable to handle 'dump' command: Resource temporarily unavailable
Wed Jan 17 15:17:55 2018 daemon.err uhttpd[1293]: Error while processing command: No data available
Wed Jan 17 15:17:59 2018 daemon.err nlbwmon[9277]: Unable to handle 'dump' command: Resource temporarily unavailable
Wed Jan 17 15:17:59 2018 daemon.err uhttpd[1293]: Error while processing command: No data available
running under console completes fine:
./usr/sbin/nlbwmon dump
(lots of data)
Have relocated storage to /opt onto removable USB which is accessible and fine.

I had this.  I ended up finding that restarting nlbwmon did the trick to get it behaving.
AFAICT, it doesn't affect data capture, only display.
Not sure if it's related, but I'm finding that the graphical display won't show old data.  It works fine for current period, but when requesting old periods, it displays the current period instead.

I had the same problem on openwrt cc（15.05），and I try openwrt 18.06 ，it work okay.
I suspect it's a problem caused by the kernel version ，old kernel version（3.18.84）doesn't  send netlink message to user space nlbwmon.

I got it, the kernel config must  be selected "CONFIG_NF_CONNTRACK_EVENTS".

I seem to have the same problem on 18.06-rc1 on ipq8064. However i have  CONFIG_NF_CONNTRACK_EVENTS=y in build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x/linux-4.14.50/.config

I still get this issue intermittently. I am on OpenWrt 18.06.0

As reported by @systemcrash running strace -p $(pidof nlbwmon) temporarily resolves the issue.

No solution for this issue?

I believe this issue has been addressed by ef3fa582b54a6899e7042726157909637974a278. Please open a new issue if you still see this.

The issue persists even after ef3fa58


Docker: Upgrade Alpine to 1.18 and add bash to container

Alpine upgrade to 1.18 is useful due to TCP fallback support finally in DNS resolver.
https://alpinelinux.org/posts/Alpine-3.18.0-released.html
Idea behind adding bash as well is so that debugging would be easier in the container.

Hey @samip5! Good stuff 😃 Is there a specific thing that you're looking for in bash that the default sh does not provide?

Hey @samip5! Good stuff 😃 Is there a specific thing that you're looking for in bash that the default sh does not provide?

There is not particularly, but I have found that most containers have it despite being alpine based or not so it's a little odd to find that it's not there.

Fair point - I've been hestitant to add unneeded packages to the runtime layer since my take on the container idea is that you should not really need to attach and peek around, and if you do have to, you can add all the packages you need yourself via apk.
But let's adopt bash and see where it takes us - it could be a win for people running workflows based on (ba)sh scripts!

if you do have to, you can add all the packages you need yourself via apk.

That doesn't work well if you're running it unprivileged. :)


workaround Scala 2.12 not detecting *.jar changes

Fixes sbt/zinc#282
Ref scala/bug#10295
exportJars := true exposes JAR file as subproject dependency.
Scala 2.12.2 fails to invalidate the source it's used. -YdisableFlatCpCaching works around this. (Thanks @smarter for letting me know)

@eed3si9n Thank you for taking the time to investigate and fix this issue, I really appreciate it.

@jvican you're welcome. turned out to be an unexpected cause.


render() got an unexpected keyword argument 'renderer'

Since Django 2.1 the renderer argument must be passed explicitly.

OS: Manjaro
django-bootstrap4: 0.0.6
python: 3.7
django: 2.1

Issue should be easy replicated just by upgrade to Django 2.1

Can you add a log, an example, or even better: a test that shows this error?

Sure thing, the log is here: error.log, its baiscally failing on rendering location field with bootstrap4 styling. I thing I can also provide some minimal test example by tomorrow.

A test would be awesome, will wait for that.

Hi!
I've confirmed yesterday the problem lays in django-location-field (missing explicit renderer in LocationWidget.render()). I was misled by python stack trace, django-bootstrap4 seems perfectly fine.
Thanks for quick answer and encouragement for more digging :)
Best Regards!


Node16 module resolution treats type: "commonjs" differently than type: "module"

Bug Report
When importing a package with that uses the exports field of package.json with subpaths to point to separate builds for import and require/default conditions, TypeScript thinks there is no commonjs build of a subpath import available even when the default import condition points to a file with a package.json above it with type: "commonjs" if the main package.json has type: "module".
🔎 Search Terms
node16 module resolution, package.json, type module, type commonjs
🕗 Version & Regression Information
I see this output with TypeScript 4.7.4 and 4.8.4.
⏯ Repo Link
This can be seen with a few changes to the package-json-redirects approach in node_modules of @andrewbranch's example-subpath-exports-ts-compat repo https://github.com/andrewbranch/example-subpath-exports-ts-compat/pull/2/files:
open examples/node16-resolution/main.cts and observe the VSCode errors or run npx tsc.
output of from tsc run on the branch linked above
tomb@Thomass-MacBook-Pro node16-resolution % npx tsc
main.cts:9:30 - error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("package-json-redirects")' call instead.

9 import { index as pjr } from "package-json-redirects";
                               ~~~~~~~~~~~~~~~~~~~~~~~~

main.cts:10:31 - error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("package-json-redirects/one")' call instead.

10 import { one as pjrOne } from "package-json-redirects/one";
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

main.cts:11:31 - error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("package-json-redirects/two")' call instead.

11 import { two as pjrTwo } from "package-json-redirects/two";
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Found 3 errors in the same file, starting at: main.cts:9

🙁 Actual behavior
TypeScript believes the referenced file is an ECMAScript module and cannot be imported with require.
Go To Source Definition in VSCode find the correct file, but the presence of a package.json file with type: "commonjs" is not enough for TypeScript to identify it as a CJS build from the import.
🙂 Expected behavior
TypeScript would find the CJS build via subpath imports and identify it as CJS by walking up to find the first package.json and finding type: "commonjs" in it.

This was an bug in my understanding, the behavior here is that the types will be interpreted based on the top-level type: "module". There mist be some one way types thing where CJS types can be used for eSM types, but not the other way around?


qgis: 3.32.3 -> 3.34.0

Description of changes
Update QGIS to the latest version.
Changelog: https://changelog.qgis.org/en/qgis/version/3.34/

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg build qgis

Thank you very much @sikmir


[move-prover] Attempt to fix Boogie crash by setting TMPDIR.

This is an attempt to fix the boogie racing condition by setting TMPDIR to our temporary test directory. Dotnet seems to consume this env variable to determine where to put temporary files (verified with opensnoop). Its a blind shot because the issue is not locally re-producable.
Motivation
Test flakiness.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
NA
Related PRs
NA

@bors-libra r=junkil-park

:pushpin: Commit e7af0e2 has been approved by junkil-park

:hourglass: Testing commit e7af0e24215cbc394dad1454c56daa36cdd223ea with merge e557b03d8fbb9d8378f83b8bc92ac8a9ed76cfa3...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: junkil-park
Pushing e557b03d8fbb9d8378f83b8bc92ac8a9ed76cfa3 to master...


hashsum: move help strings to markdown file

#4368
$ cargo run -- hashsum -h
    Finished dev [unoptimized + debuginfo] target(s) in 2.82s
     Running `target/debug/coreutils hashsum -h`
Compute and check message digests.

Usage: target/debug/coreutils hashsum [OPTIONS] [FILE]...

Arguments:
  [FILE]...

Options:
  -b, --binary       read in binary mode
  -c, --check        read hashsums from the FILEs and check them
      --tag          create a BSD-style checksum
  -t, --text         read in text mode (default)
  -q, --quiet        don't print OK for each successfully verified file
  -s, --status       don't output anything, status code shows success
      --strict       exit non-zero for improperly formatted checksum lines
  -w, --warn         warn about improperly formatted checksum lines
      --bits <BITS>  set the size of the output (only for SHAKE)
      --no-names     Omits filenames in the output (option not present in GNU/Coreutils)
      --md5          work with MD5
      --sha1         work with SHA1
      --sha224       work with SHA224
      --sha256       work with SHA256
      --sha384       work with SHA384
      --sha512       work with SHA512
      --sha3         work with SHA3
      --sha3-224     work with SHA3-224
      --sha3-256     work with SHA3-256
      --sha3-384     work with SHA3-384
      --sha3-512     work with SHA3-512
      --shake128     work with SHAKE128 using BITS for the output size
      --shake256     work with SHAKE256 using BITS for the output size
      --b2sum        work with BLAKE2
      --b3sum        work with BLAKE3
  -h, --help         Print help
  -V, --version      Print version

Do you want me to squash it into one commit?

don't bother, we can do it in github


strange bug with _score in combination with LIMIT

CrateDB version: 2.0.4
OS version / environment description: crate docker installation
Problem description:
_score >= 10.0 with LIMIT is not working.
Steps to reproduce:
SELECT name, _score FROM products WHERE MATCH((name_tri, name_ft 15.0, alltext_tri, alltext_ft
5.0), 'X2100') AND _score >= 10.0 ORDER BY _score DESC LIMIT 5;
The result contains 5 items and not 1!
Gefütterte Sommerjacke | 26.480024
Leinenshirt mit Knopfleiste | 5.912343
Strickjacke | 5.912343
Paisleyschal | 5.912343
Tunika Ausbrenner-Ranken | 5.912343
In the result are rows with a _score lower then 10.0!
Strange behavior: When set LIMIT to 4 or 5 the result is wrong.
LIMIT with 1,2,3 or greater than 5 are correct.
Table is clustered into 4 shards.

hi @monosize, we will look into that, thanks for reporting.

We've a fix for this which will be part of the next 2.0.y hotfix release (https://github.com/crate/crate/pull/5932)


ibc initial data

Also, it's important to make sure it builds on the latest main branch before merging

There seems to be a failing test after you brought in the latest changes. Please open another PR to fix.

but last action show success test from main branch

after restart test


[DNM] Removes some deprecated/unused functions and makes it more appropriate for us

Still working on this but it's a good start. Feel free to add anything I forgot. I need to add more to the Brewfile and take out a few more things too.
Need to make it work with the M1. uname -m should help here

I'm going through the script and adding these brew installs that weren't in the original script. I assume the 'brew heroku' command is for the heroku cli? If so that command didn't work and I think the correct one is 'brew install heroku/brew/heroku'

ahh nvm I'm seeing this tap command on line 110 tap 'heroku/brew' and that's probably taking care of that.


Geometry and material pool

Fixes #88
Merge https://github.com/CesiumGS/cesium-omniverse/pull/252, https://github.com/CesiumGS/cesium-omniverse/pull/263, and https://github.com/CesiumGS/cesium-omniverse/pull/264 first. This branch includes changes from those branches. Once those are merged I'm going to squash this into a single commit and mark as ready for review.
The main idea here is that we can preallocate a bunch of Fabric geometries and materials and reuse those as we stream in tiles. This has two main advantages:

Performance: material compilation is slow and can hitch the main thread. By preallocating in advance we get better performance while navigating the scene. See #169 for why we can't just use a single material for all tiles (in short: texture asset paths aren't allowed as primvars)
Visual quality: no more red flashes except when the tileset is initially loaded, since materials are now compiled in advance. There are still some white tiles that appear but whatever's causing this seems to have been fixed in the latest Kit pre-release.

Quick overview of the classes:

ObjectPool - Generic pool class that doubles in capacity when it hits 75% occupancy. Objects in the pool are acquired and released as shared pointers.
FabricGeometryPool - Subclass of ObjectPool that manages creation of FabricGeometry objects
FabricGeometry - Encapsulates a Fabric geometry prim. Responsible for initializing, reusing, and destroying the geometry.
FabricGeometryDefinition - A summary of a FabricGeometry. Geometries with different FabricGeometryDefinition can't be pooled together because the Fabric prim structure is different.
FabricMaterialPool - Subclass of ObjectPool that manages creation of FabricMaterial objects. The initial capacity is 2000 which is roughly the number of tiles cesium-native has in memory when using the full default maximum memory usage for Cesium World Terrain. This seems to be the sweet spot of not being too slow when the tileset is first loaded (2-3 second stall) while avoiding having to expand the pool (and compile materials) at runtime.
FabricMaterial - Encapsulates the various prims that make up a Fabric material. It also holds onto a DynamicTextureProvider whose image contents be swapped out whenever a new tile loads in.
FabricMaterialDefinition - Similar to FabricGeometryDefinition but extra strict because dynamic material values aren't supported in Kit 104.2 (e.g. tiles with roughnessFactor 0.0 and 1.0 will be placed in separate pools). This is also why translation and scale are baked into the texcoords, because every tile has different values for those and it would be impossible to reuse the same materials. With Kit 105 these restrictions will no longer apply.
FabricMeshManager - Singleton and main entry point for acquiring and releasing FabricMesh objects
FabricMesh - Encapsulates a FabricGeometry and FabricMaterial

One last note - geometry pooling is currently disabled on this branch for a combination of reasons:

Texcoords can't be changed dynamically Kit 104.2 which is needed for geometry pooling. This has been fixed in a pre-release (see #243).
Geometry pooling might be bad for performance since it means updating vertices frequently and potentially thrashing the BVH. This is just speculative at this point.

I was hoping to get geometry pooling working to fix #255, but we'll just need to wait until the next Kit release which fixes the underlying bug.

@weegeekps noticed that there's a segfault when adding Cesium World Terrain (blank) then Bing Maps Aerial to it. I still need to look into that.


feature/upgrade activesupport to 7

feat: #62 update activesupport to 7
feat: #62 テストでエラーが発生したのでrequireを追加

Codecov Report

Merging #63 (dee8934) into master (726929e) will increase coverage by 0.07%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #63      +/-   ##
==========================================
+ Coverage   80.88%   80.95%   +0.07%
==========================================
  Files          12       12
  Lines         272      273       +1
==========================================
+ Hits          220      221       +1
  Misses         52       52

Impacted Files
Coverage Δ

lib/hatenablog_publisher/context.rb
88.09% <100.00%> (+0.29%)
: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 726929e...dee8934. Read the comment docs.


Add Inventory Viewer config option to hide viewer when player inventory is open

I love the inventory viewer but it drives me nuts to have a duplicate inventory visible while my player inventory is open. This PR adds a simple config option which hides the viewer when then player's inventory is currently open.

Closing this because it's way out of date, many conflicts, and because after playing for the first time in a long time and checking the plugin just now I see someone else added this feature. Appears to have been added in 6b11afd907c5f129e64b79cc99d1207b7d227ae5.


Exception during install

I was following the installation guide both in the docs and the readme.
Each time I ran into an exception when executing: djangocms -f -p . mydemo
Dependencies installed
Creating the project
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 346, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/core/management/base.py", line 394, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/core/management/base.py", line 445, in execute
    output = self.handle(*args, **options)
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 93, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 19, in __init__
    self.loader = MigrationLoader(self.connection)
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 47, in __init__
    self.build_graph()
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 191, in build_graph
    self.applied_migrations = recorder.applied_migrations()
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 59, in applied_migrations
    self.ensure_schema()
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 49, in ensure_schema
    if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 162, in cursor
    cursor = self.make_debug_cursor(self._cursor())
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 135, in _cursor
    self.ensure_connection()
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 130, in ensure_connection
    self.connect()
  File "/home/my_user_account/dj-cms/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 114, in connect
    self.close_at = None if max_age is None else time.time() + max_age
TypeError: unsupported operand type(s) for +: 'float' and 'str'

I tried replicating this on a different machine with the same result. I also tried Python 2.7.* and 3.*. Both machines are running Ubuntu 14.04 LTS.
The exception can be replicated by running ./manage.py migrate after the failed install.

Output of pip freeze:
cmsplugin-filer==1.0.1
dj-database-url==0.4.0
Django==1.8.9
django-appconf==1.0.1
django-classy-tags==0.7.1
django-cms==3.2.1
django-filer==1.1.1
django-formtools==1.0
django-mptt==0.8.0
django-polymorphic==0.8.1
django-reversion==1.8.7
django-sekizai==0.9.0
Django-Select2==4.3.2
django-treebeard==4.0
djangocms-admin-style==1.1.0
djangocms-column==1.6.0
djangocms-googlemap==0.4.0
djangocms-inherit==0.1.1
djangocms-installer==0.8.5
djangocms-link==1.7.1
djangocms-style==1.6.0
djangocms-text-ckeditor==2.8.1
easy-thumbnails==2.3
html5lib==0.9999999
Pillow==3.1.0
pytz==2015.7
six==1.10.0
tzlocal==1.2
Unidecode==0.4.19
wheel==0.26.0

@nielsole see nephila/djangocms-installer#235
This is due to a bug in the installer + new version of dj-database-url which has just been released.
A fix is due shortly

Great, thanks!


fix: await taskqueue in pouchdb-wrappers

This PR ports the fix here which awaits PouchDB's task queue before calling handler chains. Otherwise handlers are at risk of running twice.

Please merge it🙏


[WIP] Configure nat out feature before CNI reply is sent

Coverage decreased (-0.4%) to 75.751% when pulling 60d68e2cf3b3124fb833ca09a60cc2ca12530af3 on lukasmacko:serviceFix into 517246d69daee8414baa48b7b3d3a5579005669d on contiv:master.


Provide Way to Handle Multiple Jars with Main-Class Entries

Sometimes projects have dependencies containing Main-Class entries in their manifests.  Since this buildpack picks the first Jar found with such an entry, this can lead to not picking the right Main-Class.  Perhaps an env var could be used to specify a glob for the desired Jar containing the right Main-Class.

Seems totally reasonable.

This would be really nice to have.


I can't seem to get any ad to work.

I've tried for quite some time now but i cant seem to get any ad to work. Can I get some help please?
This is my code.

banner demo

Show

What kind of errors do you have?

Close as no reply.


A safe-to-use stack capture trace utility

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#55
#54
#53
#52
#51
#50  👈
#49
#48
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @steveluscher and the rest of your teammates on  Graphite


Exclude URLs ending with xmlrpc.php

Closes #1210.

Looks good. I'd merge it. Why is it a draft? 😅

Looks good. I'd merge it. Why is it a draft? 😅

It was late and I hadn't test it manually, is there a good way to test this and to unit tests or something?

The exclusion logic is already covered by a unit test. Maybe you want to add one for this pattern specifically, but it's also fine if not. 🙃

I marked it as ready then, sounds good. I forgot about October and Octoberfest. 😆

Thanks for your contribution. 🌟


Show directives in title bar

I think it would be nice to show the directives in the header bar so they can be seen at a glance (I like to organise my CSP by directive, rather than source so this would be helpful).
Something like:

Love this idea :)

Thanks for raise and fixing!!


Models trained with Huber and VGG loss

Hi Tarun,
Your work is really interesting!
I was wondering if you could share the models trained in the ablation experiments.
I am curious to see how the different loss functions affect downstream tasks like actuon recognition. From the paper, you mentioned that L1 loss results in sharper images. But, does this also translate to better action recognition results?
Please do share any experiments/insights regarding this. I would love to hear your thoughts.

The results shown in the paper are using the best possible model for downstream action recognition. We found the performance is not that different for different choices of loss functions used in the interpolation network.

Thanks for clearing that up.


Fix race condition with busy wait

This fixes a race condition caused by fast dragging and dropping: adapter.notifyItemChanged is called while an animation is in progress, causing an IllegalStateException to be thrown by the RecyclerView. This fix uses LayoutManager.onRequestChildFocus to check if an animation is in progress, and if so, it waits until it's not in progress, then continues on to call notifyItemChanged. I also have a version of this fix for 1.1.0, if you wanted to make a 1.1.1.

Are there consequences to blocking the main thread here? Would we prefer to post to the next run loop instead?

Unfortunately, I believe the main thread must be blocked because it's the thread responsible for the animation being started between the checks. I have tested this and it doesn't create any perceptible lag in my use case (the Pebble Android app), but YMMV. It does, however, prevent a lot of crashes.

What about wrapping adapter.notifyItemChanged with view.post(new Handler() {...}), that way we're posted to the next run loop instead of blocking the main thread. Can you test if that also solves the problem?

Sure, I'll test as soon as I get a chance. Thanks for the quick response!

I tried this out, but it turns out even my original PR didn't fix the bug. The PR does, however, make it into an ANR. Closing for now, hopefully soon I can track it down.


Automatic scroll to result

Is it possible to scroll automatically to the highlighted result in the toc? There is a scrolling but just to the beginning of the service block where the found layer is integrated. This behaviour only occurs when the service is collapsed in toc.

Vielleicht ein Timing-Problem, da der domNode noch nicht da ist.


Integrate Local Planner

Make sure the robot is using a local planner to avoid unknown obstacles along its path and integrate this with the custom global planner.

Believe this is already integrated, but will need to double check.


[Feature Request] Support for guoyww/animatediff-motion-adapter-sdxl-beta

One gets black Images when using the models in this repo: https://huggingface.co/guoyww/animatediff-motion-adapter-sdxl-beta. Everything else works fine in ADE.
Support would be awesome, or is this already supported and one is doing something wrong?
FYI, Diffusers v0.28.0 added support for this today.

It's already been supported since it first came out, so likely 6 months now

What operating system do you use, how much VRAM, how much RAM, pytorch version, and the most simplified workflow where you experience the issue?

Here is the original link for the sdxl beta model: https://huggingface.co/guoyww/animatediff/blob/main/mm_sdxl_v10_beta.ckpt

I'll look at their converted model and see if I can replicate your issue and if so, see if I can detect it and make it work.


chore: add preallocations and make small cleanup

While I appreciate your contribution, I don’t think these small optimizations are needed in this case. Atlas is used to run database migration, inspection, and other schema management work. i.e. it's not something that sits on any critical path (executed as a CLI).
Cleanups are fine to land, but maps/array/other pre-allocations just add extra complexity that is not needed here. To make it clear, I don't mind if someone adds such code when a new feature or fix is created, I just don't want to make it a standard in this repository and prefer to keep our codebase consistent.


Boot in linux

Hi
what is feature in SoomRV that make it possible to boot in LinuX ? is there any documentation of SoomRV ?
thank you
with kind regards
Himal

Booting Linux requires implementing part of the RISC-V Privilege Spec. It mostly boils down to various Control/Status Registers (CSRs), Virtual Memory and Interrupts.
The implementation of these isn't really documented, for now the docs are mostly about the OoO pipeline. Let me know if you have any more questions!

There's a lot to this in the core, but the main aspects you can find in PageWalker.sv (handles actually traversing the page table) and TLB.sv. Both ICacheTable.sv and AGU.sv communicate with PageWalker and TLB to translate their addresses for IFetch and Regular Load/Store respectively.


Update some shas and use gogo options.

Get latest gogo build rules so we can finally get the latest gogo bits
with a bug fix I've been waiting for.

Get latest grpc release which solves some spurious output I see on
shutdown during tests.

Use gogo code gen options in our config protos to improve our Go code
readability and perf.

This change is

Jenkins job mixer/presubmit passed

Jenkins job istio/mixer-pr-master passed

Jenkins job mixer/presubmit passed

Jenkins job istio/mixer-pr-master passed


Spack package for UM vn7.3

Closes issue #70. This is an initial Spack package for UM vn7.3, as a dependency of ACCESS-ESM1.5. See also issue #59.
Builds and installs as um7%intel. There is also an optional um7%oneapi but this has not yet been tested, and is not expected to work at the moment. See this comment to issue #59 for a possible extension to support gcc compilers.

Converted to draft while testing the oneapi build, and while waiting for the pull request on UM_v7 to be resolved.

The failure above is worked around by temporarily adding the following line to packages/um7/package.py:
After
    version("7.3")

add
    version("7.3-working", branch="4-create-a-working-debug-build")

This allows the following command to succeed:
$ spack install<EMAIL_ADDRESS>

Hi @rxy900 Please review this merge request.

Thanks @rxy900 for the approval. I am also still waiting for your review of https://github.com/ACCESS-NRI/UM_v7/pull/5 to allow opt=debug to work.

Merging now.


Wallet/Private Keys backup not working.

Trying to backup my wallet or saving my private keys gives me an error.
"An unexpected error occured while backing up the wallet! Error response from wallet: error code: -4. error message: Cannot backup wallet until the -exportdir option has been set"
However, I can save single keys by right clicking them and obtaining them in the own addresses tab.

you can use something like:
zcash-cli dumpwallet "C:\PathTo\Backup\keys.txt"


Fix bug with checking dead process if it is a Unicorn

What did you implement:
I found a bug with anicorn v2.1.5. Anicorn exits after checking dead process if it is a Unicorn. Before check we should make sure that process is running.
How did you implement it:
I added one more extra check (PID is not empty).

Looks good for me. Version with the fix has been released.


feature req - 'deequ' (data quality) integration

https://aws.amazon.com/blogs/big-data/test-data-quality-at-scale-with-deequ/
https://github.com/awslabs/deequ
This feature is about new config flags in yaml so metorikku can integrate with deequ to:

output Data analysis metrics like ApproxCountDistinct, Mean.etc
run 'unit tests for data' .ie ComplianceConstraint

Very cool idea. project seems super simple and fits metorikku well. Would love your contribution here!

Wanna work with this.

added


Fix bean manager use so that only a single PerspectiveEditorActivity …

…can be looked up.
In the previous usage, IOC.getBeanManager().lookupBeans(PerspectiveEditorActivity.class)
would return 3 bean defs with a reference to the same activity.

+1

master: 5f12cfc33db70628b3c0c9aa1db8863821eac4c3


Each new instance of CryptoRandom replaces the static generator.

https://github.com/codeyu/nanoid-net/blob/445f4d363e0079e151ea414dab1a9f9961679e7e/src/Nanoid/CryptoRandom.cs#L19
Not sure if this is a problem or not, but looks like it can have negative consequences. The CryptoRandom is used as singleton in NanoId static class, but as CryptoRandom is public, the consumer can create new instances, which in term will replace the static _r member, this changing the behavior of the instance used in Nanoid static methods.
Suggestion: make _r instance, and not static field. Or use static initializer on L19 instead of constructor initializer.

thank you. v3.1.0 released.


Integrate GET seedlot form progress endpoint on front end

Before a seedlot form is submitted, a user should be able to open the form with their progress retrieved and populated.

data is populated on the seedlot form page
restore the seedlot progress bar on the seedlot detail page

Progress bar should also be restored


navbar for std.experimental.logger

Alternative with separate "std.experimental" menu

thanks

Um, the  idea was to merge either this on #865...

I think putting it in the main "std" menu is a little better than as a separate menu.
The rationale being that a user who knows about std.experimental would start looking for the module's documentation under the "std" menu - they might not notice the separate menu way below, and wonder why experimental is not in its alphabetically-sorted place.


Define "factory method"

Both this page and the "logging" page (https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1in) and probably others, use the terms  "Constructor Injection" and "factory method", but those terms aren't really defined. It would be really useful if the "Service registration methods" section explained what those terms mean and how they fit in with the different service registration method overloads.

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

ID: 0d78f540-81fd-1ba9-cb90-591e4ec27d9b
Version Independent ID: 2251f557-dd3a-ec35-2558-6243337db009
Content: Dependency injection in ASP.NET Core
Content Source: aspnetcore/fundamentals/dependency-injection.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

DI fixed in PR #17909

Moved to Dependency injection master issue #17298

Create include with definitions.


Add an Installation Guide to the FAQ

For libraries it may be nice to have an installation guide? This could be a modal to keep the main page as simple as possible.
There is two main methods we'd probably want to add instructions for - via Xcode and via the Package.swift
// Example
.package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.2.0"))

From a UI perspective we'd want to make the URLs easy to copy and paste.
It may be nice to have a step-by-step guide for Xcode - uncertain on how to present it nicely without making it super dense.

Yea I thought about this when designing the page. I think what would be better than having this repeated on every page is to have a little (?) icon next to the git URL that links to a Markdown page with information on how to use it in a package.
Eventually, most people will know how to integrate a package with their project, and I'd like to keep the page really focused on making the decision about what packages are best for them.

I think this is fixed by #1519


Configuration documentation is wrong - Configure users in Amazon Connect.

If I understand correctly the associated documentation for configuring this software is this document.
In the section Configure Users in Amazon Connect (pg 13) the documentation instructs implementors to build a CSV with usernames formed with the follow parameters $User.Id & '@' & $Organization.Id.
Using this guidance we configured some users for our AWS Connect instance but we could not successfully take a voice call.
Upon close inspection and comparison with an existing AWS Connect integration with Salesforce we noted that, for that instance, username also included the Salesforce User alias.
Example:

The form of usernames as described by the existing documentation.

006Ah000000JK7E@00DAu000000f110

The form of usernames that appear to work in practice

ckrug@006Ah000000JK7E@00DAu000000f110

Unless there are other reasons in play that are not understood by myself and my fellow integrators, it seems that the documentation should reflect that this the alias is required to construct usable AWS Connect Users.
$User.Alias & '@' @ $User.Id & '@' & $Organization.Id

When we launched this product, we were using  following naming scheme.
006Ah000000JK7E@00DAu000000f110
so this document is accurate and you can use this naming scheme.
With latest contact centers starting with Spring 22 onwards, we started using following naming scheme.
ckrug@006Ah000000JK7E@00DAu000000f110
So both naming scheme works.
Ideally you should check connected application's configuration. as long as connected application is sending the SAML assertion with the https://aws.amazon.com/SAML/Attributes/RoleSessionName = $User.Id & '@' & $Organization.Id. you should be able to do SSO.
`

Thank you for your reply. I understand this more completely now and why there has been some variation.


Send token as Bearer authorization header and arguments as JSON bodies

Description
The Slack Web API now supports JSON bodies for write requests.
The Authorization header is used to trigger this new behavior. This client should adopt this functionality. The main advantage is a security beat practice for getting the token out of the request location/path.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[x] enhancement (feature request)
[ ] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Is there a common use case where someone would be appending items to the form params outside of the client's dict wrapper? Would it make sense to support both or just convert to JSON POST in lieu of form params?
I'm in favor of just switching over, but I verified that we can pass the token in header with both post types without worry.

@misterkbar can you help me what you mean by "JSON extensions"?
From your description, I think you mean attachments, which support the color bar on the side of a message. This library already supports sending messages with attachments. For example, to use the chat.postMessage Web API method to send a message with an attachment, you'd do something like this:
from slackclient import SlackClient

slack_token = os.environ["SLACK_API_TOKEN"]
sc = SlackClient(slack_token)

sc.api_call(
  'chat.postMessage',
  channel='C0XXXXXX',
  text='Hello from Python! :tada:',
  attachments=[{
    'fallback': 'Required plain-text summary of the attachment.',
    'color': '#36a64f',
    'text': 'This text is inside the attachment.'
  }]
)

Pro tip: You can use the Message Builder to play around with the attachment properties and achieve the design you're hoping for.

JSON support has been added in v2. I'm closing this issue as there are no current plans to make any changes to this in v1. I'd encourage everyone take a look at our migration guide for more details.


Backdoor in client signs proof without user's knowledge or consent

(copied from https://github.com/keybase/keybase-issues/issues/3583 to be closer to relevant code)
https://sneak.berlin/20190929/keybase-backdoor/
I don't want XLM shitcoins.  I don't want anyone to send me XLM shitcoins thinking I want them.  I don't hold any private keys for XLM shitcoins, despite what my keybase profile now fraudulently claims.
Somehow, on the 4th of February, an attestation has found its way onto my profile, signed by one of my devices by the Keybase iOS client (keybase.io go client 2.13.2).  I did not want this signature generated with my keys.  Indeed, it happened without my knowledge or consent.
I am unable to revoke this from my keybase profile.

sneak@nostromo-2:~$ keybase sigs list -v | grep stellar
71   289375141b43421b024be60b0569cd701061fd37ca14f047e5d96a1bf8dacefe0f   wallet.stellar   2019-02-04 15:44:31 PST   stellar  GDTEDYVMJP6SVVADO66JWSOYJALMAOJLGWNF67IHFFX4GHK4EOSXYF3E 0120e641e2ac4bfd2ad40377bc9b49d84816c0392b359a5f7d07296fc31d5c23a57c0a
sneak@nostromo-2:~$ keybase sigs revoke 289375141b43421b024be60b0569cd701061fd37ca14f047e5d96a1bf8dacefe0f
▶ ERROR sig not owned by user
sneak@nostromo-2:~$ keybase sigs revoke 0120e641e2ac4bfd2ad40377bc9b49d84816c0392b359a5f7d07296fc31d5c23a57c0a
▶ ERROR Signature matching query "0120e641e2ac4bfd2ad40377bc9b49d84816c0392b359a5f7d07296fc31d5c23a57c0a" does not exist.
sneak@nostromo-2:~$ keybase version
Client:  4.5.0-20190919040131+93e889ab01
Service: 4.5.0-20190919040131+93e889ab01
sneak@nostromo-2:~$

I addressed this false claim on HackerNews: https://news.ycombinator.com/item?id=21110473

The text above shows that it's impossible with the current cli release to remove the attestation.
#15555 shows dozens of people who made it all the way to GitHub in an effort to get the unwanted attestation off of their profile.

tbh, your kid probably stole your phone to play a game, and mistook keybase for a game and tapped the wallet tab.
A single tap to the Wallet tab sets you on a UX flow where not reading anything and "just tapping to get the popups to go away" leads to the attestation you complain about.
Maybe you were messing with you smartphone in your sleep. Who knows.
I agree the UX flow should require typing a phrase to agree and attest.
Similar to account deletion, you should have to type "generate my stellar key" to agree.
Especially if it's irrevocable.

Isn't attaching a Stellar key (signed) to the users profile without entering any form of password a backdoor  in itself? Or am I missing something here?

Please send me all of your XLM shitcoins: GAFPV6EYMRVG7QVZTQ56AR3Q2NA6KVBXQZR3WSR3KP46B6XQRLPDOTAO

@timvisee see above, if the address is in your account, it's because you consented, even if you don't remember having done it. More than half of keybase users never consented and therefore don't have a stellar address. The constent is of the form "read this disclaimer and say ok."  Regular users of our app know that we almost never ask for passwords when generating signatures because it's a horrible design pattern and people hate passwords.

The modal asks if you want to create a wallet.
Key generation (of stellar keys) is not the same as signing (with a device key).  It says nothing about signing a proof, which is what it does silently and without warning after generating the wallet keys.

To clarify: the claim is about the attestation made with the keybase device key, a SIGNING.  It is not about the GENERATION.  Generating keys on device is one cryptographic operation, one that has no external effects.  The issue is that there was an attestation SIGNED by my keybase device key, and there is no consent asked for for that.
Read the modal.  My claims are accurate.

@malgorithms It's been over a month since you said we could remove the unwanted advertising from our profiles that you got paid for putting there.  It's still not supported.
I'm planning on a follow up blog post, with a video that shows the wallet creation modal flow, and plainly illustrates your attempt to debunk my accurate claims of making a SIGNATURE (not key generation) without consent.
How much money did you get paid for turning your users' profile pages into advertising?

🦗 🦗 🦗 🦗 🦗 🦗 🦗

Perhaps the client is quite aware...
Sent from my iPhone

On Oct 11, 2 Reiwa, at 12:59 AM, Jeffrey Paul<EMAIL_ADDRESS>wrote:

🦗 🦗 🦗 🦗 🦗 🦗 🦗
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


[1.0] Move docs to Gitbook

This PR moves the whole documentation + assets for version 1.0 to Gitbook.com/Github
Tests failing because of https://github.com/the-control-group/voyager/pull/3450 which is not merged to 1.0 yet.

#3632 opened to fix tests.


Ignoring conditional compilations constants

Hi,
I defined some constants in asconfig.json
"define": [
{
"name": "CONFIG::AIR",
"value": false
},
{
"name": "CONFIG::DEBUG",
"value": true
}
]
I have something like that in my code:
CONFIG::AIR {
import flash.system.Capabilities;
}
if (CONFIG::AIR) {
_globalBG.width = Capabilities.screenResolutionX;
_globalBG.height = Capabilities.screenResolutionY;
}
else {
_globalBG.width = stage.stageWidth;
_globalBG.height = stage.stageHeight;
}
I have an error because Capabilities is not imported. But since CONFIG::AIR is set to false, it should just ignore it. Or did I miss something?
Thanks!

That code is being handled correctly because you are using CONFIG::AIR like a variable. If you want it to be completely skipped at compilation, you need to do this instead:
CONFIG::AIR {
_globalBG.width = Capabilities.screenResolutionX;
_globalBG.height = Capabilities.screenResolutionY;
}

Basically, you need to format it the same way that you did for the import.


Unregister and re-register jquery.event.drag-drop

Please change the package jquery.event.drag-drop as per https://github.com/bower/bower/issues/1705.
I am unable to do this myself because I hadn't been a collaborator of the original GitHub repo (which no longer exists). This package is important as it's a dependency, inter alia, of slickgrid.

I've unregistered jquery.event.drag-drop. You can re-register it where you feel appropriate. Looks like dextermilo/jquery.threedubmedia is no longer available.


better naming of variable in /main.js

the naming of variables in the main.js file could be improved.

If you have suggestions, please make a pull request or write down your suggestions in details @sanjai0py

It seems like a minified version, which makes it difficult to understand the exact purpose of the variables and functions. You might need to provide more context or comments for a better understanding of the code.


missing port when refresh page of .output/public by nuxt generate

Environment

nuxt: 3.4.1
centos: 7.6
nginx: 1.23

Reproduction

nuxt generate
deploy .output/public by nginx
refresh page (F5)
missing port (cannot open page)
but exclude home page

Describe the bug
missing port when page refresh (F5) but exclude home page
Additional context
No response
Logs
No response

Would you provide a reproduction? 🙏


Using MATLAB Compiler to create standalone packages

Hi @stebo85, wondering if you already documented a workflow for compiling MATLAB packages not already compiled (eg. when building CONN)? If so, could you please share?
Ie. did you use the MATLAB compiler for your CONN archive, or is this a compiled version accessed by the developers (https://objectstorage.us-ashburn-1.oraclecloud.com/n/nrrir2sdpmdp/b/neurodesk/o/conn20b_mcr2020b.tar.gz)
Also, should we organise the central/open place for storage of these archives?
@civier

@civier and @DavidjWhite33 - I trasnferred the issue to the neurocontainers repo

I think we should use compiled MATLAB packages if they are available by the developers of the toolbox and they work (like SPM). If they are not available, we have to try and compile them ourselves. Once compiled we should upload them to our container object storage - I can send you a pre-authenticated curl command that can do this - let me know if you want this and I send it to you.
Which toolbox are you compiling right now?
Cheers
Steffen

@stebo85 Agreed that using compiled versions released by developers makes sense wherever possible. I am looking at a couple of toolboxes at the moment - but one important one is EEGLAB. This is an interesting case because they have a standalone compiled version to run with MCR, but have stopped releasing this for linux as of their first 2020 release. In addition, there is perhaps an argument for the added flexibility of compiling ourselves to incorporate additional add-on tools that aren't compiled with the main standalone version. As a final wrinkle, EEGLAB developers have stated they will now support an Octave release for HPC etc - as this sounds like a less stable solution at this point, this may be something to just keep an eye on.

Fully agree! Octave is an interesting option and SPM runs very well in Octave as well. This is something we should explore if we can find the time for this.
I also just figured out a sneaky way of compiling matlab code on github automatically :D we could use the official matlab container (https://hub.docker.com/r/mathworks/matlab) and inject our university license in there in case we have the cloud option licensed (https://hub.docker.com/r/mathworks/matlab)
I would probably set this up in a separate new repository - @civier or @DavidjWhite33 would you like to look into this?
Kind regards
Steffen

Thanks for the valuable information, @stebo85 https://github.com/stebo85
I'm trying to read through here:
https://au.mathworks.com/help/licensingoncloud/ug/configure-license-for-mathworks-containers.html
But will have to play with it a bit.
BTW, did you manage to run the Matlab IDE (not the container) with your UQ
site license on NECTAR? Until now, I've just used an individual license
(that each staff member is provided with by Swinburne) and it worked fine.
Best,
Oren
On Wed, Sep 22, 2021 at 11:28 AM David White @.***>
wrote:

That is a very clever idea - we haven't got very far with the official
matlab container yet, but will look into it. May need to add the compiler
to the base container.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NeuroDesk/neurocontainers/issues/55#issuecomment-924508418,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB7FUIZMRCSFEYCYETX32SDUDEWMJANCNFSM5EPWJL6Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Ok, great :) looking forward to see your progress on this.
I haven't used Matlab for a few years, so no I haven't tried running it on nectar :)

closing for now, as compiling of matlab toolboxes works right now


Replace percent-escaped slashes (%2F) with actual slashes (/)

Work-around for AFNetworking change that breaks Twitter Oauth.
For issue #36.

Textual replacement was the only approach I could find for this.
I couldn't find a NSString method that would un-escape just a particular kind of character (i.e. slashes); the only method available would un-escape everything.

Taken care of, in addition to encoding the ? character, with f4288a8. Thanks as always, @kolpanic.

Has anyone actually tested this?  It isn't working for me.  Using AFNetworking 2.6.1 and BDBOAuth1Manager 1.6.0, if I provide / in the query, I get a HTTP 401 from the server.  I tracked this down because the signature, as generated by this pull request, is generated from a hashed value where slashes (and question marks) are encoded, where since AFNetworking does not encode them in the HTTP body itself, when the server gets the body and attempts to compare the provided signature from the client with one it generates are different, thus 401.

I was able to fix this behavior by adding the following to - (NSMutableURLRequest *)requestWithMethod:(NSString *)method URLString:(NSString *)URLString parameters:(NSDictionary *)parameters error:(NSError *__autoreleasing *)error in BDBOAuth1RequestSerializer
request.HTTPBody = [[[[NSString alloc] initWithData:request.HTTPBody encoding:NSUTF8StringEncoding] bdb_URLEncodeSlashesAndQuestionMarks] dataUsingEncoding:NSUTF8StringEncoding];

I've only really tested that in a couple limited use cases.  How's it look?  Am I missing anything?  Can it be improved?


Initial setup

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

And

[x] This Pull Request DOES NOT target the main branch on this repository (if so it must point to develop).
[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[x] I have added/updated tests to cover my changes.
[x] All new and existing tests passed.
[x] I have lint my code locally prior to submission.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] There are no other open Pull Requests for the same update/change.
[x] For a core feature(s) I have added an explanation of what my changes do and why I'd like you to include them.

Fixes

closes #16

@YuryDG , feel free to delete old branches when their changes are merged and the branches themselves are no longer needed.


CsUserCallingDelegate not yet supported

Hi,
and reason why CsUserCallingDelegate is not yet supported? We do have an app that will help setting Delegates much more convinient. But must customers do not like the idea of putting a admin-user into a script. So Appbased Auth would be highly needed.
Could you share an outlook if or when this will be supported?
Thanks
Markus

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

ID: 32304edf-550b-72a3-57df-6dcc29dba56d
Version Independent ID: 32304edf-550b-72a3-57df-6dcc29dba56d
Content: Application-based authentication in Teams PowerShell Module - Microsoft Teams
Content Source: Teams/teams-powershell-application-authentication.md
Service: msteams
GitHub Login: @pbafna03
Microsoft Alias: pbafna

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Add an Enum for task's data types.

First PR to merge, all next datasets to implem will cherry-pick this commit.
See #195

Good idea!


Remove relative directory prefix in pokemonthink

Fails with a home-brew installation unless you remove the "./" from the call to pokemonsay assuming the command will be in PATH.

This would resolve issue #8


Company mode tooltip problem with nova-theme

Similar to what happened with peacock theme in issue #122

As of b7f47f3, this should be fixed. Feel free to reopen this if that isn't the case.


Data export4

Created an "Export" button to export all, selected, or filtered data as a json, csv, or tsv file.
Currently downloads to user's computer from the webapp, but allows for other platforms to inject a "dataHandler" for the button.
To-do:

[ ] Should we enable this in AzData and VsCode extensions?

Doing some testing with the DemoVote data, I am not able to download large exports. For example, when I have more than 10k rows 🤔

I made a few changes, see the dataExport5 branch :)


Does not work with the latest typedoc

After the deps update I got an error:
$ npm run build:docs

><EMAIL_ADDRESS>build:docs
> typedoc

[info] Loaded plugin typedoc-plugin-missing-exports
Loaded plugin typedoc-plugin-versions
[info] Loaded plugin typedoc-theme-yaf
[warning] TypeDoc has been loaded multiple times. This is commonly caused by plugins which have their own installation of TypeDoc. The loaded paths are:
        /projects/test/node_modules/typedoc
        /projects/test/node_modules/typedoc-theme-yaf/node_modules/typedoc
TypeDoc exiting with unexpected error:
TypeError [ERR_INVALID_ARG_TYPE]: The "from" argument must be of type string. Received undefined
    at new NodeError (node:internal/errors:399:5)
    at validateString (node:internal/validators:163:11)
    at relative (node:path:1191:5)
    at ReflectionSymbolId.toObject (/projects/test/node_modules/typedoc/dist/lib/models/reflections/ReflectionSymbolId.js:49:66)
    at /projects/test/node_modules/typedoc/dist/lib/models/reflections/project.js:214:35
    at Map.forEach (<anonymous>)
    at ProjectReflection.toObject (/projects/test/node_modules/typedoc/dist/lib/models/reflections/project.js:213:40)
    at Serializer.toObject (/projects/test/node_modules/typedoc/dist/lib/serialization/serializer.js:21:69)
    at Renderer.prepareYafTheme (/projects/test/node_modules/typedoc-theme-yaf/src/backend/YafTheme.js:93:59)
    at triggerEvents (/projects/test/node_modules/typedoc/dist/lib/utils/events.js:191:43) {
  code: 'ERR_INVALID_ARG_TYPE'
}

Looks like wrong inheritance from the default theme.
https://github.com/TypeStrong/typedoc/issues/1786
https://github.com/TypeStrong/typedoc/issues/1741#issuecomment-945151479
dependencies in package.json:
"typedoc": "^0.24.8",
"typedoc-plugin-missing-exports": "^2.0.0",
"typedoc-theme-hierarchy": "^3.2.0",
"typedoc-theme-yaf": "^0.0.4",
"typescript": "^5.1.3"

typedoc.json:
{
    "entryPoints": [
        "./src/index.ts",
    ],
    "exclude": ["./src/test.ts"],
    "out": "docs",
    "includes": "./src",
    "readme": "./readme.md",
    "sort": ["static-first", "alphabetical"],
    "disableSources": false,
    "plugin": ["typedoc-plugin-missing-exports", "typedoc-theme-yaf"],
	"theme": "yaf"
}

Hi @DarkPark
This theme is compatible with Typedoc 0.23.x, and not with 0.24.x or later.
Given the nature of how this theme works and breaking API changes in Typedoc over minor releases, I am likely to peg this to 0.23.x and unlikely to upgrade until there is incentive for this projects long term goals.
To summarise;

This theme uses the Typedoc API to parse Typescript into .json fragments (not .html), which then get consumed by a standalone frontend Single Page Application (SPA).
Typedoc can already output .json, but the output is not complete enough to wrap a useful SPA around.
This theme can continue developing if and when;
3.1. Typedoc .json output is complete and consistent
3.2. I have incentive to develop a standalone Typescript parser, thus creating a standalone document product.


[Question] Is functionality going to be added for saving a node graph?

Saving / Loading node graphs would be hugely beneficial, will there be any support out of the box, or will it be up to a user to implement their own save system?

Hi, this feature doesn't make sense for Nodify, the controls library, but it would make sense for the consuming app which defines the viewmodels. That means you will have to implement your own saving system which is specific to your models.
Note that this feature may be supported out of the box for the new library in this PR: #36.

I totally agree with @miroiu, however I would like to add a thought on this issue: The kind or strategy of graph persistence may vary widely, depending on the use case. We are trying to use it as a simplified UI on a Neo4j database, where there is no good way to preserve the positions of the nodes inside the database (long story). In another case you may want to edit the graph like a document, stored locally, for example. This file format could be anything like XML, JSON or even some binary stream. IMHO it would be better to keep Nodify as a visualization and modification tool, separate from your actual data structure and have your data structure handle how to serialize and deserialize the data.

Good point. I will close this issue because it's not the responsibility of the UI to save data. Thanks for your input!