Only admin can delete external accounts

Gitea Version
1.15.8
Git Version
--
Operating System
Linux
How are you running Gitea?
Docker (But doesnt matter)
Database
PostgreSQL
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Description
A user that has an external account cant delete his account.
In order to delete it he has to put in his password. But external users do not have a password.
Screenshots
No response

Ok, this might make some sense.
Still i would suggest, to have an option to turn this off.
For example, I have created an account at the Gitea demo server, using Githubs OICD. Now i would for example like to delete it. But i can't. I mean sure. I could remove the authenthication through Github, but it would still leave an account on the Gitea Server.
Though I have to admit, I don't know that much about LDAP. So I could be totaly wrong here.

A possible solution could be: we save the external login time in session, then if a user wants to delete the account within 1 minute after login, we allow it. This solution make every user have a chance to delete their account with a fresh external login.

I am still struggeling with understanding why a user that is externaly logged in shouldnt be able to delete his/hers account.

They should, but it needs someone to work on a PR for this feature.


python310Packages.google-cloud-bigquery-logging: 1.1.0 -> 1.2.0

Changelog: https://github.com/googleapis/python-bigquery-logging/blob/v1.2.0/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 210386 run on x86_64-linux 1

2 packages built:

python310Packages.google-cloud-bigquery-logging
python39Packages.google-cloud-bigquery-logging


greatest_printf_cb type should change to fprintf style

Passing the FILE* in would be better, since GREATEST_STDOUT is user-configurable.

This would be a breaking API change, so it will have to wait until 2.0.


Update Upgrade-SPSiteMapDatabase.md

Filled in placeholder text.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Upgrade-SPSiteMapDatabase.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Do not require workflow-aggregator

Nothing should be referring to workflow-aggregator, which was just a do-nothing plugin created to make it easier for Jenkins 1.x users to install a bunch of Pipeline plugins. Be more specific about the plugins actually required for certain elements.

ping @daspilker I suppose

Sorry what does this change mean? Because I had this job dsl and it was working until we upgraded to this version:
pipelineJob("folder-evolve-management/tag-repositories") {
    description("To tag multiple repositories with a single tag")
    keepDependencies(false)
    displayName("Tag Repositories")
    logRotator(14)
    definition {
        cpsScm {
            """
//some code here
}"""		}
    }
}

I get error saying cps is required

You mean this? But it is required and always was.

well, I don't know but my job dsl (the code above) was working without cps and you can see it in my code after we upgraded to this version (that contains this commit), I had to change my job to something like this:
pipelineJob("folder-management/tag-repositories") {
    description("To tag multiple repositories with a single tag")
    keepDependencies(false)
    displayName("Tag Repositories")
    logRotator(14)
    definition {
        cps {
            def myscript = """
//some code here
}"""
         script(myScript)
          sandbox()
}
    }
}

cps and cpsScm are both defined in the same plugin (workflow-cps) which is listed as @RequiresPlugin by both of those DSL methods, so I cannot imagine what difference there would be.


Launch widget dropdown gets white background in Windows

VSCode Version: 1.8 insiders dated 12/6
OS Version: Windows

Steps to Reproduce:

Have a launch config with more than 1 config
Expand the drop down and hover over the options (all is good)
Now continue hovering outside the expanded drop down

Boom: The drop down now has white background

Not sure if this is an electron issue.
Mac is fine

This is a chrome rendering issue which happens inside a VM I believe.
We also changed this a bit but should not improve significantly (i.e. it should not behave as all our other dropdowns)
Closing as there is nothing we can do here. But double check in tomorrows build it might be better

I was not using a VM while testing.
The previous drop down for debug did not have this issue. Does that make a difference to your assessment?

@ramya-rao-a then you should also not see it in today's insiders. Do you still see it?

I still see it. Note this is only Windows.

I think there is nothing that can be done here as we can not style them.
Though let me reopen and verify if we can do something in January


Can't use in PCL project

Could not install package 'Xamarin.RangeSlider 0.5.7'.
You are trying to install this package into a project that targets
'.NETPortable,Version=v4.5,Profile=Profile78', but the package
does not contain any assembly references or content files that
are compatible with that framework. For more information,
contact the package author.

I believe that should not be a problem to provide PCL assembly for Xamarin.RangeSlider.Forms

I see that issue #8 is the same case. Hmm... I think I'll try to build PCL assembly and make a PR.

I'm sorry, seems like I missed the fact there are actually 2 packages - one for Forms and one for "plain" Xamarin. Package for Forms is working with PCL - at least installing and compiling.
Probably this should be somehow highlighted in README.

@rudyryk thank! I'll update Readme to make it more clear.


T-Display S3 Pro don't work with USB

blockstream green on windows 11 does not recognize tdisplays3pro via usb

try installing the esp32 driver CP210x_Windows_Drivers
This should resolve your Windows connection issue.

Thanks, I tried but it doesn't work and not even with Android via USB

tdisplays3pro is an 'esp32s3' (not an 'esp32' as usual for Jade).
We have recently added support for this chip to Jade fw, but it may be that the app version of Green does not yet recognise that chipset as a Jade.
I just checked, and it looks like the supporting version of the desktop app was released just last week, so you may need to update the Green app.  I believe you'll need version 2.0.13.
Ley me know if this resolves the issue.

with tdisplay s3 everything works perfectly with both android and windows via usb, but with tdisplay s3 pro usb doesn't work, is it possible that it is the usb otg port of the tdisplay s3 pro?

Green version 2.0.14 resolve issue


Sage optional file buffer

Codecov Report
Attention: 23 lines in your changes are missing coverage. Please review.

Comparison is base (96a5e88) 85.21% compared to head (abb0cdb) 92.32%.
Report is 43 commits behind head on main.

Files
Patch %
Lines

misc/scripts/mimeDbParser.js
0.00%
14 Missing and 1 partial :warning:

src/polyfill.ts
62.50%
3 Missing :warning:

src/Sage.ts
97.01%
2 Missing :warning:

src/utils.ts
96.00%
2 Missing :warning:

src/SageHttpRequest.ts
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #10      +/-   ##
==========================================
+ Coverage   85.21%   92.32%   +7.11%
==========================================
  Files          13       14       +1
  Lines        1109     2384    +1275
  Branches      104      109       +5
==========================================
+ Hits          945     2201    +1256
- Misses        163      181      +18
- Partials        1        2       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Proxy HTTP(s) Calls

Is there any way to configure analytics-next to point to your own hosted proxy of the Segment API? It seems like the iOS library has this capability and I was wondering if this library has a way to do that.

Hi @KevinMFinch, are you using the npm package or using the version from cdn.segment.com?

Hi @KevinMFinch, are you using the npm package or using the version from cdn.segment.com?

Hi @pooyaj currently I'm using the npm package

Cool, when using the npm version, you can pass the custom API host like this:
... await AnalyticsBrowser.load({ writeKey: YOUR_WRITE_KEY }, {
        integrations: {
          'Segment.io': { apiHost: "api.yourcustomurl.com/v1" },
        }
      })

Hey @pooyaj .
Can we also pass the custom headers as well. We want to change the "content-type" also.


[SMALLFIX]Improve Naming for FileSystemAclIntegrationTest #10

In the test gcsGetPermission, rename the file /objectFileA to /gcsGetPermissionFile

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/19163/
Test PASSed.


DNM - Allow os-net-config to run on RHEL8

RHEL8 includes older version of libnmstate which does not include certain modules or class. This resulted in import error for the same. The import errors deny os-net-config the possibility to run with ifcfg provider.

Abandoned


user can bosh ssh by ip

search in Models::IpAddress, if nothing was found - in the Models::Instance.spec_json

#149386633

@jraqula thank you for your ideas, I think they are very reasonable. I moved the logiс into InstanceLookup, and now, I believe, code looks clearer

merge story #152973098

This PR seems to have gotten lost in our many backlogs. I'm going to close and reopen this PR to generate a tracker story.


How to add to slack

I am having problems adding to slack. Could you point me to a guide to help?

Just in case you were wondering, you add a Slash Command with the custom slash you want, in my case roll. Set the endpoint to the hosted location of the heroku app with the /roll endpoint.
That should be it.


Pycharm plugin git inspection through remote run doesn't work in Pycharm 2021.2.1

Pycharm Build 212.5080.64 on windows 11 (os build 22000.318).
Remote execution through ssh on azure VM with mapping my code from git folder to temp folder.
In this environment ClearML treats my code as standalone script and not inspecting all the files in the project.

Hi @nitzanwsc
I was not able to reproduce this behavior ...
I tested on Windows 10 w/ PyCharm 2021.2.3 and ClearML-PyCharm-plugin v1.0.1 everything worked as expected.
Could it be that git is not in the default Windows PATH ?
Can you add a print in the remote session (i.e. just when the code starts, and executed on the SSHed remote machine)?
import os
print('CLEARML_VCS_REPO_URL', os.environ.get('CLEARML_VCS_REPO_URL'))

It prints None.
What do you mean by default path? It sits under C:\Program Files\Git\cmd and I have this path in my PATH env.

@JDennisJ and I found the problem (we think...)
When running the code with "Run with python console" the plugin is not working (specifically cannot find the repository).


⚠ Bofrost.at has degraded performance

In 8644d04, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2439 ms

Resolved: Bofrost.at performance has improved in 9f766c8 after 1 hour, 12 minutes.


[MODEL REQUEST] Phi-3

Is your feature request related to a problem? Please describe.
The famous Phi-3 series models offer SOTA performance, especially in reasoning, math and coding. Microsoft released the models under the very permissive MIT license.
Details of model being requested

Model name:

[ ] Phi-3-mini
[ ] Phi-3-small
[ ] Phi-3-medium

Source repo link: https://huggingface.co/collections/microsoft/phi-3-6626e15e9585a200d2d761e3
Research paper link: https://arxiv.org/abs/2404.14219
Model use case: Standard SOTA LLM use cases.

Additional context for requested model
ONNX and GGUF formats are also available on HuggingFace, which should make the implementation easier. Quantized would be recommended, good Phi-3 quants are available from bartowski.

Hi @EwoutH, thank you for the model request. We've received quite a few requests for Phi-3. It is on our backlog, though we are currently focused on Llama-3 🦙😊

Phi3.5 is now in active development on our end. Stay tuned.


Cert rotation broken on Istio 1.5

Steps to reproduce:

