4726 human in the loop

Resolves #4726

Pull Request Checklist:

[x] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

[x] Email sent to reviewer when the resource owner submits for publication
[x] “Pending” status for the resource in review
[x] Notification within the HS UI that the resource is under review for minimum metadata and adherence to community guidelines
[x] Link to accept the resource and trigger the DOI process
[x] Link to reject the resource and open an email window to email the publisher with the explanation
[x] Resource set back to ‘public’ when it is rejected

METRIC
VALUE

https://sonarqube.cuahsi-workstation.com:9000/dashboard?id=hydroshare-4804

Thanks @pkdash for all of your good fixes!
I made the changes you suggested...

thanks for the good catches Pabitra!
I believe I fixed the issues you identified.

thanks @pkdash your link didn't point me anywhere specifically. Where were you thinking?

@devincowan try this link:
https://github.com/hydroshare/hydroshare/blob/4726-human-in-the-loop/hs_core/hydroshare/resource.py#L1069

@pkdash thank you for really scrutinizing this--I appreciate having your experienced eye on these changes!
So, here's my reasoning:
hs_core.hydroshare.resource.publish_resource() is called in the following 2 scenarios:

During approval of metadata review, at which point we expect the Resource to have res.raccess.review_pending=True (so we don't want to enforce that it is False)
By hs_core.views.publish(), which is an endpoint that only an admin can use. I contemplated getting rid of this "endpoint" entirely because we have a new process requiring metadata review. But decided to leave it so that admin users have the option to bypass the metadata review process -- I thought there might be instances where that is needed. In the case of bypassing metadata review, we don't really care whether the resource has review_pending or not -- an admin user should be able to publish the resource whether or not a review has been started. At least that was my thinking.

Do you see a flaw? Thanks!

@devincowan Your explanation makes sense. Thanks.


loss not decreasing with deepspeed

I'm trying to finetune the model with the base-3b using my own data on 8GPUs with deepspeed stage 3 and gradient ckpting:
The ds config looks like follows:
    "zero_optimization": {
        "stage": 3,
        "offload_optimizer": {
            "device": "cpu",
            "pin_memory": true
        },
        "offload_param": {
            "device": "cpu",
            "pin_memory": true
        },
        "overlap_comm": true,
        "contiguous_gradients": true,
        "sub_group_size": 0,
        "reduce_bucket_size": "auto",
        "stage3_prefetch_bucket_size": "auto",
        "stage3_param_persistence_threshold": "auto",
        "stage3_max_live_parameters": 0,
        "stage3_max_reuse_distance": 0,
        "stage3_gather_16bit_weights_on_model_save": true
    },
    "fp16": {
        "enabled": true,
        "auto_cast": false,
        "loss_scale": 0,
        "initial_scale_power": 16,
        "loss_scale_window": 1000,
        "hysteresis": 2,
        "min_loss_scale": 1
    },
    "optimizer": {
        "type": "AdamW",
        "params": {
          "lr": "auto",
          "betas": [
            0.9,
            0.999
          ],
          "eps": 1e-8,
          "weight_decay": 0
        }
    },
    "train_batch_size": "auto",
    "train_micro_batch_size_per_gpu": "auto",
    "wall_clock_breakdown": false
}```

If I do not use deepspeed on a single GPU, the loss decreases during training; with  deepspeed on single GPU, the loss still decreases but looks slower; on 8gpu, the loss cannot decrease. Any suggestions? Thanks~

There is something wrong with deepspeed at the moment.


Add telemetry to detect project characteristics that help drive performance improvements

This would include general characteristics like # of files in project, file size, etc. that would help us drive perf improvements in the right areas.

After talking with the Typescript team and thinking more about the problem, we have decided to focus on using diagnostic window for performance investigations. There are so many factors involved in poor performance that we do not have a reliable way to detect this with telemetry alone in any actionable way.
Also, we do not want to collect any personal or organization identifying information in telemetry, which rules out uploading a list of installed node modules, file names, or anything similar. For users who have opted in to VS telemetry, we could likely collect generic project information, such as the number of files in a project. This sort of generic project telemetry would allow us get a better picture of what kinds of projects people are working with in the wild, so that we can better focus NTVS to address these use cases.
If a user is seeing poor performance with NTVS, the most actionable way to investigate the root cause remains talking with them. We can request the output of the diagnostics window to help with this investigation. Using the diagnostics window allows users to see/edit what information they provide to us and makes it clear that this information is helpful for performance investigations.

Closing. As detailed in the above comment, we ended up adding this information to the diagnostic window. Users having performance problems can send us this info to help us understand what may be going wrong.


[Meta-Issue] Disabled tests, local testing, and alternate configs

Some tests are unreliable, or fail on Travis but not locally. We've disabled these tests and lost that test coverage even on local test runs.
We should explore the possibility of disabling those tests only on Travis builds while leaving them enabled on local builds. Maybe we need a different test command or a different test directory that the user is expected to run manually but which doesn't run in Travis?
@cyian-1756 thoughts?

I'm pretty sure the xhamster tests are failing on Travis because of a cdn issue (xhamser uses different cdns for different areas and that has caused bugs before) NO idea what's causing the instagram tests to fail
Maybe we should make debugging changes to that when one of these tests fail it logs the page html, that would make debugging this easier.


Saving notebook with python cells converts all cells to plain text

Issue Type: Bug
When writing .NET interactive notebooks, saving python cells reverts them to plain text. To rerun the notebook in python the user must click on each cell and change it back to python.
Steps to reproduce:
STEP 1: Use the "Python: select interpreter" to select an appropriate python version or conda environment.
RESULT: Environment is selected, shown in bottom of UI, and logs indicate selected interpreter and startup of language servers.
STEP 2: Use the ".NET Interactive: Create new blank notebook" command to create a a new notebook.
RESULT: Notebook is created as Untitled-1.ipynb and first cell is set to python language mode.
STEP 3: Write some trivial python and test the cell. e.g.
import sys
print(sys.api_version)

RESULT: Cell executes correctly.

STEP 4: Save notebook to the filesystem with any name / any path.
RESULT: Cell language type is immediately converted to Plain Text. Reopening the file contains the same plain text cell types and each cell must be converted back to python to execute.

Sample notebook follows:
{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "dotnet_interactive": {
          "language": "python"
        }
      },
      "source": [
        "import sys\n",
        "print(sys.api_version)"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "application/x.notebook.stdout": "1013\n"
          },
          "execution_count": 1,
          "metadata": {}
        }
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": ".NET (C#)",
      "language": "C#",
      "name": ".net-csharp"
    },
    "language_info": {
      "file_extension": ".cs",
      "mimetype": "text/x-csharp",
      "name": "C#",
      "pygments_lexer": "csharp",
      "version": "8.0"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 4
}

Extension version: 1.0.2175031
VS Code version: Code - Insiders 1.55.0-insider (d06d2f1d6245ce00b1c36a9cd81a9087d225173e, 2021-03-26T14:01:14.867Z)
OS version: Windows_NT x64 10.0.19041

For me, if .NET interactive is installed it always writes itself as the kernel in the metadata.


TorchANI 2.2.1

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Fix #1, torchani 2.2.1 with cuda_extension support for cuaev.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

The top level meta keys are in an unexpected order. Expecting ['package', 'source', 'build', 'requirements', 'test', 'about', 'extra'].

For recipe:

Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [48].

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [15].

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@hadim, this PR is ready to review.

Re-trigger test

FYI seems like we screwed up our run export on pytorch.
https://github.com/conda-forge/pytorch-cpu-feedstock/blob/master/recipe/meta.yaml
We added it to the parent recipe, but not the outputs. sorry for that. You should definitely pin yourself in the requires.

Assuming the latest commit (pinning pytorch in run) is correct, LGTM for me here. @hmaarrfk can you make a last quick review in case I missed anything?
Thank you @yueyericardo for the work here!
I'll merge once CI is green and @hmaarrfk confirm everything is fine.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [22].

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

I think this discussion is better had on the conda-forge-pinnings repo. you could use this as an example of the perils of not dropping 10.2 or not having a global pinning for pytorch (both of which are in PRs now ready for review)

Let's wait for https://github.com/conda-forge/staged-recipes/pull/16698 to be merged and then I think we can merge here (after switching from pkbar pip to the conda forge one).

@yueyericardo pkbar is now available on conda forge. Can you remove the pip install step and move pkbar into the conda deps?

done!

Looks like certain builds fails because of a packaging issues with pytorch/cuda. I don't think this is related to torchani:
File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 379, in _read_upstream_pin_files
    extra_run_specs = get_upstream_pins(m, actions, env)
  File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 365, in get_upstream_pins
    loc, dist = execute_download_actions(m, actions, env=env, package_subset=pkg)[pkg]
  File "/opt/conda/lib/python3.8/site-packages/conda_build/render.py", line 330, in execute_download_actions
    pfe.execute()
  File "/opt/conda/lib/python3.8/site-packages/conda/core/package_cache_data.py", line 655, in execute
    raise CondaMultiError(exceptions)
conda.CondaMultiError: Downloaded bytes did not match Content-Length
  url: https://conda.anaconda.org/conda-forge/linux-64/pytorch-1.9.1-cuda110py39h5cf7045_3.tar.bz2
  target_path: /opt/conda/pkgs/pytorch-1.9.1-cuda110py39h5cf7045_3.tar.bz2
  Content-Length: 564081090
  downloaded bytes: 184777172

All tests passed now @hadim

Thanks to everyone who participated here! Especially @yueyericardo.


Update chain-list (w52)

[x] https://github.com/Koniverse/SubWallet-ChainList/issues/148

Version test: http://<IP_ADDRESS>:8900/s/j78wMNnw8gzqk53
Validation passed for cases:

Turn on/ Turn off network
Show token
Show balance
Transfer token (approve step)


educational support

For https://www.ncbi.nlm.nih.gov/books/NBK2591/
Arts Syndrome   OMIM:301835 MONDO:0010533
From Gene Reviews:
Intellectual disability. An individualized educational support program tailored to the individual’s needs and based on assessment of cognitive abilities should be provided.
should we add a new term 'educational support'?
maybe a child of 'cognitive and behavioral intervention'? or 'supportive care'

would this be an 'educational intervention'? And maybe 'early intervention' as a child (with synonym 'birth-to-three')? In this case, I would put it under cognitive and behavioral intervention. There may also be specific autism, ADHD, visual or hearing-specific interventions, too.

Here is my suggestion based on information found (mostly on the cdc.gov website):
Create a parent term that is relatively broad: Self-management support and education

definition :  assistance provided by clinicians and public health practitioners to enhance an individual and/or their family’s self-efficacy in managing one or more chronic conditions. This assistance can include activities such as patient education, support for lifestyle modifications, and support to help individuals develop the skills needed for effective chronic disease management.
Note: This term implies assistance for chronic conditions. (do we want to keep this? I personally think that it is ok, because it would probably be called something else if it wasn't a chronic condition, maybe "rehabilitation" or something like that). Though they are terms like "Physician Education and Training to Support Breastfeeding", but I don't think it belong here.
reference: https://www.cdc.gov/dhdsp/pubs/guides/best-practices/self-management.htm

Children terms: should be only added when there is a specific (and recognized by experts?) program for a specific chronic disease. For example:

Early Intervention

https://www.cdc.gov/ncbddd/actearly/parents/states.html
services and supports that are available to babies and young children with developmental delays and disabilities and their families. These may include speech therapy, physical therapy, and other types of services based on the needs of the child and family. They can have a significant impact on a child’s ability to learn new skills and overcome challenges and can increase success in school and life.

Diabetes self-management education and support (DSMES)

https://www.cdc.gov/diabetes/dsmes-toolkit/index.html

+1 but I wonder if "Self-management support and education" should be "Patient health-management support and education" becuase "self-management" can have many different meanings and is ambiguous without more context.

@pnrobinson @sabrinatoro sounds good.

addressed with latest PR. Closing. thanks for all your help!


Return fraction of inputs and outputs on trip cancel

🚀 Feature Proposal
Upon cancelling your minion's trip, you get no output items and lose all input items in order to send the trip. Not exactly realistic and this has always been a pain point for everyone.
The inferno on OSB already has fractional return of items upon death, so this sort of system could maybe be applied to other trips. Furthermore, it'd be nice if it yielded a fraction of the output items as well.
Just a few generalized example calcs:
Time Fraction = [Time Elapsed] / [Time for Full Trip]
Actions Completed = FLOOR( [Actions for Full Trip] * [Time Fraction] )
If the trip uses X items per action:
Input Items Returned = [Input Items per Action] * ( [Actions for Full Trip] - [Actions Completed] )
If the trip gives X items per action such as skilling:
Output Items Returned = [Output Items per Action] * [Actions Completed]
The same could be applied to XP as well.
When applied to /k for example, the "Actions Completed" would just define how many kills you did in that time.
I'm sure these calcs would vary depending on the type of trip since the math may be different, so these are just examples to get the idea across. I guess the refund logic would also vary case-to-case since for example, if you did the fight caves and stopped right before jad, you wouldn't have all your items left. Something similar to the inferno refund would probably be best for cases like that.
This sort of thing definitely wouldn't be possible with farm runs due to how they work, but getting the seeds and compost back (or a fraction of them) would at least be nice. Maybe there are other special cases that this system wouldn't be possible for.

The system as it is now is intentional. This is an idle game and it's not much to ask that, should people want the convenience of stopping a trip that they've sent, they get no rewards for their impatience.

I do not think this should be implemented as like someone else said it is an IDLE game meaning you shouldn't even have to cancel it.
On another note, even if you got a fraction back it wouldn't be worth enough to make it a necessary feature.

None of the code would be able to handle this without some fairly major refactoring of each trip where this would need to work. It's possible, but not worth the effort IMO - the bot says it fairly well: your minion drops everything to quickly return to you (As a cost for cancelling, as you shouldnt be cancelling too often). If theres' things we can do to reduce the need to cancel sure.


JIRA 7 Support

As we are looking to use onelogin inside our organisation I noticed this addon doesn't support Jira 7. Is Jira 7 support coming ?

please please add this. I'm now stuck on Jira 6 because I can't use this plugin with Jira 7.

I would also like to see JIRA 7 support.  We have since moved on and the lack of plugin support for version 7 is creating additional infrastructure overhead.

Any reason you wouldn't just use the miniOrange free add-on? There is a free add-on from them for all of the Atlassian applications.
https://marketplace.atlassian.com/plugins/com.miniorange.sso.saml.jira-sso/server/overview

The miniOrange plugin only has a free trial.  The license is $200 after that unfortunately.  We already pay for OneLogin so figured we could just use their available plugins.
I also tried the Bitium SAML 2.0 plugin which got me most of the way but I'm having issues with it redirecting and it fails to load the LoginUriProvider module for JIRA. (this could indicate an issue with our installation).


Fixing timing issue causing disconnect_inv to fail when a RHEV VM is deleted

When there is a refresh and other operations are in progress we
could see that a vm was removed (ext_management_system is nil) but
the code still tries to use it.
Here are the operation when we see it:

vm stopped and removed
check whether migration is supported
vm import validation

@miq-bot assign @borod108

@masayag please take a look

Travis failed due to not related issue

@pkliczewski this will probably need to be backported, can you create a BZ describing the issue?

@agrare sure, will create one and update this PR with the link

Here is BZ:
https://bugzilla.redhat.com/1438349

Fine backport details:
$ git log -1
commit c310f82c2b9e109697551a7d9339488fce6de8cd
Author: Adam Grare<EMAIL_ADDRESS>Date:   Fri Mar 31 14:33:39 2017 -0400

    Merge pull request #14572 from pkliczewski/master

    Fixing timing issue causing disconnect_inv to fail when a RHEV VM is deleted
    (cherry picked from commit af154458f93a6e9fe3d3bcbba0916cb571042de1)

    https://bugzilla.redhat.com/show_bug.cgi?id=1438518

Backported to Euwe via https://github.com/ManageIQ/manageiq/pull/16218


DEC-1245 DEC-1246 DEC-1257 adding parent/children routes to items

Coverage decreased (-0.1%) to 95.613% when pulling d8fb3b1467ad75a7cacbd10e291e3841d0106824 on relationRoutes into 58276494df0e5c8a0ce9c8256a684617949c1214 on master.

Coverage increased (+0.01%) to 95.739% when pulling 01cca8fc1f823a61091913e5f4a22c808e86ae08 on relationRoutes into 58276494df0e5c8a0ce9c8256a684617949c1214 on master.

Coverage increased (+0.01%) to 95.742% when pulling febf0ccaba9a99164bce3496c53d59464190d9e3 on relationRoutes into 58276494df0e5c8a0ce9c8256a684617949c1214 on master.


microservice: flask bubble sort 2

Need python flask program to return json string of the following array sorted using the bubble sort algorithm.
[ 10, 1, 200, -19, 21, 321, 0, 200 ]
Use ortelius/ortelius-ms-dep-pkg-r repo for your code.

@BBimie this is going to be the issue that you will be working on.

Resolved by PR ortelius/ortelius-ms-dep-pkg-r#1


Optical Duplicates Take 2

Hey Louis,
If possible, let's try to get this submitted as close to as-is as possible, and I will make issues and assign them to myself for any other fixes. Thanks!

@tovanadler Thanks for the update.  It's clearer this way.  Do you know how the Combine.perKey is implemented?  Will it scale?  I'm afraid it's going to try and pulldown all metrics in a library to a single node and then iterate through them all.

Back at you Louis. I think the only remaining issue is whether or not I need to use the side input structure.

I think it's unnecessary boilerplate, but it's not hurting anything.  Rebase and feel free to merge when your tests pass :)


Is there a way I can auto-complete from history?

Hi,
I am interested in an auto-complete plug-in which looks up the history and shows the recommendations in a grayed out fashion by toggling the top/down arrow button.

I am considering moving to Z-sh as I am not able to find it any of the plug-ins or completion methods of bash-it. Please help.

Bash, and therefore, Bash-it, can't make colored output for things like this, but you can use complementary tools to achieve it, and other cool features... take a look of fzf.
Bash-it have a nice plugin that integrate it.
fzf, when installed, replaces the Crtl-R keybinding offering a more powerful history navigation...
I'm a fzf user (and fan) for some years, and is amazing!

Thanks edubxb for responding. I enabled the plugin but CTRL+R didn't show the history. I also reloaded the terminal, still no luck. Am I missing any step?

Before enabling the plugin, you need to install fzf, have you did it?

Ok, i am doing that. do we have to do similarly for other plugins also such as dirs?

Some plugins require externals commands to work, others not, the dirs plugin isn't.
Refer to plugins command:
bash-it show plugins
and normally, the description can help to guess when a external command is needed.

I appreciate the help and step by step guidance. fzf is working fine now and I believe will help me with my daily work.
Also,
on the a different note how do I find descriptions of a given plugin supported on bash-it. I have tried googling and looked on bash-it plugin wiki but couldn't learn about different plugins and completion mechanisms it supports.

Awesome - thanks for the great instructions, @edubxb! I love fzf, fantastic tool!
@priteshvora You raise a good point - maybe we should add a description to the output of bash-it show plugins that explains which dependencies are needed.

This issue is very stale, so I close it. Thanks for contributing and posting!


Powertoys Run Scale Option

Description of the new feature / enhancement
Hello,
the new Design has gotten a lot nicer now, the Scaling option for Text is great. Would like to request an option to increase the Size
of the entire thing.
Something like from x0.5 to x2.0 would be nice to have.
Best Regards
Scenario when this would be used?
Basically always.
Supporting information
No response

Sorry didnt look before posting, just a bit below was already a Post for this.

/dup #30922


Improved navbar in mobile view

Fixes Issue : #200

Changes proposed
Before :

The navbar transitioned from the top as a drop-down, covering the product list giving the user a bad UX.

After :

The new navbar in mobile screens, transitions from the right side.
The navbar remains fixed, as the user scrolls through the product list.

https://github.com/ShwetKhatri2001/AR-Webstore/assets/56074740/141815b3-0830-4282-b46e-d79ae5f10d51

Check List (Check all the applicable boxes)

[X] My code follows the code style of this project.
[X] My change requires changes to the documentation.
[X] I have updated the documentation accordingly.
[X] All new and existing tests passed.

Can you please make these two small changes. It can be merged after that.

Close the sidebar when any link present inside is clicked.
Reduce the font size of link labels ( text ) probably to the previous size.

Updated with recommended changes @ShwetKhatri2001 :
https://github.com/ShwetKhatri2001/AR-Webstore/assets/56074740/e1d1b690-3def-401b-9ec0-3c41b3b36d6a


1.16 update

Is there a way that I can upgrade your files so I can use this for some 1.16 blocks or is that impossible? I tried to add the few blocks I needed inside the list in schemtoschematic.js. There where no errors but when loaded the new blocks wheren´t there.

Unfortunately .schematic files are for versions of Minecraft < 1.12, 1.16 blocks simply can't exist in .schematic files.


Make leaderboard page

Prerequisites
#13
Issue
Make the leaderboard page using the component made in #13 and following the design in the figma. Below is a screenshot of the figma design for the leaderboard at the time of writing:

The only thing missing from this screenshot is that the user should have a row featuring themselves and their score at the top of the leaderboard regardless of their position.
You do not need to use the actual data from the db for this issue -- just use some dummy data.

#13 is now done in #43, so this issue is ready to be started.


Add a formatter option 'auto_open' Continued

Original is #28 with major props to @seleem1337 :tada: :tada:

rebased to fixed master to hopefully fix tests + squashed for better overview
moved bits around so that they also work if only suite |> format |> write is called (which should be the most common use case (tm), we need to keep people from doing more stuff in output)
removed all occurences of opening the browser in the tests - while testing it is great, I can absolutely not have things opening the browser during test run :)

Turned into an almost prepare release PR as I also wanted to adjust the README and had made some changes to the defaults here :)

Travis has system problems/outage and the only failing build was a coveralls upload error --> merging ahead


[DOCS] Add videos page for tracking all guides, tutorials and hands o…

…n labs
Change Logs
Describe context and summary for this change. Highlight if any code was copied.
Impact
Describe any public API or user-facing feature change or any performance impact.
Risk level (write none, low medium or high below)
If medium or high, explain what verification was done to mitigate the risks.
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Locally tested


Unable to run latest IndieStack (JS) on Windows

Have you experienced this bug with the latest version of the template?
Yes
Steps to Reproduce
Windows 10 Pro
NPM: '8.5.4'
Node: '16.16.0'
JS/TS: JS
npx create-remix --template remix-run/indie-stack
Select 'JavaScript'
cd
npm run dev
hit localhost:3000
app crashes (see errors in Actual Behavior)
Expected Behavior
App remains operational
Actual Behavior
App errors before loading:

Console:

I am seeing the same issue as well on Windows 10


Support configuring a delay for ACME challenge requests

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?
Summary
When Traefik runs in a k8s Pod's container and quickly after starting up requests an ACME HTTP-01 challenge from an ACME server, the k8s cluster may not be quick enough to setup the required networking for the k8s Pod's container where Traefik runs, to accept an incoming connection by the ACME server.
Due to that, I propose an opt-in configurable feature that anyone deploying Traefik to a k8s Pod could make use of.
Proposed feature
I propose adding logic for a configurable initial time period, where Traefik won't request an ACME challenge from an ACME server. This configuration would be relevant for both HTTP-01 challenges and TLS-ALPN-01, as both of them requires Traefik to respond to a new connection.
The configuration would look like this in YAML.
certificatesResolvers:
  myresolver:
    acme:
      tlsChallenge:
        initialDelaySeconds: 10  # new configuration, defaults to 0
      httpChallenge:
        initialDelaySeconds: 10  # new configuration, defaults to 0

Suggested config name
I suggested the name initialDelaySeconds as it is a quite descriptive name which is also for example used by Kubernetes when configuring a "Probe" to check readiness/liveness.
I suggest it is nested under tlsChallenge and httpChallenge respectively.
Suggested default value
By defaulting the configuration's default value to 0, we would retain the current behavior without introducing a change of behavior. Having no delay seems to me like a good default as I only see a value for this configuration as a mitigation strategy of a known common situation.
Scope of problem
I'm very confident this caused an issue I reproduced when I setup a Google cloud managed k8s cluster (GKE) with default settings as well as with settings where Calico was installed. I observed that sleeping for ten seconds before starting the Traefik software within the Pod, the ACME challenges initiated succeeded reliably 10/10 times, while failed 9/10 times or so when I had no delay.
Looking at issues reported in Traefik about this I found #8786 which I bet is what this feature would help avoid as well.
As this issue presented itself in a big cloud providers managed k8s cluster service, I would guess it isn't that uncommon.
Background of why networking can take time in k8s
While each k8s cluster can manage networking in different ways, the GKE clusters rely on kube-proxy. When a k8s Pod is scheduled to run on a specific node, it gets an IP address. kube-proxy, which runs on each node in a k8s cluster, will then update the nodes iptables to be able to route traffic to the pod. I think this is what can take, for kube-proxy to become aware it should setup an iptable rule.
I also noted that whenever i started a Traefik pod that had a natural delay before the container started running that was related to pulling a docker image needed to the node, I didn't have errors - only when I restarted Traefik on a node where the image was already available - because pulling a new image acted as a delay after the Pod had received an IP!
Possible workaround tricks
See https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues/2601#issuecomment-1050406952 for the ideas of a) inducing a dummy delay after a k8s Pod is scheduled by pulling a new Traefik image, and b) sleeping before starting the traefik software.
A downside to sleeping before starting the Traefik software is that its easy to do it wrong and fail to propegate SIGTERM signals onwards to Traefik. A symptom of failing to do that is that kubectl delete pod <pod-not-caring-about-SIGTERM-signal> would fail to stop on its own and be forcefully deleted after 30 seconds.
The main drawback of these workarounds are that Traefik would be slow to start, even though it didn't need to be slow, as it only sometimes need to request an ACME challenge on startup depending on if it had a certificate available in its storage already.

Pinging just to support this. Was a bit of a pain to debug, since I was deploying traefik as part of a JupyterHub Helm chart.

hello @gregingenii,
with DNS challenge you can control <provider>_POLLING_INTERVAL and <provider>_PROPAGATION_TIMEOUT.
See the additional configuration on this page https://doc.traefik.io/traefik/v2.6/https/acme/#dnschallenge
DNS challenge is completely different than the HTTP and TLS challenge.

@ldez do you think this is a viable feature to implement and maintain for Traefik? To have some tentative agreement that the feature could be worth implementing and maintaining would make for example me more interested in putting in work to open a PR.

I found another workaround: add an initContainer with a sleep 5.
If you use helm you can add the following to the values.yaml file:
deployment:
  initContainers:
    - name: startup-delay
      image: busybox:1.31.1
      command: ['sh', '-c', 'sleep 5']

The initContainer will run (and complete) before any other containers are started in the pod.

Hello @consideRatio,
Thanks for your interest in Traefik,
After discussing this proposal, we think that introducing a specific option to fix the wrong orchestrator behavior (starting Traefik without having the network stack working) is something we are reluctant to do, for the following reason:
We think that the initContainer workaround, to introduce a delay is something common in the k8s world, as explained in https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#using-init-containers:

Because init containers run to completion before any app containers start, init containers offer a mechanism to block or delay app container startup until a set of preconditions are met. Once preconditions are met, all of the app containers in a Pod can start in parallel.

According to this, we will decline this proposal.

Thank you for the followup @kevinpollet, it is always reasonable to not add workarounds for others software failures in my mind - as it can lead to unsustainable amounts of maintenance.

@kevinpollet appreciate referencing the initContainer workaround, and appreciate the KISS approach traefik has taken and continues to apply here, thanks for all your work! 🤙🏽


Crash on initialize

This is my first Rust program! Be gentle.
extern crate pkcs11;

fn main() {
    let mut ctx = pkcs11::Ctx::new("eToken").unwrap();
    ctx.initialize(None).expect("Couldn't initialize dongle libary");
}

Crashes with an invalid memory read.
Drivers from here - I'm using 10.3. Thankfully you don't need a dongle attached, simply loading the library is enough to break things.

@mon I wouldn't proclaim myself to be an expert in rust either, however, your changes definitely makes sense. With regards to CK_ULONG, I'm pretty sure somebody in the rust community / on the rust channels is going to be able to help us out on this. For now I just merged it and I will see if this is going to cause issues for me now :)

Alright, sounds great! Thanks for the merge.

Only realised this now - could you push these as a new crate version? Thanks!


pg_hba.conf - In which directory of HA

Hi together,
i installed succesfull timescaledb and pgadmin on my Homeassistant NUC.
I even installed the filebrowser to make some configs.
For postgreSQL that I can admin it with pgadmin I have to edit the pg_hba.conf
=> <IP_ADDRESS>/32
Localhost for edit with pgadmin over port 5432.
At the moment it is not possible because in pg_hba.conf is <IP_ADDRESS>/32 is written
So my problem as "beginner for postgreSQL and HA" is:
Where is the pg_hba.conf file ? In description of your timescale there is only said, that it is in "data"
In the mein data directory I dont find something...
Can you tell me the path of directory for pg_hba.conf.
Thank you very much.
Regards
Gunter

Hi Expasio
Thanks for the very usefull support !
Last questioms:
1.)  There I have two packages of you in your repository
pgAdmin and TimescalaDB
If I install pgAdmin then everything is already installed even your tool ?
I can reach your addon then ? Or where I see this addon ?
Regards
Gunter

ok fine everything works !
If I use local on homeassistant the hostname '77b2833f-timescaledb' in pgAdmin I can use and configure everything in postgreSQL DB.
But if I want to access to postgresql DB from external client in network...
What is the best way to configure  ? At the moment connection will be refused ..
THX
Regards
Gunter

But if I want to access to postgresql DB from external client in network... What is the best way to configure ? At the moment connection will be refused ..

Thats in my first reply, you should open-up the postresql port:


Deployment coordination for Network

Rework AnsibleExecution to use CreateOrPatch
Add Deploy boolean and refactor deployment calls
Add ValidateNetwork and coordination with ConfigureNetwork

The basic idea here looks good to me. I'd like to test it in my environment.

/test dataplane-operator-build-deploy

The latest push reworks this a fair bit from what I had originally. I've switched it over to use conditions, with requeue'ing for the reconcile loop. I think this is more of an accepted pattern in operator, instead of waits and explicit watches built into the operator. This is working for me pretty well now. And translating the rest of the playbooks over to this pattern I think would be pretty straightforward.

/test all

from ReadyCondition https://github.com/openstack-k8s-operators/docs/blob/main/conditions.md#type
I believe we need an IsReady method:
https://github.com/openstack-k8s-operators/keystone-operator/blob/master/api/v1beta1/keystoneapi_types.go#L253-L257

from ReadyCondition in https://github.com/openstack-k8s-operators/docs/blob/main/conditions.md#type I believe we need an IsReady method: https://github.com/openstack-k8s-operators/keystone-operator/blob/master/api/v1beta1/keystoneapi_types.go#L253-L257

I added this in the last push.

/test dataplane-operator-build-deploy

/lgtm


TTL of SSDP search does not conform to the UPnP specification, causing some devices not being listed as renderers

DLNA renderers in a multi-router environment are not found
Steps to Reproduce

Connect your android device (where Connect-SDK will run) in a router. This is the "main router".
Connect a DLNA renderer (TV, Kodi/XBMC box, etc) in another router. This is the "secondary router".
Connect the secondary router into the main router. Make sure both routers are in the same network, and that the computer and the renderer can "see" (ping) each other.
Open the Connect-SDK application in the android device. The renderer will not be listed.

I have an LG TV (with builtin DLNA) and a Raspberry Pi running Raspbmc (with UPnP controller/renderer enabled). Both are connected in a wireless bridge router, which is connected into my main router. My android device, from where I run Connect-SDK, is connected into the main router. With this setup, Connect-SDK does not list them as renderers. If I connect them directly into the main router, Connect-SDK will show them.
I looked into the code, and it seems that the library does not set the proper value of TTL when searching for devices. According to the UPnP Specification:

To limit network congestion, the time-to-live (TTL) of each IP packet for each multicast message should default to 4 and should be configurable. When the TTL is greater than 1, it is possible for multicast messages to traverse multiple routers; therefore control points and devices using non-AutoIP addresses must send an IGMP Join message so that routers will forward multicast messages to them (this is not necessary when using an Auto-IP address, since packets with Auto-IP addresses will not be forwarded by routers).

Possible Fix
By inspecting the packet of SSDP M-SEARCH with Wireshark, it is indeed set as TTL=1, while it should be set as TTL=4.
In Java, it's possible to do that by calling setTimeToLive in the socket object. This method is available only to Multicast sockets.
I looked into Connect-SDK's code, and noticed that a Datagram socket is used to send the SSDP search. It should actually be of the Multicast type, so that we could call socket.setTimeToLive(4) before binding it.
I tried to fix it myself, and now both my TV and Kodi are listed as renderers. I could issue a pull request with my simple fix, but was not sure if the way I did was the best way, so I decided to report my findings with all the details, so that you could handle it properly.

+1

hi @gabrielmagno any chance you could submit a pull request or just drop some details into a reply here?  I'd like to get this fixed as well and if I can do it without re-inventing the wheel that would be nice!

Hi @ghenry22 . I've just submitted a pull request that seems to fix this issue. I've tested it back them when I reported the issue, and it solve the problem for me.


begin_test_transaction flaky when ran in async context

Setup
Versions

Rust: 1.51
Diesel: 1.4.6
Database: PostgreSQL
Operating System Arch Linux (Linux XPS-15-7590 5.10.27-1-lts #1 SMP Tue, 30 Mar 2021 13:22:29 +0000 x86_64 GNU/Linux)

Feature Flags

diesel: postgres, r2d2, serde_json

Problem Description
begin_test_transaction gets flaky when trying to start a transaction in async context (they are not nested).
The issue is consistently showing up after around 10 tests which is same as the default pool size for r2d2.
There are no nested transactions as you will be able to see in the code example I shared,
but somehow the transaction_manager.get_transaction_depth() is returning non zero, and causing the code to panic.
I'm not sure if this is related to Diesel not supporting async or is something else so wanted to share it here and see if there are ways to resolve it.
This doesn't happen when running with #[test] and normal synced manner. e.g. see models tests in the repo below
What are you trying to accomplish?
Having tests run without flaking randomly
What is the expected output?
Tests shouldn't error out when starting a transaction in async context.
What is the actual output?
Tests failing randomly
https://gist.github.com/darwin67/335def05fe346f637664cb614f42e088
Are you seeing any additional errors?
No
Steps to reproduce

https://github.com/darwin67/async-test-issue

Download the repo
Follow README to setup the databases (async_dev, async_test), and modify the DATABASE_URL in .env to fit your local db's credentials fomat
Run make test

Checklist

[x] I have already looked over the issue tracker  and the disussion forum  for similar possible closed issues.

[x] This issue can be reproduced on Rust's stable channel. (Your issue will be
closed if this is not the case)
[ ] This issue can be reproduced without requiring a third party crate

I would call this expected behaviour.
First of all this is not related to async code or something like that at all. It's your usage of a connection pool that causes this issue.
A connection pool is designed to keep connections as long as the transaction pool exists. If you now call begin_test_transaction() on each connection you got from a pool that can mean that you call begin_test_transaction() on a connection previously used in a other test case, where you already called begin_test_transaction() on it. To prevent getting nested transactions that way diesel checks that you called begin_test_transaction() exactly once.
So now for the how to fix your tests: Either don't use a connection pool, by creating a new connection per test or move the call to begin_test_transaction() call into the pool itself. r2d2 provides extensions points to customize the connection after creation, before the connection is available as part of the pool.
Closed as this is not an issue in diesel. Please use the forum or the gitter channel to ask follow on questions.

@weiznich thanks for clarifying and sharing the customization trait for r2d2.
I added a connection customizer for test and got it to work as i expected it to.
For anyone whom encountered a similar issue as I did, there's the customizer for test connections to be used with r2d2
lazy_static! {
    static ref POOL: Pool = {
        let db_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set");
        let manager = ConnectionManager::<PgConnection>::new(db_url);
        let app_env = env::var("APP_ENV").unwrap_or_else(|_| "development".to_string());
        let mut builder = r2d2::Pool::builder();

        if &app_env == "test" {
            builder = builder.connection_customizer(Box::new(TestConnectionCustomizer));
        }

        builder
            .build(manager)
            .expect("Failed to create database connection pool")
    };
}

...

#[derive(Debug, Clone, Copy)]
pub struct TestConnectionCustomizer;

impl<C, E> CustomizeConnection<C, E> for TestConnectionCustomizer
where
    C: diesel::Connection,
{
    fn on_acquire(&self, conn: &mut C) -> Result<(), E> {
        conn.begin_test_transaction()
            .expect("Failed to start test transaction");

        Ok(())
    }
}

Thanks! @darwin67 I used this in combination with a manual implementation of #[rocket_contrib::database("db_name")] in Rocket.
Now I can test my Rocket endpoints very easily.
Thanks!
For people that find this in the future:
Change this: https://github.com/SergioBenitez/Rocket/blob/v0.4/contrib/codegen/src/database.rs#L96:L97
To this:
let pool = ::rocket_contrib::databases::database_config("db_name", rocket.config())
    .map(|config| {
        // More info: https://github.com/diesel-rs/diesel/issues/2733
        let manager = diesel::r2d2::ConnectionManager::new(config.url);
        r2d2::Pool::builder()
            .connection_customizer(Box::new(TestConnectionCustomizer))
            .max_size(config.pool_size)
            .build(manager)
    });


OP_PUSHDATA_1 and OP_PUSHDATA_2

Adds OP_PUSHDATA1 or OP_PUSHDATA2 op codes for 76-255 and >255 byte OP_RETURN data respectively.

Small nit: len(dest) gets called a minimum of 2 and up to 3 times in your code. Assigning it to a variable instead improves performance (function calls are costly).

Cheers!

I've noticed that there's an issue with fees when setting fee = 1 sat/byte... using this... ended up with only 0.6 sat / byte... The one time I have to do a CPFP we get a goddamned 44 minute long block time (and counting!) - FML...
We need to fix how this is calculated but can't tonight.

Can you rebase this?
I have always set fees to 2 at smallest, but I'm sure we can fix the logic there.

Yep. I'll rebase when I get home tonight :) might leave fixing the fee for another PR or someone else if that's alright with you?

Thank you!


Deprecation Warning on iOS 8

Hey mate,
I use your lib within my app and it's awesome. However, when I moved to iOS 8 as the minimum, I get deprecation warnings. Are you planing to fix this?
Thanks

sooner or later :)


Document which command line options are (or are not) supported by robot.run function

When my code looks like this:
from robot import run

run(
    '/path/to/tests',
    pythonpath='/path/to/libs'
)

Then I get error:
Error in file '/path/to/tests/common/common_library_imports.robot': Importing test library 'foo.Bar' failed: ImportError: No module named foo.Bar
But if my code looks like this:
import sys

from robot import run

sys.path.append('/path/to/libs')
run(
    '/path/to/tests'
)

All works fine.
In user groups someone has asked a similar question[1] but it looks like issue was not raised and therefore it never got fixed. At least could not find an issue which would be closed and says that issue is fixed.
[1] https://groups.google.com/forum/#!searchin/robotframework-users/pythonpath$20robot.run|sort:date/robotframework-users/0D__p4amqRU/lK0GK5TgRTMJ

Yeah, --pythonpath is set as part command line argument processing and thus omitted when using robot.run. Do you really need that when you can control sys.path easily yourself? Should at least document what options are handled by which APIs better, though.

At least doc update would be nice to explain what arguments are supported. Is there other arguments that are not supported by the robot.run and could be fixed in the PR.

ArgumentParser handles these options:
--pythonpath
--argumentfile
--help
--version
--escape

Mentioning that these options don't work with robot.run, and perhaps also mentioning that all supported options work with robot.run_cli, would be nice. Then there's also TestSuite.run that handles only options related to actual test execution, but there ought to be some kind of a note about that already.

I can create PR for this. Should we also document the workarounds for the not supported arguments, I think it could be useful?
The workaround for the pythonpath argumentis easy to document that use instead sys.path.append or similar methods. But what about the others? I think helpand version do not need workaround methods. Most likely the argumentfile and escape are not needed either. But what you think?

Created #2500 to fix the issue.

PR #2500 which lists options that are't supported by robot.run is merged. On a closer look at the entry point docs I noticed that there's room for other enhancements also. I updated the title of this issue accordingly and will list bigger enhancements separate once I've updated the docs.

Docs enhanced in 98d9b072b00cfb829509b7dfc4955973594fa74c. Could @aaltat (and others who have interest) look at the docs and see how they look like?

Generated docs visible at http://robot-framework.readthedocs.io/en/master/. Direct links:
http://robot-framework.readthedocs.io/en/master/autodoc/robot.html#robot.run.run_cli
http://robot-framework.readthedocs.io/en/master/autodoc/robot.html#robot.rebot.rebot_cli
http://robot-framework.readthedocs.io/en/master/autodoc/robot.html#robot.libdoc.libdoc_cli

Looks good to go.

Thanks for review!


Contrib: Added function CalcLigRMSD to calculate RMSD between pre-aligned molecules

What does this implement/fix? Explain your changes.
The added function can be used to calculate the RMSD between two pre-aligned molecules. It is particularly useful when the compared molecules have atom names that do not match or when one or both molecules have missing atoms.

Thanks @cespos !


annotation on target_rule_name

I've been putting together some ideas on using annotations and directives for specifying additional constraints (https://github.com/codalogic/JCR-Co-Constraints).  It looks like it would be helpful to be able to include annotations on target_rule_name!
I've come up with an example of:
report {
    "type" @{id t} : "string",
    ( @{when $t == "boot"} boot-details |
            @{when $t == "shutdown"} shutdown-details |
            default-details )
}

where boot-details, shutdown-details and default-details are groups that are effectively mixins to be selected based on the value of the type member.
Hopefully it's a simple fix to do:
rule(:target_rule_name)  { annotations >> ((ruleset_id_alias >> str('.')).maybe >> rule_name).as(:target_rule_name) }
    #! target_rule_name  = annotations [ ruleset_id_alias "." ] rule_name

If you have no objections I'll make it so...

Interesting and useful use case. Yes, let's do it.

Done.  Pull request submitted.
(I might create another *_spec.rb file to check I can actually parse what I'm suggesting with the co-constraints stuff.)


Segmentation fault USE-multilingual TF2.0

I am getting a segmentation fault like in #345.
Debian 10 (Buster)
Python 3.6/3.7

tensorboard==2.0.1
tensorflow==2.0.0
tensorflow-estimator==2.0.1
tensorflow-hub==0.7.0
sentencepiece==0.1.84
tf-sentencepiece==0.1.84

It happens when I do:
import faulthandler
faulthandler.enable()
import tensorflow as tf
import tensorflow_hub as hub
import tf_sentencepiece

embed = hub.load("https://tfhub.dev/google/universal-sentence-encoder-multilingual/1")

The output is as follows:
Fatal Python error: Segmentation fault

Current thread 0x00007fd05a90f740 (most recent call first):
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/framework/importer.py", line 501 in _import_graph_def_internal
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/framework/importer.py", line 405 in import_graph_def
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/util/deprecation.py", line 507 in new_func
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/framework/meta_graph.py", line 809 in import_scoped_meta_graph_with_return_elements
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/training/saver.py", line 1477 in _import_meta_graph_with_return_elements
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/saved_model/load_v1_in_v2.py", line 89 in load_graph
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/eager/wrap_function.py", line 89 in wrapped
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/eager/wrap_function.py", line 83 in __call__
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/framework/func_graph.py", line 915 in func_graph_from_py_func
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/eager/wrap_function.py", line 598 in wrap_function
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/saved_model/load_v1_in_v2.py", line 189 in load
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/saved_model/load_v1_in_v2.py", line 239 in load
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/saved_model/load.py", line 548 in load_internal
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_core/python/saved_model/load.py", line 517 in load
  File "<project>/.venv/lib/python3.7/site-packages/tensorflow_hub/module_v2.py", line 95 in load
  File "run.py", line 7 in <module>
Segmentation fault

I have to use (tf-)sentencepiece 0.1.84 due to a bug in 0.1.83 addressed in https://github.com/google/sentencepiece/pull/417. (tf-)sentencepiece 0.1.84 is not available yet in pip, but this problem can still be reproduced in Google Colab via a workaround. The following code will make the Google Colab kernel crash:
!wget -q https://github.com/google/sentencepiece/releases/download/v0.1.84/tf_sentencepiece-0.1.84-py2.py3-none-manylinux1_x86_64.whl
!wget -q https://github.com/google/sentencepiece/releases/download/v0.1.84/sentencepiece-0.1.84-cp36-cp36m-manylinux1_x86_64.whl

%tensorflow_version 2.x
!pip3 install --quiet tensorflow-hub
!pip3 install --quiet sentencepiece-0.1.84-cp36-cp36m-manylinux1_x86_64.whl
!pip3 install --quiet tf_sentencepiece-0.1.84-py2.py3-none-manylinux1_x86_64.whl

import tensorflow as tf
import tensorflow_hub as hub
import tf_sentencepiece

embed = hub.load("https://tfhub.dev/google/universal-sentence-encoder-multilingual/1")

Could reproduce the issue in Google Colab. Kernel Crashes with the above code. Here is the Github_Gist_Of_Colab

Thanks, @brenting , for the update! I guess that is the preferred solution then:

For TF2.0, use the model https://tfhub.dev/google/universal-sentence-encoder-multilingual/2 in the new, native TF2 SavedModel format together with sentencepiece==0.1.84 and tf-sentencepiece==0.1.84 (for now with the manual download you describe).
For TF1.14 (and presumably TF1.15 in its native TF1 mode), use the resolution of issue https://github.com/tensorflow/hub/issues/345: model https://tfhub.dev/google/universal-sentence-encoder-multilingual/1 with tf-sentencepiece>=0.1.83 and sentencepiece>=0.1.83.

It's a bit unfortunate that all these versions need to be aligned, and that there are no useful error messages, but that isn't something we can fix in the TF Hub code.
Adding vbardiovskyg; please close if you see nothing else.

According to the documentation accompanying the new USE-multilingual-2 model, the model lost its dependency on sentencepiece and tf-sentencepiece and now requires tensorflow_text>=2.0.0rc0.
For the older versions of TF, due to the bug in https://github.com/google/sentencepiece/pull/417, it is likely that only the exact TF versions found on the tf-sentencepiece v0.1.83 page work for USE-multilingual-1. This will be the case until the fix is implemented in older packages of (tf-)sentencepiece.
Long story short. For now:

For TF2.0, use the USE-multilingual-2 model with tensorflow_text>=2.0.0rc0 and tensorflow-hub as described in the documentation.
For older versions of TF, install sentencepiece==0.1.83 and tf-sentencepiece==0.1.83 pick one of TF versions found on the tf-sentencepiece v0.1.83 page and install that exact TF version. Then load the model via tensorflow-hub.

Also change ["output"] to ["outputs"] in the example on the USE-multilingual-2 page.
PS:
Although tf-sentencepiece==0.1.84 is available, tf-sentencepiece==0.1.83 is still the default version in pip. USE-multilingual-1 with tf-sentencepiece==0.1.84 potentially only works for TF1.13.1, TF1.14.0 and TF2.0.0 until the previously described fix is implemented (or fixed by hand).
PPS:
Save yourself some trouble and go for USE-multilingual-2 with TF2.0 :).

https://tfhub.dev/google/universal-sentence-encoder-multilingual/3 now supports TF2.0 and uses tensorflow_text instead of tf_sentencepiece.

Nice.
With that, can we close this issue?

The crash does not occur with the new USE-multilingual model:
https://tfhub.dev/google/universal-sentence-encoder-multilingual/2

The issue was already solved when USE-multilingual-2 came out, which supports TF2.0 and uses tensorflow_text. If you do not intend to add TF2.0 support to USE-multilingual-1 in retrospect, then this issue can indeed be closed.

Thanks for confirming.
Module version 1 won't be changed, because TF Hub module contents are immutable (to avoid consistency issues with caching etc.).


(fix) Removes lipsu from player crashes page.

Self explanatory, just removes lipsu from the crash page.

it is a easter egg not a bug.

I got it, thank you very much.


Add missing changelog for #5816

Summary
Move fast, skip changelog

Codecov Report

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

@@           Coverage Diff           @@
##           master    #5827   +/-   ##
=======================================
  Coverage   63.74%   63.74%
=======================================
  Files         216      216
  Lines        7941     7941
  Branches        3        3
=======================================
  Hits         5062     5062
  Misses       2878     2878
  Partials        1        1

Continue to review full report at Codecov.

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


Add Kira until we can add her to the team

Description & motivation

To-do before merge

Prerelease docs
If this change is related to functionality in a prerelease version of dbt (delete if not applicable):

[ ] I've added versioning components, as described in "Versioning Docs"
[ ] I've added a note to the prerelease version's Migration Guide

Checklist
If you added new pages (delete if not applicable):

[ ] The page has been added to website/sidebars.js
[ ] The new page has a unique filename

If you removed existing pages (delete if not applicable):

[ ] The page has been removed from website/sidebars.js
[ ] An entry has been added to _redirects

thanks Leona!


setup/teardown events (mount/unmount)

i figured out how to do mount/unmount events using isCurrentPage together with a component state object, in my case "cameraIsOn"
 van.derive(()=>{
        if(cone.isCurrentPage("new") && !cameraIsOn.val){
            startCamera()
        }
        if(!cone.isCurrentPage("new") && cameraIsOn.val){
            stopCamera()
        }
    })

We could add an onEnter and onExit hook for each route. I wouldn't think the onEnter would be strictly necessary because you could just run whatever initialization code you need in the function but I can see a use for the onExit hook. But, if we're doing onExit we might as well do onEnter for parity.
In your use case does it matter when the hooks are run in relation to the DOM being updated? For example in onEnter would it matter if the hook were run before the DOM was updated, after it was updated, or not important?

Not important, but i logically it would be before render i think


np.bool is deprecated in numpy. Changed to bool. (#3)

Update final_detector_iterN.py

np.bool is deprecated in numpy.
Changed to bool.

Update final_detector_iter1.py (#1)

np.bool is deprecated in numpy.
Changed to bool.

Update final_detector_iter0.py (#2)

np.bool is deprecated in numpy.
Changed to bool.

My bad.
I has to change bool to np.bool_ from NumPY


wallet fails to load - android apk 0.6.3 and 0.6.4

Was running 0.6.3. Today on launch the app failed to load. Stuck on "Loading: Setup." Force closed app and relaunched - no change. Restarted phone - no change. Checked Obtainium and noted update available to 0.6.4. Installed update. Relaunched - no change. Load is stuck at same point. Tried to download logs - receive error "Failed to read data from storage." Pixel 6a running latest GrapheneOS

Try restoring from seed words.

That worked only after a complete uninstall & reinstall of the app. Initially, the seed recovery would just hang and spin. So glad I wasn't force closed this time. Thanks!
On April 15, 2024 1:29:25 PM UTC, Tony Giorgio @.***> wrote:

Try restoring from seed words.
--
Reply to this email directly or view it on GitHub:
https://github.com/MutinyWallet/mutiny-web/issues/1059#issuecomment-2056859596
You are receiving this because you authored the thread.
Message ID: @.***>

Sorry about that. If you have any specifics about your setup, channels, fedimint, etc. that might have caused this, or the last thing you remember doing, it would be helpful since we don't have the logs here.

Exact same thing just happened again on first launch after update to 0.6.5. Will not complete load, and log download does not work.
When this happened the first time, I had one open lightning channel, no fedimint, no address. Since then I added a fedimint, but couldn't figure out how to use it. Fedimint showed 0 ecash. So latest setup is 1 open channel, fedimint, no address. As far as I know, there were no pending zaps at the time of both app freezes.
On April 15, 2024 4:16:36 PM UTC, Tony Giorgio @.***> wrote:

Sorry about that. If you have any specifics about your setup, channels, fedimint, etc. that might have caused this, or the last thing you remember doing, it would be helpful since we don't have the logs here.
--
Reply to this email directly or view it on GitHub:
https://github.com/MutinyWallet/mutiny-web/issues/1059#issuecomment-2057236562
You are receiving this because you authored the thread.
Message ID: @.***>

And logs still won't download? Can you try a restore from seed again and see if they do?

Reinstalled app and restored again from seed. Here are the logs post restore.
mutiny-logs.txt

Are you on the latest version? We made a few updates last week. I'm not seeing any errors in your logs, are you still having issues after you reinstalled?

Currently running 0.6.7. So far no load issues.
On April 22, 2024 3:55:20 PM UTC, Tony Giorgio @.***> wrote:

Are you on the latest version? We made a few updates last week. I'm not seeing any errors in your logs, are you still having issues after you reinstalled?
--
Reply to this email directly or view it on GitHub:
https://github.com/MutinyWallet/mutiny-web/issues/1059#issuecomment-2069998106
You are receiving this because you authored the thread.
Message ID: @.***>


Add command history navigation

Fixes #10.

Codecov Report

Merging #154 (6cb12c6) into master (6a88396) will decrease coverage by 0.25%.
The diff coverage is 58.06%.

@@             Coverage Diff              @@
##             master     #154      +/-   ##
============================================
- Coverage     67.66%   67.41%   -0.26%
- Complexity      623      637      +14
============================================
  Files           108      109       +1
  Lines          2038     2099      +61
  Branches        260      269       +9
============================================
+ Hits           1379     1415      +36
- Misses          552      570      +18
- Partials        107      114       +7

Impacted Files
Coverage Δ

src/main/java/taskbook/ui/CommandBox.java
0.00% <0.00%> (ø)

src/main/java/taskbook/ui/MainWindow.java
0.00% <0.00%> (ø)

...ain/java/taskbook/logic/CommandHistoryManager.java
78.04% <78.04%> (ø)

src/main/java/taskbook/logic/LogicManager.java
73.07% <100.00%> (+4.89%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Documentation error for CDN

Hi all.
First: awesome UI library for Vue!!! Congratulations.
Documentation says that oruga script and css is located at these CDN URLs:
<link rel="stylesheet" href="//unpkg.com/oruga/dist/oruga.min.css" />
<script src="//unpkg.com/oruga/dist/oruga.min.js"></script>

However the links are broken.
Its possible to use https://oruga.io/cdn/oruga.js but it seems like the Vue2 version.
Is there any valid URL for Vue3 Oruga CSS and JS?
Regards.

@pac0rro thanks a lot 😃

<EMAIL_ADDRESS><EMAIL_ADDRESS>


feat(docs): overhaul

Current dependencies on/for this PR:

main

PR #177   👈

This stack of pull requests is managed by Graphite.


travis: Add go 1.8 in the test matrix

Signed-off-by: Damien Lespiau<EMAIL_ADDRESS>

Coverage increased (+0.3%) to 59.396% when pulling 65d05a35d24450784239931f8c1b13502650c6cf on dlespiau:20170223-ci-go-1.8 into c524a1581f9a0d363b091868e75e6265f053fb5b on clearcontainers:master.

Note that one test fails on go tip. It doesn't on neither 1.7 nor 1.8, so I guess something in wrong in go master and will be eventually resolved.

Coverage remained the same at 59.06% when pulling 5b2511f9c74513cb6492aa323e02d253ee6061fc on dlespiau:20170223-ci-go-1.8 into c524a1581f9a0d363b091868e75e6265f053fb5b on clearcontainers:master.

Argh, no! go tip does expose a real bug in the fd leak detector. I fixed the bug in PR https://github.com/clearcontainers/proxy/pull/16

All travis tests are green, and it's really all that matters for this PR. Merging.


Added references to CLA for data sets and CC-BY-40 license for documentation and non-code assets

…ssets
Signed-off-by: John Mertic<EMAIL_ADDRESS>

"These licenses is widely used" should be:
"These licenses are widely used".
"a CDLA license" could be:
"a [Community Data License Agreement (CDLA)]((https://cdla.io/)"
since this is the first time the CDLA acronym is introduced.
Should the title of the PR be "Added references to CLA..." or "Added references to CDLA..."?

Thanks @jfpanisset - added these in now.


Secrets

Do we have any way to store secrets in Amplify and retrieve it on iOS?
I have some API keys predefined and I need to use it inside the app.
If no options for Amplify, can someone suggest something
Thanks

Closing due to inactivity.


Docs: X-Frame-Options have inconsistent values

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

On the following site, some values are uppercase and later lowercase and it is not apparent which one is correct or which one should be used (aka best practice) when they are mixed like that.
https://developer.mozilla.org/de/docs/Web/HTTP/Headers/X-Frame-Options
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM https://example.com/

On the english version there is strictly lower case writing:
X-Frame-Options: deny
X-Frame-Options: sameorigin
X-Frame-Options: allow-from https://example.com/

The header fields are case-insensitive and I've updated the translation to follow the English version here. Thanks for your report!


VideoFilePath is not an atribute of moviespy and some comments

Also, add the .editor attribute externally because when I was running the program. Editor in the code was giving an error as an unknown attribute. I have made these changes on the basis of the mp4 to mp3 project that I created for my repo today.

Thanks for the contribution :)


Add Cargo features and code to allow OpenSSL to be used for Crypto

Hi - thanks for sharing this library!
This change is to add support for using OpenSSL for cryptography instead of the MD5 crate - for cases where only a trusted OpenSSL implementation is supported for anything cryptography related. There's no functional change to the output of the library.
I've added this as a cargo feature so that the MD5 crate is still used by default so as not to impact existing users who don't want the OpenSSL dependency. Using one feature doesn't compile in the dependencies of the other.
I've also added extra workflow steps to test the two feature options explicitly and confirmed these pass.
Let me know if you have any comments.
If you do accept, would you be able to tag a new release as well please?
Thanks again!

@moznion can I please get a feedback on this?

@moznion  can I please get feedback on this?

@ramaravishankar Thank you for your contribution. Please give me a time to take a look at this.

@moznion sorry for bugging again, we have a dependency on this change, would it be possible for you to review this week?

@ramaravishankar I really appreciate your contribution! It seems some of Windows tests failed but the core of the change seems good. I'll merge this pull request and publish the new version which includes this change. Once it has been finished, I'll let you know that.

@ramaravishankar I published v0.4.0 which includes this change. Thank you for your contribution!

Thanks @moznion, cheers 🎉


Backport PR when label is set

backport PR to release-v1.2.0 branch from master branch  when a label is set on PR
Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>

This PR needs to be merged manually as there  is a change in mergify rules


Can you provide a valid file?

Thank you for writing this tool.
I want to convert a gltf/glb file to b3dm.
But EVERY file I tried throws errors.
some errors:
 (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf0 in position 8: invalid continuation byte

 Glb(buffers, **gltf.as_dict(False)).as_bytes()).as_bytes())
TypeError: Glb.__init__() got multiple values for argument 'buffers'

I've tried to tweak some codes but no luck.
I wonder if my files are broken or my environment got something wrong.
One of the test files: https://models.babylonjs.com/aerobatic_plane.glb
What's the expected python version to run this tool? I'm using 3.10.

The first error: have support glb input yet. can only input gltf currently.
The second error: a bug introduced at previous commit, fixed at commit 1e3478125276f19f68d7d747bc4207c0eb097899


feat: Optimise RCTKeyWindow() calls in RCTForceTouchAvailable method

Summary:
This PR optimises RCTKeyWindow() calls in RCTForceTouchAvailable method. This method was calling RCTKeyWindow hundreds of times while scrolling on the screen.
Before:
On the video you can see that this function is being called 350 times just from simple list scrolling. RCTKeyWindow is looping over app windows so it's not a cheap operation.
https://github.com/facebook/react-native/assets/52801365/5b69cbd6-d148-4d06-b672-bd7b60472c13
After: the function is called only few times at the start of the app to get initial layout measurements.
Solution: I think we can check just once for the force touch capabilities as devices can't change it on the fly
Changelog:
[IOS] [FIXED] - Optimise RCTKeyWindow() calls in RCTForceTouchAvailable method
Test Plan:
CI Green

Hey! Is there anything I can do to get this merged? I can't see the internal linter error, unfortunately. cc: @cipolleschi


Add an UI to handle teacher information [2]

Story

As a parent

I Want a registration form

So That I can add the details of the teacher

Acceptance Criteria

Given I am on the website

When I navigate to the registration page
Then I should see a form with an input for firstName, last name, date of birth, email, phone number, password, confirm password

Given I have filled in the form correctly

When I click on submit
Then I should send the information to the backend and get a success notification

Given I have not filled the form correctly

Then I should see the input highlighted

Checklist:

✅  I have defined the user story
✅  I have defined some acceptance criteria
✅  I have included any implementation notes
✅  I have included all relevant links

https://react-bootstrap.netlify.app/docs/layout/breakpoints/


Scale issue

I am looking at moving a project from vis.js-timelines to timeline-plus since vis seems pretty neglected. As a test I took my existing project and just swapped out the library and the timeline constructor. Since the project worked fine on vis I was expecting a smooth transition. However, when I went to load the page nothing appeared. When I checked the console I now had the warning Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines.
I'm not sure if this is a bug or if I am missing something in my conversion. For reference I am using the minified file from https://github.com/yotamberk/timeline-plus/blob/master/dist/timeline.min.js that I downloaded today (9-12-2018)

Can you please supply a jsbin showing the issue? I can't fix the problem if I can't recreate it.

I have yet to be able to reproduce the issue in jsbin. However I think I stumble across another issue while trying to recreate the issue. It appears that the className property on items of type background doesn't get applied. The bin for that can be found at https://jsfiddle.net/m8fysjht/87/

For some reason in jsfiddle I can't recreate the issue, but I moved the code over to theThimbleProject and got the same error. https://thimbleprojects.org/fedorareis/544736

The example you've supplied seems to have an irrelevant problem to this issue:
Uncaught ReferenceError: timeline is not defined
this means that you didn't load the timeline or didn't use it correctly

Here is a new link https://jsbin.com/coxuzezoqa/edit?html,js,console,output It was previously using the js files from the bin folder in the repo and I forgot to change that when you announced the switch to having them at unpkg.com


Need an "after-cache" event.

I have a unique scenario for my app where I need an event that fires after the cache snapshot is taken, but not necessarily after the XHR request is complete.

+1 would be good to have this.

+1 this would help other libraries such as React on Rails to unmount components in the right timing

+1 need it for updating the UI before the XHR is complete, but after the page is cached


Negative Target

Hi,
I don‘t understand the following:
In the config I have specified the spread target as 0.008 and the variable below (exit target or so, as 0.005, both default values).
Now BB entered the market at around the specified 0.8% spread, but since then shows a target of -0.64%.
Now, as far as I understand the arbitrage principle, we enter the market at some specified spread (the larger the more money you can make but the less likely the event is to occur). And we leave the market, as soon as the spread has reduced to some specified smaller Niveau. A negative spread of course means even a better deal in terms of money, but on the other hand also is very unlikely to occur in a market, where the spread was the other way round when we entered the market.
By increasing the spread target, the exit target can be made zero or positive again, as the negative target probably is due to the fees of the exchanges, but shouldn‘t BB by default ensure, that no negative target can be created which can be very tough or even impossible to reach?
Kind regards,
Marcus

I don't agree; negative spread it's possible, there is no garantee about the spread trend.

The basic principle of our arbitraging strategy is capturing discrepancies between exchanges. In an efficient market, only one BTC/USD price should be offered across all the exchanges.
So when a divergence appears and there is no outside reason for it (e.g. exchange going bankrupt) then it is likely, but not certain, that the prices converge at some point in the near future.
That being said, bitcoin is still volatile and what we've seen is that sometimes prices swing between each other:

Time
Exh. A
Exch. B
A/B Spread

6am
10,300
10,000
Positive

9am
10,500
10,000
Positive

12pm
9,900
10,000
Negative

3pm
9,900
10,200
Negative

6pm
9,900
9,800
Positive

If users want to capture that kind of behavior, they can set their strategy parameters to capture a small spread and hoping that the spread will soon go the other way around. Negative spread is only useful when prices swing between each other in a volatile environment.


Fix sync conflict bug

Describe the bug
When resolving the sync conflict, the following keys result in exception.

Public key that holds encryption public key of other atsign - public.bob@alice
Self key that holds the shared key. - shared_key.bob@alice
The cached keys

Expected behavior
Sync conflict should not result in exception.

Pulled PR-602 changes into this PR since e2e tests are failing.


(chores) camel-aws2-lambda: disable flaky test on Github

Components tested:
Total 	Tested 	Failed ❌ 	Passed ✅
1 	1 	1 	0

Lambda is OK now. Merging and moving to the next.


[crac] Update common files for branch master

Update common files

@sdelamo We could do...  Not sure what it gains us, but it does check we can still compile with the GraalVM
Can you fix sonar?

You are running CI analysis while Automatic Analysis is enabled. Please consider disabling one or the other.

@sdelamo We could do... Not sure what it gains us, but it does check we can still compile with the GraalVM
Can you fix sonar?

You are running CI analysis while Automatic Analysis is enabled. Please consider disabling one or the other.

I think I did the change earlier this week. I have restarted the build.


Broken links

http://vuejs.org/2014/03/22/vuejs-010-release/ - with v-component="{{type}}". Doc. & string as the component ID. Doc. & filters for v-repeat. Doc.

This version of Vue is no longer supported, so the docs are no longer hosted. If you're just learning about Vue, I recommend checking out the upcoming 2.0 docs.


Mojibake problem: ÃƒÆ'Ã

Hi,
U+00C3  Ã       [Lu] LATIN CAPITAL LETTER A WITH TILDE
U+0192  ƒ       [Ll] LATIN SMALL LETTER F WITH HOOK
U+00C6  Æ       [Lu] LATIN CAPITAL LETTER AE
U+0027  '       [Po] APOSTROPHE
U+00C3  Ã       [Lu] LATIN CAPITAL LETTER A WITH TILDE
SHOULD BE:
U+00EB  ë       [Ll] LATIN SMALL LETTER E WITH DIAERESIS

Example:

haal je AziÃƒÆ'Ã heel dichtbij

Is it possible to fix this?

If ë. were encoded in UTF-8 and decoded in windows-1252 three times, it would become ÃƒÆ’Ã‚Â«. Some characters were deleted from the string somehow -- perhaps a « was removed between the second and third time it was wrongly encoded.
(What is happening to this text?)


CMake Error at src/bsoncxx/CMakeLists.txt:86 (find_package)

Cloning into 'mongo-cxx-driver'...
-- The CXX compiler identification is Clang 4.0.1
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The C compiler identification is Clang 4.0.1
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Auto-configuring bsoncxx to use MNMLSTC for polyfills since C++17 is inactive
CMake Error at src/bsoncxx/CMakeLists.txt:86 (find_package):
Could not find a configuration file for package "libbson-static-1.0" that
is compatible with requested version "1.10.0".
The following configuration files were considered but not accepted:
/usr/local/lib/cmake/libbson-static-1.0/libbson-static-1.0-config.cmake, version: 1.9.3

-- Configuring incomplete, errors occurred!
See also "/mongo-cxx-driver/build/CMakeFiles/CMakeOutput.log".
ERROR: Service 'builder' failed to build: The command '/bin/sh -c git clone --depth 1 -b releases/stable https://github.com/mongodb/mongo-cxx-driver     && cd mongo-cxx-driver     && cmake -H. -Bbuild -G Ninja -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release  -DCMAKE_INSTALL_PREFIX=/usr/local    && cmake --build build --target install     && cd .. && rm -rf mongo-cxx-driver' returned a non-zero code: 1
How can I fix that please?
OS: Docker 18.03.1 / Linux Container

+1

This has been resolved with PR #4200


Delay in restart and poweroff from Hyprland session

I am facing delay in restart/poweroff from Hyprland. If i use systemctl poweroff/reboot or any other script like from arcolinux (arcolinux logout) or rofi powermenu, it takes almost a minute to poweroff/restart. In contrary, if I log out from the session to sddm and then restart/poweroff from there it takes only 4/5 seconds.
Am I missing something? It would be very helpful if someone point me to the right direction. Thanks

You need install sddm-git
The sddm package in the extra repository does not support Wayland sessions.


[Optimization-2664][core] Optimize udf and error info

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

close #2664


Add ability to search Status Symbol characters

⚠ Please check that this feature request hasn't been suggested before.

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.

🔖 Feature description
Provide a way to search for tasks with a particular symbol, such as [?].
I already added status.name and status.type searches in 1.24.0.
For brevity, I think it would be helpful to be able to search for the actual symbol character.
✔ Solution
I'm thinking something like this:
status.symbol is ?
status.symbol is space

status.symbol is not ?
status.symbol is not space

It would need to be case-sensitive, unlike pretty much every other Tasks filter, as A and a are different symbols.
I think it would probably be good to allow multiple values
status.symbol is P C
status.symbol is not P C

❓ Alternatives
status.name searches
📝 Additional Context
No response

the mapping between "status" and "status type" sparks a lot of discussion and lots of requests for additional types to query from, but I believe searching for status character would be the better priority. For all my use cases and status types overlaps and confusion, it would solve all problems in a very clean way
rough example:
if "delayed" is actually done depends on context. do I look at current planning? all done, as "delayed" is moved to next period. Do I look at an "all tasks" list? "delayed" means "not done yet"
search for [d] and [x] is super easy to understand and there's no need to predict additional configuration

Hi @xenontechs, thanks for the input. Much appreciated.

search for [d] and [x] is super easy to understand and there's no need to predict additional configuration

That sounds appealing in theory, and I agree that searches on the character would work well.
But as soon as users get used to not setting up their custom statuses, then Tasks will not know their intention when they toggle one of these unknown status characters. Was the character TODO, IN_PROGRESS, DONE, CANCELLED etc?
So I suspect your reasoning might trade one set of user support load for another - for me and for users.

Tasks will not know their intention when they toggle one of these unknown status characters

maybe I miss something with this extra layer of abstraction, but we have this configuration (screenshot) already, I guess it needs a default setting for toggling unknown. From there, with search based on symbol, there is no direct need for status types and Tasks knowing user intentions.
I can totally see the status types as more of a grouping function, so when a user sets up a bunch of tasks, they can (as is practically already) define them as TODO to quickly search for them using that keyword, or set default behaviors (any type TODO when toggled gets the first type of DONE unless otherwise specified)
as is today, there is just no fine-tuning queries outside of a very limited set of types. I keep hitting this brick wall and apart from it being an easy entry, I don't understand why it is there at all, why this can't be freely assigned

Tasks will not know their intention when they toggle one of these unknown status characters

maybe I miss something with this extra layer of abstraction, but we have this configuration (screenshot) already, I guess it needs a default setting for toggling unknown. From there, with search based on symbol, there is no direct need for status types and Tasks knowing user intentions.

Yes, the bit you missed is the bits marked in red:

When a user clicks on a checkbox, and tasks modifies the line, it needs to know what to do, about adding or removing Done dates, and about recurrence.
See:
https://obsidian-tasks-group.github.io/obsidian-tasks/getting-started/statuses/#done-date-recurrence-and-statuses

Which is why I said:

But as soon as users get used to not setting up their custom statuses, then Tasks will not know their intention when they toggle one of these unknown status characters. Was the character TODO, IN_PROGRESS, DONE, CANCELLED etc?
So I suspect your reasoning might trade one set of user support load for another - for me and for users.

This is why it matters that users properly configure their custom statuses.

I do still intend to implement this, when I have time and it gets to the top of my list.
My point is just that anything along the lines of 'then users won't need to configure their custom statuses' is not a good argument in its favour.

I realised that a lot of the implementation work for this is equivalent to that in  StatusTypeField.ts.
It's not quite the same, but still helpful.
The status symbol search would need to be case-sensitive, and would need a special case to parse and display space characters.

It is now possible to search for tasks with particular status symbol characters...
See the several examples Status Symbol in the Filter docs:
Here is a snapshot of the current content:

I'll leave this open until either:

native Tasks search filters are added, or
the custom grouping and filtering by status symbols is more discoverable, by being included in tables like this:


Fixing style errors so CI will accept it

Just fixed the style errors so that their CI server will accept the changes. I'd like this to get merged into request soon, as we need Expect 100 Continue for a project we're working on here.
Thank you!

Hey bpnetguy. Not sure if you're still interested in working on this. If I don't hear back from you in the next day or so, I may take your changes and work on them independently and submit them to the request library.


AP-559 CCMS Submission - initial orchestration work

What
AP-559
This is the initial work to orchestrate the exchange of data between Apply and CCMS in order to inject a case. It comprises three sub-stories:
AP-573 - Create tables
AP-574 - Obtain case ref
AP-575 - Get applicant reference

Create submission and submission_history models and migrations. The submission model contains a state machine to control the progress of a case through the necessary steps.

Add functionality to submission to obtain a ccms_case_reference from CCMS, persist it to the database, and update the state.

Add functionality to submission to obtain a search CCMS for an applicant, and if (a) one or more applicants are returned, obtain the applicant_ccms_reference of the first applicant in the response, persist it to the database, and update the state, or if (b) no applicants are returned, initiate the creation of a new applicant in CCMS, and update the state.

Refactor of various _requestor and _parser classes to accommodate the above and improve naming.

Checklist
Before you ask people to review this PR:

[x] Tests and rubocop should be passing: bundle exec rake
[x] Github should not be reporting conflicts; you should have recently run git rebase master.
[x] There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
[x] The PR description should say what you changed and why, with a link to the JIRA story.
[x] You should have looked at the diff against master and ensured that nothing unexpected is included in your changes.
[x] You should have checked that the commit messages say why the change was made.

@reggieb - I think I've (finally) addressed all your comments. If you're able to give it another look over that would be appreciated. I'm aware that there is a lot going on in this PR now so if it makes it easier to review I could pull some of it out into another PR (especially the last commit, which refactors the submission class and spec into a number of services).
@stephenrichards - it might be good if you could take a look at this too


ARROW-11913: [Rust] Improve performance of StringBuilder

PrimitiveBuilder<u8> was performing a lot of unnecessary bit operations.
One operation for each byte of each string one appends.
Delaying the creation of null bitmap builder for PrimitiveBuilder
significantly improves performance of StringBuilder. The optimization is
also generally useful as the null bitmap is not stored if resulting
arrays do not contain nulls.
Results from the added benchmark on my machine are:
bench_primitive/bench_string
                        time:   [6.8971 ms 6.9123 ms 6.9335 ms]
                        thrpt:  [937.48 MiB/s 940.35 MiB/s 942.43 MiB/s]
                 change:
                        time:   [-49.585% -49.395% -49.204%] (p = 0.00 < 0.05)
                        thrpt:  [+96.867% +97.610% +98.355%]
                        Performance has improved.

@Dandandan if the input data is generated from existing Rust datastructures/code, using iterators and collect actually does make a lot of sense.
I believe our use-case will still be centered around the builders. We're looking at speeding up some datafusion operations and an extra round-trip through Rust representation would slow things down. Building with iterators looks hard at times, e.g. efficiently constructing an array of strings is actually much simpler with StringBuilder than directly in Rust, as String allocates on the heap and this can add up when the Strings are many.

Alternatively I think we could have non-null builders which would not create a bitmap and leave the append_null method in that case.
Actually I would argue that the current approach makes a lot of sense. Nulls don't add that much runtime overhead and adding new buidlers will probably add up to the complexity. Applying the trick from this commit for builders would bring performance really close to optimal, up to a point that this should almost never become a problem in practice.
Note that PrimitiveBuilder<u8> is a somewhat pathological case when used inside StringBuilder. Paying for bit-set operation on each byte inside the every added string is just too expensive.

@ilya-biryukov
Thanks for updating it with a benchmark. I think this PR is good to go for me as it seems a net win based on the benchmark results. Can you solve the clippy lint?
I am not sure I follow you 100% on using the iterator to build an arrow string array. They are implemented for &str as well, so they don't copy the data and should instead translate into a more simple loop. Additionaly, they can pre-allocate the indices array if using an iterator with known size, so they are/should be more efficient than the string builder.
I think we should have a look at the cases where DataFusion is currently using the builder and if possible translate it to use the iterator API.

@Dandandan

@ilya-biryukov
Thanks for updating it with a benchmark. I think this PR is good to go for me as it seems a net win based on the benchmark results. Can you solve the clippy lint?

Done.

I am not sure I follow you 100% on using the iterator to build an arrow string array. They are implemented for &str as well, so they don't copy the data and should instead translate into a more simple loop.

The use-case I tried to describe involves building arrays of unknown length from multiple inputs that get sent in batches.
I can hardly see anything more convenient than builders here. But this is definitely not the typical use-case, iterator-based APIs are more convenient in most cases.

Additionaly, they can pre-allocate the indices array if using an iterator with known size, so they are/should be more efficient than the string builder.
I think we should have a look at the cases where DataFusion is currently using the builder and if possible translate it to use the iterator API.

Note that the code I linked is not upstream  DataFusion, it's from our fork. I should have mentioned that explicitly when mentioning DataFusion in the first place to avoid potential confusion.

Ah, makes sense @ilya-biryukov . I remember seeing cube-js before - looks cool.
How is the forking process working for you, do you keep it updated sometimes?
Are there any changes/features we could upstream to DataFusion (what is the license of those changes?)?

@jorgecarleitao this seems like a nice performance improvement for the builders to lazily allocate the null bitmap. Should also bring some overall performance improvements to DataFusion or readers that use the builder for non-null columns.
What do you think?

Thanks @ilya-biryukov  -- looks very cool


Catch too early calls on windows and return an error instead of panicking

This PR improves developer experience on Windows.
Currently, when you call a function of the library too early, it just panics.
With this PR, it does a not-perfect - but good enough - check to prevent a panic and return an error instead. This makes it a lot easier for developers to understand what they are doing wrong and help them use this library effectively, instead of opening issues about a panic. ;)

Well, the panics happen because trying to do pretty much anything with the library before calling Run* will attempt to use the uninitialized winTray and thus panic on the first nil pointer.
I think the nil check is so cheap that an additional mechanism won't bring any meaningful improvement.
Right now this PR uses an existing field of the winTray for the check. A cleaner and better solution would be to use a separate flag for this. Brb.

Ok. This is now improved with using a separate flag, which works much better. BUT: I have also now seen that his only protects the tray item itself. onReady may be called before the menu is initialized, but while I would expect the possibility of panics here, we don't see any in practice. So this seems to be ok for now.
It's still a race condition, and this PR is about helping devs fix the obvious wrong things, as normally I would expect this lib to be called sequentially up until calling Run*.

That sounds sensible.
Though as a follow-on I ask - have we called onReady too soon, is that the underlying issue and should it be resolved instead?

Well, onReady waits for a callback from windows after initialization (without the menu). The callback is winTray.wndProc. We could however make onReady wait for both the callback and init function being done (with the menu).


Show more information about reasons for app incompatiblity.

This change set updates the presentation of incompatibility warnings within the app manager interface by

Switching to a standard alert box style for the app incompatibility message and
Adding an additional alert warning message below version selector with more information about why a particular app is considered incompatible (requires https://github.com/aiidalab/aiidalab/pull/147 ).

Resolves #52 .

@yakutovicha This is ready for your review.

@csadorf I am going to try it right now, thanks!