scons: Fix a wrapping issue which overrides your PATH

This fixes the following situation:
If your PATH contains a python.withPackages interpreter and as part of
your SConstruct build you want to launch a python script in a
subprocess, which should run with '#!/usr/bin/env python', then it would
be problematic to have scons wrapped with an additional PATH pointing to
a different python interpreter. None of your withPackages-packages would
be importable.
In a sidenote: this will also remove the PYTHONNOUSERSITE argument. I'm not yet sure if this behavior is good or bad. So to whoever will be reviewing this, I'm especially interested in this part of the PR.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@primeos: Could you maybe have a look.

@knedlsepp This is an interesting problem, thanks for the PR :)
To document things a bit on this PR I'll add an example of the current wrapper:
#! /nix/store/5p8qcz6i13ymgf80kimhx2g9pb5r5nia-bash-4.4-p23/bin/bash -e
export PATH='/nix/store/29xfvq39h5z7af90id0zaa4a09vgpsm7-python-2.7.16/bin:/nix/store/cc85cq9lvy89kcb0806gv3yhq0iawb45-scons-3.0.5/bin:/nix/store/2jh8bf3k21hkc7agik6idy5mjr2yljrx-python2.7-setuptools-41.0.1/bin'${PATH:+':'}$PATH
export PYTHONNOUSERSITE='true'
exec -a "$0" "/nix/store/cc85cq9lvy89kcb0806gv3yhq0iawb45-scons-3.0.5/bin/.scons-wrapped"  "${extraFlagsArray[@]}" "$@"

Which ensures that the following binaries are available in $PATH:
/nix/store/29xfvq39h5z7af90id0zaa4a09vgpsm7-python-2.7.16/bin:
2to3  idle  pdb  pdb2.7  pydoc	python	python2  python2.7  python2.7-config  python2-config  python-config  smtpd.py  smtpd.pyc  smtpd.pyo

/nix/store/2jh8bf3k21hkc7agik6idy5mjr2yljrx-python2.7-setuptools-41.0.1/bin:
easy_install  easy_install-2.7

/nix/store/cc85cq9lvy89kcb0806gv3yhq0iawb45-scons-3.0.5/bin:
scons  scons-3.0.5  scons-3.0.5.bat  scons.bat	scons-configure-cache  scons-configure-cache-3.0.5  sconsign  sconsign-3.0.5  scons-time  scons-time-3.0.5