Set SECRET_TTL to some low value. I chose 1m
Wait SECRET_TTL seconds. Notice nothing in pilot-agent logs about SDS pushes
All traffic is now broken, since the cert is expired but not rotated

@lei-tang @myidpt

I bump this up to 10min and rotation still did not occur, so that rules out my theory that 1min is so short that it breaks something
/certs output:
  {
   "ca_cert": [
    {
     "path": "\u003cinline\u003e",
     "serial_number": "d6be877145ed117f62f70bf83385d92d",
     "subject_alt_names": [],
     "days_until_expiration": "3649",
     "valid_from": "2020-02-18T23:59:54Z",
     "expiration_time": "2030-02-15T23:59:54Z"
    }
   ],
   "cert_chain": [
    {
     "path": "\u003cinline\u003e",
     "serial_number": "1432a156c600e5c645856693bd83c70b",
     "subject_alt_names": [
      {
       "uri": "spiffe://cluster.local/ns/default/sa/default"
      }
     ],
     "days_until_expiration": "0",
     "valid_from": "2020-02-19T01:01:09Z",
     "expiration_time": "2020-02-19T01:11:09Z"
    }
   ]
  },

I captured this at 01:14, so 3 min after expiration

Please help to take a look, Lei. Thanks!

I have heard that Envoy will request a new secret when its close to expiration (as this was the whole motivation for running Envoy as prometheus sidecar) but the Envoy docs seem to suggest otherwise? "With SDS, a central SDS server will push certificates to all Envoy instances. If certificates are expired, the server just pushes new certificates to Envoy instances, Envoy will use the new ones right away without re-deployment." from https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret

Oh, we have 3 different flags to configure for the cert rotation:
https://github.com/istio/istio/blob/master/pkg/istio-agent/sds-agent.go#L68
Also L69, L70. You need to configure shorter graceperiod and rotation interval (the running interval for the cert ttl check thread) in order to have istioagent detect and rotate the certs.

I think having 3 flags here is a little cumbersome. We need to improve this.

Ah yeah. At the very least we should make it
	secretTTLEnv                       = env.RegisterDurationVar(secretTTL, 24*time.Hour, "").Get()
	secretRefreshGraceDurationEnv      = env.RegisterDurationVar(SecretRefreshGraceDuration, secretTTLEnv/2, "").Get()

So its automatically changed when you change the TTL.

I thought the whole reason we ran envoy for prometheus was because envoy was triggering the cert rotation so we didn't need to run the (very minimal) amount of code to do the cert rotation? I am really not sure why we run it now.. outside the scope of this PR though

Its still broken even if you configure those correctly. We do not configure eviction duration, so https://github.com/istio/istio/blob/445524dfeb7441f78e470a997d78c56e2ac6ad56/security/pkg/nodeagent/cache/secretcache.go#L544 always kicks in and then the cert is never rotated

Once that is fixed, https://github.com/istio/istio/blob/445524dfeb7441f78e470a997d78c56e2ac6ad56/security/pkg/nodeagent/cache/secretcache.go#L554 always returns true, resulting in the SDS connection dropping instead of a new cert being pushed cleanly. I am fairly sure we don't need this, we should just re-read the JWT token before we call generate secret

The PR https://github.com/istio/istio/pull/21258 is created to fix this issue. @howardjohn can you try it to see if it fixes the problem?

@howardjohn seeeing you're reopenning that one, is it correct to consider https://github.com/istio/istio/pull/21300 to address this in 1.5 ?

Yes please merge it, but its not entirely fixed yet. That fixes one aspect of this. The cert rotates but the SDS connection is broken every time it rotates. I think this has a large perf impact on envoy

I created another bug to track the reconnection issue: https://github.com/istio/istio/issues/21680


Running Ollama with LLama3 and Phi3

Hello,
I wanted to open the issue when using taskweaver with Ollama, run on the local machine, none of the models provided within Ollama are functional.
The way I configured the taskweaver_config.json is:

When I try running Ollama with phi3, the output that I get is:

The same issue occurs when configuring taksweaver with Llama3 in the same way.
I hope to hear back!
Best,
Arhaan

The problem is not with Ollama, but the capability of the model served with Ollama. The model failed in following the instructions in the prompt to generate a response in the correct format. Phi3 is typically too small to generate a right response.

The problem is not with Ollama, but the capability of the model served with Ollama.

No, the problem is with Ollama. I never had a single model work right with Ollama and TaskWeaver (across 4 machines - Win 10/11 and Linux). LM Studio Server works fine.

Good to know.

The problem is not with Ollama, but the capability of the model served with Ollama. The model failed in following the instructions in the prompt to generate a response in the correct format. Phi3 is typically too small to generate a right response.

The problem is not with Ollama, but the capability of the model served with Ollama.

No, the problem is with Ollama. I never had a single model work right with Ollama and TaskWeaver (across 4 machines - Win 10/11 and Linux). LM Studio Server works fine.

The problem is not with Ollama, but the capability of the model served with Ollama.

No, the problem is with Ollama. I never had a single model work right with Ollama and TaskWeaver (across 4 machines - Win 10/11 and Linux). LM Studio Server works fine.

I use meta-llama3model with Ollama, and success to get the expected outcome. But when I change the model from meta-llama3 to llama3-chinese, it failed.

The problem is not with Ollama, but the capability of the model served with Ollama. The model failed in following the instructions in the prompt to generate a response in the correct format. Phi3 is typically too small to generate a right response.

I agree with this, but I do not clear which model is better to generate a response in the correct format. I try to use GLM-4, meta-llama3, llama3-chinese, but each one get the different result.
Do you have any suggestion about how to choose a better model for taskweaver?
Or what should you pay attention to when using the model?
Thanks a lot!

The problem is not with Ollama, but the capability of the model served with Ollama. The model failed in following the instructions in the prompt to generate a response in the correct format. Phi3 is typically too small to generate a right response.

@liqul agree with this, but I do not clear which model is better to generate a response in the correct format. I try to use GLM-4, meta-llama3, llama3-chinese, but each one get the different result. Do you have any suggestion about how to choose a better model for taskweaver? Or what should you pay attention to when using the model? Thanks a lot!

