Add multi-lora support for Triton vLLM backend

Hello, the vllm recently support multi-lora feature, see this PR for more information.
To support request for lora, I implemented the code for lora request in triton backend.

The vLLM scheme
Now (2023.11.29) vllm supports loading local weights to model backbone, (no auto-download from S3/Hugging Face hub), they claimed that they will implement the remote-weights downloading later.
Besides, the LoRA path should be configured from sender, for more you can see there interface.

Triton scheme
Under the circumstances, the triton should act as a transit point for user's request processing and converting.
For users, all they need to do is to provide a target lora name for querying:
python3 client_lora.py -l alpaca

Then Triton will check if the target lora is in the local lora weights or not. If true, Triton will wrap this target lora information to a new object LoRARequest and send to AsyncEngine to execute.
See model.py for more information.

Changes to model repository
The model.json needs new args such as "enable_lora": "true" to support multi-lora in vllm, see EngineArgs for more.
The multi_lora.json file was created to figure out the specific lora name for each lora adapter. model.json stores the information of vllm engine initialization, so information of lora weight path cannot be stored in that. I created a new file to manage all local lora weights.
It can be configured like this:
{
    "alpaca": "/vllm_workspace/weights/loras/alpaca-lora-7b",
    "bactrian": "/vllm_workspace/weights/loras/bactrian-x-llama-7b-lora"
}

Triton backend will read this file when initializing as a repository for local lora weights.

Test
The code passed the tests with and without lora support. Not setting enable_lora does not affect the original code.
python3 client_lora.py
Hello, my name is
I am a 20 year old student from the Netherlands. I am currently

python3 client_lora.py -l alpaca
Hello, my name is
I am a student at
I am currently studying
I am interested in learning

For more information about deployment, you can see the docs/llama_multi_lora_tutorial.md.

@oandreeva-nv Thank you very much for your thorough review of my code and for providing me with detailed guidance and suggestions.
I have made changes to the code and the docs based on your suggestions.
Note that vllm multi-lora feature may not come with container 23.12 ( -> vllm 0.2.3). I will keep working on multi-lora support on backend, and fix bug or offer new features.

2023-12-29 update:

Yard1's multi-lora PR hasn't been merged to main branch of vLLM yet, so I edited the llama_multi_lora_tutorial.md to offer my way of installing vLLM with multi-lora feature.
So more developers can have easier and clear ways to get on with it.
In the latest commit, I fix the bug of non-graceful terminate error, the original code lacks something in request error handling. When terminating the triton server after LoRA request error response, it will trigger segment fault:

E1229 07:55:42.707509 6674 main.cc:517] failed to stop server: Internal - Exit timeout expired. Exiting immediately.
root@airaiot-MS-7D25:/vllm_workspace# I1229 07:55:44.442169 6737 pb_stub.cc:1815]  Non-graceful termination detected.

(RayWorkerVllm pid=9004) [W CUDAGraph.cpp:145] Warning: Waiting for pending NCCL work to finish before starting graph capture. (function operator())
I1229 08:03:20.534161 7999 server.cc:331] Timeout 26: Found 1 live models and 0 in-flight non-inference requests
I1229 08:03:21.534340 7999 server.cc:331] Timeout 25: Found 1 live models and 0 in-flight non-inference requests
I1229 08:03:22.534539 7999 server.cc:331] Timeout 24: Found 1 live models and 0 in-flight non-inference requests
I1229 08:03:22.783541 7999 model_lifecycle.cc:603] successfully unloaded 'vllm_model' version 1
I1229 08:03:23.534724 7999 server.cc:331] Timeout 23: Found 0 live models and 0 in-flight non-inference requests
root@lee-MS-7D25:/vllm_workspace#

The following part is an error report.
The 88th line of src/model.py:
auto_complete_model_config.set_model_transaction_policy(dict(decoupled=True))

will cause error when launching the triton server, here are the logs:
I1229 07:19:29.086536 1055 pb_stub.cc:257]  Failed to initialize Python stub for auto-complete: AttributeError: 'ModelConfig' object has no attribute 'set_model_transaction_policy'

At:
  /opt/tritonserver/backends/vllm/model.py(88): auto_complete_config

E1229 07:19:29.102646 1042 model_lifecycle.cc:621] failed to load 'vllm_model' version 1: Internal: AttributeError: 'ModelConfig' object has no attribute 'set_model_transaction_policy'

At:
  /opt/tritonserver/backends/vllm/model.py(88): auto_complete_config

I1229 07:19:29.102667 1042 model_lifecycle.cc:756] failed to load 'vllm_model'

In my practice, I simply commented out that line of code, and it actually works.
Here is my dev environment:

docker env: nvcr.io/nvidia/tritonserver:23.10-vllm-python-py3
vLLM: yard's vllm fork repository (I think the problem was not caused by vllm, but by triton lib)

Lastly, hope this PR can get merged. :) @oandreeva-nv

which model.py we should update? multi-lora feature
this one https://raw.githubusercontent.com/triton-inference-server/vllm_backend/main/src/model.py looks like have no multi-lora support

ok right now evertyhing is fine, if I clone main vllm last version, not some branch which you posted in docs

Everything in this PR is current with the latest vLLM version. I've revised the documentation to include instructions on installing vLLM with punica kernel compilation.

The following commits do the following things:

Remove the multi_lora.json file in samples directory, users should create by themselves.
Remove redundant empty lines in docs/llama_multi_lora_tutorial.md
Revise the docs/llama_multi_lora_tutorial.md: Preparing a docker container should be the first thing, and other operations should be done inside the container environment. It's a terrible logic fault and I apologize for that.

@oandreeva-nv Sir, I found the reason of accuracy test failing. In vLLM v0.2.7 they enabled CUDA Graph when starting the llm_engine, thus this should take extra gpu memory space.
I observed that in original accuracy_test.py line 67: "gpu_memory_utilization": 0.3, this may not come up to date with v0.2.7 which enables CUDA Graph.
In my practice, I increased this value to 0.4. (one gpu, RTX 3090 24G), and I passed the accuracy_test.
Hope this will help you solve your problem, and I'm now working on tests over multi-lora feature.

@oandreeva-nv Sir, I prepared a new workspace for vLLM v0.2.7 test.
My environment:

triton docker image (vllm-python3) 23.12
RTX 3090 * 2
vLLM v0.2.7 release (build from source)

And I ran the ci tests to see memory problems.
The vLLM release v0.2.7 enables the feature of CUDA graph, thus the engine will take more gpu memory space more than it used to take. So the configurations in ci tests may not work fine.
There are two ways to solve this problem:

increase gpu_memory_utilization.
set "enforce_eager": "true" in model.json to avoid using CUDA Graph.

My test results:

Accuracy test: I modified accuracy_test.py line 67: "gpu_memory_utilization": 0.3 to "gpu_memory_utilization": 0.4, and passed.
enable_stream test: passed.
request_cancellation test: passed.
vllm_backend test: Haven't passed this test yet, but I observed that vllm_two instance will only take about 700M of gpu memory and the process exited then.(In theory, it would take at least another 8000M gpu memory and trigger exit) I think it may has something to do with triton, not vllm itself.

The vLLM v0.2.7 does not support multi-lora feature yet. (maybe come in the future version)
Thus my code may be tested with the latest vllm, built from source code.
I will submit more test scripts.

Hi @SamuraiBUPT , could you please resolve merge conflicts? We've also updated vLLM version to 0.3.0

Hello, @oandreeva-nv  conflicts have been resolved, and the code passed all ci tests.

Hello, I have added extra ci test scripts for multi-lora feature.
Environment Requirements and Explanation
The multi-lora test requires more than two GPUs to support this new feature.
(My test env is RTX 3090 * 2 (24G VRAM each))
This can be explained from two aspects:

There is a multi_gpu ci test in this repo, so I assume that your environment supports this requirement.
Considering the current ecosystem of Llama models and LoRA, the vast majority of LoRA adapters are closely related to Llama models. Thus I simply choose llama-7b-hf and its LoRA adapters for ci test.

The size of Llama-7b is more than 13G in GPU memory.
vLLM will take extra GPU memory when profiling, for its PagedAttention.
Multi LoRA feature requires at least 10 LoRA adapter slots, which also requires GPU memory space.

So all these things account for its requirement.

By the way, if your GPU memory is more than 40G (like A100), just ignore these settings :)

What exactly does this new CI test do?
I wrote this ci test for two purposes:

Test whether vllm supports different LoRA adapters simultaneously.
Test whether vllm handles unsupported LoRAs.

vLLM does not support pulling adapters dynamically from huggingface, so Triton acts as a port for managing local LoRA weights, thus Triton should refuse requests which querying non-existing LoRA adapters.

How long might this new CI test run?
That depends.
As I said it is tested over Llama-7b and its adapters. So before this test, all the weights will be downloaded from huggingface through download.py. The downloading may take a few minutes.
Just need to download once because there is symbolic links
And setting "tensor_parallel_size": 2 may take longer than one gpu scenario.
More changes
The multi_lora.json in samples/model_repository/vllm_model/1/ directory was deleted.
Because I think this file should not exist in this official repository, and this file should be created and populated by developers themselves, based on their own LoRA adapter needs.

Great work @SamuraiBUPT,
Eagerly awaiting this PR to be merged, as it opens up a whole suite of possibilities for my projects.

@oandreeva-nv Is there a rough timeline for when this PR could be merged?

This feature is a great addition to Triton 🙏

Hi @SamuraiBUPT, I've just returned after my OOTO. Will start an internal CI and go through this PR again

@oandreeva-nv Thank you for your suggestions! There have been many changes in model.py and the CI tests.
Some logical flaws and hidden errors have identified in the code. Specifically, these issues include:

CI tests for the case where enable_lora is set to false.
Server logic for processing and filtering LoRa requests.
A vulnerability in identifying enable_lora from the multi_lora.json file.

Regarding your suggestion to "encapsulate this check in a helper function," it's important to note that the requests may not be easily checked in the following pattern:
def execute(self, requests):
    if self.enable_lora:
        requests = self.verify_loras(requests)
    for request in requests:
        self.create_task(self.generate(request))
    return None

This is because we need to consider scenarios where a request querying for LoRA arrives at a server with LoRA disabled. Thus, it's essential that all requests undergo a helper function to filter out:

Requests querying for unsupported loras
Requests querying for lora while server doesn't support lora (this will trigger a vllm fault).

