Dismissible Widget gets stuck on incomplete dismissal and resets on tap

Steps to reproduce

Use the code snippet provided in the code sample below.
Swipe the Dismissible widget left and right a few times.
Observe that the widget gets "stuck" in a partially dismissed state.
Tap anywhere on the screen to reset the widget position.

Expected results
The Dismissible widget should reset smoothly on incomplete dismissal after each swipe without requiring an additional tap.
Actual results
The widget gets stuck, and the rounded clipping behaves unpredictably, resetting only on an external tap. I have attached a video demonstrating the actual behavior.
Code sample
Code sample
class ReminderTile extends StatelessWidget {
  const ReminderTile({super.key});

  @override
  Widget build(BuildContext context) {
    return ClipRRect(
      borderRadius: BorderRadius.circular(80),
      child: Dismissible(
        background: const ColoredBox(
          color: Colors.red,
        ),
        secondaryBackground: const ColoredBox(
          color: Colors.green,
        ),
        key: const ValueKey('abcd'),
        child: ListTile(
          tileColor: Colors.blue,
          shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.circular(80),
          ),
          contentPadding: const EdgeInsets.only(left: 25, right: 10, top: 12, bottom: 12),
          title: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              const Text('Text 1'),
              sizedBoxHeight4,
              const Text('Text 2'),
            ],
          ),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
https://github.com/user-attachments/assets/39db1196-4bcd-420e-bc43-8519b22e3828

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.19.6, on Microsoft Windows [Version
    10.0.26100.2033], locale en-IN)
    • Flutter version 3.19.6 on channel stable at
      C:\Users\princ\fvm\versions\3.19.6
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 54e66469a9 (7 months ago), 2024-04-17 13:08:03 -0700
    • Engine revision c4cd48e186
    • Dart version 3.3.4
    • DevTools version 2.31.1

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at C:\Users\princ\AppData\Local\Android\sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 21.0.3+-12282718-b509.11)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop Windows apps (Visual Studio Build Tools 2022 17.11.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual
      Studio\2022\BuildTools
    • Visual Studio Build Tools 2022 version 17.11.35327.3
    • Windows 10 SDK version 10.0.22621.0

[√] Android Studio (version 2024.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.3+-12282718-b509.11)

[√] VS Code (version 1.95.1)
    • VS Code at C:\Users\princ\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.100.0

[√] Connected device (4 available)
    • M2103K19PI (mobile) • <IP_ADDRESS>:11291 • android-arm64  • Android 13 (API
      33)
    • Windows (desktop)   • windows           • windows-x64    • Microsoft Windows
      [Version 10.0.26100.2033]
    • Chrome (web)        • chrome            • web-javascript • Google Chrome
      130.0.6723.92
    • Edge (web)          • edge              • web-javascript • Microsoft Edge
      130.0.2849.56

[√] Network resources
    • All expected network resources are available.

• No issues found!

@Prince2347X
Can you upgrade to latest stable and re-run your scenario to check if you still get the same behavior or not ?

Can you upgrade to latest stable and re-run your scenario to check if you still get the same behavior or not ?

Hey, updating to 3.24 fixes this problem. However, for 3.19 too, wrapping it with Material (got this suggestion on discord server) widget does the job
Thanks!
Closing this issue now.


[jaeger-query] Leading zeros stripped from trace IDs

Requirement - what kind of business use case are you trying to solve?
I would like to view traces in Jaeger UI where the trace ID has leading 0s.
Problem - what in Jaeger blocks you from solving the requirement?
When jaeger-query returns data for traces where there are leading 0s in the trace ID, the leading 0s are stripped from the trace ID, within the data. E.g. for a trace with ID 0123, all of the spans returned refer to trace ID 123.
For each trace returned by jaeger-query, this applies to:

The trace ID on the root of the trace data object
The trace ID fields in each span
The trace ID fields in internal references

Proposal - what do you suggest to solve the problem or improve the existing situation?
The zeros should not be stripped.

Can you explain why this is a problem that 0s are stripped?

The trace IDs are treated as strings, not numbers.

I am asking what user-facing problems this issue is trying to fix, not the internal implementation details.

Collapsing and expanding parents.

So currently this is by-design behavior of the TraceID type - its ToString() method returns the shortest possible string representing the trace ID (essentially a base-16 number).  I think we should change it because in practice only about 4 in 64 trace IDs will start with 0, so the optimization for payload size by using shorter string doesn't make sense.
The change does break a lot of unit tests though.

I had discussed this offline with @tiffon and came up with the alternative of the UI doing a 302 redirect from any traceID with leading 0s to a canonical traceID (shortest string representation). Do you think it's a reasonable approach?

That would be a good thing to do in any case, because even if we make a fix on the server side, people might look up trace by ID they get from the logs, which could have leading 0s stripped. I don't think it would be a good idea to reject requests on the server if traceID != fromHexString(traceID).toString()

I just noticed this thread, because I think I'm running into this problem in our enterprise.  Assuming this is the same problem I'm seeing, this issue is not a cosmetic issue.  It appears that we are generating logs between different services that sometimes have the leading zero, and sometimes do not.  When we searched for a particular trace-id in our Splunk instance, we found log entries associated with the "client" service, but not the "server" service. I then dug into the actual logs and did some pattern analysis, and that's when I discovered that the logs in the "server" service had the correct trace-id, but with the leading zero removed.
If it matters, we appear to be using Jaeger version 0.33.1.

I'm pretty sure this is also what I am seeing. I take the trace id and convert it to a hex string in my logs and then also send data to Jaeger using Thrift. I cannot match the trace ids at all. Except sometimes I can
For example:
I get 0e7b69838055876fdf8b7ee0ecfc276a in my logs and e7b69838055876fa074811f1303d895 in Jaeger.
if you look at the binary representation of the upper half of the id you get:
0000111001111011011010011000001110000000010101011000011101101111

1110011110110110100110000011100000000101010110000111011011111010

The lower half in turn starts inverting bits for whatever reason. This means I cannot match what my application outputs in the logs to what I see in Jaeger  - except when the most significant bit of the id is 1 and everything matches. Except it seems it has to be 1 in both the upper and the lower half of the id - I've seen trace ID where half of it matches and the other one doesn't.


TSVGIconImage + WrapMode

Is it ok?

I've no control over the "size" inside SVG text of the image, because my component ask to the SVG engine to paint the image inside the area of the SVGIconImage: the intent of using a scalable images format is to scale them... If you want to paint the image in a different size you can use the BitmapZoom property to reduce the dimension of the image.


Latest update makes my fan go wild

Hi,
the latest update seems to have fixed a few issues I had (some types of ads were not being detected, and the program did not always start). However, since then, my computer fan goes ballistic when running the program, even when no other app (except spotify) are open. Spotify alone without the muter does not cause this problem.
The header of my Terminal window is constantly switching between "sleep" and "cut" while an add is running, and between "sleep", "cut" and "osascript" when music is playing, which it did not before the update... there might be something there?&
Running on 10.14.6. Weirdly, no process seems to gobble up the CPU when this happens, but it is on average a lot higher when the program is running.
Any idea what could be causing this?

I've tested the new version for quite a few days now and didn't notice any peak on CPU usage.
You can try a few things:

Using activity manager find the bash process that's running the script and see how much CPU is using when running (in my case is around (0,3/0,5%)
Edit the file, the line 62 INTERVAL_CHECK_TIME_SEC=0.5 and change that number to 1 or 2 (you'll hear the first second or two of and ad in this case)

I'm currently running Ventura 13.0.1
If nothing works I can point you to the older version of the script.


SMS to volunteer no longer includes incoming call number

Describe the bug
A message is passed to volunteers when selected in the "Call handling" config however it no longer includes the caller's number so they are unable to be called back if the volunteer misses a call.
What version are you running?
Beta 3 v 5.5
Did this happen on prior versions to the one you are running?
No
To Reproduce
Steps to reproduce the behavior:

Call and ask to speak to someone
Route to volunteers
Volunteer call comes through and so does SMS however the SMS no longer includes the callers number.

Expected behavior
We would like to include the caller's number as this is a valuable feature that allows us to call back if a call is missed.
Additional context
Not sure if this is slated for a future release or not but I did previously put in a feature request to be able to send voicemail to the rostered on volunteer/s.

i just read the release notes nad now understand the "responder" option which sends a voicemail to the volunteer as well.  Testing this now.

Unable to get voicemail to send to Volunteers...

Please do not conflate issues.  #211 is still open, so please add those comments there about that specific issue.

patched in beta6.1

tested and working - thank you!

Cool, thanks!
On Thu, Mar 14, 2019 at 3:12 PM brustar64<EMAIL_ADDRESS>wrote:

tested and working - thank you!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bmlt-enabled/yap/issues/247#issuecomment-473085599,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABw9u31-WxPkFgH4Dvp7PTzex8s0GIwxks5vWslKgaJpZM4bsqYv
.


implement implicit contract

Before we create a full implementation of Contract. We would provide an implicit contract for often use operators. In this case, is +. For integer and others built-in.

To implement this, the following steps can be a reference:

[ ] add type Addition as contract into type map
[ ] add impl Addition for int into type map
[ ] implements rules for subtyping Addition to int


psij extras can (maybe?) be uncommented in setup.py

I saw that in the setup.py file it has:
extras_require = {
    'monitoring' : [
        'sqlalchemy>=1.4,<2',
        'pydot',
        'networkx>=2.5,<2.6',
        'Flask>=1.0.2',
        'flask_sqlalchemy',
        'pandas<2',
        'plotly',
        'python-daemon'
    ],
    'aws' : ['boto3'],
    'kubernetes' : ['kubernetes'],
    'oauth_ssh' : ['oauth-ssh>=0.9'],
    'docs' : ['nbsphinx', 'sphinx_rtd_theme', 'ipython<=8.6.0'],
    'google_cloud' : ['google-auth', 'google-api-python-client'],
    'gssapi' : ['python-gssapi'],
    'azure' : ['azure<=4', 'msrestazure'],
    'workqueue': ['work_queue'],
    'flux': ['pyyaml', 'cffi', 'jsonschema'],
    'proxystore': ['proxystore'],
    # Disabling psi-j since github direct links are not allowed by pypi
    # 'psij': ['psi-j-parsl@git+https://github.com/ExaWorks/psi-j-parsl']
}

I think PyPI will allow it if it's in the optional list of extras, to my surprise. I have a github direct link in my [project.optional-dependencies] here and it was uploaded to PyPI successfully. But maybe I got lucky because I'm using pyproject.toml.

Never mind!


website not loading

Bro had no more cash to pay the domain name 💀💀💀🫡

Wth its ssl not that domain is expired

looks like I messed up the configuration of the website while making a few changes to my VPS, will be up and running soon

The site is back online. You might need to clear your cache for it to work.
Let us know if everything is working fine now!


Pyarrow 0.9.0 does not have a Mac OS package in PyPi

Mac os package is missing for version 0.9.0: https://pypi.org/project/pyarrow/#files , so one can only install pyarrow 0.8.0 on Mac OS.

The first set of 0.9.0 packages for macOS were broken. We are working on fixing (cc @cpcloud @xhochy). Note you can install with conda in the meantime

pyarrow==0.9.0.post1 is now on PyPI


audio sample import bugs

Several things are going wrong with importing audio samples.  I've got a sample imported already, but when I change the wav file that it depended on, I don't see the refesh checkbox on the top right do anything.  When I click reimport, it's not in the list.
When I reimport it myself manually, it does overwrite the sample.  The loop flag doesn't work though.  If I edit the sample, I see that the loop parameters (forward, length...) were retained from the previous version of the sample, but they don't work.  I save and reopen the project, and the loop paramters are gone.  It seems the reimport doesn't set the loop parameters (even though the box is checked), and it also doesn't refresh the loop parameters in the GUI to show that they're reset.

Yeah, I noticed that when you import a sample to a SampleLibrary, if you update the original file the SampleLibrary sample doesn't update, even if you re-import it. I have to reopen the scene completely to get it to pick up the changes

Imported samples won't work for me at all, I have to set loop points to begin and end of file for it to work.

This seems to be working now


Rows iterator

Refactor rows loops with a generic rows iterator function.

Codecov Report

Merging #535 into master will increase coverage by 0.19%.
The diff coverage is 90.08%.

@@            Coverage Diff             @@
##           master     #535      +/-   ##
==========================================
+ Coverage   88.34%   88.54%   +0.19%
==========================================
  Files          39       39
  Lines        4463     4470       +7
  Branches      311      309       -2
==========================================
+ Hits         3943     3958      +15
+ Misses        502      492      -10
- Partials       18       20       +2

Impacted Files
Coverage Δ

src/modules/alternateRows.js
95.08% <100%> (+1.63%)
:arrow_up:

src/modules/checkList.js
90.37% <84.61%> (+0.94%)
:arrow_up:

src/tablefilter.js
93.25% <90.21%> (+0.42%)
:arrow_up:

src/modules/dropdown.js
90.64% <92.85%> (+0.46%)
:arrow_up:

Continue to review full report at Codecov.

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

👍


feat: API indexer-status endpoint

Thank you! 👍

We should return some HTTP error status code when the diff is more than 30 blocks, so we can just plug it into the services that use HTTP status codes to reason about the service health.

I like this idea. Reference https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
I think of 5xx as it's obviously a server error, not the client. So I can suggest either 500 Internal Server Error (which is easy to connect with third-party service) or 503 as we can consider that Service is unavailable.
So I can propose to return the data I'm returning currently + status 200 if the diff is between 30 blocks and 500/503 if diff is more than 30.  WDYT @frol @telezhnaya ?

HTTP 503 sounds the most appropriate here

I will merge it later today batched with some other PRs.


KAFKA-15205:Catch InterruptedException when calling ShutDownableThrea…

https://issues.apache.org/jira/browse/KAFKA-15205
Catch InterruptedException when calling ShutDownableThread#awaitShutdown()
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@divijvaidya I apologize for the interruption, but I tried to write unit tests to cover this scenario, but it failed. Do you have any suggestions?


Support Body/Parameter Validation

It looks like we only have validation for Bean Params? Would be nice if we could also have it for request bodies at least. Support for validating path param and query params would be nice as well.

I need ideas on how we could add param validations. Body was simple, but I'm drawing a blank here

I personally don't think we need validation on path parameters. For them they get type conversion (and can fail that) or at least for Nima and Jex the path parameters can use a regex (for example, ensure only digits for a long/int etc).
For query parameters, these also get type conversion but the difference is that they are expected to allow null (as they are query parameters and not path parameters and we use @Default if we need a value).
So for me I don't see the need for the code generation to add any extra validation for path or query parameters other that what they all ready do.
Do you have a specific use case you have in mind that needs validation on a query parameter say? Not keen to just have that validation as something the dev adds to the controller code?

It's more of a convenience thing. Would be nice to auto-generate instead of writing a whole validation code.

Do you have an example? A query parameter that is an email address or something?  (Email address probably isn't a good example).  Then mock it up by hand as to what the generated code should look like (and deal with null query parameters)?

Oof, bested yet again with facts and logic. In any case, we got the body parameter validation working so I'm good for now.


Reviewer 1: Comment 3: Note that previous software had varied use cases

1st § Introduction: "However, current fuel cycle ...": important to mention that there are multiple user-categories for such codes with differing expectations. Some codes are more and more proprietary for reasons of validation in industrial context or customised applications. Others may have an educational focus or still others being of approximative nature, i.e. specifically those not using discrete description of mass-flows/inventories/core-management, ...

[ ] Note, in the introduction, more of the reasoning of the differentiation between codes. Soften the accusatory tone and address the history somewhat further.

I went with "To date, current tools are typically privately distributed rather than open
source, having been developed in industrial contexts. Additionally, having
often been developed for customized applications, many possess inflexible
architectures. Finally, many model only fleet-level dynamics of facilities and
materials rather than discrete resolution of those individual agents and
objects."


unknown layer type: BatchNormLayer(on iOS GPU Model)

it seems that not implemented ''BatchNorm" type, but CPU Model has done

Yes, because we use depthwise separable convolutions instead of BatchNormLayer on iOS GPU, in the  iOS conversion script of mobileNet, we fold the BatchNormLayer to depthwise separable convolutions, you can use this script to get the iOS GPU Model if you use mobileNet;


Updated-AzureKeyVaultProvider Preregistered 7.4.1

I have updated the documentation based on Pull request in JDBC driver project (https://github.com/microsoft/mssql-jdbc/pull/902) and tested the feature in JDBC Driver 7.4.1 (latest Stable release).

@manikandanramaswami : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@MightyPen : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Merging this now.


Change tooltip and legend to display highcharts' symbols rather than dot...

...s/rectangles (fixes #189)
Now, with a rebased version... Sorry

Thanks for this contribution Matthias :+1:


Visual issue on some file types

First thanks for the plugin.
There is a visual issue when opening some file types like in the image. It happens with all the schemes and modes, so might be a bug.
Some that I noticed:

C header files
.nix

fixed.


Different directory name inside the Forge package

Hi there,
I'm currently having problems using your 1.15.0 Forge package with my r10k clone (https://github.com/xorpaul/g10k), because it doesn't have the same directory name pattern than all other Forge packages.
It also look like that this Forge package was probably not generate with the standard puppet module build as described here https://docs.puppet.com/puppet/latest/modules_publishing.html#build-your-module
$ cd /tmp/5
$ wget https://forgeapi.puppetlabs.com/v3/files/vshn-gitlab-1.15.0.tar.gz
$ tar tfz vshn-gitlab-1.15.0.tar.gz
puppet-gitlab-1.15.0/   <-------- note the name
...
$ tar xfz vshn-gitlab-1.15.0.tar.gz
$ cd puppet-gitlab-1.15.0/
$ puppet module build .
Notice: Building /tmp/5/puppet-gitlab-1.15.0 for release
Module built: /tmp/5/puppet-gitlab-1.15.0/pkg/vshn-gitlab-1.15.0.tar.gz
$ tar tfz /tmp/5/puppet-gitlab-1.15.0/pkg/vshn-gitlab-1.15.0.tar.gz
vshn-gitlab-1.15.0/   <-------- note the name
...

Building your module with  puppet module build does create the correct directory name vshn-gitlab-1.15.0/ inside the package, but the currently uploaded package does have a directory puppet module build inside.
Did you build your package with puppet module build or with something else?
I'm not entirely sure if the Puppetlabs Forge should be validating uploaded packages for this stuff, but I'll open a FORGE ticket and ask them.
Edit: https://tickets.puppetlabs.com/browse/FORGE-386

Hi,
Sorry about that. I just rebuilt the package and released 1.15.1, which should fix that. Does it work now?

Yes, it does work now.
Just out of interest, how did you build the previous package? Simply with tar?

Basically yes, I downloaded the .tar.gz from Github. Why that doesn't work with forge is beyond me. Anyway, thanks for the bug report!

It does work with the Forge, just not with my caching method :)
As far as I can tell, you did nothing wrong, just different. ;)
I'll leave the FORGE ticket open, so that they can take a statement about whether such a release is valid or invalid in their eyes.


Could you share the code for RAFT-C and RAFT-D evaluation in table 1? Thank you!

Did you find the code for RAFT-C and RAFT-D?Can you let me know?


Added AVL Tree [Java]

Fixed #131

By submitting this pull request I confirm I've read and complied with the below requirements.

[x] I have read the Contribution guidelines and I am confident that my PR reflects them.
[x] I have followed the coding guidelines for this project.
[x] My code follows the skeleton code structure.
[x] This pull request has a descriptive title. For example, Added {Algorithm/DS name} [{Language}], not Update README.md or Added new code.

Closing because of inactivity.


Add warning when variable name is being shadowed in local scope

Description from TSLint:

When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers.

var a = 0

func whatever():
    var a = "string"   # This variable shadows global `a`

It leads to subtle errors and it'd be helpful if it there was a possibility to report it as a warning.

CC @vnen


Disable git advice on detached checkout

We're seeing this git advice in our build logs about detached HEAD state due to how BuildKite agent checks out build commits. It isn't really helpful for automated flows, it's aimed at new git users I guess.
PR should save 16 lines of output for Buildkite users, we're trying to reduce noise in our build logs so they're more actionable when a developer opens the log 😬
$ git clone XXXX
Cloning into '.'...
Warning: Permanently added the ECDSA host key for IP address '' to the list of known hosts.
remote: Enumerating objects: 87, done.
remote: Counting objects: 100% (61/61), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 45 (delta 13), reused 38 (delta 7), pack-reused 0
Receiving objects: 100% (45/45), done.
Resolving deltas: 100% (13/13), completed with 7 local objects.
Updating files: 100% (xx/xx), done.
$ git clean -ffxdq
# Fetch and checkout pull request head from GitHub
$ git fetch -- origin refs/pull/xxxxxx/head
Warning: Permanently added the ECDSA host key for IP address 'xxxx' to the list of known hosts.
From github.com:lyft/instant-android
 * branch                      refs/pull/xxx/head -> FETCH_HEAD
# FETCH_HEAD is now `yyy`
$ git checkout -f yyy
Note: switching to 'yyy'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Sorry, didn't find how to run tests in your setup in the docs, so it might fail on CI 😰  and I don't seem to have permissions to open CI checks in this repo nor don't they run on my PR w/o your approval it seems, filed an issue for that https://github.com/buildkite/agent/issues/1879

hi there! thanks for your contribution, i see this all the time and it annoys me too.
For the moment at least, we're keeping the agent CI private. This branch is currently failing go fmt, and some of the tests are failing. If you could fix these up we'd be happy to merge :)

want to note that there are no instructions on this in the repo

this is a really good callout - i have a PR up to polish the contribution guide a little bit here: #1885

I've fixed the errors you mentioned and locally everything passes for me, I can't view the CI error (filed #1879 for that), can you please copy-paste the error from CI log so I could fix it? Thanks


Python enviroment can not be build after image version upgrade

Description
the pipeline builds a python 3.9.6 env using pyenv with the following code
pip --disable-pip-version-check install pyenv-win==3.1.1 --target "$env:USERPROFILE\.pyenv"
[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
$env:PYENV = $env:USERPROFILE + "\.pyenv\pyenv-win\"
$env:PATH = $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + $env:PATH

pyenv rehash
pyenv install 3.9.6

The expected output is below, it was working until 02/12/2024
Collecting pyenv-win==2.64.11
  Downloading pyenv_win-2.64.11-py3-none-any.whl (44 kB)
     ---------------------------------------- 44.0/44.0 kB 2.3 MB/s eta 0:00:00
Installing collected packages: pyenv-win
Successfully installed pyenv-win-2.64.11
No version installed. Please install one with 'pyenv install <version>'.
:: [Info] ::  Mirror: https://www.python.org/ftp/python
:: [Downloading] ::  3.9.6 ...
:: [Downloading] ::  From https://www.python.org/ftp/python/3.9.6/python-3.9.6-amd64-webinstall.exe
:: [Downloading] ::  To   C:\Users\VssAdministrator\.pyenv\pyenv-win\install_cache\python-3.9.6-amd64-webinstall.exe
:: [Installing] ::  3.9.6 ...
:: [Info] :: completed! 3.9.6

However, Starting from Feb 13,2024, the image version upgraded from 20240204.1.0 to 20240211.1.0, the pipeline breaks with the following error.
Collecting pyenv-win==2.64.11
  Downloading pyenv_win-2.64.11-py3-none-any.whl (44 kB)
     ---------------------------------------- 44.0/44.0 kB 1.1 MB/s eta 0:00:00
Installing collected packages: pyenv-win
Successfully installed pyenv-win-2.64.11
No version installed. Please install one with 'pyenv install <version>'.
:: [Info] ::  Mirror: https://www.python.org/ftp/python
:: [Downloading] ::  3.9.6 ...
:: [Downloading] ::  From https://www.python.org/ftp/python/3.9.6/python-3.9.6-amd64-webinstall.exe
:: [Downloading] ::  To   C:\Users\VssAdministrator\.pyenv\pyenv-win\install_cache\python-3.9.6-amd64-webinstall.exe
:: [Installing] ::  3.9.6 ...
:: [Error] :: error using web installer.
:: [Error] :: couldn't install 3.9.6
pyenv specific python requisite didn't meet. Project is using different version of python.
Install python '3.9.6' by typing: 'pyenv install 3.9.6'
##[error]Invoke-Command: D:\a\_temp\af355b48-9406-4b26-a70a-89aa67a99d8d.ps1:10

Platforms affected

[X] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[ ] macOS 13 Arm64
[ ] macOS 14
[ ] macOS 14 Arm64
[X] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
Image version: 20240211.1.0
Is it regression?
20240204.1.0
Expected behavior
Python environment built successfully and carry on with the pipeline
Actual behavior
Pipeline broke and exit
Repro steps
source code are exactly the same, only change is the image version change from 20240204.1 to 20240211.1.

@zhangzhengxin what exact commands are you trying to run? From the logs it looks like a pyenv issue, pyenv is isolated and its bugs do not impact image and vice versa

Please close this issue, something must have been changed or fixed, we can not reproduce the same error.

@mikhailkoliada the error happened when running pyenv install to to create the env. The reason I raised the issue here is because the only thing changed was the image version, the same pyenv worked in previous image  version.
However, I can not reproduce the error anymore, the reason is unclear.


Finetune from AF_Multimer parameters

Hi, I am encountering an issue similar to issue #421 where I attempted to fine-tune a model using the AF_multimer pretrained parameters (resume_from_jax_params: params_model_1_multimer_v3.npz). However, the loss is unusually high, and it seems as if the model is starting from initial training, not utilizing the pretrained parameters.
Here are the arguments I used:
python ~~~/train_openfold.py
~~~/train/data_dir
~~~/train/alignment_dir
~~~/data/template_mmcif_dir/
~~~/save/
2021-09-30
--train_mmcif_data_cache_path ~~~/train_mmcif_test.json
--precision bf16
--val_data_dir ~~~/valid/data_dir
--val_alignment_dir ~~~/valid/alignment_dir
--val_mmcif_data_cache_path ~~~/valid_mmcif_test.json
--kalign_binary_path ~~~/bin/kalign
--obsolete_pdbs_file_path ~~~/pdb_mmcif/obsolete.dat
--template_release_dates_cache_path ~~~/template_mmcif_cache.json
--seed 622
--replace_sampler_ddp True
--checkpoint_every_epoch
--resume_from_jax_params ~~~/openfold/resources/params/params_model_1_multimer_v3.npz
--log_performance True
--script_modules False
--train_epoch_len 200
--log_lr
--config_preset "model_1_multimer_v3"
--gpus 1
--num_processes 16
--strategy ddp
--num_nodes=1
--deepspeed_config ~~~/deepspeed_config.json
I suspect that in trainer.py, the training might be initializing from scratch due to the following lines:
trainer.fit(
model_module,
datamodule=data_module,
ckpt_path=ckpt_path  # ckpt_path is None since I use args.resume_from_jax
)
Could this be why the model seems to be training from scratch rather than fine-tuning? If so, how can I convert the .npz file(params_model_1_multimer_v3.npz) to .ckpt format? Is there a script available for this conversion? Thank you for your assistance.

Hi, have you solve this problem? I tried to print weight&bias from original AF parameters and ckpt after only one step train.
Almost all weights changed sharply and all bias are, even broken. I do not know why are these bias in e^-6 or e^-7 but they are definitely wrong.

@C-de-Furina  Hi, I am suffering from same problem. I'm curious how did you make a ckpt format file from alphafold2 jax parameter. There is no script to convert jax parameter into openfold ckpt parameter in this repository. I also want to know how did you run the fine-tuning? Was it same in last issue you made? Thank you for your help!

@C-de-Furina 你好，我也遇到了同样的问题。我很好奇你是如何从 alphafold2 jax 参数制作出 ckpt 格式文件的。这个存储库中没有将 jax 参数转换为 openfold ckpt 参数的脚本。我也想知道你是如何运行微调的？你上次做的问题也是这样吗？谢谢你的帮助！

I'm still tring to find a way to create ckpt. Now I try to call "trainer.save_checkpoint("example.ckpt")" without any training but meet some troubles. Before this I created a ckpt by training from jax after only one step. So I can say, these parameters are broken at beginning. My training is in the same way as monomer except "--config_preset="model_5_multimer_v3""
Besides, you can try to use your trained ckpt to predict a homomer protein, like 8w7d, then you will see all chains almost completely overlaps, but this situation will not occur for heteromers. Thus, I think maybe there is some intrinsic defects in OF-multimer training.

Well I understand what happens now. The main problem is that when you load from jax, ExponentialMovingAverage,  the ema initiallized incorrectly. You can see in train_openfold.py line307, there is:
if args.resume_from_ckpt:         if args.resume_model_weights_only:             # Load the checkpoint             if os.path.isdir(args.resume_from_ckpt):                 sd = zero_to_fp32.get_fp32_state_dict_from_zero_checkpoint(                     args.resume_from_ckpt)             else:                 sd = torch.load(args.resume_from_ckpt)             # Process the state dict             if 'module' in sd:                 sd = {k[len('module.'):]: v for k, v in sd['module'].items()}                 import_openfold_weights_(model=model_module, state_dict=sd)             elif 'state_dict' in sd:                 import_openfold_weights_(                     model=model_module, state_dict=sd['state_dict'])             else:                 # Loading from pre-trained model                 sd = {'model.'+k: v for k, v in sd.items()}                 import_openfold_weights_(model=model_module, state_dict=sd)             logging.info("Successfully loaded model weights...")
Look, the variable 'state_dict' stored params using in ema. But if you check line 262:
def load_from_jax(self, jax_path):         model_basename = os.path.splitext(                 os.path.basename(                     os.path.normpath(jax_path)                 )         )[0]         model_version = "_".join(model_basename.split("_")[1:])         logging.warning('load from version'+model_version)         import_jax_weights_(                 self.model, jax_path, version=model_version         )
There is nothing about state_dict, so ema can only use original parameters which come from AF model initialization, and this is not trained.
There should be some better methods but I'm not a professional programmer, so I fix this by:
1.Add an attribute to ema
def __init__(self, model: nn.Module, decay: float):         """         Args:             model:                 A torch.nn.Module whose parameters are to be tracked             decay:                 A value (usually close to 1.) by which updates are                 weighted as part of the above formula         """         super(ExponentialMovingAverage, self).__init__()         clone_param = lambda t: t.clone().detach()         self.params = tensor_tree_map(clone_param, model.state_dict())         self.decay = decay         self.device = next(model.parameters()).device         self.load_from_jax = False
2.Add a method to ema
def repair_params_when_load_from_jax(self, state_dict: OrderedDict) -> None:         for k in state_dict.keys():             self.params[k] = state_dict[k].clone()
3.Run this method once when load_from_jax is true and set it to false
def update(self, model: torch.nn.Module) -> None:         """         Updates the stored parameters using the state dict of the provided         module. The module should have the same structure as that used to         initialize the ExponentialMovingAverage object.         """         if self.load_from_jax:             self.load_from_jax = False             self.repair_params_when_load_from_jax(model.state_dict())         self._update_state_dict_(model.state_dict(), self.params)
4.When you load from jax, set load_from_jax to true
def load_from_jax(self, jax_path):         model_basename = os.path.splitext(                 os.path.basename(                     os.path.normpath(jax_path)                 )         )[0]         model_version = "_".join(model_basename.split("_")[1:])         logging.warning('load from version'+model_version)         import_jax_weights_(                 self.model, jax_path, version=model_version         )         self.ema.load_from_jax = True

Thank you for your kind explanation! I would try your solution and check whether problem solved.

Well I understand what happens now. The main problem is that when you load from jax, ExponentialMovingAverage, the ema initiallized incorrectly. You can see in train_openfold.py line307, there is:
if args.resume_from_ckpt:
        if args.resume_model_weights_only:
            # Load the checkpoint
            if os.path.isdir(args.resume_from_ckpt):
                sd = zero_to_fp32.get_fp32_state_dict_from_zero_checkpoint(
                    args.resume_from_ckpt)
            else:
                sd = torch.load(args.resume_from_ckpt)
            # Process the state dict
            if 'module' in sd:
                sd = {k[len('module.'):]: v for k, v in sd['module'].items()}
                import_openfold_weights_(model=model_module, state_dict=sd)
            elif 'state_dict' in sd:
                import_openfold_weights_(
                    model=model_module, state_dict=sd['state_dict'])
            else:
                # Loading from pre-trained model
                sd = {'model.'+k: v for k, v in sd.items()}
                import_openfold_weights_(model=model_module, state_dict=sd)
            logging.info("Successfully loaded model weights...")

Look, the variable 'state_dict' stored params used in ema. But if you check line 262:
def load_from_jax(self, jax_path):
        model_basename = os.path.splitext(
                os.path.basename(
                    os.path.normpath(jax_path)
                )
        )[0]
        model_version = "_".join(model_basename.split("_")[1:])
        logging.warning('load from version'+model_version)
        import_jax_weights_(
                self.model, jax_path, version=model_version
        )

There is nothing about state_dict, so ema can only use original parameters which come from AF model initialization, and this is not trained.
There should be some better methods but I'm not a professional programmer, so I fix this by:
1.Add an attribute to ema
def __init__(self, model: nn.Module, decay: float):
        """
        Args:
            model:
                A torch.nn.Module whose parameters are to be tracked
            decay:
                A value (usually close to 1.) by which updates are
                weighted as part of the above formula
        """
        super(ExponentialMovingAverage, self).__init__()
        clone_param = lambda t: t.clone().detach()
        self.params = tensor_tree_map(clone_param, model.state_dict())
        self.decay = decay
        self.device = next(model.parameters()).device
        self.load_from_jax = False

2.Add a method to ema
def repair_params_when_load_from_jax(self, state_dict: OrderedDict) -> None:
        for k in state_dict.keys():
            self.params[k] = state_dict[k].clone()

3.Run this method once when load_from_jax is true and set it to false
def update(self, model: torch.nn.Module) -> None:
        """
        Updates the stored parameters using the state dict of the provided
        module. The module should have the same structure as that used to
        initialize the ExponentialMovingAverage object.
        """
        if self.load_from_jax:
            self.load_from_jax = False
            self.repair_params_when_load_from_jax(model.state_dict())
        self._update_state_dict_(model.state_dict(), self.params)

4.When you load from jax, set load_from_jax to true
def load_from_jax(self, jax_path):
        model_basename = os.path.splitext(
                os.path.basename(
                    os.path.normpath(jax_path)
                )
        )[0]
        model_version = "_".join(model_basename.split("_")[1:])
        logging.warning('load from version'+model_version)
        import_jax_weights_(
                self.model, jax_path, version=model_version
        )
        self.ema.load_from_jax = True

I probably had this issue while running training using a very small batch. The trained params would give me a structure where everything is at the origin. Your solution works for me and now I get well folded proteins. However, it appears that the loss is still  really high. Is it simply because my batch size is very small (5 proteins) or is something else wrong? I am loading model_1_multimer_v3, and training with 5 proteins whose inference is very accurate. So I expect that the loss should be low (does that make sense??) Were you able to train any models for multimer yet?


CreateCommitError on danielz01/cowc-m

See https://huggingface.co/datasets/danielz01/cowc-m/discussions/1

Detailed error:
 {
  "error": "Commit 0/1 could not be created on the Hub (after 6 attempts).",
  "cause_exception": "GatedRepoError",
  "cause_message": "403 Client Error. (Request ID: Root=1-654d40f0-29d8e8c5504519ea4bcdc8d7;3e23d130-8449-4fb6-9b5a-310cae085013)\n\nCannot access gated repo for url https://huggingface.co/api/datasets/danielz01/cowc-m/paths-info/3f899582af72c419bffe3026d5ba93bbc442133c.\nAccess to dataset danielz01/cowc-m is restricted and you are not in the authorized list. Visit https://huggingface.co/datasets/danielz01/cowc-m to ask for access.",
  "cause_traceback": [
    "Traceback (most recent call last):\n",
    " File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/utils/_errors.py\", line 261, in hf_raise_for_status\n response.raise_for_status()\n",
    " File \"/src/services/worker/.venv/lib/python3.9/site-packages/requests/models.py\", line 1021, in raise_for_status\n raise HTTPError(http_error_msg, response=self)\n",
    "requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://huggingface.co/api/datasets/danielz01/cowc-m/paths-info/3f899582af72c419bffe3026d5ba93bbc442133c\n",
    "\nThe above exception was the direct cause of the following exception:\n\n",
    "Traceback (most recent call last):\n",
    " File \"/src/services/worker/src/worker/utils.py\", line 205, in decorator\n return func(*args, **kwargs)\n",
    " File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py\", line 118, in _inner_fn\n return fn(*args, **kwargs)\n",
    " File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/hf_api.py\", line 828, in _inner\n return fn(self, *args, **kwargs)\n",
    " File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/hf_api.py\", line 2687, in create_commit\n files_to_copy = fetch_lfs_files_to_copy(\n",
    " File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py\", line 118, in _inner_fn\n return fn(*args, **kwargs)\n",
    " File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/_commit_api.py\", line 546, in fetch_lfs_files_to_copy\n for src_repo_file in src_repo_files:\n",
    " File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/hf_api.py\", line 2041, in list_files_info\n hf_raise_for_status(response)\n",
    " File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/utils/_errors.py\", line 277, in hf_raise_for_status\n raise GatedRepoError(message, response) from e\n",
    "huggingface_hub.utils._errors.GatedRepoError: 403 Client Error. (Request ID: Root=1-654d40f0-29d8e8c5504519ea4bcdc8d7;3e23d130-8449-4fb6-9b5a-310cae085013)\n\nCannot access gated repo for url https://huggingface.co/api/datasets/danielz01/cowc-m/paths-info/3f899582af72c419bffe3026d5ba93bbc442133c.\nAccess to dataset danielz01/cowc-m is restricted and you are not in the authorized list. Visit https://huggingface.co/datasets/danielz01/cowc-m to ask for access.\n",
    "\nThe above exception was the direct cause of the following exception:\n\n",
    "Traceback (most recent call last):\n",
    " File \"/src/services/worker/src/worker/job_runners/config/parquet_and_info.py\", line 913, in create_commits\n commit_info = retry_create_commit(\n",
    " File \"/src/services/worker/src/worker/utils.py\", line 210, in decorator\n raise RuntimeError(f\"Give up after {attempt} attempts. The last one raised {type(last_err)}\") from last_err\n",
    "RuntimeError: Give up after 6 attempts. The last one raised <class 'huggingface_hub.utils._errors.GatedRepoError'>\n"
  ]
}

OK, related to the dataset being gated

cc @lhoestq and @SBrandeis

Fixed on the Hub's side. Thanks @SBrandeis.

Note that we should refresh all the datasets that have this issue in the cache at the moment. Reopening.

Well, CreateCommitError is in the list of retryable errors in the backfill script, so let's wait for some hours.


TS-4703: Adds an API call to retrieve transaction protocol

See https://issues.apache.org/jira/browse/TS-4703

Also, please remember to do the normal API review process (emails etc.), see https://cwiki.apache.org/confluence/display/TS/API+Review+Process .

perhaps we can close TS-2987 as duplicate to TS-4703 ?

@shukitchan I don't think so. We need one more API, TSHttpSsnClientProtocolGet(TSHttpSsn ssnp), for TS-2987.

good point. Perhaps we can do it in this PR?

That's good idea:)
@petarpenkov would you add TSHttpSsnClientProtocolGet(TSHttpSsn ssnp) which is wrapper of ProxyClientSession::get_protocol_string() ? ( Session version of TSHttpTxnClientProtocolGet(TSHttpTnx tnxp) )
When we want to write some plugins to extend HTTP/2 (e.g. origin-frame, cache-digest), it is useful to get client protocol at session hooks.

I have to disagree with James. Once upon a time, this worked (if any one remember the "proto stack" thing). It was an explicit goal of the TS-3612 work to get this capability back. It is useful in a number of situations to be able to know what protocol the user agent is using to talk to ATS. I know I took no small amount of heat when I broke this originally.

I updated the PR with TSHttpSsnClientProtocolGet(TSHttpSsn ssnp). @zwoop , for refactoring documentation I could open another JIRA issue and take care of it if it should be done.

@amc we should have this discussion on @dev. My main objection to this API is that is makes promises it doesn't (maybe can't) keep. It just tells you whether this is HTTP/1 or HTTP/2. That's fine, and an API that does that it also fine, but that should look different to this.

Superseded  by PR #1007


[Bug] cytnx.linalg.ExpH

cytnx.linalg.ExpH seems to ignore the imaginary parts of the elements.
For the following code
M = 1j*cytnx.eye(2)
expM = cytnx.linalg.ExpH (M)

print (M)
print (expM)

I got the output
Total elem: 4
type  : Complex Double (Complex Float64)
cytnx device: CPU
Shape : (2,2)
[[0.00000e+00+1.00000e+00j 0.00000e+00+0.00000e+00j ]
 [0.00000e+00+0.00000e+00j 0.00000e+00+1.00000e+00j ]]

Total elem: 4
type  : Complex Double (Complex Float64)
cytnx device: CPU
Shape : (2,2)
[[1.00000e+00+0.00000e+00j 0.00000e+00+0.00000e+00j ]
 [0.00000e+00+0.00000e+00j 1.00000e+00+0.00000e+00j ]]

which is incorrect.

#128 should fix this


fix reading of elements with elsets

Nice!
Could you add a small test with a small input file that would have failed before?


Doesn't seem to work correctly on Windows

Process:

Install Docker for Windows, get it running
Install Ubuntu Linux subsystem
Update the makefile to work with new docker binary names:  https://github.com/mcdan/incubator-openwhisk-devtools/tree/mcdan/feature/windows-support
The invokers still can't communicate with Docker for Windows:
https://forums.docker.com/t/where-is-the-file-docker-sock/13061
https://github.com/docker/for-win/issues/453
https://github.com/moby/moby/commit/0906195fbbd6f379c163b80f23e4c5a60bcfc5f0

This is sort of a fundamental difference in how Windows and Linux works and you can't make Windows list on all adapters only localhost so we're sort of stuck.

I have been trying to make it work on windows with no success, now I'm depressed and with low self-confidence. I would appreciate someone fix this soon :(

@mcdan Any luck making this work?

Got it working using kubernetes https://github.com/apache/openwhisk-deploy-kube/blob/master/docs/k8s-docker-for-windows.md
Had to also run:
kubectl create namespace tiller-world

before
helm install owdev ./helm/openwhisk -n openwhisk -f mycluster.yaml

Closing as stale.


Laravel Updater

This pull request includes updates for the recent minor version release of Laravel as well as updates to your package dependencies. Feel free to commit any additional changes to the shift-ci-v8.13.0 branch.
Before merging, you need to:

Checkout the shift-ci-v8.13.0 branch
Review all pull request comments for additional changes
Run composer update
Test your application (no tests?)

:warning: You are running version 2.3.0 of spatie/laravel-honeypot. The latest version is 3.0.1. You should review this dependency to see if you can upgrade to the latest version.


Session Replay Support

Hi there!
Just wondering if session replay will be supported in the react native SDK any time in the future?
🙂

Closed as Duplicate of #351


feat/starknet_getTransactionByHash

Issue: Implement starknet_getTransactionByHash RPC Call
Description:
Get the details and status of a submitted transaction.
Parameters:

transaction_hash: The hash of the requested transaction. This parameter is required.

Expected Result:
The details and status of the submitted transaction, including its hash.
Potential Errors:

TXN_HASH_NOT_FOUND: The specified transaction hash could not be found.

Testing:
Initial testings can be found here. However, these should not be considered complete and improvements are welcome.
Resources:

Alchemy RPC API Endpoint Documentation
Starknet API OpenRPC Spec

Comments:
Please comment below for coordination.

Working on it 👍


Components movement from A2HA to automate

Description
Movement of these components
automate-backend-curator
automate-backend-kibana
automate-backend-pgleaderchk
automate-backend-postgresql


this and prior(this) are ignored in functions

An example test.bolt,
path /unchangeable1 {
  write() { isTheSame() }
}

path /unchangeable2 {
  write() { prior(this)==this }
}

isTheSame() { prior(this)==this }

renders to the following,
{
  "rules": {
    "unchangeable1": {
      ".write": "this == this"
    },
    "unchangeable2": {
      ".write": "data.val() == newData.val()"
    }
  }
}

Am I missing the idea or should unchangeable1 be rendered the same as unchangeable2?

This should probably return an error at compile time.  I think the issue is that the value of 'this' is defined inside a validation or write rule, but is not bound in the function.
To get around this, you can pass this as a parameter to your function instead.


llvmPackages_11: start with 11.0.0rc2

http://lists.llvm.org/pipermail/release-testers/2020-August/001321.html
http://lists.llvm.org/pipermail/release-testers/2020-July/001305.html

Motivation for this change
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

I tried to build and it fails
 99% [==========================================================-(B](B ETA: 00:00:00
FAIL: Polly-Unit :: DeLICM/./DeLICMTests/failed_to_discover_tests_from_gtest (39519 of 39568)
******************** TEST 'Polly-Unit :: DeLICM/./DeLICMTests/failed_to_discover_tests_from_gtest' FAILED ********************
: CommandLine Error: Option 'polly-delicm-max-ops' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options

********************
                     -- Testing: 39568 tests, 12 workers --                     (B

 99% [==========================================================-(B](B ETA: 00:00:00
FAIL: Polly-Unit :: DeLICM/./DeLICMTests/failed_to_discover_tests_from_gtest (39520 of 39568)
******************** TEST 'Polly-Unit :: DeLICM/./DeLICMTests/failed_to_discover_tests_from_gtest' FAILED ********************
: CommandLine Error: Option 'polly-delicm-max-ops' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options

********************
                     -- Testing: 39568 tests, 12 workers --                     (B

 99% [==========================================================-(B](B ETA: 00:00:00
 99% [==========================================================-(B](B ETA: 00:00:00
 99% [==========================================================-(B](B ETA: 00:00:00
 99% [==========================================================-(B](B ETA: 00:00:00
FAIL: Polly-Unit :: ScheduleOptimizer/./ScheduleOptimizerTests/failed_to_discover_tests_from_gtest (39524 of 39568)
******************** TEST 'Polly-Unit :: ScheduleOptimizer/./ScheduleOptimizerTests/failed_to_discover_tests_from_gtest' FAILED ********************
: CommandLine Error: Option 'polly-opt-optimize-only' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options

********************
                     -- Testing: 39568 tests, 12 workers --                     (B

 99% [==========================================================-(B](B ETA: 00:00:00
 99% [==========================================================-(B](B ETA: 00:00:00
FAIL: Polly-Unit :: ScopPassManager/./ScopPassManagerTests/failed_to_discover_tests_from_gtest (39526 of 39568)
******************** TEST 'Polly-Unit :: ScopPassManager/./ScopPassManagerTests/failed_to_discover_tests_from_gtest' FAILED ********************
: CommandLine Error: Option 'polly-detect-profitability-min-per-loop-insts' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options

********************
                     -- Testing: 39568 tests, 12 workers --                     (B

 99% [==========================================================-(B](B ETA: 00:00:00
FAIL: Polly-Unit :: ScheduleOptimizer/./ScheduleOptimizerTests/failed_to_discover_tests_from_gtest (39527 of 39568)
******************** TEST 'Polly-Unit :: ScheduleOptimizer/./ScheduleOptimizerTests/failed_to_discover_tests_from_gtest' FAILED ********************
: CommandLine Error: Option 'polly-opt-optimize-only' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options

********************
                     -- Testing: 39568 tests, 12 workers --                     (B

 99% [==========================================================-(B](B ETA: 00:00:00
FAIL: Polly-Unit :: ScopPassManager/./ScopPassManagerTests/failed_to_discover_tests_from_gtest (39528 of 39568)
******************** TEST 'Polly-Unit :: ScopPassManager/./ScopPassManagerTests/failed_to_discover_tests_from_gtest' FAILED ********************
: CommandLine Error: Option 'polly-detect-profitability-min-per-loop-insts' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options

********************
                     -- Testing: 39568 tests, 12 workers --                     (B

@GrahamcOfBorg build llvm_11

@GrahamcOfBorg build clang_11

@GrahamcOfBorg build lld_11

With the fixes above, I managed to build llvm 11 and chromium-git 86 using it

Yes, removing .patch files next.

@GrahamcOfBorg build clang_11

I get
CMake Error at CMakeLists.txt:4 (message):
  libc++abi now requires being built in a monorepo layout with libcxx
  available

I get
CMake Error at CMakeLists.txt:4 (message):
  libc++abi now requires being built in a monorepo layout with libcxx
  available

ofborg built is successfully

What left is to fix build when enablePolly = true

Any news on this? Would be good to have this soon for testing chromiumBeta (though I could also apply this PR locally).
Is enablePolly = true the only problem that's left?
Also cc @lovek323 @7c6f434c @dtzWill (LLVM maintainers)

Unfortunately the macOS build fails with https://github.com/NixOS/nixpkgs/pull/94204#issuecomment-667957332 and. I have no time right now to fix it. Probably easy to build a monorepo-like layout frame the downloaded tarballs, and I assume that not even all are needed. But I have no time right now to do the gruntwork, so we can either merge this and accept that Darwin is broken, or start working on it.

Thanks for the update. Given that this is a new package I would be fine with getting the Darwin support in place later if we have to.
@NixOS/darwin-maintainers do you maybe have time to take a look at the Darwin build?

Ok, so I just refactored/squashed the history and merged this in 28aef45a1aaf9b74ca2f5f1d015b687fee92a080 :)
Thanks for your work @ggreif and @conferno :heart:


DynamicWriteLock used but not exposed in public API

When creating a dynamic shared between the script and external environment, it's often convenient to create wrapper APIs for functions that do some of the heavy-lifted cast magic:
struct Context {
    value: rhai::Dynamic,
}

impl Context {
    fn value(&self) -> rhai::INT {
        self.value.as_int().unwrap()
    }

    fn cooldown_mut(&self) -> rhai::dynamic::DynamicWriteLock<rhai::INT> {
        self.value.write_lock::<rhai::INT>().unwrap()
    }
}

However, DynamicWriteLock is not accessible, despite its use in the public API:
error[E0603]: module `dynamic` is private

Your use case is probably similar to this usage pattern: https://rhai.rs/book/patterns/singleton.html

Hmm... I just gave this pattern a shot and it looks like what I need, but the example doesn't seem to be totally in sync with what's possible. It suggests pushing the object into the scope as a constant:
let bunny: SharedBunny = Rc::new(RefCell::(EnergizerBunny::new()));

let mut scope = Scope::new();

// Add the command object into a custom Scope.
scope.push_constant("Bunny", bunny.clone());

engine.consume_with_scope(&mut scope, script)?;

But actually, if you try to use a setter on it as it suggests, it complains that constants cannot be modified:
thread 'simulator::tests::test' panicked at 'called `Result::unwrap()` on an `Err` value: couldn't activate ability `slice`

Caused by:
    Cannot modify constant ability (line 1, position 1)', src/simulator.rs:242:42

I've created a setter here:
    #[rhai_fn(set = "cooldown")]
    pub fn set_cooldown(this: &mut Shared<Ability>, cooldown: INT) {
        this.write().unwrap().cooldown = cooldown;
    }

Which is analogous to the example:
    #[rhai_fn(set = "power")]
    pub fn set_power(bunny: &mut SharedBunny, on: bool) {
        if on {
            if bunny.borrow().is_going() {
                println!("Still going...");
            } else {
                bunny.borrow_mut().go();
            }
        } else {
            if bunny.borrow().is_going() {
                bunny.borrow_mut().stop();
            } else {
                println!("Already out of battery!");
            }
        }
    }

Ah.  That's a good find.  This example is old, and I never revised it.  Newer Rhai versions checks against calling a mutating method on a constant.
I'll have to think of a way to get around this...

I've fixed the example.  Thanks for spotting this.
It must be called using a pure method instead of a setter: Bunny.set_speed(50); instead of Bunny.speed = 50;

I think I tried that with no luck, but I'll give it another shot at some point.

I think I tried that with no luck, but I'll give it another shot at some point.

For a method, you can't have set = "name" because that would make it a property setter that you cannot call like a method.

Ah, I see. Are there any consequences to just pushing the value as a variable instead of a constant in order to allow that?

Not really, except that the scripts are free to overwrite those variables.  If they don't care, I guess you shouldn't need to care.
If you don't push constants, you can keep the setters are property setters and the property assignment style will work fine.  The downside is, as above, your users can overwrite that variable.

Good point. Are there any plans to permit pure setters on constants?

Good point. Are there any plans to permit pure setters on constants?

I'm looking into it.  It was originally forbidden just to make the code easier.  In other words, I cheated.

It is not as simple as it looks.  And here is an explanation why:
In Rhai, indexing and dotting form a chain.  For example, a[x][y][z] refers to a particular memory location within the array a.  m.x.y.z refers to a particular memory location within the object map m.  It does not, for instance, refer to ((m.x).y).z with intermediaries.  Essentially, a dot/index chain forms an address that indexes into the root object.
If the root object is constant, theoretically no mutations should be allowed all the way down the chain -- because, as I mentioned, the chain is nothing more than an address into the root object.
Then we may have indexers and property getters.  If they are allowed to be pure, that means that when these external functions are called, we must always check whether the root object is constant.  And that means carrying the constancy information all the way deep into the chain and into every function call.
And it also means that we cannot simply register a pure function by checking for read-only status of the parameters, because those parameters are simply parts of the root object.  It is entirely possible for the root object to be constant while containing non-constant values.  Therefore, in order to check whether a non-pure function is applied to a constant, we have to pass the root object into every non-pure function call.
This is entirely possible to do, but extremely tedious and frankly speaking of dubious value.  Therefore, it is much simpler to just disallowing assignments to a constant value via a scope chain.
Therefore, you may not realize, but if you do the following right now, it will choke:
// a1, a2 and a3 are all SharedAbility
const Abilities = [ a1, a2, a3 ];

a1.set_cooldown(42);    // OK!
Abilities[1].set_cooldown(42);   // Not OK! Cannot assign to constant

Well, what do we know.  Again, using the trick to do constancy checking in the Dynamic value solve all the above hairy problems!
Now you can have pure setters and do ability.cooldown = 42; without any problem.

Hmm... is return_raw not applicable to setters? I have a fallible setter here, but it doesn't seem to be permissible:

You're correct.  This is an oversight.  It has already been fixed and will show up in the next version.
If you can't wait, I've just published 0.3.6 of rhai_codegen and you can update your Cargo.lock and pull that version.  It should allow fallible setters.

Awesome! I think I've got a relatively clean architecture at this point that seems to work. Thanks for your help!

Anything outstanding with this issue?

@schungx Nothing else - I don't need this anymore but I'll leave it up to you to decide whether this is still a good idea.

Well, I'm exposing it under internals for now, unless there is more call for exposing it publicly in the future.
Close this for now.


feat(mastodon): Add env for Mastodon

Make all necessary changes to add a Mastodon entry

Nope, Github best practice is to upstream your changes here first:
https://github.com/sethcottle/littlelink

Ok, so I'll make my changes there.
All the change made in the littlelink repo are reflected in the littlelink-server one?

Ok, so I'll make my changes there.
All the change made in the littlelink repo are reflected in the littlelink-server one?

No it would still require a maintainer to port the changes afterwards, unless the maintainer has setup automation for it.

So I will make the same modification on the repo of littlelink and keep this PR open to kind of "automatically" port the changes from the littlelink repo to the littlelink-server one ?

@MorpheusH3x   Thank you!  One small comment but after that good to go.


Concurrency Issue

In multi-threaded environment, getting java.util.ConcurrentException in OrderBucketNative class for below line.
final Map.Entry<Long, Order> next = iterator.next();
In this class LinkedhashMap is being used to collect and remove all matching orders. So can I use any Concurrent Collection instead to avoid ConcurrentException.
Thanks

Orderbooks (and OrderBucketNative in particular) implementation is strictly single threaded.
Using concurrent collections can not guarantee thread safety, beacuse whole order book does not ready to keep internal consistency under direct multithreaded access.

Thanks @mzheravin
Is there any way to run exchange-core in multi-threaded environment?

exchange-core is working in multi-threaded environment (4+ threads).

ok Thanks @mzheravin


fix up jk code

Codecov Report

Merging #40 into master will increase coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #40      +/-   ##
==========================================
+ Coverage   94.68%   94.73%   +0.05%
==========================================
  Files           6        6
  Lines         188      190       +2
==========================================
+ Hits          178      180       +2
  Misses         10       10


Wrong link of Promo Image Resizer website

Hello Guys,
The link that has been provided for Promo Image Resizer website is incorrect. You have provided the link to CompressNow website. Please change the link to https://promo.com/tools/image-resizer/
I am a NewBie to GitHub and this is my First Ever Issue. So, if I had done something wrong then please tell me.

Thank you for your observation, will be fixed 👍


uucore: refactor show_error! macro

Follow up PR for the https://github.com/uutils/coreutils/pull/2273#issuecomment-848310698.

Deleted show_info! macro.
Deleted error: prefix from the show_error!macro.
Changed show_info! macro with show_error! across all utilities.
Updated tests.

Yay!

Awesome! @sylvestre do you agree with this solution and does this have any impact on the GNU tests?

I think it definitely effects GNU tests but in a positive way.

Clearly, with this patch
GNU testsuite = TOTAL: 601 / PASS: 149 / FAIL: 339 / ERROR: 22
Before:
GNU testsuite = TOTAL: 601 / PASS:  144 / FAIL:  344 / ERROR: 22

Improved the results:
https://github.com/uutils/coreutils-tracking


Blacklisting doesn't speed up specs as expected

Our cucumber javascript specs were starting to get slow, so I spent some time sleuthing out the reason. I found that if I commented out one line in our layout (the one that loads typekit), our cukes would run more than 3 time faster.
With script src='//use.typekit.com/zza4vex.js'...
24 scenarios (24 passed)
257 steps (257 passed)
1m38.619s
cucumber  0.14s user 0.05s system 0% cpu 1:39.33 total

Without script src='//use.typekit.com/zza4vex.js'...
24 scenarios (24 passed)
257 steps (257 passed)
0m28.191s
cucumber  0.14s user 0.04s system 0% cpu 28.898 total

This seemed like the perfect use case for blacklist_urls, so I gave it a try. To my surprise, it didn't make any difference in the runtime. I traced all the way down into the client javascript that runs in poltergeist (onResourceRequestedNative) and checked which requests were being made using page.driver.network_traffic, and typekit looked like it was actually blacklisted.
I haven't gone any further in figuring out why blacklisting doesn't have the same effect as removing the script tag. I wanted to log my findings in case anyone else had a recommendation. I will keep digging.
/cc @kelvinst
PS: Using v1.6.0 of the gem and PhantomJS 1.9.8 on Mac OS X.

Our feature specs do a lot with multiple sessions and the blacklisted_urls don't appear to apply to sessions other than the default session. For us, this means that almost none of the requests are blacklisted. I have tried 2 strategies to set the blacklisted urls as often as possible, with hopes that it would work:
Before do
  puts "**** Blacklisting..."
  if page.driver.browser.respond_to?(:url_blacklist)
    page.driver.browser.url_blacklist = %w(use.typekit.com)
  end
end

And...
Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, debug: false, js_errors: true).tap do |driver|
    driver.browser.url_blacklist = %w(use.typekit.com)
  end
end

No dice. A majority of the typekit requests are still made and the suite remains slow.
I think there's room for significant improvement to blacklisting. I found this thread over at capaybara-webkit (https://github.com/thoughtbot/capybara-webkit/issues/717) and I really like where they landed.:

By default, warn on every non-local request
Allow blocking of all non-local requests with a single setting
Whitelist remote requests that should be allowed, with support for wildcards

Bonus: by aligning with their solution, we're one step closer to a convention, one which could be codified by capybara itself at some point.

@christiannelson very nice investigations!
I am totally agreed with you about their conclusions, it would be awesome to have all of them.
And of course, the more we were aligned to they, better for us...
Maybe some time I'll get some time to a PR on some of them...
Much thanks to you!!!

@kelvinst Thanks! I'm still hacking on it and will share what I find if anything is interesting.
If there's any chance I can work on a solution, or one of our devs can, then we'll start a PR.
Thanks for introducing the feature in the first place... we're one step closer. :)

Master branch now supports configuring default white/blacklist settings in the driver registration as well as wildcard support.  Those settings will be used by all new sessions created using that driver, and new windows opened will inherit the white/blacklist settings of the parent window.  I think this makes whitelist/blacklist usable and predictable enough to close this issue now.


fix(docs): jasmine-spec-reporter is still used in rc.0

The guide to rc.0 indicates that jasmine-spec-reporter has been removed. I may be mistaken but I think it's still necessary (the protractor config file still reference it).

I see someone was faster than me, closing for #5041


Control AndroidSwipeLayout Effective or not Effective

删除功能并不是所有的情况都会出现，如何控制AndroidSwipeLayout只显示SurfaceView，底部的BottomView不想在某种特定的情况下使用。没有看到有相关的参数进行控制？望告知并fix

this is my Situation： I don't want to use the AndroidSwipeLayout in some Special circumstances，I want show SurfaceView ，but not show BottomView in this Special circumstances。can you have Parameters to  control this situation？

I am sorry ，I read your source code find have a Parameters to control this situation：
so I had solved this Q，this is my code ，I want to help someone who have this Q like me：
swipeLayout = (SwipeLayout) view.findViewById(getSwipeLayoutResourceId(position));
if(isMySelf){
swipeLayout.setSwipeEnabled(true);
}else{
swipeLayout.setSwipeEnabled(false);
}
Thank you for your open source code ！

just use the method setSwipeEnable.
https://github.com/daimajia/AndroidSwipeLayout/blob/master/library/src/main/java/com/daimajia/swipe/SwipeLayout.java#L884

Solved the problem?

Of course Solved，Thanks.....

Should be closed.


Packer install don't work

nvim --version: 0.5
Operating system/version: arch
nvim +'checkhealth rnvimr': not found

I used packer to install this plugin, it shows install successful, I can also see it is installed in packer folder. But checkhealth rnvimr said no found this plugin and I cann't run RnvimrToggle

Change rnvimr from opt to start

Perfect! Thanks for your time


[SchemaRegistry] investigate Apache Avro dependency

[ ] check underlying dependencies
[x] discuss with Laurent about whether/how to proceed with depending on Apache Avro
[x] check if Apache Avro has good community support
do not have Issues tab in GH
do allow for external contributors through PRs
[x] compare with fastavro
[ ] schedule meeting to discuss this

questions about fastavro:

[ ] does not support 2.7
Laurent: probably will not be a problem, since we're phasing out + schema registry has not been around long enough that a lot of people depend on 2.7
[ ] does not support 3.10 yet
[ ] is it faster than apache? by how much? (include stats)
[ ] is there good community support? (include indicators)

average time (s) to serialize 100,000 records:

fastavro/bytes schema: 1.1712
avro/bytes schema: 8.9221
fastavro/str schema: 1.0727
avro/str schema: 8.7702

average time (s) to deserialize 100,000 records:

fastavro/bytes schema:  0.9307
fastavro/str schema: 0.9554
avro/bytes schema: 8.1456
avro/str schema: 7.9060

SERIALIZE WITH FASTAVRO
from fastavro import parse_schema, schemaless_writer
from io import BytesIO

def serialize_fastavro(schema, value):
    # type: (Union[bytes, str], dict) -> bytes
    # schemas passed in to fastavro must be converted to dict first
    json_schema = to_dict(schema)
    parsed_schema = parse_schema(json_schema, _write_hint=False)

    stream = BytesIO()
    with stream:
        schemaless_writer(stream, parsed_schema, value)
        encoded_data = stream.getvalue()
    return encoded_data

DESERIALIZE WITH FASTAVRO
from fastavro import parse_schema, schemaless_reader
from io import BytesIO

def deserialize_fastavro(schema, data):
    # type: (Union[bytes, str], bytes) -> str
    # schemas passed in to fastavro must be converted to dict first
    json_schema = to_dict(schema)
    parsed_schema = parse_schema(json_schema, _write_hint=False)

    stream = BytesIO(data)
    with stream:
        decoded_data = schemaless_reader(stream, parsed_schema)

sample loading into pandas dataframa

ACTION ITEMS:

keep Python 2.7 for GA
test Avro exceptions/serialization/deserialization so that no types are leaked from Avro. If so, throw Azure Core exceptions.
create backlog issue: avro with comment in README if users want to install fastavro instead.


adding a curl sample for dpd drop authorization

This pull request adds a curl example for specifying drop authorization when using dpd as carrier

ready to merge


TypeScript

Thank you for the project @larsgw !
What is the feeling of things in terms of TypeScript?  (I took the plunge a year or so ago and write everything in it nowadays)

Providing type definitions (keeping it as-is, but providing .d.ts for data structures/params)
Writing the core of citation.js in TS?

TypeScript seems interesting but at least until the end of the year I really want to focus on a stable 0.5 release (with a major BibTeX update). In the meantime, I have been working on JSDoc definitions of types, functions and classes in the core module (generated docs). Are those somehow translatable to .d.ts?

@larsgw
As of TypeScript 3.7, you can use JSDoc to generate .d.ts definition files.
More resources:

https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html
https://www.typescriptlang.org/docs/handbook/declaration-files/dts-from-js.html

I also bumped into a pure TypeScript project that handles citations I will look into next (via @dsifford): https://github.com/dsifford/astrocite

The astrocite project is looking for maintainers if anyone is interested in running with it 😄. Switched day jobs and don't have the energy or the need to focus on it as much as I used to.

Thanks @tony. One the first try I don't see it pick up JSDoc yet but I'll try some more.

The astrocite project is looking for maintainers if anyone is interested in running with it smile. Switched day jobs and don't have the energy or the need to focus on it as much as I used to.

Sad to hear that @dsifford.

Part of the problem seems to be that the TypeScript implementation of JSDoc does not support namepaths with module specifications, unfortunately. So it doesn't pick up any of my type definitions. Also, I am getting errors for callback definitions missing parameters, and I am not sure whether they expect an actual function with parameters to be there, or if they saw some calling site that does not use those parameters and report it weirdly.

@larsgw You're able to concentrate this late by you? It's 8PM / 20:00 and i'm mentally exhausted. Was expected you'd be sleeping if you're in NL 😆

My sleep schedule is messed up a bit after staying at home for the most of the past 7 months, though normally not this bad.

For the record, I spent about ~1 hour trying to modify the project config to automatically generate type declarations from the JSDoc annotations, but TypeScript still doesn't seem to support JSDoc namepaths, nor does tsd-jsdoc.
It's probably too much of a burden to convert the whole project to TypeScript (would also require converting old-style classes to new-style classes, among other upgrades, and at that point the whole library may as well be overhauled).
I'll probably end up manually writing some wrapper types instead.  Thanks for this library!  Hopefully one day type declarations will be possible.

That's unfortunate. Thank you for trying though. I don't think I have time soon to convert the whole project, also since I never use TypeScript myself :) But I might be able to manually make some types, I'll see.

old-style classes

Do you mean the classes made with function instead of class? I think that's only used once.

Hello @larsgw,
Was looking around a library like this to use in my angular project and just came across this issue. Are there any plans to support typescript?

I'm not planning to convert the project to TypeScript in the short-term, and I'm not sure how effective type definitions would be. The most prominent part of the public API (apart from Cite itself) is the configuration in Cite#format() but I'm not sure if that can even be defined with TypeScript.

hi,
it seems that using LLMs is easy. I will try to do a PR with something basic :
declare module '@citation-js/core' {
  interface CiteOptions {
    format?: string;
    template?: string;
    lang?: string;
  }

  interface CSLDate {
    'date-parts': number[][];
    literal?: string;
    raw?: string;
  }

  interface CSLName {
    family: string;
    given?: string;
    literal?: string;
    suffix?: string;
    commaSuffix?: boolean;
    droppingParticle?: string;
    nonDroppingParticle?: string;
    staticOrdering?: boolean;
    multi?: {
      family: { en: string; [key: string]: string };
      given?: { en: string; [key: string]: string };
    };
  }

  type CSLItemType =
    | 'article' // Generic article
    | 'article-journal' // Journal article
    | 'article-magazine' // Magazine article
    | 'article-newspaper' // Newspaper article
    | 'book' // Book
    | 'chapter' // Book chapter
    | 'entry' // Dictionary or encyclopedia entry
    | 'entry-dictionary' // Dictionary entry
    | 'entry-encyclopedia' // Encyclopedia entry
    | 'manuscript' // Manuscript
    | 'paper-conference' // Conference paper
    | 'patent' // Patent
    | 'report' // Report
    | 'thesis' // Thesis
    | 'webpage' // Webpage
    | 'bill' // Bill
    | 'case' // Legal case
    | 'graphic' // Graphic
    | 'interview' // Interview
    | 'legislation' // Legislation
    | 'motion_picture' // Motion picture (film)
    | 'song' // Song
    | 'speech' // Speech
    | 'map' // Map
    | 'broadcast' // Broadcast (e.g., TV show, podcast)
    | 'personal_communication' // Personal communication
    | 'software' // Software
    | 'dataset' // Dataset
    | 'figure' // Figure
    | 'post' // Post (e.g., blog post)
    | 'document' // Generic document
    | 'other'; // Other types not covered above

  interface CSLJSON {
    abstract?: string;
    accessed?: CSLDate;
    archive?: string;
    archiveLocation?: string;
    author?: CSLName[];
    chapterNumber?: string;
    citationLabel?: string;
    citationNumber?: number;
    collectionEditor?: CSLName[];
    collectionTitle?: string;
    containerTitle?: string;
    DOI?: string;
    edition?: string;
    editor?: CSLName[];
    event?: string;
    eventPlace?: string;
    genre?: string;
    id?: string | number;
    ISBN?: string;
    ISSN?: string;
    issue?: string;
    issued?: CSLDate;
    jurisdiction?: string;
    keyword?: string;
    language?: string;
    medium?: string;
    note?: string;
    number?: string;
    numberOfVolumes?: string;
    originalDate?: CSLDate;
    originalPublisher?: string;
    originalPublisherPlace?: string;
    originalTitle?: string;
    page?: string;
    publisher?: string;
    publisherPlace?: string;
    references?: string;
    reviewedAuthor?: CSLName[];
    reviewedTitle?: string;
    section?: string;
    shortTitle?: string;
    source?: string;
    status?: string;
    submitted?: CSLDate;
    title?: string;
    translator?: CSLName[];
    type: CSLItemType;
    URL?: string;
    version?: string;
    volume?: string;
  }

  export class Cite {
    constructor(data: CSLJSON | CSLJSON[]);
  }

It would definitely need some changes but it's a start.


Updates

would it be possible for you to update this patch to work with a later variant of bungee?
https://github.com/HexagonMC/BungeeCord

I will take a look at it later, no promises though.

Okay, i was going to do it, but you have a forked repository including those patches already. I am missing something?

Ive started attempting it however im no developer and im sure my variant will fail.
Im a guy who knows linux and how to manage hardware, not develop plugins and mods. :P

It's not a part used by plugins, just how packets are handled so if it compiles and starts without errors it's okay, it won't affect any plugin. If not, then i'll try to implement it myself.

Can you check over my changes and see if it is correct?

And when I was saying im not a developer of plugins and mods, etc. I was covering the entire genre of development side of minecraft/bungee/etc. I have very low expectations for myself to develop minecraft related things. I make shell scripts, run linux machines, not develop.

Ive giving my attempt a try will return with results.

Yea im getting compiling errors. :/

Okay, i'll make it then.

It's ready. If you want the source code you can find it in the 1.9 branch, and here the precompiled jar.

Would the patches by Yive be needed as well?
https://github.com/TCPR/BungeeCord/commits?author=Yive

Click on the "..."

Sorry, was tired. Works like a charm!  :)


Fix #10618

Fix #10618
I have also fixed cbRelationID not being copied across.
Note that this depends on the fix proposed in https://github.com/concrete5/concrete5/pull/10617 so that Block::isOriginal() returns the correct value.

Really nice catch – that code is deep and old.


Change home page title to "Untitled Publish Review Curate Platform"

Not sure if this was agreed, but could be worth replacing PRC on home page with a clearer placeholder name.
Could do with increased padding etc.

I've scheduled a meeting for Thursday to discuss branding, but this would be a good interim placeholder.

I assume this also cover the <title> for every page, which currently is PRC too.

Available in staging.


[BUG] Can't open actor menu [0.8.7]

Setup

OS: Windows
Browser: Chrome, Foundry app
Module version: 1.0.4
Foundry version: 0.8.7
Gaming system & version: Shadowrun 5th Edition 0.7.17
Any other modules enabled: yes

Describe the bug
When trying to open the "Shared Vision" menu after doing it for the first time per actor, it doesn't show the dialog again. Wiping the modules flags from the actors .json makes the dialog show again one time.
Console Log

Thanks for the bug report.
This has been fixed in v1.0.5. The problem was that for some reason Shadowrun automatically appears to convert array flags to objects, 5e and other systems I tested don't do that.
I added some code to check if the flag is an object, which then converts it into an array, so it should work now.


chore(dep) Upgrade to latest Ergo v0.22.0-alpha.4

Signed-off-by: Jerome Simeon<EMAIL_ADDRESS>Changes

Upgrade to latest Ergo 0.22.0-alpha.4

Coverage remained the same at 92.683% when pulling 6da1c07127225e01775cc976c0ccbe615af587fb on js-alpha.4 into 6bc1955cb66d981d5088d6fe81dcaa2ba25f8fda on master.


I built a site with Eleventy!

https://sixtyten.netlify.com
source: https://github.com/colabottles/sixtyten

You call this a "working name" … do you expect this URL to be long-lived enough to put in these docs?

No, I did not call it a "working name"
Yes, the URL should probably point to an "official" TLD.
No, I don't consider the URL to be "long-lived enough" to be put in the docs.
Yes. At some point, it will have a TLD.
Dealing with a death in the family really puts a damper on my development time and online time.
No, I did not consider not submitting this site until I acquired a domain name.
Yes, I'm going to go now and deal with issues that are of a higher priority than this.

Sincere condolences :-(


quick fix ----min-partitions

quick fix ----min-partitions

Hi! This typo was fixed by the other member of our team already, so closing this PR, but appreciate the further ones, as we now can handle them faster.


feat: fab buttons are not working in ionic for 4.1

Type: feat
Platform: mobile webview
i am working on ionic with customizing the fab buttons on android 4.1 to 4.3 its not working at all any help?

We don't have fab buttons in v1, do you have an example?


Synergies

Add a toggle between a "Counters" view and a "Synergies" view

Add filters for "Strong synergy", "Light Synergy" and "Weak synergy", the same as the "Counters" view

Add relationships between all the operators for "Synergies"
This is a big task requiring lots of tech and game knowledge
The Rainbow Six wiki has good synergy sections on each operator to use as a guide https://rainbowsix.fandom.com/wiki/Operator

Huh now this seems interesting...
I was looking through the wiki for the 4 new operators as well and saw that some operators don't really counter, but add a benefit of helping others. Such as Doc and Oryx, or finka and buck.
Adding synergies to the operator factory is not an issue, but how would you propose the UI to look, considering that there are three levels of synergies?
In my opinion, 6 buttons just doesn't look nice, but of course may be the easiest
I need to look at how the code works and see how the js files work with the D3.js on presenting the lines.
My assumption is that, counter types determine what "relationship nodes" should show up on the screen based on some css rules?

In my opinion, 6 buttons just doesn't look nice, but of course may be the easiest

I would see this working a mode you could toggle between. Something like this?

That way, you've only got the 3 filter checkboxes in each view and the graph will be much easier to follow. We may only want the "Strong Synergy" and "Light Synergy" checkboxes if there aren't that many synergies in the game (there are a lot of counters so it makes sense to divide it up into 3). I will be working on issue #117 soon which should reduce the clutter on smaller screens.
The counters that get shown are determined by the filterDataByCounterLevel method. Currently, it takes in hard, soft, and minor...then filters the JSON data.

Yes that would be cool indeed!
I like the three synergy toggle switch idea. Lots of synergies to consider.
There are a lot of synergies to consider outside of powers as well.
Such as Glaz having synergies with operators that can equip smoke grenades.
Flanking operators synergizing with operators that can equip bulletproof cameras along with Valkyrie, Maestro, Mozzie.
I will assign this to myself. It may be a while though.


Path of URI was ingnored in route config

with my route config,uri only support domain not a real URI.
my config
- id: open
   uri: http://localhost:8080/path
   predicates:
      - Path=/open/**
   filters:
      - StripPrefix=1

When a request http://mygateway/open/req come in
route is
http://localhost:8080/req not as
http://localhost:8080/path/req
I find code here
URI mergedUrl = UriComponentsBuilder.fromUri(uri)
				// .uri(routeUri)
				.scheme(routeUri.getScheme()).host(routeUri.getHost())
				.port(routeUri.getPort()).build(encoded).toUri();
exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, mergedUrl);
return chain.filter(exchange);

property of 'path' in URI is ignored in this code.
Is this a bug or a feature.
if a feature ,that name 'uri' in route config iis unreasonable.

Yes, if you want to manipulate the path, use a filter such as set path or rewrite path.