Thanks for sharing information on your experiments. I personally tested a few models under 10B (don't want to list all of them) and found that meta-llama3 works generally the best among all the others. However, it sometimes still fails to follow the correct format. We are recently working on a branch to better support for not-that-large language models and it is still on going. The basic idea is to leverage constrained generation to enfore the model generating its output exactly following a certain schema. Check out some popular projects here:

https://outlines-dev.github.io/outlines/
https://github.com/noamgat/lm-format-enforcer

It is still not finished yet.

The problem is not with Ollama, but the capability of the model served with Ollama. The model failed in following the instructions in the prompt to generate a response in the correct format. Phi3 is typically too small to generate a right response.

@liqul agree with this, but I do not clear which model is better to generate a response in the correct format. I try to use GLM-4, meta-llama3, llama3-chinese, but each one get the different result. Do you have any suggestion about how to choose a better model for taskweaver? Or what should you pay attention to when using the model? Thanks a lot!

Thanks for sharing information on your experiments. I personally tested a few models under 10B (don't want to list all of them) and found that meta-llama3 works generally the best among all the others. However, it sometimes still fails to follow the correct format. We are recently working on a branch to better support for not-that-large language models and it is still on going. The basic idea is to leverage constrained generation to enfore the model generating its output exactly following a certain schema. Check out some popular projects here:

https://outlines-dev.github.io/outlines/
https://github.com/noamgat/lm-format-enforcer

It is still not finished yet.

Thank you very much for your quick reply and your suggestions！
I'm sorry for not expressing myself clearly. The content that needs to be supplemented is that the model I tested are all  lager than 10B, including meta-llam3-70B, llama3-chinese-70B. The problem I mentioned above is using those models. meta-llam3-8B failed in my test all the time.
Looking forward to your new release！


Ask for CM full name when logging a sent pledge

I think we have an open question about what Case Manager / User name data to have in this information, specifically whether to do first name and last name both, or just an all inclusive name.
Background: We set up models with both first and last in #38, and I rolled this back in #49 to allow user objects to save again. (Devise requires that you specifically whitelist non-devise attributes, which in #38 are first_name, last_name, role, and line. We also may need to change pages downwind, such as the sign up page.)
Beyond just the code changes, though, we should figure out what to do about including CM full names.
My own perspective is that DCAF rarely uses full names on the internet or in its current spreadsheet except in cases of board of directors, and I'm (admittedly) gunshy about use of full name, so I'd prefer to use an abbreviated name or nickname.
However, @NerdyGirl537 pointed out that this is would be a barrier to autofilling full name on pledge forms, which is true and also a problem, since part of the goal of this app is to make the rote parts of CMing less time-intensive.
A few sample options of how to proceed:

Full name only
Full name as a slightly buried field in a different place than name, so it's not IMMEDIATELY accessible but still accessible via the app (a little extra development, slightly safer).
Split the baby and do something like 'type in your name to send the pledge', and require a full name there (would require some annoying extra development but safer)

I'm totally open to criticism that I'm being too gunshy on this and that we should roll with first name and last name and it's no big deal, but would like to get the discussion on record to inform a group decision, and have something to use as a signpost in case this pops up again.
cc @lwaldsc @mebates @kevin-wei @drownedout @adinneen as immediate stakeholders / people who worked on #38 .

Def into the third option if it's not too much extra work. We can have the CM enter their full name as kind of a signature when they send the pledge. I feel like using initials in the actual data is safer.

I think we can declare the third option (coincidentally, the one we're the way to proceed here, let's just keep name / username and require full name on pledge sending. Changing the title to reflect that and backlogging.

Resolved in #956 !


Savy.js not working in Safari

Forms won't save in Safari 13.1.1 but will do in other browsers (eg. Chrome)

I just tested it on Safari 13.1.1 and it works fine.
Would it be possible to provide me a reproduction HTML page ?


no idea how to run or start or modify files

just downloaded and reading though all of the readme's in the file gives me no indication on how to use this tool properly

The forum post has a how to use section:
https://forum.fenoxo.com/threads/titsed-a-save-editor.2809/


build(deps): Update darwin aarch64 hashes and IDs

This PR updates the hashes and IDs for darwin aarch64 artifacts.

Superceded by https://github.com/runfinch/finch-core/pull/438


Typo

"Event publishers use Azure Active Directory based authorization with OAuth2-issued JWT tokens or an Event Hub-specific Shared Access Signature (SAS) token gain publishing access." - This sentence doesn't make sense. Should it have "to" before "gain publishing access"?

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

ID: 71adf8e4-a51b-d20d-39e1-fd7551bc94b9
Version Independent ID: 3d26fbc0-b6ae-e0ca-089f-e4966c19ef22
Content: Overview of features - Azure Event Hubs - Azure Event Hubs
Content Source: articles/event-hubs/event-hubs-features.md
Service: event-hubs
GitHub Login: @spelluru
Microsoft Alias: spelluru

@DavidKlempfner
Thanks for your feedback! We will investigate and update as appropriate.


RemoveElement on sorted collection

I have a document Whatever with a collection "users" which reference many User.
This collection is sorted with an annotation.
/**
* @ODM\ReferenceMany(targetDocument="User", simple=true, sort={"lastname"="asc", "firstname"="asc"})
*/
protected $users = array();

If I try to delete one user reference from the collection.
$whatever->getUsers()->removeElement($user);

The user deleted is not the one I want to delete. There is an issue with the key here because of the sort annotation. The removeElement method should remove the element at the key x based on the order in the database.
Log :
doctrine.INFO: MongoDB query: {"update":true,"query":{"_id":{"$id":"51c4a13ffa4634362a000061"}},"newObj":{"$unset":{"users.2":true}},"options":{"safe":true,"fsync":false,"timeout":30000},"db":"something","collection":"Whatever"}

Am am also experiencing this issue. Has there been any resolution to this?

@Jimgitsit I believe most important part is @jmikola's

Sort should really only be used on the inverse side of a ReferenceMany relationship

and maybe we should throw exception if owning side tries to use this combination? If you really want to stick with sort here try using setArray or atomicSetArray for your collection, it should do the trick. I think I've seen a PR that would fix removing sorted references using addToSet or pushAll strategies but I need to find it (that wasn't sole purpose of that PR but it will be enough for us)

For the record PR I had in mind is https://github.com/doctrine/mongodb-odm/pull/524

#1191 has been merged manually in https://github.com/doctrine/mongodb-odm/commit/56796fa0b74d3a4b68fc0b266bcee942b4f8b3c3


Support for Build Number? (I.e. 1.0.0+1)

Many times I want to bump just the build number and not the version number.
Ideally, it would take 1.0.0 or 1.0.0+1
and bump it to 1.0.0+2

Good idea, but may take a bit of extra work. The version manipulations are made through pubspec, not sure it it supports build number. If not< one would want to submit a PR to it.

Ok great! I’ll do some research

Good idea, but may take a bit of extra work. The version manipulations are made through pubspec, not sure if it supports build number. If not, one would want to submit a PR to it.

Not sure if implementing an incrementor for build number in pubspec will work because it is not required to be an int from my understanding.
I've added #14 which you can use to add a build version more easily.

Version 0.5.0 allows incrementing the build number. Please give it a try.

Awesome thanks! I will try this tomorrow 😁

Version [0.6.1]9https://pub.dev/packages/pubspec_version/versions/0.6.1) supports the -b flag to retain the build part when bumping major/minor/patch.


Inconsistent "reasonable value for N" warnings using regex

When using regex, warnings are displayed when using the .* or .*? syntax.  However, a similar warning is not displayed when using the .{0,} or .{0,}? syntax.  As these queries essentially mean the same thing, I would expect the warnings to be consistent as well.

I can't reproduce this on latest master.
wxs@wxs-mbp yara % cat rules/re.yara
rule a { strings: $a = /.{0,}/ $b = /.{0,}?/ condition: any of them }
wxs@wxs-mbp yara % ./yara rules/re.yara /bin/ls
rules/re.yara(1): warning in rule "a": $a is slowing down scanning
rules/re.yara(1): warning in rule "a": $b is slowing down scanning

@wxsBSD in your rule the other warning is triggering first. With this other rule is reproducible:
rule a {
strings:
  $a = /fooo.{0,}bar/
condition:
  $a
}

Wow, I completely missed that this is the other warning for poor atom quality. Sorry for the confusion and I’ll take a look at the PR tonight.

Too late ;)  https://github.com/VirusTotal/yara/pull/1398


Snippet

Q
A

Fixed Issues?
Fixes #1, Fixes #2

Patch: Bug Fix?

Major: Breaking Change?

Minor: New Feature?

Tests Added + Pass?
Yes

Any Dependency Changes?

To whom it may concern,
I have add a new snippet 4 besides the snippet 3 in the Example Usage from the main page. If we can improve the docs with the optimised version, redux-saga could be more user-friendly and cause less confusion for future developers.
You can ignore the configureStore branch and merge this branch please.
If the code is no problem, and I would be happy to add it along the the rest createStore docs gradually.
Cheers,
David

Thanks for this PR!  It looks pretty good to me.  I'd like to take a stab at reviewing the docs and making some bigger changes to modernize our thinking about redux-saga

You’re welcome. I cannot wait to see a mordernized
Redux-saga now ;)
On Thu, Nov 17, 2022 at 08:22 Eric Bower @.***> wrote:

Thanks for this PR! It looks pretty good to me. I'd like to take a stab at
reviewing the docs and making some bigger changes to modernize our thinking
about redux-saga
—
Reply to this email directly, view it on GitHub
https://github.com/redux-saga/redux-saga/pull/2333#issuecomment-1317864610,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP7V6UPOFMBLSEMEZ7PFRWDWIV3C3ANCNFSM6AAAAAARSLBXUM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Circling back to this, can you resolve the conflicts and then I'll merge?  Thanks!

Conflicts resolved, cheers ;)


Added a fix to mind reader so it can play geller, and tested that it can

Adding suggested change from https://github.com/drvinceknight/Axelrod/pull/34 to address https://github.com/drvinceknight/Axelrod/issues/22

Can you add tests for the reset, init and str methods please. Take a look at some of the other strategies to see what is needed. I'm guessing this might be the case for #54 also.
Also, the dosctring for the strategy needs a better explanation: this does more than just what the one sentence you've put down says: 'pretends to play etc...'

Note that @meatballs in #56 has added command line arguments to the run_tournament.py script so it's easier to control cheaters.

Ive added in some tests for all the methods you have listed as well as updated the documentation in the method.
Like you said this was also the case in https://github.com/drvinceknight/Axelrod/pull/54 which has also been taken care of.


config missing any

[x] Captured Nidoran F! [CP 308] [IV 0.56] - exchanging for candy
Traceback (most recent call last):
File "pokecli.py", line 187, in
main()
File "pokecli.py", line 178, in main
bot.take_step()
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/init.py", line 35, in take_step
self.stepper.take_step()
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/stepper.py", line 61, in take_step
self._work_at_position(position[0], position[1], position[2], True)
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/stepper.py", line 134, in _work_at_position
self.bot.work_on_cell(cell, position, pokemon_only)
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/init.py", line 120, in work_on_cell
hack_chain = worker.work()
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/cell_workers/seen_fort_worker.py", line 40, in work
self.stepper._walk_to(self.config.walk, *position)
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/stepper.py", line 87, in _walk_to
alt, False)
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/stepper.py", line 134, in _work_at_position
self.bot.work_on_cell(cell, position, pokemon_only)
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/init.py", line 90, in work_on_cell
if worker.work() == -1:
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/cell_workers/pokemon_catch_worker.py", line 135, in work
if self.should_release_pokemon(pokemon_name, cp, pokemon_potential, response_dict):
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/cell_workers/pokemon_catch_worker.py", line 213, in should_release_pokemon
release_config = self._get_release_config_for(pokemon_name)
File "/Users/Sites/shuttlebay/POKEMON/PokemonGo-Bot/pokemongo_bot/cell_workers/pokemon_catch_worker.py", line 255, in _get_release_config_for
release_config = self.config.release_config['any']
KeyError: 'any'
Other Information
OS: osx yosemite
Git Commit: 631b0435d46b77788ad11acb58b810c777f10c60

rename release_config.json.example to release_config.json

Yep -- did that. Even attempted adding an any object

where did you put release_config.json file?

1D10T error... I forgot about release_config and was only looking at config.
Thanks for your eyeballs!!


mamba2 environment

Hi, would anyone be able to share a Docker image or conda environment for mamba2? I’m having a bit of trouble getting the environment set up and would really appreciate it!

There are many tutorials online for setting up the Mamba2 environment, and they can all successfully guide you through the process. What is your setup like? What specific errors are you encountering?


Images within client-side-only loaded components aren’t optimized

Images within client-side-only loaded components aren’t optimized. For example:
✅ This works
import dynamic from 'next/dynamic';
import type { NextPage } from 'next';
import ComponentWithImage from './ComponentWithImage';

export const Page: NextPage = () => (

Title

    <ComponentWithImage />

);

❌ This doesn't work
import dynamic from 'next/dynamic';
import type { NextPage } from 'next';

const ClientSideComponentWithImage = dynamic(
  async () => await import('./ComponentWithImage'),
  { ssr: false }, // The problem
);

export const Page: NextPage = () => (

Title

    <ClientSideComponentWithImage />

);

The .next/custom-optimized-images.nd.json manifest isn't populated with the dynamic images during next build.

@psirenny
First of all, thank you for opening the issue!
As to the main issue, I understand that you are unable to optimize images within a component that functions only on the client side.
Here's the thing, components that cannot be evaluated at build time cannot get information about the images to be optimized.
Therefore, the current specification does not allow optimization.
For your information, I would like to ask, when is an image component used within a component that functions only on the client side?
Thank you very much!

Here's the thing, components that cannot be evaluated at build time cannot get information about the images to be optimized.

Darn, I was hoping that wasn't the case.
I'm client-side loading components that aren't visible on initial page render. For example, content behind a model and content at the bottom of very long landing pages.

I see.
It would certainly be nice to be able to use it that way.
Please give me some time to figure out how it works!
Also, if you have a specific design in mind, by all means, you can comment here or create a new feature request!

@psirenny: How realistic is it to Regexp all ts(x) / js(x) files to look for the Image / have an option to optimize all images in a folder?


Contributing guidelines are missing

Thanks for the great site. The contributing guidelines are missing when you click the link as shown below:

Website seems to be working now.


Freeze using prescribed fileobj mode 'wb' raises TypeError