like:
def execute(self, requests):
    requests = self.verify_loras(requests)
    for request in requests:
        self.create_task(self.generate(request))
    return None

By implementing this approach, Triton can act as a security guard to prevent the program from crashing during serving.

@SamuraiBUPT , may I also ask to fix some pre-commit issues?
The easiest way is to install  pre-commit : https://pre-commit.com/
and run pre-commit run --all-files
Some spelling issues should be fixed manually

@oandreeva-nv Modifications have been made, and I have run pre-commit check locally and fix some issues as well.
Leave an issue about sending LoRA error.

Created pipeline (id: 14152157 )

Hi @SamuraiBUPT, may I ask to re-base your PR on top of a main branch? We've recently updated vllm version to 0.4.0 and it required some test changes

@oandreeva-nv done :)

re-running CI

I apologize for my ignorance; I did not fully adhere to the contribution process outlined in the Triton Contribution Guidelines initially.
However, I have now submitted a CLA to<EMAIL_ADDRESS>

@oandreeva-nv @tanmayv25 Hello, I have addressed the following issues in the new commit:

Updated copyright comments in the documentation and the copyright year in test scripts.
Revised the tutorial document to clarify NGC version, vllm version, and Step 6: send a request, along with some wording enhancements.
Modified the CI test scripts to use gemma-2b and its two related LoRA adapters, aligning the CI test code with current requirements.
Removed client_lora.py to eliminate redundant code.

Regarding the other issues:

Default installation of VLLM_INSTALL_PUNICA_KERNELS in container images: I recommend enabling it by default. I have uninstalled vllm v0.3.0 and installed vllm v0.4.0.post1 from source, which took approximately 10 minutes and 31 seconds on a 12th Gen Intel(R) Core(TM) i9-12900K. The installation time might vary for other developers.
Changes to local lora weights applying? No changes in v0.4.0.post1; it does not support dynamic adapter weight fetching from Hugging Face. If there are updates to the weight loading process, please inform me.
Transitioning CI tests from llama to gemma: Understanding the space constraints in our CI test environment, I have reviewed all supported models and LoRAs as listed in the vllm documentation Supported Models. Gemma-2b is the smallest model (compatible with LoRA) I can find. I have opted for this model hoping it aligns well with our CI requirements.

By the way, I don't know where our pipeline is. I greatly appreciate you providing the pipeline ID, but could you also provide the location of the pipeline, or the platform it runs on?

Hi @SamuraiBUPT , thanks for the thorough review! I'll re-run the pipeline and let you know regarding results.
At the moment CI/CD process is internal and external contributors do not have an access to it, thus maintainers of the Triton codebase are responsible for making sure CI/CD has passed for all external PRs.
I've started a new CI pipeline: 14260916.

@SamuraiBUPT Thanks for resolving my questions. The code changes looks good to me. I will defer to @oandreeva-nv  for final approval.
We will enable the PUNICA kernels in our container image as a follow-up item.

HI @oandreeva-nv could you please let me know how it's going? If there are any issues with the CI test results that require bug fixes, I can help resolve them. I appreciate your time. :)

tests passed on A100: jobs/89630242
I'll merge this PR today. Thank you @SamuraiBUPT for the amazing work and this valuable contribution!


Two Positions in the Same Organization

How can I put two different positions under the same organization?

#297


Create a non-generic StoreInner

This might be useful to make the engine's executor non-generic. A non-generic engine executor is important to decrease bloat but also to make use of the experimental #[union_fn] data structure.

The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master     #610      +/-   ##
==========================================
- Coverage   80.98%   80.94%   -0.05%
==========================================
  Files          82       82
  Lines        6758     6758
==========================================
- Hits         5473     5470       -3
- Misses       1285     1288       +3

Impacted Files
Coverage Δ

crates/wasmi/src/store.rs
82.40% <50.00%> (-2.40%)
:arrow_down:

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


Assistance with accessing Private Key.

I am exploring the library and just wanted to confirm, if I generate a keypair using:
private static Key GenerateKeyPair()
        {
            var algorithm = SignatureAlgorithm.Ed25519;
            // Create a new key pair.
            using var key = Key.Create(algorithm, new KeyCreationParameters()
            {
                 ExportPolicy = KeyExportPolicies.AllowPlaintextExport
            });

            return key;

        }

The caller of the method will not be able to export the private key from the returned key object.
The only chance to export the private key is within the above method prior to returning the object?
Is this correct? As when I try to peform the following on the returned key object (as the caller):
var privateKey = key.Export(KeyBlobFormat.KeyBlobFormat.RawPrivateKey);
I am told the object is already disposed.

It should be returning the entire key, which includes the private key... I don't think I had an issue when I used a method like that where it was generated within a called method, and exporting from outside of it. I'm not certain, but it could be an issue with the way you're generating/exporting it.

The using keyword disposes the Key instance before the method returns. It should work if you return the instance without using it:
private static Key GenerateKeyPair()
{
    return Key.Create(SignatureAlgorithm.Ed25519, new KeyCreationParameters()
    {
        ExportPolicy = KeyExportPolicies.AllowPlaintextExport
    });
}

Just don't forget to dispose the Key when you're done using it elsewhere:
using (var key = GenerateKeyPair())
{
    var privateKey = key.Export(KeyBlobFormat.RawPrivateKey);
    ...
}

@ektrah Thank you so much.


[Mc 1.8.8|PEX 1.23.3] SQL Error

Description
[Insert description of issue here]
Detailed Information
Is available here

Unfortunately PermissionsEx is currently unmaintained and no further updates are planned. Because of this, all pull requests are being closed. If you are looking for an actively maintained permissions plugin, take a look at LuckPerms. It is compatible with major server platforms and can import data from PEX.


Can't run action on GHES

I have seen the similar problem that was already raised but quite unsure if those are identical so that is why i wanted to report it.
Im receiving the error below.

And here is the my action YML. Please advise.
# Unique name for this workflow
name: Pre-Release PR
# Definition when the workflow should run
on:
  workflow_dispatch:
  pull_request:
    types: [opened, edited, synchronize, reopened]
permissions:
  pull-requests: write
jobs:
  pmd-run:
    runs-on: catalyst
    steps:
      # Now we install nodejs in the VM, and specify version 14
      - uses: actions/setup-node@v3
        with:
          node-version: "14"
      # Install java as it is required for the next step
      - uses: actions/setup-java@v3
        with:
          distribution: "temurin"
          java-version: "8"
      # Checkout the source code
      - name: "Checkout source code"
        uses: actions/checkout@v3
        with:
          fetch-depth: 0
      # Run PMD scan
      - name: "Run PMD scan"
        uses<EMAIL_ADDRESS>        id: pmd
        with:
          sourcePath: "force-app"
          rulesets: "ruleset.xml"
          analyzeModifiedFilesOnly:
          createGitHubAnnotations: true

      # Check for PMD violations
      - name: "Check for PMD violations"
        if: steps.pmd.outputs.violations != 0
        run: exit 1

analyzeModifiedFilesOnly : false

I think the message "Error: Not Found" is the response from github API when determining the latest PMD version.
The action tries to request https://api.github.com/repos/pmd/pmd/releases/latest - which seems to have failed.
We definitely can improve the error message here...
Does this problem persist? Maybe it was just a temporary problem....

Hey @adangel thanks for quick response, unfortunately it seems like a persistent but what you have said triggered a point, so im running the github action on enterprise instance where we have dedicated runners , im suspecting , maybe the endpoint that you mentioned is not reachable under the dedicated runner.

Hi @adangel I could curl the url  https://api.github.com/repos/pmd/pmd/releases/latest from our self hosted runner. But we get that Not Found error persistently.

Hm... I'm having a suspicion, what's happening here: We use the "hydrated" github client from the actions-toolkit. "hydrated" means, it uses not necessarily api.github.com as baseurl, but your GHES url - and on your github enterprise server, there is no pmd/pmd repository.
I think, we use this url: https://github.com/actions/toolkit/blob/457303960f03375db6f033e214b9f90d79c3fe5c/packages/github/src/internal/utils.ts#L23-L25
In case of GHES, the environment variable GITHUB_API_URL will be set and we don't query api.github.com anymore....

By the way, i have already tried to fix that you have just created, it is working like a charm. Thank you. All errors are gone!