TODO: Before we merge this PR we have to verify if any of these binaries are required in $PATH. If that's the case we could theoretically also suffix $PATH or e.g. only include the SCons path.
Theoretically adding additional modules should work via $PYTHONPATH (nix-shell should set that environment variable for you) as long as they're for Python 2.7.
@knedlsepp did you already try if that works (e.g. by running the build within nix-shell -I nixpkgs=. -p pythonPackages.XYZ)?
That solution would however force one to use Python 2.7 (speaking of that, we should also switch SCons to Python 3 at some point, but at least 3.7 isn't officially supported yet).
cc @FRidh (and @risicle who introduced dontWrapPythonPrograms): Do you have any insights/opinions on this? I'm unfortunately not that familiar with our Python infrastructure :o

Theoretically adding additional modules should work via $PYTHONPATH

I was however unlucky in that The sconstruct I was trying to work with did ignore all environment variables except PATH


Fix tremolo typo

I fixed a typo that was preventing the tremolo effect from working. Thanks!

Thanks for the fix!


New Scam Link found on one of my servers

https://bit.ly/30ZM1Uc
Thanks a lot for collecting all these links! ♥

thankyou so much for contributing! I'll add it!


pods don't start, stuck in ImagePullBackOff and ErrImagePull

when working in minishift, following the tutorial, all steps completed successfully, but oc get pods -w show that pods are not starting
NAME                       READY     STATUS         RESTARTS   AGE
customer-727474719-z4kcx   1/2       ErrImagePull   0          1h
NAME                       READY     STATUS             RESTARTS   AGE
customer-727474719-z4kcx   1/2       ImagePullBackOff   0          1h

oc describe pod ... shows:
"Failed to pull image "example/customer:latest": rpc error: code = 2 desc = Error: image example/customer:latest not found"
not sure where it should be looking for the image, I'm running this from the istio-tutorial/customer folder

It seems that you not build the prerence image using minishift docker daemon: eval $(minishift docker-env). Please re-open if you still facing the issue.

@rafabene I followed the instructions again.
Now this is where it is stuck:
[abonas@abonasredhat customer (master)]$ oc create -f src/main/kubernetes/Service.yml -n tutorial
Error from server (AlreadyExists): error when creating "src/main/kubernetes/Service.yml": services "customer" already exists
[abonas@abonasredhat customer (master)]$ oc expose service customer
error: services "customer" not found

Try oc expose service customer -n tutorial, you might be using a different namespace/project. Check it with oc get project

oc get project
NAME              DISPLAY NAME   STATUS
default                          Active
istio-system                     Active
kube-public                      Active
kube-system                      Active
myproject         My Project     Active
openshift                        Active
openshift-infra                  Active
openshift-node                   Active
tutorial                         Active
oc expose service customer -n tutorial
Error from server (AlreadyExists): routes "customer" already exists
oc get route
NAME            HOST/PORT                                          PATH      SERVICES        PORT         TERMINATION   WILDCARD
grafana         grafana-istio-system.<IP_ADDRESS>.nip.io                   grafana         http                       None
istio-ingress   istio-ingress-istio-system.<IP_ADDRESS>.nip.io             istio-ingress   http                       None
jaeger-query    jaeger-query-istio-system.<IP_ADDRESS>.nip.io              jaeger-query    query-http   edge/Allow    None
prometheus      prometheus-istio-system.<IP_ADDRESS>.nip.io                prometheus      prometheus                 None
servicegraph    servicegraph-istio-system.<IP_ADDRESS>.nip.io              servicegraph    http                       None

Sorry. instead of oc get project, the command that shows your current namespace/project is oc project. To change to the right project/namespace, use oc project tutorial. CAn you try and give me an update? Thanks.

switching projects somehow logs out of minishift.
I found this issue reported.
and I still get a problem to proceed because when I relogin the error remains.


live-announcer incorrectly copies visually hidden styles

Closes https://github.com/adobe/react-spectrum/issues/3791
Object.assign node.style does not accept 1 as a value for width and height; it requires '1px'
✅ Pull Request Checklist:

[x] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:
This code sandbox shows what bug this PR fixes: https://codesandbox.io/s/eager-jackson-gy3btv?file=/package.json

Great find, thanks for pointing it out and contributing. If you'll follow the instructions here https://react-spectrum.adobe.com/contribute.html#contributor-license-agreement, then close and reopen this PR, we should be able to get it reviewed in short order.

Linking another bug that this might address. Shouldn't hold up the review, it'll likely be easier to test it after using the codesandbox on it. I just don't want to forget to check. https://github.com/adobe/react-spectrum/discussions/3603

My companies legal process in signing that CLA might take a while. If anyone wants to fix this bug themselves, it might be faster to do so

thanks for the update, i'll push it in a minute

closing in favor of https://github.com/adobe/react-spectrum/pull/3807


User Export

I would like to propose to work on User Export function like 5.6 did.
Export CSV
I would propose to have the 'Export CSV' button next to 'Add User' in Member Search function.
I would just use almost the same code and implement to User search controller.
In 5.6, it was made as a tool.
But like Form Block CSV export method is in dashboard single page controller, I would propose to add csv() function to the single page's controller of User Search unless anyone has more suggestions.
I have 4 ToDos before working for this function. I'll try to get this to work by Feb.

Yes, it'd be great to have this back working the way it was before (on the current result set) using controllers/views instead of tools.

Cool.
I will be working on it when I have spare time.

+1

@katzueno Have you had any progress on this? We might be able to provide some help in the beginning of next year.

@ahukkanen Thx, I got caught up with my work and project.
First, I want to implement League/CSV into concrete5.
http://csv.thephpleague.com/
I think everybody uses CSV function, so why not include CSV League.
I have the related issue here #3723
Then, I would like to work on the user export function.

I'd already developed user export dashboard page as package. I'll create a pull request to merge this package if everyone want.
https://github.com/hissy/addon_csv_user_import_export
You can export users with this package, and I have a plan to implement import feature either.
In addition, I use ddeboer/data-import instead of league/csv.
However, I think we shouldn't add this feature to core, because it has a security risk. My package stores csv file in public directory. We can deny anonymous users by htaccess, but how about on nginx or iis?

@hissy Nice add-on!
I think the core integrated version should be thought from more general aspects, so that the same export/import flow could be easily applied to any data lists. And as mentioned, would be great if the export formats would be overridable through the service container / dependency injection.

This is being replaced by https://github.com/concrete5/concrete5/issues/5081


Update BagIt Version to 1.0

Up to this point, HydroShare has been using Version 0.9.6 of the BagIt specification for encoding bags for download. There is a Version 1.0 of BagIt that was released in 2018. We should consider updating.
https://tools.ietf.org/html/rfc8493
After reviewing the newer specification, it appears that the differences are minor. The only real difference I could find was in which checksum algorithm should be used. Here is the relevant text from Section 2.4 of the document:

Starting with BagIt 1.0, bag creation and validation tools MUST support the SHA-256 and SHA-512 algorithms [RFC6234] and SHOULD enable SHA-512 by default when creating new bags.  For backwards compatibility, implementers SHOULD support MD5 [RFC1321] and SHA-1 [RFC3174].  Implementers are encouraged to simplify the process of adding additional manifests using new algorithms to streamline the process of in-place upgrades.

I suggest leaving all currently generated bags as they are, although we may want to consider whether we want to regenerate all bags using BagIt 1.0 the next time they are downloaded. When a new bag is created, it should use BagIt 1.0 and should use the SHA-512 checksum algorithm.
So, it looks like the following would be needed to update the new bag generation process:

Update the checksum algorithm to use SHA-512 and ensure that the manifest file is named "manifest-sha-512.txt"
Update the "bagit.txt" file to include the correct version number
Update the name of the main manifest file (manifest-sha-512.txt) in the tag manifest file (tagmanifest-sha-512.txt). The new tag manifest should be called "tagmanifest-sha-512.txt" and should list the "manifest-sha-512.txt", "bagit.txt", and "readme.txt" files.
Update the URL to the BagIt specification in the "readme.txt" file to https://tools.ietf.org/html/rfc8493
Update the names of "tagmanifest-md5.txt" and "manifest-md5.txt" near the bottom of the "readme.txt" file
A developer should scan the BagIt spec and make sure we are not violating any of the file naming rules.

Otherwise everything else stays the same.

@hyi - You probably want to look at and comment on this as the change in checksum algorithm may have some implication on how we are doing things related to iRODs.

@horsburgh Yeah, the bagit files are currently created using an iRODS rule written using iRODS rule language. We will have to update this iRODS rule to update bagit files to conform to version 1.0. Is SHA-512 a requirement for bagit v1.0? It looks like iRODS only supports the base64 encoded sha256 checksum as well as md5, so if SHA-512 is a requirement for bagit v1.0, i.e., SHA256 checksum does not meet the requirement, this may be a showstopper at this point. I can double check with iRODS folks, but I took a quick look at iRODS documentation, and it does not look like iRODS support SHA512 checksums.

@hyi - I found the language from the spec a little confusing. It says:

Starting with BagIt 1.0, bag creation and validation tools MUST support the SHA-256 and SHA-512 algorithms and SHOULD enable SHA-512 by default when creating new bags."

It's not clear why an implementation MUST support both SHA-256 and SHA-512 if you can just choose one and use it consistently. If you interpret this strictly, we wouldn't be able to comply because we could not use the SHA-512 algorithm, even though iRODs is capable of using the SHA-256 algorithm.
If iRODs can't do SHA-512, we can get by the SHOULD part by using SHA-256. As long as we are always dealing with Bags created by HydroShare using SHA-256 we would not have any problems. If we try to ingest a Bag written by another system that uses the SHA-512 algorithm, we would be in trouble (which is probably why the spec wants tools to support both).


End to end demo script for enterprise contract

This runs the build and the sample release pipelines. The main goal of the demo is to showcase how the test stream results from the build pipeline are picked up by the Enterprise Contract verify task run in a release pipeline.
Ref. https://issues.redhat.com/browse/HACBS-357
Also includes:
Pipeline parameter for verify-enterprise-contract
We need to provide the PIPELINERUN_NAME parameter to the verify-enterprise-contract task. This allows it being specified via environment variable BUILD_PIPELINE_RUN, and in case it is not specified the script auto-guesses a PipelineRun that has a TaskRun with a result named HACBS_TEST_OUTPUT.

I wanna try it.

Looks amazing.

Notes and comments in no particular order:

Clocky sometimes doesn't clean up its whitespace and I see a big indent. Maybe depends on when it is killed.  e.g.

$ ./end-to-end-demo.sh
                                                            📜 The outline of the demo
  1. We'll start a build pipeline using ...

Maybe sleep 1 is okay for clocky, for the times when you want to set -x and debug.
skopeo delete requires admin permission in quay.io (afaict). So we should mention that in the comments. Or.. perhaps that's a big enough annoyance to reconsider that check. Our target audience would probably be comfortable figuring that out for themselves. Maybe just echo "This demo assumes that $repo exists, is configured to be publicly accessible, and your current docker credentials have read/write permission there!" is good enough. You could even pause while they read and ack that message.
The "argocd is synced" check is maybe a bit strict. I needed to comment it out since I had some unsynced stuff due to github org credentials or whatever. I would suggest making that a warning not a failure. Could also be a pause to acknowledge understanding, e.g. "Looks like your cluster isn't fully synced. Continue anyway?"

The "argocd is synced" check is maybe a bit strict. I needed to comment it out since I had some unsynced stuff due to github org credentials or whatever. I would suggest making that a warning not a failure. Could also be a pause to acknowledge understanding, e.g. "Looks like your cluster isn't fully synced. Continue anyway?"

Did you notice it checks that the build component in Argo is synced, not the whole cluster. I wanted that because we need the chains bit to work and it's a subtle and easy to gloss over failure if it's not deployed.

http://pastebin.test.redhat.com/1047960 FYI , works for me.

The "argocd is synced" check is maybe a bit strict. I needed to comment it out since I had some unsynced stuff due to github org credentials or whatever. I would suggest making that a warning not a failure. Could also be a pause to acknowledge understanding, e.g. "Looks like your cluster isn't fully synced. Continue anyway?"

Did you notice it checks that the build component in Argo is synced, not the whole cluster. I wanted that because we need the chains bit to work and it's a subtle and easy to gloss over failure if it's not deployed.

I didn't actually. Maybe I was just too impatient. In that case, disregard my comment.

Looks good. Small nitpicks. I'll try running it again.

Still working for me.


protein conformation

Hi! Thanks for the nice paper. In the paper you mentioned protein conformation is a difficult task with this model. Can you explain why linearity of proteins can be an issue? What could be some improvements?

Hi, thanks for your interest! I think the most important issue should be the scale of proteins, which is much larger than molecules, which requires significant effort for designing the large model. Recently I actually noticed some papers in this direction, e.g., https://arxiv.org/abs/2205.15019, which you may be interested in : )


Bug: long product names in the order summary overlap with the price.

Ran into this during production today. See overlapping text in the following image:

I think wrapping the product name to multiple lines would be fine.

Fixed. Will be included in the next release.


Setup continuous deployment

We want the react app to be automatically deployed to github pages when the main branch is updated. This means setting up a new Github Workflow. @dmitrizagidulin does this seem like a reasonable approach?

This was set up in #51 and #53 . Seems to be working properly.


Add support for DNS name resolution

This PR adds support for DNS name resolution for SCION Addresses in TXT records, which take the form "scion=ISD-AS,IP", see e.g., the output of dig TXT netsec.ethz.ch..

This change is

Hey Thorben, thanks a lot for your contribution. There is the open PR #230 that seems to implement roughly the same functionality and, as far as I remember, is mostly complete (pending only some more test coverage, self-requested by @FR4NK-W). Is there something that your PR adds that was missing from the other one?

Hey Matthias, I hadn't been aware of the other open PR. I prefer @FR4NK-W's approach, since his implementation makes do with the standard library, whereas my quick solution uses a third party lib.
My PR additionally adds support for a scion-specific resolv.conf, but I now realize that this feature might do more harm than good because it essentially undermines the system-wide resolver config.
Thanks for not being too discouraging about this, but I myself think PR #230 is the way to go. Sorry for the noise :see_no_evil:


Update howto-conditional-access-session-lifetime.md

added addition explanation in Note section to address customer f/b

@annabarh : Thanks for your contribution! The author, @MicrosoftGuyJFlo, has been notified to review your proposed change.

#sign-off


Can't call exclude_archived

Can't call api_call('conversations.list', exclude_archived=1)
Reproducible in:
The Slack SDK version
slackclient==2.9.3
Python runtime version
Python 3.7.9
OS info
FreeBSD 12.2-RELEASE-p2 amd64
Steps to reproduce:
def get_bot_channels(self):
        channels = self.sc.api_call('conversations.list', exclude_archived=1)
        channels_list = channels['channels']

        memberships = []

        for channel in channels_list:
            if self.SLACK_BOT_ID in channel['members']:
                memberships.append(channel['id'])

        return memberships

Expected result:
Exclude archived conversations.
Actual result:
TypeError: api_call() got an unexpected keyword argument 'exclude_archived'

Hi @alvawa27 👋🏻 thanks for providing the details and code sample (it always helps out a lot)!
When using the api_call method, you can pass the extra params with the json key:
response = client.api_call(
    api_method='conversations.list',
    json={ 'exclude_archived': 1 }
)

Here are more detailed docs:

Calling any API method using the slack_sdk
Calling any API method using the (legacy) slackclient

Would you mind giving that suggestion a try and letting me know how it goes? Thanks!

Hi @alvawa27 👋🏻 thanks for providing the details and code sample (it always helps out a lot)!
When using the api_call method, you can pass the extra params with the json key:
response = client.api_call(
    api_method='conversations.list',
    json={ 'exclude_archived': 1 }
)

Here are more detailed docs:

Calling any API method using the slack_sdk
Calling any API method using the (legacy) slackclient

Would you mind giving that suggestion a try and letting me know how it goes? Thanks!

That worked perfectly. Thank you.

That worked perfectly. Thank you.


Feature/extra nav drop down #135

Description
Added an extra nav dropdown at the end to allow children to be selected.
Testing instructions
Add a set up instructions describing how the reviewer should test the code

Review code
Check Travis build
Review changes to test coverage

Agile board tracking
connect to #135

Codecov Report

Merging #148 into version1 will increase coverage by 1.21%.
The diff coverage is 83.33%.

@@             Coverage Diff              @@
##           version1     #148      +/-   ##
============================================
+ Coverage      91.1%   92.32%   +1.21%
============================================
  Files            47       47
  Lines           866      873       +7
  Branches        130      131       +1
============================================
+ Hits            789      806      +17
+ Misses           69       61       -8
+ Partials          8        6       -2

Impacted Files
Coverage Δ

...colmWidgets/textInput/WidgetTextInput.component.js
72.72% <ø> (ø)
:arrow_up:

...s/attributeSelector/attributeSelector.component.js
81.48% <ø> (ø)
:arrow_up:

src/viewState/viewState.reducer.js
80% <ø> (-3.34%)
:arrow_down:

src/navbar/navbar.component.js
76.92% <0%> (-6.42%)
:arrow_down:

src/viewState/viewState.actions.js
100% <100%> (ø)
:arrow_up:

src/malcolm/reducer/navigation.reducer.js
100% <100%> (ø)
:arrow_up:

src/drawerContainer/drawerContainer.component.js
85.71% <100%> (+1.09%)
:arrow_up:

src/blockDetails/blockDetails.component.js
80% <100%> (+0.45%)
:arrow_up:

src/navbar/navcontrol.component.js
73.33% <100%> (ø)
:arrow_up:

src/malcolm/middleware/malcolmRouting.js
100% <100%> (ø)
:arrow_up:

... and 3 more

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 32997d7...f52ee6d. Read the comment docs.

Reviewed the code myself


HipChat does not automatically launch chat app

Upon starting, HipChat stays on the home page that says Welcome, $USER with a button labelled Launch the web app, instead of launching the web app directly.
Expected Behavior
The web app should be launched automatically as in the previous major version.
Current Behavior
It stays on the home page.
Screenshot

It stays here.
Your Environment

Franz Version used: beta 10
Operating System and version: MacOS 10.13

Same here. Very peculiar behavior, but apparently somehow this needs to be triggered properly and it's not presently doing so.


Fix failing tests with de locale

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test and merge

I've triggered a build for you.


Is there a way to specify pipeline name with default pipeline detection

I would like to know if it is possible to customize the pipeline name when a pipeline is added with the default detection mechanism (I'm defining my pipelines by creating classes inheriting from Pipeline).
With this method the pipelines are named after the classes, but I would like to have a more meaningful name, like it's possible by using BuildPipeline on the bootstrapper. I would also like to be able to reference my pipelines without having to reference the class directly (in FromPipeline by example).

Found the solution, didn't know there was an INamedPipiline interface!

Yeah, one of the (many) things that needs better documentation.


postfix: Replaced config key by recommendation and introduced usage of system trust store

Motivation for this change

Follow postfix documentation documentation how to enable tls
Adding system trust store to so outgoing connections can be verified

Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"

[root@nixos:~/src/nix/nixpkgs]# nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
these paths will be fetched (6.04 MiB download, 44.56 MiB unpacked):
  /nix/store/pbw1gdajhgw48wi8x7kr3c8mgvcl7asc-git-2.25.4
  /nix/store/pvzh7c4y6fqxs1p4swhb02l0qpsh4ayn-nixpkgs-review-2.3.1
copying path '/nix/store/pbw1gdajhgw48wi8x7kr3c8mgvcl7asc-git-2.25.4' from 'https://cache.nixos.org'...
copying path '/nix/store/pvzh7c4y6fqxs1p4swhb02l0qpsh4ayn-nixpkgs-review-2.3.1' from 'https://cache.nixos.org'...
$ git -c fetch.prune=false fetch --force https://github.com/NixOS/nixpkgs master:refs/nixpkgs-review/0
remote: Enumerating objects: 78, done.
remote: Counting objects: 100% (70/70), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 46 (delta 36), reused 34 (delta 24), pack-reused 0
Unpacking objects: 100% (46/46), 10.47 KiB | 25.00 KiB/s, done.
From https://github.com/NixOS/nixpkgs
 * [new branch]              master     -> refs/nixpkgs-review/0
$ git worktree add /root/.cache/nixpkgs-review/rev-6dfa1c839a1caff48343a33c5366b38d1abacf75-dirty/nixpkgs 580a0e52b1323b4693e9edbed1490830163c3d32
Preparing worktree (detached HEAD 580a0e52b13)
Updating files: 100% (21835/21835), done.
HEAD is now at 580a0e52b13 Merge pull request #89934 from zowoq/gogetdoc
$ nix-env -f /root/.cache/nixpkgs-review/rev-6dfa1c839a1caff48343a33c5366b38d1abacf75-dirty/nixpkgs -qaP --xml --out-path --show-trace
No diff detected, stopping review...
$ git worktree prune

[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

/cc @nlewo

If I understand correctly, the client certificate was no longer requested by our smtpd postfix configuration and this is why you remove the smtpd_tls_CAfile option. Is it correct?

The configuration is for validating client certificates which is not enabled (smtpd_tls_ask_ccert) by default or NixOs.

By default (see smtpd_tls_ask_ccert), client certificates are not requested, and smtpd_tls_CAfile should remain empty.

http://www.postfix.org/postconf.5.html#smtpd_tls_CAfile

/cc @dotlambda

@GrahamcOfBorg test dovecot

@nlewo fyi: I squashed your commit.

@asbachb Could you rebase it? I'll then merge it.

I will deploy this on my server after the rebase.

Rebased to latest master.

@nlewo @Mic92 Rebased on latest master.

@asbachb you still need to push it ;)
Could you prepare a PR for nixos-mailserver as well?

@nlewo I don't think there's a need for changes in nixos-mailserver.
@Mic92 Can you provide some feedback.
Anything preventing this from beeing merged?

I've been running this patchset on my mail server the last 24h without any troubles.
Thanks @asbachb

@asbachb I know this was merged months ago, but could you maybe also adjust the test in nixos/tests/postfix.nix in a followup PR?

@ajs124 I'll give it a shot but I need to look into how that testing is working first.

@ajs124 there is already a PR open to fix that: https://github.com/NixOS/nixpkgs/pull/94484


Underlay addresses in hive broadcast & handshake

When the connect is completed, the handshake is performed and BzzAddress is exchanged between nodes. It consist of a {Signature, Overlay, Underlay}. This address is used for broadcasting in hive as well, so this is the address that will be used when nodes try to connect to to each other. This problem was not present before using signature in hive messages, as the address that was broadcasted was gathered by observed address on incoming connection. This can not be used now, as the observing node does not have all information necessary to create a valid signature, so it needs to use address it got from this node in handshake. Currently, one listening address is taken and communicated as underlay address. There are several problems here:

How to choose the proper listening address to broadcast as underlay?
Some addresses contain local host (<IP_ADDRESS>) which can be inaccessible for outer nodes
How to support/communicate (and should we) multiple underlay addresses?

Had a discussion with @janos and we decided to use PeerID for signature in handshake, and create BzzAddress` with observable address for hive:
bzzAddress{observedUnderlay, peerIDSig, overlay}  - hive
{overlay, peerIDSig} - for handshake, which can verify signature from the peerID extracted from connection

Main issue is addressed by https://github.com/ethersphere/bee/pull/257.
TODO: there is still a problem with bad observable underlay that needs to be tested/fixed.


Include generated assets with the version release

This should keep the release page more manageable.

This has been done.


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>
.travis.yml

chore(travis): remove node versions 10.4.1
chore(travis): add node versions 10.5.0

:tada: This PR is included in version 4.0.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Allow specifying protocol in package recipes

Fixes #92
This PR allows specifying git protocol as part of a package recipe.
I included the note about only using it for recipe overrides, because I couldn't think of another use case, correct me if I'm wrong (the only reason why I took this on is because I have all packages cloned over SSH, except for org-drill, which is on GitLab where I don't have an account, so I had to clone it over HTTPS).
Also, does it make sense to specify a different protocol for a fork? I haven't included this functionality because I don't use forks, but I don't think it would be hard to add it.

I included the note about only using it for recipe overrides, because I couldn't think of another use case, correct me if I'm wrong

Well, it would be easy to tweak your personal use case: what if org-drill was a package that was not prominent enough to be listed on MELPA? Then you'd be writing a custom recipe from scratch that would use :protocol.

Also, does it make sense to specify a different protocol for a fork?

I think it does. I think you'd be able to support this just by using different variable names in your existing code, without needing to add anything new (use upstream-protocol and fork-protocol instead of protocol directly, and the macro will take care of the rest).
Thank you, this is a great improvement!

Well, it would be easy to tweak your personal use case: what if org-drill was a package that was not prominent enough to be listed on MELPA? Then you'd be writing a custom recipe from scratch that would use :protocol.

My thinking was that in this case, I just wouldn't specify the protocol and allow other potential users (for example if I was running a custom repository) to keep using whatever they specify as their straight-vs-git-default-protocol.
I will look into the fork feature and try integrating it. I looked through some of the code and it seems easy enough.

Ok, so I guess it makes sense to specify the protocol even in non-override style recipes, for example if the remote only supports that specific protocol, so I reworded the documentation.


Failed to compile

After :
npm i  ( in both UI and Root )
npm run build ( in UI )
./components/EmptyChat.tsx:15:22
Type error: Type '{ size: number; className: string; }' is not assignable to type 'IntrinsicAttributes & { className?: string | undefined; }'.
Property 'size' does not exist on type 'IntrinsicAttributes & { className?: string | undefined; }'.
13 |   return (
14 |

15 |
|                      ^
16 |
17 |
18 |

I removed "size={17}" from Themeswitcher in EmptyChat.tsx and NavBar.tsx and it built successfully.

fix with #168


Deployment fails due to monit not being restarted

Deployment of a new cluster leads to the following error message:
monit: Cannot connect to the monit daemon. Did you start it with http support?
and the deployment is considered failed.
It looks like the script elasticsearch-ubuntu-install.sh configures monit to monitor the elasticsearch process and only starts, but does not restart, the monit service.  This means that monit does not know about the new configuration and the subsequent call of "sudo monit start all" causes the error message.
Restarting the monit service and then calling "sudo monit start all" does not produce the error message.

Thanks for reporting this @ajhewett have not seen this in any of the deploys we did prior to getting the update out.
Are you able to share your arm deployments template variables? privately would be an option too ml-at-elastic.com
(minus the last m (scrapers begone!)).

The title and description is misleading.  I will open a new issue.


RFR: Purge models

TODO:

[X] Tests for purge executions

[X] Purge trigger instances

[X] Docs

[X] Changelog

EXAMPLES:
https://gist.github.com/lakshmi-kannan/c7181d4bf6f5ab910bc3
https://gist.github.com/lakshmi-kannan/af62e7872fbc61be4b1f

+1

I suspect there is 1 real bug and some optimizations which we can work on later.

@manasdk I got some optimizations and fixed the bug related to in progress executions. Have a look now. I am still looking through delete_by_query.

I am ok with this PR. I doubt we will revisit this script anytime soon so whatever you do is likely going to be picked up now. If the delete_by_query is proving to be too much trouble feel free to ignore for now since the functionality is coded up and that is more important.
Is it fair to assume the run time for 10K execution is not atrocious i.e. less than 5min?

+1

Is it fair to assume the run time for 10K execution is not atrocious i.e. less than 5min

I have no idea. Like I said, some profiling is due.


Multi backend

Removed the optional libraries for solver mappings. Now, the solver mappings are compiled when the solver is installed. If the solver is not installed, it uses a stub module that fails during runtime.
cc @zapashcanon, I created a function called Solver_dispatcher.mappings_of_solver for our purpose. Please let me know if there's anything you'd like to change or improve. :smiley:

This looks great, that's exactly what I wanted, thanks!
I have one suggestion to reduce the maintenance burden. You could have a single nop.ml and use dune rules to generate all the $solver.nop.ml by copying nop.ml and replacing the name of the solver in the let make_cont () function ?

This looks great, that's exactly what I wanted, thanks!
I have one suggestion to reduce the maintenance burden. You could have a single nop.ml and use dune rules to generate all the $solver.nop.ml by copying nop.ml and replacing the name of the solver in the let make_cont () function ?

Thanks! I pushed an attempt using sed. Do you know if there is a more idiomatic way of doing this with dune?

Instead of using > you can probably use with-stdout-to from dune. But I don't know about how to avoid sed. One way could be to do something like:
echo 'let solver_name = "colibri2"\n' > colibri2.ml; cat nop.ml > colibri2.ml
And use solver_name in let make_cont.

Instead of using > you can probably use with-stdout-to from dune. But I don't know about how to avoid sed. One way could be to do something like:
echo 'let solver_name = "colibri2"\n' > colibri2.ml; cat nop.ml > colibri2.ml
And use solver_name in let make_cont.

I tried this and it worked. However, I discovered this approach:
(rule
 (targets
  colibri2_mappings.nop.ml
  bitwuzla_mappings.nop.ml
  cvc5_mappings.nop.ml)
 (action
  (progn
   (with-stdout-to
    colibri2_mappings.nop.ml
    (echo
     "include (val (failwith \"Colibbri2 not installed!\") : Mappings_intf.S)"))
   (with-stdout-to
    bitwuzla_mappings.nop.ml
    (echo
     "include (val (failwith \"Bitwuzla not installed!\") : Mappings_intf.S)"))
   (with-stdout-to
    cvc5_mappings.nop.ml
    (echo
     "include (val (failwith \"cvc5 not installed!\") : Mappings_intf.S)")))))

Due to the _intf trick you told be about a while ago.

Instead of using > you can probably use with-stdout-to from dune. But I don't know about how to avoid sed. One way could be to do something like:
echo 'let solver_name = "colibri2"\n' > colibri2.ml; cat nop.ml > colibri2.ml
And use solver_name in let make_cont.

This ended being the best solution so far :smiley:

I would say we could merge this! Do you think you could do a new release?

Will do :smile:


Effect not viewable on game board

Cyborg Chronicles: Hold over the "FX" button to see a card's effect when it is on your hand - works fine.
Play the card so that it enters the battlefield. Now it is no longer possible to see the card effect.
However, if you play Upgrado Mk I and then it creates an Upgrado Mk II - then it is possible to see the card effect on the battlefield.

At first I thought it was a "prod-only issue" like #165 , but this bug happens both locally and in production.


Change type conversion to check early for correct type

Type conversion is not required if the value is already of the correct type.  Checking early means we do not need to call the converter, and individual converters do not need to check for the target type.

This looks like a nice addition.

Included in v0.4.7.


Properly limit the tags on the FilterInput

Bug/issue #, if applicable: 90383936
Summary
This fixes the logic to truncate the suggestedTags inside the FilterInput.
Dependencies
NA
Testing
Steps:

Make sure the FilterInput should never show more than 5 items, when ShouldTruncateTags is true.

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[ ] Ran npm test, and it succeeded
[ ] Updated documentation if necessary

@swift-ci test


loop="True" causes the pre-roll to play over and over.

Using the Video.js option loop causes the pre-roll to play over and over.
Replicate:
In demo.html that's included with the source, change the line
<video id="vid2" class="video-js vjs-default-skin" autoplay controls preload="auto"
to
<video id="vid2" class="video-js vjs-default-skin" autoplay controls loop="True" preload="auto"

Hey @flickstream
In the future, try not to create multiple issues about the same thing --> #65
With that said... I've run into the same issue as well when the source is switched, and that is due to the fact that this plugin works alongside videojs.ads.js which has an event watcher for loadstart and triggers the event contentupdate on the player. When contentupdate is seen from videojs.vast.js it starts the whole VAST ad process.
To get around this issue for now, please see my comment in (issue #27)[https://github.com/theonion/videojs-vast-plugin/issues/27#issuecomment-120136847] where I explain how to get around that odd feature. I will work on a commit which should help fix this odd bug in the future.

This functionality is exactly what I want. I want a pre-roll to play with the video as it loops.. How can I make this happen since it no longer works this way?


MultipartFormDataParser returns incorrect decoded data

What steps will reproduce the problem?

What do you get instead?
$data corresponds to whatever client has passed in the HTTP POST request body.
Code to blame:
    public function parse($rawBody, $contentType)
    {
        if (!empty($_POST) || !empty($_FILES)) {
            // normal POST request is parsed by PHP automatically
            return $_POST;
        }

Resolved by commit 578b2caf424417215309a827a127dac1394e53ac

This is just a bad design IMO. While I understand the need for performance boost, any sane person looking at the interface of RequestParserInterface would expect parse function to actually parse $rawBody and not something else entirely. You basically break your own interface in the MultipartFormDataParser class.
interface RequestParserInterface
{
    public function parse($rawBody, $contentType);
}

I think it would have been a much better solution to do a check if PHP has already parsed data into $_POST outside the MultipartFormDataParser::parse() function - in a place were this function is called (I think currently its a single place - Request::getBodyParams()). So if a PHP already parsed the data return $_POST otherwise call MultipartFormDataParser::parse().
I urge you to rollback your "fix", reopen this issue and consider this alternative solution. At the very least do it properly in 2.1.

Also, I must add, the fact that MultipartFormDataParser::parse() modifies PHP's superglobals like $_POST and $_FILES is also a bad design IMO. A question arises, why other parsers do not (like JsonParser) but this one does? Either ALL parsers should modify those superglobals or NONE of them should. The latter one would be the best (you can't make PHP treat the files you forcefully put into $_FILES as a true uploaded files anyway, so just return them separately).
This is another design problem that should be fixed in 2.1.

MultipartFormDataParser does not follow RequestParserInterface purely anyway, since it modifies superglobal $_FILES in process. To make the real proper fix, interface should be changed in order to accept the Request object instead of strings, and request should be changed to store uploaded files internally.
These are tracked by separated issues.

@klimov-paul
Those are the thoughts in the right direction, however I am unable to find any issues mentioning a redesign of MultipartFormDataParser or RequestParserInterface (either open or closed). It would be nice if you find them and link this issue into them.

#11328
#10824
#14339
While being resolved these issues will cause parser and formatter changed as well.


Update workflows to use shared ones from action-workflow

Implemented in https://github.com/cloud-native-toolkit/terraform-ibm-activity-tracker/pull/27


Dart Analyzer Error

#Analyzer Feedback from IntelliJ
Version information

IDEA AI-183.6<IP_ADDRESS>92245
2.5.0-edge.f29f41f1a54dfe50e4bff42533b72e6958e2d32e
AI-183.6<IP_ADDRESS>92245, JRE 1.8.0_152-release-1343-b01x64 JetBrains s.r.o, OS Windows 10(amd64) v10.0 , screens 1366x768

Exception
Dart analysis server, SDK version 2.5.0-edge.f29f41f1a54dfe50e4bff42533b72e6958e2d32e, server version 1.27.2, FATAL error:

For additional log information, please append the contents of
file://C:\Users\Android\AppData\Local\Temp\report1.txt.

@freshcodestechnology the crash report that you have appended to the issue appears to be truncated, we do not see the error message in full, could you provide a more detailed report which includes the error and the accompanying stack trace.


Fixed master category pacing (month progress bar) missing, also made colors customizable

Explanation of Bugfix/Feature/Modification:
Since quite some time the monthly progress indicator for pacing was missing in the master categories. It still worked for the normal budgeting categories.
I made a fix so that it works again. I also made some slight CSS adjustments so that the position progress indicator exactly matches the ones of the budget categories. It was slightly misaligned, especially on larger resolutions.
This PR also inclodes a small changes to the building-features.md where the folder was wrong. I noticed it while trying to develop a new feature.
The last - and big - change in this PR is switching the pacing bars to customizable colors.
Up until now, the pacing bars where generated in JS and set directly to the element with predefined colors. Making it impossible to modify them via styles or other CSS changes.
I have introduced CSS variables for this case, so that they can be overriden. I also changed the spacing fields to transparent, instead of white. Maybe YNAB will change colors in the future, which would look strange then.

I hope this PR is okay. It's my first one, so please introduce me to everything important to this project on Github (:
I also wanted to ask if there is still a Development slack up. It's mentioned in the project description. If so, I would very much like to get an invite. I would enjoy coding a bit in my free-time for the toolkit.

It wasn't removed, it was just a bug, because the selector in the JS was done on this instead of the element of the loop :P
But if the line on the master categories should be removed it's fine. I can change that if you have sorted it out with @dbaldon. I guess the code could be removed then.
Otherwise the misalignment should be fixed the best I can. It wasn't that easy, because the contents are stretched cause of a bigger font size and stuff, but I tried my solution on several screen sizes and it was alway perfectly aligned.
And customizable colors with CSS vars is a preparation for the project I am currently working on, the Dark Style.
Thank you, would be cool to be able to talk a bit about features!


[BUG] Document problems about azure-spring-boot-starter-keyvault-certificates.

It can be found as a child node of Spring Boot in the Spring on Azure page. However it is not listed in the actual Spring Boot Starters for Azure page like Secrets

Tutorial

Pretty good up until Spring app creation <-- I'd stick to the specific list of actions/fixes needed for brevity
Uses an older beta version (3.0.0-beta.7), instead of the latest (3. 1).
Can we use the starter without a Managed Identity? If not, how can users achieve this functionality (using certs for TLS/SSL)?
The main class code is missing an import statementimport org.springframework.boot.SpringApplication;

Since we have some shaded dependencies in the Key Vault JCA library used by the Certificates Starter, it's very easy for users to accidentally import classes from those libraries instead of from the ones obtained via Maven.
The curl samples for calling the /exit endpoint fail to include the --insecure flag, which is required for them to work in this tutorial.

GitHub README, also found here.

It's good that the README shows the different KeyStore sources that can be used (JRE, specific path, AzureKeyVault, classpath), since the MS Docs tutorial only uses AzureKeyVault.
Should we have a tutorial for using a client ID and secret like we do in this README?
The code sample for using client-side SSL is slightly different from what the tutorial uses, more specifically when it comes to the use of system properties.
Maybe it should be made a little more clear that the property certificates-refresh-interval uses milliseconds. We can add a suffix such as "-in-ms".
It's interesting that the samples in the tutorial and the ones in this README use different formats (both valid). For example:server.port=8443
server:
  port: 8443

We should strive to be consistent even in these minor cases.
Explanations about how to read certificates from other places like the a custom directory or the classpath are clear and concise. Good job!
It's also good that this document mentions how to configure Spring Cloud Gateway and how to deal with some different error scenarios that can appear.

Sample Project

I love that it includes scripts to make user's lives easier.
It's cool that it shows how to use either a service principal or a managed identitiy for auth. However, some users do not understand when/where Managed Identity can be used so I would recommend adding a reference to this information. Also, we should probably point them to documentation that shows how to deploy an app on the various resources that support Managed Identity.
The sections Examples, Troubleshooting, Next Steps, Run with Maven and Contributing are empty. I know we have some automation requiring they exist, but I wonder if we should instead be a bit more lenient. There are cases where it doesn't make sense to have some of these.

Add a new problem: The Troubleshooting and Next Steps sections are empty.

Can we use the starter without a Managed Identity? If not, how can users achieve this functionality (using certs for TLS/SSL)?

This Tutorial is work as a quick start for azure-spring-boot-starter-keyvault-certificates. We may need to add a Tutorial for dev guide for using a client ID and secret. I will create a new issue for this question.


Enable locales and icons in MeetingComposite

What
Enable locales and icons in MeetingComposite.
Why
Allows locale and icons in MeetingComposite to be customized.
https://skype.visualstudio.com/SPOOL/_workitems/edit/2650652
https://skype.visualstudio.com/SPOOL/_workitems/edit/2650653
https://skype.visualstudio.com/SPOOL/_workitems/edit/2650655
How Tested
Tested BaseCompositeProps are passed down to CallComposite using unit test. Also tested locale and icon customization in Lobby and SendBox manually.
        <MeetingComposite
          meetingAdapter={this.state.meetingAdapter}
          fluentTheme={this.props.fluentTheme}
          locale={{
            component: {
              strings: {
                ...locale.component.strings,
                sendBox: {
                  placeholderText: 'Hello World',
                  textTooLong: 'Hello World'
                }
              }
            },
            strings: {
              chat: locale.strings.chat,
              call: {
                ...locale.strings.call,
                lobbyScreenWaitingToBeAdmittedTitle: 'Hello',
                lobbyScreenWaitingToBeAdmittedMoreDetails: 'World',
                lobbyScreenConnectingToCallTitle: 'Hello',
                lobbyScreenConnectingToCallMoreDetails: 'World'
              }
            }
          }}
          icons={{
            SendBoxSend: sendIcon,
            LobbyScreenWaitingToBeAdmitted: logo,
            LobbyScreenConnectingToCall: logo
          }}
        />

Process & policy checklist

[X] I have updated the project documentation to reflect my changes if necessary.
[X] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

Merged so that we can get an alpha build out tonight.


colocated vs collocated vs co-located

This is a Bug Report

Problem:
The docs contain all three terms: colocated, collocated, co-located
Proposed Solution:
Agree on one term
Page to Update:
https://kubernetes.io/search/?q=colocated
https://kubernetes.io/search/?q=collocated
https://kubernetes.io/search/?q=co-located

All three are acceptable. So it's a bug, but not an important bug to fix.
/priority awaiting-more-evidence

@sftim if you tell me the preferred term (colocated, collocated or co-located), then I can create a corresponding PR.


I cant Build project after forking and cloning to VS2017

Hi.
Recently I forked from HAP , after that I cloned it to VS2017 , then when I Click on Build button , it failed . In addition I cant see the .sln file and instead i see .snk file
I want to make some changes in your library and do a pull request , I like to be contributer :)
so I need to open this project in Visual Studio.
What should I do ?
Thank you.

The out-put after build :
1>------ Build started: Project: HtmlAgilityPack, Configuration: Debug Any CPU ------
1>C:\Users\Parsa\Source\Repos\html-agility-pack\src\HtmlAgilityPack.Shared\HtmlDocument.cs(37,17,37,22): warning CS0618: 'Crc32' is obsolete: 'This type should not be used; it is intended for internal use in HTML Agility Pack.'
1>C:\Users\Parsa\Source\Repos\html-agility-pack\src\HtmlAgilityPack.Shared\HtmlDocument.cs(1199,30,1199,35): warning CS0618: 'Crc32' is obsolete: 'This type should not be used; it is intended for internal use in HTML Agility Pack.'
1>C:\Users\Parsa\Source\Repos\html-agility-pack\src\HtmlAgilityPack.Shared\HtmlDocument.cs(291,30,291,40): warning CS1591: Missing XML comment for publicly visible type or member 'HtmlDocument.GetXmlName(string, bool)'
1>  HtmlAgilityPack -> C:\Users\Parsa\Source\Repos\html-agility-pack\src\HtmlAgilityPack\bin\Debug\HtmlAgilityPack.dll
1>  The system cannot find the path specified.
1>  C:\Users\Parsa\Source\Repos\html-agility-pack\src\HtmlAgilityPack\bin\Debug\HtmlAgilityPack.dll
1>  The system cannot find the path specified.
1>  C:\Users\Parsa\Source\Repos\html-agility-pack\src\HtmlAgilityPack\bin\Debug\HtmlAgilityPack.pdb
1>  C:\Users\Parsa\Source\Repos\html-agility-pack\src\HtmlAgilityPack\bin\Debug\HtmlAgilityPack.xml
1>  The system cannot find the path specified.
1>  The system cannot find the path specified.
1>          0 file(s) copied.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(5019,5): error MSB3073: The command "del /f /q C:\Users\Parsa\Source\Repos\html-agility-pack\src\Solutions..\Nuget\lib\Net20*
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(5019,5): error MSB3073: copy "C:\Users\Parsa\Source\Repos\html-agility-pack\src\HtmlAgilityPack\bin\Debug\Html*.*" C:\Users\Parsa\Source\Repos\html-agility-pack\src\Solutions..\Nuget\lib\Net20" exited with code 1.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Hello @parsalotfy ,
Thank you,
You are right, I opened it from GitHub (real source are currently on visual studio online) and I get some error as well.
I will try to fix it today or during the weekend.
Best Regards,
Jonathan

Hello @parsalotfy ,
The solution has been fixed, you should be able to successfully built.
Let me know if something is missing.
Best Regards,
Jonathan

Help us to keep this library free: Donate

Thank you for fixing that 👍
I have a question , why the HtmlAgilityPack project does not have any .cs code and there is not any .sln file ?
and there is .snk file instead ...
for making changes in your library we should work with HtmlAgilityPack.Shared ?
we don't need HtmlAgilityPack  at all ?
Thank you.

Hello @parsalotfy ,
Yes, all modification should be only done on HtmlAgilityPack.Shared
There is no code in the HtmlAgilityPack since all file are shared across multiple output project. So instead to have every file included in every project, I choose to create a Shared project to make it easier for maintenance.
Best Regards,
Jonathan


Node-Exporter deployment

It should be possible to install Node-Exporter from ceph-bootstrap.
https://github.com/ceph/ceph/pull/33123

Closing in favor of https://github.com/ceph/ceph-salt/issues/110


Link to "Adding data to Map" is broken in readme

links to: https://github.com/giswqs/earthengine-py-notebooks/blob/master/GetStarted/02_adding_data_to_qgis.ipynb which 404s. Just a heads up!

Thanks for pointing this out. It has been fixed.


feat(trie): implement change set walker

About
This PR is about decoupling trait and implementation of an iterator over change sets in a transaction.
Motivation
Expanding on #9282 with a focus on state module of reth-trie crate.
Goals

Remove dependencies on reth-db and reth-db-api in state module of reth-trie crate.

Solution

Decouple trait and a database implementation of an iterator over a range of change sets of accounts and storage.

Create a new trait TrieRangeWalker and TrieRangeWalkerFactory
Implement above mentioned traits using a newly created DatabaseAccountChangeSetsCursor and DatabaseStorageChangeSetsCursor
Update all usages in reth-trie to use the trait only
Update all usages outside of reth-trie to supply the proper implementation

Additional notes
The newly created database implementations of TrieRangeWalker and TrieRangeWalkerFactory should be a part of reth-trie-db crate instead of reth-trie as done here. However, this is not a concern of this PR, instead will be a concern of a PR focusing on moving all database implementations of trie readers/writers to reth-trie-db. Mostly in favor of keeping the PRs small and focused as explained in #9585 motivation section.

Hey @mattsse it's good to hear from you again, thanks for the quick feedback. I just got back from a week long break so I hope this effort didn't seem too abandoned!
Anywho, I'm glad that this looks more clear to you as I see clarity as important.

that's great to hear,
we're getting a lot of requests for sp1 support which requires that some crates that currently depend on reth-trie types need to compile to wasm32-wasip1 and this is now blocker and slightly higher prio.
if you have the capacity to continue with this that'd be amazing

@RomanHodulak thanks for the PR, however I do not see any good reason for abstracting away the transaction from PrefixSetLoader given that it's only ever used with database and used for incremental root (the concept that now exists only in reth-trie-db crate), i'll open a quick PR that moves the loader to reth-trie-db crate

@RomanHodulak jumped the gun and misread the changes

@RomanHodulak i see, this is for HashedPostState::from_reverts. Still no need to abstract it over factory, just similar to other traits create the trait in reth-trie-db and implement this method there
pub trait DatabaseHashedState<'a, TX> {
    fn from_reverts(tx: &'a TX, from: BlockNumber) -> Result<Self, DatabaseError>;
}

closed in favor of https://github.com/paradigmxyz/reth/pull/9987


function documentation not showing

Documentation for Deno functions, such as atob, btoa, clearInterval, etc. as defined in https://github.com/denoland/deno/releases/latest/download/lib.deno.d.ts are not showing in deno.land's runtime API

Wrong repo, and they are working for me: https://doc.deno.land/https/github.com/denoland/deno/releases/latest/download/lib.deno.d.ts#btoa

Thanks @lucacasonato, the function is there, but not the javadoc.  Looks like the problem is with deno doc.  I'll close here and re-raise in the correct repo.


demo is not working

Hi,
I try the demo http://oss.sheetjs.com/js-xlsx/ and it's fire an exception
 Error: Corrupted zip : can't find end of central directory
    at Object.ZipEntries.readEndOfCentral (http://oss.sheetjs.com/js-xlsx/jszip.js:2087:27)
    at Object.ZipEntries.load (http://oss.sheetjs.com/js-xlsx/jszip.js:2104:18)
    at Object.ZipEntries (http://oss.sheetjs.com/js-xlsx/jszip.js:2010:18)
    at Object.JSZip.load (http://oss.sheetjs.com/js-xlsx/jszip.js:2115:22)
    at Object.JSZip (http://oss.sheetjs.com/js-xlsx/jszip.js:5:14)
    at Object.readSync [as read] (http://oss.sheetjs.com/js-xlsx/xlsx.js:5149:24)
    at DedicatedWorkerGlobalScope.onmessage (http://oss.sheetjs.com/js-xlsx/xlsxworker2.js:26:14)
xlsxworker2.js:18 Uncaught TypeError: Cannot read property 'length' of undefined

@antonio-castellon it looks like you didn't drop a non-password-protected XLSX/XLSB/XLSM/ODS file.  Can you check against http://oss.sheetjs.com/js-xls/ (this is for XLS)?  IF the issue still persists and if the file is not sensitive, I'd be glad to take a look -- shoot me a direct email (unfortunately github doesn't preserve attachments)

:-(
undefined(index):120 worker.onmessage
xlsworker2.js:15 Uncaught TypeError: Cannot read property 'length' of undefined

@antonio-castellon What browser are you using?  Also, can you attach that file in an email to dev - at - sheetjs - dot - com so I could take a look?

Well, finally it was my mistake..I was using CSV file as an MSExcel file X-D ..sorry.


jshint should not play with natives' prototypes.

Including JSHint in a project can get very troublesome as it is adding methods to String prototypes (and maybe others, I stopped looking when I found the cause of my bug).
This is a well-known bad practice and work should be done to avoid using those. Please, add this to your roadmap. I have made the necessary modifications to another library just so it can work in pair with this one so I'm not in a hurry, but I really think it should be an obvious refactoring goal.
Thanks.

Actually, looking at the code it seems to not use it anymore... I'm confused on the version my app is using I guess.


⚠ gorzdrav.org has degraded performance

In 9d38691, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 3314 ms

Resolved: gorzdrav.org performance has improved in c827283.


Can't access server anymore (except SSH)

RancherOS Version: (ros os version)
1.4.0
Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)
Hetzner Cloud
After upgrading my server from 1.3.0 I can't access the server anymore except with SSH. Via SSH I can access the internet and docker is also running etc., but trying to connect to some other PORT always gives me "can't find route to host". Is iPv4 disabled or what are the reasons?

I don't have access to AWS. I now wait for the Cloud provider to provide the latest ISO and then I try with directly installing 1.4.0.

Even with a fresh 1.4.0 install, it doesn't work when I try to connect to the IPv4 address... SSH works with no problems.

I tried on AWS:
# run in ros
docker run -idt -p 8888:80 nginx

# run outside
curl http://<external-ip>:8888/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>

@jlelse  can you give me a demo? I can get someone to try it on Hetzner Cloud.

@niusmallnan @jlelse I tried the exact same setup and it worked.
installed RancherOS 1.3, started nginx -> works
upgrade to RancherOS 1.4, started nginx -> works

I tried almost exactly that on Hetzner, didn't work. On Hetzner you first need to create a VPS with Ubuntu or so and then mount the ISO to install it.
But I now contacted their support, let's see what they say.

Did you restart the service you've tried to connect with?

It works now.. Very strange, but I'll now try to migrate my setup, let's see, if this works..

It worked now! Thanks for your help :)


Truncated text in "About Squid3"

the text in the first and last paragraph in “About Squid3” blurb is getting truncated.  Not sure if this is because of my screen settings or something else (nothing else gets truncated just this).

Off-topic @NicoleRayner , but your video tutorials are brilliant ! I had to put them on pause and go make some popcorn, so I could settle in for the whole lot back-to-back - what a great Wednesday evening!


Simple PDF Guide

Simple PDF Guide, which is all the wiki pages combined in one PDF. With examples (images and code).
 That's why I always do Pull Requests.

once more, you could've committed directly to the repo

I'm actually a little afraid of doing something that you guys secretly don't allow/don't think would fit in JSE. That's why I always do Pull Requests.

fair I guess, what I usually do is check if what I do is fitting for the repo before committing


[123] mode does not produce input on "phone number fields" on KYF33

Thank you so much for a wonderful project! Could you help me diagnose this issue better?
Short description: entering digits in phone number fields only does not work, digits do not appear.
Longer description: On fields for phone numbers, this keyboard does nothing (does not input a number) when pressing number keys, if field is open. I can enter exactly one digit by moving from field with cursor keys, returning to it and pressing the digit while keyboard is not open.
Device: Kyocera Torque X01 KYF33
Android version: 5.1.1
No touchscreen.
Comments: Some of the fields are [123] only on this device, for example phone numbers (it means that "change Input Mode" key does not do anything in them) (probably InputType.TYPE_CLASS_PHONE or something like this).
Existing IME input does work on this phone, unfortunately does not support any languages except Japanese and English. I can take a video of trying to input digits, or extract the PhoneBook.apk, if that helps.

This may be the same as #225. Please, check out the discussion there.

I plan to set up Android Studio on weekend to try and help fixing it.
Thank you for a quick answer and a latest beta version!
However, the problem of not entering the numbers in the restricted InputType fields is still present and is still the same in the latest beta version 20.1 (a0b9e09)

Gladly. However, I added quite a lot of names to my personal dictionary, and I am using the debug build I'm building myself, so I installed a version I built from commit b3fde40aa. I have verified that install was successful by checking the info in the About section of Settings.
Unfortunately, I am still only able to input one digit at a time, by selecting and deselecting the input field.
I am also still receiving a lot of following errors in logcat"
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
I now have more experience using this Kyocera phone and what I have noticed is that when I use the preinstalled keyboard to enter numbers in the text fields, another text field is opened over the app window, that takes whole screen. And tt9 does not do that. I wonder is that a standard behavior?
What kind of debug info could be helpful here? Logcat? video of the work, maybe? I would be really grateful for a hint.

What I have found is that every time I press or release a number button in the calling interface getInstance is called and a new ModeDialer is created, and when the number key is doubled in the calling interface, there are two ModeDialers created at the exact same time.
I have found it by adding debug log in getInstance and various other functions, I can push them if you are interested.
Regarding initTyping in TraditionalT9 - there is an init in determineAllowedInputModes and reinitlater when you do the getInstance, so I assume that in Kyocera calling interface input is reinit with every key press and release.

Here are logcat logs from the first button press, when the digit [4] IS inserted in the "phone number field":
2023-05-20 20:43:28.662 11367-11367 tt9/onStartInputView    io.github.sspanak.tt9                D  inputType: 3 fieldId: 19 fieldName: null packageName: com.android.contacts restarting: false
2023-05-20 20:43:28.702 11367-11367 onKeyDown               io.github.sspanak.tt9                D  Key: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_4, scanCode=5, metaState=0, flags=0x8, repeatCount=0, eventTime=7012440, downTime=7012440, deviceId=23, source=0x301 } repeat?: 0 long-time: false
2023-05-20 20:43:28.952 11367-11367 onKeyUp                 io.github.sspanak.tt9                D  Key: 11 repeat?: 0

And here are logcat logs from the second button press, when the digit [5] is NOT inserted in the "phone number field":
2023-05-20 20:46:28.142 11367-11367 onKeyDown               io.github.sspanak.tt9                D  Key: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_5, scanCode=6, metaState=0, flags=0x8, repeatCount=0, eventTime=7191920, downTime=7191920, deviceId=23, source=0x301 } repeat?: 0 long-time: false
2023-05-20 20:46:28.262 11367-11367 onKeyUp                 io.github.sspanak.tt9                D  Key: 12 repeat?: 0

They seem the same so I will continue debugging.

Regarding k9t9 - I have installed the latest release from github:
https://github.com/danielshorten/k9t9/releases/tag/0.12.0
and I can confirm that it does allow input correctly in "phone number fields" in com.android.contacts, not ignoring key presses when field is "in focus".

I've narrowed it down to sendDownUpKeyEvents(mInputMode.getKeyCode()); not producing a number in "phone number fields" in TraditionalT9.handleSuggestions()

I also verified that sendDownUpKeyEvents(mInputMode.getKeyCode()); is the exact line that produces first number when field was not focused and keyboard was not open, by commenting that line and checking that I no longer can enter one digit by leaving field and returning to it and by replacing mInputMode.getKeyCode() in it with KeyEvent.KEYCODE_8 and verifying that the digit is always 8 even if I press other key. I am still puzzled why sendDownUpKeyEvents stops working after the keyboard is open in [123] mode though. The search continues.

I am still puzzled why sendDownUpKeyEvents stops working after the keyboard is open in [123] mode though. The search continues.

It may have to do with the restarts you are experiencing. currentInputConnection probably becomes invalid, so no key events are making through. This is just a theory, though.

I have noticed that [123] mode actually does not work in any input fields, not only in numeric, both in in b3fde40 and in 4405c0e.
But there is one curious exception: long-pressing the 0 button does produce the + symbol.

I managed to fix the issue finally by using suggestions instead of keyCode in Mode123/ModeDialer, I'll get a pull request ready for you to check out and test on your device asap.

Something is wrong with long press, i need more time. :(
Specifically, with my fixes, after entering dialer interface with long pressing the * button, no keyboard input passes through, thus invalidating fix for #261

Issue is still present in  09e5e1b (v 22.0), but the cause for it is that
sendDownUpKeyEvents(mInputMode.getKeyCode()); in handleSuggestions does not seem to work at all on KYF33, so I was thinking that I could make a Mode123Alt class that uses suggestions instead of the keyEvent but I am not sure how to set it up so that it only is being used on KYF33, probably like that in InputMode.getInstance ?
case MODE_123:
   if(settings.is123AltMode())
      return new Mode123();
   else
     return new Mode123Alt();

See also my take on solving this idea in https://github.com/sspanak/tt9/compare/master...mcfrei:tt9:master

There may be a simpler way of doing what you are trying to do.
It seems that Mode123 is working fine on your phone, if it produces text instead of key codes. But this is weird, because other modes also produce key codes sometimes. So I need to know the following:

Make sure to "#" or "*" are not hotkeys, so you can use them for typing. Do they work in ABC or Predictive modes? If you go back to 123 from another mode, do they still work? Are backspace and OK working. They also send actions using sendDownUpKeyEvents(), so if there is something wrong with that function, they must be affected too.
If the number keys are not working, but Backspace and OK are fine, maybe the key codes are wrong. In TraditionalT9.handleSuggestions(), what does mInputMode.getKeyCode() return? Are the key codes equal to KeyEvent.KEYCODE_0 through KeyEvent.KEYCODE_9, KeyEvent.KEYCODE_POUND and whatnot?
If the key codes are fine, you could change the way they are sent to the system:

In Mode123.onOtherKey(), remove the conditions, just do:

	public boolean onOtherKey(int key) {
		reset();
		keyCode = key;
		return true;
	}

Find TraditionalT9.handleSuggestions()
Change sendDownUpKeyEvents(mInputMode.getKeyCode()) to this:

	currentInputConnection.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, mInputMode.getKeyCode()));
    	currentInputConnection.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, mInputMode.getKeyCode()));

If nothing else works, you could make Mode123 return strings:

Change onNumber() and reset() like this:

	@Override
	public boolean onNumber(int number, boolean hold, int repeat) {
		reset();
		suggestions.add((number == 0 && hold) ? "+" : String.valueOf(number));
		return true;
	}

	@Override
	public void reset() {
		super.reset();
		autoAcceptTimeout = 0;
	}

In that case onOtherKey() will be a bit more complex, but we'll get to it if needed.
Please, try all the scenarios above and let me know of the results. It is important not to do big changes to the Numeric mode, not to break it on other phones.

Thank you so much for the review and the ideas on how to do it better! Here are the results of the tests.
All tests were conducted on last master cf76633 (verified by checking the About info in settings, very handy!).

I removed # and * from hotkeys, and they can't type the corresponding symbol in any of the modes, namely [ abc / en ], [ english ], or [ 123 ]. Backspace deletes the last symbol both when it's bind on Back key, and if it's bind on F3 key. Ok also works both by exiting the "choose word" mode and after that by switching to the next input field.

I have used the Logger.i to output the code that is being returned. The key codes are indeed equal to their constants in KeyEvent' class, with 0equal to 7,*to 17 and#` to 18.

I have tested this approach (replacing sendUpDownKeyEvents with two sendKeyEvent earlier and it did not work, but I did test it again exactly as you suggested and they definitely do not produce the corresponding symbol in the text field. I did not find any other ways to send key event, so I tried using suggestions.

Exactly that was what I made originally, and after the code became too complicated, I separated the strings functionality to Mode123, aiming to choose between new Mode123 and new Mode123Alt in InputMode.getInstance either by determining device model somehow, or by changing the preferred mode in settings. The full functionality also required adding boolean hold to onOtherKey to support entering alternative * and # characters on hold, correspondingly + and ;.

So, generating numeric strings is the way to go. I reviewed k9t9 and it looks like it is doing the same.

Exactly that was what I made originally, and after the code became too complicated, I separated the strings functionality...

As I said, there is a simpler way of doing what you want to do. Let's try this solution:
package io.github.sspanak.tt9.ime.modes;

import android.view.KeyEvent;

import androidx.annotation.NonNull;

public class Mode123 extends ModePassthrough {
	@Override public int getId() { return MODE_123; }
	@Override @NonNull public String toString() { return "123"; }

	@Override public final boolean is123() { return true; }
	@Override public boolean isPassthrough() { return false; }

	@Override
	public boolean onNumber(int number, boolean hold, int repeat) {
		reset();
		suggestions.add((number == 0 && hold) ? "+" : String.valueOf(number));
		return true;
	}

	@Override
	public boolean onOtherKey(int key) {
		reset();

		int keyChar = new KeyEvent(KeyEvent.ACTION_DOWN, key).getUnicodeChar();
		if ((keyChar > 31 && key < 65) || (keyChar > 90 && keyChar < 97) || (keyChar > 122 && keyChar < 127)) {
			suggestions.add(String.valueOf((char) keyChar));
			return true;
		}

		return false;
	}

	@Override
	public void reset() {
		super.reset();
		autoAcceptTimeout = 0;
	}
}

That's the entire Mode123.java. It is working fine on both my phones and I hope it would work on yours too. If it does, I guess it would be safe to assume it would work on any phone. :smile:

Thank you for pointing out this issue to me. I should have searched through existing issues before making my own, I apologize. That code you posted did work on my phone though! 123 mode is working well. Thanks a bunch!

That's great, thanks for confirming. It's really hard to debug these when I don't have a Kyocera phone. I suppose I can add this in the next version or the one after.

Thanks! One quirk I have noticed is when in 123 mode, the # key does a new line while also changing the mode. Not sure if this is intended or not, I can look into it more when I get home from work.
-------- Original Message --------
On Jun 26, 2023, 02:23, Dimo Karaivanov wrote:

That's great, thanks for confirming. It's really hard to debug these when I don't have a Kyocera phone. I suppose I can add this in the next version or the one after.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Definitely, it's not intended. Probably, the default action on your phone is new line and it is getting through instead of being suppressed. Have in mind, I wrote and tested the code above in 10 minutes or so. It is not fully tested, so I may have missed something. I'll double check when I get back to this issue. Thanks for reporting!

I'll get a pull request ready with that functionality.  I assumed that sendDownUpKeyEvents could be crucial for some functionality on other phones, and I put more effort in long pressing * and # keys, I'll test your solution to see if it produces the same result.
What is the result of long key press of # and * keys on dialer on your devices, @sspanak ?

Thanks so much for providing your test results promptly, I am very grateful for them!
Apparently, , is a "pause slightly" functionality, and ; is a "wait for response and continue" functionality in phone numbers, although I don't know how popular it is outside Japan.
There is a E.123 standard article, where the most interesting info parts are that

in E.123 A tilde (~) indicates an additional dial tone that the user should wait for.
in Microsoft Number Format the calling sequence can contain dial-able numbers such as digits 0–9 and DTMF tones ABCD*#, formatting characters ␣ . -, and control characters ! P T , W @ $ ? ;, which correspond to the Dial command of the Hayes AT command set.

There is also another link on the topic of ; usage in iPhones.
Considering all this, I would still prefer implementing long press on symbol characters # and * (as ; and + correspondingly) in both Dialer and 123  mode.
Here are my test results:
On KYF33, using default preinstalled input iWnn IME long press is as follows:

in dialer, long press # is ;', long press *is+(in any place of the number, not only the first one), and long press0` produces repeating zeroes like other number keys.
not in dialer number inputs (in com.android.contacts phone number fields) the long press functionality is the same except that long pressing number keys does not produce repeating digits.
Remark: default preinstalled input opens a full screen input when editing starts, and that is convenient because the phone screen is relatively small, and because entering Japanese characters usually involves heavy character replacement and suggestions (see also: hiragana, katakana and kanji).

Considering all that plus your information, I would suggest implementing + as a character for long pressing both 0 and * keys, to provide maximum compatibility for you, me and other users. Alternatively I could add options for "long press" in the "Keypad" area of the settings. consisting of "long press 0", "long press *" and "long press #" entries.
Considering the #225 bug, that is the reason why I implemented Mode123Alt in my commit as a separate mode, intending having an option for users to choose between it and original Mode123. Your wonderful idea about checking the original k9keboard could help to debug the issue for @lgexalter too, if they are still interested in it.
Regarding k9 keyboard, it seems that it uses inputConnection composing text feature extensively by calling setComposingText and finishComposing even in Dialer input.

I was able to check last version 4edda7c on KYF33 and here are the test results:

dialer app works perfectly, no character doubling and long presses work;
other apps - behaviour is the same, no input in numeric fields in [123] mode.

I worked on a pull request but encountered unexpected behaviour - on KYF33 when a * or # key is long pressed, there is no onKeyLongPress event in KeyPadHandler, and instead an onKeyDown event with event.isLongPress() == true is produced.
I was able to fix that hastily, but I don't like the way I did it in KYF33-2 branch.
Is that an expected behavior? How can one deal with it, considering differences in processing logic in onKeyDown and onKeyLongPress? Have you seen stuff like this, @sspanak ?

Apparently, , is a "pause slightly" functionality, and ; is a "wait for response and continue" functionality in phone numbers, although I don't know how popular it is outside Japan.

I've never had these on any phone, even in the old Nokia days. Neither have I ever seen them on a touchscreen dialer. I have had only Android phones though, not an iPhone. Indeed, carriers may not support such control codes in my part of the world.

Regarding k9 keyboard, it seems that it uses inputConnection composing text feature extensively by calling setComposingText and finishComposing even in Dialer input.

But this is causing double numbers on my phone every now and then. It seems that the system and the IME are in a constant race and sometimes they both win and type a number.

I worked on a pull request but encountered unexpected behaviour - on KYF33 when a * or # key is long pressed, there is no onKeyLongPress event in KeyPadHandler, and instead an onKeyDown event with event.isLongPress() == true is produced.

Ok, now I realized what the problem is. No matter what, * and # are always handled in KeyPadHandler.onKeyDown (we are returning true when they are pressed). But this would prevent the system onKeyLongPress from working, which is a problem on your phone, because there are actions assigned to long pressing these keys.
The above also means ModePassthrough is not passing through these keys, while its purpose is to provide maximum compatibility on all phones, so their "special" functions would work as expected. And this is where I would like to go. I'd rather allow the phone process key presses whenever possible, instead of writing code that does the same. Not only that, but have per-device implementations. This is what I said I don't like in my previous comment.
I admit I overlooked the case with * and # in ModePassthrough and it needs to be fixed. Since I am currently busy with adding new languages and you are on the topic, could you try one simple thing?

Use the latest master
Perhaps, use the new Mode123 that I suggested above.
In KeyPadHandler.onKeyDown() find the if marked with this comment // start tracking key hold. Add Key.isPoundOrStar(keyCode) to the condition and see if this fixes the problem for you?

I see you did something very similar in your branch, but I think all else is not really necessary.

see also: hiragana, katakana and kanji

日本語を少し読めます :slightly_smiling_face:

As for the AT and Microsoft command set. Well... let's not go there. We are not implementing a software modem here, right? :slightly_smiling_face:

@mcfrei, @owen-young, the latest version 23.7 fixes a lot of small bugs. Could you please try if it fixes the problem for you?
If you prefer to build from source, please use the mode-refactoring-again branch. And if the branch is gone by the time you read this, then it has been merged to master, so use master instead.

Unfortunately the exact same issue remains with 23.7. :(

#345 is somewhat related to this. In the end, I have added proper support for all possible characters in 123 mode, depending on the input field (phone number or plain numeric).
I believe all outstanding problems discussed here will be fixed in the upcoming version 26.0, but I'll leave the issue open, for anyone affected to confirm, because I can't do it on my phone.

If anyone is still experiencing this, please try out v27.0.
If no one comments after this, I'll consider the problem to be resolved.


Add the possibility to use cross validation when training PyAF models

Following the investigation performed in #53, implement a form of cross validation for PyAF models.
Specifications :

Cut the dataset in many folds accoring to a scikit-learn time series split :
http://scikit-learn.org/stable/modules/cross_validation.html#cross-validation
number of folds => user option (default = 10)

To have enough data, use only the last n/2 folders for estimating the models (thanks to forecast R package ;). The default splits look like this :
[5 ] [6]
[5 6 ] [7]
[5 6 7] [8]
[5 6 7 8] [9]
[5 6 7 8 9] [10]

Use the model decomposition type or formula as a hyperparameter and optimize it. select the decomposition(s) with the lowest mean MAPE on the validation datasets of all the possible splits.

Among all the chosen decompositions, select the model with lowest complexity (~ number of inputs)

Execute the procedure on the ozone and air passengers datsets and compare with the non-cross validation models (=> 2 jupyter notebooks)

Hi, I've been watching your project for a while (mostly - I have been working on a similar project, which comes at this from a different perspective 😛).
I'd just like to note that, from the business case, there are (at least) 2 different kinds of time series CV: with and without retraining on the set. The first one (that you've described above) is useful for settings where you can constantly re-train your model. The second one is for when you don't have the ability to re-train, but want to know what it will do on future, shorter folds. This is relevant for models with hidden components (e.g. ARIMA, state-space models, RNN's, ...) where the state can be much different when starting later than from the beginning (as an analogy, a Markov chain that isn't yet in the stationary distribution).

@NowanIlfideme
Thanks a lot for your interest in PyAF. Comments like these a re always welcome. Hope you enjoyed.
Models with state/hidden components are not yet supported but if you look closely, PyAF is always evolving, Cross validation work started a year ago, its first implementation will be available in the few coming weeks.
Can you please elaborate a little bit more on the second case (python example in a gist ?). Any docs/references ?

I don't quite have the time to make a full example, I hope a block thing will work. :)
Full Set:
[1 2 ... N N+1 ... 2N]
Train (same for all):
[1 2 3 ... N]
Validation:
Sees [1 ... N], predicts [N+1]
Sees [2 ... N+1], predicts [N+2]
...
Sees [N-1 ... 2N-1], predicts [2N]
If you only use stateless models, this is the same as validating on sets [N+1, ... 2N]. However, for stateful models, this means you will always be using [N*num_per_set] steps to "warm up" your model, and thus get consistent behavior (you'd do this in production, as well).
As an alternative, you could use the following scheme for stateless models as well:
Trains on [1 ... N], predicts [N+1]
Trains on [2 ... N+1], predicts [N+2]
...
 However, the end use of these methods is different. 😃

The block thing is clear and very interesting ;). Will keep this aside for implementing support for stateful models.
Do you have any book reference for this kind of stuff ? putting time series models in production etc.

I'm going mainly by experience, sorry that I can't give any written reference. Cheers!

Cheers!

This is how to adaptr the training process to activate the cross validation in PyAF (with 7 folds) :
    import pyaf.ForecastEngine as autof
    lEngine = autof.cForecastEngine()
    lEngine.mOptions.mCrossValidationOptions.mMethod = "TSCV";
    lEngine.mOptions.mCrossValidationOptions.mNbFolds = 7
    lEngine.train(ozone_dataframe , 'Month' , 'Ozone', 12);
    lEngine.getModelInfo();

FIXED!!!!


No backup found in my drive

I successfully authorized but no backup

need logs to know what might be going on. the plugin doesn't schedule the backup, it only uploads backup when a backup is generated.


Implement Asset for Persistent

I use bevy_asset_loader for loading assets when entering a loading state. I wanted to load something using this crate as well and still get the same state management (progress/error/etc.) features provided by bevy_asset_loader.
In order to use it with this crate, Persistent<T> would need to implement Asset and have a custom AssetLoader along with registering them in the plugin. For bevy_asset_loader, it would also require custom DynamicAsset but that doesn't technically require any change in this crate (unless you'd want to support bevy_asset_loader behind a feature flag).
Two additional point:

Would have to access it via Res(Mut)<Assets<Persistent<T>>> instead of Res(Mut)<Persistent<T>> (only if loaded via AssetLoader, the existing codepath could keep it as the latter).
The AssetLoader::load returns a Future but this crate does synchronous loading. I'm assuming the work could be done on one of Bevy's task pools to avoid blocking. Or this crate could expose an async loading interface (maybe just internally for the AssetLoader).

Wanted to gauge whether this is something you'd want supported by this crate. If so, I'd be willing to send a PR out to do so. Let me know if I've missed anything, thanks!

Thanks for the suggestion, it seems like a really good feature!
I'd love to support it but I don't have much time at the moment. If you want to contribute, I'd be more than happy to help and review once it's ready. Otherwise, let's keep the issue open and I'll come back to it in a few weeks.
Thanks!


Upgrade system charts

Problem:
Old versions of rancher may be incompatible with system charts master branch.
Solution:
Added logic for maintaining default url/branch for system-library
catalog, and its annotation.
Issue:
https://github.com/rancher/rancher/issues/20115

Lgtm


Documentation updates

@sean-parent please review these changes, which should reflect our discussion today.
I found myself unable to find words about nullptr; maybe you could suggest an edit?

The example code at line 278 still references the old kind_t.

<hint>the suggestion feature is really cool</hint>

If a client were to add additional kinds, how would that work? The original thinking was using a category with an error code.

They'd just choose some other integers.  But I'd be very happy to drop that capability.  I'm not convinced know a real use case.


CacheFilter: added handling of range requests.

Commit Message: CacheFilter: added handling of range requests.
Signed-off-by: Caio<EMAIL_ADDRESS>Additional Description:
Follow-up to #11943. Implements the handling of range requests in the cache filter; when a request has a range request, the response will contain only the appropriate range instead of the entire body.
Risk Level: Low
Testing: Unit testing
Docs Changes: N/A
Release Notes: N/A
Fixes #10132

Hi all, are there any updates on this?

Needs master merge, then I'll take a look.

Hi, any updates on this?


Repl swift missing dependency

This PR addresses an issue Sean emailed me about this morning.
There are two commits in this PR. One is a cleanup that I did in order to get a reproducible case for Sean's error, the second is the actual fix.
The fix gives repl_swift a dependency on swift-stdlib.
The cleanup includes the following changes (detailed explanation and description below):

Move linux-specific flags to a variable that is only set on linux
Collapse the add_custom_command_target calls into one call
Remove explicit add_dependencies calls in favor of using DEPENDS arguments
Wrap COMMAND arguments so that it is easier to read
Explicitly name the repl_swift target

Since CMake variables that are unset expand to nothing I generally encourage the use of variables that are conditionally set to avoid duplicating code wherever possible. In this instance using the linux_only_flags variable allows the add_custom_command_target calls to be collapsed, so modifications to the target or command definition don't need to be duplicated.
Also the add_dependencies calls are unnecessary if we use the DEPENDS arguments on the custom command and target calls. In CMake targets do not need to be created in order to setup dependencies, CMake will warn or error at the end of generation if it could not resolve a target dependency.
The last change here is providing an explicit name to the repl_swift target. When you do not specify an explicit target name Swift's add_custom_command_target gives you a generated target with an MD5 in it which is completely inscrutable. For debugging the build system and easy incremental builds of the repl_swift tool it is better to have a named target.

Just one comment on seeing if we can use the CMAKE_INSTALL_RPATH CMake variable.

(Other than that, LGTM!)

Okay, let's merge this in.

(Can you do that, Chris?)

All done :-)


Use html title attribute on Swatch

Add title prop to Swatch (defaults to color prop value). This provides both a built-in tooltip-like display as well as some semantic accessibility improvements.
Partial solution for #307

This is fantastic, thanks!

You're very welcome – thank you for the awesome set of components!


Fixed doc intersphinx linking and added arith text

Fixed doc intersphinx linking and added arith text

@pllim - are you sure the default_role = 'py:obj' part is necessary? I thought that I'd the default default role?
(No reason not to, anyway - mostly my own curiosity)

@eteq , if I don't set that, I need to explicitly specify :class: role for it to link properly. Not sure why, because I didn't have to in the past. I am using Sphinx 1.3.1.


Update --system to --global to avoid Admin permission

Close #2094
Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

For the record, since we do not include impl=j9, test group = openjdk as a combination in PR testing atm:
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/5261/ (J9/jdk11/jdk_math Grinder passes).


Removing due date

The Clickup API docs say you can remove a field during an update by passing a null.  Is there a way to remove the due date using the TaskRequest struct and calling the UpdateTask method.  I've tried using 0 for the due date but that has no effect.

@davesaas
Thanks for your report!
We will check into the matter.

@davesaas
Thanks for pointing that out! Could you please provide a link to where it is mentioned?

@w-haibara Sorry I thought I saw it mentioned in the API docs at some point, but cannot find it now.  Though I do see in the samples when there is no due_date, the API will return a null in that field.  I have tried the api using curl, and when you pass null for due date in a PUT (Update) request, it does remove the date.  https://clickup.com/api/clickupreference/operation/UpdateTask/#tag/Tasks/operation/UpdateTask

Hi, @davesaas !
I respond to this issue by #36 .

This is the execution result of the sample code to update and remove the due date of the task whose ID is 376jy0a (ccc is the task name).

$ go run example/update-duedate/main.go
Enter clickup taskId: 376jy0a

Get due date of current task
ccc 2022-11-17 04:00:00 +0900 JST

Update due date of the task to 2122/01/02 03:04:05:06
ccc 2122-01-02 04:00:00 +0900 JST

Update the task with empty TaskRequest
ccc 2122-01-02 04:00:00 +0900 JST

Remove task due date with NullDate()
ccc <nil>

You can use clickup.NullDate() to set null for DueDate field.
https://github.com/raksul/go-clickup/blob/18cac46eab8c3327cf55d70b5e3f9092ab7449e3/example/update-duedate/main.go#L40-L42

Thanks @w-haibara, I will give it a try.


Mill fail to connect to the server with apple silicon M1

Step to reproduce the problem
curl -L https://github.com/lihaoyi/mill/releases/download/0.9.4/0.9.4-13-75bc5a > mill && chmod +x mill

and then
MILL_VERSION=0.9.4-13-75bc5a ./mill -h
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   650  100   650    0     0   2241      0 --:--:-- --:--:-- --:--:--  2233
100 58.0M  100 58.0M    0     0  1147k      0  0:00:51  0:00:51 --:--:-- 2148k
main.MillServerMain$.main(MillServerMain.scala:43)
	at mill.main.MillServerMain.main(MillServerMain.scala)
Exception in thread "main" java.lang.Exception: Failed to connect to server
	at mill.main.client.MillClientMain.run(MillClientMain.java:217)
	at mill.main.client.MillClientMain.main0(MillClientMain.java:146)
	at mill.main.client.MillClientMain.main(MillClientMain.java:99)

If I use the interactive version everything works 😃
MILL_VERSION=0.9.4-13-75bc5a mill -i -h
Incomplete argument -h --home <path> is missing a corresponding value
Expected Signature: Mill Build Tool
usage: mill [mill-options] [target [target-options]]
  --no-default-predef  Disable the default predef and run Ammonite with the minimal predef possible
  -s --silent          Make ivy logs go silent instead of printing though failures will still throw
                       exception
  -w --watch           Watch and re-run your scripts when they change
  --bsp                Run a BSP server against the passed scripts
  -c --code <str>      Pass in code to be run immediately in the REPL
  -h --home <path>     The home directory of the REPL; where it looks for config and caches
  -p --predef <path>   Lets you load your predef from a custom location, rather than the "default
                       location in your Ammonite home
[...]

Hey @parzival3 what is "interactive version"?

mill -i is the interactive mode. But mill --no-server would be sufficient. Both disable the separate server process.

This issue still exists and is quite crippling.

Having the same issue on a VM (x86-64) running Ubuntu 20.04.

I've committed a potential fix for this (#1729), which is currently in release process. Until it's available, you can try the already mentioned --no-server Mill option to workaround the issue.

Once Mill 0.10.1 is out, no explicit -i or --no-server should be needed anymore. MIll is able to automatically fall back to in-process mode when the server-process mode isn't working for some reasons. Please report back if you still have issues.


refactor(interactive): Revision interactive from 0.0.3 to 0.3

Revision interactive to 0.3
Rename interactive-sdk to interactive.

LGTM


Adding URL validation to content-link

Adds URL validation to "Content Link".

We've implemented the changes addressed in this request, so will close this request


binary_search_iter.c: Add Binary Search Iterative in C

Implemented Binary Search Iterative Method in C #65

Thanks for contributing.