Following the example code for using a fileobj parameter at URL https://dataset.readthedocs.io/en/latest/_modules/datafreeze/app.html#freeze, I get the following exception:
>>> result = db['auth_user']
>>> fh = open('/dev/null', 'wb')
>>> datafreeze.freeze(result, format='json', fileobj=fh)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/opt/gss/venvs/3.6/lib64/python3.6/site-packages/datafreeze/app.py", line 124, in freeze
    return freeze_export(Export({}, kw), result=records)
  File "/opt/gss/venvs/3.6/lib64/python3.6/site-packages/datafreeze/app.py", line 136, in freeze_export
    serializer.serialize()
  File "/opt/gss/venvs/3.6/lib64/python3.6/site-packages/datafreeze/format/common.py", line 93, in serialize
    self.close()
  File "/opt/gss/venvs/3.6/lib64/python3.6/site-packages/datafreeze/format/fjson.py", line 61, in close
    fh.write(data)
TypeError: a bytes-like object is required, not 'str'

Should the fileobj be mode 'wt' instead?  Initially I was using an io.BytesIO, as would be appropriate for mode 'wb' and it produced the same exception, however a io.StringIO object worked. Appears a  (one letter) documentation fix is needed.  Thanks for such a great module.
edit: spellig

Ok, looks like this is a Python 3 issue. Are you interested in helping with a PR?

Yes, Python 3.6. Sure, what I can do to help.


onInit Callback

Could be useful to have a callback when an istance is initialized

Hello @cedbesafilm,
Thanks for your suggestion, I'd appreciate if you could back it up with a use case.
Good day, cheers! :)

in my app autocompletes are build dinamically based on some js objects, first i build the input element and last i create autocomplete
before i can dinamically set value to autocomplete i have to wait that autocomplete are instantiated otherwise i have referenceError
now i have a counter to autocomplete to be build and a setTimeout to wait autocomplete is really instantiated
But with an onInit callback i can delete the timeout

Can't you wrap the autocomplete configuration in a function and you simply call the function whenever that JS object gets completed etc?

is what i do but with a counter....but I saw that if my app tries to set a value immediately after the counter goes to 0 i have a referenceError so I had to add a 200ms timeout to prevent this from happening
for me it is not a big problem but it made me think that such a function was useful 😄

Ah ok. It's just that my use-case also involves firing multiple autocomplete instances dynamically but I have never encountered your error. But okay.

v8.0

Could anybody tell me how to make there events work? I couldn't find anything about the life cycle events in the documentation.
when are they fired, on what element should I listen to.
I can't seem to get any event data.


Add more information about manifest to download confirmation pop-up

In download flow, after downloading manifest, users see a confirmation pop-up.  We should add a sentence here saying clarifying what the file manifest is.
@jodihir  to suggest text

Does this sentence work?:
The manifest is a tab-delimited file containing ID and version information about the data bundles and associated files that you requested.

This needs to be in the data-browser repo...

Moved to https://app.zenhub.com/workspace/o/humancellatlas/data-browser/issues/265.


Loc Automation - json update on handback for Branch: jsonUpdater

Loc Automation - json update on handback for Branch: jsonUpdater

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

jobs/test/333/info.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


unstable outline client 10 & 11 in Xiaomi Redmi A1+

I did a new installation ( outline client version 10 and 11 on android OS ) on the Xiaomi Redmi A1+ phone, but every few minutes it disconnects and I have to reconnect. OS is android 12 Go.
Mostly this happens when I run programs such as WhatsApp, Telegram or Instagram.
I used v2ray and had no problem.
any one can help me?? please

Thank you for reaching out! Please contact us at support.getoutline.org and include the GitHub issue number so that we can better support your needs.
If you haven’t already, check out the Outline Support Site at support.getoutline.org for access to help articles and more.


Staking specs should have a clear time based + multiplier formula

updated formula in
https://docs.google.com/document/d/1TEACKBwEhNFAglk_g1vZJKvOxZSpprbH7_nOTtloF-w/edit


[xoptional] String representation for missing values

Currently, ostream operator() prints N/A for missing values, which cannot be used as an input for initializing missing values.
Maybe printing xt::missing<T> with the proper string representation of type T would be a better choice.
(Moved from https://github.com/QuantStack/xtensor/issues/381)

There was a suggestion by wolf about a tag value castable to a missing xoptional.


Add ability to get strand dump during code execution

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues.

$title
Fixes #36210
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

To get the strand dump when a Ballerina program is running, the user needs to get the PID of the Ballerina program (possibly using jps) and then send the SIGTRAP signal to that process.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Shall we add a issue for adding a test?

Shall we add a issue for adding a test?

Created https://github.com/ballerina-platform/ballerina-lang/issues/36733.
Also updated this PR description with some example strand dump outputs.

Closing this because a new PR has been sent to update 2 branch.


Epic: Overall upgrade

Upgrade python version(>= 3.8)
Upgrade Spark to 3.4.1
Update doc

Done! https://github.com/Wh1isper/pyspark-sampling/pull/7


Add the ability to replace parts of URL paths with replacements.json

Often in RESTful urls, there are IDs of objects used as a part of the path.  This can be seen even in the current test data:
"name": "items/1"
This is a common occurrence as the output of the Spring RESTdocs tests will use the values that were created in testing.  It is highly likely that these values are invalid in the development/integration environments running these services.  Instead, allowing a variable replacement for these values is useful.
The replacement.json framework is already set up to handle this problem for headers and host name.  This feature will extend that functionality to allow parameterization of the path parts.
AC:
Support "pathReplacements" in the replacements.json.  This will search for a part in the URL matching the "part" object.  The next part of the path (after a "/" character) will be replaced by the newValue if the oldValueRegex matches.  The additional check of the oldValueRegex is important as sometimes the structure of a project's endpoints does not guarantee that every "items" endpoint follows the structure of "items/{{itemId}}".
Given the following configuration in replacements.json, these URLs should be converted to these values:
pathReplacements: [         {             part: 'items',             oldValueRegex: '^\\d+$',             newValue: '{{itemId}}'         }     ]

"items/1" becomes "items/{{itemId}}"
"items/cloneItem" is unchanged
"items" is unchanged
"items/1/child-1" becomes "items/{{itemId}}/child-1"

For Postman, the request.url.path array also needs to have the element containing this ID updated.
"path": [             "",             "items",             "1"           ]
becomes:
"path": [             "",             "items",             "{{itemId}}"           ]

I did this work off of the branch that supports nested folders.  Since that is still in PR, I had to open the PR in my forked repository, with issue-16 as the target branch:
https://github.com/mag382/restdocs-to-postman/pull/4

Support was added in https://github.com/fbenz/restdocs-to-postman/pull/19 and released in 2.0.5 Thanks again for the contribution.


Ionic 3.1.1 Cannot read property 'writeValue' of null

Cordova CLI: 6.5.0
Ionic Framework Version: 3.1.1
Ionic CLI Version: 2.2.2
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.4
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.9.1
Xcode version: Not installed
I use the directive in following code:
<ion-textarea fz-elastic disabled="true" [(ngModel)]="currentNews.text">
App.Module.ts
import { ElasticModule } from 'ng-elastic'
& imports:
ElasticModule,
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'writeValue' of null
TypeError: Cannot read property 'writeValue' of null
at new ElasticDirective (elastic.directive.js:19)
at createClass (core.es5.js:10794)
at createDirectiveInstance (core.es5.js:10627)
at createViewNodes (core.es5.js:11977)
at callViewAction (core.es5.js:12347)
at execComponentViewsAction (core.es5.js:12286)
at createViewNodes (core.es5.js:12004)
at createRootView (core.es5.js:11882)
at callWithDebugContext (core.es5.js:13013)
at Object.debugCreateRootView [as createRootView] (core.es5.js:12474)
at ComponentFactory_.create (core.es5.js:9818)
at ComponentFactoryBoundToModule.create (core.es5.js:3427)
at Tab.NavControllerBase.viewInit (nav-controller-base.js:564)
at nav-controller-base.js:356
at t.invoke (polyfills.js:3)
at new ElasticDirective (elastic.directive.js:19)
at createClass (core.es5.js:10794)
at createDirectiveInstance (core.es5.js:10627)
at createViewNodes (core.es5.js:11977)
at callViewAction (core.es5.js:12347)
at execComponentViewsAction (core.es5.js:12286)
at createViewNodes (core.es5.js:12004)
at createRootView (core.es5.js:11882)
at callWithDebugContext (core.es5.js:13013)
at Object.debugCreateRootView [as createRootView] (core.es5.js:12474)
at ComponentFactory.create (core.es5.js:9818)
at ComponentFactoryBoundToModule.create (core.es5.js:3427)
at Tab.NavControllerBase._viewInit (nav-controller-base.js:564)
at nav-controller-base.js:356
at t.invoke (polyfills.js:3)
at d (polyfills.js:3)
at l (polyfills.js:3)
at Object.reject (polyfills.js:3)
at Tab.NavControllerBase._fireError (nav-controller-base.js:322)
at Tab.NavControllerBase._failed (nav-controller-base.js:310)
at nav-controller-base.js:365
at t.invoke (polyfills.js:3)
at Object.onInvoke (core.es5.js:4125)
at t.invoke (polyfills.js:3)
at n.run (polyfills.js:3)
at polyfills.js:3
at t.invokeTask (polyfills.js:3)
at Object.onInvokeTask (core.es5.js:4116)
at t.invokeTask (polyfills.js:3)
at n.runTask (polyfills.js:3)
defaultErrorLogger @ core.es5.js:1084
ErrorHandler.handleError @ core.es5.js:1144
IonicErrorHandler.handleError @ ionic-error-handler.js:63
next @ core.es5.js:4754
schedulerFn @ core.es5.js:3828
SafeSubscriber.__tryOrUnsub @ Subscriber.js:234
SafeSubscriber.next @ Subscriber.js:183
Subscriber._next @ Subscriber.js:125
Subscriber.next @ Subscriber.js:89
Subject.next @ Subject.js:55
EventEmitter.emit @ core.es5.js:3814
NgZone.triggerError @ core.es5.js:4185
onHandleError @ core.es5.js:4146
t.handleError @ polyfills.js:3
n.runGuarded @ polyfills.js:3
(anonymous) @ polyfills.js:3
a @ polyfills.js:3
invoke @ polyfills.js:3

@sansan88 thanks for submitting this. I've just pushed a new release, 1.0.0-beta.3. Could you upgrade to this version to see if it is fixed?

nice work!


new PR

This is the updated PR with new location of the adapter_config.yaml

please update run.sh with the right path

LGTM


Introduce a low-level protocol module (consolidates the packet and formats modules)

This is quite a large refactor of the protocol-related items in an attempt to
make a few improvements, mostly wrt to keeping in mind future plans for
both client and server implementations:

Allow for more granular reading and writeing of protocol types.
Allow for writeing protocol types using any type that implements
std::io::Write. Useful for re-using slices of bytes.
Follow the conventions set by the byteorder crate dependency.
Provide relevant protocol documentation along with each protocol type.
Provide a more uniform interface between reading and writing,
hopefully making things a bit easier for future server implementation.

Most of these changes are reflections of lessons I've learned
implementing other protocols in the past including
ether-dream, citp, m3u and other commercial work.
Below I'll give some more details on these changes in the hope that it
provides a bit more clarity and makes the changes a bit easier to
navigate!
The protocol module
The protocol module contains all types and constants defined in the
NTP RFC and provides method implementations that write and read
bytes in network endian order in a manner that precisely matches the
specification. I'm envisioning the protocol module as a common,
low-level layer that may be shared between client and server
implementations.
All protocol types have been consolidated within this protocol module.
I find this to make it a little easier to identify types that represent
the low-level protocol description, first giving an overview of the
model (the types) and then their behaviour (inherent implementations
followed by read/write implementations).
ReadBytes and WriteBytes traits
These traits can be thought of as extensions to the byteorder
ReadBytesExt and WriteBytesExt traits respectively that are specific
to NTP and allow for reading and writing NTP types to and from
network-endian octets.
In the same way that the byteorder traits enable io::Read and Write
types to read and write the various primitive types, the ntp ReadBytes
and WriteBytes traits enable those same readers and writers to read
and write ntp protocol types such as ShortFormat, TimestampFormat,
Packet, and so on.
Documentation
I've attempted to improve documentation for the protocol module items by
adapting (and in some cases directly copying) the specification as
described in the NTP RFC. I've attempted to format the doc comments in a
manner that should make them easy to peruse and navigate from the module
level docs.
Example
The example has been updated, though as the API is pretty much the same
not much has changed. I've slightly modified it to print each of the
given timestamps in local time as this personally helped me to intuit
how the NTP packets worked a little better.
Tests
The tests have been moved into a tests/protocol.rs module and updated
for the protocol refactor, using the original data and still passing.
Future Work
Following this, I imagine a nice next step might be to move the request
API into a client module in an attempt to prepare for the addition of a
server module. I still need to read through the protocol specification
more thoroughly before I'll feel comfortable diving any deeper, however I'm
currently in south-east Asia purely for the purpose of R&D so I'm sure I'll
get around to it soon :)
@JeffBelgum Sorry for the large PR! I realise this is a lot to digest,
Feel free to take your time reviewing and ask any question is you're
unsure about any of the changes, etc.

