o Add optional callback to solvers called at the end of each iteration

This is a small change that enables a callback function, if provided, to be called at the end of each iteration.  This is consistent with the Scipy version of lgmres and gmres.  The default behavior is unchanged.

Thanks for your PR and sorry for the delay!
There are 2 issues:

The scipy versions are not consistent because they call the callback with the residual vector (see gmres) or the approximate solution (see cg). So what do we actually want here? Maybe you can explain your use case a bit?
The last commit makes a lot of tests fail. The commit seems to be unrelated to the callback. Could you remove it (and give it a force push)?

Andre,
In hindsight, why don't we reject this pull request as, while I think it
would be nice to have the callback, I too noticed the inconsistency
within SciPy also between gmres() and lgmres().  Not to mention that
this did not give me ultimately what I wanted.
Could you describe how to run the tests?  That way I could clean up
before I issue any more pull requests.
The thing that I would really like to get in there is the ability to
solve a non-square system that results from a coupled partitioning (ie:
system decomposed to run in parallel).  I have this working to my
satisfaction, but obviously from the failed tests, not ready to issue a
pull request.  It does require the specification of a callable ip_B
function so that a parallel reduction can be broadcast to synchronize
across processors.  The use of a callable is something you warn about in
the documentation.  An elaboration would be appreciated.  Basically my
callable just uses numpy.dot followed by an mpi4py reduction and bcast.
I look forward to working with you on this if you are interested,
Bill
On 12/13/16 4:53 PM, André Gaul wrote:

Thanks for your PR and sorry for the delay!
There are 2 issues:

The scipy versions are not consistent because they call the callback
with the residual vector (see gmres
https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.sparse.linalg.gmres.html)
/or/ the approximate solution (see cg
https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.sparse.linalg.cg.html).
So what do we actually want here? Maybe you can explain your use
case a bit?
The last commit makes a lot of tests fail. The commit seems to be
unrelated to the callback. Could you remove it (and give it a force
push)?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/andrenarchy/krypy/pull/57#issuecomment-266873817,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APtr8_5Fskaef0zZWK0Ohkbczxavgno1ks5rHxPcgaJpZM4K_nwy.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Bill Jones<EMAIL_ADDRESS> Mail Stop 128                      Computational AeroSciences Branch
 15 Langley Boulevard                            Research Directorate
 NASA Langley Research Center                Building 1268, Room 1060
 Hampton, VA  23681-2199                        Phone +1<PHONE_NUMBER>
                                                  Fax +1<PHONE_NUMBER>
                                           http://fun3d.larc.nasa.gov