It seems, the downloaded releases zip file is corrupt. You can try to download manually the URL, that is printed in the debug output (##[debug]Downloading https....) and verify e.g. with zipinfo that this is indeed a PMD releases archive.
You can also compare this file with the one on https://github.com/pmd/pmd/releases/download/pmd_releases%2F6.55.0/pmd-bin-6.55.0.zip
The sha256sum of that file should be 1acf96d43cb40d591cacccc1c20a66fc796eaddf69ea61812594447bac7a11d  pmd-bin-6.55.0.zip.
Maybe something went wrong when mirroring pmd/pmd?
Anyway, my PR #175 will use api.github.com to access the latest release.
If you want, you can try out the fix:
- uses: adangel/pmd-github-action@issue-173

By the way, i have already tried the fix that you have just created, it is working like a charm. Thank you. All errors are gone!

Thanks for testing! :+1:


Unable to install/update terminal-plus

Hey, first there was a problem while trying to update terminal-plus, so i clicked uninstall and install again, but it is still throwing errors. This is the output.
><EMAIL_ADDRESS>install /private/var/folders/z2/qhlwbs6d4c16tz0bt0smf3jc0000gn/T/apm-install-dir-1151027-6522-kaf6ft/node_modules/terminal-plus/node_modules/pty.js
> (node-gyp rebuild 2> builderror.log) || (exit 0)

npm ERR! Darwin 15.2.0
npm ERR! argv "/Applications/Atom.app/Contents/Resources/app/apm/bin/node" "/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/Users/LeanderK/.atom/.apm/.apmrc" "--userconfig" "/Users/LeanderK/.atom/.apmrc" "install" "/private/var/folders/z2/qhlwbs6d4c16tz0bt0smf3jc0000gn/T/d-1151027-6522-1f5tl0/package.tgz" "--target=0.34.0" "--arch=x64"
npm ERR! node v0.10.40
npm ERR! npm  v2.13.3
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR<EMAIL_ADDRESS>install: `(node-gyp rebuild 2> builderror.log) || (exit 0)`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script '(node-gyp rebuild 2> builderror.log) || (exit 0)'.
npm ERR! This is most likely a problem with the pty.js package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     (node-gyp rebuild 2> builderror.log) || (exit 0)
npm ERR! You can get their info via:
npm ERR!     npm owner ls pty.js
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /private/var/folders/z2/qhlwbs6d4c16tz0bt0smf3jc0000gn/T/apm-install-dir-1151027-6522-kaf6ft/npm-debug.log

There have not been any changes to Terminal-Plus that would have caused this. Some extra details might help me diagnose this:

Which operating system are you on?
Which version of Atom are you running?

Ok, mac osx el capitan and atom 1.2.4. I don't work with javascript and the whole npm ecosystem, so i could`t have interfered with it (if that is even possible).

Worked for me on El Capitan, latest Atom beta

@LeanderK As Twizzledrizzle said, other OS X users can install correctly so this would have something to do with your machine's configuration.
The error log does not give me much to go on. This issue hints that this might be a permissions error. If this does not help you fix your issue, I would consult the Atom repository or the Atom discussion forum.
Note: I found the issue linked above by searching the following in a search engine:
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

thank you!

I also had a problem with El Capitán and the latest update failing. The errors I was getting included the following, repeated several times:
error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

The answer was to re-install the Xcode Command Line Tools with:
xcode-select --install

[Which updating to El Capitán seems to have broken]
Just throwing that into the mix, in case anyone else is having problems upgrading, but not getting the exact same error message as @LeanderK


Improve fork compatibility

This allows base command to discover forks as well. Forks that change the import name will obviously not work, but that's their fault.
No breaking changes here, just improvements.
Rationale

This just lets the base command find the name of the discord module instead of setting it to discord.py.
Before:

After:

Summary of changes made

Adds importlib_metadata>=3.7.0 to the requirements. The required function, packages_distributions, was added in 3.7.
Changed the package name/version in the root command to be discovered from the package name instead of statically "discord.py"

Checklist

[x] This PR changes the jishaku module/cog codebase

[ ] These changes add new functionality to the module/cog
[x] These changes fix an issue or bug in the module/cog
[x] I have tested that these changes work on a production bot codebase
[x] I have tested these changes against the CI/CD test suite
[ ] I have updated the documentation to reflect these changes No need, only bugfixes

[ ] This PR changes the CI/CD test suite

[ ] I have tested my suite changes are well-formed (all tests can be discovered)
[ ] These changes adjust existing test cases
[ ] These changes add new test cases

[ ] This PR changes prose (such as the documentation, README or other Markdown/RST documents)

[ ] I have proofread my changes for grammar and spelling issues
[ ] I have tested that any changes regarding Markdown/RST syntax result in a well formed document

Changes implemented

This version constrain is wrong it should be for <3.8 not 3.10

This version constrain is wrong it should be for <3.8 not 3.10

importlib.metadata was added to the python builtins in 3.8 with features from importlib_metadata version 1.4. Since we need a feature from importlib_metadata 3.7, python 3.10 is correct because importlib_metadata 4.4 features were added to python in 3.10.

Sorry I completely misread the version constraint not realising that the version numbers weren't related to python versions


config attributes

The current attributes are taken from without too much thinking of various applications of BNS.
Now is the perfect time to discuss the attributes.
Feel free to edit the list and add some comments.

config

model_name
output_path
max_branches
max_sys_fun
sys_bnd_width_ratio
scenario_name
mcs_cov
configuration_id

model

system
sysout_setup
origin_list
eq_scenario
fragility_data
node_conn_df (or edge_list)
-: origin, destination, fragility_type, weight, link_capacity
component_list (or node_list)
-: pos_x, pos_y, damage_states_constructor

scenario

damage_states
scenarios

Thank you for raising this issue.
Re model, a general problem would consists of (1) hazard (eq_scenario, fragility_data), (2) system (system, sysout_setup, origin_list), (3) edges (node_conn_df), and (4) nodes (component_list). Could you somehow organise them this way?
By the way, what do damage_states_constructor (in component_lsit) and scenario (numbered 3) mean?


change log level from warn to info

change log level from warn to info ,see issue #2011

This is already a pull request fix this typo problem,see #2066,so I close it.


Python error can't assign to operator

Hi,
I'm trying to figure out how @click works with some basic examples. However, I come across this error on a basic value option:

(I have @click 6.6 installed )
Thanks in advance!

You're still in the Python prompt, you need to be in the shell prompt (bash, zsh, etc.).


Self Checkout Counter

Summary
Put a summary of the question
yoo, may i ask how do you manage the queue for self checkout counter?
Description
Describe the problem and code snippets if necessary
Screenshots (if any):
Insert Images here if necessary

Depends on your implementation, but for me i find it easier to split into two different self-checkouts, one with the global queue and one without any queue. For self-checkouts without queues, their methods need to be able to manipulate both their own state and the state of the self-checkout with a queue, and the most straightforward way for me to do that is to have your server methods return the entire server list itself. (I think there are better ways for this)

When one self checkout enqueues all self checkouts enqueue

When one self checkout dequeues all self checkout dequeue

Customer waiting at self checkout queue should always check if for any available self checkouts. If not it should wait for the soonest to be available self checkout

Each of my check out counters have their own list of customers, every time I update the self-checkout counter, either serve or add to the waiting list, I will loop through all them and update their customerList accordingly

thank you all


one of the slave report an error with 1062

General Question
one of the slave report 1062 , all of the slaves set with read_only, how this happen? I try to fix it, but there were too many errors like this. How can I solve it? rebuild the pod?
Last_SQL_Errno: 1062
Last_SQL_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction 'b125d82f-a2bb-11ed-bc73-16fea3664962:2' at master log mysql-bin.000004, end_log_pos 715. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.

这是来自QQ邮箱的假期自动回复邮件。

您好，邮件我已收到，尽快给您回复。

check your slaves‘ gtids and your master gtids ，and  about uuids of the servers.  error code 1062 always occurs in the failure of replication. So you should check the gtids first.

There are 5 replicas, when I am writing data from the leader's IP，I delete the leader's PVC and pod ,after a new pod startup ,some of the replicas(not all) report this error.
the error show GTID's resource id is the new pod's server_uuid，but I confirm that the sql statements executed a few minutes ago and before I delete the pod of the old leader.
It seems that some of the replicas get the wrong binlog position,even the variables of master_auto_position was set to true.Or the new master's binlog with something wrong

I am in the same situation as you, can we communicate together?

There are 5 replicas, when I am writing data from the leader's IP，I delete the leader's PVC and pod ,after a new pod startup ,some of the replicas(not all) report this error.
the error show GTID's resource id is the new pod's server_uuid，but I confirm that the sql statements executed a few minutes ago and before I delete the pod of the old leader.
It seems that some of the replicas get the wrong binlog position,even the variables of master_auto_position was set to true.Or the new master's binlog with something wrong

I am in the same situation as you, can we communicate together?

There are 5 replicas, when I am writing data from the leader's IP，I delete the leader's PVC and pod ,after a new pod startup ,some of the replicas(not all) report this error.
the error show GTID's resource id is the new pod's server_uuid，but I confirm that the sql statements executed a few minutes ago and before I delete the pod of the old leader.
It seems that some of the replicas get the wrong binlog position,even the variables of master_auto_position was set to true.Or the new master's binlog with something wrong
您微信多少，加一下

You could check it whether get duplicate key


Write Unit Tests for the Get Authors List API

Write unit tests for the get list of authors API of the library management system.

Unit test writing completed.


add action queue and update usage

Update documentation on indexer components

hey thanks @hopeyen! Could you possibly rebase against the new docs structure? (the indexer docs are still one page, just here https://github.com/graphprotocol/docs/blob/main/pages/en/network/indexing.mdx)

hi @azf20 yep, rebased :D


feat(sbb-paginator): component implementation

Preflight Checklist

[x] I have read the Contributing Guidelines for this project.
[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the pull request tracker for a Pull Request (PR) that matches the one I want to submit, without success.

Issue
This PR Closes #2756
Pull request checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been reviewed and added / updated if needed (for bug fixes / features)

See Review Guidelines for more information what is checked during review process.
Changes
Changes in this pull request:

creation of sbb-paginator component

Browsers
I tested the build on the following browsers:

[x] Firefox Desktop
[x] Chrome Desktop
[ ] Edge Desktop
[ ] Safari Desktop
[ ] Chrome Mobile
[ ] Safari Mobile

Screen readers
I tested the build on the following browsers:

[ ] JAWS Firefox Desktop
[ ] JAWS Chrome Desktop
[ ] NVDA Firefox Desktop
[ ] NVDA Chrome Desktop
[x] VoiceOver Safari Desktop
[x] VoiceOver Chrome Desktop
[ ] VoiceOver Safari Mobile
[ ] Android Accessibility Suite Chrome Mobile

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Does this introduce a breaking change?

[ ] Yes
[x] No

Other information

LGTM. Thank you!

Hello,
Here are some acessibility issues:

Inactive pagination buttons receive the keyboard focus. Inactive elements should not receive focus.
When screen reader users change the page using the "Next Page" button, the newly selected page is not automatically output by the screen reader. The current page is also not output. Thus, screen reader users are not able to recognize which page is selected when they activate the Next Page or Previous Page button.
Selected page does not receive focus and is therefore not perceivable by the screen reader. (Because of tabindex="-1")


SnowinOnASnowman-AidenP

This experience in coding has proven to be very educational. I learned a lot from this, and hopefully, this knowledge will stay with me. There were some hiccups along the way, such as the documentation being incorrect, however thanks to the super-friendly people on the HackClub Slack, I was able to mitigate the issue, and the documentation was subsequently fixed.
I wanted to take a math-heavy approach to this, instead of just using a simple turtle. I think as a result my artwork suffers from not looking amazing, but I learned more this way.
I spent around 12 hours doing this in total, and I am proud of this, so I hope this gets the seal of approval.
Thanks!

Thanks for the submission!
I like that it's a composition, and the code is nicely structured. I think you've earned your Blot. If you are a teen you can order it here.
As for leveling up the snowman, do you think you could take any inspiration from this?


Port synth_clifford_greedy to Rust

Summary
Addresses #12235.
This PR ports the method synth_clifford_greedy for synthesizing Clifford operators to Rust. In the process the algorithm was additionally improved by (1) ignoring all (expensive!) clifford phase computations till the very end, thus working on the "symplectic matrix" part of the tableau, (2) completely avoiding (expensive!) clifford evolve and clifford adjoint operations by pre-composing rather than post-composing the current Clifford with elementary Cliffords (corresponding to CX, SWAP, S, and H gates), (3) almost completely avoiding copying clifford objects, (4) fixing an inefficiency in cost computations.
Runtime improvements:
On my laptop, the old python code takes about 400 seconds to synthesize 50 random 50-qubit Cliffords, and the new code takes 0.25 seconds to do the same. So it's at least 1000x improvement in performance.
Quality improvements:
After fixing an inaccuracy in cost computations, the number of SWAPs introduced by the new algorithm is smaller than before; the totals for the 50 random cliffords from before are:
total_swap_old = 1688, total_cx_old = 63179
total_swap_new = 418, total_cx_new = 63283

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

27 of 625 (4.32%)  changed or added relevant lines in 6 files are covered.
4 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.8%) to 89.0%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/circuit/src/operations.rs
0
8
0.0%

crates/accelerate/src/linear_matrix.rs
8
127
6.3%

crates/accelerate/src/clifford.rs
5
476
1.05%

Files with Coverage Reduction
New Missed Lines
%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.2%

crates/qasm2/src/lex.rs
2
92.62%

Totals

Change from base Build<PHONE_NUMBER>:
-0.8%

Covered Lines:
63419

Relevant Lines:
71257

💛  - Coveralls

it will be better to merge #12456 and #12598 before this PR

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

27 of 620 (4.35%)  changed or added relevant lines in 6 files are covered.
5 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.7%) to 89.005%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/circuit/src/operations.rs
0
8
0.0%

crates/accelerate/src/linear_matrix.rs
8
127
6.3%

crates/accelerate/src/clifford.rs
5
471
1.06%

Files with Coverage Reduction
New Missed Lines
%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.2%

crates/qasm2/src/lex.rs
3
92.37%

Totals

Change from base Build<PHONE_NUMBER>:
-0.7%

Covered Lines:
63418

Relevant Lines:
71252

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

27 of 597 (4.52%)  changed or added relevant lines in 5 files are covered.
5 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.7%) to 89.049%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/accelerate/src/linear_matrix.rs
8
124
6.45%