It looks like the doc-test has faild on nightly only (while passing fine on stable and beta) - perhaps it's worth removing the tests that attempt to make actual network calls, perhaps in favour of examples that we can manually run and test? Alternatively we could leave it as is with a no_run flag so it at least checks compilation.

A bit of a meta-point, I'm going to be out of town this weekend, so I won't be able to get online over the weekend.


Convert errors returned by task service to errdefs error.

In cri-containerd, we found that task.Kill doesn't return the errdefs NotFoundError when process already exits, which is not expected.
This PR converts all task service returned error from grpc error to errdef error, which also aligns with what we are doing in remote container store.
Signed-off-by: Lantao Liu<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1386   +/-   ##
=======================================
  Coverage   36.31%   36.31%
=======================================
  Files          23       23
  Lines        2897     2897
=======================================
  Hits         1052     1052
  Misses       1608     1608
  Partials      237      237

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 0a18801...f79981c. Read the comment docs.

LGTM

@stevvooe Thanks for the quick review, so quick.

@Random-Liu This might be resulting in a build error on the latest release.

@stevvooe Hm, how? The PR passed test.

@Random-Liu We hunted it down to something else. Sorry for the noise.


Less complex implementation

wouldn't this work just as well? none of the max nonsense.
const useForceUpdate = () => {
  const [, setIt] = useState(false);
  return () => setIt(it => !it);
};

I don't see why not! I've heard that you can just call setIt with no parameters, and it will always cause a re-renders (no shallow comparisons for updating), but I haven't had time to test that.

It works! So I've ended up here.
const useForceUpdate = () => useState()[1];

also the stuff to prevent integer overflow in the current implementation is probably unnecessary. If your app rerendered 60x per second it would take 4760 years to overflow.


Bug: Pasting position is wrong if a line ends with DecoratorNode

Lexical version: v0.11.1
Steps To Reproduce

Insert an inline image in the middle of a paragraph
Select the image, copy it. And paste it in the end of the same paragraph
Keep the cursor at the end of the paragraph, paste the same image again

Expectation: another image paste at the end of the paragraph
Actual: another image paste before the first inline image

We can repeat step 3 with text in the clipboard. The text will be pasted before the first inline image as well.

https://github.com/facebook/lexical/assets/2252473/131b95b5-027f-423c-a6d8-f8d56c5a5463
It seems that the insert position of the clipboard content will be wrong if there's an inline DecoratorNode at the end of a paragraph.
Link to code example: NA

The current behavior
See steps above
The expected behavior
See steps above

Hi @zurfyx , I was working on this issue and found these insights,
/---

target with DecoratorNode is entering into the else block in selection.InsertNode [ LexicalSelection.ts], where nexttarget is is being set to its parent thats why its pasting any content at the end of first node of selection paragraph.
/---

Also, Decorator node is set to return isInline always true so this 1678 actually blocking it where it can be sorted.
/---

Removing line 1540 can solve this issue as well, I can understand there might be different reasons why its there if you guys can give some inputs, I would like to build the logic for same.
/---
There are couple of ways we can sort this and would like to work on this if some insights I can get from you guys.
Thank you.

I can't reproduce this, sounds like it was fixed by the insertNodes rewrite some time ago https://github.com/facebook/lexical/pull/4758#issuecomment-1900593550


Heartbeat spams even at --verbosity=0

The heartbeat() method of rq does self.log.debug("Sent heartbeat to prevent worker timeout." ...).
Despite this going into debug, ./manage.py rqworker --verbosity=0 picks up on it. Easy to replicate with ./manage.py rqworker --worker-ttl 1 --verbosity 0.

You can change your log level as shown here https://github.com/ui/django-rq#configuring-logging.
The default log level is "DEBUG". You won't see the heartbeat if the log level is set to something higher than "DEBUG", for example, "INFO".

verbosity is not an argument the rqworker management command recognizes. You can change your logging configuration like @jastrauss suggested.


Handle passing in IE Options

This fixes #768

Rubocop complains of Watir::Capabilities being to long. Not sure if we want to ignore it or try and get it smaller. It's a beast

Pull Request Test Coverage Report for Build 1811

8 of 8 (100.0%)  changed or added relevant lines in 1 file are covered.
27 unchanged lines in 5 files lost coverage.
Overall coverage increased (+0.008%) to 97.767%

Files with Coverage Reduction
New Missed Lines
%

lib/watir/elements/select.rb
1
97.62%

lib/watir/elements/element.rb
1
99.31%

lib/watir/browser.rb
2
100.0%

lib/watir/wait.rb
3
89.29%

lib/watir/capabilities.rb
20
84.44%

Totals

Change from base Build 1806:
0.008%

Covered Lines:
2233

Relevant Lines:
2284

💛  - Coveralls

I've been hiding from capabilities class. Anyone want to meet up in person in November and hack on this and selenium things maybe with me? @Justin want to go to Des Moines for a weekend with me? :)

want to go to Des Moines for a weekend

said nobody ever

12 hour drive to talk about capabilities... I think I'll have to pass. To be honest, I don't know much about capabilities.

@jkotests yeah, none of us do really, which is part of the issue. :)
@lmtierney so it's settled we all need to go to Toronto. @joshmgrant wants to join as well.


Maintenance Status?

Is this library still being maintained?
Thanks

Guess not.

If anyone who has time wants to fork it and take it under their wing that'd be cool. If you do let me know and I can try to help out when I can.

Which branch should we maintain?

Master branch is a good way to start

I'm interested too

Who would like to take it on?

I'm interested to join as well.

I am interesting in setting up a team to maintain this repo with more repo ownership permissions. I'll create a poll/mailing list later around this.
I am busy with fulltime work to spend lots of time on individual maintenance, but can help with things like the direction this repo is moving in, once in a while fixing bugs, and setting up a maintenance team

if you are interested, please reach out at<EMAIL_ADDRESS>

I am interested too in helping maintain this project.

Has there been any movement in maintaining this project?

Just a thought: there is a large team of volunteer Python maintainers called https://jazzband.co -- there were about 500 of us at last count. More like an army of volunteer. This could be a good fit. I'm going to email you about this as well @codelucas as I'm a maintainer there and one of the people in charge.

Just a thought: there is a large team of volunteer Python maintainers called https://jazzband.co -- there were about 500 of us at last count. More like an army of volunteers. This could be a good fit. I'm going to email you about this as well @codelucas as I'm a maintainer there and I know one of the people in charge.

Good luck.  The code base for this module hasn't been updated in 2+ years, so I'm unsure of the viability of this Python Library at the moment.  There are dozens of pull requests awaiting @codelucas approval.

In my sight the next important step in maintaining this package is to drop the python3.4 support due to lxml: https://github.com/codelucas/newspaper/pull/768 https://github.com/codelucas/newspaper/issues/733 It is still unclear if we have to add pandas as dependency.
How does jazzband organize and coordinate the projects? I would suggest that we communicate over email groups.

I don't know the details of jazzband and that might be a good option. Or we
just fork it with multiple owners, this needs more attention
On Sat, Oct 31, 2020, 3:10 PM Ray<EMAIL_ADDRESS>wrote:

@Bachstelze https://github.com/Bachstelze I believe Jazzband just uses
the built-in GitHub project management features like Issues and Projects to
communicate. When a project is transferred to Jazzband, typically one or a
few project leads are chosen, but the whole community of Jazzband
volunteers has the power to review PRs and merge them and do releases. The
transfer process is described in detail at
https://jazzband.co/about/guidelines so have a look there, @codelucas
https://github.com/codelucas and see what you think. I would be happy
to help with the transfer process.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/codelucas/newspaper/issues/813#issuecomment-719975185,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGKUUYLJDHZFT624WPABCODSNROJZANCNFSM4NIJXU5A
.