Alright, I'll close this then.
We should discuss the extension to non-square systems in a new issue... feel free to open one.
Tests can be run with nosetests krypy/tests (that's also what travis executes, see .travis.yml. If you want you can also add this to the README and send a PR.


WASM build size increased 50% from v1.6->v1.7

1.4M -> 2.1M
Build size is obviously critical on the web, so this is a pretty serious increase. Perhaps there was some mistake when making the build?
On the bright side, the size of pv_porcupine.js decreased from 29K -> 19K.

The WASM size increase in 1.7 stems from significant accuracy upgrade that requires more space, so the size is within the expected range and not due to a build error.
I agree that every byte counts on the web. In this case the tradeoff the performance boost is too much to pass up while still keeping it at a (relatively) reasonable size.


WIP: Revised crack at 2050 predictions

This should cover all the models except mistnet. Still need to test it for bugs and probably add some polish.

That all looks sounds good. Pull the WIP and ping me when it's ready to go in.

Removing "WIP"


Backport http2 interop test fix to v1.2.x

This addresses https://github.com/grpc/grpc/issues/10455 and applies the fix from https://github.com/grpc/grpc/pull/10100 to v1.2.x.

The second commit incorporates the dockerfile changes from https://github.com/grpc/grpc/pull/10377 (the http2 server requires a specific version of h2 from pip). Interop tests are passing, will squash and merge after the other tests complete.

Known failures: https://github.com/grpc/grpc/issues/10477


Postgres Storage Adapter

Just wanted to let you know that I implemented a storage adapter for PostgreSQL since we needed it for our project. It's working fine so far in our project but please let me know if you have any suggestions for improvements.

Nice! Feel free to add a link to your package here:
https://github.com/nicolodavis/boardgame.io/blob/7a58b1ee7000b09afbb3486576a9e64bbd2c98bd/docs/documentation/storage.md#L47-L50


Firebase analytic crash

[REQUIRED] Step 2: Describe your environment

Xcode version: 10.2
Firebase SDK version: 6.4.0
Firebase Component:
Firebase: 6.4.0
Firebase/RemoteConfig: 6.4.0
Use cocopod like this:

pod 'Firebase', '~> 6.4.0'
pod 'Firebase/RemoteConfig', '~> 6.4.0'

[REQUIRED] Step 3: Describe the problem
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000133
VM Region Info: 0x133 is not in any region.  Bytes before following region:<PHONE_NUMBER>
      REGION TYPE                      START - END             [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->
      __TEXT<PHONE_NUMBER>bc4000-0000000105c5c000 [ 48.6M] r-x/r-x SM=COW  ...pp/BeautyPlus

Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
Triggered by Thread:  26

Thread 26 name:  Dispatch queue: APMAnalyticsQueue
Thread 26 Crashed:
0   libobjc.A.dylib               	0x0000000180870198 objc_retain + 8
1   BeautyPlus                    	0x00000001049eae70 CLSFIRValueToAllowableType + 20
2   BeautyPlus                    	0x00000001049eb05c __CLSFIRAEventParametersAsPrimitiveDictionary_block_invoke + 44
3   CoreFoundation                	0x00000001815693a0 -[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] + 232
4   BeautyPlus                    	0x00000001049eb008 CLSFIRAEventParametersAsPrimitiveDictionary + 152
5   BeautyPlus                    	0x00000001049eb134 CLSFIRAEventToDictionary + 132
6   BeautyPlus                    	0x00000001049ee2fc __61-[CLSCrashReportingController registerAnalyticsEventListener]_block_invoke + 28
7   BeautyPlus                    	0x0000000104b0c220 +[APMAnalytics notifyEventListenersOnSerialQueue:] + 196
8   BeautyPlus                    	0x0000000104b09044 +[APMAnalytics logEventsOnWorkerQueue:notifyEventListeners:] + 300
9   BeautyPlus                    	0x0000000104b09cec +[APMAnalytics logEventOnSerialQueueWithOrigin:isPublicEvent:name:parameters:timestamp:ignoreEnabled:ignoreInterceptor:addedScreenParameters:] + 1104
10  BeautyPlus                    	0x0000000104b095cc __65+[APMAnalytics logEventWithOrigin:isPublicEvent:name:parameters:]_block_invoke_3 + 60
11  libdispatch.dylib             	0x0000000180f8caa0 _dispatch_call_block_and_release + 24
12  libdispatch.dylib             	0x0000000180f8ca60 _dispatch_client_callout + 16
13  libdispatch.dylib             	0x0000000180f969b4 _dispatch_queue_serial_drain$VARIANT$mp + 608
14  libdispatch.dylib             	0x0000000180f972fc _dispatch_queue_invoke$VARIANT$mp + 336
15  libdispatch.dylib             	0x0000000180f97cc8 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp + 340
16  libdispatch.dylib             	0x0000000180fa0098 _dispatch_workloop_worker_thread$VARIANT$mp + 668
17  libsystem_pthread.dylib       	0x00000001812bfe70 _pthread_wqthread + 860
18  libsystem_pthread.dylib       	0x00000001812bfb08 start_wqthread + 4

Steps to reproduce:
NO.
Relevant Code:
I see other issues similar to this but not same and not be solved yet.
https://github.com/firebase/firebase-ios-sdk/issues/2156
https://github.com/firebase/firebase-ios-sdk/issues/3255

It does look related to #3255.

Hi @yunluoxin, are you mutating event parameters after logging an event? If so, we should have a fix for this crash in the upcoming release

Hi @yunluoxin, are you mutating event parameters after logging an event? If so, we should have a fix for this crash in the upcoming release

No. It happened long long ago and then we fixed it. We wrapped logging event method and judged if that are mutatable parameters, make xx.copy fore casting to immutatable , finally pass result to firebase analystics.

Closing this since the fix has been released.


Persist access token until it expires

I'm not sure if this is absolutely needed, but I'll make a note of it in any case.

Checkbox -> Remember me?

Actually this issue is not for remembering the password (which is already taken care of). If you see issue #1, you'll notice that I'm using a hack to get around the fact that Ghost doesn't have a public API yet. So when I get an access_token, it's only valid for 60 minutes, but I can always request a new access_token because I have the username and password. This issue is meant to remind me that I could instead persist the access_token in a database and request a new one only if the current one has expired.


eslint-config: Enforce import types with @typescript-eslint/consistent-type-imports

How does everyone feel about just adding this as an eslint rule so we don't have to think about whether something should be imported as a type or a value for optimization?
This should make it easier to enforce import types where we can essentially just run eslint --fix
Related: https://github.com/microsoft/vscode-azurecontainerapps/pull/568

Can it be configured so it applies not to internal imports but only to package imports?

Can it be configured so it applies not to internal imports but only to package imports?
I haven't been able to find a way to have it make this distinction, but if anyone else knows of a way please let me know

It looks like as long as TS 4.5+ is in used, you can have it fix imports to look like this:
import { type Foo } from 'bar';

https://typescript-eslint.io/rules/consistent-type-imports/


Better UI updating after adding/removing meta tags

Adding/removing meta tags changes the tree structure. If you add a meta to a puzzle it'll disappear from the page right away but then won't reappear under the meta until some # of seconds later once we have refreshed the puzzles list.

A couple obvious options:

Aggressively dispatch fetchPuzzles actions to update the whole tree (eg when removing a tag from clicking on its x, or when closing the edit tags modal)
Mimic the server logic on the front-end to optimistically update (see if a tag added/removed is a meta tag, then if it is, update the metas/feeders of the appropriate puzzles -- might be a little complicated)
Return something better in the add/remove tag API responses: could try to return a list of all the affected puzzles, instead of just the single puzzle we operated on.

A couple obvious options:

Aggressively dispatch fetchPuzzles actions to update the whole tree (eg when removing a tag from clicking on its x, or when closing the edit tags modal)
Mimic the server logic on the front-end to optimistically update (see if a tag added/removed is a meta tag, then if it is, update the metas/feeders of the appropriate puzzles -- might be a little complicated)
Return something better in the add/remove tag API responses: could try to return a list of all the affected puzzles, instead of just the single puzzle we operated on.


Enhancements to test source view

What's done:

Renamed: "Update time" -> "Git commit time"
Added "refresh" button, that will query for test versions once again

Closes #1576

@Cheshiriks I cannot quite understand what has changed by the screenshot, could you please provide What's done block in PR?

Not lgtm, please make a normal button with icon


Update Stationery Page

Fixes #131

Describe the changes you've made
Modified styling of the stationery page
Update JavaScript in stationery page to make view all button functional
Make new directory for stationery images
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
NA
Additional context (OPTIONAL)
Link: https://gassa097.github.io/Apni-Dukaan/stationery.html

Test plan (OPTIONAL)
Checklist

[x] I have mentioned related issue number in PR description.
[x] I have added screenshots and related demo links of my changes..
[x] The title of my pull request is a short description of the requested changes.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] Open Source Program names(OPTIONAL: If you participated in any open-source program then please mention the program name here)

@gassa097 remove the second navbar.
Also share the website link so I can review your chages.

The second navbar is removed.
Website link: https://gassa097.github.io/Apni-Dukaan/stationery.html

Remove this part and add a slider.
Also, rename view all brands to "View More".

Slider added.
View More button renamed.

Are you part of DCP?

I am not part of DCP.


Access users within a CN group?

I have a base_dn that I have been given, however instead of being your usual 'base_dn' => 'OU=Users,DC=Company,DC=local', I also have a cn in the base_dn as our IT sets up security groups like that. Unfortunately when I use 'base_dn' => 'CN=Group,OU=Users,DC=Company,DC=local', I am unable to authenticate, in fact I don't even think it is able to pick up my user account.
Is there a way to utilize the CN with the base_dn and grab the users inside?

The base DN is passed directly to PHP's ldap_search() method. Are you able to receive any results from this group when you set it as the base DN? Try:
$dn = 'CN=Group,OU=Users,DC=Company,DC=local';

$results = \Adldap::search()->setDn($dn)->get();

dd($results);

All I get back is false. Even if I set the $dn string to something that works in the 'base_dn' field of the adldap.php file.

Are you using a domain Administrator account for the connection?

Yes, I am. I ended up just using a more general OU connection and then manually managed the users I wanted via PHP.

I have a similar problem. I want to enable only Active Directory users belonging to a specific group.
If I try
    $dn = 'CN=Users,DC=my,DC=domain';
    $results = \Adldap::search()->setDn($dn)->where('objectClass', '=', 'person')->get();
    dd($results);

I get a Collection with items.
I also would like to set 'limitation_filter' in adldap_auth.php, but I can't figure out what value to use.
Thank you

Hi @eleftrik, try running a raw filter for retrieving all entries in a particular group:
$results = \Adldap::search()
        ->rawFilter('(memberof:1.2.840.1135<IP_ADDRESS>1:=CN=MyGroup,DC=example,DC=com)')
        ->get();

Hi @stevebauman, thanks for your reply.
Ok, with rawFilter() it works perfectly:
    $results = \Adldap::search()
        ->rawFilter('(memberOf=CN=myGroup,CN=Users,DC=my,DC=domain)')
        ->get();

Pardon my ignorance, but what are the numbers (1.2.840.1135<IP_ADDRESS>1) in your rawFilter example?
Thanks for solving my problem.

That's great that it works for you!
The OID (1.2.840.1135<IP_ADDRESS>1) tells the search that you want all entries inside that group, as well as nested groups. So for example, if you had an Office group that contained Accounting and Marketing groups, it would grab all entries in the Office group, then grab all entries in each Marketing and Accounting groups.


Fixups

Description
This PR fixes two things:

It appears after a release and the version bump that the CI badge always shows failed. I'm guessing it's because we skipped the last run and the badge doesn't like that?
Fixed the MavenCentral badge

Breakdown

Removed the [skip ci] in the patch bump task so that it still runs CI so the badge can report accurately.
Fixed the MavenCentral badge link so it functions properly now.

Validation

👀

Additional Notes
[Any additional comments, notes, or information relevant to reviewers.]
Submission Checklist

[x] The source has been evaluated for semantic versioning changes and are reflected in gradle.properties
[x] The CHANGELOG.md reflects any feature, bug fixes, or known issues made in the source code

Does the badge look at the last job on all of the branches or the default branch only? If that is the case it won't show passing until there is a commit on the default branch that passes. I'm still thinking the skip ci is necessary on the version bump.

From the CircleCi docs, that's exactly what's happening:

By default, a badge displays the status of a project’s default branch, though you can also display the status of specific branches.

CircleCI shows a failed badge if the last run job was skipped: https://discuss.circleci.com/t/status-badges-for-skipped-builds-show-as-failed/30182/11


OtelGrpcLayer + another layer

Hi,
I'm experimenting with examples and it looks like that composing of layer doesn't work (or I'm missing something).
Basically updated client
https://github.com/davidB/tracing-opentelemetry-instrumentation-sdk/blob/774a9c44e800493e86ac38164c37a5c6b0cf4864/examples/grpc/src/client.rs#L21
by adding timeout layer
    let channel = ServiceBuilder::new()
        .timeout(std::time::Duration::from_secs(10)) // <<< new layer
        .layer(OtelGrpcLayer)
        .service(channel);

and it doesn't compile, getting:
error[E0277]: the trait bound `tonic_tracing_opentelemetry::middleware::client::OtelGrpcService<Channel>: Service<request::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::Status>>>` is not satisfied
  --> examples/grpc/src/client.rs:26:22
   |
26 |     let mut client = GreeterClient::new(channel);
   |                      ^^^^^^^^^^^^^^^^^^ the trait `Service<request::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::Status>>>` is not implemented for `tonic_tracing_opentelemetry::middleware::client::OtelGrpcService<Channel>`
   |
   = help: the following other types implement trait `Service<Request>`:
             <MakeBalance<S, Req> as Service<Target>>
             <hyper_timeout::TimeoutConnector<T> as Service<Uri>>
             <Balance<D, Req> as Service<Req>>
             <GreeterServer<T> as Service<request::Request<B>>>
             <tonic_tracing_opentelemetry::middleware::server::OtelGrpcService<S> as Service<request::Request<B>>>
             <Pool<MS, Target, Req> as Service<Req>>
             <Box<S> as Service<Request>>
             <axum::error_handling::HandleError<S, F, ()> as Service<request::Request<B>>>
           and 116 others
   = note: required for `tower::timeout::Timeout<tonic_tracing_opentelemetry::middleware::client::OtelGrpcService<Channel>>` to implement `Service<request::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::Status>>>`
   = note: required for `tower::timeout::Timeout<tonic_tracing_opentelemetry::middleware::client::OtelGrpcService<Channel>>` to implement `GrpcService<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::Status>>`

error[E0599]: the method `say_hello` exists for struct `GreeterClient<Timeout<OtelGrpcService<Channel>>>`, but its trait bounds were not satisfied
   |
  ::: /Users/vitaliy/github/tracing-opentelemetry-instrumentation-sdk/target/debug/build/examples-grpc-bf009df384ee5b81/out/helloworld.rs:19:5
   |
19 |     pub struct GreeterClient<T> {
   |     --------------------------- method `say_hello` not found for this struct
  --> examples/grpc/src/client.rs:32:27
   |
32 |     let response = client.say_hello(request).await?;
   |                           ^^^^^^^^^ method cannot be called on `GreeterClient<Timeout<OtelGrpcService<Channel>>>` due to unsatisfied trait bounds
   |
  ::: /Users/vitaliy/github/tracing-opentelemetry-instrumentation-sdk/tonic-tracing-opentelemetry/src/middleware/client.rs:33:1
   |
33 | pub struct OtelGrpcService<S> {
   | ----------------------------- doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
   |
  ::: /Users/vitaliy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/timeout/mod.rs:19:1
   |
19 | pub struct Timeout<T> {
   | ---------------------
   | |
   | doesn't satisfy `<_ as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Response = Response<_>`
   | doesn't satisfy `_: GrpcService<UnsyncBoxBody<Bytes, Status>>`
   | doesn't satisfy `_: Service<Request<UnsyncBoxBody<Bytes, Status>>>`
   |
note: trait bound `tower::timeout::Timeout<tonic_tracing_opentelemetry::middleware::client::OtelGrpcService<Channel>>: GrpcService<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::Status>>` was not satisfied
  --> /Users/vitaliy/github/tracing-opentelemetry-instrumentation-sdk/target/debug/build/examples-grpc-bf009df384ee5b81/out/helloworld.rs:35:12
   |
33 |     impl<T> GreeterClient<T>
   |             ----------------
34 |     where
35 |         T: tonic::client::GrpcService<tonic::body::BoxBody>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
   = note: the following trait bounds were not satisfied:
           `<tower::timeout::Timeout<tonic_tracing_opentelemetry::middleware::client::OtelGrpcService<Channel>> as Service<request::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::Status>>>>::Response = response::Response<_>`
           `tower::timeout::Timeout<tonic_tracing_opentelemetry::middleware::client::OtelGrpcService<Channel>>: Service<request::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::Status>>>`
           `tonic_tracing_opentelemetry::middleware::client::OtelGrpcService<Channel>: Service<request::Request<http_body::combinators::box_body::UnsyncBoxBody<prost::bytes::Bytes, tonic::Status>>>`

Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `examples-grpc` (bin "client") due to 2 previous errors

Am I missing something?

double check you're importing from client vs server, I saw a similar error.


Cannot Install

Install_parse_failed_no_certifcate

You forgot to generate a signed apk before upload it.

fixed!
Thank you for your feedback


'SentimentClassifier' object has no attribute 'tokenizer'

I try to run demos/aspect_polarity_classification/sentiment_inference.py by replacing slide_lcfs_bert_acc_89.76_f1_69.44 with slide_lcf_bert_acc_83.06_f1_80.43 obtained from Google Drive. However I got the error: AttributeError: 'SentimentClassifier' object has no attribute 'tokenizer'
I run it on Colab with :

transformers 4.8.0
tensorflow 2.5.0
torch 1.10.0+cu111,
pyabsa '1.3.12

The package is under a big change so the checkpoints may be not available at present, I will stablize the checkpoint module and probably will not refactor this module anymore. For a temporary solution, please install v1.3.13 and tell me if the problem is solved

The model now is able to be loaded, but another error comes out
     29 for ex in examples:
---> 30     result = sent_classifier.infer(ex, print_result=True)
     31
     32 inference_sets = ABSADatasetList.Laptop14
/usr/local/lib/python3.7/dist-packages/pyabsa/core/apc/prediction/sentiment_classifier.py in infer(self, text, print_result, clear_input_samples)
    201             raise RuntimeError('Please specify your datasets path!')
    202         self.infer_dataloader = DataLoader(dataset=self.dataset, batch_size=self.opt.eval_batch_size, shuffle=False)
--> 203         return self._infer(print_result=print_result)
    204
    205     def merge_results(self, results):

/usr/local/lib/python3.7/dist-packages/pyabsa/core/apc/prediction/sentiment_classifier.py in _infer(self, save_path, print_result)
    242                 inputs = {col: sample[col].to(self.opt.device) for col in self.opt.inputs_cols if col != 'polarity'}
    243                 self.model.eval()
--> 244                 outputs = self.model(inputs)
    245                 sen_logits = outputs['logits']
    246                 t_probs = torch.softmax(sen_logits, dim=-1).cpu().numpy()

/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1100         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1101                 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1102             return forward_call(*input, **kwargs)
   1103         # Do not call functions when jit is used
   1104         full_backward_hooks, non_full_backward_hooks = [], []

/usr/local/lib/python3.7/dist-packages/pyabsa/core/apc/models/slide_lcf_bert.py in forward(self, inputs)
     35     def forward(self, inputs):
     36         text_bert_indices = inputs['text_bert_indices']
---> 37         left_text_bert_indices = inputs['left_text_bert_indices']
     38         right_text_bert_indices = inputs['right_text_bert_indices']
     39         spc_mask_vec = inputs['spc_mask_vec']

KeyError: 'left_text_bert_indices'

Please avoid using slide lcf or lcfs
Checkpoint，as they are renamed

Try fast lcf，etc. Checkpoint update is on its way

I see the point. Now, it runs perfectly. I super appreciate your work and support. Thank you so much.


Audit requirements may be overly strong when dealing with multiple root crates in a workspace

This was noticed in https://bugzilla.mozilla.org/show_bug.cgi?id=1907810, specifically because of the changes in https://phabricator.services.mozilla.com/D212959#inline-1194604.
If we have multiple crates in the local workspace which have different audit requirements, it is possible for an overly strong requirement to be placed on an indirect dependency.
Specifically if we have a dependency graph like the following, where W1 and W2 are toplevel workspace crates, D1 and D2 are third-party dependencies, where D1 optionally depends on D2. W1 does not enable this dependency but W2 does. If W1 has stronger audit requirements than W2 does, those stronger requirements can end up applying to D2, as the two D1 nodes are unified when running cargo metadata to have the combined feature set.
W1[req:safe-to-deploy] -> D1[features:]
W2[req:safe-to-run] -> D1[features:D2] -> D2

(D2 should require "safe-to-run", but will instead require "safe-to-deploy")

Unfortunately, I don't think that the output of cargo metadata really provides a way to solve this ambiguity and get what the resolution would be for each workspace crate independently, such that we could treat the two D1 dependencies as separate "nodes", to not propagate the same audit requirements to their dependencies.
It might be possible if we didn't trust the dependency resolution done by cargo and implemented feature resolution ourselves, but that seems like it'd be both a lot of work, and likely to break as cargo updates and changes how feature resolution is handled.

I've experimented a bit and it looks like using cargo tree --format "{p} {f}" --package CRATE will show the correct subset of features and thus dependent crates. Unfortunately, though, cargo tree doesn't support an output format more easily ingested by programs.

Unfortunately it does look like if you run the cargo tree without a specific --package flag that it'll still unify features, as the in the example from that bug, the neqo-udp crate still has a tokio dependency even under the gkrust crate unless you explicitly scope to only the gkrust package.
Does seem like cargo metadata would need a --package flag and we'd need a reliable way to enumerate all packages within the workspace so that we could do separate metadata runs for each one. On top of that we'd also need to tweak the graph building for the resolver and such so that dependency lists and inherited audit requirements could be dependent on which package the dependency graph is coming from.


Don't add empty line to text output

Empty lines in text output are needed to separate paragraphs,
but there should not be an empty line at the end of the text.
Signed-off-by: Stefan Weil<EMAIL_ADDRESS>

Related: https://github.com/tesseract-ocr/tesseract/pull/1088/commits/6773e8b909d7409f7434db67da6dff56090a7eda. @Shreeshrii, that commit is no longer needed after this pull request.

Thanks @stweil.
On 21-Aug-2017 2:04 PM, "Stefan Weil"<EMAIL_ADDRESS>wrote:

Related: 6773e8b
https://github.com/tesseract-ocr/tesseract/commit/6773e8b909d7409f7434db67da6dff56090a7eda.
@Shreeshrii https://github.com/shreeshrii, that commit is no longer
needed after this pull request.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/pull/1092#issuecomment-323681345,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE2_o2j1sGBa1CopPUmse_sJBknn6J8Pks5saUERgaJpZM4O8_3M
.


Add example using nginx + uwsgi

Supplemental instructions on using uwsgi as the app host.

Fixes: #1335

Please see my comment on #1335.

For what it is worth, I managed to stumble across this PR after a many hour exercise in frustration getting the Debian-shipped gunicorn to play nicely with a netbox running in a virtualenv. Using the Debian-shipped gunicorn has the benefit of playing nicely with systemd with no need to mess with supervisor and integrating that into systemd.
After spinning my wheels on that for a while, I gave up and started looking in to how to setup netbox with uwsgi. Luckily I had no issue with the provided example and was able to use the Debian provided uwsgi + uwsgi-plugin-python packages along with my virtualenv configuration.
[uwsgi]
chdir = /opt/netbox/netbox
wsgi-file = netbox/wsgi.py
master = true
processes = 4
threads = 2
uid = www-data
socket = /run/uwsgi/netbox.sock
chown-socket = www-data:www-data
chmod-socket = 660
vacuum = true
virtualenv=/opt/virtualenv-netbox/

Thanks for submitting this, even if the PR was not merged. I found the bread crumb itself useful my friend!

BTW, I'm using fpm's virtualenv feature to convert the requirements.txt into a Debian package itself. Much of this journey is trying to package and distribute netbox in sysadmin friendly manner... which presents its own set of problems! :)

I've been tangling with python and supervisor and messed up requirements/dependencies for a while and this option works a lot better for me (in Ubuntu 16.04.3).

I've dropped this into https://gist.github.com/darthmdh/8f0a8e05ccb5c1c8eb7641df55121c9e so it can live on forever [1]
[1] for values of "forever" where "github pay the power bill" == 1


ERROR  failed to calculate global hash: error hashing files

What version of Turborepo are you using?
1.2.4
What package manager are you using / does the bug impact?
npm
What operating system are you using?
Mac
Describe the Bug
I keep getting this error when trying to deploy turborepo on vercel
ERROR  failed to calculate global hash: error hashing files. make sure that
git has been initialized failed to hash files/vercel/path0/package.json,
/vercel/path0/package-lock.json: git hash-object exited with status: exit status 128

Expected Behavior
Get a succesful deployment
To Reproduce
I have set up this command on Vercel
cd ../.. && npx turbo run build --filter=medusa-admin --include-dependencies --no-deps
And my turborepo is set uo like this
{
  "pipeline": {
    "build": {
      "dependsOn": [
        "^build",
        "$GATSBY_MEDUSA_BACKEND_URL"
      ],
      "outputs": ["public/**"]
    },
    "lint": {
      "outputs": []
    },
    "dev": {
      "cache": false
    }
  }
}

Same issue with 1.2.5, it only happens on the CI.
I've downgraded to 1.2.3 and it fixes the issue, so this seems to be a regression introduced in 1.2.4.

Yes, having the same issue on my Mac

Same here when I try to run npm run build on docker
I downgraded to version 1.2.3 and it's working.

This the error I am getting when running pnpm run lint which has the following script definition turbo run lint --cache-dir=.turbo-cache --no-deps.

ERROR  failed to calculate global hash: error hashing files. make sure that git has been initialized failed to hash files /Users/xxx/Development/Projects/monorepo-playground/package.json, /Users/xxx/Development/Projects/monorepo-playground/pnpm-lock.yaml: passed 2 file paths to Git to hash, but received 3 hashes
 ELIFECYCLE  Command failed with exit code 1.

Same here when I try to run npm run build on ci gitlab (with turborepo v1.2.6).
I downgraded to version v1.2.3 and it's working.

We are using the docker node 16-alpine : https://hub.docker.com/_/node
This docker uses the alpine 3.15 : https://github.com/nodejs/docker-node/blob/4e0fff70002f51c2b121c9b231917abcb63d2b1a/16/alpine3.15/Dockerfile
And the git version should be 2.34.2-r0  https://pkgs.alpinelinux.org/packages?name=git&branch=v3.15

I wasn't able to reproduce with that git version, but if anyone wants to try with a build from #1195 we should get a better error message to help track this down.

Hi, I am having the same issue. I already tried running the command with latest v1.2.8 of Turborepo and still showing:
ERROR  failed to calculate global hash: error hashing files. make sure that git has been initialized failed to hash files /Users/mateovivas/Documents/Gymdoor/gymdoor-mono/package.json, /Users/mateovivas/Documents/Gymdoor/gymdoor-mono/package-lock.json: git hash-object exited with status: exit status 128
error Command failed with exit code 1.

I think the problem started after I deleted the node_modules folder and the package-lock.json file to change my package manager to yarn. However, I have already commited my changes in git and still showing the error. When deploying the Github Actions workflow works fine.

I think that the commit with the better message is not on v1.2.8. How can we test it?

Error message on v1.2.8:

ERROR  failed to calculate global hash: error hashing files. make sure that git has been initialized failed to hash files directory/package.json, directory/package-lock.json: passed 2 file paths to Git to hash, but received 3 hashes

Fixed for me in v1.2.9

Still a problem for me in 1.2.16.  After using the quickstart instructions, I receive:
▶ npx turbo run test
 ERROR  failed to calculate global hash: error hashing files. make sure that git has been initialized failed to hash files /Users/dpeck/invoca/Titan/package.json, /Users/dpeck/invoca/Titan/package-lock.json: git hash-object exited with status: exit status 128. Output:
cbe71e18f1dd4bbc985e879b1b9b1c342996d452
fatal: could not open '/Users/dpeck/invoca/Titan/package-lock.json' for reading: No such file or directory

Can confirm this is also an issue for me on 1.2.16 on a docker container. Tests run fine on my macbook, but fail in container.

This is an issue on my end.  v1.2.3 works, but all the newer ones appear that they don't.
This happened after we started to use pnpm and once we deleted the package-lock.json file.  Newer versions of turborepo ran dev command runs fine with pnpm when the package-lock.json is present from our npm remnants, but started to spit out this error when deleting the package-lock.json file.  Works fine downgrading to v1.2.3, however.

I think the package-lock.json issue might be separate from the git issue.
@dep @sid9102 @Erns are you all trying to use npm? Or pnpm?

npm in my case

what worked for me in jenkins pipeline was using<EMAIL_ADDRESS>and using clean install rather than just install. hopefully this helps at least one super frustrated individual. wish i could give some sort of techy/cool explanation, but i'm just a noob and got lucky with 1 permutation out of probably 150
btw, using<EMAIL_ADDRESS>with node@14 docker image

Same issue with turborepo 1.3.1 + yarn on node:16-alpine docker image.
Everthing was working properly, until an hour ago when I restarted my containers:
ERROR  failed to calculate global hash: error hashing files.
make sure that git has been initialized failed to read `git hash-object`:
exec: "git": executable file not found in $PATH

I have no clue what I could have done to trigger this.
I removed all my .turbo & node_modules folders, pruned my container, restarted the Docker daemon, still no luck.

Ended up creating a simple Dockerfile as a workaround:
FROM node:16-alpine
RUN apk add git

and using it in my docker-compose.yml:
services:
    turbo:
        # image: node:16-alpine
        build:
            context: ./docker/node

The error disappear if I remove
  "globalDependencies": [
    ".eslintrc.js"
  ],

from my turbo.json file.
Looks like this could be the issue (my .eslintrc.js - and the whole folder - is mounted as a volume).
This would explain why I had no issue when building, since nothing is mounted at build time.
If confirmed, the issue probably needs to be reopen.

Confirmed this issue is also happening using<EMAIL_ADDRESS>Specifically, it's the error about failing to compute the global hash. pnpm didn't have this issue (it currently has other issues not fully installing all deps)

I am having a similar issue to @Erns -- I migrated my turbo/react app from npm to yarn, and upon deleting the package-lock.json, I get the same error message (when using latest version of turbo).
ERROR  failed to calculate global hash: error hashing files. make sure that git has been initialized failed to read git hash-object: exit status 128
Upon downgrading to 1.2.3, it works. Any update would be great!

@kellyndassler is git available in the environment where you are running this?

just got the issue too as I am moving out stuff to a monorepo, does any body know of way to debug this?
the hash-object command in workin in the terminal
❯ git hash-object turbo.json
ee4e7578d58631700adcbcfc0052dfe0852f140e

after upgrade from 1.2.3 to 1.4.6, it happens.
> turbo run start

 WARNING  cannot find a .git folder. Falling back to manual file hashing (which may be slower). If you are running this build in a pruned directory, you can ignore this message. Otherwise, please initialize a git repository in the root of your monorepo
 ERROR  failed to calculate global hash: error hashing files: could not hash file pnpm-lock.yaml.
open pnpm-lock.yaml: no such file or directory
 ELIFECYCLE  Command failed with exit code 1.

1.2.3 works fine.

Same issue in here. I removed package-lock.json to use yarn.lock instead and I am getting the error. I needed to downgrade turbo from latest version to 1.2.4. In 1.2.5 appears de error.

A large number of you are reporting issues with the same symptom but different underlying root causes. If you can create a reproduction starting from npx create-turbo@latest and share the repository we will be able to rapidly resolve your issue.
Alternatively, with enough information from everybody commenting on this issue, we may be able to guess how to create a reproduction on our side with enough reports. In order for your information to be actionable we need, at least:

the array of things specified as globalDependencies.
whether or not each of the files in globalDependencies exist.
the output of git hash-object for each of the files in that array. (Path is from the repository root.)
the specified packageManager in your package.json file, if any.
the package manager you are using and version.
whether or not you have run the install for your monorepo.
git version
node version
are you using docker, and if so how is your container set up?

As of now we do not have enough information to resolve any of the issues reported here. I'm going to tag this as needing a reproduction, and once we have that we'll be able to resolve it.


Add Segnext?

I've seen a number of papers using segnext, e.g. Is it worth adding support?

Ye, we should definitely add it, i know people who used it with very good results.
Actually, we have to add different new models, I'm going to open a new discussion just to keep track of them all :D

link to the discussion, will add links to the papers asap:
here


No asyncio global settings

Overview
This pull request aims to fix issues like #381, #305, #275, and #152. It adds an unambiguous way to get the loop from sanic and works to remove the need to set global asyncio settings as identified by @JendaPlhak here. Which in my opinion third party libraries, like sanic, should not do.
Example:
from sanic.policy import get_event_loop

def thing_that_needs_event_loop():
    loop = get_event_loop()

Implementation
Basic implementation was done by storing an instantiated uvloop policy inside of sanic.policy and then using that to set the global loop for the sanic server at that time.
What this means going forward

No more passing the loop

Server events before/after_start will be the preferred way of sharing the loop but you can also get it through sanic.policy.get_event_loop

There is not going to be a way to have a non-blocking way to start a Sanic application

There is no way to get that functionality to work with multiprocessing
The use cases could be fulfilled in different ways (like running separate apps that talk to each other through an API)

This can be revisited later


Fetch certificate from ledger as backup and increase timeouts

Motivation
This PR attempts to fetch a certificate from the ledger if the certificate ID (from a CertificateRequest) does not exist in the Certificate Storage. In addition the request timeouts are increased for the following:
Block requests: 15s -> 25s
Batch Certificate: 2.5s -> 5s
Transmission: 2.5s -> 5s
Note: These values are experimental and should be tuned.

Closing in favor of #3079


Merge brson's work into master

Obsoletes https://github.com/Diggsey/multirust-rs/pull/82 and https://github.com/Diggsey/multirust-rs/pull/85.
I apologize for the overwhelming number of patches here. I've addressed the comment about upgrades being broken in https://github.com/Diggsey/multirust-rs/pull/82, and tested on both linux and windows.
@Diggsey I'd like to get this merged into master and start iterating live. v2 manifests are in production now.

@Diggsey Everything's green and I am eager to merge this. Can I?

Here goes...

Awesome work, @brson!

:+1:

Woo! Thanks @Diggsey!


Adding Snackbar

The library is pretty great. It seems few components from Material Design Guidelines, one of which is SnackBar
I hope Snack Bar is added soon, it's one of the most important component.
Thank you.

This?

@SuperDJ Nope it is Toast. What I am looking for is something like this "Toast with Undo button".
You can find more details about SnackBar over here https://www.google.com/design/spec/components/snackbars-toasts.html

You can simply use a toast with a callback

@Dogfalo Thank you so much.


feat: Add working-directory to the target, group and global scope

Changes Made:

Modified the _call_shell_app and _load_working_directory methods to address the working directory issue.

Details:

Refactored the _call_shell_app method to dynamically set the working directory based on the target, group, or global scope.

Updated the _load_working_directory method to handle both absolute and relative paths appropriately.

The _call_shell_app method now utilizes the correct working directory based on the priority of target, group, and global settings.

The _load_working_directory method has been improved to handle various scenarios for setting the working directory.

Solves #48

Heyy @xmnlab , can you please review this?

@abhijeetSaroha could you please create some tests? you can create a new makim file for test based on this other one: https://github.com/osl-incubator/makim/blob/main/tests/.makim-env.yaml
it could be tests/.makim-working-directory.yaml
some ideas for the tests (pseudo makim file, not the real one):
global:
- working directory: /tmp
- groups:
  group-setup:
    working directory: group1
    targets:
      target-setup:
        run: |
          # create here all the paths necessary for the test ex:
          mkdir -p /tmp/group1
  group1:
   targets:
    target-1:  # NO  working directory
       run: |
          import os
          assert os.getcwd() == "/tmp/group1"

    target-2 working directory: target2
      run: |
        import os
        assert os.getcwd() == "/tmp/group1/target2"

this is just an idea of example, try to create different kind of tests for the following states:

absolute path
relative path
no path

and you should combine this for all the 3 scopes example

global absolute path, group relative path, target no path
global absolute path, group relative path, target absolute path
global absolute path, group relative path, target relative path
global absolute path, group absolute path, target no path
global absolute path, group no path, target no path
...

maybe you will need to have 3 makim files for that because the 3 different states for the global path

tests/.makim-working-directory-absolute.yaml
tests/.makim-working-directory-relative.yaml
tests/.makim-working-directory-no-path.yaml

Create a new target here https://github.com/osl-incubator/makim/blob/main/.makim.yaml#L87
for the working-directory test, in the beginning of your test call the target for the setup, so it will create all the directory first

additionally, please create a new step in the CI workflow for testing the working directory feature. example: https://github.com/osl-incubator/makim/blob/main/.github/workflows/main.yaml#L86-L87

/tests/,makim-working-directory-absolute.yaml
version: 1.0
working-directory: "/tmp/tests"

groups:
  group-relative:
    working-directory: "group1"
    targets:
      target-no-path:
        help: Test global absolute path, group relative path, target no path
        run: |
          import os
          assert os.getcwd() == "/tmp/tests/group1"

      target-absoulte:
        working-directory: "/tmp"
        help: Test global absolute path, group relative path, target absolute path
        run: |
          import os
          assert os.getcwd() == "/tmp"

      target-realtive:
        working-directory: "target3"
        help: Test global absolute path, group relative path, target relative path
        run: |
          import os
          assert os.getcwd() == "/tmp/tests/group1/target3"

      target-no-path:
        help: Test global absolute path, group relative path, target no path
        run: |
          import os
          assert os.getcwd() == "/tmp/tests/group1"

  group-absolute:
    working-directory: "/tmp/tests/group2"
    targets:
      target-no-path:
        help: Test global absolute path, group absolute path, target no path
        run: |
          import os
          assert os.getcwd() == "/tmp/tests/group2"

  group-no-path:
    targets:
      target-no-path:
        help: Test global absolute path, group no path, target no path
        run: |
          import os
          assert os.getcwd() == "/tmp/tests"

      target-absolute:
        working-directory: "/tmp"
        help: Test global absolute path, group no path, target absolute path
        run: |
          import os
          assert os.getcwd() == "/tmp"

      target-relative:
        working-directory: "group1/target3"
        help: est global absolute path, group no path, target relative path
        run: |
          import os
          assert os.getcwd() == "/tmp/tests/group1/target3"

Can you please review this, what are your thoughts about this?
I know run command is almost same for everyone, but I think for testing, it will be good.
Any other suggestion!

Mistakenly press Close with comment instead of Comment.

I decided to create three files based on these combinations.

tests/.makim-working-directory-absolute.yaml:
 * Global Absolute Path, Group Relative Path, Target No Path
 * Global Absolute Path, Group Relative Path, Target Absolute Path
 * Global Absolute Path, Group Relative Path, Target Relative Path
 * Global Absolute Path, Group Absolute Path, Target No Path
 * Global Absolute Path, Group No Path, Target No Path
 * Global Absolute Path, Group No Path, Target Absolute Path
 * Global Absolute Path, Group No Path, Target Relative Path

tests/.makim-working-directory-relative.yaml:
 * Global Relative Path, Group Relative Path, Target No Path
 * Global Relative Path, Group Relative Path, Target Absolute Path
 * Global Relative Path, Group Relative Path, Target Relative Path
 * Global Relative Path, Group Absolute Path, Target No Path
 * Global Relative Path, Group No Path, Target No Path
 * Global Relative Path, Group No Path, Target Absolute Path
 * Global Relative Path, Group No Path, Target Relative Path

tests/.makim-working-directory-no-path.yaml:
 * Global No Path, Group Relative Path, Target No Path
 * Global No Path, Group Relative Path, Target Absolute Path
 * Global No Path, Group Relative Path, Target Relative Path
 * Global No Path, Group Absolute Path, Target No Path
 * Global No Path, Group No Path, Target No Path
 * Global No Path, Group No Path, Target Absolute Path
 * Global No Path, Group No Path, Target Relative Path

@abhijeetSaroha  you can have 3 tests for absolute path for group as well (instead of just one).
for example:

Global Absolute Path, Group Absolute Path, Target No Path (as you already mentioned)
Global Absolute Path, Group Absolute Path, absolute path
Global Absolute Path, Group Absolute Path, relative path

the same thing for the other configuration for global as well

hey @abhijeetSaroha , it looks very nice, you are in right direction!
please add a step in the CI workflow for your new test, similar to this one: https://github.com/osl-incubator/makim/blob/main/.github/workflows/main.yaml#L86-L87

It shows error for not finding the file / directory, which I have used and created for testing the working-directory-absolute-path. So, now I have to upload those directory also? or Is there any solution which should I approach or may I change the directory names in the testing file ?

@abhijeetSaroha as we discused before, we need a setup step before the tests. So maybe the easiest way for now, wpuld be create all the folders used by your tests in your in the .makim.yaml file inside the target you created at the beginning of the "run".
Use this example as reference: "mkdir -p /path/to/folder/"
Let me know if you need more explanation.
Thanks!!

@xmnlab , Now, It's creating problem different for macos and ubuntu. In macos testing, it shows that parent directory is /private but in linux, that's not the case.

@abhijeetSaroha , instead of using /private, use /tmp
the code for setup should go to a specific target, you can call that setup and call that as a dependency for each other target.
let me know if you need more details

you can have the setup in a group called setup and the target could be called folders

@abhijeetSaroha
now it is just missing some documentation
please create a new file at https://github.com/osl-incubator/makim/tree/main/docs
it could be called features.md let use that to describe all the new features
You can add the following information (just an idea of structure, feel free to improve that):

# Working Directory

attribute: working-directory
scopes: global, group, target

## Example

```yaml

version: 1.0
working-directory: /tmp/tests

groups:
  group1:
    working-directory: group1
    targets:
      target-no-path:
        help: example of the usage of working-directory attribute
        working-directory: target1
        run: |
          import os
          print(os.getcwd())

```

@xmnlab If you have time, please review the features.md file.

Looks really nice. We don't need the section "Benefits". Could you remove that please? Other than that, It looks great.

Removed the section of  Benefit


feat(#106): Add HasClass and HasMethod matchers.

Add HasClass and HasMethod matchers to check received XMIR documents.
Closes: #106.

History:

feat(#106): Add HasClass Matcher
feat(#106): add HasMethod matcher
feat(#106): check method parameters after parsing bytecode into XMIR
feat(#106): remove the puzzle for 106 issue
feat(#106): introduce one more puzzle

PR-Codex overview
This PR focuses on improving the test readability and maintainability by introducing user-friendly Hamcrest matchers.
Detailed summary

Introduced HasClass matcher to check if the XMIR document has a class with a given name.
Introduced HasMethod matcher to check if the XMIR document has a method inside a class with a given name.
Updated test cases in DirectivesClassTest and DirectivesMethodTest to use the new matchers.

The following files were skipped due to too many changes: src/test/java/org/eolang/jeo/representation/directives/HasMethod.java

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 3min)


Add support for changing export directory name

Was wondering if you might be able to add support for changing the name of the directory where the images export to something other than nextImageExportOptimizer/ via configuration.
If it's not in scope for you, I may be able to open a PR.
Thanks for the great project!

Hi @eeshaan,
Thanks for the suggestion. The thing is that then every Image component would have an additional prop to read the value from the next.config.js. Same as it is currently with the nextImageExportOptimizer_storePicturesInWEBP and nextImageExportOptimizer_generateAndUseBlurImages variables.
If you want, you can go ahead and propose a PR 🙂


ignore general messages in perl maker

Awesome, with tests included!
Thanks a lot!

@euclio
The test is failing: can you take a look?
https://travis-ci.org/neomake/neomake/builds/192733400

Feel free to post a patch to #939.


A few push fixes

@tbielawa @sosiouxme

Added back push retry
Added stateful logic to push
not switches branch on distgit clone when rebase skipped

/lgtm
Just curious about that one thing

/lgtm


polaris.utils.errors.PolarisHubError: Error opening Zarr store at dataset upload

Polaris version
dev
Python Version
3.10
Operating System
Linux
Installation
pip
Description
I'm trying to upload a zarr dataset. Not doing anything special as far as I can tell - I think the zarr upload fails, but the dataset gets created on the hub anyway. Not sure what's going wrong
2024-07-21 17:05:44.769 | INFO     | polaris._mixins:md5sum:27 - Computing the checksum. This can be slow for large datasets.
Finding all files in the Zarr archive: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████| 1027/1027 [00:00<00:00, 2670.07it/s]
💥 ERROR: Failed to upload dataset.
Traceback (most recent call last):
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/polaris/hub/client.py", line 330, in open_zarr_file
    return zarr.open(store, mode=mode)
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/zarr/convenience.py", line 123, in open
    return open_group(_store, mode=mode, **kwargs)
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/zarr/hierarchy.py", line 1581, in open_group
    init_group(store, overwrite=True, path=path, chunk_store=chunk_store)
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/zarr/storage.py", line 682, in init_group
    _init_group_metadata(store=store, overwrite=overwrite, path=path, chunk_store=chunk_store)
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/zarr/storage.py", line 704, in _init_group_metadata
    rmdir(store, path)
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/zarr/storage.py", line 212, in rmdir
    store.rmdir(path)
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/zarr/storage.py", line 1548, in rmdir
    if self.fs.isdir(store_path):
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/fsspec/spec.py", line 705, in isdir
    return self.info(path)["type"] == "directory"
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/fsspec/spec.py", line 665, in info
    out = self.ls(self._parent(path), detail=True, **kwargs)
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/polaris/hub/polarisfs.py", line 94, in ls
    response.raise_for_status()
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/httpx/_models.py", line 761, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '404 Not Found' for url 'https://polarishub.io/api/v1/storage/dataset/mlls/BEND_chromatin_accessibility/ls'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/novo/users/fegt/BEND/scripts/upload_polaris_datasets.py", line 236, in <module>
    dataset.upload_to_hub(owner='mlls')
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/polaris/dataset/_dataset.py", line 372, in upload_to_hub
    self.client.upload_dataset(self, access=access, owner=owner)
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/polaris/hub/client.py", line 587, in upload_dataset
    dest = self.open_zarr_file(
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/polaris/hub/client.py", line 333, in open_zarr_file
    raise PolarisHubError("Error opening Zarr store") from e
polaris.utils.errors.PolarisHubError: Error opening Zarr store

Steps to reproduce
# i have a `df` and a `mulithot_labels` array

root = zarr.open('chromatin.zarr', "w")
root.array("labels", multihot_labels) # np array (n_samples, 125)
zarr.consolidate_metadata('chromatin.zarr') # this seems necessary, not sure why

df['label'] = [f'labels#{i}' for i in range(len(df))]

annotations = {
    "sequence": ColumnAnnotation(
        # modality="dna",
        description="The nucleotide sequence of the DNA region",
        # user_attributes={"unit": "mL/min/kg"},
    ),
    "strand": ColumnAnnotation(
        description="The strand of the DNA region",
    ),
    "chromosome": ColumnAnnotation(
        description="The chromosome of the DNA region",
    ),
    "start": ColumnAnnotation(
        description="The start coordinate of the DNA region",
    ),
    "end": ColumnAnnotation(
        description="The end coordinate of the DNA region",
    ),
    "label": ColumnAnnotation(
        description="The labels indicating the chromatin accessibility of the DNA region in the cell lines",
        is_pointer=True
    ),
}

dataset = Dataset(
    # The table is the core data-structure required to construct a dataset
    table=df.loc[:, ["sequence", "strand", "chromosome", "start", "end", "label"]],
    # Additional meta-data on the dataset level.
    name="BEND_chromatin_accessibility",
    description="Multilabel classification of chromatin accessibility in cell lines from the BEND benchmark",
    source="https://doi.org/10.1038/nature11247",
    annotations=annotations,
    curation_reference="https://arxiv.org/abs/2311.12570",
    owner=HubOwner(user_id="fteufel", slug="fteufel"),
    user_attributes={"year": "2023"},
    zarr_root_path="chromatin.zarr",
    license="CC-BY-4.0"
)

print(dataset.get_data(row=1, col='label'))

dataset.upload_to_hub(owner='mlls')

Additional output
No response

Thanks for reporting, @fteufel !
I think this would be fixed by #146. It's because we use the dataset name, rather than the slug (i.e. only lowercase letters and dashes).

Uploading Zarr is a multi-stage process, so it can happen that you do see the dataset on the Hub already, even though a later step in the upload process fails. However, you should always see a banner at the top stating that the dataset upload has not completed yet.

#Thanks to @zhu0619, #146 is now merged and this fix was included in release 0.7.3!
Could you try upgrading Polaris to the latest version and let me know if the issue persists?

It worked now for another dataset.
The one that failed at upload was broken, with the banner being there for 16+ hours. I deleted it in the UI in order to upload it again. Now I get
  "message": "Dataset 'bend-chromatin-accessibility', with slug 'bend-chromatin-accessibility', already exists"

Do I need to refresh something to make the delete be registered?

@fteufel
The reason is the metadata is already registered in the database.
I just removed it from the database. You can try again.

@fteufel
We are working on a solution to enable dataset updates and aim to make it available as soon as possible.
For now, another quick solution for this is to change your dataset name.

Hey there! I'm going to close this issue because it's no longer related to the original issue that was raised.
But before I do, I wanted to provide some context and hopefully solve your issue @fteufel in the process: We made the decision to implement deletion on the Hub as a soft-delete: You won't see deleted content on the Hub anymore, but the actual files still exist. That way we could restore deleted artifacts if needed.
This does imply, however, that you cannot create a dataset with the same name as a previously deleted artifact. In an effort to unblock you quickly, @zhu0619 manually hard-deleted the artifact from our database (solving this), but did not yet delete the associated files that had already completed uploading (causing this).
So where do we go next?

For cases like yours where an upload only partially completes, we want to make it easier to retry uploading the files that failed. I created an issue for this: https://github.com/polaris-hub/polaris/issues/151 . Please use that issue to share any thoughts or ideas on how this should(n't) work.
We need to do a better job at clearly communicating that a dataset name is unique (and thus explain the consequences of deleting an artifact). Any suggestion on where and how you would have expected such information?

This situation is an exceptional case. Moving forward, we never want to manually delete content because such a manual process is too error-prone and risks our data integrity. For just this once, however, given that we already deleted the entry from our database, we decided to also manually delete the associated, orphaned files from our storage backend. @fteufel This implies that uploading your dataset should work now!
If it doesn't, however, please reach out over Discord! Given that it's such an exceptional case, that's the better place to get personal support.

Ok, understand now - would be great to have that spelled out in the confirmation popup you get when deleting.
But it failed again :(
⠹ Uploading dataset...2024-07-23 09:55:01.849 | INFO     | polaris.hub.client:upload_dataset:602 - Copying Zarr archive to the Hub. This may take a while.
💥 ERROR: Failed to upload dataset.
Traceback (most recent call last):
  File "/novo/users/fegt/BEND/scripts/upload_polaris_datasets.py", line 243, in <module>
    dataset.upload_to_hub(owner='mlls')
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/polaris/dataset/_dataset.py", line 377, in upload_to_hub
    self.client.upload_dataset(self, access=access, owner=owner)
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/polaris/hub/client.py", line 603, in upload_dataset
    zarr.copy_store(
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/zarr/convenience.py", line 756, in copy_store
    dest[dest_key] = data
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/zarr/storage.py", line 1470, in __setitem__
    self.map[key] = value
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/fsspec/mapping.py", line 175, in __setitem__
    self.fs.pipe_file(key, maybe_convert(value))
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/polaris/hub/polarisfs.py", line 223, in pipe_file
    raise PolarisHubError("Could not get signed URL from Polaris Hub.")
polaris.utils.errors.PolarisHubError: Could not get signed URL from Polaris Hub.

@fteufel I see some data made it to our storage backend. I'm not sure why the upload failed midway through, but my best explanation is that your login expired as the upload happened or that you hit some timeout. You're helping us stress test the system here - The downside of working mostly with small molecules is that most datasets I'm used to are small! 😅
Lacking a formal retry mechanism, could you complete the upload using:
First, refresh your login token:
polaris login --overwrite

Then:
from polaris.hub.client import PolarisHubClient

# Create the exact same dataset locally again
dataset = ...

with PolarisHubClient() as client:
    # Increase the timeout
    client.settings.default_timeout = (100, 2000)

    # Open the destination Zarr archive again
    dest = client.open_zarr_file(
        owner="mlls",
        name="bend-chromatin-accessibility",
        path="polarisfs://data.zarr",
        mode="w",
        as_consolidated=False,
    )

    # Copy the files to the destination, skipping any files that already exist.
    # With this code, you will also see additional print output during the process that may help us debug if it fails again.
    logger.info("Copying Zarr archive to the Hub. This may take a while.")
    zarr.copy_store(
        source=dataset.zarr_root.store.store,
        dest=dest.store,
        log=print,
        if_exists="skip",
    )

    dest = client.open_zarr_file(
  File "/novo/users/fegt/miniconda3/envs/bend/lib/python3.10/site-packages/polaris/hub/client.py", line 333, in open_zarr_file
    raise PolarisHubError("Error opening Zarr store") from e
polaris.utils.errors.PolarisHubError: Error opening Zarr store

But can also just wait until there is a retry mechanism for now.

Thanks! #144 will also add more informative error messages for this case, helping us to investigate.

I added myself temporarily to the mlls organization and I see the issue! It's because of mode="w". From the Zarr docs:
‘w’ means create (overwrite if exists);

Since we haven't implemented the delete operation, overwriting the archive fails.
This would be fixed by changing it to mode="a".


api.Vsee.com breaks the Vsee doctor/patient video conferencing app

I don't think it's related to vsee.tk at all, but it completely wrecks the Vsee app, which I had to use today to talk to my doctor. I'm not sure it should be blocked.
Reddit posting on /r/pihole

@dkowis the domain in question is already removed by the list maintainer due to earlier complaint.
See #1286 for more details.
You probably need to update your lists or Steven @StevenBlack needs to do a fresh lists update here,not sure to be honest as those changes were recent.

Hi David @dkowis the vsee.tk is blocked by KADHosts.
Tomasz @fademind can you advise?

Hi David @dkowis the vsee.tk is blocked by KADHosts.

I don't believe the vsee.tk is a problem, only the api.vsee.com, just noting it's existence, sorry for the confusion there.

Tomasz @FadeMind can you advise?

I did just do an update of the pihole, so I think everything is golden. I can close this! Thanks!
 Match found in Whitelist
   api.vsee.com
 Match found in https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts:
   adslvseed.qq.com
   vsee.tk
   www.vsee.tk

Tomasz @FadeMind nevermind, sorry.

@StevenBlack about KADHosts issues please call maintainer directly @hawkeye116477
Thank you.


verify-release should check Proxy bytecodes and owners

closing in favor of https://app.zenhub.com/workspaces/celo-5d94ef61d9b1e40001114c02/issues/celo-org/celo-monorepo/5483


Add Unit tests for RequestBuilder.

Add Unit tests for RequestBuilder.

Add Unit tests for UrlBuilder class.

Update coverage of RequestBuilder class in dataservice-api to 85%.

Resolves: OLPEDGE-1478
Signed-off-by: Bautista, Iryna<EMAIL_ADDRESS>

Codecov Report

Merging #157 into master will increase coverage by 1.3%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           master    #157     +/-   ##
========================================
+ Coverage    58.9%   60.2%   +1.3%
========================================
  Files          51      51
  Lines        1344    1344
  Branches      156     156
========================================
+ Hits          792     810     +18
+ Misses        523     502     -21
- Partials       29      32      +3

Impacted Files
Coverage Δ

...here/olp-sdk-dataservice-api/lib/RequestBuilder.ts
74% <0%> (+66.6%)
: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 efd73ed...3ca5156. Read the comment docs.


Manual deinstall/deacitvating

Hi, we seem to have issues with our template running your add-on.
How can we manually deinstall the ad-on without the need to log-in
first. Removing the ad-on folder from packages folder doesn't do it.
Many regards

Just adding some details: We run C5 7.5.3, read the read me files
and did install the add-on since we thought Composer is included
in the latest version already. Something went wrong and we don't
know what it is/was. Since we like to install the add-on again on a
fresh install of Concrete5, it'd be cool to know what we have done
wrong. If help costs, make it a "donate me" add-on. We'll support.
Regards.

Please carefully read the installation instructions, I'm really 100% sure it is the problem in your case that you have missed one point. Do not continue forward from any steps before you have successfully completed that step.
From the comment above "we see a "vendor" folder holding a "autoload.php"inside
the concrete folder" I see that you are missing or misinterpreting point 4. in the installation instructions of this add-on.

Adding here as well the manual uninstallation instructions (ref #1).
To manually uninstall the add-on, run the following SQL against the database that contains your concrete5 installation:
DELETE FROM Packages WHERE pkgHandle = 'free_cookies_disclosure';

Thanks for the info we have just received (it did sticked in the spam
folder)

Antti Hukkanen<EMAIL_ADDRESS>3. Dezember 2015 06:08
Adding here as well the manual uninstallation instructions (ref #1
https://github.com/mainio/c5_free_cookies_disclosure/issues/1).
To manually uninstall the add-on, run the following SQL against the
database that contains your concrete5 installation:
|DELETE FROM Packages WHERE pkgHandle = 'free_cookies_disclosure';
|
—
Reply to this email directly or view it on GitHub
https://github.com/mainio/c5_free_cookies_disclosure/issues/2#issuecomment-161515695.


网页构建炸了（

Error: ENOENT: no such file or directory, scandir '/mnt/meme/mcwzh-meme-resourcepack/modules/real_grass/'
    at Object.readdirSync (fs.js:790:3)
    at JavaBuilder._PackBuilder_readFileList2 (/code/dist/index.js:25670:39)
    at JavaBuilder.build (/code/dist/index.js:25609:96)
    at JavaBuilder.build (/code/dist/index.js:25852:22)
    at MemepackBuilder2.build (/code/dist/index.js:26073:32)
    at router.post (/code/dist/index.js:58645:27)
    at dispatch (/code/dist/index.js:10633:36)
    at /code/dist/index.js:15335:20
    at dispatch (/code/dist/index.js:10633:36)
    at /code/dist/index.js:10622:16
Building pack.

貌似是因为real_grass文件夹的名字（

@AlPha5130 我现在是把源仓的 module_manifest 改了，这是之前没修成功的commit
https://github.com/Teahouse-Studios/memepack-builder-ts/commit/b8badbad54abf2d78851a37ab9f867ddad13450f
你看看能不能修下（


How to create a model via API

Hi, I just started to fine-tune model and do need to create a private model via replicate client or via API.
Issue here, I can see method related to model creation in repo but it raises NotImplementedException.
Question here is it possible to create a model via API or via any other approach rather than to create a model manually via browser?

This would be really helpful.

+1 for this please

+1

+1

Hi everyone! I'm happy to say that, as of 0.16.0, you can now create models through Replicate's API and client libraries (#184). From the README:

Create a model
You can create a model for a user or organization
with a given name, visibility, and hardware SKU:
import replicate

model = replicate.models.create(
    owner="your-username",
    name="my-model",
    visibility="public",
    hardware="gpu-a40-large"
)


Added dEdx to the dashboard and switched from pdg to pid+charge

Added dEdx to the dashboard and switched from pdg to pid+charge

Changes as we agreed.Merging


How can we get result for new images, not from test datasets?

Apologies for the delayed response. Below, I've outlined some implementation guidelines. Please note that these are just guidelines, so you'll need to implement the details yourself.

Create an instance of the model, similar to part of the implementation in test.py:

def test(args, cfg):
    device = torch.device(cfg.DEVICE)
    if cfg.MODEL.SR_SEG_INV:
        model = InvModel(cfg).to(device)
        print(f'------------Model Architecture-------------\n\n<Network SS>\n{model.segmentation_model}\n\n<Network SR>\n{model.sr_model}')
    else:
        model = Model(cfg).to(device)
        print(f'------------Model Architecture-------------\n\n<Network SR>\n{model.sr_model}\n\n<Network SS>\n{model.segmentation_model}')

    model.load_state_dict(fix_model_state_dict(torch.load(args.trained_model, map_location=lambda storage, loc:storage)))
    model.eval()

Load the image(s) to test as np.array.

Convert the loaded image(s) into a format that can be inputted into the model, referring to the TestTransform in data_preprocess.py.

class TestTransforms:
    def __init__(self, cfg):
        self.augment = Compose([
            ConvertFromInts(),
            ToTensor(),
        ])

    def __call__(self, image, mask):
        image, mask = self.augment(image, mask)
        if mask is not None:
            return image/255, mask/255

        return image/255, None

For inference on a single image, reshape it into the shape (1, 3, H, W), perform inference with the model, and save the output. You can refer to inference.py for this.

sr_preds, segment_preds = model(imgs)

# SR evaluation
if not cfg.MODEL.SR_SEG_INV and cfg.MODEL.SCALE_FACTOR != 1:
    sr_preds[sr_preds>1] = 1 # clipping
    sr_preds[sr_preds<0] = 0 # clipping
    psnr_scores = np.append(psnr_scores, psnr(sr_preds, sr_targets.to("cuda")))
    ssim_scores = np.append(ssim_scores, ssim(sr_preds, sr_targets.to("cuda")))
    save_img(args.output_dirname, sr_preds, fname)

These steps should guide you in performing inference on new images using your model.
We plan to add a demo script to CSBSR, an advanced version of CSSR, that allows inference from a single image at a later date. Please look forward to this as well!

Thank you @Yuki-11 .


bug fix on convert "U" to "T"

Hi, I think there is a bug on this line:
https://github.com/uw-ipd/RoseTTAFold2NA/commit/0f697067bf41b3d4e918caa3f65803a5c6047733#diff-dbc96069aed7abb32833a00cfcfe2143b53f06a12b01a3ed7f7ec98a44cf239dR116
An easy fix would be:
msa[msa == ord("U")] = 30

good catch!

Would it be possible to push the fix to the main branch? I installed the package according to the instructions on the README and that checks out the old version with the bug... would have been nice to avoid a crash after the MSA took 14hrs to complete ;-)


y_fake = torch.zeros_like(scores_fake) * random.uniform(0, 0.3)

the function gan_d_loss(scores_real, scores_fake) in the losses.py, is that a mistake we set  y_fake = torch.zeros_like(scores_fake) * random.uniform(0, 0.3)? Because we always got zero there is no meaning for us to multiply a random number. Or this should be y_fake = torch.ones_like(scores_fake) * random.uniform(0, 0.3)?
full code:
`
def gan_d_loss(scores_real, scores_fake):
y_real = torch.ones_like(scores_real) * random.uniform(0.7, 1.2)
y_fake = torch.zeros_like(scores_fake) * random.uniform(0, 0.3)
loss_real = bce_loss(scores_real, y_real)
loss_fake = bce_loss(scores_fake, y_fake)
return loss_real + loss_fake

`

@mingbocui
I think you're right, and that's a mistake in the code. To train a GAN you can use uniform random numbers between 0 and 0.3 as "Soft" False labels and etc (not sure how effective it would be).


redhat-argocd: release 1.8.9 as 1.10.1

Hey, I just made a Pull Request!
Bump the argocd version to 1.10.1  and add missing changelog.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

PR is stuck on processing updates, closing this and will reopen again.


Fix code coverage report system

This PR fixes some flaws and deficiencies in my previous attempt to set up code coverage reporting during the CI build.
It was necessary to add the --coverage option in CMakeLists.txt in order to produce the coverage data needed for the report. This was the cause of the lcov --list coverage.info command's failure:
Reading tracefile coverage.info

lcov: ERROR: no valid records found in tracefile coverage.info

I based the original file matching patterns in the lcov --remove command on the ArduinoCloudThing CI configuration, without really understanding how that command worked, but I have since learned that they won't match the intended paths, resulting in the coverage report containing data for files that are not part of the 107-Arduino-UAVCAN source code.
The "Unit tests" job of the CI build will now produce the expected coverage report:
$ lcov --list coverage.info

Reading tracefile coverage.info

                         |Lines       |Functions  |Branches

Filename                 |Rate     Num|Rate    Num|Rate     Num

===============================================================

[/home/travis/build/per1234/107-Arduino-UAVCAN/src/]

ArduinoO1Heap.cpp        | 0.0%      8| 0.0%     3|    -      0

ArduinoUAVCAN.cpp        | 0.0%     13| 0.0%     3|    -      0

===============================================================

                   Total:| 0.0%     21| 0.0%     6|    -      0

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@f74df37). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master     #13   +/-   ##
========================================
  Coverage          ?   0.00%
========================================
  Files             ?       2
  Lines             ?      17
  Branches          ?       0
========================================
  Hits              ?       0
  Misses            ?      17
  Partials          ?       0

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 f74df37...005d57b. Read the comment docs.


Test UUID Array

Test for #569

Please excuse the ugly workarounds I added for dealing with timezone failures. The build failure here is just one of them.  I reserved a week for fixing those issues :) A rough idea is to add more test cases using mysql/mariadb for comparison, and then make changes accordingly.
Will get back to this pull request once I commit the changes for adding more data types later today.


GitHub pages support and better error handling.

Running this sample currently fails on GitHub pages because the tweets.json file is loaded from an absolute path, when it should be relative. I have changed this.
I also noticed that this wasn't handled very well, and so although this shouldn't really be a problem, I have added a quick 200 status check to prevent the transformer parsing non JSON pages.
Finally, I removed a rogue i hiding in the code for when the request has completed.
Keep up the awesome work! Hoping to see more Supercharged videos soon.

Yes! Good stuff. Thanks @oliverdunk!

200 is no the only valid response to check for. We should also consider checking for statuses like 304 Not Modified (when served from browser cache).

@ramlmn That's a good point. What do you say to only failing if it isn't a 2xx or 304 status code? Or are there other factors which I've missed?

 Looks like I didn't add anything to the if statement... :man_facepalming:

@oliverdunk Something like /^0|([123]\d\d)|(40[14567])|410$/ from sw-toolbox. 😊

That's what Response.ok is for. But no need to productionize this really. Anything but 200 means something is wrong in this case :)

GitHub pages still working, as at the end, bytesCounted > bytesTotal - no idea why, but am investigating :man_shrugging:


Support Python 3.8

There are still a number of legacy applications that use python 3.8. It is meaningful to maintain support as 3.8 has not yet reached end-of-life: https://devguide.python.org/versions/

Ps. May I ask why you prefer not to let poetry install pre-commit?

I prefer for my poetry to manage just the python dependencies


Smart Ref Unbinder are not always getting removed

When the game crashes (for unrelated reasons) the Smart Ref Unbinder is not removed sometimes

Thanks for reporting! I've noticed this before but not worked out what causes it. I think I know now, but it turns out there's a deeper issue with the unbinding system (in editor that is).
The unbinder is there to automatically remove the listener that fires the unityevent from the SmartRef when the object that owns it gets destroyed, so as not to leak the object (lapsed listener problem). Since the SmartRefs are plain classes they don't get OnDestroy etc, so SmartRefUnbinder is a surrogate to do it for them.
The problem is, the unbinder has to be created in OnAfterDeserialize as this (and OnBeforeSerialize) is the only callback I can make a plain class automatically receive - and what you can do during the deserialization phase of an object's lifecycle is extremely limited. So I'm unable to directly check Application.isPlaying for instance, which makes it hard to not create SmartRefUnbinders when playmode is stopped (which I believe is what's happenening).
I've got a way to get around that (check Application.isPlaying in SmartRefUnbinder.Start and destroy if so), but the larger problem is that when you press Play, the SmartRefUnbinder deserialisation seems to get called before Unity actually starts playing - so the SmartRefUnbinder gets auto-destroyed by the editor as it cleans up transient scene objects before playing. So I'm not sure this actually works properly at all!

As a band-aid solution I added a
private void Awake()
        {
            if (!Application.isPlaying)
            {
                DestroyImmediate(this);
            }
        }

and made it execute in edit mode 😄

Ok, think it's fixed!
At the moment I serialize a ref to the owner MonoBehaviour to the SmartRef at edit time (in the PropertyDrawer for the SmartRef), and use that at deserialization time to add the SmartRefUnbinder to the same gameobject. I've managed to get this working properly in the above case (i.e. when you hit Play in the editor) and the way it used to work should still work in a build (and it defaults to that unless UNITY_EDITOR is defined).
I've also checked this still works with copying/instantiating something (since I wasn't sure if gameobject reference would get auto-changed by unity, but it seems to). So everything should be good. However I'll leave this open for now as I haven't tested in a build and there may be other unforeseen bugs.
I'm going to leave

It's removing the component but I don't think it's listening to changes to the variable anymore :(

Here's an example, am I doing something wrong?
ProjectSettings.zip

Issue solved. For the record saint11 and I have been working on fixing and testing it.


can't import python module as module name is not a valid python identifier

After running a pip install, I don't see how to import the module, as the name is defined as commondatamodel-objectmodel, which is not a valid Python identifier (because of the dash). Is that on purpose? Given that the folder name is cdm, having the name be cdm might be good?
cdm is taken on pypi but maybe we can ask them to free the name as it seems stalled?
https://pypi.org/project/cdm/

you can import using  from cdm import objectmodel it is similar to installing scikit-learn and importing linear_model using from sklearn import linear_model

huh, you're right, I must have messed something up. Clearly I misremembered how we did that in sklearn.


No reference to cv2.MultiTracker in OpenCV 2.10 - 3.1

This feature looks really useful, but I don't see it in the API at all. I've tried it on OpenCV2.4.10, 3.0, and 3.1 and still no luck. Please let me know!

Oops, I think it's because I'm running it without building the contrib repo. Sorry!


Nuitka hardcodes the initial path at compile time into the resulting executable

The issue is, nuitka hadcodes all the pathes in the initial invocation into the resulting executable. that is, if my python script is located at for example : C:\Users\user\PythonProjects\myproc1
all pathes that are evaluated at compile time, are hardcoded into  the executable, and if for example wrote a simple code for reading an image which is in the current working directory,:
current_dir = os.path.dirname( os.path.abspath(__file__))
icon = os.path.join(current_dir, 'imgs', 'icon.ico')
....

it wont work, if I move the executable to some other locations where the initial path does not exists!

Nuitka version, full Python version and Platform (Windows, OSX, Linux ...)

<IP_ADDRESS>
Python: 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
Executable: C:\Users\User\Anaconda3\python.exe
OS: Windows
Arch: x86_64

How did you install Nuitka and Python (pip, anaconda, deb, rpm, from source,
what is a virtualenv ...), this is very important usually.

using pip

Many times when you get an error from Nuitka, your setup may be so special
that even a "hello world" program will not work, please try that and report
it instead.

it doesnt matter!

If possible please supply a Short, Self Contained, Correct, Example
that demonstrates the issue i.e a small piece of code which reproduces
the issue and can be run with out any other (or as few as possible)
external dependencies.

here is a short self contained correct example (test.py):
import os
current_dir = os.path.dirname( os.path.abspath(__file__))
print(f'current dir: {current_dir}')
print(f"current_python file: {os.path.join(current_dir, 'test.py')}")
input()

Just create the executable and move it to some other location, you'll see it will print the path of where the original .py file resided.
I used the following command to create the executable :
python -m nuitka test.py

If this is a regression (used to work in an earlier version of Nuitka),
please note what you know about that.

I also tested this on the <IP_ADDRESS> version and the same issue exists there as well.

There is --file-reference-mode  that controls these. For acceleration if defaults to compile time paths.
For the main program, should be use original location, and find unmoved files, or should we follow new location, and not find them.
Your current_dir is more like a home directory, if you ask me. There is also an issue about symlinks, and what they do in normal Python differently about __file__. But in a way, Nuitka binary created in accelerated mode, works more like a symlink to a Python script. And for independence from installation, acceleration is to be used.
Proper packaging with wheels and data files is illustrated in tests/distutils examples. If this is about distribution to another machine, that's better. It uses module mode for main code, and entry points, and puts the data files automatically. That is the best supported mode of operation right now.

I am treating this as a question and close it, mostly because I don't want to make a file reference mode, that treats main differently from other modules, which would probably be needed. Nobody is going to use that anyway for lack of discoverabiltiy.


fix race with dropping mpsc::Receiver

Fix a bug where messages sent into a channel at the same time as the
Receiver is dropped are never removed.
The impl in 0.3 suffers the same bug.
Fixes #909

This needs review by either @aturon or @cramertj because I'm not familiar with that part of the code base. I do however think that it's important that this gets merged


Unable to select production backend environment on amplify console

Background:

Build from github to amplify console
Using PR Preview on github
Connecting production backend environment to the master branch

Current behavior:

Pull request is merged into master branch but failed to build because the settings was set to PR environment from master branch
I tried to change the settings on amplify console by wanting to select the production environment but the production environment is not listed on the settings even the production environment information is at team-provider-info.json on master branch
The build worked well during last merge on 28th November but it failed today, 23rd December

Expected behavior:
Able to select production backend environment from the list

Hi, Thank you for reporting! we cut a ticket in our team backlog. We will investigate a fix.

We've made a number of bug fixes to this feature. Verify if this is still happening.


RSA memory leak

Code:
            std::string rsa_pub_encrypt(const std::string &clearText, std::string &pubKey)
            {
	            std::string strRet = "Test";
	            BIO *keybio = BIO_new_mem_buf((unsigned char *)pubKey.c_str(), -1);
	            RSA* rsa = RSA__new();
	            rsa = PEM_read_bio_RSA_PUBKEY(keybio, &rsa, NULL, NULL);
	            BIO_free_all(keybio);
	            RSA_free(rsa);
	            keybio = NULL;
	            rsa = NULL;
	            return strRet;
            }

Compiler Result:
            Detected memory leaks!
            Dumping objects ->
            {54287} normal block at 0x00000000056D7DD0, 12 bytes long.
             Data: <            > 00 00 00 00 01 00 00 00 00 00 00 00
            {54286} normal block at 0x00000000054DD900, 520 bytes long.
             Data: <                > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
            Object dump complete.

Why is there a memory leak in this functional interface?
How to use the RSA interface?

Marking as inactive, to be closed at the end of the 3.4 dev cycle, barring further input


Missing SNS Topic policy action: "sns:Receive"

Description
AWS recently updated their SNS Topic policy actions by including additional action: "sns:Receive". You are missing this action in your module, hence those that use the module have a reported change where Terraform wants to remove this action from the policy.
Line: https://github.com/terraform-aws-modules/terraform-aws-sns/blob/master/main.tf#L62C13-L62C13
Expected behavior

Actual behavior

Additional context
Please fix it ASAP.

this has already been resolved on #47


Make it easier to link to specific news items

At the moment, we can link to specific news items by adding the heading in lower case (and with - instead of spaces) but it isn't easy to get that link itself.
For example:

https://bids.neuroimaging.io/news.html#meet-the-bids-steering-group
https://bids.neuroimaging.io/news.html#new-website
https://bids.neuroimaging.io/news.html#bids-steering-group-election-and-governance-results

Does anyone know of any css etc that can make it easy to get the link - for example by hovering over the heading itself?

Duplicate with #72. Closing :)

I hope someone can help to make it easier to link to subsections (i.e. subheadings) on pages. This does not only apply to news items, but for example also to https://bids.neuroimaging.io/benefits.html#other-tools

This technically already works, using https://gist.github.com/asabaylus/3071099 and https://stackoverflow.com/questions/43627485/jekyll-link-within-page, but the links are hard to find if you don't know this. For non HTML developers (e.g. visitors to the website) it will be impossible to find the links to the sections.


Enable VMDq if using 82599 cards to handle VLANs

src/program/lwaftr/setup.lua: Enable VMDq if we are stripping VLAN
tags.  This also enabled VLAN filtering, which was busted before.  It
also enables MAC filtering, whereby only packets with the correct
destination MAC will be routed to the interface.

LGTM.

See https://github.com/SnabbCo/snabbswitch/issues/749 also.


Refactor initialization of API managers in GameInstance

Replace by Builder pattern

Wont fix, it doesn't have any huge advantages and not simplifies code


Running serverless package results in Error: EPERM: operation not permitted, unlink '..../.build/node_modules'

Running serverless package results in the error Error: EPERM: operation not permitted, unlink '..../.build/node_modules' and I can't move forward. Here's the information about my system:
Your Environment Information ---------------------------
Operating System: darwin
Node Version: 14.17.6
Framework Version: 2.58.0 (local)
Plugin Version: 5.4.4
SDK Version: 4.3.0
Components Version: 3.17.0

Here is the output when running serverless package:
Serverless: Running "serverless" installed locally (in service node_modules)
Serverless: Compiling with Typescript...
Serverless: Using local tsconfig.json
Serverless: Typescript compiled.

 Error ---------------------------------------------------

  Error: EPERM: operation not permitted, unlink '/Users/..../.build/node_modules'
      at Object.unlinkSync (fs.js:1251:3)
      at TypeScriptPlugin.<anonymous> (/Users/..../node_modules/serverless-plugin-typescript/dist/src/index.js:176:24)
      at Generator.next (<anonymous>)
      at /Users/..../node_modules/serverless-plugin-typescript/dist/src/index.js:8:71
      at new Promise (<anonymous>)
      at __awaiter (/Users/..../node_modules/serverless-plugin-typescript/dist/src/index.js:4:12)
      at TypeScriptPlugin.copyDependencies (/Users/..../node_modules/serverless-plugin-typescript/dist/src/index.js:170:16)
      at TypeScriptPlugin.<anonymous> (/Users/..../node_modules/serverless-plugin-typescript/dist/src/index.js:46:28)
      at Generator.next (<anonymous>)
      at fulfilled (/Users/..../node_modules/serverless-plugin-typescript/dist/src/index.js:5:58)
      at processTicksAndRejections (internal/process/task_queues.js:95:5)

I am using the serverless-plugin-typescript plugin and the problem seems to stem from that. I've tried a number of different things: downgrading the plugin to 1.1.7 per this issue, deleting .serverless/, .build/, node_modules/, and yarn.lock and running yarn for a fresh start, and upgrading serverless and node, but nothing helps.
Here is my tsconfig.json file:
{
	"compilerOptions": {
		"module": "commonjs",
		"target": "es6",
		"lib": ["es6", "dom"],
		"moduleResolution": "node",
		"rootDir": "./",
		"sourceMap": true,
		"allowJs": true,
		"noImplicitAny": true,
		"noUnusedLocals": true,
		"noImplicitThis": true,
		"strictNullChecks": true,
		"noImplicitReturns": true,
		"preserveConstEnums": true,
		"suppressImplicitAnyIndexErrors": true,
		"forceConsistentCasingInFileNames": true
	},
	"exclude": ["node_modules", "build", "webpack"],
	"types": ["typePatches"]
}

And here is my serverless.yml file:
frameworkVersion: "2"

provider:
  name: aws
  runtime: nodejs14.x
  lambdaHashingVersion: ********
  profile: ***

# you can add packaging information here
package:
  patterns:
    - "!node_modules/**"
    - "node_modules/mongoose/**"
    - "node_modules/mongodb/**"
    - "node_modules/bson/**"
    - "node_modules/optional-require/**"
    - "node_modules/safe-buffer/**"
    - "node_modules/denque/**"
    - "node_modules/bl/**"
    - "node_modules/process-nextick-args/**"
    - "node_modules/isarray/**"
    - "node_modules/core-util-is/**"
    - "node_modules/inherits/**"
    - "node_modules/util-deprecate/**"
    - "node_modules/sliced/**"
    - "node_modules/ms/**"
    - "node_modules/mpath/**"
    - "node_modules/kareem/**"
    - "node_modules/mongoose-legacy-pluralize/**"
    - "node_modules/mquery/**"
    - "node_modules/regexp-clone/**"
    - "node_modules/sift/**"
    - "node_modules/saslprep/**"
    - "node_modules/readable-stream/**"
    - "node_modules/debug/**"
    - "node_modules/bluebird/**"

functions:
  devFuncName:
    handler: index.handler

plugins:
  - serverless-plugin-typescript
  - serverless-offline

configValidationMode: error

Please let me know if you need any more information from me.

@trevorgillis did you have any update on this problem? I'm facing the same issue

I've tried a number of different things: downgrading the plugin to 1.1.7

You're using 2.0.0 version of the plugin?

Actually, this is an existing bug, see #170.

@leorrodrigues I had made a mistake somewhere so that when I thought I was downgrading to v1.1.7 I wasn't actually downgrading. When I figured that out and actually downgraded to v1.1.7, the error went away, just like #170 says.
@ashawley No, I was using v1.1.9. Yes, I thought I had actually linked to #170 in the original post (that's what I had meant to do), but apparently I missed the link. I've updated the issue so that it links.

Since the downgrade to v1.1.7 worked per #170 and it was my own error for thinking that it did not originally, I'm going to close this.


Account for agreed upon $_SERVER vars

Closes #191

Closing due to conflict and lack of movement. Can be re-opened if wanted,


cassandra_int_tests: Refactor CassandraConnection execute methods

CassandraConnection implementation changes:

improves support for the scylla and cdrs-tokio driver backends, I think the only thing they are missing now is TLS support.
greatly reduces duplicated logic across: batch, prepared and regular queries.  :eyes:

CassandraConnection API changes:

_fallible methods return more useful types:

On success they return the generic Vec of results instead of some cassandra_cpp specific type.
On failure they return the cdrs-tokio errors instead of cassandra_cpp errors because cdrs-tokio errors are nicer to construct and read from

_expect_err methods are replaced with _fallible methods, this gives us a more composable API.
The execute method is kept instead of just using execute_fallible because it provides a better error message on failure then just unwrap.
The execute_batch method is kept instead of just using execute_batch_fallible because it provides better assertions.

LGTM. Should probably rename those methods at some point, execute and execute prepared are a bit confusing.


Improving build time.

Testing build on appvoyer to test build time.

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

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;