crates/accelerate/src/clifford.rs
5
459
1.09%

Files with Coverage Reduction
New Missed Lines
%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.2%

crates/qasm2/src/lex.rs
3
92.88%

Totals

Change from base Build<PHONE_NUMBER>:
-0.7%

Covered Lines:
63572

Relevant Lines:
71390

💛  - Coveralls

This PR should be rebased on top #12456 for the computation of inverse binary matrices, Other than that, this is ready for review.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

489 of 586 (83.45%)  changed or added relevant lines in 5 files are covered.
527 unchanged lines in 46 files lost coverage.
Overall coverage decreased (-0.05%) to 89.7%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/accelerate/src/clifford.rs
405
453
89.4%

crates/accelerate/src/linear_matrix.rs
75
124
60.48%

Files with Coverage Reduction
New Missed Lines
%

qiskit/converters/circuit_to_gate.py
1
97.44%

qiskit/compiler/assembler.py
1
96.13%

qiskit/converters/circuit_to_instruction.py
1
98.21%

qiskit/assembler/assemble_schedules.py
1
98.35%

qiskit/qasm2/export.py
1
98.5%

qiskit/quantum_info/operators/symplectic/clifford.py
1
91.87%

qiskit/pulse/configuration.py
2
96.08%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.2%

qiskit/circuit/library/hamiltonian_gate.py
2
83.33%

qiskit/visualization/state_visualization.py
3
58.02%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
63895

Relevant Lines:
71232

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

496 of 598 (82.94%)  changed or added relevant lines in 5 files are covered.
534 unchanged lines in 48 files lost coverage.
Overall coverage decreased (-0.09%) to 89.662%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/accelerate/src/linear_matrix.rs
75
124
60.48%

crates/accelerate/src/clifford.rs
412
465
88.6%

Files with Coverage Reduction
New Missed Lines
%

qiskit/converters/circuit_to_gate.py
1
97.44%

crates/qasm2/src/expr.rs
1
94.02%

qiskit/compiler/assembler.py
1
96.13%

qiskit/converters/circuit_to_instruction.py
1
98.21%

qiskit/assembler/assemble_schedules.py
1
98.35%

qiskit/qasm2/export.py
1
98.5%

qiskit/quantum_info/operators/symplectic/clifford.py
1
91.87%

qiskit/pulse/configuration.py
2
96.08%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.2%

qiskit/circuit/library/hamiltonian_gate.py
2
83.33%

Totals

Change from base Build<PHONE_NUMBER>:
-0.09%

Covered Lines:
63879

Relevant Lines:
71244

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

490 of 592 (82.77%)  changed or added relevant lines in 5 files are covered.
723 unchanged lines in 53 files lost coverage.
Overall coverage decreased (-0.06%) to 89.696%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/accelerate/src/linear_matrix.rs
75
124
60.48%

crates/accelerate/src/clifford.rs
406
459
88.45%

Files with Coverage Reduction
New Missed Lines
%

qiskit/converters/circuit_to_gate.py
1
97.44%

crates/qasm2/src/expr.rs
1
94.02%

qiskit/compiler/assembler.py
1
96.13%

qiskit/converters/circuit_to_instruction.py
1
98.21%

qiskit/assembler/assemble_schedules.py
1
98.35%

qiskit/qasm2/export.py
1
98.5%

qiskit/quantum_info/operators/symplectic/clifford.py
1
91.87%

qiskit/pulse/configuration.py
2
96.08%

qiskit/circuit/library/hamiltonian_gate.py
2
83.33%

qiskit/circuit/library/standard_gates/xx_plus_yy.py
2
95.74%

Totals

Change from base Build<PHONE_NUMBER>:
-0.06%

Covered Lines:
63972

Relevant Lines:
71321

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

412 of 462 (89.18%)  changed or added relevant lines in 5 files are covered.
19 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.04%) to 89.735%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/accelerate/src/synthesis/clifford/mod.rs
15
16
93.75%

crates/accelerate/src/synthesis/clifford/greedy_synthesis.rs
389
438
88.81%

Files with Coverage Reduction
New Missed Lines
%

qiskit/quantum_info/operators/symplectic/clifford.py
1
91.87%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.2%

crates/qasm2/src/lex.rs
4
92.88%

crates/qasm2/src/parse.rs
12
97.15%

Totals

Change from base Build<PHONE_NUMBER>:
-0.04%

Covered Lines:
64306

Relevant Lines:
71662

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

414 of 463 (89.42%)  changed or added relevant lines in 5 files are covered.
31 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.05%) to 89.72%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/accelerate/src/synthesis/clifford/greedy_synthesis.rs
393
442
88.91%

Files with Coverage Reduction
New Missed Lines
%

qiskit/quantum_info/operators/symplectic/clifford.py
1
91.87%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.2%

crates/qasm2/src/lex.rs
4
92.88%

crates/qasm2/src/parse.rs
24
96.23%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
64296

Relevant Lines:
71663

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

414 of 463 (89.42%)  changed or added relevant lines in 5 files are covered.
27 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.06%) to 89.713%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/accelerate/src/synthesis/clifford/greedy_synthesis.rs
393
442
88.91%

Files with Coverage Reduction
New Missed Lines
%

qiskit/quantum_info/operators/symplectic/clifford.py
1
91.87%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.2%

crates/qasm2/src/lex.rs
6
91.86%

crates/qasm2/src/parse.rs
18
96.23%

Totals

Change from base Build<PHONE_NUMBER>:
-0.06%

Covered Lines:
64291

Relevant Lines:
71663

💛  - Coveralls

This is ready for review (@ShellyGarion, @Cryoris).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

414 of 463 (89.42%)  changed or added relevant lines in 6 files are covered.
8 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.03%) to 89.748%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/accelerate/src/synthesis/clifford/greedy_synthesis.rs
256
263
97.34%

crates/accelerate/src/synthesis/clifford/utils.rs
137
179
76.54%

Files with Coverage Reduction
New Missed Lines
%

qiskit/quantum_info/operators/symplectic/clifford.py
1
91.87%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.2%

crates/qasm2/src/lex.rs
5
92.11%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
64316

Relevant Lines:
71663

💛  - Coveralls


New default route config proposal

🚀 Feature request
Command (mark with an x)

- [x] new
- [x] generate
- [x] add

Description
Right now when you create an application with routing, it creates an AppRoutingModule. This is an extra NgModule that doesn't do anything (it doesn't change the injector config, and it isn't used for compilation of any templates).
Describe the solution you'd like
Remove it and just export the route config directly.
https://github.com/StephenFluin/new-routeconfig-proposal/commit/558c655bdc3c440d10b98fc0749c28d4f3665e24
Describe alternatives you've considered
We could also do this 100% in the AppModule, or export const ROUTECONFIG = RouterModule.forRoot(...) to get the same providers without the extra wrapper.

Thanks for reporting this issue. This issue is now obsolete due to changes in the recent releases. Please update to the most recent Angular CLI version.
If the problem persists after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior.


[.netcore 2 preview 2] ifileprovider + di error

After upgrading to the latest preview release, I am now seeing the following error when starting up the application (via dotnet run):
System.InvalidOperationException: Unable to activate type 'Microsoft.AspNetCore.Mvc.Razor.Internal.FileProviderRazorProject'. The following constructors are ambigious:
Void .ctor(Microsoft.AspNetCore.Mvc.Razor.Internal.IRazorViewEngineFileProviderAccessor)
Void .ctor(Microsoft.Extensions.FileProviders.IFileProvider)
My application registers its own IFileProvider as part of startup, like this (also suggested here: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/file-providers):
.AddSingleton(x => new PhysicalFileProvider(_config["Environment:AssetsPath"]))
If I comment out this line, then everything starts normally, but of course the functionality depending on this does not work.
Should this still work as before?
-- dotnet info:
.NET Command Line Tools (2.0.0-preview2-006497)
Product Information:
Version:            2.0.0-preview2-006497
Commit SHA-1 hash:  06a2093335
Runtime Environment:
OS Name:     fedora
OS Version:  25
OS Platform: Linux
RID:         fedora.25-x64
Base Path:   /opt/dotnet/sdk/2.0.0-preview2-006497/
Microsoft .NET Core Shared Framework Host
Version  : 2.0.0-preview2-25407-01
Build    : 40c565230930ead58a50719c0ec799df77bddee9