We should stay here as long as @codelucas is willing to organize the maintenance. Moving to other owners won't solve the travis blockers e.g. the F String Invalid Syntax in Python 3.5. I see 3 options for this particular problem: Drop 3.5, use fromstr or future-fstrings.
Which permissions do we need to rerun the travis checks afterwards?

Has there been movement since June?
On Sun, Nov 1, 2020, 2:31 AM Bachstelze<EMAIL_ADDRESS>wrote:

We should stay here as long as @codelucas https://github.com/codelucas
is willing to organize the maintenance. Moving to other owners won't solve
the travis blockers e.g. the F String Invalid Syntax in Python 3.5
https://stackoverflow.com/questions/55182209/f-string-invalid-syntax-in-python-3-5.
I see 3 options for this particular problem: Drop 3.5, use fromstr or
future-fstrings.
Which permissions do we need to rerun the travis checks afterwards?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/codelucas/newspaper/issues/813#issuecomment-720047784,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGKUUYOQD6GEQJQJ6XRJUO3SNUFFJANCNFSM4NIJXU5A
.

This code base for this module hasn't been updated in years based on the pending pull requests.  I haven't seen any movement by  @codelucas to maintain newspaper, so does this library need to be forked and rebuilt/maintained by another team of volunteers?

My preference would be for codelucas to open it up to other owners so those
pull requests can be reviewed and approved. We need development to continue
and would prefer not to have to fork with new owners if possible.
On Sat, Feb 6, 2021, 9:00 AM johnbumgarner<EMAIL_ADDRESS>wrote:

This code base for this module hasn't been updated in years based on the
pending pull requests. I haven't seen any movement by @codelucas
https://github.com/codelucas to maintain newspaper, so does this
library need to be forked and rebuilt/maintained by another team of
volunteers?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/codelucas/newspaper/issues/813#issuecomment-774481877,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGKUUYMCBI4ZCITPIHM5PK3S5VDQHANCNFSM4NIJXU5A
.

I agree @FireBelow, but @codelucas seemed to have gone AWOL on this project.  He doesn't respond to emails about this open source project, triage issues or handle pull requests.  This looks to be a systemic problem based on the timestamps within this repository.

My preference would be for codelucas to open it up to other owners so those pull requests can be reviewed and approved. We need development to continue and would prefer not to have to fork with new owners if possible.
…
On Sat, Feb 6, 2021, 9:00 AM johnbumgarner @.***> wrote: This code base for this module hasn't been updated in years based on the pending pull requests. I haven't seen any movement by @codelucas https://github.com/codelucas to maintain newspaper, so does this library need to be forked and rebuilt/maintained by another team of volunteers? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#813 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGKUUYMCBI4ZCITPIHM5PK3S5VDQHANCNFSM4NIJXU5A .

I agree, and was just trying to give @codelucas another chance to respond
and participate. Should we pick a time to fork if no response is received
by then (weeks)?
On Sun, Feb 7, 2021, 1:36 PM johnbumgarner<EMAIL_ADDRESS>wrote:

I agree @FireBelow https://github.com/FireBelow, but @codelucas
https://github.com/codelucas seemed to have gone AWOL on this project.
He doesn't respond to emails about this open source project, triage issues
or handle pull requests. This looks to be a systemic problem based on the
timestamps within this repository.
My preference would be for codelucas to open it up to other owners so
those pull requests can be reviewed and approved. We need development to
continue and would prefer not to have to fork with new owners if possible.
… <#m_-3423028856714131830_>
On Sat, Feb 6, 2021, 9:00 AM johnbumgarner @.***> wrote: This code base
for this module hasn't been updated in years based on the pending pull
requests. I haven't seen any movement by @codelucas
https://github.com/codelucas https://github.com/codelucas to maintain
newspaper, so does this library need to be forked and rebuilt/maintained by
another team of volunteers? — You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#813 (comment)
https://github.com/codelucas/newspaper/issues/813#issuecomment-774481877>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGKUUYMCBI4ZCITPIHM5PK3S5VDQHANCNFSM4NIJXU5A
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/codelucas/newspaper/issues/813#issuecomment-774728960,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGKUUYMUKMAC2TKR242AYZDS53MRRANCNFSM4NIJXU5A
.

I would like to join improvement team of newsletter3k.
Guys let's start as soon as possible:
Barren Wallet was asked: when were you start to buy stocks? he said When I was 6 years old.
Do you have any regret? Yes. What was that? I should have started when I was 4-year old.

@codelucas
You wrote this in June 2020:

I am interesting in setting up a team to maintain this repo with more repo ownership permissions. I'll create a poll/mailing list later around this.
I am busy with fulltime work to spend lots of time on individual maintenance, but can help with things like the direction this repo is moving in, once in a while fixing bugs, and setting up a maintenance team

The code base for this Python module hasn't been updated for years.   Please let us know the status of this module.

Do you plan on clearing the backlog of Pull Requests?  If not, how can other resolves these Pull Requests?
Do you plan on maintaining this module? If not, how can others take over the controlled maintenance of this module?

And why aren't you answering emails related to the the status of this module?


textarea    is not in this validation

Please add    textarea
Thanks

Textareas are supported. You are not using the data-match validator correctly. Please see the docs. You want the pattern validator, but HTML5 doesn't support that natively for textareas, so you'll need to use a custom validator. See #349 for an example.

It looks like the example is broken because it's based on an old version of the validator. Here's an updated example:
http://jsbin.com/tohiyewigu/edit?html,js,output

resolved
Thank you very much


Setup a default discovery method

Should akka.discovery.method = akka-dns be a default in lagom-akka-discovery-service-locator?

If it's going to set a default [...] the best default to use would be aggregate preconfigured with both config and DNS (in that order of priority). That makes it really easy to plug in manual configuration to override DNS entries or add ones that aren't available in DNS.
Originally posted by @TimMoore in https://github.com/lagom/online-auction-java/pull/213#issuecomment-484303732

👍
My first step of upgrade service to 1.5.0 is adding akka.discovery.method = akka-dns to production.conf 😂

+1 for aggregate = [ config, dns ]


Response headers being accessed incorrectly

When requests are made to the Azure APIs, the res.headers CaseInsensitiveDict is converted to a regular dict with:
https://github.com/cloudify-incubator/cloudify-azure-plugin/blob/26afafd64a5b33eb1c8c9962959a6102e9fb9857/cloudify_azure/resources/base.py#L94-L101
Headers in the Azure response are usually titlecase, particularly Location and Retry-After. Converting res.headers to a dict in this manner doesn't affect the case of the original headers at all:
In [1]: from requests.structures import CaseInsensitiveDict
In [2]: headers = CaseInsensitiveDict({'Location': 'test'})
In [3]: headers
Out[3]: {'Location': 'test'}
In [4]: headers_dict = dict(headers)
In [5]: _
Out[5]: {'Location': 'test'}
In [6]: headers_dict.get('location')
In [7]: headers_dict.get('Location')
Out[7]: 'test'

but the rest of the code assumes that headers are now all lowercase and tries to access them as such.
This leads to errors like the one reported in issue #61 (and possibly #70?) even though Azure is returning the header as expected:
Task failed 'cloudify_azure.resources.resourcegroup.delete' -> HTTP 202 ACCEPTED but no Location header present [retry 21/60]

Fixed by #78


Allow customizing CPU features

