Add new fields to submission/apply form

Hello BullHorn team.
I am trying to add custom fields to the "apply" modal form of a job (when a candidate is reading the details of a job and clics on the Apply button) and I know this question may have been asked several times before and actually the most recent issue related to this topic is #270 and the answer from support team was that "it was not possible" but were "looking into ways to add additional fields onto the form in the future", so I just want to make a follow up on this and wanted to know if it is currently possible??
thanks in advance.

Have you checked out the Matador Jobs Plugin? We can add any field in the candidate object to any form in a couple of checkboxes ticks
Paul

The public API that the career portal uses only supports adding data directly to EEOC fields, first and last name fields, phone number, and email in addition to any information parsed from the resume.  The portal can be converted to use the full API, however, that will involve adding a backend that the career portal can connect to.
Please let me know if you have any questions.

The public API that the career portal uses only supports adding data directly to EEOC fields, first and last name fields, phone number, and email in addition to any information parsed from the resume. The portal can be converted to use the full API, however, that will involve adding a backend that the career portal can connect to.
Please let me know if you have any questions.

Hi Charles,
I have received the Full API access. But my motive is to create a few new fields to submission/apply form of OSCP. Is there any guide which can be helpful in upgrading OSCP from public api to full private api? If not, is there any helpful resource which can guide me where to start?
Thank you

@adilJamshad you will have problems First you are going to have to add oAuth2 just to login then use the docs to map the fields
this is not a trivial task.
The cost of your time is going to more than using Matador Jobs on a WordPress install!!
Get your client to reach out for a demo


repeatedly read orc file data using cnchhive

#443
Consistent with the processing of Parquet, by modifying the code in the CnchHiveThreadSelectBlockInputProcessor::getNewTask() method, the current stripe index to be read is passed to ORCBlockInputFormat, so that each thread reads a stripe.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Release 16.03

Motivation for this change
Refactor DPDK to allow building out-of-tree external apps.
Things done

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

[x ] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Could you use a more descriptive issue subject?
cc maintainer @domenkozar

Very cool :)

Thanks for merging it Domen! And sorry about the missing issue subject. I didn't realize I had to create an issue first before sending PR.
Now that these commits made it into release-16.03, how do you recommend to get them into master? Do you want me to send another PR on master?

@abuibrahim yes please :)

@abuibrahim Would you mind to look at 16.03 failure https://hydra.nixos.org/build/36571197 ?


Improve BLT's export logic

We should help with exporting CMake targets better.  The following two ideas were proposed:

Add export options to blt_add_library, for example, export namespace and export set name.  This could probably be just one optional parameter: blt_add_library(NAME foo ... EXPORT myProjectName)
Improve blt_export_tpl_targets() in two ways: first, add the ability to export project specific TPLs under your projects namespace, and second, have blt export its targets to a blt specific namespace and have the exported targets be granular so that you can add targets as you build up your connected projects (think, camp exporting from raja, then umpire adding mpi because neither needed them)

Maybe I am missing something, but does the first one add much? There are other paths associated with how the exports are installed, will we have to pass those to our macro as well?
If folks want to rely on bona-fide BLT targets (as opposed to say using standard CMake targets like for MPI) -- should there be a path for find_package(blt_targets)?
The problem I see with both that and even with the magic exports, is the BLT targets are baked in for each project. Even if they are renamed, there could be problems, the could be incompatible.
This is the OpenMP issue. If I have one package that didn't use OpenMP and one later wants to use it, BLT's baked in stuff can get very confused b/c of language support.
When you do things like find_package(OpenMP) downstream -- CMake handles the transitive cases much better.
I really think we should consider if the export magic is taking us further down the rabbit hole, or if we should move towards something else.


Explain why we don't justify or right align text

Related documentation
https://design-system.service.gov.uk/styles/typography/#text-alignment-override-classes
Suggestion
We DO left align text, but we don't say why we do. We should add something to say:
You should usually left-align text that's read left to right. Never justify blocks of text as this creates rivers of blank space, which can make it difficult to read. Remember that right-aligning text can make it difficult for magnification users to find and follow.
Evidence (where applicable)
https://www.w3.org/TR/WCAG20-TECHS/G169.html

@marianavery Thanks for raising this - really appreciate the explanation and helpful link!
Ok, first pass at guidance update:

You should usually left-align text that's read left to right. Right-aligned text can be hard for magnification users to find and read.
Do not 'justify' blocks of text so that they're aligned to both the left and right margins. Doing this creates blank spaces, which can also make the text hard to read.

@davidc-gds What do you think? :)

Would be good to be clear this is about body regular copy / body copy and not any text. Services may right align for ui elements or for some columns in tables, etc.

Thanks, @edwardhorsford! That's good to know.
Take #2:

You should usually left-align body copy that's read left to right. Right-aligned body copy can be hard for magnification users to find and read.
Do not 'justify' blocks of body copy so that they're aligned to both the left and right margins. Doing this creates blank spaces, which can also make the text hard to read.

Short centre aligned text is also, not only hard to find but liable to be missed entirely by people using magnification concentrating on the left side of the page.
Multiline centred text also requires finding the start of each line in a different place, especially difficult at high magnifications.
Is justified text hard for everyone or particularly with some conditions?

Hey @EoinShaughnessy! Thanks for tagging me, I think generally this seems like a fine direction to go 👍
I might suggest clarifying what we mean by "blank spaces" though, because left-aligning technically also makes "blank" spaces on the far-right of each line.
We could probably remove the "also" in that second line too, I think?
Something like:

Do not 'justify' blocks of body copy so that they're aligned to both the left and right margins. Doing this creates wider spaces between words, which can  also make the text hard to read.


kvm: fix router.aggregation.command.each.timeout is reset to 600 when update other kvm configs

Description
This PR fixes the issue that router.aggregation.command.each.timeout on kvm host is reset to 600, when other kvm config is updated, but router.aggregation.command.each.timeout is not.

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[X] Minor
[] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos7 ✖centos8 ✖debian. JID-2434

@blueorangutan test

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3248)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 32513 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4496-t3248-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Smoke tests completed. 83 look OK, 0 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos7 ✖centos8 ✔debian. JID-2440

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3278)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 31220 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4496-t3278-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_vpc_vpn.py
Smoke tests completed. 83 look OK, 0 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File


When using as a python package, how to supply the parameter -N 32

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
In one of the discussions, I saw people using the parameter -N 32 when running from the command line. I how I do the same thing when running a python script that import yt_dlp?
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

See pinned post https://github.com/yt-dlp/yt-dlp/issues/5859#issuecomment-1363938900
https://github.com/yt-dlp/yt-dlp/blob/b5f61b69d4561b81fc98c226b176f0c15493e688/yt_dlp/downloader/fragment.py#L43


Add Fathom Analytics

I don't think we configured any general analytics. If we use Fathom, I can:

[x] add a new site and share the embed code
[x] update https://docs.google.com/spreadsheets/d/1MMqid2qDto_9-MLD_qDppsqkQy_6OP-Uo-9dCgoxjSg/edit#gid=1480832278

<script src="https://cdn.usefathom.com/script.js" data-spa="auto" data-site="RPQMNYXX" defer data-excluded-domains="localhost,<IP_ADDRESS>,<IP_ADDRESS>"></script>

from Slack @jpmckinney:

We can use Fathom to track clicked links by adding UTM parameters to the links: https://usefathom.com/docs/start/utms (edited)


can we replace x-trace-id with custom name "Logging-CorrelationId"