Thanks for this report. FileProviderRazorProject is a infrastructure type for the view engine, and it has two constructors - the IFileProvider constructor is used for our unit tests. We intend the IRazorViewEngineFileProviderAccessor to be used in product scenarios.
We didn't anticipate this, but it looks like something we'll need to fix in 2.0.0.
For now if you want a workaround, for preview 2 you can add the following to your ConfigureServices
services.AddSingleton<RazorProject>(s =>
{
    return new FileProviderRazorProject(s.GetRequiredService<IRazorViewEngineFileProviderAccessor>());
});

This is fixed now for 2.0.0 final, thanks again @AerisG222 for the report

Thanks!


node_modules, gdignore and export

Currently godot scans and exports all files in node_modules folder, which is no good as it is notorious for becoming big in size. (Typescript folder is more than 50MB.)
There is .gdignore for that. Can be added automatically with some script in package.json:
"postinstall": "touch ./node_modules/.gdignore"

(Should be something else on windows - there is no touch there.)
Problem is - it will prevent needed files from being included in export too...
But previous two issues (#50 and #51) make me think that it might be easier to delegate work with node_modules to some other tool.
For example - you create a file index.js through which you export all cjs used by godot scripts and then build it with webpack. And you get a single script that contains only requested packages, which then is required by godot scripts with a relative path.
It removes all the problems associated with node_modules.
Thoughts?

Feel free to using webpack
The node module is mostly for development usage.

I mean that maybe a basic setup/config for some bundler (webpack, rollup or other) can be included with Generate TypeScript Project.
Those issues with resolution, ignoring, exporting do apply to every project, they are not project specific.
Or do you think that this is out of scope?

I think we only need to ensure the functions of the core language binding. As for the use and selection of third-party libraries and tool chains, it should be left to its users. Of course, we can specify the design intent of which features in the document.
For node modules, its design intent is to quickly test third-party libraries, rather than directly releasing them into products.

For reference, here is a basic rollup config for ECMAScript project:
import globby from 'globby';
import del from 'rollup-plugin-delete';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import typescript from '@rollup/plugin-typescript';

const input = {};
for (const file of globby.sync('**/*.{jsx,tsx}', {cwd: './sources'})) {
  input[file.replace(/\.(jsx|tsx)$/, '')] = `sources/${file}`;
}

export default {
  input,
  output: {
    dir: '../js.build',
    entryFileNames: '[name].jsx',
    chunkFileNames: '.chunks/[name]-[hash].js',
    format: 'es',
    sourcemap: true,
    sourcemapExcludeSources: true,
  },
  plugins: [
    del({targets: '../js.build', force: true, runOnce: true}),
    resolve(),
    commonjs(),
    typescript(),
  ],
};

For a structure like this to work:
js/
  node_modules/
  sources/ - folder with sources
  .gdignore
  package.json
  rollup.config.js
  tsconfig.json
js.build/ - folder with build files which are used by godot

It needs addition of following packages:
@rollup/plugin-commonjs
@rollup/plugin-node-resolve
@rollup/plugin-typescript
globby
rollup
rollup-plugin-delete
tslib

And in package.json, initial scripts are replaced with those:
"watch": "rollup --config --watch",
"compile": "rollup --config"


Shorten support day automatically during weeks when UK and US daylight saving time don't overlap

Our support hours currently run from 6am to 3am London time. The 3am end time is derived from the fact that we need to offer support until 7pm Pacific Time, and the London time is 8 hours ahead of PT time for most of the year. The exception is for a few weeks during March and October/November, since the US and UK do not transition to and from daylight saving time simultaneously. During those weeks, London is 7 hours ahead of PT, implying that scheduling until 3am London time actually corresponds to 8pm PT, unnecessarily keeping our PT agents working late.
Currently, we solve this by manually shortening the support day during those weeks, but ideally, this should be automated.

Could be a very threatening situation Wanye requires fire fighting if you understand where I'm coming from the Wild Wild West Road and a trailer Wallace No address part of town now you're telling me this is a house in nest and all this other stuff with alarm new car pulling tell me where it's at San Francisco and I'll just go get it if you're not going to help I'm sure somebody will be very happy that you made a split decision to say we're not open yet

4 am an I hear shovel and creeping at my location  my my in it to win it or in it Tobe a sitting. Duck life of sacrificial lamb  two 12 gage shells and a make shift firing pin and a pipe in pipe barrel not my idea of living a coaxial. Two of pass and 1  91% alcohol for 1st come   is there a sat to view or a drone to see  mm y my what a sweepstakes memory this day shall make has anyone reviewed  issue to repprtwa  as stated this time yester year well I can't do a request  for I am on point  I just figured comments above the line would tell a story
Once we upon  time I was happy play slot and poker now I ND can I  not worry about learning and can I trust and believe if it's intended I will  recieve  thank for patients   I truly ¹don't blame of a day fear  I just know   today will be a  todayto be a

4 am an I hear shovel and creeping at my location  my my in it to win it or in it Tobe a sitting. Duck life of sacrificial lamb  two 12 gage shells and a make shift firing pin and a pipe in pipe barrel not my idea of living a coaxial. Two of pass and 1  91% alcohol for 1st come   is there a sat to view or a drone to see  mm y my what a sweepstakes memory this day shall make has anyone reviewed  issue to repprtwa  as stated this time yester year well I can't do a request  for I am on point  I just figured comments above the line would tell a story
Once we upon  time I was happy play slot and poker now I ND can I  not worry about learning and can I trust and believe if it's intended I will  recieve  thank for patients   I truly ¹don't blame of a day fear  I just know   today  A bet ter or ting I mustsay I a. Truly apologetic  that I was reacting at all to the sire manager yelling and threatening I already knew it would be a calculating tactic yet living in fear of missing a simple task for you all is been a emotional  dog sled  with the dogs redirecting me with there cunning wisdom of the cyber Terran  and fast key strokes I am difficult led to water or the marketing twisted play on wording add some tech and muscle  and teach skid row to be themselves opposed. To conforming to give the impression of a lost aimless clueless  person  while relaying routine and which buttons or delete is keeping me frustrated and you have a pyramid conspiracy  that in all right should have me in a funny farm or like today in a stupure OK So London  is it then Tully fog on the river thames  at water level opposed to blue sky's in a plane   text and data can always be retrieved yes OK then I have a Pyle of branches and a mountain or claims  or I am a plot share holder and jumping g in your thames is my get away goal is this to off the mark Marcia Clark not sure what I'm supposed to be spell neurology all I have is determination


run e2e tests on #7130

Fixes #[insert GH or internal issue link(s)].
Describe your change...

Tests

[ ] TODO (before merge)
[ ] Tests included
[ ] Tests not necessary because:

E2E Tests CI Job required? (Use "e2e" label or ask maintainer to run separately)

[ ] I don't know
[ ] Required
[ ] Not required because:

Public documentation

[ ] TODO (before merge)
[ ] Cloudflare docs PR(s):
[ ] Documentation not necessary because:

for posterity, confirmed with @emily-shen  that this passed e2e tests on https://github.com/cloudflare/workers-sdk/pull/7130 before it was then closed


There is a Stored XSS with EasyCMS

Stored XSS found when post an article
Steps To Reproduce:
1、Login the backstage:
http://localhost/EasyCMS-master//index.php?s=/admin/login/login.html
2、Before post an article, you need to create an article classification, now we have class - "a"

3、Then post a new article or edit an existing one

4、No <IP_ADDRESS> is a simple test to check whether field is vulnerable to stored xss
a)tilte filed

b)keyword field

Then go to the site front page : http://localhost/EasyCMS-master/
c)abstract field

Then click the article to see more
d)content filed

The Above four fields are prone to store xss attack

后台出xss危害大吗

no protection in the management background，we are not going to deal with it

@chenrui1896 CVE收这种漏洞 存在即合理

@sqlsec 了解


Incorrect scaling of window contents (GTK)

I run several examples and all looks like as here:

It seems window contents incorrectly scaled inside it.
My env:
gdk-x11-3.0     3.24.10
gdk-pixbuf-2.0  2.38.1
gdk-pixbuf-xlib-2.0     2.38.1
gtk+-3.0        3.24.10
gtk+-unix-print-3.0     3.24.10
gdk-3.0 3.24.10
gtk+-wayland-3.0        3.24.10
gdk-wayland-3.0 3.24.10
gtk+-x11-3.0    3.24.10

I'm unable reproduce this (in a VM, debian 10.1), so I'm not sure what's going on. Wonder if this is a HIDPI issue?

I observe exactly the inverse behavior on my 4k laptop: widgets are restricted to the upper-left 2/3 of the window.

@katyo can you  test the patch at #347?

@cmyr yes, it seems looks fine now.


Financial Aid Bulk Status change

Make financial aid application list remember selected lines
Dropdown and button to set status on selected applications

As this was merged in be7efc9, the issue can now be closed.


Remove parquet.fail-on-corrupted-statistics configuration option

It could mask correctness issues.

@willmostly What do you think?

but without the config hit query failure --> https://github.com/prestodb/presto/issues/12338

@tooptoop4 i prefer query failure to incorrect results, do you?