For example, currently for x86_64 targets we set -mcpu=pentium4. However it is usually not an ideal one because of lacking modern instructions like CRC32, SSE4.2, AVX, AVX2. AVX2 is shipped in 2013 so that it is actually not that "modern" and should have a broad adoption.
On the other hand, some users might indeed want the compiled binary to be as much as portable, so setting these cpu features by default might not be a good choice.
My idea is to allow users specifying CPU features when calling zigbuild, like --target-cpu-features=.... When this is specified, we no longer provide default CPU features.
I came up two ways how these CPU features could be passed from cargo-zigbuild zigbuild to cargo-zigbuild zig cc/c++. Not sure whether there are better ways.
Solution 1:
Users specify the target CPU feature via an environment variable, so that in cargo-zigbuild zig cc/c++ command we receives it transparently.
Solution 2:
Users specify the target CPU feature via cargo-zigbuild zigbuild --target-cpu-features. The CPU features are then passed to the cache file with a hashed suffix (like zigcxx-x86_64-unknown-linux-gnu.2.17-<some_hash>.sh). In this way, multiple concurrent zigbuilds will not cause conflicts with each other, and we can keep the file untouched when the cpu features are unchanged (for compatible with https://github.com/rust-cross/cargo-zigbuild/issues/239). Pass by file could be possibly better, as it is more reproduciable than environment variables.

currently for x86_64 targets we set -mcpu=pentium4.

This isn't true? We are only using pentium4 for i686 Linux target.
https://github.com/rust-cross/cargo-zigbuild/blob/402ddac9e6a186e986d6478d9bca8c379d80faaa/src/zig.rs#L1017-L1022
I think we should just go with solution 1: parse RUSTFLAGS to get target-cpu and target-features, then translate them to zig -mcpu flag.

currently for x86_64 targets we set -mcpu=pentium4.

This isn't true? We are only using pentium4 for i686 Linux target.
https://github.com/rust-cross/cargo-zigbuild/blob/402ddac9e6a186e986d6478d9bca8c379d80faaa/src/zig.rs#L1017-L1022
I think we should just go with solution 1: parse RUSTFLAGS to get target-cpu and target-features, then translate them to zig -mcpu flag.

Good idea! In this way Rust land and C land uses the same CPU features, looks better.

After some investigation I'm now worrying about one case:
cargo-zigbuild zig cc as a compiler wrapper, now changes behavior when there are environmental changes (e.g. RUSTFLAGS). This actually conflicts with other compiler wrappers such as ccache, where they expect the compilers (and compiler wrappers) to produce exactly the same output using the same input files.
TL;DR, what will happen is that, for some crates that tries to invoke ccache internally (like rust-rocksdb), when user changes RUSTFLAGS, rebuild will not happen due to ccache not invalidated.


Error on title page documentation

Under the redis cluster section (Special note for AWS with TLS), there is a section that reads

var cluster = new Redis.Cluster(
[{
host: 'clustercfg.myCluster.abcdefg.xyz.cache.amazonaws.com',
port: 6379
}],
{
dnsLookup: (address, callback) => callback(null, address),
redisOptions: {
tls: {}
},
}
};<

It has an extra '}' at the end where it should be a ')'
This was very useful part for solving a connection issue I had with AWS.

Nice catch! Could you create a pull request for that?


Adding martial arts

Hello, yesterday i tried this tool to create some character (and shared it to some of my friends for them to use it) and we noticed that whenever you add a martial art module to your character, you dont get the bonus MK ( +10mk for each martial art except tai chi which is +30 IIRC)
Maybe im just wrong and it doesnt work like that, care to confirm anyone?

The character generator is using the revised martial arts rules from Dominus Exxet.  In those rules, each martial art from the core rulebooks was split into 3 different degrees of skill, and in most of them the MK bonus isn't obtained until reaching the 2nd degree (in the case of Tai Chi, it grants 10 MK for the base degree and another 20 MK for the advanced degree).  There are 4 pages for martial arts in the core rulebook, there are 15 for the revised system in Dominus Exxet; everybody I've talked to so far prefers the revised rules, but they do require using an extra book (which has a lot of other cool stuff also).
Do you want to give those rules a try, or do you think the character generator should have an option to use the core rulebook martial arts?  I could take a stab at adding such an option, but not sure when I'd have time to do it; this project has been stalled for a while because some of the players in my campaign have been too busy with other time commitments recently to fit in any game sessions.

Hey hello, actually i forked the project and discovered just that a few minutes after writting this comment!
I was actually re-reading the entire core book and started reading the dominus exxet revision because im planing in adding an itty bitty small tick to change between core and dominus exxet, is this ok with you or should i put the entire thing under?

Sure, go ahead; I'll definitely make time to review and merge any reasonable changes.  And I'll try to use that as motivation to charge on and continue with the next batch of features; I was trying to finish adding support for the creature and magic rules needed to support a succubus NPC who's traveling with the party (one of the PCs was so impressed by the ease with which she took him down that he recruited her).


[Bug]: add_missing_bounds not working when time type is numpy.timedelta64

What happened?
xarray's tutorial sample data for air temperature has its time axis typed numpy.timedelta64 while numpy.timedelta is expected from xcdat
What did you expect to happen? Are there are possible answers you came across?
The issue can be addressed by converting numpy.timedelta64 to numpy.timedelta if needed when checking the difference between the interval of the second and first time steps.
Minimal Complete Verifiable Example (MVCE)
import xcdat as xc
import xarray as xr

# Load xarray tutorial sample data
ds = xr.tutorial.load_dataset("air_temperature")
data_var = "air"

# Add axis attributes to lat / lon axes, which was missing in the sample data
new_y = ds.lat.assign_attrs(axis='Y')
new_x = ds.lon.assign_attrs(axis='X')
ds = ds.assign_coords(lat=new_y, lon=new_x)

# Add bounds
ds = ds.bounds.add_missing_bounds(["X", "Y", "T"])

Relevant log output
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[7], line 1
----> 1 ds = ds.bounds.add_missing_bounds(["X", "Y", "T"])

File ~/mambaforge/envs/xcdat_dev_20240401/lib/python3.11/site-packages/xcdat/bounds.py:189, in BoundsAccessor.add_missing_bounds(self, axes)
    187         bounds = create_bounds(axis, coord)
    188     elif axis == "T":
--> 189         bounds = self._create_time_bounds(coord)
    190 except (ValueError, TypeError) as e:
    191     logger.warning(e)

File ~/mambaforge/envs/xcdat_dev_20240401/lib/python3.11/site-packages/xcdat/bounds.py:607, in BoundsAccessor._create_time_bounds(self, time, freq, daily_subfreq, end_of_month)
    605 if daily_subfreq is None:
    606     diff = time.values[1] - time.values[0]
--> 607     hrs = diff.seconds / 3600
    608     daily_subfreq = int(24 / hrs)  # type: ignore
    610 time_bnds = self._create_daily_time_bounds(timesteps, obj_type, freq=daily_subfreq)  # type: ignore

AttributeError: 'numpy.timedelta64' object has no attribute 'seconds'

Anything else we need to know?

Note that xcdat's missing bounds functionality expects cftime of datetime64 objects for the time axis (here).
Is it possible to convert the time axis before using add_missing_bounds? Something like this could work:
my_dataset['time'] = X(my_dataset.time) (where X is some pandas/numpy/cftime operation that might convert the time axis)
I think this would be preferable to adding in pandas functionality in the missing bounds routines. If you do add this functionality, it would be ideal to do it in a separate PR.

@lee1043 : does this resolve this issue:
ds = xr.tutorial.load_dataset("air_temperature", use_cftime=True)

@pochedls Thank you for the thoughts. add_missing_bounds is an example here to show the issue, while the initial intent was to do temporal averaging. type(ds.time.values[0]) shows they are numpy.datetime64.
Good to learn about use_cftime=True, which resolved the issue.
The current bounds.py already has a part to convert object to timedelta at below, so to make it consistent I think it won't be harmful to add it where it was missed (as I did in https://github.com/xCDAT/xcdat/commit/27b13bd010bb2be4aeff3f85faf3d3fc59058381).
https://github.com/xCDAT/xcdat/blob/223869e2a286ae403427e26921c749f60b0d4f6b/xcdat/bounds.py#L916
I however see @tomvothecoder left a comment below the above line
    # FIXME: These lines produces the warning: `PerformanceWarning:
    # Adding/subtracting object-dtype array to TimedeltaArray not
    # vectorized` after converting diffs to `timedelta`. I (Tom) was not
    # able to find an alternative, vectorized solution at the time of this
    # implementation.

I will open a separate PR as suggested.


Add Billing and Support

Hi @rkoval,
I sometimes visit the pages of Billing and Support via EC2 console using your workflow.  I want to visit directly them.
However they don't have their icons. So I use AWS general icon.
Thanks.

@rkoval Could you please review?

LGTM, thanks for your contribution @masutaka !


Example nº 50 not working

Example nº 50 not working:
http://tombatossals.github.io/angular-openlayers-directive/examples/050-layer-geojson-change-style-example.html
The layer style doesn't change on user submited colors. I'm I doing something wrong?
tks.

Yess, this was caused by a recent PR which tried to optimize the deeper watcher of the layer properties. I have reverted the commit since we can think a better strategy for this. It's working again now.

Thanks for your quick response.


Upgrade netty version to 4.1.51

What is the purpose of the change
Netty version 4.1.51 fixes some bugs and improves performance
Brief changelog
Upgrading to the latest version can improve the performance and stability of network transmission
Verifying this change
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

@skyguard1 hi, thanks for your contribution
https://github.com/apache/dubbo/blob/829eb19ddaf3025225a463f8f326eff059b8ba0a/dubbo-dependencies-bom/pom.xml#L95
close for duplicated pr
This has been fixed in the latest master branch.


Error requesting one time payment - "Merchant account not found"

Hi,
Unsure how to proceed... it's likely a braintree issue, but I just want to make sure I'm covering my bases. I've triple checked my merchantId, publicKey and privateKey and ensured that they're 100% correct, however I'm receiving a merchant not found error still.

Braintree setup
const gateway = braintree.connect({
    environment: braintree.Environment.Sandbox,
    merchantId: process.env.BRAINTREE_MERCHANT_ID,
    publicKey: process.env.BRAINTREE_PUBLIC_KEY,
    privateKey: process.env.BRAINTREE_PRIVATE_KEY
});

createToken method
    public createToken(request: Request, h: ResponseToolkit): Promise<string> {
        return new Promise((resolve, reject) => {
            this.gateway.clientToken.generate({}, (err, response) => {
                if (err) {
                    reject(err.message);
                } else if (!response.success) {
                    reject(response.message);
                } else {
                    resolve(response.clientToken);
                }
            });
        });
    }

Click handler in UI
        requestOneTimePayment(
            token,
            {
                amount: '5', // required
                // any PayPal supported currency (see here: https://developer.paypal.com/docs/integration/direct/rest/currency-codes/#paypal-account-payments)
                currency: 'GBP',
                // any PayPal supported locale (see here: https://braintree.github.io/braintree_ios/Classes/BTPayPalRequest.html#/c:objc(cs)BTPayPalRequest(py)localeCode)
                localeCode: 'en_GB',
                shippingAddressRequired: false,
                userAction: 'commit', // display 'Pay Now' on the PayPal review page
                // one of 'authorize', 'sale', 'order'. defaults to 'authorize'. see details here: https://developer.paypal.com/docs/api/payments/v1/#payment-create-request-body
                intent: 'authorize',
            }
        )

Any help would be greatly appreciated.

Hey, sorry for the late reply and thanks for the detailed report. Your setup seems correct. Googling your issue seems to point at a misconfiguration of your paypal merchant account. I double checked our config and under https://developer.paypal.com/developer/applications/ you should see a section named 'Express Checkout via Braintree SDK - Sandbox Accounts' where your sandbox credentials are. As for merchant ID it should be in https://www.paypal.com/businessprofile/settings ..
Ultimately though I think that the best thing you can do is get in touch with PayPal support as I think they would be best suited to help.

I am facing the same issue. May i know how you solved this?

I think the problem is with the token you are using. Try to print the error you are getting you will get more info about the problem.
In my case, it was the token (merchant not found). Try to use the token from this URL Create Token
If you don't get any error by using this token then the problem is with your token, It means your Braintree account is not connected with your PayPal account.
The solution is to link PayPal with your Braintree account  How to link

I was into this.. this solves the problem. [https://developer.paypal.com/docs/accept-payments/express-checkout/ec-braintree-sdk/server-side/node/](Paypal Integration)

For all users who still struggling to solve this issue follow the below steps:

Logged in paypal
Navigate to https://developer.paypal.com/developer/applications/
Click on App Name in my case it was "Default Application"
Copy Client Id and Secret
Now log in https://sandbox.braintreegateway.com/
Click on Processing
You will see Payment Method section
Turn on Paypal option if its already not, then click on link just down to toggle
Enter Client id and secret you copied above

Thanks for that :)

@trimitrtechnologies Thanks a lot for the solution.
@riso can you please add this steps in ReadMe in setup guide ?


NPM version tags missing from Github repo

The last tagged version on Github is 0.11.1, but NPM's latest is 0.13.2.

Tagged 0.13.2 version


Preprocessing in multilingual translation: Dictionary creation on multiple language pairs

❓ Questions and Help
I try to understand the preprocessing pipeline of multilingual translation as explained in the translation README:
The following code states how we should preprocess the data for multiple language pairs:

First binarize the first language pair and create a joined dictionary:

# Binarize the de-en dataset
TEXT=examples/translation/iwslt17.de_fr.en.bpe16k
fairseq-preprocess --source-lang de --target-lang en \
    --trainpref $TEXT/train.bpe.de-en --validpref $TEXT/valid.bpe.de-en \
    --joined-dictionary \
    --destdir data-bin/iwslt17.de_fr.en.bpe16k \
    --workers 10

Then re-use that dictionary during binarization of the second language pair:

# Binarize the fr-en dataset
# NOTE: it's important to reuse the en dictionary from the previous step
fairseq-preprocess --source-lang fr --target-lang en \
    --trainpref $TEXT/train.bpe.fr-en --validpref $TEXT/valid.bpe.fr-en \
    --joined-dictionary --tgtdict data-bin/iwslt17.de_fr.en.bpe16k/dict.en.txt \
    --destdir data-bin/iwslt17.de_fr.en.bpe16k \
    --workers 10

Question: Doesn't this lead to words, which occur only in the second language pair but not in the first, being replaced with unknown? The dictionary is created only on the first language pair. Will new words (from the training set of the second language pair) be added to the dictionary, or are they ignored/replaced with unknown?

Sort of. We only reuse the target dictionary, in this case "en". So any English words that only appear in the second dataset will be replaced by unknown. But in the end you should have three dictionaries: en, de, fr.

Thanks, good catch. You should remove the --joined-dictionary option, that way it reuses the English dictionary, but will generate a new French dictionary.
I'll update the instructions.

Fixed in e5facc9984bcfe3de8486db2639cd3c228d66dfa


Alpha-equivalence

Consider the following examples:
(* fml_alpha_equiv_1 *)
  let (x : (∀ a.  a → a) → int) = λ(y: ∀ a.  a → a)). 42 in
  let (z : ∀ b.  b → b) =  λw. w in
  x (~z)