In our system, we have been using log correaltion using an unique id called "Logging-CorrelationId". Now we are planning to use sleuth so is this possible to keep name as "Logging-CorrelationId" or is it possible to pass the same value of "Logging-CorrelationId" in x-trace-id. I tried this passing of value using
public class CustomHttpServletRequestSpanExtractor implements
 SpanExtractor<HttpServletRequest> {

private static final Logger LOGGER = LoggerFactory.getLogger(CustomHttpServletRequestSpanExtractor.class);
@Override
public Span joinTrace(HttpServletRequest carrier) {
    String correlationID = LoggingCorrelationFilterHelper.extractCorrelationIdFromRequest(carrier);
    long traceId = Span.hexToId(carrier.getHeader(correlationID));
    // extract all necessary headers
    Span.SpanBuilder builder = Span.builder().traceId(traceId);
    // build rest of the Span
    return builder.build();
}

but this is not working. Can somebody help in this regard? let me know if this has been asked before. I could not find any such config property.

You have such an example in the docs http://cloud.spring.io/spring-cloud-sleuth/spring-cloud-sleuth.html#_example. Have you read the manual?

@marcingrzejszczak  Yes I have gone through this and used the same approach as mentioned in above comment. But still i am getting a new value for traceId but not the one which is being created for Logging-Correaltion Id. I tried to verify with logger statement but that is also not getting logged so might be this is not getting called or considered.
Above given class is included in config as
 @Configuration
 public class EchoConfig {

@Bean
@Primary
SpanExtractor<HttpServletRequest> customHttpServletRequestSpanExtractor() {
    return new CustomHttpServletRequestSpanExtractor();
}

}
do I need to do something else to make this effective?

Which version of Sleuth are you using? Here is the order of the TraceFilter - https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java#L82 . If you have some custom filter that needs to be executed before TraceFliter pleaase ensure that order value is appropriate

@marcingrzejszczak I am using 1.2.0.RELEASE version. and yes I tried with appropriate order as well but CustomHttpServletRequestSpanExtractor is not getting executed. Is there any other changes required here?
Also is it possible to change the X-B3-TraceId name with Logging-CorrelationId. As X-B3-TraceId is shown on zipkin UI as traceId. So we want to Logging-CorrelationId name at both the places.

It should work then. Without a sample it won't be possible to help you I guess.
As for the ui changes I don't think that's possible. You can add a tag with the name that you suggested and you will see that in your span.

Ping

Closing due to inactivity

@JagmohanSharma Can you please share your fix with community? I am in the same boat trying to override value of X-B3-SpanId and X-B3-TraceId headers set by Spring Sleuth. Help appreciated!

@pjajara - just read the docs. It's written here how to do it. Also it's not a fix, it's an extension.

@marcingrzejszczak Sure, I will read documentation to override headers.

@marcingrzejszczak can you please provide an example how to remove programatically from log a header like X-B3-SpanId  rename X-B3-TraceId ? I read the documentation as well without been able to see where it is mention.


fix: fix minio image at older working version

Signed-off-by: Julie Vogelmani<EMAIL_ADDRESS>Fixes #10310

@juliev0 you should change it in https://github.com/argoproj/argo-workflows/tree/master/manifests/quick-start/base/minio. you change on generated files. if you do make manifest it will override it.


Texture transparency blending is broken on some effects

Effects such as blood spurts, sparks from bullets hitting walls, tracer fire, etc seem to have incorrect alpha blending.

This might be at least partially related to the issue which was causing garbage textures, which was fixed just now. Though I suspect some of them will have broken alpha regardless.

Some textures still seem to be broken, weird considering this one wasn't transparent.

Spark effects render without their alpha blend, which is strange since tracers render fine.

Adding to the list, the impact effects when you hit an enemy seem to lack transparency as well.

Closing this in favor of #101.


run Reporter app with error :  r._hidden2tag.linear.weight: param with shape torch.Size from checkpoint does not match the shape in current model is torch.Size

Hello,
I trained the model with run_stg_joint.sh. After i run demo_pipeline.py, while receving an error. I paste the full error here:
[jupyter@jupyter-d134f2d8-ead8-4a47-92a0-8dcb5293de93-54b4cfd585-jh5dl STG-correction]$ python demo_pipeline.py
jieba are not installed, use default mode.
Some weights of the model checkpoint at ../pretrained-models/hflchinese-roberta-wwm-ext/ were not used when initializing BertForMaskedLM: ['bert.pooler.dense.bias', 'bert.pooler.dense.weight', 'cls.seq_relationship.bias', 'cls.seq_relationship.weight']

This IS expected if you are initializing BertForMaskedLM from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
This IS NOT expected if you are initializing BertForMaskedLM from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Traceback (most recent call last):
File "/jupyter/workspace/bert/FCGEC-main/model/STG-correction/demo_pipeline.py", line 27, in
pipecls = Pipeline(args_binary, args_demo)
File "/jupyter/workspace/bert/FCGEC-main/model/STG-correction/app/Pipeline.py", line 18, in init
self.model_bucket = ModelBucketV1(args_demo, self.device, binary=True, switch=True, taggen=True, checkpoints_name='checkpoint.pt')
File "/jupyter/workspace/bert/FCGEC-main/model/STG-correction/app/ModelBucket.py", line 35, in init
joit_model.load_state_dict(joit_model_params)
File "/usr/local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 2041, in load_state_dict
raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for JointModel:
size mismatch for tagger._hidden2tag.linear.weight: copying a param with shape torch.Size([7, 768]) from checkpoint, the shape in current model is torch.Size([6, 768]).
size mismatch for tagger._hidden2tag.linear.bias: copying a param with shape torch.Size([7]) from checkpoint, the shape in current model is torch.Size([6]).

please give some hint to solve it. Thanks.

Hi,
If you are training from scratch under the Joint paradigm, the configuration file used for training is joint_config.py.  Please check if your settings (tagger_classes-line 40) are consistent with those in the repository.

-->MAX_GENERATE is set to 6 in run_stg_joint.sh
-->model_args.add_arg('max_generate', int, 6, 'Number of Max Token Generation')  in evaluate_joint_config.py
-->model_args.add_arg('max_generate', int, 6, 'Number of Max Token Generation') in joint_config.py
-->model_args.add_arg('max_generate', int, 6, 'Number of Max Token Generation') in generator_config.py
-->model_args.add_arg('max_generate', int, 6, 'Number of Max Token Generation') in evaluate_indep_config.py
-->model_args.add_arg('max_generate', int, 6, 'Number of Max Token Generation') in tagger_config.py
-->self.max_token = args.max_generate + 1 --- line 16 in tagger_model(else if  self.max_token = args.max_generate, the error will be size mismatch for tagger._hidden2tag.linear.weight: copying a param with shape torch.Size([7, 768]) from checkpoint, the shape in current model is torch.Size([6, 768]).
size mismatch for tagger._hidden2tag.linear.bias: copying a param with shape torch.Size([7]) from checkpoint, the shape in current model is torch.Size([6]).
size mismatch for tagger._hidden2t.linear.weight: copying a param with shape torch.Size([7, 768]) from checkpoint, the shape in current model is torch.Size([8, 768]).
size mismatch for tagger._hidden2t.linear.bias: copying a param with shape torch.Size([7]) from checkpoint, the shape in current model is torch.Size([8]).)

For error message:

size mismatch for tagger._hidden2t.linear.weight: copying a param with shape torch.Size([7, 768]) from checkpoint, the shape in current model is torch.Size([8, 768]).
size mismatch for tagger._hidden2t.linear.bias: copying a param with shape torch.Size([7]) from checkpoint, the shape in current model is torch.Size([8]).)

The checkpoints you trained seem to have been generated with max_generate=7, so the max_generate parameter in evaluate_joint_config.py should be set to 7.
Besides,

Hi,
If you are training from scratch under the Joint paradigm, the configuration file used for training is joint_config.py. Please check if your settings (tagger_classes-line 40) are consistent with those in the repository.

The tagger_classes parameter you trained with also seems to be set to 7 during training. You may need to check or retrain it.

-->MAX_GENERATE is set to 6 in run_stg_joint.sh -->model_args.add_arg('max_generate', int, 6, 'Number of Max Token Generation') in evaluate_joint_config.py -->model_args.add_arg('max_generate', int, 6, 'Number of Max Token Generation') in joint_config.py -->model_args.add_arg('max_generate', int, 6, 'Number of Max Token Generation') in generator_config.py -->model_args.add_arg('max_generate', int, 6, 'Number of Max Token Generation') in evaluate_indep_config.py -->model_args.add_arg('max_generate', int, 6, 'Number of Max Token Generation') in tagger_config.py -->self.max_token = args.max_generate + 1 --- line 16 in tagger_model(else if self.max_token = args.max_generate, the error will be size mismatch for tagger._hidden2tag.linear.weight: copying a param with shape torch.Size([7, 768]) from checkpoint, the shape in current model is torch.Size([6, 768]). size mismatch for tagger._hidden2tag.linear.bias: copying a param with shape torch.Size([7]) from checkpoint, the shape in current model is torch.Size([6]). size mismatch for tagger._hidden2t.linear.weight: copying a param with shape torch.Size([7, 768]) from checkpoint, the shape in current model is torch.Size([8, 768]). size mismatch for tagger._hidden2t.linear.bias: copying a param with shape torch.Size([7]) from checkpoint, the shape in current model is torch.Size([8]).)

It's a bit odd; if max_generate is set to 6 in evaluate_joint_config.py, the current model's shape should not be 8, it should be 7. You may need to track the value of max_token in TaggerModel.

if the max_generate parameter in evaluate_joint_config.py set to 7, the error will be :         size mismatch for tagger._hidden2tag.linear.weight: copying a param with shape torch.Size([7, 768]) from checkpoint, the shape in current model is torch.Size([6, 768]).
size mismatch for tagger._hidden2tag.linear.bias: copying a param with shape torch.Size([7]) from checkpoint, the shape in current model is torch.Size([6]).
size mismatch for tagger._hidden2t.linear.weight: copying a param with shape torch.Size([7, 768]) from checkpoint, the shape in current model is torch.Size([8, 768]).
size mismatch for tagger._hidden2t.linear.bias: copying a param with shape torch.Size([7]) from checkpoint, the shape in current model is torch.Size([8]).
I'm sure the max_generate was set bo 6 in joint_config.py (tagger_classes -line 40), since i set the same 6 in run_stg_joint.sh.
Yes. i need to track the value.

Try setting the parameters I just sent you in the email, and also print out the max_token of the TaggerModel for tracking.

Thanks a lot


Adenine or adenosine in pyrimidine- and adenine-specific:sodium symporter activity?

If I got it right. GO:0015389 pyrimidine- and adenine-specific:sodium symporter activity was initially created on the basis of https://tcdb.org/search/result.php?tc=2.A.41.2.3
It was curated to the nucleoside symporters SLC28A1, 2 and 3. I would have expected to have adenosine instead of adenine in the term description and definition.
Alternatively the term could be deprecated as it does not correspond to any MF.

Changed term label and definition from 'adenine', which is the base, to 'adenosine', which is the nucleoside.


Ubuntu issue #1242 from bitcoin (qt menus disappearing)

Kia ora Rob
I thought I was packaging poorly, but it turns out that there is a qt issue with Unity and thus most Ubuntu users. While the original issue raised cites Ubuntu 1204, I can confirm that it affects the Unity desktop in 1404-1504.  laanwj at bitcoin has already resolved it. the issue was raised here:
https://github.com/bitcoin/bitcoin/issues/1242
The issue was resolved with the commits here:
https://github.com/bitcoin/bitcoin/pull/3493
Let me know if this is something you can work on in the near term, or if I should attempt to use laanwj's commits as a patch in my builds. I'd rather not mess around under the hood, to be honest. I'm neither a c or a qt programmer, and besides, the whole idea with packaging is to keep the trust by using the upstream code for the builds and only tweaking at the edges.
Cheers
Rick (caraka)

Close me!

Threads split and issue resolved with release 3.5.2.x


simpixel crashing

Recently SimPixel started crashing on any MIDI input during any midi controlled animations (anmations work fine with actual leds). Since that happened, simpixel crashes when running any animation, after a seeming random amount of time (immediately or up to 10 seconds).
even if I close my terminal, open up a new one, and run bibliopixel demo I'll get
INFO - websocket - WebSocket server closed after some amount of time. If I just keep repeatedly running bibliopixel demo I'll get demos that last for 30 seconds and ones that crash after 1.
Sorry not much debugging information here. Fully accept that the problem may be on my end, but have no idea how to track down what is actually happening here.
If I close my terminal I can /always/ run a demo for awhile, but it will eventually crash. Once it crashes, anything run after that will crash at a random time, usually within a few seconds. That's about all the strange replicability I can offer