its not always incorrect :(

removing this make migrating from prestodb tough as they still have the config
other configs like hive.assume-canonical-partition-keys still exist that although could lead to incorrect results if used inappropriately can also lead to benefits when used in right circumstances
some users won't be filtering on these columns but still want to be able to do select * and bring the data into their BI tool

we currently use this option on our presto cluster. our process writes data via spark on emr to s3 which is defined by a glue table which is then shared between hive/athena and hive/presto
in athena we don't encounter the issue but in presto we do. its possible athena simply ignores it
im not sure an appropriate resolution and we have yet to identify the underlying cause.
however removing this option would indeed cause issues for us, especially in regard to the fact we have petabytes of data in parquet on s3.
the end result is that even if we did find the underlying cause, re-writing all our data is not financially feasible

@k3mist can you ping me on slack directly & share any details you can share with me?

The configuration property parquet.fail-on-corrupted-statistics got replaced with parquet.ignore-statistics which is safer to use, as it does not introduce the risk of incorrect query results.


README "Directory Structure" is out of date

I wonder if there's much value in keeping this structure here - if so, we should update it in each readme.

Worth noting that we are moving away from having such information in the README when we eventually set up the wiki.
This would depend on the docker pr which updated the readme, which depends on having wheels for the pp system (lovely work dependencies)

can this be closed?

can be closed?


Change cursor shape

I've been trying to change the cursor style to a blinking bar for an editor program, but it seems like there isn't a way to do this beyond changing cursor color and blink rate.
I've tried doing so through crossterm but it seems like this is ignored in the rendering of the textarea.
//main.rs
...
use crossterm::cursor::SetCursorStyle;
use crossterm::event::{DisableMouseCapture, EnableMouseCapture};
use crossterm::terminal::{
    disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen,
    LeaveAlternateScreen,
};
...
    crossterm::execute!(term.backend_mut(), SetCursorStyle::SteadyBar).unwrap();

    // Main render loop
    let mutex = Mutex::new(());
    while running.load(Ordering::SeqCst) {
        term.draw(|f| {
            let buffer = buffer.lock().unwrap();
            let buffer_widget = buffer.textarea.widget();
            let rectangle = Rect::new(0, 0, f.size().width, f.size().height);
            f.render_widget(buffer_widget, rectangle);
        })
        .unwrap();

        // TUI refresh rate
        let guard = mutex.lock().unwrap();
        _ = condvar.wait_timeout(guard, Duration::from_millis(50));
    }
...

And my implementation of Buffer which creates the TextArea
...
impl Buffer {
    pub fn new(config: &Config) -> io::Result<Self> {
        // TODO: Generate path
        let path = config.output_name.clone();

        let file_already_existed = path.exists();
        let mut textarea = if let Ok(md) = path.metadata() {
            if md.is_file() {
                let contents = fs::read_to_string(path.clone())?;
                TextArea::from(contents.lines())
            } else {
                // Path exists but is not a file
                return Err(io::Error::new(
                    io::ErrorKind::Other,
                    format!("{:?} exists but is not a file", path),
                ));
            }
        } else {
            TextArea::default() // File does not exist
        };
        textarea.set_hard_tab_indent(config.use_hard_indent);
        // Remove default underline style from active line
        textarea.set_cursor_line_style(Style::default());
        Ok(Self {
            textarea,
            path,
            modified: false,
            file_already_existed,
        })
    }
    ...

I've tried calling textarea.set_cursor_style from here (https://docs.rs/tui-textarea/latest/tui_textarea/struct.TextArea.html#method.set_cursor_style), but the Style struct from the tui crate just doesn't seem to support a way to change the cursor shape.
Is this a limitation of the tui crate? Is there a way I can change my cursor shape?

Looks duplicate of #7. Do you have any points to discuss which are not done in #7?

It is a duplicate. My apologies for not seeing the issue.
If I understand correctly, the cursor shown in a textarea is sort of a "virtual cursor," and not controlled/rendered by the terminal, which is why my crossterm method did not work.


Upgrade Linux Kernel for flatcar-3815 from 6.1.81 to 6.1.82

Subject says it all.

See instead https://github.com/flatcar/scripts/pull/1803


feat(cli/migrate): migrate zipped updater

Reference: https://github.com/tauri-apps/plugins-workspace/pull/1521

Do we still need/want this with 1521 closed? I think it wouldn't hurt to add.

I think we can add this anyway, we might change mind on that one in the future 🙃

let's close it for now, and re-open it in coordination with https://github.com/tauri-apps/plugins-workspace/pull/1521


No floating items command!

On the features list it says you have the ability to make floating items on the text but i cant find that pls help!!!

/hologram addline ..... item:

it didnt work :/


Fixed Annotations HitTesting & Added annotation anchor

This PR implements several fixes and enchantments:

Clickable SwiftUI Annotations! #4
Added anchor parameter to the ViewMapAnnotation similar to the default SwiftUI Map approach.
Fixed annotations centering problem #14. Thanks to @rderimay (I took solution from #25)

P.S.
@pauljohanneskraft
The problem with your hittesting solution in the hit-testing branch was that the SwiftUI annotation view was not constrained to the underlying UIView. Therefore, when you moved the map, the SwiftUI view's position did not change. You may see in the picture below.

Thank you for your contribution. I will open a similar pull request in the coming days, since I disagree with the addition of directions into this library (you could easily add this right now, so it doesn't need to be integrated in here). Also it seems that you dropped watchOS 6.0 support - however, this library tries to keep supporting all platforms starting at watchOS 6, macOS 10.15, iOS 13.0 and tvOS 13.0.

@pauljohanneskraft
Hello! Thank you for your response. I now understand that integrating directions was pretty useless. I reverted this commit. Also, I'm sorry that I accidentally dropped watchOS 6.0 support while merging changes from #25. I reverted the changes and returned watchOS 6.0 support.
I would be happy to open new PR with these changes if you don't mind.


Modules documentation needs deployment instructions

Using Modules in Typescript
The Typescript documentation explains how to set up and use Modules while developing in the IDE. You won't get code completion errors in the IDE if you follow the documentation. Your modules will get bundled into one .js file that uses one of the available methods (systemjs, amd, etc).
Expected behavior:
I expect the modules to work when I follow the documentation instructions.
Actual behavior:
If you deploy your project, you WILL get errors because the browser doesn't recognise the module system. Nowhere in the Typescript docs does it even suggest what you need to do to get modules actually working in the browser. I suppose this is because there are so many systems and they're not really part of Typescript.
problem
If you follow the instructions of (in my case) SystemJS on their own github page, you will find a LOT of different configurations, but none of them works right out of the box with the way TSC bundles modules. Some instructions are even downright wrong, for example the suggestion to work with system-production.js for Typescript bundles.
problem
Once you DO get your modules loaded using (for example) SystemJS, there is no explanation in the Typescript docs on how to kickstart the app / define the entry point for your app.
Suggestion

Include a working setup example for loading typescript-compiled modules in the browser.
Explain how to kickstart an app that uses modules.

We have samples for modules in:

amd: https://github.com/Microsoft/TypeScriptSamples/tree/master/amd
umd: https://github.com/Microsoft/TypeScriptSamples/tree/master/umd
sytemjs: https://github.com/Microsoft/TypeScriptSamples/tree/master/systemjs
node: https://github.com/Microsoft/TypeScript-Node-Starter#typescript-node-starter
webpack: https://github.com/Microsoft/TypeScript-React-Starter#typescript-react-starter
browserify: https://github.com/Microsoft/TypeScriptSamples/tree/master/browserify

let us know if you have something else in mind.

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


Version dependency incorrect

Hi, latest version states a dependency on XrmToolBox 2.2019.6.11.
https://www.nuget.org/packages/AuditHistoryExtractor/
This makes it appear as incompatible in the Plugins Store as the XTB version is currently 1.2019.6.33.

Should be fixed with my Pull Request #21
This also includes the code to export history for more than 5.000 records.


feat: updating deprecation to include guide on how to update

Description

Explains steps to rotate keys for various methods

Testing required outside of automated testing?

[ ] Not Applicable

Screenshots (if appropriate):

[ ] Not Applicable

Rollback / Rollforward Procedure

[ ] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 1.162.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Italian language

Summary
What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[ ] Build-related changes
[X] Other, please describe: Italian language

If changing the UI of default theme, please provide the before/after screenshot:
Does this PR introduce a breaking change? (check one)

[ ] Yes
[X] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)

You have tested in the following browsers: (Providing a detailed version will be better.)

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge
[ ] IE

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature
[ ] Related documents have been updated
[ ] Related tests have been updated

To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.
Other information:

@jeckodevelopment, thank you for your contribution 🤓

Thank you for merging it!


To what extent is Goji thread-safe?

Hello,
I hope this is the appropriate venue for asking such questions, but I'm hoping to write a small web server in which goroutines can be run in parallel.
Is there any reason why GOMAXPROCS cannot be greater than 1?  Are there any caveats in parallelizing code using Goji?
Thanks for this wonderful framework!

Note that (by default) Go's web server uses a goroutine-per-request —
meaning that requests are served "in parallel" already.
On Wed, 29 Apr 2015 at 3:37 am Louis Thibault<EMAIL_ADDRESS>wrote:

Hello,
I hope this is the appropriate venue for asking such questions, but I'm
hoping to write a small web server in which goroutines can be run in
parallel.
Is there any reason why GOMAXPROCS cannot be greater than 1? Are there
any caveats in parallelizing code using Goji?
Thanks for this wonderful framework!
—
Reply to this email directly or view it on GitHub
https://github.com/zenazn/goji/issues/124.

@elithrar Duly noted!  I just wanted to get confirmation that there weren't additional constructs in Goji that were not thread-safe.
Thanks for the info!

There are a few places in the API where non-thread-safe behaviors are called out (most prominently, it is illegal to mutate the middleware stack concurrently with active requests [0]), but beyond that everything is thought to be thread safe (and it's a bug if you find that it isn't). I'm currently running Goji in production at Stripe with GOMAXPROCS=8, for instance, and have never seen a Goji-related race.
[0] fun fact: there used to be a bunch of mutation barrier code that allowed you to do this safely, but I ripped it out because it was too complicated and I really didn't want to support that use case

@zenazn Thanks for the info!
Just to be clear, when you say "it's illegal to mutate the middleware stack concurrently with active requests", are you referring to adding/removing middleware components or to something else altogether?
In any case, great library!

Yep, Carl means that changing the middleware stack concurrently (i.e when
processing requests) is Not Good (tm). This is a very rare case though and
there's almost no need to do it. If there was ever a need to decide when to
apply middleware (or not to apply it), then middleware itself should handle
that.
It's a pretty rare case.
On Wed, Apr 29, 2015 at 11:34 AM Louis Thibault<EMAIL_ADDRESS>wrote:

@zenazn https://github.com/zenazn Thanks for the info!
Just to be clear, when you say "it's illegal to mutate the middleware
stack concurrently with active requests", are you referring to
adding/removing middleware components or to something else altogether?
In any case, great library!
—
Reply to this email directly or view it on GitHub
https://github.com/zenazn/goji/issues/124#issuecomment-97263358.

I think this is resolved, but feel free to re-open this issue if anything else comes up!


[LOC]"Microsoft Teams のルーム" needs to be replaced with "Microsoft Teams Rooms"

ja-jp:"https://docs.microsoft.com/ja-jp/MicrosoftTeams/room-systems/srs-v2-prep"

en-us:

ドキュメントの詳細
⚠ このセクションを編集しないでください。 docs.microsoft.com で必須です ➟ GitHub の問題のリンク。

ID: a711c07e-10b3-baf0-b92c-9dbcf6ab9474
Version Independent ID: 2038cd48-44b1-1ed1-6e50-48290eef5605
Content: 環境を準備する - Microsoft Teams
Content Source: Teams/room-systems/srs-v2-prep.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@OfficeGlobal Please check, English version is reading correctly.

@OfficeGlobal Can you please help with this? Thanks

Working on a fix

@OfficeGlobal Any update on this? Thanks!

@scanum , @hyoshioka0128  correct and approved translation for Microsoft Teams Rooms is Microsoft Teams ミーティング. The article was updated and published live

@hyoshioka0128 Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Adding large footer using application customizer causing the main content section become small small with vertical scroll bars.

Hello
i added custom footer via application customizer place holders. my footer height is large and it takes up the majority of the content space. i want to footer to be visible when i scroll down the page all the way. this application customizer footer not behaving like out of the box footer.
Here is the screen show how my page looks with custom footer and scroll bar shows up in the content area.

Hey @dvselva , you can try to pre-allocate space. It may help, but in general there are limitations for the size your headers/footers can take.
See considerations in the Microsoft documentation.

Thank you @hugoabernier. this helps with delay in loading the placeholders.  thanks for this as i did not know about this properties. But it did not solve my issue though. i think this placeholder should behave same like out of the box footer and this should start showing up when i go to the end of the page.
Thanks again for your response.

@dvselva maybe you can try using the collapse and expand like the same as used in sp-starter-kit, so that it will not occupy much of the main placeholder area by default, if the user want to see the footer, they expand the footer.

Hi @sudharsank , Thanks. ended up doing like it.  but still its not optimal as we need to do one extra click and if it behave  like out of the box footer, it would be ideal.

I'm glad you were able to resolve it @dvselva -- although your solution isn't exactly what you wanted.
I'll go ahead and close the issue. If you need anything else, please don't hesitate to open a new issue.
Thanks @sudharsank for your help with this!

@dvselva you may want to keep an eye on this Roadmap status: https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=61063 to see if/how it will affect footer placeholders in the future.


Error while implementing Inheritance | Java SDK

class P2PProcessRequest {}
class IMPSProcessRequest {}
interface TranslationWorkflow {
void process(R request);
}
interface P2PWorkflow extends TranslationWorkflow {
@Override
@WorkflowMethod(name = "P2P")
void process(P2PProcessRequest request);
}
interface IMPSWorkflow extends OrderWorkflow {
@Override
@WorkflowMethod(name = "IMPS")
void process(IMPSProcessRequest request);
}
class P2PWorkflowImpl implements P2PWorkflow {
@Override
public void process(P2PProcessRequest request) {
System.out.println("P2P transation done");
}
}
class IMPSWorkflowImpl implements IMPSWorkflow {
@Override
public void process(IMPSProcessRequest request) {
System.out.println("IMPS transation done");
}
}
I am trying to implement 2 different flow for transition.
Expected Behavior
Code should execute successfully for above show scenario.
Actual Behaviour
Thowing error multiple signal method found P2PWorkflow:process and TranslationWorkflow:process, while creating P2PWorkflow/IMPSWorkflow workflow stub.
@WorkflowMethod is only define one time for TranslationWorkflow.

Version: v1.17.0
Platform: java

Generics are not supported. What is the R type?

Duplicate of #1106


Added a comment for ReqestTimeout

Added the comment for the request timeout option for the request/response pattern.

Merged


ffmpeg' is not recognized as an internal or external command

i was using spotdl last yr and it worked fine...i just set it up on my new laptop and i'm facing a problem, when i sent a track download request, the download got stuck at 87% and said "ffmpeg' is not recognized as an internal or external command.", i don't know what to do please help me out

Make sure you  have ffmpeg downloaded and  in your PATH Environment Variable.

ffmpeg.zeranoe has closed down and i don't know how to get it, please help me...

Follow [this guide] (https://www.thewindowsclub.com/how-to-install-ffmpeg-on-windows-10/amp)

thanks i will try and get back to you if i face any issues...

i don't know which file to download from the ffmpeg file, the gyandev thing is a bit tough to understand, can you guide me through it? tia.

Try this

yes i did download that(felt like a fool) after i sent the comment, thanks...

i have set ffmpeg according to the guide you sent me

i tried downloading a song, it shows 100% but i can't find the song in the folder

The song will be downloaded into the folder from where you run spotdl.

found it, thanks a lot for guiding me through this


Remove no longer valid limitiation hints

Remove no longer valid limitiation hints, according to percentag, auto margins and flex values.

👍 So many out of date comments in this file... I'll try to go through some of them myself and remove more stuff as well.

@emilsjolander One small step at a time 😉


Possible crashs because of achievements.

Error code is not checked for your achievement manager and could cause potential crashs.
https://github.com/acidicoala/ScreamAPI/blob/master/ScreamAPI/src/achievement_manager.cpp#L151
https://github.com/acidicoala/ScreamAPI/blob/master/ScreamAPI/src/achievement_manager.cpp#L204
Should be checked against EOS_EResult::EOS_Success

Hey, thanks for pointing it out. Will add error checking in the next version.

Fixed in 817250e


DOM property to attribute reflection

Noticed this today, native HTML element's string properties that receive a null or undefined are cast as string and still set as a string to the attribute. The Mux elements behave differently as seen below, removing the attribute.
https://github.com/muxinc/elements/blob/675fc314751b667e29c25d621bb08cadc5585f58/packages/mux-video/src/index.ts#L97-L107

This was intentional, but maybe it shouldn't have been. To be consistent, it looks like we'd need to rely on src = ''. Would need to smoke test to see if there are any "ripple effects"/assumptions elsewhere, including playback-core, but I'm amenable to the refactor. This feels like it's part of the larger conversation of "should <mux-video/> be as close as possible to the API/behaviors of <video/>, or should we diverge ever?"


Implement Image

Hi,
i tryied to implement a simply image but i cant't get it to work with the markup [img url= width= height=][/img].
I copied the link of a picture i uploaded and paste it to the URL.
I even get errors like this: >> Unexpected token: '/'. Expected ']' (@ 0:14)
Could you show an example of an image implementation?
Best regards,
Sascha

The correct syntax is
[img url="URL HERE" width=50% height=50%][/img]

One thing you need to rememvber is to escape special characters in the URL (there's actually a fix for this in the next patch), which means you must add a \ character before each special char. Some special chars include[, ] and /. If your URL is http://example.com/images/img.png you'll need to write it like this: http:\/\/example.com\/images\/img.png.


adapt to php-pointer release that handles array/objects in a more concise way

this PR shows the adaption of PR raphaelstolt/php-jsonpointer#9, adds new tests for the new behavior and shows that all should be green.
The main problem in pointer is the following:
Given a JSON structure as this:
{
  "bar": {},
  "baz": "qux"
}

if you $pointer->get('') and then patch you stuff, you will get:
{
  "bar": [],
  "baz": "qux"
}

thus, bar type has changed..
@raphaelstolt as soon raphaelstolt/php-jsonpointer is tagged, I will remove my repository override, bump to new tag and squash this PR ;-) I just added that to let the tests run with my PR in it. done

@raphaelstolt recovered from the go conf in london? ;-)

@narcoticfresh Oi Dario, will merge your PR's later this evening.

@raphaelstolt thanks for the tag of raphaelstolt/php-jsonpointer, i locked the dep on the new major and squashed..

hm, travis seems to have a moody day.. doesn't seem to be a error related to the changes in https://travis-ci.org/raphaelstolt/php-jsonpatch/jobs/154112421 - maybe needs a restart?

Seems like PHP 7.2.0-dev doesn't have a xdebug.ini, see e8e57. I'll fix this on my end.
Should php-jsonpatch/php-jsonpatch also get a major version bump?

Should php-jsonpatch/php-jsonpatch also get a major version bump?

Well, that is up to you.. IMHO I don't see that it breaks BC, but there could be a problem if a project references both raphaelstolt/php-jsonpointer and raphaelstolt/php-jsonpatch in a SemVer'ish way. It will force them to update to the new php-jsonpointer major anyway if we don't bump a major.. Or it'll block our new tag if they locked on old php-jsonpointer major.
For projects just having raphaelstolt/php-jsonpatch of course, it makes no difference..
So well.. would not be bad to create a new major here as well, just to give consumers more flexibility(?)

Closed with af14521e072361162a72118aa8ab870dd3f4b939.


Include more programming languages to run

As the documentations said, you can only run Python code with DiddiScript function pyrun(). But I would like to implement another languages, like C, C++, JavaScript, etc.
I would like an implementation idea for that.

I was thinking about C, or C++. How can I implement it?

I was thinking about C, or C++.

I think I must concentrate in one language at a time. Let's start witha C/C++ implementation. If you have an idea for JavaScript. Open a new issue (or a PR, if you want) with the language name and make a reference to this issue.

Is there any idea?

Superseeded by #30.


Remove \n from BOM newline regex for Altium

Altium allows newlines with \n in property values, which means that we shouldn't consider it to demarcate properties as we did in #62 along with \r\n and \n\r.

This is fixed as we no longer use a regex for parsing the PrjPcb.


React App Created.

Created a branch and then initialized the react app in that branch.

@SushanthReddy-49 Good work on the initial create react app. Please toss it into a "FrontEnd" or "client" folder then re-submit for a pull request.
This will help us keep the front end and the backend separate and organized.


Adding docs contributors guide

Description of changes:
This is a first cut at guidelines to contribute to EKS Anywhere documentation. It includes help on where to put content, style issues and considerations when documenting third-party software.

/restest

ERROR 2022/03/06 22:56:32 [en] REF_NOT_FOUND: Ref "../troubleshoot": "/home/prow/go/src/github.com/aws/eks-anywhere/docs/content/en/docs/community/docs_contributing.md:23:32": page not found
Error: Error building site: logged 1 error(s)


BDD Integration

Hello,
I have looked into added gherkin support to opentest but i don't think it's a great fit due to missing built in features like:

ability to call other features
built in $data support
store support
parallelization of steps

It can be done but I think the effort is to high.
I think something closer to https://github.com/getgauge/gauge is a better fit.
I have forked opentest and am now working on an a DSL which better matches opentest
some of the features will include:

Desktop (eclipse, vscode) and Web (monaco) editor support
built in support for opentest features
transpilation to opentest yaml format
Built in rest and openapi grammers

Regards,

Thank you for the update - was trying to fit with cucumber but it required a lot of efforts, and it is out os cope for me :(

I am currently working on the DSL grammar itself:
https://github.com/jbadeau/opentest/tree/master/dsl
I will be looking at differenty styles to try and find a good balance between flexibility and readability

Hey Jose, thanks for looking into this. I think it would be best to add BDD (Gherkin) support to OpenTest due to its larger adoption, but, with what I learned so far, it would seem that the Gherkin syntax doesn't support all the features we need. We could probably work around the limitations that you described in the original post, however there are others that I'm not sure how we would handle. For example, how do I describe that I want a particular step to execute on a specific test actor? I'm thinking we might be able to use comments to describe things that we need that are not supported in Gherkin out of the box. Not sure how good that's going to work - I need some time to think through the downsides. In any case, let's define the problem correctly and investigate the best ways to solve it before you spend a lot of time working on integrating a DSL into OpenTest. I would hate for all your effort to be wasted.

Hi,
I am not implementing anything yet. I am looking into defining a grammar style that supports openetest features whiel staying as close to standards like gherkin and gauge.
The idea is that any BDD style language (gherkin, gauge, custom) is transpiled to opentest yaml files with sourcemaps for debugging
I have done similar things here https://github.com/Jose-Badeau/boomslang-core/wiki/User-Documentation
I have also started to document design concerns. For instance, why should a test writer manually define where a segment is executed? Should this not be be a concern of load balancing? Why cant the open-test server or test transpiler do this?
Maybe I should move the concerns to this issue`?

Oops, accidentally closed the issue

After looking at BBD syntax with explicit segment creation, it feels really wrong. The test write does not care and should not care how a test is executed.

I think I now understand what the segments are for. Correct me if I'm wrong but it appears the segments are not used for performance reasons although they could be,  but rather for test orchestration. For example:

A selenium test submits a book order in a web ui (segment-1 - actor1)
The order is inserted in the database and should create an order message to the book supplier
The message is checked in the book provider via a rest api (segment2 -actor2)

Is this correct?

You are correct @jbadeau. Test segments execute sequentially form segment 1 to last segment. No work in segment 2 is being started until segment 1 finished execution. This is useful when doing distributed testing involving test actors running on two or more different machines.

Any update on this feature @jbadeau or @adrianth ? This is something that we would be interested in when it becomes available.

@adrianth anything that I can help with this on front?

@dmcgill50 If you have some experience with BDD already, I might need some help understanding certain concepts. Have you used BDD before? What's your level of familiarity with it?
I"m trying to figure out things like what are all the possibilities to insert a data table in a feature file. I am trying to make sure I don't leave out any use cases when implementing BDD support.

I have. I'd be happy to help test your MVP and then see where the testing takes us. https://cucumber.io/docs/gherkin/reference/ would be a starting point for me in supporting the BDD Syntax.

Hi,
I don't think cucumber is a good option as it doesn't support includable scenarios like gauge concepts which would act as segments.
I have added a very simple Gauge example here.  It is a very quick and dirty way to demonstrate how integration could be done:

generate an test yaml file for each scenario (demonstrated)
call the opentest api directly like the angularjs sessionCtrl

Both have their pros and cons
When I have more I will add an API to make generating the yaml file simpler.


Refactor the example in readme to remove networkx

Summary
Refactor the example in readme to remove networkx.
Fixes #363
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.995%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4062

Relevant Lines:
4464

💛  - Coveralls


Focal point support

Actually does not seems possible to specify a custom centering point for resize fit/crop operations.
Some cms allow the user to specify the focus coordinates for each image.
I propose to add an argument like this focal_coords=20%:70% to say that the focal point will be at 20% x and 70% y.

Hello, I'm not sure I'm following you entirely. Are you suggesting that the crop mode option isn't sufficient? It currently accepts top-left, top, top-right, left, center, right, bottom-left, bottom or bottom-right.

Yes i think "kayaks.jpg?w=300&h=300&fit=crop&crop=left" should also allow crop=20%:70% to specify exacly the position that needs focus, but seems not supported by intervention/image
i've opened: https://github.com/Intervention/image/issues/327

I'd love to see this as well.

As you can see in issue #75, I've proposing a focal point syntax of crop-50-50. These would be percentages, where the first value would represent the x position and the second the y position. The benefit of using percentages is that they would work for images of different sizes (with the same ratio of course).

However, I do still have questions though. The point of the focus points (center, top-left, top-right, etc.) is to help with the cropping, but the actual dimensions are still based on the w and the h values. That means if you were to choose crop-1-1 you would essentially get the same results at crop-top-left. Does that make sense?
If you want really fine control over the cropping with specific dimensions, then you would just use the current rect option.

Makes perfect sense. I dig it.

I don't think the rect option is the same as specifying the point of interest in percent coordinates, simply because with the first one you are delegating the rect calculations to the client but the client need the image dimensions to do that. I mean that the focus point percent position option is simply an unobtrusive way to specify the rect option. Does make sense to you?

@ducktype Not sure I'm following entirely. Sounds to me like your making the case for this feature, because it's simpler than a rect cropping. I don't disagree, however I was more trying to get a clear understanding of how this feature would work. Please confirm the following:
When you use the rect feature, you manually set the  width, height, x and y coordinates. This crop occurs before any resizing, which means you must know the source image's dimensions to do this. This feature is awesome when used in conjunction with a crop interface, like jCrop.
However, the fit=crop option works different, in that the crop happens at the time of resize. This is handy, because you don't need to know the source image's size. Just set your w and h options, and it works. However, that leaves the x and y coordinates undefined, which is where the position option becomes helpful (top-left, top-right, etc).
This proposed focal point option will allow for more exact setting of the x and y coordinates. Using percentages based on the source image makes it easier, since you don't need to know the source image's dimensions.
Does that sound about right?

I think the other thing to remember with the fit=crop option is that it's not meant to do specific cropping, like the current rect feature. Rather, it's part of the resize option, and when you choose fit=crop it says "crop off any access image that falls outside of these dimensions after the resize is complete".
The crop position is more like a "gravity" setting (as it's called with ImageMagick), where the resize will fill up as much of the image as possible, and then the gravity setting will specify what part of the image it will keep, and what part it will cut off.

So, to make this clearer, if you were to have a source image with the dimensions of 1000x500, and were to do a resize to 500x500 with a fit=crop-50-50, the crop position would only affect the horizontal cropping, not the vertical cropping, since the source image is already has a height of 500px.

Yes it's exacly how i think it should work.
Probably i've misunderstood something in your previous answers, sorry.
About the percentage coordinates i think will be clearer to specify it in the value and not the name of the argument.
Something like "gravity=20-70"?
Naming it related to crop is good? If it have a more generic name this open the possibility to use it with different image actions in the future.
Will make sense to also support 0-1 ranges in decimals when more precision is needed? Like "gravity=0.5428-0.6952"?
An autodetect on the gravity value will be required to switch between the two cases but i think it's better than adding another argument.

Just referencing my explanation of the feature from the Intervention/Image repo.
https://github.com/Intervention/image/issues/327#issuecomment-114138754

@jasonvarga Good call. Just so you know, I'm not going to have this added for the 1.0 release. I really want to get 1.0 out soon, and I don't want this to hold it up. Ideally this functionality would be added to Intervention first. However, there hasn't been much response from that end yet, and apart from actually writing the PR, I doubt it will happen very soon. We can always add it as a 1.1 feature.

Oh, no rush at all, I was just dropping it in.
Get 1.0 out, its great! :shipit:

As of this morning (8a27971140645bf07507c82b9bd53333ddf2c374), focal point cropping is now supported in Glide!
Simply pass in two percentage values to the crop fit option, like so:
<img src="kayaks.jpg?w=500&h=500&fit=crop-33-66">

There is actually talk about this getting added to Intervention directly, however I didn't want to have to rely on a bleeding-edge version of that library, as it makes dependency resolution much more strict.

Awesome!

@jasonvarga Thanks! Hoping to have 1.0 tagged VERY soon, now that I've had some time to spend on Glide again. My goal is before 2016.

Added to docs: http://glide.thephpleague.com/1.0/api/crop/#crop-focal-point


Add commands to update the version number.

Added commands to RELEASE.md to update the version number.
It prevents the omission of updating the version number.
Signed-off-by: Yuma Ogami<EMAIL_ADDRESS>

The procedure of releasing Chart is operated after releasing main programs and images if I recall correctly. The procedure in this PR describing update both at the same time, is that correct?

@llamerada-jp
Indeed it is. The only command I'm going to add is for the chart, so I've put it in the "Release Helm Chart" section.


Great Example - PR into tide example sections?

Hey this is a very interesting example. Have you thought about adding it to the example applications list in tide?
https://github.com/http-rs/tide#example-applications

Hey this is a very interesting example. Have you thought about adding it to the example applications list in tide?
https://github.com/http-rs/tide#example-applications

Hi, @No9, good day. I have created PR #809.
Good day. :-)

Thanks I saw this landed so I am closing


objid_t: fault tolerance infrastructure should use objid_t

Original author: Ramprasad Venkataraman
Original issue: https://charm.cs.illinois.edu/redmine/issues/178

Once the basic objid_t scaffolding is available (#170), the impacts on the FT infrastructure and protocols should be audited and adapted to use objid_t. Note that array indices will no longer be available / visible at many points in the runtime code.

Original date: 2013-10-07 19:05:53

This won't be ready for 6.6, so push it back.


Adding ForceDynamic

Allows for tables to be dynamic even if they do not have imperative dependencies. Useful when a table is updated by functions and otherwise has not table dependencies.

Alternative - add ability to mark Functions and PrimitiveTests as dynamic, then in preprocessing use this to mark table as dynamic. Currently we assume all Functions and PrimitiveTests are static and deterministic.

Alternative - add ability to mark Functions and PrimitiveTests as dynamic, then in preprocessing use this to mark table as dynamic. Currently we assume all Functions and PrimitiveTests are static and deterministic.

I think this is what we want.  I can add a "Pure" property to predicates and functions, which defaults to true but can be set to false.  Then any rule that calls an impure function or predicate forces dynamicity.
Sound good?

Sounds good to me! This was more of a kludge to make my OpenForBusiness table update without having to add some other dynamic table that is irrelevant but would force dynamism.


onUnblocked notification

why
virtual void onUnblocked(Connection *connection)  in include/amqpcpp/linux_tcp/tcpconnection.h
dont mark as override (for example as other notification and also onBlocked()) ?
it lead to compilation error in client code, when trying to build with enable option -Winconsistent-missing-override (it enable by default in clang with -Wall)

It was simply forgotten.