(* fml_alpha_equiv_2 *)
  let (x : (∀ a.∀ b.  a → a) → int) = λ(y:∀ a.∀ b.  a → a). 42 in
  let (z : ∀ c.∀ d.  c → c) =  λw. w in
  x (~z)
 (* fml_alpha_equiv_3 *)
  let (x : (∀ a.∀ b.  b → b) → int) = λ(y:∀ a.∀ b.  b → b). 42 in
  let (z : ∀ c.∀ d.  d → d) =  λw. w in
  x (~z)
(* fml_alpha_equiv_4 *)
  let (x : (∀ a.∀ a.  a → a) → int) = λy(y:∀ a.∀ a.  a → a). 42 in
  let (z : ∀ b.∀ b.  b → b) =  λw. w in
  x (~z)
(* fml_alpha_equiv_5 *)
  let (x : (∀ a.∀ a.  a → a) → int) = λ(y:∀ a.∀ a.  a → a). 42 in
  let (z : ∀ a.∀ b.  a → a) =  λw. w in
  x (~z)

They should all work, naively, in FreezeML, except the last one, and perhaps the fourth and fifth examples should be alpha-renamed first before processing.
Currently (4e19f88) all but the first one fail with implementation bugs.

fml_alpha_equiv_1 works as expected - I assume reporting it as not working was an oversight.
fml_alpha_equiv_2 and fml_alpha_equiv_3 failed because information about the quantifiers in the signature was not propagated to the inferred term, resulting in missing big-lambda abstractions in generated System F terms. Fixed in 480fc41.
fml_alpha_equiv_4 failed because duplicate quantifiers were dropped. This was required to ensure that definitions like choose typecheck correctly. But there's a better and much simpler solution. When dealing with type signatures just discard generalizable variables from the generalisation engine and use the ones from the signature. This approach actually simplifies code. Fixed in 91b5c23.
In fml_alpha_equiv_5 we check the looked up type of argument of x (∀ a.∀ a. a → a) against the frozen type of z (∀ a.∀ b. a → a) and there's nothing stopping the unification of a with a and then a with b. As a result we generate a System F term and the System F typechecker realizes that types ∀ a.∀ a. a → a and ∀ a.∀ b. a → a are different in de Bruijn representation. I suspect that a solution here would be to skolemize quantifiers of the frozen variable, but that solution is currently blocked by #11. This is because quantifiers on the argument of x (i.e. quantifiers in the type ∀ a.∀ a. a → a) are already incorrectly skolemized because they appear in type annotation in a lambda and are not unskolemized later. So while this particular example would be fixed by skolemizing quantifiers in a frozen type many correct examples would be broken. Consider fml_alpha_equiv_1:
let (x : (∀ a. a → a) → Int) = λ(y: ∀ a. a → a)). 1 in
let (z : ∀ b. b → b) = λw. w in
x (~z)

Quantifier a in ∀ a. a → a is incorrectly skolemized. If we now skolemize quantifier of ~z the types will not unify and the example will fail. So I think dealing with this requires resolving #11 first.

Ok, done now. The solution to #11 is not to skolemize the quantifiers in an annotated binder at all. Skolemization of quantifiers in a frozen type now handles all the cases correctly. See #11 for details.

fml_alpha_equiv_1 works as expected - I assume reporting it as not working was an oversight.

I didn't report it as not working.  What I wrote was probably a bit unclear:

Currently (4e19f88) all but the first one fail with implementation bugs.

but the above does mean that fml_alpha_equiv_1 works as expected while the other four examples fail with implementation bugs.

My bad, sorry. Importantly, it works :-)

When dealing with type signatures just discard generalizable variables from the generalisation engine and use the ones from the signature.

This is actually wrong, but a testsuite bug (ee4c13400a0718a3ca47287c59695e5327466c37) hid the problem. Consider fml_id_annot_4 test:
let (y : ∀ a. a → a) = ~id in y

Here it is crucial that we don't have a big-lambda abstraction in the bound term, but my solution of grabbing the quantifiers from the annotation does exactly that. Consider this new fml_alpha_equiv_6:
let (x : (∀ a.∀ b. b → b) → Int) = λ(y:∀ a. ∀ b. b → b). 1 in
let (z : ∀ c.∀ d. d → d) = ~id in
x (~z)

This differs from fml_alpha_equiv_3 in the definition of z and currently fails for the same reason as fml_id_annot_4.

As discussed in a hangouts call with @jamescheney, we need to double-check which of these definitions should type check in FreezeML (per PLDI specification):
let (z : ∀ a. ∀ b. b → b) = λw. w in ...
let (z : ∀ a. ∀ b. b → b) = id in ...
let (z : ∀ a. ∀ b. b → b) = ~id in

In case anyone other than myself ends up debugging this here's an important note. In inferno we maintain an environment of bindings and their associated type schemes represented as a a record { quantifiers; body }, where quantifiers is a list of generic variables with no structure and body is a generic variable (most likely with a structure). Now, of course with first-class polymorphism we shouldn't really distinguish type schemes in any special way, but we do that internally in inferno since it's a convenient data representation. However, we can also have quantifiers nested inside variable structure. In other words, if a binding has type ∀ a. a → a it can be represented as { quantifiers = [a], body = a → a }, but it could also be represented as { quantifiers = [], body = ∀ a. a → a }, i.e. top-level quantifiers can be stored inside the body structure. There is a function Generalize.scheme that extracts these nested quantifiers to the top-level to ensure a "canonical" scheme representation. This function is applied eagerly in several places, but it might turn that getting the above examples right requires more thought in how that function is applied.

To answer your question regarding the three examples w.r.t. PLDI FreezeML:

does typecheck
does typecheck
does not typecheck

Thanks. Me and @jamescheney  suspected this to be the case but wanted to make sure.

In particular, this means that fml_alpha_equiv_6 should be rejected.
The problem is that when designing the PLDI inference algorithm, we needed to come up with an answer to the following question:
In an annotated let binding
let (x : ∀ \Delta.H) = M in N
how do we decide which type variables in \Delta are already "present" in the type of M (e.g., if M is a frozen variable), and which ones come from generalization done by the let binding itself?
In the PLDI inference algorithm, we need to know this before inferring the type of M, because we need to know the in-scope rigid type variables before inferring the type of M. In figure 16 of the PLDI paper, this is seen by us calling infer with Delta, \Delta' as the updated rigid environment.
To solve the problem, we decided that it is never possible that some of the quantifiers in the annotation stem from the term itself, while some come from generalization. Instead, the rules are as follows:

For generalizable terms, all quantifiers come from generalization
For non-generalizable terms (to which we count frozen vars), all of the quantifiers come from the term itself.

Now in FreezeML(X), we eschew the value restriction (yielding typing rules as shown in appendix F.2 of the ML workshop paper on Explicit FreezeML, where we presented a version of FreezeML without the VR). This means that we would also apply the first rule to frozen variables. This would mean that type annotations on frozen variables are only possible if the variable has a guarded type (in which case the freezing is useless anyway).
I will have to re-think/remember if it is possible to design an inference algorithm for the PLDI type system that doesn't need to know the rigid variables ahead of time or if this would cause fundamental problems. Or in other words, it would be interesting to see if this is only something to make the inference algorithm simpler or something that is fundamentally required.

Thanks. This explanation saved me a lot of time.

In the PLDI inference algorithm, we need to know this before inferring the type of M, because we need to know the in-scope rigid type variables before inferring the type of M.

As you probably already seen in the code at the moment this isn't the case in inferno. In inferno we infer the type of M independently of the signature and only then check whether the signature is an instance of that type.

As you probably already seen in the code at the moment this isn't the case in inferno.

I think that's actually a good thing! I suspect that it would have been possible to design a variant of the Algorithm W based FreezeML inference algorithm that does not need to know this ahead of time. I think one of the reasons we didn't try very hard to do this for the FreezeML PLDI version was that it definitely complicates the typing rule for annotated let. That is a bit unsatisfying, because this is a place where us not treating types equivalent modulo reordering of type variables and adding/removing superfluous ones actually makes things more complicated, even though we always claimed that not allowing this was a design choice to make things simpler.
I've also drafted a variant of FreezeML that does treat such types as equivalent, but without thinking about type inference a lot (because it is pretty straightforward to see that there exists a variant of our original algorithm that supports this because it normalizes all types in any step, even if that's not vert practical). This is mostly to show that our system supports this line of thought, because it's something that we were regularly criticized for. I would still consider the variant of FreezeML that does care about variable ordering as the "true" FreezeML because Explicit FreezeML heavily relies on this.