If I had to guess it has something to do with something not being cleaned up -- even if I wait a while, I can run bibliopixel demo again and it will run just fine for 30 seconds+. However if I CTRL-C to exit the demo and then run bibliopixel demo again, it will crash almost immediately.
I'm assuming that some how and some way this started showing up with remote scripts because they are pretty impossible to exit. I still have to use ps aux  |  grep -i bibliopixel  |  awk '{print $2}'  |  xargs kill -9 to stop a remote program and then it seems there's some weirdness with PIDs being left places and maybe other cleanup? Could be totally wrong though.

Are there any errors in the terminal?
You can use the --verbose and --loglevel debug flags when using bp demo
For killing the process from the terminal, try CTRL + \
Some additional info may be helpful.
What Python version are you using? python -V
What distro are you using? cat /etc/lsb-release
What BiblioPixel version are you using? (it seems that bp --version doesn't work)
My bet is that there's some Python library being called that has some dependency issue.

We have a bp info command instead of bp --version command.  My guess is
that this will show you are up-to-date.
This is very interesting and might well be a real bug.   Do note that it
only happens when you have both MIDI and SimPixel in operation.  (On
the other hand, I have used the MIDI quite a lot with SimPixel and I
haven't seen this...
What happens if you do bp shutdown from another window when this happens?
On Fri, Jun 8, 2018 at 10:41 AM, Cosmo Borsky<EMAIL_ADDRESS>wrote:

Are there any errors in the terminal?
You can use the --verbose and --loglevel debug flags when using bp demo
For killing the process from the terminal, try CTRL + \
Some additional info may be helpful.
What Python version are you using? python -V
What distro are you using? cat /etc/lsb-release
What BiblioPixel version are you using? (it seems that bp --version
doesn't work)
My bet is that there's some Python library being called that has some
dependency issue.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/844#issuecomment-395692596,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPdsse_GJbuZJg5KXF1eKBjfDJCPdHdks5t6jjJgaJpZM4UfskL
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com

Alright, I'm still trying to narrow down variables enough here to be able to reproduce.
#1) Some issues were already documented and related to simpixel really not liking multiple windows, trying to weed those out
#2) Some issues only happen after simpixel has crashed this way once, and then they happen all over the place until the terminal is restarted
#3) I'm trying to isolate a reproducible instance of the first crash to see what might be causing it in a MIDI script (or if it ever happens without a control and is just a general simpixel thing) and then we can figure out why they persist.
I do think there might be 2 issues here -- some sort of interaction with the controls that causes simpixel to crash, and then some sort of cleanup issue when a controls program crashes because it doesn't exit right that then causes simpixel to misbehave for other things. But not sure on that yet.
Gotta sleep, will try to get an actual reproducible test case on my machine.
I'm running latest master in a venv, no worries there

Ok I have one kinda reproducible test case
If I open a new terminal, and start a boring included strip animation with midi controls (that obv aren't doing anything) without a MIDI controller attached and I never open a SimPixel window, it never crashes
If I open a new terminal, and start a boring included strip animation with midi controls (that obv aren't doing anything) with a MIDI controller attached and I never open a SimPixel window, it never crashes
If I open a new terminal, and start a boring included strip animation with midi controls (that obv aren't doing anything) without a MIDI controller attached and I open a SimPixel window, it occasionally crashes, but usually runs
If I open a new terminal, and start a boring included strip animation with midi controls (that obv aren't doing anything) with a MIDI controller attached and I open a SimPixel window, it almost always crashes.
--
Once simpixel has crashed like this, crashes start showing up in other places that they didn't before, until you quit/restart the terminal
--
That all being said I tried restarting my /computer/ (look, sometimes you just have to go there) and I currently have an animation running in simpixel with a midi controls and a midi controller attached and there's no problems with it, has been chugging for 10 minutes.
So there's some high weirdness here for sure, but not sure where.

Another clue now that I am kinda up and running again.
If I have a midi animation that actually uses the midi controls and I start it with a simpixel window open in my browser (but not connected), it will immediately crash the moment I move a midi control.
It I run the same animation withour a browser open and then open and connect to it, it seems to run fine now.
--
p.s. I still have to kill -9 the process after running bp shutdown. bp shutdown will actually stop the animation running, but the process itself is still running. However it seems that running bp shutdown always and then running kill makes for less weird error messages about PIDs.

Wow, thanks for an excellent analysis!!

Yes, unfortunately the "having SimPixel open in multiple windows and then closing one" is well-known.  I attempted to fix that at some point but I didn't know the SimPixel code well enough.  I believe your analysis there is correct, and that it isn't the root cause.  (I also don't think that bug is a symptom of some fundamental weakness!)

My overall theory right now is quite similar to yours, yes.  But there are some holes, some of which I'm hoping Adam will fill in.
Once bp has terminated, it should be that the only possible thing lying around is the PID file - see #845.  However, having a PID file still there should only prevent the program from starting, and should give a clear error message.
It feels like there's some process hanging around... but we don't use subprocesses anywhere, (except in the Remote animation, I think) so how can this be??

Ah, two updates while I was writing this!  I can try to reproduce that last one - that's a really interesting case...

(And maybe I'm wrong - perhaps the "open in multiple windows" bug is involved here...)

it could be -- as it's not really an "open in multiple windows" bug, it's that the first window that is disconnected still has some control somewhere. So perhaps there is something that stays running if the simpixel window is never closed that causes some weird problem with the midi remote, but it doesn't cause that problem if it is started after the animation is running... ???

that being said I just left a midi remote script running for like 10 minutes without a browser window open and it eventually crashed. However working fine now with midi animations as long as I make sure not to have a simpixel window open when I start them

(p.s. off topic use of a bug report but I'm in the process of rewriting a bunch of the strip animations to be midi compatible. The idea is that you have 8 CCs, 1 of them adjusts brightness, 2 of them have something to do with color, 1 of them has to do with making things more random/chaotic, 3 of them have something to do with other parameters of the animation (maybe the width of a line, or maybe how many colors in a gradient, depends on the animation) and the last one always controls the speed)
so the idea is "what does it look like to have many animations where you know these sliders will always do something that you want to do even if it isn't quite the same from animation to animation" -- you know how to make them all brighter, and play with color, and play with other parameters, and change the speed, no matter what animation you are in, because they are mapped to the same controllers
trying to learn a thing or two about pythonic ways along the way, but I'm sure it is still weird code, but I'll push it up here someday soon!)

This is fascinating, and somewhat daunting I have to admit.  :-)
As the coffee kicks in, I am remembering that a few months ago, I also had the issue that I couldn't run anything until I started a new terminal.  It was in the midst of a ton of things, so I didn't actually note it...
As I said before, you and I are the only people to actually use the MIDI controls.  More, those depend on a third-party library called Mido, and that could conceivably be doing something wrong in some horrible way... :-/
Now, I have heavily audited Mido, and the code quality seemed very good - but I could just be fooled by nice formatting and good comments.  :-D
To be frank, you might be the only person aside from me to use any control at all!  So the problem could also be in the controls section.
That is probably the most complex pure code in BiblioPixel (the networking and driver code is probably more complex, but is mainly referring to outside things) - but much of that complexity occurs in actually building the control up.

Your plan should be to go to sleep - it's almost dawn there FFS!  :-D
My plan is going to be to attempt to reproduce your two most recent cases.  My tentative guess is that I will be able to reproduce these, but then it will be hard-going from there.  However, a reproducible case is the first step to a real fix.
I need to get another RPi (this is on a RPi, am I right?) so if I cannot reproduce it on this Mac, I'll buy one exactly like yours with the same OS.
Also, my time over the next week or so is somewhat limited... :-/ but not totally!

Gee, you're productive!

Yes, as you say, "what does it look like to have many animations where you know these sliders will always do something that you want to do even if it isn't quite the same from animation to animation".  Exactly the problem!
In synthesis, you have so-called "macro controls" - where you can attach certain parameters from each separate sound/patch as Macro 1, Macro 2, Macro 3, etc.
Then you attach your faders to Macro 1, Macro 2, etc.  and these will have different meanings depending on which animation is active.
Which is something like what you are coming to.  I am really interested to see your code, "unPythonic" or not!!!

yes sleep, what can I say, I'm a coder at heart, weird bugs make me really want to find the reproducible test cases that can isolate it :P
I'm on my MBP right now by the way running high sierra, not a pi

To quote "Mr. The Plague" in Hackers: "God wouldn't be up this late"
As this is all MIDI stuff that I have not used, I'm just gonna let ya'll to
it. Assuming it doesn't delay 3.5 docs release... ;)
On Fri, Jun 8, 2018 at 6:14 AM Eric Stiens<EMAIL_ADDRESS>wrote:

yes sleep, what can I say, I'm a coder at heart, weird bugs make me really
want to find the reproducible test cases that can isolate it :P
I'm on my MBP right now by the way running high sierra, not a pi
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/844#issuecomment-395717116,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6a6mcd33fPMaM7JLjCnoKsBpyu5kcWks5t6k5tgaJpZM4UfskL
.

Only had time for a quick look.
bp monitor midi

works perfectly well and shuts down very gracefully.
On the other hand, if I add a line
"driver": "dummy",

to projects/23-midi-control.json and rerun it, I get exactly the same behavior without SimPixel being involved.  (And, idiot-checking, if I make it "Xdummy" I get the reasonably good error Cannot import symbol 'Xdummy', so I am editing the correct file.)

The shutdown issue is clearly to do with midi only.
But it works for monitor, so it must be to do with the difference in usage patterns between monitor and bp.

I'm going to stop here, and wait for the original project causing the issue - also due to limited time...

I'm going to try to get a small project/animation that can reproduce it for me. Fixing having to kill -9 control projects might even clear it up

I have actually figured out what the issue is with the shutdown.  Fixing it
correctly is a little tricky as all this [stuff] involving synchronizing
shutdown is non-trivial but not terrible...
However, it definitely isn't what's causing any crash!
On Fri, Jun 8, 2018 at 11:54 PM, Eric Stiens<EMAIL_ADDRESS>wrote:

I'm going to try to get a small project/animation that can reproduce it
for me. Fixing having to kill -9 control projects might even clear it up
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/844#issuecomment-395901781,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPdshyKrXdf96jBmlGaW46SiX6-agf2ks5t6vKJgaJpZM4UfskL
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com

I just changed the name of this issue - is that accurate?
Also, I reopened #725 for the "hanging during shutdown" issue - so this issue now is only for the "simpixel driver crashes"


Add support of new plugin/driver "vsphere-shared".

Layout after the PR:
vmdk_plugin now contains two plugins: original_plugin and shared_plugin.
Both of the two plugins have their own main.go in order to support building separate binaries.
A new shared driver is also added into vmdk_plugin/drivers, which shares the same VolumeDriver interface as vmdk/photon drivers.
A few utility functions are separated out from original plugin and moved under vmdk_plugin/utils since they are used by both original and shared plugins:
log_formatter: for VmwareFormatter struct and logInit functions
plugin_server: for PluginServer struct and SockPluginServer for Linux and NpipePluginServer for windows.
Both original_plugin and shared_plugin share the same Makefile.
The shared_plugin only supports docker-based build for now.
To build original_plugin: follow the current build steps.
To build shared_plugin: make build-shared
Default config file path for shared_plugin: /etc/docker-volume-shared.conf
Default log file path for shared_plugin: /var/log/docker-volume-shared.log
The Dockerfiles of docker plugin are also separated into two sub-directories: plugin/original and plugin/shared, while sharing the same Makefile.
To build original plugin: make all
To build shared plugin: make shared-all
Original plugin will be pushed into docker hub repo: $(DOCKER_HUB_REPO)/docker-volume-vsphere
Shared plugin will be pushed into docker hub repo: $(DOCKER_HUB_REPO)/docker-volume-shared
Installation step:
Original plugin: the same as before
Shared plugin: docker plugin install --grant-all-permissions --alias shared [DOCKER_HUB_REPO]/docker-volume-shared:[TAG-EXTRATAG]

@luomiao, is it possible to rename original_plugin as vmdk_plugin and retain the new one as "shared_plugin"? The top level dir can be just plugins/ maybe. Is there a command that will build all the plugins? Can make build all plugins while make vmdk or make shared build the specific plugins?

@govint There is already another plugin folder which holds the dockerfile for building docker plugins... We may need to think about another name for the top plugin code.
About the command to build all plugins: we can introduce this after the new shared plugin is complete to some degree. Now it's still in progress so I think it's better do not build all plugins together.

vsphere-shared name can be confusing for end-user. User can have questions like - do I need to use shared plugin to use shared datastores ? e.g. sharedVmfs

Replaced by:
https://github.com/vmware/docker-volume-vsphere/pull/1555
https://github.com/vmware/docker-volume-vsphere/pull/1567
https://github.com/vmware/docker-volume-vsphere/pull/1574


cmd/vet: Show warning when StructTags not space-separated

If StructTags are separated via tabs rather than spaces, they will not work... but go vet will not issue any warnings.
Example code (Github does not appear to render tabs and spaces differently though):
package main

import (
	"encoding/json"
	"fmt"
)

// the StructTag contains tabs, and does not recognise the json keyval
type TabsStruct struct {
	Foo string `xml:"foo1,attr"	json:"foo1"`
}

// this StructTag contains only spaces, and works perfectly
type StringsStruct struct {
	Foo string `xml:"foo1,attr" json:"foo1"`
}

func main() {

	// both should print out {"foo1":"hello"}, but only the StringsStruct example does

	thing, _ := json.Marshal(TabsStruct{"hello"})
	fmt.Println(string(thing))

	thing2, _ := json.Marshal(StringsStruct{"hello"})
	fmt.Println(string(thing2))
}

Playground example: https://play.golang.org/p/DAvrKtIBKI
This issue was requested by @robpike: https://twitter.com/rob_pike/status/551313510991265792

The fix for this issue (https://github.com/golang/tools/commit/682ca03389b762630846eff46e0d91d9307a2e63) introduced a new one. Something like
field type `tag:"foo bar"`

isn't working any more, due to the extra space in the quoted value string. At least in my interpretation of the docs (speaking of quoted string literals) this should be valid.

Bugged me too, I made a patch for this https://github.com/zimmski/tools/commit/4b820846b5c4a083d782755ceb8e9e1dbbb51d49 and I will try to bring it upstream.

I forgot to post the CL here https://go-review.googlesource.com/#/c/2974/

Please review https://go-review.googlesource.com/3952 for the
field type tag:"foo bar"
problem.

@robpike: I do not get it. Why does https://go-review.googlesource.com/3952 get reviewed and https://go-review.googlesource.com/#/c/2974/ does not? Is there some kind of rule I am missing?

On 5 February 2015 at 19:28, Markus Zimmermann<EMAIL_ADDRESS>wrote:

@robpike https://github.com/robpike: I do not get it. Why does
https://go-review.googlesource.com/3952 get reviewed and
https://go-review.googlesource.com/#/c/2974/ does not? Is there some kind
of rule I am missing?

You never mailed 2974 for review.

I used git codereview mail which worked for my other CLs.

On 5 February 2015 at 19:38, Markus Zimmermann<EMAIL_ADDRESS>wrote:

I used git codereview mail which worked for my other CLs.

I don't know what else to tell you, then. I can see that there is no sign
of mail being sent on your CL in gerrit. Consider filing a bug for that.

@dsymonds: Sorry to be a burden here, but what is the sign for mail? Because the CL is in the category "Outgoing reviews" under "My Changes" so I do not know the indication that something is missing. And what should I do with it now? Besides some test cases and the control character handling it is the same.

As far as I can tell 2974 was sent out.  I see it here: https://groups.google.com/forum/#!searchin/golang-codereviews/2974/golang-codereviews/hVZNIPvazNY/YISaX9QxKbkJ .
I think the main issue is that no reviewer was assigned and nobody happened to pick it up.  For 3952 Nigel assigned Rob as the reviewer when he sent it out, so Rob got it in direct mail, and reviewed it quickly.
That is, CL 2974 would have been reviewed at some point, but 3952 was reviewed quickly because it was sent directly to the reviewer.

If I visit https://go-review.googlesource.com/#/c/2974/, the first thing in
the History section is "Uploaded patch set 1.". That's why I thought it
hadn't been mailed. But it looks like that's the standard text, so I expect
Ian's hypothesis is the reason.

@zimmski, Ian's hypothesis sounds plausible to me.
From my point of view, I didn't realize that this bug existed (and hence that your code change was proposed) until I'd actually written the patch. (I came across this bug independently). Once I had my change (to the golang.org/x/tools repo), and the matching change to the main Go repo, it seemed faster to send both of my changes out instead of reviewing yours, especially as your new code differed from the StructTag.Get code in the standard reflect package and I'd prefer them to be similar.
Apologies for having your proposal fall through the cracks.

Separately, this issue was closed by https://github.com/golang/tools/commit/682ca03389b762630846eff46e0d91d9307a2e63


Intellisense isn't working after my vscode updated to v1.3

There's no intellisence after my vscode updated, please help

There are issues with Unity and C# support in latest VSCode C# extension. My buddy's using this legacy C# extension.
Issue related to C# extension on github.

My Version is 1.3.1, but intellisence dosen‘t work, it's also hanpend in 1.3.0.

I have same issue here, with VSCode 1.3.1 & legacy C# extension, Mac OS.

I am using 1.4.0 Insiders version and it is working fine on my mac. Have you tried installing Mono? http://www.mono-project.com/download/  That fixed it for me when I was initially setting things up a month ago.

Indeed it seems to have been limited to the 1.3.x chain, as the Visual Studio Code team has already commented they were going to fix it for the next major release ... and it looks like they have.

@frankprogrammer do you use legacy C# extension with 1.4.0 insiders version?

Legacy C# Support 0.3.3
Debugger for Unity 1.0.3
This is the way I set up my system before the regular VS Code added tab support.
http://pastebin.com/w799Mb8Z
I am guessing though that this now should work under the regular VS Code without having to modify VSCode.cs

Thanks frank, your suggestion works on my win10 now, i will try it later on my Mac.

I found the way to fix it last night!
I install Legacy C# Support and C# for Visual Studio Code, then my intellisense can't work.

So, I try to uninstall  C# for Visual Studio Code, my intellisense restart working.
I hope this way can help you gays.

Very strange, i can not get intellisense on my Mac with VS Code insiders version but it works on my windows. I have not install C#, only Legacy C# support & Debugger for Unity.

It's worked for me. This is my IDE and versions:

Mac OSX EI Capitan (Version 10.11.6)
Unity (Version 4.6.9f1)
Visual Studio Code (Version 1.3.1 )
C# for Visual Studio Code (Version 1.3.0) (This version has fixed the problem that which make the Unity or Mono development on Mac OS X not working well, just like @777777716 said, the official tell us to switch the C# extension to the Legacy one which bundled with VS Code. But now, the Version 1.3.1 has released, we just only should do is update the C# extension to this latest version, it's done very well.)
MonoFramework-MDK-<IP_ADDRESS>.macos10.xamarin.universal

That's all. But notice.
When we use the menu item " Open C# Project In Code", the Code will only open the project folder, then we should choose a C# source code file to open it. Then the OmniSharp will start to work, we can choose open which .sln file in the project folder, when we choosed a sln file to open (we should choose the sln file which file name with "-csharp.sln" suffix), the OmniSharp will download the OmniSharp Server components from the internet, just be patient, wait the downloading finished. Then the Intellisense can worked very well.

Hi @lishali12345 I just make my VSCode Version 1.4.0-insider works with what you suggested, that is nice.
What i have done is:

Uninstall the Legacy C# support.
Install the C# 1.3.0 support
Download and install .net core from https://www.microsoft.com/net/core#macos
Download and install MonoFramework-MDK-<IP_ADDRESS>.macos10.xamarin.universal from http://download.mono-project.com/archive/4.4.2/macos-10-universal/MonoFramework-MDK-<IP_ADDRESS>.macos10.xamarin.universal.pkg

Finally works on my mac now. Thanks for sharing.

@iiley Glad to help.

hi.
I'v tried the solutions on this thread but the nothing worked. I have no intellisense and the omnisharp flame icon is just displaying "Starting...".

I'm wanting to close this this mainly because the VS Code team has resolved their issues, so long as you uninstall/disable the legacy c# extension and reenable the newer one it should work just fine.
What does the omnisharp log report as a problem?

Following the above steps to fix this problem, I'm still running into issues like @pavel1860 is having. I am stuck with the following:

I have Installed, .net core, mono 4.6.x, made sure legacy c# support was uninstalled in VScode, and Omnisharp C# is installed.
TL;DR no intellisense, stuck at "Starting"

.net core requires me to install visual studio 2015. Which defeats the purpose of having visual studio code. I'm a bit baffled.
Legacy extension is gone, and the last omnisharp requires .net core. There is no winning here. Any other tricks I could use?

Disar, try this link: http://www.microsoft.com/net/core#windowscmd

Installed it, nothing happens. =/ when hitting ctrl+space is just shows the available keywords/variable names from the script itself. It doesn't actually process anything else.

It automagically started working, perhaps the .net core wasn't done doing its thing.

It looks like the folks over at M$ have figured out their c# core stuff and have simplified things. Removing the legacy stuff, things should just work now.


ValueError: subformat not allowed for format jyear_str in Example

When running this code:
from poliastro.examples import molniya

molniya.plot()

I get this error:
WARNING: AstropyDeprecationWarning: The private astropy._erfa module has been made into its own package, pyerfa, which is a dependency of astropy and can be imported directly using "import erfa" [astropy._erfa]
Traceback (most recent call last):
  File ".\planetSim.py", line 3, in <module>
    molniya.plot()
  File "C:\Users\####\AppData\Local\Programs\Python\Python38\lib\site-packages\poliastro\twobody\orbit.py", line 1435, in plot
    return StaticOrbitPlotter().plot(self, label=label)
  File "C:\Users\####\AppData\Local\Programs\Python\Python38\lib\site-packages\poliastro\plotting\static.py", line 215, in plot
    lines = self._plot(orbit, label=label, color=color, trail=trail)
  File "C:\Users\####\AppData\Local\Programs\Python\Python38\lib\site-packages\poliastro\plotting\_base.py", line 153, in _plot
    label = generate_label(orbit.epoch, label)
  File "C:\Users\####\AppData\Local\Programs\Python\Python38\lib\site-packages\poliastro\plotting\util.py", line 20, in generate_label
    epoch.out_subfmt = "date_hm"
  File "C:\Users\####\AppData\Local\Programs\Python\Python38\lib\site-packages\astropy\time\core.py", line 622, in out_subfmt
    self._time.out_subfmt = val
  File "C:\Users\####\AppData\Local\Programs\Python\Python38\lib\site-packages\astropy\time\formats.py", line 183, in out_subfmt
    self._select_subfmts(subfmt)
  File "C:\Users\####\AppData\Local\Programs\Python\Python38\lib\site-packages\astropy\time\formats.py", line 396, in _select_subfmts
    raise ValueError(f'subformat not allowed for format {cls.name}')
ValueError: subformat not allowed for format jyear_str

(I replaced my Username with ####)
(I dont use conda for this project)

pip freeze:

# Paste your output here:
`astropy==4.2
astroquery==0.4.1
beautifulsoup4==4.9.3
certifi==2020.12.5
chardet==4.0.0
cycler==0.10.0
html5lib==1.1
idna==2.10
jplephem==2.15
keyring==22.0.0
kiwisolver==1.3.1
llvmlite==0.35.0
matplotlib==3.3.3
numba==0.52.0
numpy==1.19.5
pandas==1.2.1
Pillow==8.1.0
plotly==4.14.3
poliastro==0.14.0
pyerfa==<IP_ADDRESS>
pyparsing==2.4.7
python-dateutil==2.8.1
pytz==2020.5
pywin32-ctypes==0.2.0
requests==2.25.1
retrying==1.3.3
scipy==1.6.0
six==1.15.0
soupsieve==2.1
urllib3==1.26.2
webencodings==0.5.1`

Hello @X52p, this was a similar issue which was closed very recently. As answered there,

This is a known issue with poliastro 0.14 and latest Astropy. Please downgrade your Astropy version to 4.1 or 4.0 to make it work, and let us know if it fixed the issue.

I think this might help you.
Thanks!!

Hello @X52p, this was a similar issue which was closed very recently. As answered there,

This is a known issue with poliastro 0.14 and latest Astropy. Please downgrade your Astropy version to 4.1 or 4.0 to make it work, and let us know if it fixed the issue.

I think this might help you.
Thanks!!

Hello @X52p! Consolidating & briefing up the issue as  #1086, the problem here is an error with Astropy library version 4.2. Please downgrade your Astropy version to 4.0 or 4.1 &  let us know if this fixes the problems 😄

Hello @X52p! Consolidating & briefing up the issue as  #1086, the problem here is an error with Astropy library version 4.2. Please downgrade your Astropy version to 4.0 or 4.1 &  let us know if this fixes the problems 😄

Thanks! Downgrading to 4.0 fixed it.

Thanks! Downgrading to 4.0 fixed it.

Please do let us know if you need any other assistance from our side 😄
Else we can close this issue I suppose 🤔

Please do let us know if you need any other assistance from our side 😄
Else we can close this issue I suppose 🤔

Thanks all! This has been reported a few times lately, which means that we should rush a release ASAP :) Luckily, numba on Python 3.9 is around the corner. Closing!

Thanks all! This has been reported a few times lately, which means that we should rush a release ASAP :) Luckily, numba on Python 3.9 is around the corner. Closing!

I'm having the message 'ValueError: subformat not allowed for format jyear_str', but I'm using the google colab jupyter notebook, and try to downgrade astropy with not success. Coul you give me some advise.

Hello @cosmocaos, Can you please share the output of the following command:
pip freeze'  _PS: If you are in Google Collab, just do !pip freeze`_

Hi @cosmocaos. It seems that with astropy==4.0 the plot shows up but not with astropy==4.1. Also, just ensure that you restart your runtime after downgrading astropy. And yes, output of !pip freeze would help.
Thanks!

 What you can do is to follow the following commands:
!pip install astropy==4.0

Also, I am not able to see Poliastro installed in your virtual environment 🤔

Also, I am not able to see Poliastro installed in your virtual environment 🤔

Yes, 😅
You can !pip install poliastro and run again.
Thanks!

Ohk @cosmocaos you do have astropy 4.2 installed ... What you can do is to follow the following commands:
!pip install astropy==4.0

After running this command, restart your runtime & then try to re-run the command you tried in the first place 😄
Also, I am not able to see Poliastro installed in your virtual environment 🤔

True, poliastro is missing doing !pip freeze. I'm mounting my google drive to install packages permanently, doing:
import os, sys from google.colab import drive drive.mount('/content/mnt') nb_path = '/content/notebooks' os.symlink('/content/mnt/My Drive/RESEARCH/Exoplanetas/library', nb_path) sys.path.insert(0, nb_path)  # or append(nb_path)
I'm installing astropy with: !pip install --target=$nb_path --upgrade astropy==4.0
And get:
ERROR: tensorflow 2.4.1 has requirement numpy~=1.19.2, but you'll have numpy 1.20.1 which is incompatible. ERROR: jaxlib 0.1.60+cuda110 has requirement numpy<1.20,>=1.12, but you'll have numpy 1.20.1 which is incompatible. ERROR: datascience 0.10.6 has requirement folium==0.2.1, but you'll have folium 0.8.3 which is incompatible. ERROR: albumentations 0.1.12 has requirement imgaug<0.2.7,>=0.2.5, but you'll have imgaug 0.2.9 which is incompatible. Installing collected packages: numpy, astropy Successfully installed astropy-4.0 numpy-1.20.1

Ohk @cosmocaos you will need to install numpy for a specific version, do this:
!pip install astropy==4.0
!pip install numpy==1.19.2
!pip install folium==0.2.1
!pip install imgaug==0.2.6

Ohk @cosmocaos you will need to install numpy for a specific version, do this:
!pip install astropy==4.0
!pip install numpy==1.19.2
!pip install folium==0.2.1
!pip install imgaug==0.2.6

Thanks, I'll try that. :)

Thanks for yesterday's help @DhruvSondhi and @Yash-10. It seems that if poliastro is imported first, then astropy version 4.0 is imported, otherwisem astropy 4.2 is imported and it is necessesary to reset the virtualenv.

Hello @X52p, this was a similar issue which was closed very recently. As answered there,

This is a known issue with poliastro 0.14 and latest Astropy. Please downgrade your Astropy version to 4.1 or 4.0 to make it work, and let us know if it fixed the issue.

I think this might help you.
Thanks!!

This does solve the issue.
One more thing I noticed is
when I write
from poliastro.examples import molniya in console
It gives output:
Downloading https://www.ietf.org/timezones/data/leap-seconds.list [Done]
Same was not the case with Astropy 4.1


Upgrade plugin for compatibility with guard 2.12.x

This set of changes makes the plugin compatible with newest version of Guard. There has been couple of deprecated features in new Guard as well as couple accidental changes that caused backward incompatibility.

@pmcjury any chance you could merge this?

Are they causing the other versions of ruby to fail? Need to fix the build or decide to deprecate support for those versions of ruby. Thoughts?

Guard has explicitly required ruby>=1.9.3 in guard.gemspec for some time (since 2.3.0), so I don't think it's possible to fix the build for some combinations of guard and ruby versions. I think the usual thing to do in this situation is to increment the major or minor version number and let people use ~>.

I'm with  @bjmlr on this one. There is no point in keeping support for old rubies. If someone needs to use guard-remote-sync with old ruby, he probably already has specific version pinned in Gemfile. As per comment above, Guard project dropped 1.8 support more than a year ago - exactly 30 releases ago.

ok sounds good.


Add regexp validation for strings

This pull request adds a helper for validating strings against a regular expression. Usage is as follows:
z.string().regexp(/^moo+$/, "Moo validation failed");

It also changes the z.string.uuid(), z.string().url() and z.string().email() to use a common implementation.

How about letting users to pass an array of RegEx'es instead of a single one.
For example, email validation imho shouldn't have a single RegEx.
There won't be a valuable error message based on the following:
const emailRegex = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i;

Instead, it's more useful to do something like below:
/**
 * Can check regexes here:
 * @see https://regexr.com/4hq79
 * Inspired by https://emailregex.com/ for the JavaScript case
 */
export const regexEmail = [
  {
    msg: `Minimum 5 chars`,
    exp: /^.{5,}$/,
  },
  {
    msg: `Maximum 254 chars`,
    exp: /^.{1,254}$/,
  },
  {
    msg: `Need @ symbol`,
    exp: /@/,
  },
  {
    msg: `Invalid part before @`,
    exp: /^[a-zA-Z0-9_\-\.@]+$/,
  },
  {
    msg: `Invalid part after @`,
    exp: /.*@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
  },
]

Thanks, that is a great example!
In this case, I would probably implement this by chaining regex calls, each with their own parameters, which are cumulative.
That is not necessarily more verbose than creating arrays of objects, but significantly simplifies the signature of the method 🙂

Yes, I agree, it's more of a user preference.
I'd vote for a list of regex'es to be passed though as it's simpler to reuse an array of regex'es between frontend and backend than exporting individual regexes to be used. (using zod on the frontend is unnecessary for us and, based on my observations, for many)
Surely, in our case we could create a helper to be used on the backend that loops over array and creates a chain dynamically, but I guess the argument for reusability is strong enough to be heard :)

Another argument, some regex'es should be checked after another.
If you have to define the order with chaining, I believe it might hurt in other ways too:

for example, you reuse regex'es between properties, then you would have to probably:

create unreadable helpers that enforce certain order

Thanks @pierreis this is a great PR. Gonna lump this in with a release that goes out this weekend. Though I think I'll rename the method to .regex — it seems to be winning the popularity war, JavaScript be damned: https://stackoverflow.com/questions/3058246/which-is-the-correct-shorthand-regex-or-regexp
@o-alexandrov are you imagining that the user would be sharing a serialized array of regexes between the client and server? Since true codesharing between the client and server is so widespread now (yarn workspaces, etc), you should be able to share the actual Zod schema easily enough. I'd rather just choose the friendliest API (the chainable one) instead of designing around a use case that's less and less common. 👍
In any case, gonna merge this and we can overload the function to accept an array later if there's real demand.

In my last several projects where we had to provide the user with clear errors, all of the regex'es were split into multiple ones

there was no attribute that needed regex validation, but had a single regular expression to express potential issues

w/ the example above on email or password validation, you pretty much always should provide with a list of expressions to provide your user with clear instructions

You could try an example from my latest project on how we reuse validations between the frontend and backend.

Codesharing zod itself isn't necessary for the frontend.
Why? Because all you need there is looping over RegEx'es on textfield change.

bundling zod on the frontend doesn't make sense, unless you provide your user w/ ability to not fill out the form and you have to check on form submission

I tend to think that any “complex” validation logic such as chains of regexes should be implemented in a custom function. I see many edge cases that would make any non-trivial use case complicated:

Do we want to fail fast, or to return an error per regex?
What if I want to not only set the message, but also the params?

I would favor a simple API over complicating it.
That however does highlight one of the current limitations of refinements: the inability of a refinement delegate to pass a modified error instead of having it defined at the root. One possible implementation of this, that would greatly simply implementing what you mention, would be to enable a delegate to throw a custom ZodError instead of returning a false value.

@pierreis I just proposed a similar solution for custom refinements here: https://github.com/vriad/zod/issues/100#issuecomment-669048991
It definitely makes sense to provide makeError in refinements as well.

@pierreis what do you mean "defined at the root"? If you mean you want to customize the error path, you can currently do that: https://github.com/vriad/zod#custom-validation
Having the ability to throw fully custom errors is still useful of course.

You can surely change the path, but it has to be define when creating the refinement, not at execution time.
For example, I would like to be able to overwrite the error code or set the error message from within the delegate function, preventing me to write a refinement that introduces anything more than very simple logic, that is not sufficient in all cases. I have found quite a few situations in which this is problematic, and requires passing this information inside the returned parameters and transforming the error outside of Zod.

You'll be able to set the error code to a different ZodErrorCode but you won't be able to set it to an arbitrary string. For that you should use ZodErrorCode.CustomError and pass whatever data you care about in params (like you said).
Do you want to be able to set the path at execution time? I'm not clear what your use cases are.

@pierreis Merged in<EMAIL_ADDRESS>Thank you! 🚀


In admin, borrow counts are occasionally reading falsely after a title search

See screenshot

Also this one:

Also THIS one!

Actually now it's happening every time I search for a specific title.

Awesome, this looks good! No more weird numbers.


Set up fail2ban to protect served auth page(s) from brute forcing

┆Issue is synchronized with this Trello card by Unito

 Set up fail2ban to protect served auth page(s) from brute forcing


New developers must use the Google Ads API

Hi,
I'm currently trying to use this package with newly generated Google Ads credentials. And when running LaravelAds::googleAds()->with($accountNumber)->reports($startDate, $endDate)->getAccountReport(); an exception occurs with the message Details: [fieldPath: ; trigger: New developers must use the Google Ads API: https://developers.google.com/google-ads/api/docs/start; errorString: QuotaCheckError.INVALID_TOKEN_HEADER].
It seems like newly created credentials must use their new API.
Are there any plans to make this package use their new API so we that recently created our API credentials can actually use the Google Ads part of this package?

Hi @SamuelCompary Good find! I will take a look at this and see how we can update the package.
Here is the upgrade guide we'll need to follow on the migration to the new API details. If you find a faster way to implement these changes let me know and we can do some pull requests. Hopefully, it's only fixing a few auth issues and the package updates on the googleads lib change the endpoints. I'm currently busy on a project, so unable to look into this upgrade just yet, but feel free if it looks like it might be easy.

I'm trying to get this working. It's way above my skill level but I'm trying and have some feedback after a few tries.
What I've done so far:
In composer.json update: "googleads/googleads-php-lib": "^49.0", to "googleads/googleads-php-lib": "^54.0",

Next on my Laravel project I connected to laravel-ads-sdk using `dev-master` and added this to repositories:

{
"type": "path",
"url": "../laravel-ads-sdk"
}

Next I could do composer update. At that point I just tried this in tinker but as you will see still same API versioning issue:

✗ art tinker;
Psy Shell v0.10.9 (PHP 8.0.12 — cli) by Justin Hileman

$googleAds = LaravelAds::googleAds()->with('XXX-XXX-XXXX');
=> LaravelAds\Services\GoogleAds\Service {#4417}
$campaigns = $googleAds->fetch()->getCampaigns();
[2021-11-09T21:07:04.315379+02:00] AW_SOAP.WARNING: clientCustomerId=117-610-6817 operations=1 service=CampaignService method=get responseTime=127 requestId=0005d05fd09dfce00a37c919240185b4 server=adwords.google.com isFault=1 faultMessage=[QuotaCheckError.INVALID_TOKEN_HEADER @ ; trigger:'New developers must use the Google Ads API: https://developers.google.com/google-ads/api/docs/start']

So I went back to the "upgrade guide" but then noted that:

1. Project https://github.com/googleads/googleads-php-lib seems to be stalling
2. Actually PHP library for Google Ads new version is possibly: https://github.com/googleads/google-ads-php

To see what I mean, check the below screenshot. Two PHP libraries, and the one seems to "standing still" in terms of updates.

![image](https://user-images.githubusercontent.com/1836436/140989716-2527b840-2dea-4ec2-bd49-b6f3283f8567.png)

At this point I though, okay, let me remove `googleads-php-lib` and try `google-ads-php`. That seemed fairly logical.

However, now there is a new error:

✗ art tinker;
Psy Shell v0.10.9 (PHP 8.0.12 — cli) by Justin Hileman

$googleAds = LaravelAds::googleAds()->with('XXX-XXX-XXXX');
=> LaravelAds\Services\GoogleAds\Service {#4417}
$campaigns = $googleAds->fetch()->getCampaigns();
PHP Error:  Class "Google\AdsApi\AdWords\v201809\cm\Selector" not found in /home/eugene/code/laravel-ads-sdk/src/Services/GoogleAds/Fetch.php on line 46

I see this code is in `src/Services/GoogleAds/Fetch.php`

Am I correct in assuming all of this must be migrated to the new API? Like where do I even start?

Am I even on the right track?

Any other tips to move this forward? I'm dying to use this API with Laravel and would hate to revert to a vanilla library. I need generics when analyzing ad accounts which is exactly what this library gives me.

Not sure if this is of help? There is a Laravel sample app:
https://github.com/googleads/googleads-php-lib/tree/master/examples/AdWords/LaravelSampleApp

I've actually written a fluent query builder for GQL, to use with the Google ADS Api, for reporting anyway. I'm not sure it fits into the existing framework you have setup, but I'd be willing to share!

@zacksmash That would be pretty cool. More tools the better!
As for an update to this issue, I will be making an update to get this API back to work on new users have reported. Sorry for the delay.

The Google AdWords Api is only running till 27th April 2022. After that you have to switch to the Google Ads API.

Thanks, @smaddy, I know this has been on here for a little while, I created a new ticket regarding this upgrade. #52, Has anyone had any luck testing out the new API? If not I will look into the migration, but given my availability, was hoping someone else has been able to do so.


Change schema format from data-uri to object

Are there any tests that the current credentials with embedded data uri schema still validate and work? Such as https://github.com/docknetwork/sdk/blob/master/tests/data/static-bbs-cred-610.json (these dont have a schema set)

Are there any tests that the current credentials with embedded data uri schema still validate and work? Such as https://github.com/docknetwork/sdk/blob/master/tests/data/static-bbs-cred-610.json (these dont have a schema set)

These check credentials (0.5.0, 0.4.0 and an even older version) issued on testnet.

These check credentials (0.5.0, 0.4.0 and an even older version) issued on testnet.

Would be good to move into fixtures/same place as others at some point so its more obvious. Thanks.


Sample Scene Add TextPrefabExamples to MRTK3

MRTK2 Scene Name
TextPrefabExamples
Overview
These Text Prefabs are optimized for the quality with proper scaling values and occlusion support through Text3DShader. Compare with normal Unity shader for the quality and occlusion
Additional Context
In MRTK3 this scene should show the various fonts made available in MRTK3.

Done


Exception in ChangeFeedProcessor is swallowed

Describe the bug
When I have an exception in my onChangesDelegate on ChangeFeedProcessor it gets swallowed and the listener doesn't stop.
To Reproduce
Create a change feed listener with an explicit exception and run.
Expected behavior
I would expect the exception to break the listener.
Actual behavior
The exception is swalllowed.
Environment summary
SDK Version:<IP_ADDRESS>-preview
OS Version (e.g. Windows, Linux, MacOSX): window 10

In a related note, if I get 100 items (default) in my change notification and processing stops half way through, can I notify the lease that I've successfully processed some (update the ContinuationToken)?

@AgSync-Aaron Do you have a repro? We have tests covering the scenario of the current processor closing on exception (https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/ChangeFeed/PartitionSupervisorTests.cs#L119).

As a response to the question: No, the batch is either processed completely (delegate completes successfully), or not (exception happens). There is no way to notify for a partial success.
Basically the flow is:

FeedProcessor sends the next batch to your delegate
Your delegate processes changes successfully
Checkpoint happens, back to step 1

If you throw an exception in step 2, the lease for that partition key value will be released and then picked up by the current or another host instance. When it's picked up, it will check the last known lease update and continue from there (retry the last batch).
The only scenario where the batch might not be retried is if the batch that throws is the first ever (lease has no Continuation). Because when the host picks up the lease again to reprocess, it has no point in time to retry from.

Thank you for the response.
I'm trying to get a change feed processor working in the new .net core 3.0 worker pattern based on the BackgroundService class.  When there is a failure in the change feed delegate I want to stop the worker.  If there is some kind of bug in my code I don't want it running in an infinite loop and repeatedly processing the other items in the batch that don't cause an error.
How can I force the processor to stop?
I've tried the following 2 approaches and have even attempted calling the StopAsync() from the exception handler and I can't get anything to work. Just infinite loops.
public override async Task StartAsync(CancellationToken cancellationToken)
{
    await _changeFeedProcessor.StartAsync();
    await base.StartAsync(cancellationToken);
}

public override Task StopAsync(CancellationToken cancellationToken)
{
    await _changeFeedProcessor.StopAsync()
    return base.StopAsync(cancellationToken);
}

and...
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
    await _changeFeedProcessor.StartAsync();
    await Task.Delay(Timeout.Infinite, stoppingToken);
    await _changeFeedProcessor.StopAsync();
}

Here is a sample that just runs forever...
        static async Task Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var cosmos = new CosmosClient("AccountEndpoint=https:.........");
            var db = cosmos.GetDatabase("database");
            var FeedContainer = db.GetContainer("feeder");
            var LeaseContainer = db.GetContainer("lease");

            var processor = FeedContainer.CreateChangeFeedProcessorBuilder<dynamic>("test-processor", (d, ct) =>
            {
                for (int i = 0; i < d.Count; i++)
                {
                    Console.WriteLine($"Processing item: {i} of {d.Count}");
                    if (i > 2)
                    {
                        Console.WriteLine("Throwing...");
                        throw new Exception("Testing...");
                    }
                }
                return Task.CompletedTask;
            }).WithLeaseContainer(LeaseContainer)
            .WithInstanceName(Environment.MachineName)
            .Build();

            await processor.StartAsync();

            await Task.Delay(Timeout.Infinite);
        }

Console output:
Hello World!
Processing item: 0 of 13
Processing item: 1 of 13
Processing item: 2 of 13
Processing item: 3 of 13
Throwing...
Processing item: 0 of 15
Processing item: 1 of 15
Processing item: 2 of 15
Processing item: 3 of 15
Throwing...
Processing item: 0 of 21
Processing item: 1 of 21
Processing item: 2 of 21
Processing item: 3 of 21
Throwing...

Output window:
The thread 0x4164 has exited with code 0 (0x0).
The thread 0x218c has exited with code 0 (0x0).
The thread 0x50b4 has exited with code 0 (0x0).
DocDBTrace Warning: 0 : Exception System.Exception: RequestUri: , Testing...,    at ConsoleApp3.Program.<>c.<Main>b__0_0(IReadOnlyCollection`1 d, CancellationToken ct) in C:\Users\<<snip>>\source\repos\ConsoleApp3\ConsoleApp3\Program.cs:line 30
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.ChangeFeedObserverBase`1.ProcessChangesAsync(ChangeFeedObserverContext context, IReadOnlyCollection`1 docs, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.ObserverExceptionWrappingChangeFeedObserverDecorator`1.ProcessChangesAsync(ChangeFeedObserverContext context, IReadOnlyCollection`1 docs, CancellationToken cancellationToken)
DocDBTrace Information: 0 : 2019-06-12T16:35:10.7497738Z, CorrelatedActivityId: a701bc35-af6d-4e7c-8c9a-6bbe7a1a668a | Pipelined~Context.CreateAsync
DocDBTrace Warning: 0 : Exception happened on Observer.ProcessChangesAsync
DocDBTrace Information: 0 : 2019-06-12T16:35:10.7637987Z, CorrelatedActivityId: a701bc35-af6d-4e7c-8c9a-6bbe7a1a668a, ActivityId: 00000000-0000-0000-0000-000000000000 | parallel~contextbase.initializeasync, queryspec {"query":"SELECT * FROM c WHERE STARTSWITH(c.id, 'test-processor<<snip>>.documents.azure.com_yFQqAA==_yFQqAKibR1g=..')"}, maxbuffereditemcount: 100, target partitionkeyrange count: 1, maximumconcurrencylevel: 0, documentproducer initial page size 100
DocDBTrace Information: 0 : Host '<<snip>>' 1 partitions, 1 hosts, 0 available leases, target = 1, min = 0, max = 0, mine = 1, will try to take 0 lease(s) for myself'.
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
DocDBTrace Information: 0 : Lease with token 0: renewer task stopped.
DocDBTrace Warning: 0 : Exception Microsoft.Azure.Cosmos.ChangeFeed.Exceptions.ObserverException: RequestUri: , Exception has been thrown by the Observer.,    at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.ObserverExceptionWrappingChangeFeedObserverDecorator`1.ProcessChangesAsync(ChangeFeedObserverContext context, IReadOnlyCollection`1 docs, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.AutoCheckpointer`1.ProcessChangesAsync(ChangeFeedObserverContext context, IReadOnlyCollection`1 docs, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.FeedProcessorCore`1.RunAsync(CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedManagement.PartitionSupervisorCore`1.RunAsync(CancellationToken shutdownToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedManagement.PartitionSupervisorCore`1.RunAsync(CancellationToken shutdownToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedManagement.PartitionControllerCore.ProcessPartitionAsync(PartitionSupervisor partitionSupervisor, DocumentServiceLease lease)
DocDBTrace Warning: 0 : Exception System.Exception: RequestUri: , Testing...,    at ConsoleApp3.Program.<>c.<Main>b__0_0(IReadOnlyCollection`1 d, CancellationToken ct) in C:\Users\<<snip>>\source\repos\ConsoleApp3\ConsoleApp3\Program.cs:line 30
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.ChangeFeedObserverBase`1.ProcessChangesAsync(ChangeFeedObserverContext context, IReadOnlyCollection`1 docs, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.ObserverExceptionWrappingChangeFeedObserverDecorator`1.ProcessChangesAsync(ChangeFeedObserverContext context, IReadOnlyCollection`1 docs, CancellationToken cancellationToken)
DocDBTrace Warning: 0 : Lease with token Microsoft.Azure.Cosmos.ChangeFeed.Exceptions.ObserverException: Exception has been thrown by the Observer. ---> System.Exception: Testing...
   at ConsoleApp3.Program.<>c.<Main>b__0_0(IReadOnlyCollection`1 d, CancellationToken ct) in C:\Users\<<snip>>\source\repos\ConsoleApp3\ConsoleApp3\Program.cs:line 30
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.ChangeFeedObserverBase`1.ProcessChangesAsync(ChangeFeedObserverContext context, IReadOnlyCollection`1 docs, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.ObserverExceptionWrappingChangeFeedObserverDecorator`1.ProcessChangesAsync(ChangeFeedObserverContext context, IReadOnlyCollection`1 docs, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.ObserverExceptionWrappingChangeFeedObserverDecorator`1.ProcessChangesAsync(ChangeFeedObserverContext context, IReadOnlyCollection`1 docs, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.AutoCheckpointer`1.ProcessChangesAsync(ChangeFeedObserverContext context, IReadOnlyCollection`1 docs, CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedProcessing.FeedProcessorCore`1.RunAsync(CancellationToken cancellationToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedManagement.PartitionSupervisorCore`1.RunAsync(CancellationToken shutdownToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedManagement.PartitionSupervisorCore`1.RunAsync(CancellationToken shutdownToken)
   at Microsoft.Azure.Cosmos.ChangeFeed.FeedManagement.PartitionControllerCore.ProcessPartitionAsync(PartitionSupervisor partitionSupervisor, DocumentServiceLease lease): processing failed
DocDBTrace Information: 0 : Lease with token 0: released
DocDBTrace Information: 0 : 2019-06-12T16:35:23.8083034Z, CorrelatedActivityId: 7b5ea5ae-2ec0-488f-9d3b-4e615bdf94f2 | Pipelined~Context.CreateAsync
DocDBTrace Information: 0 : 2019-06-12T16:35:23.8155358Z, CorrelatedActivityId: 7b5ea5ae-2ec0-488f-9d3b-4e615bdf94f2, ActivityId: 00000000-0000-0000-0000-000000000000 | parallel~contextbase.initializeasync, queryspec {"query":"SELECT * FROM c WHERE STARTSWITH(c.id, 'test-processor<<snip>>.documents.azure.com_yFQqAA==_yFQqAKibR1g=..')"}, maxbuffereditemcount: 100, target partitionkeyrange count: 1, maximumconcurrencylevel: 0, documentproducer initial page size 100
DocDBTrace Information: 0 : Host '<<snip>>' 1 partitions, 1 hosts, 1 available leases, target = 1, min = 0, max = 0, mine = 0, will try to take 1 lease(s) for myself'.
DocDBTrace Information: 0 : Lease with token 0: acquired
DocDBTrace Information: 0 : Lease with token 0: renewer task started.
Exception thrown: 'System.Exception' in ConsoleApp3.dll
An exception of type 'System.Exception' occurred in ConsoleApp3.dll but was not handled in user code
Testing...

The idea of the Processor is to run forever until you manually shut it down and to be resilient to transient failures, it is by design.
If your exceptions are not transient or you want to stop everything if one happens, you could simply call the StopAsync from within the delegate by catching any possible exception:
ChangeFeedProcessor processor = null;
processor = this.Container
    .CreateChangeFeedProcessorBuilder("test", async (IReadOnlyCollection<TestClass> docs, CancellationToken token) =>
    {
        try
        {
            throw new Exception("something happened");
        }
        catch (Exception)
        {
            await processor.StopAsync();
        }
    })
    .WithInstanceName("random")
    .WithLeaseContainer(this.LeaseContainer).Build();

await processor.StartAsync();

There is something you need to be aware of though, you can run multiple instances of Processors for load distribution, so shutting down one instance doesn't mean the others will also shut down.

The processor.StopAsync() worked in this simple example. I've tried doing that in the .Net core 3 worker process, but it didn't work. I'm now pretty sure that's my issue and not a bug. I need to figure out where I went wrong.

There is something you need to be aware of though, you can run multiple instances of Processors for load distribution, so shutting down one instance doesn't mean the others will also shut down.
I figured, but thanks for the clarification.

After I stopped the processor, it continued to renew the lease. I'll assume that's as expected.
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
The thread 0x6cc8 has exited with code 0 (0x0).
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
The thread 0x3b2c has exited with code 0 (0x0).
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True
DocDBTrace Information: 0 : Lease with token 0: renewed lease with result True

Closing issue as user error. Hopefully this can help someone else with the same confusion.

Maybe it would be better to instead of shutting down from inside the delegate, just signal something, that will eventually stop the worker process and stop the processor? I'm not super familiar with NET Core 3 workers, so I'm not sure how is their life cycle.

I'm learning more about them as I go. I found I am able to DI in a IHostApplicationLifetime and I can call StopApplication() 💥 to gracefully stop the service with the application.


error with module nfr

I got all files with module occ, nuc, vprocess, merge, but when I tried to run nfr, there was one error:
Command run:  /software/python/python-2.7.6/bin/nucleoatac nfr --bed /data1/zhao_xm/Align/DXFA/BED_0321B_DXFA_peaks.broadPeak.bed --occ_track DXFA.occ.bedgraph.gz.tbi --calls DXFA.nucpos.bed.gz --bam /data1/zhao_xm/Align/DXFA/DXFA.bam --out DXFA --cores 20
nucleoatac version 0.3.4
start run at: 2019-03-21 18:25
---------Calling NFR positions--------------------------------------------------
Traceback (most recent call last):
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/run_nfr.py", line 27, in _nfrHelper
nfr.process(params)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/NFRCalling.py", line 103, in process
Traceback (most recent call last):
self.getOcc()
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/run_nfr.py", line 27, in _nfrHelper
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/NFRCalling.py", line 63, in getOcc
self.occ.read_track(self.params.occ_track)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/pyatac/tracks.py", line 84, in read_track
Traceback (most recent call last):
handle = BedGraphFile(bedgraph)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/pyatac/bedgraph.py", line 8, in init
nfr.process(params)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/NFRCalling.py", line 103, in process
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/run_nfr.py", line 27, in _nfrHelper
self.tbx = pysam.Tabixfile(bedgraph)
File "pysam/libctabix.pyx", line 351, in pysam.libctabix.TabixFile.cinit
self.getOcc()
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/NFRCalling.py", line 63, in getOcc
self.occ.read_track(self.params.occ_track)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/pyatac/tracks.py", line 84, in read_track
Traceback (most recent call last):
nfr.process(params)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/NFRCalling.py", line 103, in process
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/run_nfr.py", line 27, in _nfrHelper
handle = BedGraphFile(bedgraph)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/pyatac/bedgraph.py", line 8, in init
self.tbx = pysam.Tabixfile(bedgraph)
File "pysam/libctabix.pyx", line 351, in pysam.libctabix.TabixFile.cinit
self.getOcc()
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/NFRCalling.py", line 63, in getOcc
File "pysam/libctabix.pyx", line 383, in pysam.libctabix.TabixFile._open
self.occ.read_track(self.params.occ_track)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/pyatac/tracks.py", line 84, in read_track
nfr.process(params)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/NFRCalling.py", line 103, in process
self.getOcc()
handle = BedGraphFile(bedgraph)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/nucleoatac/NFRCalling.py", line 63, in getOcc
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/pyatac/bedgraph.py", line 8, in init
self.occ.read_track(self.params.occ_track)
File "/data1/software/python/python-2.7.6/lib/python2.7/site-packages/NucleoATAC-0.3.4-py2.7.egg/pyatac/tracks.py", line 84, in read_track
self.tbx = pysam.Tabixfile(bedgraph)
File "pysam/libctabix.pyx", line 351, in pysam.libctabix.TabixFile.cinit
IOError: index DXFA.occ.bedgraph.gz.tbi.tbi not found
Could you give me some clues to solve this problem? Thank you!

I have the same issue, i gave the bed file, occ, nucpos and my .bam file is sorted and indexed, i gave fasta file as well, and got the error:
IOError: index OS24_nucleosomas.occ.bedgraph.gz.occ.bedgraph.tbi not found


Can't log in after rebranding using FF

OS version: Windows 10
Browser version: Firefox 80.0.1 (64-bit)
Extension version: Version 1.66.3

🐛 Describe the bug
I'm not able to log in. The first attempt fails and brings me to the Uh-oh page (old design btw) and then I try again and it tells me the credentials are wrong but I can use them with FF to log into the web app

Expected behaviour
Should be able to login
Steps to reproduce
Try logging into the Toggl Track extension on Firefox
additional info:
One user also reached out about this recently:
User ID: 5359454
WS ID: 2205286
Plan: Premium Annual
Intercom link: https://app.intercom.com/a/apps/ayixs927/inbox/inbox/2097020/conversations/106481302472762
I asked them to try again, maybe it's just me, also I can get to the settings page for the extension where there is an option to log out, I get there via the Add-ons view in Firefox:

@VeljkoTN we're having some issues with login, I don't think is really on toggl-button side. We'll continue on this after the login problem is fixed.

log out button does nothing btw

It does, but it seems that there's no UI effect showing that something happened. You're currently logged in as .  (without the email)

I have a user with the same issue on Chrome
Case reference

Fixed!


Convert gifs to videos for faster loading

probably shouldn't merge this until https://github.com/discourse/onebox/pull/336

Also you might want to write some tests for this (you can use a fixture if you want to just copy/paste some html doc).
cc @NuckChorris (incase he disagree's with me/has another solution)

Is there a specific reason this isn't implemented as a Onebox::Engine? 🤔
I mean, this code seems solid, I'm just a little confused by the choice of how you implemented it

I figured that for onebox, they probably didn't want to make the choice to automatically convert direct links to files. None of the existing engines do that. As for just having custom engines on the server, I guess that would work, but I'd just be rewriting code that's already in onebox. If you think it would be better that way, I can do that instead.

In theory couldn't you subclass the ones that are already in Onebox, so that you don't have to rewrite code?

ahhh yeah i could, that would be way better 😄

If you do, I think lib/onebox/engines would be the right place for that, I wanna say we have some in V2 which did that

aye aye

@matthewdias Is this something we'll be able to reuse once we begin hosting our own video / images?

@JoshFabian Not really, this just coerces things like imgur gif embeds into imgur video embeds by changing the URL
When we deal with hosting video/images, it's up to us to transcode them from GIF->WebM/MP4

I would advise just storing the videos when we do that.

I'd probably say when we do that: store the videos, convert gifs to videos, make sure we have at least MP4, maybe WebM (but maybe not, as much as I personally support WebM I don't know of any browsers without MP4 support) 🤔

yeah, the advantage of webm is higher quality at a lower filesize, but if we have to store mp4 anyway, theres not much point. unless storage isn't an issue?

It'd be great when Safari decides to be a modern browser again and stops being the only browser to not support WebM 😢

@NuckChorris is there any way i can disable these requires so i can subclass the engines without getting circular require warnings?

Perhaps requiring onebox manually before you do the subclasses will fix it?

i'll give that a try 👍


adding pre-commit

How about we add pre-commit to ensure that npm run toc and npm run test is run before commiting?

https://github.com/typicode/husky

I like husky

Then let’s do it :)

:rocket:


Taskbar hover text showing current song with previous songs artist

OS:
Windows 10
Issue Descriptions:
The hover text in the taskbar is showing the current song title with the previous songs artist. Example song Radioactive by Imagine Dragons, previous song Master of Tides by Lindsey Stirling, hover text shows "Radioactive - Lindsey Stirling"
Steps to Reproduce:
I'm not sure the steps to reproduce as I just happened to notice by accident, but all I did was restart my computer and the player continued where I left off. This was the first song (in the screenshot) that it played on restart but the next 2 songs (and that's the song I'm on now) continued with the issue. It's currently showing "Believer - Vance Joy". This is not reproducible by just closing and reopening the app as that puts the current song as the top item in the playlist (the hover text is correct from then on). It has to be something about restarting the system with the current song paused and several down in the list. Whatever triggers the list to not reset but just reload where it was.

https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/issues/3180